/* code.css — syntax highlighting (Pygments, estensione codehilite).
   I colori dei token sono la palette "default" standard di Pygments
   (indipendente dal sito). Ricolorato solo il contenitore .codehilite
   sui token del sito. Nessuna variante prefers-color-scheme: le
   pagine articolo sono sempre chiare (.prose-page), quindi anche i
   blocchi di codice restano sempre nella variante chiara. */

.codehilite {
  position: relative;
  padding: 0 .75em;
  overflow: auto;
  background: var(--paper-dim);
  border: 1px solid var(--paper-dim);
  border-radius: 8px;
  margin: 18px 0;
  font-family: var(--mono);
  font-size: 0.85rem;
}
.codehilite .copy-button {
  position: absolute;
  right: 0.5em;
  top: 0.5em;
  font-size: 0.9em;
  color: var(--ink);
  opacity: 0.6;
  border: none;
  background: none;
  cursor: pointer;
}
.codehilite .copy-button:hover { opacity: 1; }

pre { line-height: 125%; }
td.linenos pre, span.linenos { color: var(--ink); opacity: .5; padding-left: 5px; padding-right: 5px; }
td.linenos pre.special, span.linenos.special { background: #ffffc0; }
.codehilite .hll { background-color: #ffffcc }
.codehilite .c { color: #408080; font-style: italic } /* Comment */
.codehilite .err { border: 1px solid #FF0000 } /* Error */
.codehilite .k { color: #008000; font-weight: bold } /* Keyword */
.codehilite .o { color: #666666 } /* Operator */
.codehilite .ch { color: #408080; font-style: italic }
.codehilite .cm { color: #408080; font-style: italic }
.codehilite .cp { color: #BC7A00 }
.codehilite .cpf { color: #408080; font-style: italic }
.codehilite .c1 { color: #408080; font-style: italic }
.codehilite .cs { color: #408080; font-style: italic }
.codehilite .gd { color: #A00000 }
.codehilite .ge { font-style: italic }
.codehilite .gr { color: #FF0000 }
.codehilite .gh { color: #000080; font-weight: bold }
.codehilite .gi { color: #00A000 }
.codehilite .go { color: #888888 }
.codehilite .gp { color: #000080; font-weight: bold }
.codehilite .gs { font-weight: bold }
.codehilite .gu { color: #800080; font-weight: bold }
.codehilite .gt { color: #0044DD }
.codehilite .kc { color: #008000; font-weight: bold }
.codehilite .kd { color: #008000; font-weight: bold }
.codehilite .kn { color: #008000; font-weight: bold }
.codehilite .kp { color: #008000 }
.codehilite .kr { color: #008000; font-weight: bold }
.codehilite .kt { color: #B00040 }
.codehilite .m { color: #666666 } /* Number */
.codehilite .s { color: #BA2121 } /* String */
.codehilite .na { color: #7D9029 }
.codehilite .nb { color: #008000 }
.codehilite .nc { color: #0000FF; font-weight: bold }
.codehilite .no { color: #880000 }
.codehilite .nd { color: #AA22FF }
.codehilite .ni { color: #999999; font-weight: bold }
.codehilite .ne { color: #D2413A; font-weight: bold }
.codehilite .nf { color: #0000FF }
.codehilite .nl { color: #A0A000 }
.codehilite .nn { color: #0000FF; font-weight: bold }
.codehilite .nt { color: #008000; font-weight: bold }
.codehilite .nv { color: #19177C }
.codehilite .ow { color: #AA22FF; font-weight: bold }
.codehilite .w { color: #bbbbbb }
.codehilite .mb { color: #666666 }
.codehilite .mf { color: #666666 }
.codehilite .mh { color: #666666 }
.codehilite .mi { color: #666666 }
.codehilite .mo { color: #666666 }
.codehilite .sa { color: #BA2121 }
.codehilite .sb { color: #BA2121 }
.codehilite .sc { color: #BA2121 }
.codehilite .dl { color: #BA2121 }
.codehilite .sd { color: #BA2121; font-style: italic }
.codehilite .s2 { color: #BA2121 }
.codehilite .se { color: #BB6622; font-weight: bold }
.codehilite .sh { color: #BA2121 }
.codehilite .si { color: #BB6688; font-weight: bold }
.codehilite .sx { color: #008000 }
.codehilite .sr { color: #BB6688 }
.codehilite .s1 { color: #BA2121 }
.codehilite .ss { color: #19177C }
.codehilite .bp { color: #008000 }
.codehilite .fm { color: #0000FF }
.codehilite .vc { color: #19177C }
.codehilite .vg { color: #19177C }
.codehilite .vi { color: #19177C }
.codehilite .vm { color: #19177C }
.codehilite .il { color: #666666 }
