/* ============================================================
   Syntax Highlighting — "Dial-Up"
   Rouge tokens on the dark code panel (--color-pre-bg).

   Every token clears 5.7:1 against #23262B; the darker
   dark-mode panel (#15171A) only improves them.
   ============================================================ */

/* Token colors only. The code panel itself (background, border,
   padding, scrolling) is owned by main.css so the two files can't
   fight over the box — Rouge nests <pre> inside two wrapper divs. */

.highlight .hll { background-color: #33373D }

/* Comments — 5.7:1 */
.highlight .c, .highlight .cm, .highlight .c1, .highlight .cs,
.highlight .cd { color: #9AA0A6; font-style: italic }
.highlight .cp { color: #9AA0A6 }

/* Keywords — 7.8:1 */
.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr,
.highlight .kv { color: #FF9BC6 }
.highlight .kc, .highlight .kd, .highlight .kt { color: #FF9BC6; font-style: italic }

/* Strings — 9.8:1 */
.highlight .s, .highlight .sa, .highlight .sb, .highlight .sc,
.highlight .dl, .highlight .sd, .highlight .s2, .highlight .se,
.highlight .sh, .highlight .si, .highlight .sx, .highlight .sr,
.highlight .s1, .highlight .ss, .highlight .ld { color: #9BD9E8 }

/* Numbers & literals — 8.5:1 */
.highlight .m, .highlight .mb, .highlight .mf, .highlight .mh,
.highlight .mi, .highlight .mo, .highlight .il { color: #C9B8FF }

/* Names — 13.8:1 */
.highlight .n, .highlight .nx, .highlight .py, .highlight .nl { color: #F4F4F0 }
.highlight .na { color: #A8E0B4 }
.highlight .nb, .highlight .bp { color: #F5C77E }
.highlight .nc, .highlight .nn { color: #A8E0B4; font-weight: 600 }
.highlight .no { color: #F5C77E }
.highlight .nd { color: #FF9BC6 }
.highlight .ne, .highlight .nf, .highlight .fm { color: #A8E0B4 }
.highlight .ni { color: #F4F4F0 }
.highlight .nt { color: #FF9BC6 }
.highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi,
.highlight .vm { color: #F4F4F0 }

/* Operators & punctuation */
.highlight .o, .highlight .ow, .highlight .p { color: #C7CCD1 }

/* Generic / diff */
.highlight .ge { font-style: italic }
.highlight .gs { font-weight: 700 }
.highlight .gd { color: #FF8A8A }
.highlight .gi { color: #A8E0B4 }
.highlight .gh { color: #F4F4F0; font-weight: 700 }
.highlight .gu { color: #9AA0A6 }
.highlight .gp { color: #9AA0A6 }
.highlight .go { color: #C7CCD1 }
.highlight .gt, .highlight .gr { color: #FF8A8A }
.highlight .err { color: #FF8A8A }

/* Line numbers, when enabled */
.highlight .lineno, .highlight .gl {
  color: #7C838A;
  user-select: none;
  padding-right: 0.75rem;
}
.highlight .w { color: #4A4F55 }
