/* Chroma tokens styled to match VS Code Dark+ (vs2015) — dark mode */
.dark .chroma { color: #dcdcdc; }
.dark .chroma .w { color: inherit; }
.dark .chroma .err { color: #f44747; }

/* Comments */
.dark .chroma .c, .dark .chroma .cm, .dark .chroma .c1, .dark .chroma .ch, .dark .chroma .cs { color: #57a64a; font-style: italic; }
.dark .chroma .cp, .dark .chroma .cpf { color: #608b4e; }

/* Keywords */
.dark .chroma .k, .dark .chroma .kc, .dark .chroma .kd, .dark .chroma .kn, .dark .chroma .kp, .dark .chroma .kr, .dark .chroma .kt { color: #569cd6; }

/* Operators & punctuation */
.dark .chroma .o, .dark .chroma .ow { color: #dcdcdc; }
.dark .chroma .p { color: #dcdcdc; }

/* Names */
.dark .chroma .na { color: #9cdcfe; }         /* attribute */
.dark .chroma .nb, .dark .chroma .bp { color: #4ec9b0; } /* builtins */
.dark .chroma .nc { color: #b8d7a3; }         /* class */
.dark .chroma .no { color: #b5cea8; }         /* constant */
.dark .chroma .nd { color: #dcdcdc; }         /* decorator */
.dark .chroma .ni { color: #dcdcdc; }
.dark .chroma .ne { color: #f44747; }         /* exception */
.dark .chroma .nf { color: #dcdcdc; }         /* function */
.dark .chroma .nn { color: #4ec9b0; }         /* namespace */
.dark .chroma .nt { color: #569cd6; }         /* tag */
.dark .chroma .nv, .dark .chroma .vc, .dark .chroma .vg, .dark .chroma .vi { color: #bd63c5; } /* variable */

/* Literals */
.dark .chroma .m, .dark .chroma .mb, .dark .chroma .mf, .dark .chroma .mh, .dark .chroma .mi, .dark .chroma .il, .dark .chroma .mo { color: #b8d7a3; }
.dark .chroma .s, .dark .chroma .sa, .dark .chroma .sb, .dark .chroma .sc, .dark .chroma .dl, .dark .chroma .sd, .dark .chroma .s2, .dark .chroma .se, .dark .chroma .sh, .dark .chroma .si, .dark .chroma .sx, .dark .chroma .sr, .dark .chroma .s1, .dark .chroma .ss { color: #d69d85; }
.dark .chroma .sr { color: #9a5334; }
/* Treat docstrings like comments in Python */
.dark .chroma .sd { color: #57a64a; font-style: italic; }

/* Generic */
.dark .chroma .gd { background-color: #600; display: inline-block; width: 100%; }
.dark .chroma .gi { background-color: #144212; display: inline-block; width: 100%; }
.dark .chroma .ge { font-style: italic; }
.dark .chroma .gh, .dark .chroma .gu, .dark .chroma .section { color: gold; }
.dark .chroma .go { color: #9b9b9b; }
.dark .chroma .gp { color: #9b9b9b; }
.dark .chroma .gs { font-weight: bold; }

/* Emphasis */
.dark .chroma .kc, .dark .chroma .kp, .dark .chroma .kr, .dark .chroma .kt { font-weight: 500; }

/* Line highlight (if used) */
.dark .chroma .hl { background-color: rgba(255, 255, 255, 0.06); }

/* Language-specific tweaks */
.dark .chroma code.language-python .nd { color: #dcdcdc; }          /* decorator */
.dark .chroma code.language-python .nc { color: #b8d7a3; }          /* class name */
.dark .chroma code.language-python .nf { color: #dcdcdc; font-weight: 500; } /* function name */
.dark .chroma code.language-python .nb,
.dark .chroma code.language-python .bp { color: #4ec9b0; font-weight: 500; } /* builtins */
