/* Chroma syntax highlighting (class-based). Light by default, dark overrides
   mirror style.css's theme switching. Token set kept to the common cases. */

.chroma .c, .chroma .ch, .chroma .cm, .chroma .c1, .chroma .cs, .chroma .cp, .chroma .cpf { color: #6a737d; font-style: italic; } /* comments */
.chroma .k, .chroma .kc, .chroma .kd, .chroma .kn, .chroma .kp, .chroma .kr { color: #d73a49; } /* keywords */
.chroma .kt { color: #22863a; } /* keyword type */
.chroma .s, .chroma .sa, .chroma .sb, .chroma .sc, .chroma .dl, .chroma .sd, .chroma .s2, .chroma .se, .chroma .sh, .chroma .si, .chroma .sx, .chroma .sr, .chroma .s1, .chroma .ss { color: #032f62; } /* strings */
.chroma .m, .chroma .mb, .chroma .mf, .chroma .mh, .chroma .mi, .chroma .il, .chroma .mo { color: #005cc5; } /* numbers */
.chroma .nb, .chroma .bp { color: #005cc5; } /* builtins */
.chroma .nf, .chroma .fm { color: #6f42c1; } /* function names */
.chroma .nc, .chroma .nn, .chroma .no { color: #22863a; } /* classes / namespaces / constants */
.chroma .na { color: #6f42c1; } /* attribute */
.chroma .nt { color: #22863a; } /* HTML/XML tags */
.chroma .o, .chroma .ow { color: #d73a49; } /* operators */
.chroma .err { color: #b31d28; }
.chroma .gd { color: #b31d28; background: #ffeef0; } /* diff removed */
.chroma .gi { color: #22863a; background: #f0fff4; } /* diff added */
.chroma .gh { color: #005cc5; font-weight: bold; }
.chroma .ln, .chroma .lnt { color: #b0b0b0; } /* line numbers */

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .chroma .c,
  :root:not([data-theme="light"]) .chroma .ch,
  :root:not([data-theme="light"]) .chroma .cm,
  :root:not([data-theme="light"]) .chroma .c1,
  :root:not([data-theme="light"]) .chroma .cs,
  :root:not([data-theme="light"]) .chroma .cp,
  :root:not([data-theme="light"]) .chroma .cpf { color: #8b949e; }
  :root:not([data-theme="light"]) .chroma .k,
  :root:not([data-theme="light"]) .chroma .kc,
  :root:not([data-theme="light"]) .chroma .kd,
  :root:not([data-theme="light"]) .chroma .kn,
  :root:not([data-theme="light"]) .chroma .kp,
  :root:not([data-theme="light"]) .chroma .kr,
  :root:not([data-theme="light"]) .chroma .o,
  :root:not([data-theme="light"]) .chroma .ow { color: #ff7b72; }
  :root:not([data-theme="light"]) .chroma .kt,
  :root:not([data-theme="light"]) .chroma .nc,
  :root:not([data-theme="light"]) .chroma .nn,
  :root:not([data-theme="light"]) .chroma .no,
  :root:not([data-theme="light"]) .chroma .nt { color: #7ee787; }
  :root:not([data-theme="light"]) .chroma .s,
  :root:not([data-theme="light"]) .chroma .s1,
  :root:not([data-theme="light"]) .chroma .s2,
  :root:not([data-theme="light"]) .chroma .dl,
  :root:not([data-theme="light"]) .chroma .sb,
  :root:not([data-theme="light"]) .chroma .sd { color: #a5d6ff; }
  :root:not([data-theme="light"]) .chroma .m,
  :root:not([data-theme="light"]) .chroma .mi,
  :root:not([data-theme="light"]) .chroma .mf,
  :root:not([data-theme="light"]) .chroma .mh,
  :root:not([data-theme="light"]) .chroma .il,
  :root:not([data-theme="light"]) .chroma .nb,
  :root:not([data-theme="light"]) .chroma .bp { color: #79c0ff; }
  :root:not([data-theme="light"]) .chroma .nf,
  :root:not([data-theme="light"]) .chroma .fm,
  :root:not([data-theme="light"]) .chroma .na { color: #d2a8ff; }
}

/* Explicit dark theme (forced) mirrors the media block above. */
:root[data-theme="dark"] .chroma .c,
:root[data-theme="dark"] .chroma .ch,
:root[data-theme="dark"] .chroma .cm,
:root[data-theme="dark"] .chroma .c1,
:root[data-theme="dark"] .chroma .cs,
:root[data-theme="dark"] .chroma .cp,
:root[data-theme="dark"] .chroma .cpf { color: #8b949e; }
:root[data-theme="dark"] .chroma .k,
:root[data-theme="dark"] .chroma .kc,
:root[data-theme="dark"] .chroma .kd,
:root[data-theme="dark"] .chroma .kn,
:root[data-theme="dark"] .chroma .kp,
:root[data-theme="dark"] .chroma .kr,
:root[data-theme="dark"] .chroma .o,
:root[data-theme="dark"] .chroma .ow { color: #ff7b72; }
:root[data-theme="dark"] .chroma .kt,
:root[data-theme="dark"] .chroma .nc,
:root[data-theme="dark"] .chroma .nn,
:root[data-theme="dark"] .chroma .no,
:root[data-theme="dark"] .chroma .nt { color: #7ee787; }
:root[data-theme="dark"] .chroma .s,
:root[data-theme="dark"] .chroma .s1,
:root[data-theme="dark"] .chroma .s2,
:root[data-theme="dark"] .chroma .dl,
:root[data-theme="dark"] .chroma .sb,
:root[data-theme="dark"] .chroma .sd { color: #a5d6ff; }
:root[data-theme="dark"] .chroma .m,
:root[data-theme="dark"] .chroma .mi,
:root[data-theme="dark"] .chroma .mf,
:root[data-theme="dark"] .chroma .mh,
:root[data-theme="dark"] .chroma .il,
:root[data-theme="dark"] .chroma .nb,
:root[data-theme="dark"] .chroma .bp { color: #79c0ff; }
:root[data-theme="dark"] .chroma .nf,
:root[data-theme="dark"] .chroma .fm,
:root[data-theme="dark"] .chroma .na { color: #d2a8ff; }
