/* ==========================================================================
   TechRS — pygments.css
   Derived from `pygmentize -S native`, re-colored to the TechRS palette
   (cyan/green/purple on slate). The code surface stays dark in BOTH site
   themes, so one token set suffices. All foregrounds >= 4.5:1 on #0d1320.
   ========================================================================== */

.highlight { background: var(--code-bg, #0d1320); color: #dbe4f0; }
.highlight .hll { background-color: rgba(148, 163, 184, 0.14); }

/* Line numbers */
.highlight td.linenos .normal,
.highlight span.linenos { color: #8fa0b5; background: transparent; padding-inline: 8px; }
.highlight td.linenos .special,
.highlight span.linenos.special { color: #dbe4f0; background: rgba(148, 163, 184, 0.14); padding-inline: 8px; }

/* Comments — muted slate */
.highlight .c, .highlight .ch, .highlight .cm, .highlight .c1,
.highlight .cpf, .highlight .sd { color: #8fa0b5; font-style: italic; }
.highlight .cs { color: #8fa0b5; font-style: italic; font-weight: bold; }
.highlight .cp { color: #f2a4b8; } /* Comment.Preproc */

/* Plain text, operators, punctuation — base */
.highlight .g, .highlight .esc, .highlight .l, .highlight .n,
.highlight .ni, .highlight .nl, .highlight .nx, .highlight .py,
.highlight .o, .highlight .p, .highlight .pm, .highlight .x { color: #dbe4f0; }
.highlight .w { color: #8fa0b5; } /* Whitespace */

/* Keywords & tags — brand cyan */
.highlight .k, .highlight .kc, .highlight .kd, .highlight .kn,
.highlight .kr, .highlight .nt, .highlight .ow { color: #6ee7f5; font-weight: bold; }
.highlight .kp, .highlight .sa { color: #6ee7f5; }
.highlight .kt { color: #8ee6da; font-weight: bold; } /* Keyword.Type */

/* Strings — cyber green */
.highlight .s, .highlight .sb, .highlight .sc, .highlight .dl,
.highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1,
.highlight .ld, .highlight .gi { color: #7ce3b3; }
.highlight .se { color: #f0c674; } /* String.Escape */

/* Interpolation, regex, symbols, variables, constants — soft teal */
.highlight .si, .highlight .sr, .highlight .ss, .highlight .no,
.highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi,
.highlight .vm { color: #8ee6da; }

/* Numbers — soft purple */
.highlight .m, .highlight .mb, .highlight .mf, .highlight .mh,
.highlight .mi, .highlight .mo, .highlight .il { color: #c4b5fd; }

/* Functions, classes, namespaces — periwinkle */
.highlight .nf, .highlight .fm, .highlight .nn { color: #9dc1fb; }
.highlight .nc { color: #9dc1fb; font-weight: bold; }

/* Builtins — deep cyan */
.highlight .nb, .highlight .bp { color: #5fd6e8; }

/* Decorators & attributes — amber */
.highlight .na, .highlight .nd { color: #f0c674; }

/* Errors, deletions, tracebacks — AA-safe rose */
.highlight .err, .highlight .gd, .highlight .gr, .highlight .gt { color: #ff8fa3; }
.highlight .ne { color: #ff8fa3; font-weight: bold; }

/* Generic (diff/output/prompt/headings) */
.highlight .go { color: #8fa0b5; }
.highlight .gp { color: #8fa0b5; font-weight: bold; }
.highlight .ge { font-style: italic; }
.highlight .gs { font-weight: bold; }
.highlight .ges { font-weight: bold; font-style: italic; }
.highlight .gh { color: #dbe4f0; font-weight: bold; }
.highlight .gu { color: #dbe4f0; text-decoration: underline; }
