/* Syntax Highlighting - Light: GitHub | Dark: Atom One Dark */

/* Light mode (default) */
.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }
.highlight, .highlight .w {
  color: #24292f;
  background-color: #f6f8fa;
}
.highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .kv {
  color: #cf222e;
}
.highlight .gr {
  color: #f6f8fa;
}
.highlight .gd {
  color: #82071e;
  background-color: #ffebe9;
}
.highlight .nb {
  color: #953800;
}
.highlight .nc {
  color: #953800;
}
.highlight .no {
  color: #953800;
}
.highlight .nn {
  color: #953800;
}
.highlight .sr {
  color: #116329;
}
.highlight .na {
  color: #116329;
}
.highlight .nt {
  color: #116329;
}
.highlight .gi {
  color: #116329;
  background-color: #dafbe1;
}
.highlight .ges {
  font-weight: bold;
  font-style: italic;
}
.highlight .kc {
  color: #0550ae;
}
.highlight .l, .highlight .ld, .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
  color: #0550ae;
}
.highlight .sb {
  color: #0550ae;
}
.highlight .bp {
  color: #0550ae;
}
.highlight .ne {
  color: #0550ae;
}
.highlight .nl {
  color: #0550ae;
}
.highlight .py {
  color: #0550ae;
}
.highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {
  color: #0550ae;
}
.highlight .o, .highlight .ow {
  color: #0550ae;
}
.highlight .gh {
  color: #0550ae;
  font-weight: bold;
}
.highlight .gu {
  color: #0550ae;
  font-weight: bold;
}
.highlight .s, .highlight .sa, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .sx, .highlight .s1, .highlight .ss {
  color: #0a3069;
}
.highlight .nd {
  color: #8250df;
}
.highlight .nf, .highlight .fm {
  color: #8250df;
}
.highlight .err {
  color: #f6f8fa;
  background-color: #82071e;
}
.highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs {
  color: #6e7781;
}
.highlight .gl {
  color: #6e7781;
}
.highlight .gt {
  color: #6e7781;
}
.highlight .ni {
  color: #24292f;
}
.highlight .si {
  color: #24292f;
}
.highlight .ge {
  color: #24292f;
  font-style: italic;
}
.highlight .gs {
  color: #24292f;
  font-weight: bold;
}

/* ====================================================================
   Dark mode: Atom One Dark
   Background: #282c34 | Foreground: #abb2bf
   ==================================================================== */

/* Dark mode (manual toggle) */
[data-theme="dark"] .highlight table td { padding: 5px; }
[data-theme="dark"] .highlight table pre { margin: 0; }
[data-theme="dark"] .highlight, [data-theme="dark"] .highlight .w {
  color: #abb2bf;
  background-color: #282c34;
}

/* Comments — muted gray */
[data-theme="dark"] .highlight .c,
[data-theme="dark"] .highlight .ch,
[data-theme="dark"] .highlight .cd,
[data-theme="dark"] .highlight .cm,
[data-theme="dark"] .highlight .cp,
[data-theme="dark"] .highlight .cpf,
[data-theme="dark"] .highlight .c1,
[data-theme="dark"] .highlight .cs {
  color: #5c6370;
  font-style: italic;
}

/* Keywords — purple */
[data-theme="dark"] .highlight .k,
[data-theme="dark"] .highlight .kd,
[data-theme="dark"] .highlight .kn,
[data-theme="dark"] .highlight .kp,
[data-theme="dark"] .highlight .kr,
[data-theme="dark"] .highlight .kv {
  color: #c678dd;
}
[data-theme="dark"] .highlight .kc {
  color: #d19a66;
}
[data-theme="dark"] .highlight .kt {
  color: #e5c07b;
}

/* Strings — green */
[data-theme="dark"] .highlight .s,
[data-theme="dark"] .highlight .sa,
[data-theme="dark"] .highlight .sb,
[data-theme="dark"] .highlight .sc,
[data-theme="dark"] .highlight .dl,
[data-theme="dark"] .highlight .sd,
[data-theme="dark"] .highlight .s2,
[data-theme="dark"] .highlight .sh,
[data-theme="dark"] .highlight .sx,
[data-theme="dark"] .highlight .s1,
[data-theme="dark"] .highlight .ss {
  color: #98c379;
}
[data-theme="dark"] .highlight .se {
  color: #56b6c2;
}
[data-theme="dark"] .highlight .si {
  color: #e06c75;
}
[data-theme="dark"] .highlight .sr {
  color: #98c379;
}

/* Numbers — orange */
[data-theme="dark"] .highlight .m,
[data-theme="dark"] .highlight .mb,
[data-theme="dark"] .highlight .mf,
[data-theme="dark"] .highlight .mh,
[data-theme="dark"] .highlight .mi,
[data-theme="dark"] .highlight .il,
[data-theme="dark"] .highlight .mo,
[data-theme="dark"] .highlight .mx,
[data-theme="dark"] .highlight .l,
[data-theme="dark"] .highlight .ld {
  color: #d19a66;
}

/* Functions — blue */
[data-theme="dark"] .highlight .nf,
[data-theme="dark"] .highlight .fm {
  color: #61afef;
}

/* Classes, types — yellow */
[data-theme="dark"] .highlight .nc,
[data-theme="dark"] .highlight .ne {
  color: #e5c07b;
}

/* Decorators — yellow */
[data-theme="dark"] .highlight .nd {
  color: #e5c07b;
}

/* Built-ins — yellow */
[data-theme="dark"] .highlight .nb {
  color: #e5c07b;
}

/* Variables — red */
[data-theme="dark"] .highlight .nv,
[data-theme="dark"] .highlight .vc,
[data-theme="dark"] .highlight .vg,
[data-theme="dark"] .highlight .vi,
[data-theme="dark"] .highlight .vm {
  color: #e06c75;
}

/* Constants — orange */
[data-theme="dark"] .highlight .no {
  color: #d19a66;
}

/* Tags (HTML) — red */
[data-theme="dark"] .highlight .nt {
  color: #e06c75;
}

/* Attributes — orange */
[data-theme="dark"] .highlight .na {
  color: #d19a66;
}

/* Namespaces — foreground */
[data-theme="dark"] .highlight .nn {
  color: #abb2bf;
}

/* Operators — foreground or cyan */
[data-theme="dark"] .highlight .o,
[data-theme="dark"] .highlight .ow {
  color: #56b6c2;
}

/* Punctuation, labels — foreground */
[data-theme="dark"] .highlight .p,
[data-theme="dark"] .highlight .nl,
[data-theme="dark"] .highlight .py,
[data-theme="dark"] .highlight .ni,
[data-theme="dark"] .highlight .bp {
  color: #abb2bf;
}

/* Names (generic) — foreground */
[data-theme="dark"] .highlight .n,
[data-theme="dark"] .highlight .nx {
  color: #abb2bf;
}

/* Diff */
[data-theme="dark"] .highlight .gd {
  color: #e06c75;
}
[data-theme="dark"] .highlight .gi {
  color: #98c379;
}

/* Headings */
[data-theme="dark"] .highlight .gh {
  color: #61afef;
  font-weight: bold;
}
[data-theme="dark"] .highlight .gu {
  color: #5c6370;
}

/* Generic */
[data-theme="dark"] .highlight .ge {
  font-style: italic;
}
[data-theme="dark"] .highlight .ges {
  font-weight: bold;
  font-style: italic;
}
[data-theme="dark"] .highlight .gs {
  font-weight: bold;
}
[data-theme="dark"] .highlight .go {
  color: #5c6370;
}
[data-theme="dark"] .highlight .gp {
  color: #abb2bf;
}
[data-theme="dark"] .highlight .gl {
  color: #5c6370;
}
[data-theme="dark"] .highlight .gt {
  color: #e06c75;
}

/* Errors */
[data-theme="dark"] .highlight .err {
  color: #e06c75;
}

/* Dark mode (system preference) */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .highlight table td { padding: 5px; }
  :root:not([data-theme="light"]) .highlight table pre { margin: 0; }
  :root:not([data-theme="light"]) .highlight, :root:not([data-theme="light"]) .highlight .w {
    color: #abb2bf;
    background-color: #282c34;
  }
  :root:not([data-theme="light"]) .highlight .c,
  :root:not([data-theme="light"]) .highlight .ch,
  :root:not([data-theme="light"]) .highlight .cd,
  :root:not([data-theme="light"]) .highlight .cm,
  :root:not([data-theme="light"]) .highlight .cp,
  :root:not([data-theme="light"]) .highlight .cpf,
  :root:not([data-theme="light"]) .highlight .c1,
  :root:not([data-theme="light"]) .highlight .cs {
    color: #5c6370;
    font-style: italic;
  }
  :root:not([data-theme="light"]) .highlight .k,
  :root:not([data-theme="light"]) .highlight .kd,
  :root:not([data-theme="light"]) .highlight .kn,
  :root:not([data-theme="light"]) .highlight .kp,
  :root:not([data-theme="light"]) .highlight .kr,
  :root:not([data-theme="light"]) .highlight .kv {
    color: #c678dd;
  }
  :root:not([data-theme="light"]) .highlight .kc {
    color: #d19a66;
  }
  :root:not([data-theme="light"]) .highlight .kt {
    color: #e5c07b;
  }
  :root:not([data-theme="light"]) .highlight .s,
  :root:not([data-theme="light"]) .highlight .sa,
  :root:not([data-theme="light"]) .highlight .sb,
  :root:not([data-theme="light"]) .highlight .sc,
  :root:not([data-theme="light"]) .highlight .dl,
  :root:not([data-theme="light"]) .highlight .sd,
  :root:not([data-theme="light"]) .highlight .s2,
  :root:not([data-theme="light"]) .highlight .sh,
  :root:not([data-theme="light"]) .highlight .sx,
  :root:not([data-theme="light"]) .highlight .s1,
  :root:not([data-theme="light"]) .highlight .ss {
    color: #98c379;
  }
  :root:not([data-theme="light"]) .highlight .se {
    color: #56b6c2;
  }
  :root:not([data-theme="light"]) .highlight .si {
    color: #e06c75;
  }
  :root:not([data-theme="light"]) .highlight .sr {
    color: #98c379;
  }
  :root:not([data-theme="light"]) .highlight .m,
  :root:not([data-theme="light"]) .highlight .mb,
  :root:not([data-theme="light"]) .highlight .mf,
  :root:not([data-theme="light"]) .highlight .mh,
  :root:not([data-theme="light"]) .highlight .mi,
  :root:not([data-theme="light"]) .highlight .il,
  :root:not([data-theme="light"]) .highlight .mo,
  :root:not([data-theme="light"]) .highlight .mx,
  :root:not([data-theme="light"]) .highlight .l,
  :root:not([data-theme="light"]) .highlight .ld {
    color: #d19a66;
  }
  :root:not([data-theme="light"]) .highlight .nf,
  :root:not([data-theme="light"]) .highlight .fm {
    color: #61afef;
  }
  :root:not([data-theme="light"]) .highlight .nc,
  :root:not([data-theme="light"]) .highlight .ne {
    color: #e5c07b;
  }
  :root:not([data-theme="light"]) .highlight .nd {
    color: #e5c07b;
  }
  :root:not([data-theme="light"]) .highlight .nb {
    color: #e5c07b;
  }
  :root:not([data-theme="light"]) .highlight .nv,
  :root:not([data-theme="light"]) .highlight .vc,
  :root:not([data-theme="light"]) .highlight .vg,
  :root:not([data-theme="light"]) .highlight .vi,
  :root:not([data-theme="light"]) .highlight .vm {
    color: #e06c75;
  }
  :root:not([data-theme="light"]) .highlight .no {
    color: #d19a66;
  }
  :root:not([data-theme="light"]) .highlight .nt {
    color: #e06c75;
  }
  :root:not([data-theme="light"]) .highlight .na {
    color: #d19a66;
  }
  :root:not([data-theme="light"]) .highlight .nn {
    color: #abb2bf;
  }
  :root:not([data-theme="light"]) .highlight .o,
  :root:not([data-theme="light"]) .highlight .ow {
    color: #56b6c2;
  }
  :root:not([data-theme="light"]) .highlight .p,
  :root:not([data-theme="light"]) .highlight .nl,
  :root:not([data-theme="light"]) .highlight .py,
  :root:not([data-theme="light"]) .highlight .ni,
  :root:not([data-theme="light"]) .highlight .bp {
    color: #abb2bf;
  }
  :root:not([data-theme="light"]) .highlight .n,
  :root:not([data-theme="light"]) .highlight .nx {
    color: #abb2bf;
  }
  :root:not([data-theme="light"]) .highlight .gd {
    color: #e06c75;
  }
  :root:not([data-theme="light"]) .highlight .gi {
    color: #98c379;
  }
  :root:not([data-theme="light"]) .highlight .gh {
    color: #61afef;
    font-weight: bold;
  }
  :root:not([data-theme="light"]) .highlight .gu {
    color: #5c6370;
  }
  :root:not([data-theme="light"]) .highlight .ge {
    font-style: italic;
  }
  :root:not([data-theme="light"]) .highlight .ges {
    font-weight: bold;
    font-style: italic;
  }
  :root:not([data-theme="light"]) .highlight .gs {
    font-weight: bold;
  }
  :root:not([data-theme="light"]) .highlight .go {
    color: #5c6370;
  }
  :root:not([data-theme="light"]) .highlight .gp {
    color: #abb2bf;
  }
  :root:not([data-theme="light"]) .highlight .gl {
    color: #5c6370;
  }
  :root:not([data-theme="light"]) .highlight .gt {
    color: #e06c75;
  }
  :root:not([data-theme="light"]) .highlight .err {
    color: #e06c75;
  }
}
