/* ==========================================================================
   AOCyber — syntax highlighting (Chroma)

   GENERATED — do not hand-edit the token rules. Rebuild with
   scratchpad/gen_chroma.py, which does three things a plain
   `hugo gen chromastyles` dump does not:

     1. Scopes every selector to the same three-state cascade as the design
        tokens, with the dark blocks outweighing the light base.
     2. Emits the UNION of both styles' tokens. github (light) styles .nn/.nb/
        .bp and monokai (dark) does not, so without this those tokens keep
        their light colour on a dark background — #24292e on #141414 is
        1.26:1. Tokens a palette lacks are pinned to var(--text).
     3. Corrects contrast. Some colours fail WCAG AA against the code surface
        even in their own palette (monokai comments are 3.75:1); each is
        nudged along its lightness axis until it clears 4.5:1.

   Chroma's own .chroma/.bg container rules are dropped, not scoped: they
   hardcode a background that would beat the themed surface set by
   .docs-body pre in docs.css.

   Tokens pinned to var(--text) in dark:  13
   Tokens pinned to var(--text) in light: 5
   ========================================================================== */

.chroma { color: var(--text); }
.chroma .lnlinks { outline: none; text-decoration: none; color: inherit; }
.chroma .lntd,
.chroma .lntable { vertical-align: top; padding: 0; margin: 0; border: 0; }
.chroma .hl { background-color: var(--gold-15); display: block; width: 100%; }
.chroma .lnt,
.chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em; color: var(--text-muted); }

/* --- Light (base) -------------------------------------------------------- */
:root .chroma .bp { color:#6a737d }
:root .chroma .c { color:#57606a }
:root .chroma .c1 { color:#57606a }
:root .chroma .ch { color:#57606a }
:root .chroma .cm { color:#57606a }
:root .chroma .cp { color:#57606a }
:root .chroma .cpf { color:#57606a }
:root .chroma .cs { color:#57606a }
:root .chroma .dl { color:#0a3069 }
:root .chroma .err { color:#56789b;background-color:#82071e }
:root .chroma .fm { color:#6639ba }
:root .chroma .gd { color:#82071e;background-color:#e91500 }
:root .chroma .ge { color:#1f2328 }
:root .chroma .gi { color:#116329;background-color:#0e8126 }
:root .chroma .gl { text-decoration:underline }
:root .chroma .go { color:#1f2328 }
:root .chroma .gs { color:var(--text) }
:root .chroma .gu { color:var(--text) }
:root .chroma .hl { background-color:#737373 }
:root .chroma .il { color:#0550ae }
:root .chroma .k { color:#cf222e }
:root .chroma .kc { color:#cf222e }
:root .chroma .kd { color:#cf222e }
:root .chroma .kn { color:#cf222e }
:root .chroma .kp { color:#cf222e }
:root .chroma .kr { color:#cf222e }
:root .chroma .kt { color:#cf222e }
:root .chroma .l { color:var(--text) }
:root .chroma .ld { color:var(--text) }
:root .chroma .line { display:flex }
:root .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#757575 }
:root .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
:root .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#757575 }
:root .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0 }
:root .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0 }
:root .chroma .m { color:#0550ae }
:root .chroma .mb { color:#0550ae }
:root .chroma .mf { color:#0550ae }
:root .chroma .mh { color:#0550ae }
:root .chroma .mi { color:#0550ae }
:root .chroma .mo { color:#0550ae }
:root .chroma .na { color:#1f2328 }
:root .chroma .nb { color:#6639ba }
:root .chroma .nc { color:#1f2328 }
:root .chroma .nd { color:#0550ae }
:root .chroma .ne { color:var(--text) }
:root .chroma .nf { color:#6639ba }
:root .chroma .ni { color:#6639ba }
:root .chroma .nl { color:#900;font-weight:bold }
:root .chroma .nn { color:#24292e }
:root .chroma .no { color:#0550ae }
:root .chroma .nt { color:#0550ae }
:root .chroma .nv { color:#953800 }
:root .chroma .nx { color:#1f2328 }
:root .chroma .o { color:#0550ae }
:root .chroma .or { color:#0550ae }
:root .chroma .ow { color:#0550ae }
:root .chroma .p { color:#1f2328 }
:root .chroma .s { color:#0a3069 }
:root .chroma .s1 { color:#0a3069 }
:root .chroma .s2 { color:#0a3069 }
:root .chroma .sa { color:#0a3069 }
:root .chroma .sb { color:#0a3069 }
:root .chroma .sc { color:#0a3069 }
:root .chroma .sd { color:#0a3069 }
:root .chroma .se { color:#0a3069 }
:root .chroma .sh { color:#0a3069 }
:root .chroma .si { color:#0a3069 }
:root .chroma .sr { color:#0a3069 }
:root .chroma .ss { color:#032f62 }
:root .chroma .sx { color:#0a3069 }
:root .chroma .vc { color:#953800 }
:root .chroma .vg { color:#953800 }
:root .chroma .vi { color:#953800 }
:root .chroma .vm { color:#953800 }
:root .chroma .w { color:#fff }

/* --- Dark, via system preference ----------------------------------------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .chroma .bp { color:var(--text) }
  :root:not([data-theme="light"]) .chroma .c { color:#86816c }
  :root:not([data-theme="light"]) .chroma .c1 { color:#86816c }
  :root:not([data-theme="light"]) .chroma .ch { color:#86816c }
  :root:not([data-theme="light"]) .chroma .cm { color:#86816c }
  :root:not([data-theme="light"]) .chroma .cp { color:#86816c }
  :root:not([data-theme="light"]) .chroma .cpf { color:#86816c }
  :root:not([data-theme="light"]) .chroma .cs { color:#86816c }
  :root:not([data-theme="light"]) .chroma .dl { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .err { color:#fc0086;background-color:#f40082 }
  :root:not([data-theme="light"]) .chroma .fm { color:#a6e22e }
  :root:not([data-theme="light"]) .chroma .gd { color:#f92672 }
  :root:not([data-theme="light"]) .chroma .ge { font-style:italic }
  :root:not([data-theme="light"]) .chroma .gi { color:#a6e22e }
  :root:not([data-theme="light"]) .chroma .gl { color:var(--text) }
  :root:not([data-theme="light"]) .chroma .go { color:var(--text) }
  :root:not([data-theme="light"]) .chroma .gs { font-weight:bold }
  :root:not([data-theme="light"]) .chroma .gu { color:#86816c }
  :root:not([data-theme="light"]) .chroma .hl { background-color:#808277 }
  :root:not([data-theme="light"]) .chroma .il { color:#ae81ff }
  :root:not([data-theme="light"]) .chroma .k { color:#66d9ef }
  :root:not([data-theme="light"]) .chroma .kc { color:#66d9ef }
  :root:not([data-theme="light"]) .chroma .kd { color:#66d9ef }
  :root:not([data-theme="light"]) .chroma .kn { color:#f92672 }
  :root:not([data-theme="light"]) .chroma .kp { color:#66d9ef }
  :root:not([data-theme="light"]) .chroma .kr { color:#66d9ef }
  :root:not([data-theme="light"]) .chroma .kt { color:#66d9ef }
  :root:not([data-theme="light"]) .chroma .l { color:#ae81ff }
  :root:not([data-theme="light"]) .chroma .ld { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .line { display:flex }
  :root:not([data-theme="light"]) .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 }
  :root:not([data-theme="light"]) .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
  :root:not([data-theme="light"]) .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 }
  :root:not([data-theme="light"]) .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0 }
  :root:not([data-theme="light"]) .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0 }
  :root:not([data-theme="light"]) .chroma .m { color:#ae81ff }
  :root:not([data-theme="light"]) .chroma .mb { color:#ae81ff }
  :root:not([data-theme="light"]) .chroma .mf { color:#ae81ff }
  :root:not([data-theme="light"]) .chroma .mh { color:#ae81ff }
  :root:not([data-theme="light"]) .chroma .mi { color:#ae81ff }
  :root:not([data-theme="light"]) .chroma .mo { color:#ae81ff }
  :root:not([data-theme="light"]) .chroma .na { color:#a6e22e }
  :root:not([data-theme="light"]) .chroma .nb { color:var(--text) }
  :root:not([data-theme="light"]) .chroma .nc { color:#a6e22e }
  :root:not([data-theme="light"]) .chroma .nd { color:#a6e22e }
  :root:not([data-theme="light"]) .chroma .ne { color:#a6e22e }
  :root:not([data-theme="light"]) .chroma .nf { color:#a6e22e }
  :root:not([data-theme="light"]) .chroma .ni { color:var(--text) }
  :root:not([data-theme="light"]) .chroma .nl { color:var(--text) }
  :root:not([data-theme="light"]) .chroma .nn { color:var(--text) }
  :root:not([data-theme="light"]) .chroma .no { color:#66d9ef }
  :root:not([data-theme="light"]) .chroma .nt { color:#f92672 }
  :root:not([data-theme="light"]) .chroma .nv { color:var(--text) }
  :root:not([data-theme="light"]) .chroma .nx { color:#a6e22e }
  :root:not([data-theme="light"]) .chroma .o { color:#f92672 }
  :root:not([data-theme="light"]) .chroma .or { color:#f92672 }
  :root:not([data-theme="light"]) .chroma .ow { color:#f92672 }
  :root:not([data-theme="light"]) .chroma .p { color:#f8f8f2 }
  :root:not([data-theme="light"]) .chroma .s { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .s1 { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .s2 { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .sa { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .sb { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .sc { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .sd { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .se { color:#ae81ff }
  :root:not([data-theme="light"]) .chroma .sh { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .si { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .sr { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .ss { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .sx { color:#e6db74 }
  :root:not([data-theme="light"]) .chroma .vc { color:var(--text) }
  :root:not([data-theme="light"]) .chroma .vg { color:var(--text) }
  :root:not([data-theme="light"]) .chroma .vi { color:var(--text) }
  :root:not([data-theme="light"]) .chroma .vm { color:var(--text) }
  :root:not([data-theme="light"]) .chroma .w { color:var(--text) }
}

/* --- Dark, pinned by the toggle ------------------------------------------ */
:root[data-theme="dark"] .chroma .bp { color:var(--text) }
:root[data-theme="dark"] .chroma .c { color:#86816c }
:root[data-theme="dark"] .chroma .c1 { color:#86816c }
:root[data-theme="dark"] .chroma .ch { color:#86816c }
:root[data-theme="dark"] .chroma .cm { color:#86816c }
:root[data-theme="dark"] .chroma .cp { color:#86816c }
:root[data-theme="dark"] .chroma .cpf { color:#86816c }
:root[data-theme="dark"] .chroma .cs { color:#86816c }
:root[data-theme="dark"] .chroma .dl { color:#e6db74 }
:root[data-theme="dark"] .chroma .err { color:#fc0086;background-color:#f40082 }
:root[data-theme="dark"] .chroma .fm { color:#a6e22e }
:root[data-theme="dark"] .chroma .gd { color:#f92672 }
:root[data-theme="dark"] .chroma .ge { font-style:italic }
:root[data-theme="dark"] .chroma .gi { color:#a6e22e }
:root[data-theme="dark"] .chroma .gl { color:var(--text) }
:root[data-theme="dark"] .chroma .go { color:var(--text) }
:root[data-theme="dark"] .chroma .gs { font-weight:bold }
:root[data-theme="dark"] .chroma .gu { color:#86816c }
:root[data-theme="dark"] .chroma .hl { background-color:#808277 }
:root[data-theme="dark"] .chroma .il { color:#ae81ff }
:root[data-theme="dark"] .chroma .k { color:#66d9ef }
:root[data-theme="dark"] .chroma .kc { color:#66d9ef }
:root[data-theme="dark"] .chroma .kd { color:#66d9ef }
:root[data-theme="dark"] .chroma .kn { color:#f92672 }
:root[data-theme="dark"] .chroma .kp { color:#66d9ef }
:root[data-theme="dark"] .chroma .kr { color:#66d9ef }
:root[data-theme="dark"] .chroma .kt { color:#66d9ef }
:root[data-theme="dark"] .chroma .l { color:#ae81ff }
:root[data-theme="dark"] .chroma .ld { color:#e6db74 }
:root[data-theme="dark"] .chroma .line { display:flex }
:root[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 }
:root[data-theme="dark"] .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
:root[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 }
:root[data-theme="dark"] .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0 }
:root[data-theme="dark"] .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0 }
:root[data-theme="dark"] .chroma .m { color:#ae81ff }
:root[data-theme="dark"] .chroma .mb { color:#ae81ff }
:root[data-theme="dark"] .chroma .mf { color:#ae81ff }
:root[data-theme="dark"] .chroma .mh { color:#ae81ff }
:root[data-theme="dark"] .chroma .mi { color:#ae81ff }
:root[data-theme="dark"] .chroma .mo { color:#ae81ff }
:root[data-theme="dark"] .chroma .na { color:#a6e22e }
:root[data-theme="dark"] .chroma .nb { color:var(--text) }
:root[data-theme="dark"] .chroma .nc { color:#a6e22e }
:root[data-theme="dark"] .chroma .nd { color:#a6e22e }
:root[data-theme="dark"] .chroma .ne { color:#a6e22e }
:root[data-theme="dark"] .chroma .nf { color:#a6e22e }
:root[data-theme="dark"] .chroma .ni { color:var(--text) }
:root[data-theme="dark"] .chroma .nl { color:var(--text) }
:root[data-theme="dark"] .chroma .nn { color:var(--text) }
:root[data-theme="dark"] .chroma .no { color:#66d9ef }
:root[data-theme="dark"] .chroma .nt { color:#f92672 }
:root[data-theme="dark"] .chroma .nv { color:var(--text) }
:root[data-theme="dark"] .chroma .nx { color:#a6e22e }
:root[data-theme="dark"] .chroma .o { color:#f92672 }
:root[data-theme="dark"] .chroma .or { color:#f92672 }
:root[data-theme="dark"] .chroma .ow { color:#f92672 }
:root[data-theme="dark"] .chroma .p { color:#f8f8f2 }
:root[data-theme="dark"] .chroma .s { color:#e6db74 }
:root[data-theme="dark"] .chroma .s1 { color:#e6db74 }
:root[data-theme="dark"] .chroma .s2 { color:#e6db74 }
:root[data-theme="dark"] .chroma .sa { color:#e6db74 }
:root[data-theme="dark"] .chroma .sb { color:#e6db74 }
:root[data-theme="dark"] .chroma .sc { color:#e6db74 }
:root[data-theme="dark"] .chroma .sd { color:#e6db74 }
:root[data-theme="dark"] .chroma .se { color:#ae81ff }
:root[data-theme="dark"] .chroma .sh { color:#e6db74 }
:root[data-theme="dark"] .chroma .si { color:#e6db74 }
:root[data-theme="dark"] .chroma .sr { color:#e6db74 }
:root[data-theme="dark"] .chroma .ss { color:#e6db74 }
:root[data-theme="dark"] .chroma .sx { color:#e6db74 }
:root[data-theme="dark"] .chroma .vc { color:var(--text) }
:root[data-theme="dark"] .chroma .vg { color:var(--text) }
:root[data-theme="dark"] .chroma .vi { color:var(--text) }
:root[data-theme="dark"] .chroma .vm { color:var(--text) }
:root[data-theme="dark"] .chroma .w { color:var(--text) }
