/* Site index in the left margin (tools/site_nav.py writes the <nav> into every page).
   Shown only where the screen leaves room beside the page column; narrower screens and print keep
   each page's own layout and back link. Colours come from each page's tokens. */
.site-nav{display:none}
@media screen and (min-width:1240px){
  body{margin-left:248px!important}
  .site-nav{display:flex;flex-direction:column;gap:20px;position:fixed;top:0;bottom:0;left:0;width:248px;overflow-y:auto;z-index:20;
    padding:26px 18px 22px 22px;background:var(--surface,#fff);border-right:1px solid var(--rule,#dadcd6);
    font:14px/1.45 "Public Sans","IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink2,#46505c)}
  .site-nav a{color:var(--ink,#172029);text-decoration:none;border-radius:6px}
  .site-nav a:hover{color:var(--accent,#135d8f)}
  .site-nav a:focus-visible{outline:2px solid var(--accent,#135d8f);outline-offset:2px}
  .site-nav .sn-home{display:block;font:600 19px/1.15 "Newsreader",Georgia,serif;color:var(--ink,#172029)}
  .site-nav .sn-by{display:block;margin-top:4px;font-size:12.5px;color:var(--muted,#6a737e)}
  .site-nav .sn-h{font:500 11px/1.3 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;
    color:var(--accent,#135d8f);margin:0 0 6px;padding:0;border:0}
  .site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
  .site-nav li{margin:0;padding:0}
  .site-nav li a{display:block;padding:4px 8px;margin-left:-8px}
  .site-nav li a:hover{background:var(--accent-soft,#e6eef5)}
  .site-nav li a[aria-current="page"]{background:var(--accent-soft,#e6eef5);color:var(--accent,#135d8f);font-weight:600}
  .site-nav .sn-toc li a{font-size:13.5px;color:var(--ink2,#46505c)}
  .site-nav .sn-toc li a.sn-here{color:var(--accent,#135d8f);box-shadow:inset 2px 0 0 var(--accent,#135d8f)}
  .site-nav .sn-note{margin:auto 0 0;font-size:12px;color:var(--muted,#6a737e);line-height:1.4}
  html{scroll-padding-top:16px}
}
@media print{.site-nav{display:none!important}body{margin-left:0!important}}
