/* Rouge 코드 하이라이트 — 흑백 톤에 맞춘 저채도 팔레트 (다크/라이트 공용 변수) */
:root, :root[data-theme="dark"] {
  --hl-comment: #6f6f78;
  --hl-keyword: #f4f4f5;
  --hl-string: #c9c9cf;
  --hl-number: #d4d4d8;
  --hl-func: #ffffff;
  --hl-type: #e4e4e7;
  --hl-punct: #8a8a93;
  --hl-attr: #b4b4bb;
}
:root[data-theme="light"] {
  --hl-comment: #8a8a93;
  --hl-keyword: #0f0f10;
  --hl-string: #3f3f46;
  --hl-number: #27272a;
  --hl-func: #000000;
  --hl-type: #18181b;
  --hl-punct: #71717a;
  --hl-attr: #52525b;
}

.highlight .c, .highlight .c1, .highlight .cm, .highlight .cs, .highlight .cp { color: var(--hl-comment); font-style: italic; }
.highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .kc, .highlight .ow { color: var(--hl-keyword); font-weight: 700; }
.highlight .s, .highlight .s1, .highlight .s2, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .se, .highlight .sh, .highlight .si, .highlight .sx, .highlight .sr, .highlight .ss, .highlight .dl { color: var(--hl-string); }
.highlight .m, .highlight .mi, .highlight .mf, .highlight .mh, .highlight .mo, .highlight .il { color: var(--hl-number); }
.highlight .nf, .highlight .fm, .highlight .nb { color: var(--hl-func); font-weight: 600; }
.highlight .nc, .highlight .nn, .highlight .ne { color: var(--hl-type); font-weight: 600; }
.highlight .p, .highlight .o { color: var(--hl-punct); }
.highlight .na, .highlight .nt, .highlight .nv, .highlight .vi, .highlight .vg { color: var(--hl-attr); }
.highlight .gh, .highlight .gu { font-weight: 700; }
.highlight .gd { color: var(--hl-comment); }
.highlight .gi { color: var(--hl-func); }
.highlight .err { color: var(--text); }
