/* Light theme (default) */
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #999988; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #000000; font-weight: bold } /* Keyword */
.highlight .o { color: #000000; font-weight: bold } /* Operator */
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #999999; font-weight: bold; font-style: italic } /* Comment.Preproc */
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #999999 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #000000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #000000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #000000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #000000; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #000000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #009999 } /* Literal.Number */
.highlight .s { color: #d01040 } /* Literal.String */
.highlight .na { color: #008080 } /* Name.Attribute */
.highlight .nb { color: #0086B3 } /* Name.Builtin */
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
.highlight .no { color: #008080 } /* Name.Constant */
.highlight .nd { color: #3c5d5d; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #800080 } /* Name.Entity */
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
.highlight .nl { color: #990000; font-weight: bold } /* Name.Label */
.highlight .nn { color: #555555 } /* Name.Namespace */
.highlight .nt { color: #000080 } /* Name.Tag */
.highlight .nv { color: #008080 } /* Name.Variable */
.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #009999 } /* Literal.Number.Float */
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
.highlight .sb { color: #d01040 } /* Literal.String.Backtick */
.highlight .sc { color: #d01040 } /* Literal.String.Char */
.highlight .sd { color: #d01040 } /* Literal.String.Doc */
.highlight .s2 { color: #d01040 } /* Literal.String.Double */
.highlight .se { color: #d01040 } /* Literal.String.Escape */
.highlight .sh { color: #d01040 } /* Literal.String.Heredoc */
.highlight .si { color: #d01040 } /* Literal.String.Interpol */
.highlight .sx { color: #d01040 } /* Literal.String.Other */
.highlight .sr { color: #009926 } /* Literal.String.Regex */
.highlight .s1 { color: #d01040 } /* Literal.String.Single */
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #008080 } /* Name.Variable.Class */
.highlight .vg { color: #008080 } /* Name.Variable.Global */
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */

/* Dark theme styles - applied only when dark mode is active */
.dark-highlight code, .dark-highlight pre,
.js-dark-mode .highlight code, .js-dark-mode .highlight pre {
   color: #fdce93;
   background-color: transparent;
}

.dark-highlight .hll,
.js-dark-mode .highlight .hll {
   background-color: #222;
}

.dark-highlight .err,
.js-dark-mode .highlight .err {
   color: #e37170;
   background-color: #3d3535;
}

.dark-highlight .k,
.js-dark-mode .highlight .k {
   color: #f0dfaf;
}

.dark-highlight .c, .dark-highlight .g, .dark-highlight .cm, .dark-highlight .cp, .dark-highlight .c1,
.js-dark-mode .highlight .c, .js-dark-mode .highlight .g, .js-dark-mode .highlight .cm, .js-dark-mode .highlight .cp, .js-dark-mode .highlight .c1 {
   color: #7f9f7f;
}

.dark-highlight .l, .dark-highlight .x, .dark-highlight .no, .dark-highlight .nd, .dark-highlight .nl, .dark-highlight .nx, .dark-highlight .py, .dark-highlight .w,
.js-dark-mode .highlight .l, .js-dark-mode .highlight .x, .js-dark-mode .highlight .no, .js-dark-mode .highlight .nd, .js-dark-mode .highlight .nl, .js-dark-mode .highlight .nx, .js-dark-mode .highlight .py, .js-dark-mode .highlight .w {
   color: #ccc;
}

.dark-highlight .n, .dark-highlight .nv, .dark-highlight .vg,
.js-dark-mode .highlight .n, .js-dark-mode .highlight .nv, .js-dark-mode .highlight .vg {
   color: #dcdccc;
}

.dark-highlight .o, .dark-highlight .ow,
.js-dark-mode .highlight .o, .js-dark-mode .highlight .ow {
   color: #f0efd0;
}

.dark-highlight .s, .dark-highlight .sb, .dark-highlight .sc, .dark-highlight .sd, .dark-highlight .s2, .dark-highlight .se, .dark-highlight .sh, .dark-highlight .si, .dark-highlight .sx, .dark-highlight .sr, .dark-highlight .s1, .dark-highlight .ss,
.js-dark-mode .highlight .s, .js-dark-mode .highlight .sb, .js-dark-mode .highlight .sc, .js-dark-mode .highlight .sd, .js-dark-mode .highlight .s2, .js-dark-mode .highlight .se, .js-dark-mode .highlight .sh, .js-dark-mode .highlight .si, .js-dark-mode .highlight .sx, .js-dark-mode .highlight .sr, .js-dark-mode .highlight .s1, .js-dark-mode .highlight .ss {
   color: #cc9393;
}

.dark-highlight .na, .dark-highlight .nt,
.js-dark-mode .highlight .na, .js-dark-mode .highlight .nt {
   color: #9ac39f;
}

.dark-highlight .m, .dark-highlight .mf, .dark-highlight .mh, .dark-highlight .mi, .dark-highlight .mo, .dark-highlight .il,
.js-dark-mode .highlight .m, .js-dark-mode .highlight .mf, .js-dark-mode .highlight .mh, .js-dark-mode .highlight .mi, .js-dark-mode .highlight .mo, .js-dark-mode .highlight .il {
   color: #8cd0d3;
}

.dark-highlight .nb, .dark-highlight .nc, .dark-highlight .nf, .dark-highlight .bp, .dark-highlight .vc,
.js-dark-mode .highlight .nb, .js-dark-mode .highlight .nc, .js-dark-mode .highlight .nf, .js-dark-mode .highlight .bp, .js-dark-mode .highlight .vc {
   color: #efef8f;
}

/* Dark theme with media query as fallback */
@media (prefers-color-scheme: dark) {
   /* Only apply these styles if no .js-dark-mode class has been added by JavaScript */
   body:not(.js-dark-mode) .highlight code, 
   body:not(.js-dark-mode) .highlight pre {
      color: #fdce93;
      background-color: transparent;
   }

   body:not(.js-dark-mode) .highlight .hll {
      background-color: #222;
   }

   body:not(.js-dark-mode) .highlight .err {
      color: #e37170;
      background-color: #3d3535;
   }

   body:not(.js-dark-mode) .highlight .k {
      color: #f0dfaf;
   }

   body:not(.js-dark-mode) .highlight .p {
      color: #41706f;
   }

   body:not(.js-dark-mode) .highlight .cs {
      color: #cd0000;
      font-weight: 700;
   }

   body:not(.js-dark-mode) .highlight .gd {
      color: #cd0000;
   }

   body:not(.js-dark-mode) .highlight .ge {
      color: #ccc;
      font-style: italic;
   }

   body:not(.js-dark-mode) .highlight .gr {
      color: red;
   }

   body:not(.js-dark-mode) .highlight .go {
      color: gray;
   }

   body:not(.js-dark-mode) .highlight .gs {
      color: #ccc;
      font-weight: 700;
   }

   body:not(.js-dark-mode) .highlight .gu {
      color: purple;
      font-weight: 700;
   }

   body:not(.js-dark-mode) .highlight .gt {
      color: #0040D0;
   }

   body:not(.js-dark-mode) .highlight .kc {
      color: #dca3a3;
   }

   body:not(.js-dark-mode) .highlight .kd {
      color: #ffff86;
   }

   body:not(.js-dark-mode) .highlight .kn {
      color: #dfaf8f;
      font-weight: 700;
   }

   body:not(.js-dark-mode) .highlight .kp {
      color: #cdcf99;
   }

   body:not(.js-dark-mode) .highlight .kr {
      color: #cdcd00;
   }

   body:not(.js-dark-mode) .highlight .ni {
      color: #c28182;
   }

   body:not(.js-dark-mode) .highlight .ne {
      color: #c3bf9f;
      font-weight: 700;
   }

   body:not(.js-dark-mode) .highlight .nn {
      color: #8fbede;
   }

   body:not(.js-dark-mode) .highlight .vi {
      color: #ffffc7;
   }

   body:not(.js-dark-mode) .highlight .c, 
   body:not(.js-dark-mode) .highlight .g, 
   body:not(.js-dark-mode) .highlight .cm, 
   body:not(.js-dark-mode) .highlight .cp, 
   body:not(.js-dark-mode) .highlight .c1 {
      color: #7f9f7f;
   }

   body:not(.js-dark-mode) .highlight .l, 
   body:not(.js-dark-mode) .highlight .x, 
   body:not(.js-dark-mode) .highlight .no, 
   body:not(.js-dark-mode) .highlight .nd, 
   body:not(.js-dark-mode) .highlight .nl, 
   body:not(.js-dark-mode) .highlight .nx, 
   body:not(.js-dark-mode) .highlight .py, 
   body:not(.js-dark-mode) .highlight .w {
      color: #ccc;
   }

   body:not(.js-dark-mode) .highlight .n, 
   body:not(.js-dark-mode) .highlight .nv, 
   body:not(.js-dark-mode) .highlight .vg {
      color: #dcdccc;
   }

   body:not(.js-dark-mode) .highlight .o, 
   body:not(.js-dark-mode) .highlight .ow {
      color: #f0efd0;
   }

   body:not(.js-dark-mode) .highlight .gh, 
   body:not(.js-dark-mode) .highlight .gp {
      color: #dcdccc;
      font-weight: 700;
   }

   body:not(.js-dark-mode) .highlight .gi, 
   body:not(.js-dark-mode) .highlight .kt {
      color: #00cd00;
   }

   body:not(.js-dark-mode) .highlight .ld, 
   body:not(.js-dark-mode) .highlight .s, 
   body:not(.js-dark-mode) .highlight .sb, 
   body:not(.js-dark-mode) .highlight .sc, 
   body:not(.js-dark-mode) .highlight .sd, 
   body:not(.js-dark-mode) .highlight .s2, 
   body:not(.js-dark-mode) .highlight .se, 
   body:not(.js-dark-mode) .highlight .sh, 
   body:not(.js-dark-mode) .highlight .si, 
   body:not(.js-dark-mode) .highlight .sx, 
   body:not(.js-dark-mode) .highlight .sr, 
   body:not(.js-dark-mode) .highlight .s1, 
   body:not(.js-dark-mode) .highlight .ss {
      color: #cc9393;
   }

   body:not(.js-dark-mode) .highlight .m, 
   body:not(.js-dark-mode) .highlight .mf, 
   body:not(.js-dark-mode) .highlight .mh, 
   body:not(.js-dark-mode) .highlight .mi, 
   body:not(.js-dark-mode) .highlight .mo, 
   body:not(.js-dark-mode) .highlight .il {
      color: #8cd0d3;
   }

   body:not(.js-dark-mode) .highlight .na, 
   body:not(.js-dark-mode) .highlight .nt {
      color: #9ac39f;
   }

   body:not(.js-dark-mode) .highlight .nb, 
   body:not(.js-dark-mode) .highlight .nc, 
   body:not(.js-dark-mode) .highlight .nf, 
   body:not(.js-dark-mode) .highlight .bp, 
   body:not(.js-dark-mode) .highlight .vc {
      color: #efef8f;
   }
}
