/* ============================================================================
   custom_pygments.css — syntax-highlight styles for exported code cells.

   Token colors are the variable-based scheme nbconvert's lab template uses
   (--jp-mirror-editor-* colors), measured from the site's earlier
   lab-template exports — so `import` lines and every other token render
   with exactly the same colors as those pages. The variables are defined
   here (light-theme values), so this file is standalone: it does not
   depend on any other stylesheet defining them.

   This file is a plain shipped file — edit freely; nothing in the package
   overwrites it. (custom.css in this folder is reserved for your rules.)
   ========================================================================== */

:root {
  --jp-cell-editor-active-background: #ffffff;
  --jp-cell-editor-background: #f5f5f5;
  --jp-mirror-editor-comment-color: #408080;
  --jp-mirror-editor-error-color: #f00;
  --jp-mirror-editor-keyword-color: #008000;
  --jp-mirror-editor-number-color: #080;
  --jp-mirror-editor-operator-color: #a2f;
  --jp-mirror-editor-punctuation-color: #05a;
  --jp-mirror-editor-string-color: #ba2121;
  --jp-mirror-editor-variable-color: #212121;
}


    /* the lab's code line-height (--jp-code-line-height); pygments' generated
       125% is a leftover of the static scheme and renders code lines at
       16.25px instead of the reference's 17px. */
    pre { line-height: 1.3077; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: var(--jp-cell-editor-active-background) }
.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) }
.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */
.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */
.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */
.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */
.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */
.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */
.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */
.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */
.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */
.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */
.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */
.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */
.highlight .pm { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation.Marker */
.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */
.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */
.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */
.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */
.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */
.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */
.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */
.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */
.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */
.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */
.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */
.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */
.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */
.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */
.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */
.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */
.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */
.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */
.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */
.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */

/* --------------------------------------------------------------------------
   Darkmode (P-003 R6): the same variable scheme re-tuned for dark ground.
   One dark-tuned set for both states — manual (<html data-theme="dark">)
   and auto (@media prefers-color-scheme with no light override carry the
   SAME declarations; the model is documented in custom_base.css). The
   .highlight rules above resolve the variables live, so redefining them
   here is the whole change: comment/keyword/number/string/punctuation/
   error lightened for dark ground, operator keeps #a2f (already dark-
   legible), variable text becomes near-white, the editor boxes go dark.
   The pale-yellow linenos "special" chip stays as-is — black on pale
   yellow reads on dark ground too. */
html[data-theme="dark"] {
  --jp-cell-editor-active-background: #2d2d2d;
  --jp-cell-editor-background: #252526;
  --jp-mirror-editor-comment-color: #6aa8a8;
  --jp-mirror-editor-error-color: #ff5c5c;
  --jp-mirror-editor-keyword-color: #66bb66;
  --jp-mirror-editor-number-color: #4dc24d;
  --jp-mirror-editor-operator-color: #a2f;
  --jp-mirror-editor-punctuation-color: #6aa5ff;
  --jp-mirror-editor-string-color: #ff8a80;
  --jp-mirror-editor-variable-color: #e8e8e8;
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) {
    --jp-cell-editor-active-background: #2d2d2d;
    --jp-cell-editor-background: #252526;
    --jp-mirror-editor-comment-color: #6aa8a8;
    --jp-mirror-editor-error-color: #ff5c5c;
    --jp-mirror-editor-keyword-color: #66bb66;
    --jp-mirror-editor-number-color: #4dc24d;
    --jp-mirror-editor-operator-color: #a2f;
    --jp-mirror-editor-punctuation-color: #6aa5ff;
    --jp-mirror-editor-string-color: #ff8a80;
    --jp-mirror-editor-variable-color: #e8e8e8;
  }
}
  