/* Custom syntax highlighting theme - Works with both light and dark modes */

/* Light theme base styles */
.highlight {
  background-color: #f6f8fa;
  border-radius: 6px;
  padding: 16px;
  overflow: auto;
  margin: 1rem 0;
  border: 1px solid #d1d5da;
}

.highlight pre {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  overflow: visible;
  word-wrap: normal;
}

.highlight .c     { color: #6a737d; font-style: italic } /* Comment */
.highlight .err   { color: #cb2431; background-color: #ffeef0 } /* Error */
.highlight .k     { color: #d73a49; font-weight: bold } /* Keyword */
.highlight .l     { color: #032f62 } /* Literal */
.highlight .n     { color: #24292e } /* Name */
.highlight .o     { color: #d73a49; font-weight: bold } /* Operator */
.highlight .p     { color: #24292e } /* Punctuation */
.highlight .cm    { color: #6a737d; font-style: italic } /* Comment.Multiline */
.highlight .cp    { color: #d73a49 } /* Comment.Preproc */
.highlight .c1    { color: #6a737d; font-style: italic } /* Comment.Single */
.highlight .cs    { color: #6a737d; font-style: italic } /* Comment.Special */
.highlight .gd    { color: #cb2431; background-color: #ffeef0 } /* Generic.Deleted */
.highlight .gd .x { color: #cb2431; background-color: #ffeef0 } /* Generic.Deleted.Specific */
.highlight .ge    { font-style: italic } /* Generic.Emph */
.highlight .gr    { color: #cb2431 } /* Generic.Error */
.highlight .gh    { color: #0550ae } /* Generic.Heading */
.highlight .gi    { color: #22863a; background-color: #f0fff4 } /* Generic.Inserted */
.highlight .gi .x { color: #22863a; background-color: #f0fff4 } /* Generic.Inserted.Specific */
.highlight .go    { color: #6a737d } /* Generic.Output */
.highlight .gp    { color: #6a737d } /* Generic.Prompt */
.highlight .gs    { font-weight: bold } /* Generic.Strong */
.highlight .gu    { color: #6f42c1 } /* Generic.Subheading */
.highlight .gt    { color: #cb2431 } /* Generic.Traceback */
.highlight .kc    { color: #d73a49; font-weight: bold } /* Keyword.Constant */
.highlight .kd    { color: #d73a49; font-weight: bold } /* Keyword.Declaration */
.highlight .kn    { color: #d73a49; font-weight: bold } /* Keyword.Namespace */
.highlight .kp    { color: #d73a49 } /* Keyword.Pseudo */
.highlight .kr    { color: #d73a49; font-weight: bold } /* Keyword.Reserved */
.highlight .kt    { color: #d73a49 } /* Keyword.Type */
.highlight .ld    { color: #032f62 } /* Literal.Date */
.highlight .m     { color: #005cc5 } /* Literal.Number */
.highlight .s     { color: #032f62 } /* Literal.String */
.highlight .na    { color: #6f42c1 } /* Name.Attribute */
.highlight .nb    { color: #005cc5 } /* Name.Builtin */
.highlight .nc    { color: #6f42c1 } /* Name.Class */
.highlight .no    { color: #005cc5 } /* Name.Constant */
.highlight .nd    { color: #6f42c1 } /* Name.Decorator */
.highlight .ni    { color: #005cc5 } /* Name.Entity */
.highlight .ne    { color: #cb2431 } /* Name.Exception */
.highlight .nf    { color: #6f42c1 } /* Name.Function */
.highlight .nl    { color: #005cc5 } /* Name.Label */
.highlight .nn    { color: #6f42c1 } /* Name.Namespace */
.highlight .nx    { color: #24292e } /* Name.Other */
.highlight .py    { color: #005cc5 } /* Name.Property */
.highlight .nt    { color: #22863a } /* Name.Tag */
.highlight .nv    { color: #005cc5 } /* Name.Variable */
.highlight .ow    { color: #d73a49; font-weight: bold } /* Operator.Word */
.highlight .w     { color: #6a737d } /* Text.Whitespace */
.highlight .mf    { color: #005cc5 } /* Literal.Number.Float */
.highlight .mh    { color: #005cc5 } /* Literal.Number.Hex */
.highlight .mi    { color: #005cc5 } /* Literal.Number.Integer */
.highlight .mo    { color: #005cc5 } /* Literal.Number.Oct */
.highlight .sb    { color: #032f62 } /* Literal.String.Backtick */
.highlight .sc    { color: #032f62 } /* Literal.String.Char */
.highlight .sd    { color: #6a737d; font-style: italic } /* Literal.String.Doc */
.highlight .s2    { color: #032f62 } /* Literal.String.Double */
.highlight .se    { color: #032f62 } /* Literal.String.Escape */
.highlight .sh    { color: #032f62 } /* Literal.String.Heredoc */
.highlight .si    { color: #005cc5 } /* Literal.String.Interpol */
.highlight .sx    { color: #22863a } /* Literal.String.Other */
.highlight .sr    { color: #22863a } /* Literal.String.Regex */
.highlight .s1    { color: #032f62 } /* Literal.String.Single */
.highlight .ss    { color: #005cc5 } /* Literal.String.Symbol */
.highlight .bp    { color: #005cc5 } /* Name.Builtin.Pseudo */
.highlight .vc    { color: #005cc5 } /* Name.Variable.Class */
.highlight .vg    { color: #005cc5 } /* Name.Variable.Global */
.highlight .vi    { color: #005cc5 } /* Name.Variable.Instance */
.highlight .il    { color: #005cc5 } /* Literal.Number.Integer.Long */

/* Dark theme overrides */
@media (prefers-color-scheme: dark) {
  .highlight {
    background-color: #161b22;
    border-color: #30363d;
  }

  .highlight .c     { color: #8b949e; font-style: italic } /* Comment */
  .highlight .err   { color: #f85149; background-color: #3d1515 } /* Error */
  .highlight .k     { color: #ff7b72; font-weight: bold } /* Keyword */
  .highlight .l     { color: #79c0ff } /* Literal */
  .highlight .n     { color: #e6edf3 } /* Name */
  .highlight .o     { color: #ff7b72; font-weight: bold } /* Operator */
  .highlight .p     { color: #e6edf3 } /* Punctuation */
  .highlight .cm    { color: #8b949e; font-style: italic } /* Comment.Multiline */
  .highlight .cp    { color: #ff7b72 } /* Comment.Preproc */
  .highlight .c1    { color: #8b949e; font-style: italic } /* Comment.Single */
  .highlight .cs    { color: #8b949e; font-style: italic } /* Comment.Special */
  .highlight .gd    { color: #f85149; background-color: #3d1515 } /* Generic.Deleted */
  .highlight .gd .x { color: #f85149; background-color: #3d1515 } /* Generic.Deleted.Specific */
  .highlight .ge    { font-style: italic } /* Generic.Emph */
  .highlight .gr    { color: #f85149 } /* Generic.Error */
  .highlight .gh    { color: #58a6ff } /* Generic.Heading */
  .highlight .gi    { color: #3fb950; background-color: #0d2818 } /* Generic.Inserted */
  .highlight .gi .x { color: #3fb950; background-color: #0d2818 } /* Generic.Inserted.Specific */
  .highlight .go    { color: #8b949e } /* Generic.Output */
  .highlight .gp    { color: #8b949e } /* Generic.Prompt */
  .highlight .gs    { font-weight: bold } /* Generic.Strong */
  .highlight .gu    { color: #d2a8ff } /* Generic.Subheading */
  .highlight .gt    { color: #f85149 } /* Generic.Traceback */
  .highlight .kc    { color: #ff7b72; font-weight: bold } /* Keyword.Constant */
  .highlight .kd    { color: #ff7b72; font-weight: bold } /* Keyword.Declaration */
  .highlight .kn    { color: #ff7b72; font-weight: bold } /* Keyword.Namespace */
  .highlight .kp    { color: #ff7b72 } /* Keyword.Pseudo */
  .highlight .kr    { color: #ff7b72; font-weight: bold } /* Keyword.Reserved */
  .highlight .kt    { color: #ff7b72 } /* Keyword.Type */
  .highlight .ld    { color: #79c0ff } /* Literal.Date */
  .highlight .m     { color: #79c0ff } /* Literal.Number */
  .highlight .s     { color: #a5d6ff } /* Literal.String */
  .highlight .na    { color: #d2a8ff } /* Name.Attribute */
  .highlight .nb    { color: #79c0ff } /* Name.Builtin */
  .highlight .nc    { color: #d2a8ff } /* Name.Class */
  .highlight .no    { color: #79c0ff } /* Name.Constant */
  .highlight .nd    { color: #d2a8ff } /* Name.Decorator */
  .highlight .ni    { color: #79c0ff } /* Name.Entity */
  .highlight .ne    { color: #f85149 } /* Name.Exception */
  .highlight .nf    { color: #d2a8ff } /* Name.Function */
  .highlight .nl    { color: #79c0ff } /* Name.Label */
  .highlight .nn    { color: #d2a8ff } /* Name.Namespace */
  .highlight .nx    { color: #e6edf3 } /* Name.Other */
  .highlight .py    { color: #79c0ff } /* Name.Property */
  .highlight .nt    { color: #7ee787 } /* Name.Tag */
  .highlight .nv    { color: #79c0ff } /* Name.Variable */
  .highlight .ow    { color: #ff7b72; font-weight: bold } /* Operator.Word */
  .highlight .w     { color: #8b949e } /* Text.Whitespace */
  .highlight .mf    { color: #79c0ff } /* Literal.Number.Float */
  .highlight .mh    { color: #79c0ff } /* Literal.Number.Hex */
  .highlight .mi    { color: #79c0ff } /* Literal.Number.Integer */
  .highlight .mo    { color: #79c0ff } /* Literal.Number.Oct */
  .highlight .sb    { color: #a5d6ff } /* Literal.String.Backtick */
  .highlight .sc    { color: #a5d6ff } /* Literal.String.Char */
  .highlight .sd    { color: #8b949e; font-style: italic } /* Literal.String.Doc */
  .highlight .s2    { color: #a5d6ff } /* Literal.String.Double */
  .highlight .se    { color: #a5d6ff } /* Literal.String.Escape */
  .highlight .sh    { color: #a5d6ff } /* Literal.String.Heredoc */
  .highlight .si    { color: #79c0ff } /* Literal.String.Interpol */
  .highlight .sx    { color: #7ee787 } /* Literal.String.Other */
  .highlight .sr    { color: #7ee787 } /* Literal.String.Regex */
  .highlight .s1    { color: #a5d6ff } /* Literal.String.Single */
  .highlight .ss    { color: #79c0ff } /* Literal.String.Symbol */
  .highlight .bp    { color: #79c0ff } /* Name.Builtin.Pseudo */
  .highlight .vc    { color: #79c0ff } /* Name.Variable.Class */
  .highlight .vg    { color: #79c0ff } /* Name.Variable.Global */
  .highlight .vi    { color: #79c0ff } /* Name.Variable.Instance */
  .highlight .il    { color: #79c0ff } /* Literal.Number.Integer.Long */
}