:root{
--skin:#09060A;--flesh:#17110B;--seed:#F5EFE4;--stem:#D89234;--ripeness:#EF9E15;--juice:#FFD97A;
--ink:#F5EFE4;--ink-soft:#C9BBA3;--line:#3A2B16;--panel:#17110B;
--font-display:"Helvetica Neue",Helvetica,Arial,sans-serif;--font-body:"Helvetica Neue",Helvetica,Arial,sans-serif;--font-mono:"IBM Plex Mono","Courier New",monospace;
--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.5rem;--text-3xl:3.25rem;
--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;
--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--border-w:1px;--touch:44px;--motion-fast:160ms;--motion-med:600ms;--head-h:68px;--maxw:1200px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--skin);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom)}
a{color:var(--juice)}img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--space-5)}
header.site{position:sticky;top:0;z-index:20;background:var(--skin);border-bottom:var(--border-w) solid var(--line);padding-top:env(safe-area-inset-top)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--head-h)}
.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--ink);min-height:var(--touch)}
.brand img{width:44px;height:44px;object-fit:contain;background:var(--seed);border-radius:var(--radius-sm);padding:var(--space-1)}
.brand b{font-weight:200;font-size:var(--text-lg);letter-spacing:.06em}.brand span{display:block;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-soft);letter-spacing:.08em}
nav.main{display:none}nav.main a{color:var(--ink);text-decoration:none;padding:var(--space-3) var(--space-2);min-height:var(--touch);display:inline-flex;align-items:center;font-size:var(--text-sm)}
nav.main a[aria-current]{color:var(--juice);border-bottom:2px solid var(--ripeness)}
.menu-btn{min-height:var(--touch);min-width:var(--touch);background:none;border:var(--border-w) solid var(--line);color:var(--ink);border-radius:var(--radius-sm);font-family:var(--font-mono);cursor:pointer}
.mobile-menu{display:none;border-top:var(--border-w) solid var(--line);padding:var(--space-4) 0}.mobile-menu.open{display:block}.mobile-menu a{display:flex;align-items:center;min-height:var(--touch);color:var(--ink);text-decoration:none;padding:var(--space-2) 0;border-bottom:var(--border-w) solid var(--line)}
@media(min-width:900px){nav.main{display:flex;gap:var(--space-2)}.menu-btn{display:none}.mobile-menu{display:none!important}}
.telemetry{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--ink-soft);border-bottom:var(--border-w) solid var(--line);padding:var(--space-2) 0;font-variant-numeric:tabular-nums;text-transform:uppercase}
.crumbs{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-soft);padding:var(--space-4) 0 0}.crumbs a{color:var(--ink-soft)}
.hero{padding:var(--space-7) 0 var(--space-6);position:relative}
.hero h1,.page h1{font-weight:200;font-size:var(--text-3xl);line-height:1.05;margin:var(--space-3) 0;letter-spacing:-.01em}
.hero p.lede{font-size:var(--text-md);color:var(--ink-soft);max-width:42rem}
.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ripeness)}
.roll-wrap{margin:var(--space-6) 0;border:var(--border-w) solid var(--line);background:var(--flesh);padding:var(--space-4)}
.roll-wrap svg{width:100%;height:auto;display:block}
.roll-line{stroke:var(--ripeness);stroke-width:2;fill:none;filter:drop-shadow(0 0 6px var(--ripeness))}
.node{fill:var(--juice)} .node-label{fill:var(--ink-soft);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-6) 0}
.stat{border:var(--border-w) solid var(--line);background:var(--flesh);padding:var(--space-5)}
.stat b{display:block;font-weight:200;font-size:var(--text-2xl);color:var(--juice);font-variant-numeric:tabular-nums}.stat span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}
@media(min-width:800px){.stats{grid-template-columns:repeat(4,1fr)}}
section{padding:var(--space-6) 0;border-top:var(--border-w) solid var(--line)}h2{font-weight:200;font-size:var(--text-xl);margin:0 0 var(--space-4)}h3{font-weight:400;font-size:var(--text-md);margin:var(--space-4) 0 var(--space-2)}
.grid{display:grid;gap:var(--space-4)}@media(min-width:800px){.grid.c2{grid-template-columns:1fr 1fr}.grid.c3{grid-template-columns:repeat(3,1fr)}}
.card{border:var(--border-w) solid var(--line);background:var(--flesh);padding:var(--space-5);border-radius:var(--radius-md)}
.card p{color:var(--ink-soft)} .campus{display:grid;gap:var(--space-4)}@media(min-width:700px){.campus{grid-template-columns:1fr 1fr}}
figure.node-card{margin:0;border:var(--border-w) solid var(--line);background:var(--flesh);overflow:hidden}figure.node-card img{width:100%;aspect-ratio:340/162;object-fit:cover;filter:brightness(.82) saturate(.85)}
figcaption{padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-soft)}
.btn{display:inline-flex;align-items:center;min-height:var(--touch);padding:var(--space-3) var(--space-5);background:var(--ripeness);color:var(--skin);text-decoration:none;font-weight:700;border-radius:var(--radius-sm);border:none;cursor:pointer}
.btn.ghost{background:none;color:var(--juice);border:var(--border-w) solid var(--stem)}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{border:var(--border-w) solid var(--line);padding:var(--space-3);text-align:left;font-size:var(--text-sm)}th{font-family:var(--font-mono);color:var(--juice)}
ul{padding-left:1.2rem}li{margin-bottom:var(--space-2)}
.note{border-left:3px solid var(--ripeness);background:var(--flesh);padding:var(--space-4) var(--space-5)}
.next{border:var(--border-w) solid var(--stem);padding:var(--space-6);margin:var(--space-7) 0;background:var(--flesh)}
footer.site{border-top:var(--border-w) solid var(--line);padding:var(--space-7) 0 calc(var(--space-7) + env(safe-area-inset-bottom));color:var(--ink-soft);font-size:var(--text-sm)}
footer.site a{color:var(--ink)} .foot-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:var(--space-4) 0}.foot-links a{min-height:var(--touch);display:inline-flex;align-items:center}
.chip{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;border:var(--border-w) solid var(--ripeness);color:var(--ripeness);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase}
input,select{width:100%;min-height:var(--touch);background:var(--skin);border:var(--border-w) solid var(--line);color:var(--ink);padding:var(--space-3);font-size:1rem;border-radius:var(--radius-sm)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
