/* Chroma syntax highlighting — monokai palette.
   Replaces Hugo's default inline-style highlighting so strict CSP works. */

/* Code block container */
.highlight       { background: #272822; border-radius: 6px; overflow-x: auto; margin: 1.2rem 0; }
.highlight pre   { background: transparent; border: none; padding: 1rem 1.2rem; margin: 0; color: #f8f8f2; }
.highlight code  { background: transparent; color: inherit; padding: 0; font-size: 0.92em; line-height: 1.55; }

/* Chroma generic */
.chroma            { color: #f8f8f2; background-color: #272822; }
.chroma .err       { color: #960050; background-color: #1e0010 }
.chroma .lnlinks   { outline: none; text-decoration: none; color: inherit }
.chroma .lntd      { vertical-align: top; padding: 0; margin: 0; border: 0 }
.chroma .lntable   { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block }
.chroma .hl        { background-color: #3c3d38 }
.chroma .lnt       { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em; color: #7f7f7f }
.chroma .ln        { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em; color: #7f7f7f }
.chroma .line      { display: flex }

/* Keyword */
.chroma .k         { color: #66d9ef }
.chroma .kc        { color: #66d9ef }
.chroma .kd        { color: #66d9ef }
.chroma .kn        { color: #f92672 }
.chroma .kp        { color: #66d9ef }
.chroma .kr        { color: #66d9ef }
.chroma .kt        { color: #66d9ef }

/* Name */
.chroma .n         { color: #f8f8f2 }
.chroma .na        { color: #a6e22e }
.chroma .nb        { color: #f8f8f2 }
.chroma .bp        { color: #f8f8f2 }
.chroma .nc        { color: #a6e22e }
.chroma .no        { color: #66d9ef }
.chroma .nd        { color: #a6e22e }
.chroma .ni        { color: #f8f8f2 }
.chroma .ne        { color: #a6e22e }
.chroma .nf        { color: #a6e22e }
.chroma .fm        { color: #f8f8f2 }
.chroma .nl        { color: #f8f8f2 }
.chroma .nn        { color: #f8f8f2 }
.chroma .nx        { color: #a6e22e }
.chroma .py        { color: #f8f8f2 }
.chroma .nt        { color: #f92672 }
.chroma .nv        { color: #f8f8f2 }
.chroma .vc        { color: #f8f8f2 }
.chroma .vg        { color: #f8f8f2 }
.chroma .vi        { color: #f8f8f2 }
.chroma .vm        { color: #f8f8f2 }

/* Literal / string */
.chroma .l         { color: #ae81ff }
.chroma .ld        { color: #e6db74 }
.chroma .s         { color: #e6db74 }
.chroma .sa        { color: #e6db74 }
.chroma .sb        { color: #e6db74 }
.chroma .sc        { color: #e6db74 }
.chroma .dl        { color: #e6db74 }
.chroma .sd        { color: #e6db74 }
.chroma .s2        { color: #e6db74 }
.chroma .se        { color: #ae81ff }
.chroma .sh        { color: #e6db74 }
.chroma .si        { color: #e6db74 }
.chroma .sx        { color: #e6db74 }
.chroma .sr        { color: #e6db74 }
.chroma .s1        { color: #e6db74 }
.chroma .ss        { color: #e6db74 }

/* Number */
.chroma .m         { color: #ae81ff }
.chroma .mb        { color: #ae81ff }
.chroma .mf        { color: #ae81ff }
.chroma .mh        { color: #ae81ff }
.chroma .mi        { color: #ae81ff }
.chroma .il        { color: #ae81ff }
.chroma .mo        { color: #ae81ff }

/* Operator */
.chroma .o         { color: #f92672 }
.chroma .ow        { color: #f92672 }

/* Punctuation */
.chroma .p         { color: #f8f8f2 }

/* Comment */
.chroma .c         { color: #75715e; font-style: italic }
.chroma .ch        { color: #75715e; font-style: italic }
.chroma .cm        { color: #75715e; font-style: italic }
.chroma .c1        { color: #75715e; font-style: italic }
.chroma .cs        { color: #75715e; font-style: italic }
.chroma .cp        { color: #75715e; font-style: italic }
.chroma .cpf       { color: #75715e; font-style: italic }

/* Generic */
.chroma .gd        { color: #f92672 }
.chroma .ge        { font-style: italic }
.chroma .gi        { color: #a6e22e }
.chroma .gs        { font-weight: bold }
.chroma .gu        { color: #75715e }
