/* Rouge syntax highlighting, tuned for style.css's light/dark palette */

:root {
  --syn-comment: #6b7280;
  --syn-error: #c0362c;
  --syn-keyword: #9c1c4b;
  --syn-name: var(--fg);
  --syn-string: #0f6b52;
  --syn-number: #1156a6;
  --syn-function: #6f42c1;
  --syn-tag: #116329;
  --syn-attribute: #1156a6;
  --syn-variable: #a35a00;
  --syn-output: var(--muted);
}

@media (prefers-color-scheme: dark) {
  :root {
    --syn-comment: #8b939b;
    --syn-error: #f47067;
    --syn-keyword: #ff7edb;
    --syn-string: #4fd1a5;
    --syn-number: #6cb6ff;
    --syn-function: #b392f0;
    --syn-tag: #7ee787;
    --syn-attribute: #6cb6ff;
    --syn-variable: #ffab70;
  }
}

.highlight .c,
.highlight .cm,
.highlight .c1,
.highlight .cs,
.highlight .cp {
  color: var(--syn-comment);
  font-style: italic;
}
.highlight .err {
  color: var(--syn-error);
}
.highlight .k,
.highlight .kc,
.highlight .kd,
.highlight .kn,
.highlight .kp,
.highlight .kr,
.highlight .kt,
.highlight .o,
.highlight .ow {
  color: var(--syn-keyword);
}
.highlight .n,
.highlight .nx,
.highlight .py,
.highlight .p {
  color: var(--syn-name);
}
.highlight .s,
.highlight .sb,
.highlight .sc,
.highlight .sd,
.highlight .s1,
.highlight .s2,
.highlight .se,
.highlight .sh,
.highlight .si,
.highlight .sx,
.highlight .sr,
.highlight .ss {
  color: var(--syn-string);
}
.highlight .m,
.highlight .mf,
.highlight .mh,
.highlight .mi,
.highlight .mo,
.highlight .il {
  color: var(--syn-number);
}
.highlight .nf,
.highlight .nc,
.highlight .nd,
.highlight .ne {
  color: var(--syn-function);
}
.highlight .nt {
  color: var(--syn-tag);
}
.highlight .na {
  color: var(--syn-attribute);
}
.highlight .nb,
.highlight .bp,
.highlight .nv,
.highlight .vc,
.highlight .vg,
.highlight .vi {
  color: var(--syn-variable);
}
.highlight .go {
  color: var(--syn-output);
}
.highlight .gh,
.highlight .gu {
  font-weight: bold;
}
