.highlight {

  color: var(--color-grey);

  .hll { background-color: #ffffcc; }
  .c   { color: #408080; font-style: italic; } /* Comment */
  .err { } /* Error */
  .k   { color: #008000; } /* Keyword */
  .o   { color: #646e78; } /* Operator */
  .cm  { color: #408080; font-style: italic; } /* Comment.Multiline */
  .cp  { color: #BC7A00; } /* Comment.Preproc */
  .c1  { color: #408080; font-style: italic; } /* Comment.Single */
  .cs  { color: #408080; font-style: italic; } /* Comment.Special */
  .gd  { color: #A00000; } /* Generic.Deleted */
  .ge  { font-style: italic; } /* Generic.Emph */
  .gr  { color: #FF0000; } /* Generic.Error */
  .gh  { color: #2828aa; } /* Generic.Heading */
  .gi  { color: #00A000; } /* Generic.Inserted */
  .go  { color: #828c96; } /* Generic.Output */
  .gp  { color: #2828aa; } /* Generic.Prompt */
  .gs  { font-weight: 700; } /* Generic.Strong */
  .gu  { color: #800080; } /* Generic.Subheading */
  .gt  { color: #0040D0; } /* Generic.Traceback */
  .kc  { color: #008000; } /* Keyword.Constant */
  .kd  { color: #008000; } /* Keyword.Declaration */
  .kn  { color: #008000; } /* Keyword.Namespace */
  .kp  { color: #008000; } /* Keyword.Pseudo */
  .kr  { color: #008000; } /* Keyword.Reserved */
  .kt  { color: #B00040; } /* Keyword.Type */
  .m   { color: #646e78; } /* Literal.Number */
  .s   { color: #BA2121; } /* Literal.String */
  .na  { color: #7D9029; } /* Name.Attribute */
  .nb  { color: #008000; } /* Name.Builtin */
  .nc  { color: #0000FF; } /* Name.Class */
  .no  { color: #880000; } /* Name.Constant */
  .nd  { color: #AA22FF; } /* Name.Decorator */
  .ni  { color: #96a0aa; } /* Name.Entity */
  .ne  { color: #D2413A; } /* Name.Exception */
  .nf  { color: #0000FF; } /* Name.Function */
  .nl  { color: #A0A000; } /* Name.Label */
  .nn  { color: #0000FF; } /* Name.Namespace */
  .nt  { color: #008000; } /* Name.Tag */
  .nv  { color: #37359a; } /* Name.Variable */
  .ow  { color: #AA22FF; } /* Operator.Word */
  .w   { color: #bec8d2; } /* Text.Whitespace */
  .mf  { color: #646e78; } /* Literal.Number.Float */
  .mh  { color: #646e78; } /* Literal.Number.Hex */
  .mi  { color: #646e78; } /* Literal.Number.Integer */
  .mo  { color: #646e78; } /* Literal.Number.Oct */
  .sb  { color: #BA2121; } /* Literal.String.Backtick */
  .sc  { color: #BA2121; } /* Literal.String.Char */
  .sd  { color: #BA2121; font-style: italic; } /* Literal.String.Doc */
  .s2  { color: #BA2121; } /* Literal.String.Double */
  .se  { color: #BB6622; } /* Literal.String.Escape */
  .sh  { color: #BA2121; } /* Literal.String.Heredoc */
  .si  { color: #BB6688; } /* Literal.String.Interpol */
  .sx  { color: #008000; } /* Literal.String.Other */
  .sr  { color: #BB6688; } /* Literal.String.Regex */
  .s1  { color: #BA2121; } /* Literal.String.Single */
  .ss  { color: #37359a; } /* Literal.String.Symbol */
  .bp  { color: #008000; } /* Name.Builtin.Pseudo */
  .vc  { color: #37359a; } /* Name.Variable.Class */
  .vg  { color: #37359a; } /* Name.Variable.Global */
  .vi  { color: #37359a; } /* Name.Variable.Instance */
  .il  { color: #646e78; } /* Literal.Number.Integer.Long */

}

@media(prefers-color-scheme: dark) {

  .highlight {

    background-color: #122b3b;

    .gl { color: #dee5e7; background-color: #4e5d62; }
    .gp { color: #a8e1fe; }
    .c, .cd, .cm, .c1, .cs { color: #6c8b9f; font-style: italic; }
    .cp { color: #b2fd6d; font-style: italic; }
    .err { color: #fefeec; background-color: #c00; }
    .gr { color: #c00; font-style: italic; }
    .k, .kd, .kv { color: #f6dd62; }
    .o, .ow { color: #4df4ff; }
    .p, .pi { color: #4df4ff; }
    .gd { color: #c00; }
    .gi { color: #b2fd6d; }
    .ge { font-style: italic; }
    .gt { color: #dee5e7; background-color: #4e5d62; }
    .kc { color: #f696db; }
    .kn { color: #ffb000; }
    .kp { color: #ffb000; }
    .kr { color: #ffb000; }
    .gh { color: #ffb000; }
    .gu { color: #ffb000; }
    .kt { color: #b2fd6d; }
    .no { color: #b2fd6d; }
    .nc { color: #b2fd6d; }
    .nd { color: #b2fd6d; }
    .nn { color: #b2fd6d; }
    .bp { color: #b2fd6d; }
    .ne { color: #b2fd6d; }
    .nl { color: #ffb000; }
    .nt { color: #ffb000; }
    .m, .mf, .mh, .mi, .il, .mo, .mb, .mx { color: #f696db; }
    .ld { color: #f696db; }
    .ss { color: #f696db; }
    .s, .sb, .sd, .s2, .sh, .sx, .sr, .s1 { color: #fff0a6; }
    .se { color: #4df4ff; }
    .sc { color: #4df4ff; }
    .si { color: #4df4ff; }
    .nb {font-weight: bold; }
    .ni { color: #999; }
    .w { color: #bbb; }
    .go { color: #bbb; }
    .nf { color: #a8e1fe; }
    .py { color: #a8e1fe; }
    .na { color: #a8e1fe; }
    .nv, .vc, .vg, .vi { color: #a8e1fe; }

  }

}
