:root {
  --syntax-bg: #272822;
  --syntax-fg: #f8f8f2;
  --syntax-err-fg: #272822;
  --syntax-err-bg: #f92672;
  --syntax-comment: #75715e;
  --syntax-name: #f4bf75;
  --syntax-keyword: #ae81ff;
  --syntax-number: #fd971f;
  --syntax-string: #a6e22e;
  --syntax-operator: #f8f8f2;
  --syntax-accent: #66d9ef;
  --syntax-regex: #a1efe4;
  --syntax-interp: #cc6633;
}

@media (prefers-color-scheme: dark) {
  :root {
    --syntax-bg: #1b222b;
    --syntax-fg: #dce3eb;
    --syntax-err-fg: #f9fbff;
    --syntax-err-bg: #8f3f5e;
    --syntax-comment: #8a93a3;
    --syntax-name: #e7c078;
    --syntax-keyword: #b79cff;
    --syntax-number: #f0a96b;
    --syntax-string: #9dd38c;
    --syntax-operator: #dce3eb;
    --syntax-accent: #8fc3ff;
    --syntax-regex: #8fd8cf;
    --syntax-interp: #d79c74;
  }
}

.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }
.highlight, .highlight .w {
  color: var(--syntax-fg);
  background-color: var(--syntax-bg);
}
.highlight .err {
  color: var(--syntax-err-fg);
  background-color: var(--syntax-err-bg);
}
.highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cpf, .highlight .c1, .highlight .cs {
  color: var(--syntax-comment);
}
.highlight .cp {
  color: var(--syntax-name);
}
.highlight .nt {
  color: var(--syntax-name);
}
.highlight .o, .highlight .ow {
  color: var(--syntax-operator);
}
.highlight .p, .highlight .pi {
  color: var(--syntax-operator);
}
.highlight .gi {
  color: var(--syntax-string);
}
.highlight .gd {
  color: var(--syntax-err-bg);
}
.highlight .gh {
  color: var(--syntax-accent);
  background-color: var(--syntax-bg);
  font-weight: bold;
}
.highlight .ge {
  font-style: italic;
}
.highlight .ges {
  font-weight: bold;
  font-style: italic;
}
.highlight .gs {
  font-weight: bold;
}
.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv {
  color: var(--syntax-keyword);
}
.highlight .kc {
  color: var(--syntax-number);
}
.highlight .kt {
  color: var(--syntax-number);
}
.highlight .kd {
  color: var(--syntax-number);
}
.highlight .s, .highlight .sb, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 {
  color: var(--syntax-string);
}
.highlight .sa {
  color: var(--syntax-keyword);
}
.highlight .sr {
  color: var(--syntax-regex);
}
.highlight .si {
  color: var(--syntax-interp);
}
.highlight .se {
  color: var(--syntax-interp);
}
.highlight .nn {
  color: var(--syntax-name);
}
.highlight .nc {
  color: var(--syntax-name);
}
.highlight .no {
  color: var(--syntax-name);
}
.highlight .na {
  color: var(--syntax-accent);
}
.highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
  color: var(--syntax-number);
}
.highlight .ss {
  color: var(--syntax-string);
}
