/* ============================================================
   highlight.css —— 代码高亮配色（pygments token 类名）
   亮色参考 friendly，暗色参考 one-dark；均按 [data-theme] 作用域切换
   ============================================================ */

/* ---------- 亮色 ---------- */
:root, [data-theme='light'] {
  --c-k: #0077aa;   /* keyword */
  --c-kn: #0077aa;  /* keyword.namespace */
  --c-s: #c0392b;   /* string */
  --c-n: #b35900;   /* number */
  --c-c: #7a8ca0;   /* comment */
  --c-f: #2f6ea5;   /* function name */
  --c-cd: #2f6ea5;  /* decorator / class */
  --c-o: #556;      /* operator */
  --c-err: #b3403e;
}

/* ---------- 暗色 ---------- */
[data-theme='dark'] {
  --c-k: #c792ea;
  --c-kn: #c792ea;
  --c-s: #a3d9a5;
  --c-n: #f2a96a;
  --c-c: #6d7f99;
  --c-f: #82aaff;
  --c-cd: #ffd580;
  --c-o: #89a7c9;
  --c-err: #e2837f;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --c-k: #c792ea; --c-kn: #c792ea; --c-s: #a3d9a5; --c-n: #f2a96a;
    --c-c: #6d7f99; --c-f: #82aaff; --c-cd: #ffd580; --c-o: #89a7c9; --c-err: #e2837f;
  }
}

/* ---------- token 映射（覆盖 pygments 短类名） ---------- */
.k, .kn, .kc, .kd, .kr, .kt, .nb, .bp { color: var(--c-k); }
.s, .s1, .s2, .sd, .se, .si, .sa, .sb, .sc, .sr, .sh { color: var(--c-s); }
.m, .mi, .mf, .mh, .mo, .il { color: var(--c-n); }
.c, .c1, .cm, .cs, .ch, .cp { color: var(--c-c); font-style: italic; }
.nf, .fm { color: var(--c-f); }
.nc, .nd, .ne, .nl, .nt { color: var(--c-cd); }
.o, .ow, .p { color: var(--c-o); }
.err { color: var(--c-err); }
.gd { color: var(--c-err); background: rgba(179, 64, 62, .08); display: inline-block; width: 100%; }
.gi { color: var(--ok, #2e7d4f); background: rgba(46, 125, 79, .08); display: inline-block; width: 100%; }
.w { color: var(--c-c); }
.vg, .vi, .vc { color: var(--c-f); }
