/* ============================================================
   syntax.css — Chroma highlighting palette for Course Code
   "The Almanac" (Signal). Kept low-contrast so code sits
   quietly in prose. Most posts are untagged shell one-liners
   (no token classes) — those are styled by `pre` in
   digital-archivist.css; this file only colors the tagged
   minority. Class names are Chroma defaults.
   Hugo: set pygmentsUseClasses = true in config.
   ============================================================ */

.chroma { color: var(--on-surface); background: transparent; }

/* structural */
.chroma .err { color: #ff8a6a; }
.chroma .x   { color: var(--on-surface); }
.chroma .p   { color: var(--on-surface-variant); }   /* punctuation */
.chroma .o   { color: var(--on-surface-variant); }   /* operator */

/* comments — recede, but stay AA on the #0a130f code ground
   (--on-surface-faint measures ~4.0:1 there; this sage clears 4.5:1) */
.chroma .c, .chroma .ch, .chroma .cm, .chroma .c1, .chroma .cs,
.chroma .cp, .chroma .cpf { color: #75937c; font-style: italic; }

/* keywords — spot ink */
.chroma .k, .chroma .kc, .chroma .kd, .chroma .kn,
.chroma .kp, .chroma .kr, .chroma .kt { color: var(--primary); }

/* names */
.chroma .n   { color: var(--on-surface); }
.chroma .na  { color: var(--secondary); }             /* attribute */
.chroma .nb, .chroma .bp { color: var(--secondary); } /* builtin */
.chroma .nf, .chroma .fm { color: var(--on-surface); }/* function */
.chroma .nc, .chroma .nn { color: var(--primary); }   /* class / namespace */
.chroma .nt  { color: var(--primary); }               /* tag */
.chroma .nv, .chroma .vc, .chroma .vg, .chroma .vi { color: var(--on-surface); }
.chroma .nl  { color: var(--on-surface-variant); }

/* strings — the second hue, muted steel */
.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: var(--secondary); }

/* numbers — a warm gold, dimmer than primary */
.chroma .m, .chroma .mb, .chroma .mf, .chroma .mh,
.chroma .mi, .chroma .il, .chroma .mo { color: #c99a3f; }

/* shell prompt / generic */
.chroma .gp { color: var(--primary); }                /* prompt "$" */
.chroma .gi { color: var(--secondary); }              /* inserted */
.chroma .gd { color: #ff8a6a; }                       /* deleted */
.chroma .gh, .chroma .gu { color: var(--on-surface); font-weight: 500; }
.chroma .gs { font-weight: 500; }
.chroma .ge { font-style: italic; }

/* line highlight / line numbers */
.chroma .hl { background: color-mix(in oklab, var(--primary) 12%, transparent); }
.chroma .lnt, .chroma .ln { color: var(--on-surface-faint); }
