.highlight {
  color: #24292f;

  table td { padding: 5px; }
  table pre { margin: 0; }

  .w { color: #24292f; }
  .k, .kd, .kn, .kp, .kr, .kt, .kv { color: #cf222e; }
  .gr { color: #f6f8fa; }
  .gd { color: #82071e; }
  .nb, .nc, .no, .nn { color: #953800; }
  .sr, .na, .nt, .gi { color: #116329; }
  .ges { font-weight: bold; font-style: italic; }
  .kc { color: #0550ae; }
  .l, .ld, .m, .mb, .mf, .mh, .mi, .il, .mo, .mx { color: #0550ae; }
  .sb, .bp, .ne, .nl, .py { color: #0550ae; }
  .nv, .vc, .vg, .vi, .vm { color: #0550ae; }
  .o, .ow { color: #0550ae; }
  .gh, .gu { color: #0550ae; font-weight: bold; }
  .s, .sa, .sc, .dl, .sd, .s2, .se, .sh, .sx, .s1, .ss { color: #0a3069; }
  .nd { color: #8250df; }
  .nf, .fm { color: #8250df; }
  .err { color: #f6f8fa; }
  .c, .ch, .cd, .cm, .cp, .cpf, .c1, .cs { color: #6e7781; }
  .gl, .gt { color: #6e7781; }
  .ni, .si { color: #24292f; }
  .ge { color: #24292f; font-style: italic; }
  .gs { color: #24292f; font-weight: bold; }

  @media (prefers-color-scheme: dark) {
    & { color: #f8f8f2; }

    .c, .ch, .cd, .cpf { color: #75715e; font-style: italic; }
    .cm { color: #75715e; font-style: italic; }
    .c1 { color: #75715e; font-style: italic; }
    .cp { color: #75715e; font-weight: bold; }
    .cs { color: #75715e; font-weight: bold; font-style: italic; }
    .err { color: #960050; }
    .gi { color: #ffffff; }
    .gd { color: #ffffff; }
    .ge { font-style: italic; }
    .ges { font-weight: bold; font-style: italic; }
    .gr, .gt { color: #aa0000; }
    .gh { color: #999999; } 
    .go { color: #888888; }
    .gp { color: #555555; }
    .gs { font-weight: bold; }
    .gu { color: #aaaaaa; }
    .k, .kv, .kc, .kd, .kp, .kr, .kt { color: #66d9ef; font-weight: bold; }
    .kn { color: #f92672; font-weight: bold; }
    .ow, .o { color: #f92672; font-weight: bold; }
    .mf, .mh, .il, .mi, .mo, .se { color: #ae81ff; }
    .m, .mb, .mx { color: #ae81ff; }
    .sa { color: #66d9ef; font-weight: bold; }
    .sb, .sc, .sd, .s2, .sh, .si, .sx, .sr, .s1, .ss { color: #e6db74; }
    .s, .dl { color: #e6db74; }
    .na { color: #a6e22e; }
    .nc, .nd, .ne { color: #a6e22e; font-weight: bold; }
    .nf, .fm { color: #a6e22e; font-weight: bold; }
    .no { color: #66d9ef; }
    .bp, .nb, .ni, .nn, .vc, .vg, .vi { color: #f8f8f2; }
    .nv, .vm, .w { color: #f8f8f2; }
    .nl { color: #f8f8f2; font-weight: bold; }
    .nt { color: #f92672; }
  }
}
