/* Généré par tools/build_code_css.py — ne pas éditer à la main.
   Sombre : nord-darker · Clair : tango */

/* --- Thème sombre (défaut) --- */
:root .highlight .hll { background-color: #3B4252 }
:root .highlight { color: #D8DEE9 }
:root .highlight .c { color: #616E87; font-style: italic } /* Comment */
:root .highlight .err { color: #BF616A } /* Error */
:root .highlight .esc { color: #D8DEE9 } /* Escape */
:root .highlight .g { color: #D8DEE9 } /* Generic */
:root .highlight .k { color: #81A1C1; font-weight: bold } /* Keyword */
:root .highlight .l { color: #D8DEE9 } /* Literal */
:root .highlight .n { color: #D8DEE9 } /* Name */
:root .highlight .o { color: #81A1C1; font-weight: bold } /* Operator */
:root .highlight .x { color: #D8DEE9 } /* Other */
:root .highlight .p { color: #ECEFF4 } /* Punctuation */
:root .highlight .ch { color: #616E87; font-style: italic } /* Comment.Hashbang */
:root .highlight .cm { color: #616E87; font-style: italic } /* Comment.Multiline */
:root .highlight .cp { color: #5E81AC; font-style: italic } /* Comment.Preproc */
:root .highlight .cpf { color: #616E87; font-style: italic } /* Comment.PreprocFile */
:root .highlight .c1 { color: #616E87; font-style: italic } /* Comment.Single */
:root .highlight .cs { color: #616E87; font-style: italic } /* Comment.Special */
:root .highlight .gd { color: #BF616A } /* Generic.Deleted */
:root .highlight .ge { color: #D8DEE9; font-style: italic } /* Generic.Emph */
:root .highlight .ges { color: #D8DEE9 } /* Generic.EmphStrong */
:root .highlight .gr { color: #BF616A } /* Generic.Error */
:root .highlight .gh { color: #88C0D0; font-weight: bold } /* Generic.Heading */
:root .highlight .gi { color: #A3BE8C } /* Generic.Inserted */
:root .highlight .go { color: #D8DEE9 } /* Generic.Output */
:root .highlight .gp { color: #616E88; font-weight: bold } /* Generic.Prompt */
:root .highlight .gs { color: #D8DEE9; font-weight: bold } /* Generic.Strong */
:root .highlight .gu { color: #88C0D0; font-weight: bold } /* Generic.Subheading */
:root .highlight .gt { color: #BF616A } /* Generic.Traceback */
:root .highlight .kc { color: #81A1C1; font-weight: bold } /* Keyword.Constant */
:root .highlight .kd { color: #81A1C1; font-weight: bold } /* Keyword.Declaration */
:root .highlight .kn { color: #81A1C1; font-weight: bold } /* Keyword.Namespace */
:root .highlight .kp { color: #81A1C1 } /* Keyword.Pseudo */
:root .highlight .kr { color: #81A1C1; font-weight: bold } /* Keyword.Reserved */
:root .highlight .kt { color: #81A1C1 } /* Keyword.Type */
:root .highlight .ld { color: #D8DEE9 } /* Literal.Date */
:root .highlight .m { color: #B48EAD } /* Literal.Number */
:root .highlight .s { color: #A3BE8C } /* Literal.String */
:root .highlight .na { color: #8FBCBB } /* Name.Attribute */
:root .highlight .nb { color: #81A1C1 } /* Name.Builtin */
:root .highlight .nc { color: #8FBCBB } /* Name.Class */
:root .highlight .no { color: #8FBCBB } /* Name.Constant */
:root .highlight .nd { color: #D08770 } /* Name.Decorator */
:root .highlight .ni { color: #D08770 } /* Name.Entity */
:root .highlight .ne { color: #BF616A } /* Name.Exception */
:root .highlight .nf { color: #88C0D0 } /* Name.Function */
:root .highlight .nl { color: #D8DEE9 } /* Name.Label */
:root .highlight .nn { color: #8FBCBB } /* Name.Namespace */
:root .highlight .nx { color: #D8DEE9 } /* Name.Other */
:root .highlight .py { color: #D8DEE9 } /* Name.Property */
:root .highlight .nt { color: #81A1C1 } /* Name.Tag */
:root .highlight .nv { color: #D8DEE9 } /* Name.Variable */
:root .highlight .ow { color: #81A1C1; font-weight: bold } /* Operator.Word */
:root .highlight .pm { color: #ECEFF4 } /* Punctuation.Marker */
:root .highlight .w { color: #D8DEE9 } /* Text.Whitespace */
:root .highlight .mb { color: #B48EAD } /* Literal.Number.Bin */
:root .highlight .mf { color: #B48EAD } /* Literal.Number.Float */
:root .highlight .mh { color: #B48EAD } /* Literal.Number.Hex */
:root .highlight .mi { color: #B48EAD } /* Literal.Number.Integer */
:root .highlight .mo { color: #B48EAD } /* Literal.Number.Oct */
:root .highlight .sa { color: #A3BE8C } /* Literal.String.Affix */
:root .highlight .sb { color: #A3BE8C } /* Literal.String.Backtick */
:root .highlight .sc { color: #A3BE8C } /* Literal.String.Char */
:root .highlight .dl { color: #A3BE8C } /* Literal.String.Delimiter */
:root .highlight .sd { color: #616E87 } /* Literal.String.Doc */
:root .highlight .s2 { color: #A3BE8C } /* Literal.String.Double */
:root .highlight .se { color: #EBCB8B } /* Literal.String.Escape */
:root .highlight .sh { color: #A3BE8C } /* Literal.String.Heredoc */
:root .highlight .si { color: #A3BE8C } /* Literal.String.Interpol */
:root .highlight .sx { color: #A3BE8C } /* Literal.String.Other */
:root .highlight .sr { color: #EBCB8B } /* Literal.String.Regex */
:root .highlight .s1 { color: #A3BE8C } /* Literal.String.Single */
:root .highlight .ss { color: #A3BE8C } /* Literal.String.Symbol */
:root .highlight .bp { color: #81A1C1 } /* Name.Builtin.Pseudo */
:root .highlight .fm { color: #88C0D0 } /* Name.Function.Magic */
:root .highlight .vc { color: #D8DEE9 } /* Name.Variable.Class */
:root .highlight .vg { color: #D8DEE9 } /* Name.Variable.Global */
:root .highlight .vi { color: #D8DEE9 } /* Name.Variable.Instance */
:root .highlight .vm { color: #D8DEE9 } /* Name.Variable.Magic */
:root .highlight .il { color: #B48EAD } /* Literal.Number.Integer.Long */

/* --- Thème clair : préférence système, sauf bascule explicite --- */
@media (prefers-color-scheme: light) {
:root:where(:not([data-theme="dark"])) .highlight .hll { background-color: #ffffcc }
:root:where(:not([data-theme="dark"])) .highlight { }
:root:where(:not([data-theme="dark"])) .highlight .c { color: #8F5902; font-style: italic } /* Comment */
:root:where(:not([data-theme="dark"])) .highlight .err { color: #A40000; border: 1px solid #EF2929 } /* Error */
:root:where(:not([data-theme="dark"])) .highlight .g { color: #000 } /* Generic */
:root:where(:not([data-theme="dark"])) .highlight .k { color: #204A87; font-weight: bold } /* Keyword */
:root:where(:not([data-theme="dark"])) .highlight .l { color: #000 } /* Literal */
:root:where(:not([data-theme="dark"])) .highlight .n { color: #000 } /* Name */
:root:where(:not([data-theme="dark"])) .highlight .o { color: #CE5C00; font-weight: bold } /* Operator */
:root:where(:not([data-theme="dark"])) .highlight .x { color: #000 } /* Other */
:root:where(:not([data-theme="dark"])) .highlight .p { color: #000; font-weight: bold } /* Punctuation */
:root:where(:not([data-theme="dark"])) .highlight .ch { color: #8F5902; font-style: italic } /* Comment.Hashbang */
:root:where(:not([data-theme="dark"])) .highlight .cm { color: #8F5902; font-style: italic } /* Comment.Multiline */
:root:where(:not([data-theme="dark"])) .highlight .cp { color: #8F5902; font-style: italic } /* Comment.Preproc */
:root:where(:not([data-theme="dark"])) .highlight .cpf { color: #8F5902; font-style: italic } /* Comment.PreprocFile */
:root:where(:not([data-theme="dark"])) .highlight .c1 { color: #8F5902; font-style: italic } /* Comment.Single */
:root:where(:not([data-theme="dark"])) .highlight .cs { color: #8F5902; font-style: italic } /* Comment.Special */
:root:where(:not([data-theme="dark"])) .highlight .gd { color: #A40000 } /* Generic.Deleted */
:root:where(:not([data-theme="dark"])) .highlight .ge { color: #000; font-style: italic } /* Generic.Emph */
:root:where(:not([data-theme="dark"])) .highlight .ges { color: #000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
:root:where(:not([data-theme="dark"])) .highlight .gr { color: #EF2929 } /* Generic.Error */
:root:where(:not([data-theme="dark"])) .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
:root:where(:not([data-theme="dark"])) .highlight .gi { color: #00A000 } /* Generic.Inserted */
:root:where(:not([data-theme="dark"])) .highlight .go { color: #000; font-style: italic } /* Generic.Output */
:root:where(:not([data-theme="dark"])) .highlight .gp { color: #8F5902 } /* Generic.Prompt */
:root:where(:not([data-theme="dark"])) .highlight .gs { color: #000; font-weight: bold } /* Generic.Strong */
:root:where(:not([data-theme="dark"])) .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
:root:where(:not([data-theme="dark"])) .highlight .gt { color: #A40000; font-weight: bold } /* Generic.Traceback */
:root:where(:not([data-theme="dark"])) .highlight .kc { color: #204A87; font-weight: bold } /* Keyword.Constant */
:root:where(:not([data-theme="dark"])) .highlight .kd { color: #204A87; font-weight: bold } /* Keyword.Declaration */
:root:where(:not([data-theme="dark"])) .highlight .kn { color: #204A87; font-weight: bold } /* Keyword.Namespace */
:root:where(:not([data-theme="dark"])) .highlight .kp { color: #204A87; font-weight: bold } /* Keyword.Pseudo */
:root:where(:not([data-theme="dark"])) .highlight .kr { color: #204A87; font-weight: bold } /* Keyword.Reserved */
:root:where(:not([data-theme="dark"])) .highlight .kt { color: #204A87; font-weight: bold } /* Keyword.Type */
:root:where(:not([data-theme="dark"])) .highlight .ld { color: #000 } /* Literal.Date */
:root:where(:not([data-theme="dark"])) .highlight .m { color: #0000CF; font-weight: bold } /* Literal.Number */
:root:where(:not([data-theme="dark"])) .highlight .s { color: #4E9A06 } /* Literal.String */
:root:where(:not([data-theme="dark"])) .highlight .na { color: #C4A000 } /* Name.Attribute */
:root:where(:not([data-theme="dark"])) .highlight .nb { color: #204A87 } /* Name.Builtin */
:root:where(:not([data-theme="dark"])) .highlight .nc { color: #000 } /* Name.Class */
:root:where(:not([data-theme="dark"])) .highlight .no { color: #000 } /* Name.Constant */
:root:where(:not([data-theme="dark"])) .highlight .nd { color: #5C35CC; font-weight: bold } /* Name.Decorator */
:root:where(:not([data-theme="dark"])) .highlight .ni { color: #CE5C00 } /* Name.Entity */
:root:where(:not([data-theme="dark"])) .highlight .ne { color: #C00; font-weight: bold } /* Name.Exception */
:root:where(:not([data-theme="dark"])) .highlight .nf { color: #000 } /* Name.Function */
:root:where(:not([data-theme="dark"])) .highlight .nl { color: #F57900 } /* Name.Label */
:root:where(:not([data-theme="dark"])) .highlight .nn { color: #000 } /* Name.Namespace */
:root:where(:not([data-theme="dark"])) .highlight .nx { color: #000 } /* Name.Other */
:root:where(:not([data-theme="dark"])) .highlight .py { color: #000 } /* Name.Property */
:root:where(:not([data-theme="dark"])) .highlight .nt { color: #204A87; font-weight: bold } /* Name.Tag */
:root:where(:not([data-theme="dark"])) .highlight .nv { color: #000 } /* Name.Variable */
:root:where(:not([data-theme="dark"])) .highlight .ow { color: #204A87; font-weight: bold } /* Operator.Word */
:root:where(:not([data-theme="dark"])) .highlight .pm { color: #000; font-weight: bold } /* Punctuation.Marker */
:root:where(:not([data-theme="dark"])) .highlight .w { color: #F8F8F8 } /* Text.Whitespace */
:root:where(:not([data-theme="dark"])) .highlight .mb { color: #0000CF; font-weight: bold } /* Literal.Number.Bin */
:root:where(:not([data-theme="dark"])) .highlight .mf { color: #0000CF; font-weight: bold } /* Literal.Number.Float */
:root:where(:not([data-theme="dark"])) .highlight .mh { color: #0000CF; font-weight: bold } /* Literal.Number.Hex */
:root:where(:not([data-theme="dark"])) .highlight .mi { color: #0000CF; font-weight: bold } /* Literal.Number.Integer */
:root:where(:not([data-theme="dark"])) .highlight .mo { color: #0000CF; font-weight: bold } /* Literal.Number.Oct */
:root:where(:not([data-theme="dark"])) .highlight .sa { color: #4E9A06 } /* Literal.String.Affix */
:root:where(:not([data-theme="dark"])) .highlight .sb { color: #4E9A06 } /* Literal.String.Backtick */
:root:where(:not([data-theme="dark"])) .highlight .sc { color: #4E9A06 } /* Literal.String.Char */
:root:where(:not([data-theme="dark"])) .highlight .dl { color: #4E9A06 } /* Literal.String.Delimiter */
:root:where(:not([data-theme="dark"])) .highlight .sd { color: #8F5902; font-style: italic } /* Literal.String.Doc */
:root:where(:not([data-theme="dark"])) .highlight .s2 { color: #4E9A06 } /* Literal.String.Double */
:root:where(:not([data-theme="dark"])) .highlight .se { color: #4E9A06 } /* Literal.String.Escape */
:root:where(:not([data-theme="dark"])) .highlight .sh { color: #4E9A06 } /* Literal.String.Heredoc */
:root:where(:not([data-theme="dark"])) .highlight .si { color: #4E9A06 } /* Literal.String.Interpol */
:root:where(:not([data-theme="dark"])) .highlight .sx { color: #4E9A06 } /* Literal.String.Other */
:root:where(:not([data-theme="dark"])) .highlight .sr { color: #4E9A06 } /* Literal.String.Regex */
:root:where(:not([data-theme="dark"])) .highlight .s1 { color: #4E9A06 } /* Literal.String.Single */
:root:where(:not([data-theme="dark"])) .highlight .ss { color: #4E9A06 } /* Literal.String.Symbol */
:root:where(:not([data-theme="dark"])) .highlight .bp { color: #3465A4 } /* Name.Builtin.Pseudo */
:root:where(:not([data-theme="dark"])) .highlight .fm { color: #000 } /* Name.Function.Magic */
:root:where(:not([data-theme="dark"])) .highlight .vc { color: #000 } /* Name.Variable.Class */
:root:where(:not([data-theme="dark"])) .highlight .vg { color: #000 } /* Name.Variable.Global */
:root:where(:not([data-theme="dark"])) .highlight .vi { color: #000 } /* Name.Variable.Instance */
:root:where(:not([data-theme="dark"])) .highlight .vm { color: #000 } /* Name.Variable.Magic */
:root:where(:not([data-theme="dark"])) .highlight .il { color: #0000CF; font-weight: bold } /* Literal.Number.Integer.Long */
}

/* --- Thème clair : bascule manuelle, prioritaire --- */
:root[data-theme="light"] .highlight .hll { background-color: #ffffcc }
:root[data-theme="light"] .highlight { }
:root[data-theme="light"] .highlight .c { color: #8F5902; font-style: italic } /* Comment */
:root[data-theme="light"] .highlight .err { color: #A40000; border: 1px solid #EF2929 } /* Error */
:root[data-theme="light"] .highlight .g { color: #000 } /* Generic */
:root[data-theme="light"] .highlight .k { color: #204A87; font-weight: bold } /* Keyword */
:root[data-theme="light"] .highlight .l { color: #000 } /* Literal */
:root[data-theme="light"] .highlight .n { color: #000 } /* Name */
:root[data-theme="light"] .highlight .o { color: #CE5C00; font-weight: bold } /* Operator */
:root[data-theme="light"] .highlight .x { color: #000 } /* Other */
:root[data-theme="light"] .highlight .p { color: #000; font-weight: bold } /* Punctuation */
:root[data-theme="light"] .highlight .ch { color: #8F5902; font-style: italic } /* Comment.Hashbang */
:root[data-theme="light"] .highlight .cm { color: #8F5902; font-style: italic } /* Comment.Multiline */
:root[data-theme="light"] .highlight .cp { color: #8F5902; font-style: italic } /* Comment.Preproc */
:root[data-theme="light"] .highlight .cpf { color: #8F5902; font-style: italic } /* Comment.PreprocFile */
:root[data-theme="light"] .highlight .c1 { color: #8F5902; font-style: italic } /* Comment.Single */
:root[data-theme="light"] .highlight .cs { color: #8F5902; font-style: italic } /* Comment.Special */
:root[data-theme="light"] .highlight .gd { color: #A40000 } /* Generic.Deleted */
:root[data-theme="light"] .highlight .ge { color: #000; font-style: italic } /* Generic.Emph */
:root[data-theme="light"] .highlight .ges { color: #000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
:root[data-theme="light"] .highlight .gr { color: #EF2929 } /* Generic.Error */
:root[data-theme="light"] .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
:root[data-theme="light"] .highlight .gi { color: #00A000 } /* Generic.Inserted */
:root[data-theme="light"] .highlight .go { color: #000; font-style: italic } /* Generic.Output */
:root[data-theme="light"] .highlight .gp { color: #8F5902 } /* Generic.Prompt */
:root[data-theme="light"] .highlight .gs { color: #000; font-weight: bold } /* Generic.Strong */
:root[data-theme="light"] .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
:root[data-theme="light"] .highlight .gt { color: #A40000; font-weight: bold } /* Generic.Traceback */
:root[data-theme="light"] .highlight .kc { color: #204A87; font-weight: bold } /* Keyword.Constant */
:root[data-theme="light"] .highlight .kd { color: #204A87; font-weight: bold } /* Keyword.Declaration */
:root[data-theme="light"] .highlight .kn { color: #204A87; font-weight: bold } /* Keyword.Namespace */
:root[data-theme="light"] .highlight .kp { color: #204A87; font-weight: bold } /* Keyword.Pseudo */
:root[data-theme="light"] .highlight .kr { color: #204A87; font-weight: bold } /* Keyword.Reserved */
:root[data-theme="light"] .highlight .kt { color: #204A87; font-weight: bold } /* Keyword.Type */
:root[data-theme="light"] .highlight .ld { color: #000 } /* Literal.Date */
:root[data-theme="light"] .highlight .m { color: #0000CF; font-weight: bold } /* Literal.Number */
:root[data-theme="light"] .highlight .s { color: #4E9A06 } /* Literal.String */
:root[data-theme="light"] .highlight .na { color: #C4A000 } /* Name.Attribute */
:root[data-theme="light"] .highlight .nb { color: #204A87 } /* Name.Builtin */
:root[data-theme="light"] .highlight .nc { color: #000 } /* Name.Class */
:root[data-theme="light"] .highlight .no { color: #000 } /* Name.Constant */
:root[data-theme="light"] .highlight .nd { color: #5C35CC; font-weight: bold } /* Name.Decorator */
:root[data-theme="light"] .highlight .ni { color: #CE5C00 } /* Name.Entity */
:root[data-theme="light"] .highlight .ne { color: #C00; font-weight: bold } /* Name.Exception */
:root[data-theme="light"] .highlight .nf { color: #000 } /* Name.Function */
:root[data-theme="light"] .highlight .nl { color: #F57900 } /* Name.Label */
:root[data-theme="light"] .highlight .nn { color: #000 } /* Name.Namespace */
:root[data-theme="light"] .highlight .nx { color: #000 } /* Name.Other */
:root[data-theme="light"] .highlight .py { color: #000 } /* Name.Property */
:root[data-theme="light"] .highlight .nt { color: #204A87; font-weight: bold } /* Name.Tag */
:root[data-theme="light"] .highlight .nv { color: #000 } /* Name.Variable */
:root[data-theme="light"] .highlight .ow { color: #204A87; font-weight: bold } /* Operator.Word */
:root[data-theme="light"] .highlight .pm { color: #000; font-weight: bold } /* Punctuation.Marker */
:root[data-theme="light"] .highlight .w { color: #F8F8F8 } /* Text.Whitespace */
:root[data-theme="light"] .highlight .mb { color: #0000CF; font-weight: bold } /* Literal.Number.Bin */
:root[data-theme="light"] .highlight .mf { color: #0000CF; font-weight: bold } /* Literal.Number.Float */
:root[data-theme="light"] .highlight .mh { color: #0000CF; font-weight: bold } /* Literal.Number.Hex */
:root[data-theme="light"] .highlight .mi { color: #0000CF; font-weight: bold } /* Literal.Number.Integer */
:root[data-theme="light"] .highlight .mo { color: #0000CF; font-weight: bold } /* Literal.Number.Oct */
:root[data-theme="light"] .highlight .sa { color: #4E9A06 } /* Literal.String.Affix */
:root[data-theme="light"] .highlight .sb { color: #4E9A06 } /* Literal.String.Backtick */
:root[data-theme="light"] .highlight .sc { color: #4E9A06 } /* Literal.String.Char */
:root[data-theme="light"] .highlight .dl { color: #4E9A06 } /* Literal.String.Delimiter */
:root[data-theme="light"] .highlight .sd { color: #8F5902; font-style: italic } /* Literal.String.Doc */
:root[data-theme="light"] .highlight .s2 { color: #4E9A06 } /* Literal.String.Double */
:root[data-theme="light"] .highlight .se { color: #4E9A06 } /* Literal.String.Escape */
:root[data-theme="light"] .highlight .sh { color: #4E9A06 } /* Literal.String.Heredoc */
:root[data-theme="light"] .highlight .si { color: #4E9A06 } /* Literal.String.Interpol */
:root[data-theme="light"] .highlight .sx { color: #4E9A06 } /* Literal.String.Other */
:root[data-theme="light"] .highlight .sr { color: #4E9A06 } /* Literal.String.Regex */
:root[data-theme="light"] .highlight .s1 { color: #4E9A06 } /* Literal.String.Single */
:root[data-theme="light"] .highlight .ss { color: #4E9A06 } /* Literal.String.Symbol */
:root[data-theme="light"] .highlight .bp { color: #3465A4 } /* Name.Builtin.Pseudo */
:root[data-theme="light"] .highlight .fm { color: #000 } /* Name.Function.Magic */
:root[data-theme="light"] .highlight .vc { color: #000 } /* Name.Variable.Class */
:root[data-theme="light"] .highlight .vg { color: #000 } /* Name.Variable.Global */
:root[data-theme="light"] .highlight .vi { color: #000 } /* Name.Variable.Instance */
:root[data-theme="light"] .highlight .vm { color: #000 } /* Name.Variable.Magic */
:root[data-theme="light"] .highlight .il { color: #0000CF; font-weight: bold } /* Literal.Number.Integer.Long */

/* --- Étiquette de langage sur le bloc de code --- */
.highlight[data-language]::before {
  content: attr(data-language);
  position: absolute;
  top: 0;
  left: 0;
  font-family: var(--font-mono);
  font-size: var(--t-xs);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  background: var(--panel);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 0.2rem 0.6rem;
  border-radius: 0 0 var(--radius) 0;
}

.highlight[data-language] pre {
  padding-top: 2.2rem;
}
