/* ==========================================================================
   Hugo Chroma syntax highlighting
   Light: friendly (default). Dark: monokai, scoped under [data-theme=dark].
   Backgrounds stripped — code blocks use the theme --bg-alt variable.
   ========================================================================== */

/* --- Light mode (friendly) --- */
/* Other */ .chroma .x {  }
/* Error */ .chroma .err {  }
/* CodeLine */ .chroma .cl {  }
/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
/* LineNumbersTable */ .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 }
/* LineNumbers */ .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 }
/* Line */ .chroma .line { display:flex; }
/* Keyword */ .chroma .k { color:#007020;font-weight:bold }
/* KeywordConstant */ .chroma .kc { color:#007020;font-weight:bold }
/* KeywordDeclaration */ .chroma .kd { color:#007020;font-weight:bold }
/* KeywordNamespace */ .chroma .kn { color:#007020;font-weight:bold }
/* KeywordPseudo */ .chroma .kp { color:#007020 }
/* KeywordReserved */ .chroma .kr { color:#007020;font-weight:bold }
/* KeywordType */ .chroma .kt { color:#902000 }
/* Name */ .chroma .n {  }
/* NameAttribute */ .chroma .na { color:#4070a0 }
/* NameBuiltin */ .chroma .nb { color:#007020 }
/* NameBuiltinPseudo */ .chroma .bp {  }
/* NameClass */ .chroma .nc { color:#0e84b5;font-weight:bold }
/* NameConstant */ .chroma .no { color:#60add5 }
/* NameDecorator */ .chroma .nd { color:#555;font-weight:bold }
/* NameEntity */ .chroma .ni { color:#d55537;font-weight:bold }
/* NameException */ .chroma .ne { color:#007020 }
/* NameFunction */ .chroma .nf { color:#06287e }
/* NameFunctionMagic */ .chroma .fm {  }
/* NameLabel */ .chroma .nl { color:#002070;font-weight:bold }
/* NameNamespace */ .chroma .nn { color:#0e84b5;font-weight:bold }
/* NameOther */ .chroma .nx {  }
/* NameProperty */ .chroma .py {  }
/* NameTag */ .chroma .nt { color:#062873;font-weight:bold }
/* NameVariable */ .chroma .nv { color:#bb60d5 }
/* NameVariableClass */ .chroma .vc {  }
/* NameVariableGlobal */ .chroma .vg {  }
/* NameVariableInstance */ .chroma .vi {  }
/* NameVariableMagic */ .chroma .vm {  }
/* Literal */ .chroma .l {  }
/* LiteralDate */ .chroma .ld {  }
/* LiteralString */ .chroma .s { color:#4070a0 }
/* LiteralStringAffix */ .chroma .sa { color:#4070a0 }
/* LiteralStringBacktick */ .chroma .sb { color:#4070a0 }
/* LiteralStringChar */ .chroma .sc { color:#4070a0 }
/* LiteralStringDelimiter */ .chroma .dl { color:#4070a0 }
/* LiteralStringDoc */ .chroma .sd { color:#4070a0;font-style:italic }
/* LiteralStringDouble */ .chroma .s2 { color:#4070a0 }
/* LiteralStringEscape */ .chroma .se { color:#4070a0;font-weight:bold }
/* LiteralStringHeredoc */ .chroma .sh { color:#4070a0 }
/* LiteralStringInterpol */ .chroma .si { color:#70a0d0 }
/* LiteralStringOther */ .chroma .sx { color:#c65d09 }
/* LiteralStringRegex */ .chroma .sr { color:#235388 }
/* LiteralStringSingle */ .chroma .s1 { color:#4070a0 }
/* LiteralStringSymbol */ .chroma .ss { color:#517918 }
/* LiteralNumber */ .chroma .m { color:#40a070 }
/* LiteralNumberBin */ .chroma .mb { color:#40a070 }
/* LiteralNumberFloat */ .chroma .mf { color:#40a070 }
/* LiteralNumberHex */ .chroma .mh { color:#40a070 }
/* LiteralNumberInteger */ .chroma .mi { color:#40a070 }
/* LiteralNumberIntegerLong */ .chroma .il { color:#40a070 }
/* LiteralNumberOct */ .chroma .mo { color:#40a070 }
/* Operator */ .chroma .o { color:#666 }
/* OperatorWord */ .chroma .ow { color:#007020;font-weight:bold }
/* Punctuation */ .chroma .p {  }
/* Comment */ .chroma .c { color:#60a0b0;font-style:italic }
/* CommentHashbang */ .chroma .ch { color:#60a0b0;font-style:italic }
/* CommentMultiline */ .chroma .cm { color:#60a0b0;font-style:italic }
/* CommentSingle */ .chroma .c1 { color:#60a0b0;font-style:italic }
/* CommentPreproc */ .chroma .cp { color:#007020 }
/* CommentPreprocFile */ .chroma .cpf { color:#007020 }
/* Generic */ .chroma .g {  }
/* GenericDeleted */ .chroma .gd { color:#a00000 }
/* GenericEmph */ .chroma .ge { font-style:italic }
/* GenericError */ .chroma .gr { color:#f00 }
/* GenericHeading */ .chroma .gh { color:#000080;font-weight:bold }
/* GenericInserted */ .chroma .gi { color:#00a000 }
/* GenericOutput */ .chroma .go { color:#888 }
/* GenericPrompt */ .chroma .gp { color:#c65d09;font-weight:bold }
/* GenericStrong */ .chroma .gs { font-weight:bold }
/* GenericSubheading */ .chroma .gu { color:#800080;font-weight:bold }
/* GenericTraceback */ .chroma .gt { color:#04d }
/* GenericUnderline */ .chroma .gl { text-decoration:underline }
/* TextWhitespace */ .chroma .w { color:#bbb }

/* --- Dark mode (monokai) --- */
/* Other */ [data-theme="dark"] .chroma .x {  }
/* CodeLine */ [data-theme="dark"] .chroma .cl {  }
/* LineLink */ [data-theme="dark"] .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
/* LineTableTD */ [data-theme="dark"] .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
/* LineTable */ [data-theme="dark"] .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
/* LineNumbersTable */ [data-theme="dark"] .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 }
/* LineNumbers */ [data-theme="dark"] .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 }
/* Line */ [data-theme="dark"] .chroma .line { display:flex; }
/* Keyword */ [data-theme="dark"] .chroma .k { color:#66d9ef }
/* KeywordConstant */ [data-theme="dark"] .chroma .kc { color:#66d9ef }
/* KeywordDeclaration */ [data-theme="dark"] .chroma .kd { color:#66d9ef }
/* KeywordNamespace */ [data-theme="dark"] .chroma .kn { color:#f92672 }
/* KeywordPseudo */ [data-theme="dark"] .chroma .kp { color:#66d9ef }
/* KeywordReserved */ [data-theme="dark"] .chroma .kr { color:#66d9ef }
/* KeywordType */ [data-theme="dark"] .chroma .kt { color:#66d9ef }
/* Name */ [data-theme="dark"] .chroma .n {  }
/* NameAttribute */ [data-theme="dark"] .chroma .na { color:#a6e22e }
/* NameBuiltin */ [data-theme="dark"] .chroma .nb {  }
/* NameBuiltinPseudo */ [data-theme="dark"] .chroma .bp {  }
/* NameClass */ [data-theme="dark"] .chroma .nc { color:#a6e22e }
/* NameConstant */ [data-theme="dark"] .chroma .no { color:#66d9ef }
/* NameDecorator */ [data-theme="dark"] .chroma .nd { color:#a6e22e }
/* NameEntity */ [data-theme="dark"] .chroma .ni {  }
/* NameException */ [data-theme="dark"] .chroma .ne { color:#a6e22e }
/* NameFunction */ [data-theme="dark"] .chroma .nf { color:#a6e22e }
/* NameFunctionMagic */ [data-theme="dark"] .chroma .fm {  }
/* NameLabel */ [data-theme="dark"] .chroma .nl {  }
/* NameNamespace */ [data-theme="dark"] .chroma .nn {  }
/* NameOther */ [data-theme="dark"] .chroma .nx { color:#a6e22e }
/* NameProperty */ [data-theme="dark"] .chroma .py {  }
/* NameTag */ [data-theme="dark"] .chroma .nt { color:#f92672 }
/* NameVariable */ [data-theme="dark"] .chroma .nv {  }
/* NameVariableClass */ [data-theme="dark"] .chroma .vc {  }
/* NameVariableGlobal */ [data-theme="dark"] .chroma .vg {  }
/* NameVariableInstance */ [data-theme="dark"] .chroma .vi {  }
/* NameVariableMagic */ [data-theme="dark"] .chroma .vm {  }
/* Literal */ [data-theme="dark"] .chroma .l { color:#ae81ff }
/* LiteralDate */ [data-theme="dark"] .chroma .ld { color:#e6db74 }
/* LiteralString */ [data-theme="dark"] .chroma .s { color:#e6db74 }
/* LiteralStringAffix */ [data-theme="dark"] .chroma .sa { color:#e6db74 }
/* LiteralStringBacktick */ [data-theme="dark"] .chroma .sb { color:#e6db74 }
/* LiteralStringChar */ [data-theme="dark"] .chroma .sc { color:#e6db74 }
/* LiteralStringDelimiter */ [data-theme="dark"] .chroma .dl { color:#e6db74 }
/* LiteralStringDoc */ [data-theme="dark"] .chroma .sd { color:#e6db74 }
/* LiteralStringDouble */ [data-theme="dark"] .chroma .s2 { color:#e6db74 }
/* LiteralStringEscape */ [data-theme="dark"] .chroma .se { color:#ae81ff }
/* LiteralStringHeredoc */ [data-theme="dark"] .chroma .sh { color:#e6db74 }
/* LiteralStringInterpol */ [data-theme="dark"] .chroma .si { color:#e6db74 }
/* LiteralStringOther */ [data-theme="dark"] .chroma .sx { color:#e6db74 }
/* LiteralStringRegex */ [data-theme="dark"] .chroma .sr { color:#e6db74 }
/* LiteralStringSingle */ [data-theme="dark"] .chroma .s1 { color:#e6db74 }
/* LiteralStringSymbol */ [data-theme="dark"] .chroma .ss { color:#e6db74 }
/* LiteralNumber */ [data-theme="dark"] .chroma .m { color:#ae81ff }
/* LiteralNumberBin */ [data-theme="dark"] .chroma .mb { color:#ae81ff }
/* LiteralNumberFloat */ [data-theme="dark"] .chroma .mf { color:#ae81ff }
/* LiteralNumberHex */ [data-theme="dark"] .chroma .mh { color:#ae81ff }
/* LiteralNumberInteger */ [data-theme="dark"] .chroma .mi { color:#ae81ff }
/* LiteralNumberIntegerLong */ [data-theme="dark"] .chroma .il { color:#ae81ff }
/* LiteralNumberOct */ [data-theme="dark"] .chroma .mo { color:#ae81ff }
/* Operator */ [data-theme="dark"] .chroma .o { color:#f92672 }
/* OperatorWord */ [data-theme="dark"] .chroma .ow { color:#f92672 }
/* Punctuation */ [data-theme="dark"] .chroma .p {  }
/* Comment */ [data-theme="dark"] .chroma .c { color:#75715e }
/* CommentHashbang */ [data-theme="dark"] .chroma .ch { color:#75715e }
/* CommentMultiline */ [data-theme="dark"] .chroma .cm { color:#75715e }
/* CommentSingle */ [data-theme="dark"] .chroma .c1 { color:#75715e }
/* CommentSpecial */ [data-theme="dark"] .chroma .cs { color:#75715e }
/* CommentPreproc */ [data-theme="dark"] .chroma .cp { color:#75715e }
/* CommentPreprocFile */ [data-theme="dark"] .chroma .cpf { color:#75715e }
/* Generic */ [data-theme="dark"] .chroma .g {  }
/* GenericDeleted */ [data-theme="dark"] .chroma .gd { color:#f92672 }
/* GenericEmph */ [data-theme="dark"] .chroma .ge { font-style:italic }
/* GenericError */ [data-theme="dark"] .chroma .gr {  }
/* GenericHeading */ [data-theme="dark"] .chroma .gh {  }
/* GenericInserted */ [data-theme="dark"] .chroma .gi { color:#a6e22e }
/* GenericOutput */ [data-theme="dark"] .chroma .go {  }
/* GenericPrompt */ [data-theme="dark"] .chroma .gp {  }
/* GenericStrong */ [data-theme="dark"] .chroma .gs { font-weight:bold }
/* GenericSubheading */ [data-theme="dark"] .chroma .gu { color:#75715e }
/* GenericTraceback */ [data-theme="dark"] .chroma .gt {  }
/* GenericUnderline */ [data-theme="dark"] .chroma .gl {  }
/* TextWhitespace */ [data-theme="dark"] .chroma .w {  }

/* --- Theme integration: code blocks blend with the site design --- */
.chroma {
  background: var(--bg-alt);
  border: 1px solid var(--border);
  border-radius: 2px;
  padding: 0.75rem 1rem;
  overflow-x: auto;
  font-family: var(--mono);
  font-size: 0.875rem;
}
.chroma code { color: var(--fg); background: transparent; padding: 0; }
