:root{
  --paper:#EDF1F5;--surface:#FFFFFF;--surface-2:#F5F8FB;--ink:#131C28;--ink-2:#4C5A68;--ink-3:#7C8A98;
  --line:#C7D1DC;--line-strong:#A9B6C4;--grid:rgba(24,54,92,.055);--accent:#B96A12;--accent-fill:#E4972F;
  --accent-soft:rgba(228,151,47,.12);--good:#2E7D57;--risk:#B4472E;
  --shadow:0 1px 2px rgba(19,28,40,.06),0 8px 28px rgba(19,28,40,.07);
  --font-body:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  --font-mono:"SF Mono","Cascadia Code","Consolas",ui-monospace,"Roboto Mono",Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#0B111A;--surface:#111A26;--surface-2:#0E1622;--ink:#E7EDF3;--ink-2:#96A4B2;--ink-3:#64717F;
  --line:#263442;--line-strong:#354657;--grid:rgba(120,164,214,.07);--accent:#EBA544;--accent-fill:#E9A23B;
  --accent-soft:rgba(233,162,59,.13);--good:#5FB98C;--risk:#E0725A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);}}
*{box-sizing:border-box;}
body{margin:0;background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:26px 26px;color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
.wrap{max-width:820px;margin:0 auto;padding:0 22px;}
a{color:var(--accent);}
h1,h2,h3{margin:0;text-wrap:balance;}
p{margin:0;}
.topnav{font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;padding:16px 0;display:flex;gap:16px;color:var(--ink-3);}
.topnav a{color:var(--ink-3);text-decoration:none;}
.topnav a:hover{color:var(--accent);}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);}
header.hero{padding:40px 0 22px;}
h1{font-size:clamp(2rem,5vw,2.9rem);font-weight:770;letter-spacing:-.025em;line-height:1.05;margin-top:14px;}
h1 .amber{color:var(--accent);}
.lede{color:var(--ink-2);margin-top:16px;font-size:1.08rem;max-width:60ch;}
.dim{display:flex;align-items:center;gap:12px;margin:30px 0;}
.dim .rule{flex:1;height:0;border-top:1.5px solid var(--line);}
.dim .cap{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);}
.cards{display:grid;grid-template-columns:1fr;gap:14px;}
.tile{display:block;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 22px;box-shadow:var(--shadow);color:var(--ink);transition:border-color .15s,transform .15s;}
.tile:hover{border-color:var(--accent-fill);transform:translateY(-2px);}
.tile .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
.tile h3{font-size:1.2rem;margin:7px 0 5px;font-weight:680;}
.tile p{color:var(--ink-2);font-size:.96rem;}
.tile .go{font-family:var(--font-mono);font-size:.82rem;color:var(--accent);margin-top:10px;display:inline-block;}
.card{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:20px 22px;box-shadow:var(--shadow);margin-top:14px;}
.card h3{font-size:1.05rem;font-weight:660;margin-bottom:4px;}
.card p{color:var(--ink-2);font-size:.96rem;}
h2{font-size:clamp(1.4rem,3.4vw,1.9rem);font-weight:720;letter-spacing:-.02em;}
.drawing{background:#FFFFFF;border:1px solid var(--line-strong);border-radius:12px;padding:18px;box-shadow:var(--shadow);}
.drawing img{display:block;width:100%;height:auto;}
.figcap{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);margin-top:10px;text-align:center;}
ul.clean{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:10px;}
ul.clean li{display:flex;gap:12px;align-items:flex-start;color:var(--ink-2);font-size:.96rem;}
ul.clean li::before{content:"\25B6";color:var(--accent);font-size:.6rem;line-height:1.7;flex:none;}
ul.clean li b{color:var(--ink);}
.fcf{display:inline-flex;align-items:stretch;border:2px solid var(--ink);border-radius:3px;overflow:hidden;font-family:var(--font-mono);font-size:1rem;margin:4px 0;background:var(--surface);flex-wrap:wrap;}
.fcf span{display:flex;align-items:center;padding:8px 13px;border-right:2px solid var(--ink);white-space:nowrap;}
.fcf span:last-child{border-right:none;}
.fcf .sym{color:var(--accent);font-weight:700;}
.callout{border:1.6px dashed var(--accent-fill);background:var(--accent-soft);border-radius:10px;padding:16px 19px;margin-top:14px;}
.callout p{color:var(--ink);font-size:.96rem;}
footer{padding:30px 0 60px;color:var(--ink-3);font-family:var(--font-mono);font-size:12px;}
