/* Shared tokens, chrome and document pages. Dark is the default; light follows prefers-color-scheme. */
:root {
  --paper:#090908; --ink:#efeadc; --muted:#a29c8e; --line:#25231f; --accent:#e8805a; --btn-ink:#090908;
  --term:#11110f; --term-bar:#161614; --term-line:#2a2823; --t-ink:#ece6d8; --t-mut:#8f897c; --t-acc:#e8805a;
  --glow:0 0 0 1px rgba(255,255,255,.015);
  --sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --w:1040px; --gut:32px;
  color-scheme:dark;
}
@media (prefers-color-scheme: light) {
  :root { --paper:#f3efe6; --ink:#12120f; --muted:#5f5a50; --line:#d9d2c3; --accent:#9a3b1f; --btn-ink:#f3efe6;
          --term:#10100e; --term-bar:#161613; --term-line:#2a2823; --t-acc:#e8805a;
          --glow:0 40px 70px -40px rgba(0,0,0,.5); color-scheme:light; }
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 17px/1.6 var(--sans); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
a { color:inherit; }
code { font:.85em var(--mono); }
header, footer { max-width:var(--w); margin:0 auto; padding:24px var(--gut); display:flex; justify-content:space-between; align-items:center; gap:16px; font:400 15px/1.2 var(--sans); color:var(--muted); }
header > :first-child { font:800 19px/1 var(--sans); letter-spacing:-.05em; color:var(--ink); text-decoration:none; }
header > :first-child i { font-style:normal; color:var(--accent); }
header a, footer a { text-decoration:none; transition:color .15s; }
header nav { display:flex; gap:24px; }
header a:hover, footer a:hover, header nav a[aria-current] { color:var(--ink); }
header nav a[aria-current] { text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:7px; text-decoration-thickness:1.5px; }
footer { position:relative; margin-top:clamp(56px,10vh,120px); padding-top:26px; padding-bottom:40px; }
footer::before { content:""; position:absolute; top:0; left:var(--gut); right:var(--gut); height:1px; background:var(--line); }
a:focus-visible, button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:4px; }

/* document pages */
main.doc { max-width:var(--w); margin:0 auto; padding:clamp(40px,8vh,88px) var(--gut) 0; }
main.doc > * { max-width:740px; }
.eyebrow { margin:0; font:500 15px/1.2 var(--sans); color:var(--accent); letter-spacing:0; }
h1 { font:800 clamp(44px,8vw,84px)/.96 var(--sans); letter-spacing:-.045em; margin:16px 0 20px; text-wrap:balance; }
h1 em { font-style:normal; color:var(--accent); }
.lede { font:400 clamp(19px,2.3vw,22px)/1.5 var(--sans); color:var(--muted); margin:0 0 4vh; max-width:34em; letter-spacing:-.01em; text-wrap:pretty; }
h2 { font:500 25px/1.2 var(--sans); letter-spacing:-.03em; margin:clamp(40px,6vh,64px) 0 14px; padding-top:22px; border-top:1px solid var(--line); }
.doc p, .doc li { max-width:36em; text-wrap:pretty; }
.doc p { margin:0 0 1em; }
.doc ul { padding-left:1.1em; margin:0; }
.doc li { margin:.75em 0; }
.doc li::marker { color:var(--accent); }
.doc strong { font-weight:500; color:var(--ink); }
.doc p, .doc li { color:color-mix(in srgb, var(--ink) 86%, var(--paper)); }
.doc a { text-decoration-color:var(--accent); text-underline-offset:3px; text-decoration-thickness:1px; }
@media (max-width:520px) { :root { --gut:20px; } header nav { gap:18px; } }
