:root {
  --code-keyword: #8f2bb3;
  --code-function: #0a5fb4;
  --code-string: #1a6e3c;
  --code-comment: #5f6670;
  --code-variable: #a4470b;
  --code-number: #8a5a00;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --code-keyword: #d7a1f0;
    --code-function: #84bdf5;
    --code-string: #8bd6a6;
    --code-comment: #98a0a9;
    --code-variable: #f2b184;
    --code-number: #e8c872;
  }
}

:root[data-theme="dark"] {
  --code-keyword: #d7a1f0;
  --code-function: #84bdf5;
  --code-string: #8bd6a6;
  --code-comment: #98a0a9;
  --code-variable: #f2b184;
  --code-number: #e8c872;
}

pre code .k, pre code .kc, pre code .kd, pre code .kn, pre code .kp, pre code .kr, pre code .kt, pre code .ow {
  color: var(--code-keyword);
}

pre code .nb, pre code .nc, pre code .nf, pre code .nt, pre code .nd {
  color: var(--code-function);
}

pre code .s, pre code .s1, pre code .s2, pre code .sb, pre code .sd, pre code .se, pre code .sh, pre code .si, pre code .sx {
  color: var(--code-string);
}

pre code .c, pre code .c1, pre code .ch, pre code .cm, pre code .cp, pre code .cs {
  color: var(--code-comment);
  font-style: italic;
}

pre code .nv, pre code .vc, pre code .vg, pre code .vi, pre code .na {
  color: var(--code-variable);
}

pre code .m, pre code .mf, pre code .mh, pre code .mi, pre code .mo, pre code .il {
  color: var(--code-number);
}
