@font-face {
  font-family: "Geist Variable";
  src: url("/fonts/geist-variable.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader Variable";
  src: url("/fonts/newsreader-variable.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
@font-face {
  font-family: "Geist Mono Variable";
  src: url("/fonts/geist-mono-variable.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root{--font-display:"Geist Variable", "Helvetica Neue", Arial, sans-serif;--font-text:"Newsreader Variable", Georgia, "Times New Roman", serif;--font-data:"Geist Mono Variable", "SFMono-Regular", Consolas, monospace;}
.sv-site-nav{--sv-ink:#11131D;--sv-paper:#F1F3F2;--sv-focus:#3156E8}
body { font-family: var(--font-display); }
pre, code, .cm-editor { font-family: var(--font-data); }
/* Main-site links stay compact; native details works with scripting disabled. */
.sv-site-nav { position: relative; z-index: 200; display: flex; align-items: center; gap: .7rem; box-sizing: border-box; padding: .45rem max(1rem, 3vw); border-bottom: 1px solid color-mix(in srgb, var(--sv-ink) 16%, transparent); background: var(--sv-paper); color: var(--sv-ink); font: 12px/1.5 var(--font-display); }
.sv-site-nav a { color: inherit; text-decoration: none; }
.sv-site-nav a:hover { text-decoration: underline; }
.sv-site-nav a:focus-visible, .sv-site-nav summary:focus-visible { outline: 2px solid var(--sv-focus); outline-offset: 3px; }
.sv-site-name { font-weight: 650; margin-right: .5rem; }
.sv-site-menu { margin-left: auto; }
.sv-site-menu summary { cursor: pointer; padding: .25rem 0; }
.sv-site-menu div { position: absolute; right: max(1rem, 3vw); top: calc(100% - 1px); width: 13rem; max-height: 70vh; overflow-y: auto; padding: .5rem; border: 1px solid color-mix(in srgb, var(--sv-ink) 20%, transparent); background: var(--sv-paper); box-shadow: 0 8px 24px color-mix(in srgb, var(--sv-ink) 12%, transparent); }
.sv-site-menu div a { display: block; padding: .5rem .65rem; }
@media (max-width: 480px) { .sv-site-nav { gap: .4rem; padding-inline: .75rem; font-size: 11px; flex-wrap: wrap; } .sv-site-name { flex-basis: 100%; } .sv-site-menu div { right: .75rem; } }
@media print { .sv-site-nav { display: none; } }
