/* Darcula / IntelliJ theme — scoped to Nix code blocks */

/* Container: dark warm background */
pre.chroma:has(> code.language-nix) {
  background-color: #2b2b2b !important;
  border-color: #3c3f41 !important;
}

code.language-nix {
  background-color: #2b2b2b !important;
  color: #a9b7c6;
}

/* Keywords (let, in, if, then, else, inherit, with, rec, assert) */
code.language-nix .k  { color: #cc7832; font-weight: bold; }
code.language-nix .kc { color: #cc7832; font-weight: bold; }
code.language-nix .kd { color: #cc7832; font-weight: bold; }
code.language-nix .kn { color: #cc7832; font-weight: bold; }
code.language-nix .kp { color: #cc7832; font-weight: bold; }
code.language-nix .kr { color: #cc7832; font-weight: bold; }
code.language-nix .kt { color: #cc7832; font-weight: bold; }

/* Strings */
code.language-nix .s   { color: #6a8759; }
code.language-nix .s1  { color: #6a8759; }
code.language-nix .s2  { color: #6a8759; }
code.language-nix .sa  { color: #6a8759; }
code.language-nix .sb  { color: #6a8759; }
code.language-nix .sc  { color: #6a8759; }
code.language-nix .sd  { color: #6a8759; }
code.language-nix .sh  { color: #6a8759; }
code.language-nix .sx  { color: #6a8759; }
code.language-nix .sr  { color: #6a8759; }
code.language-nix .ss  { color: #6a8759; }
code.language-nix .dl  { color: #6a8759; }

/* String interpolation ${...} */
code.language-nix .si  { color: #e8bf6a; }
code.language-nix .se  { color: #e8bf6a; }

/* Names / identifiers */
code.language-nix .n   { color: #a9b7c6; }
code.language-nix .na  { color: #a9b7c6; }
code.language-nix .nb  { color: #ffc66d; }
code.language-nix .nc  { color: #a9b7c6; }
code.language-nix .nf  { color: #ffc66d; font-weight: normal; }
code.language-nix .fm  { color: #ffc66d; font-weight: normal; }
code.language-nix .nn  { color: #a9b7c6; }
code.language-nix .no  { color: #9876aa; font-weight: normal; }
code.language-nix .ni  { color: #ffc66d; }
code.language-nix .nv  { color: #9876aa; }
code.language-nix .vc  { color: #9876aa; }
code.language-nix .vg  { color: #9876aa; }
code.language-nix .vi  { color: #9876aa; }
code.language-nix .vm  { color: #9876aa; }

/* Numbers */
code.language-nix .m   { color: #6897bb; }
code.language-nix .mb  { color: #6897bb; }
code.language-nix .mf  { color: #6897bb; }
code.language-nix .mh  { color: #6897bb; }
code.language-nix .mi  { color: #6897bb; }
code.language-nix .il  { color: #6897bb; }
code.language-nix .mo  { color: #6897bb; }

/* Operators (= , ; : .) */
code.language-nix .o   { color: #a9b7c6; font-weight: normal; }
code.language-nix .ow  { color: #cc7832; font-weight: bold; }

/* Punctuation ({ } [ ] ( ) ;) */
code.language-nix .p   { color: #a9b7c6; }

/* Comments */
code.language-nix .c   { color: #808080; font-style: italic; }
code.language-nix .c1  { color: #808080; font-style: italic; }
code.language-nix .cm  { color: #808080; font-style: italic; }
code.language-nix .ch  { color: #808080; font-style: italic; }
code.language-nix .cs  { color: #808080; font-style: italic; font-weight: normal; }
code.language-nix .cp  { color: #808080; font-style: italic; font-weight: normal; }
code.language-nix .cpf { color: #808080; font-style: italic; font-weight: normal; }

/* Error */
code.language-nix .err { color: #bc3f3c; }

/* Line numbers */
code.language-nix .ln  { color: #606366; }
code.language-nix .lnt { color: #606366; }

/* Literals / misc */
code.language-nix .l   { color: #6897bb; }
code.language-nix .ld  { color: #6897bb; }
