*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#05070a;--panel:#090d12;--panel2:#0c1117;--text:#edf2f3;--muted:#89969d;--dim:#4f5d64;--line:rgba(216,231,235,.13);--line2:rgba(216,231,235,.07);--cyan:#73d8e6;--cyan2:rgba(115,216,230,.11);--amber:#d6ad68;--amber2:rgba(214,173,104,.11);--red:#e06b63;--red2:rgba(224,107,99,.10);--green:#86b99d;--green2:rgba(134,185,157,.10);--mono:"Space Mono",monospace;--sans:"Archivo",sans-serif;--serif:"Cormorant Garamond",serif;--wrap:min(1240px,calc(100vw - 96px))}
html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}.grid-bg{position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 86%)}.grid-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(900px 500px at 80% 0,rgba(115,216,230,.08),transparent 70%),linear-gradient(180deg,rgba(5,7,10,.12),var(--bg) 94%)}
a{color:inherit}.wrap{width:var(--wrap);margin:0 auto}.skip{position:fixed;left:16px;top:16px;transform:translateY(-180%);z-index:999;background:var(--panel);border:1px solid var(--cyan);padding:10px 14px;color:var(--cyan);font:10px var(--mono);text-decoration:none}.skip:focus{transform:none}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:50;background:rgba(5,7,10,.88);backdrop-filter:blur(18px)}.back{display:flex;align-items:center;gap:12px;text-decoration:none}.back>span{width:31px;height:31px;border:1px solid rgba(115,216,230,.35);display:grid;place-items:center;color:var(--cyan);font:700 8px var(--mono)}.back b{font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.topmeta{display:flex;align-items:center;gap:28px;font:9px var(--mono);letter-spacing:.13em;color:var(--dim)}.lang{display:flex;gap:7px;align-items:center}.lang button{border:0;background:none;color:var(--dim);font:9px var(--mono);letter-spacing:.1em;cursor:pointer}.lang button[aria-pressed="true"]{color:var(--text)}.lang i{font-style:normal}.hero{min-height:calc(100vh - 70px);padding:58px 0 42px;display:flex;flex-direction:column;justify-content:space-between}.hero-kicker{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.15em;color:var(--dim)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:end;margin:11vh 0 8vh}.eyebrow{font:9px var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--cyan)}h1{font:600 clamp(80px,11vw,174px)/.72 var(--serif);letter-spacing:-.055em;margin-top:24px}.hero-copy{padding-bottom:12px}.hero-copy .thesis{font:600 clamp(28px,3.2vw,48px)/1 var(--serif);letter-spacing:-.02em;color:#fff;max-width:11ch;margin-bottom:28px}.hero-copy>p:last-child{font:400 15px/1.8 var(--sans);color:var(--muted);max-width:590px}.route{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;padding:23px 0 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.route>i{height:1px;background:var(--line);position:relative}.route>i::after{content:"";position:absolute;right:-1px;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--dim)}.route-node{display:grid;gap:4px;min-width:76px}.route-node b{font:400 9px var(--mono);color:var(--dim)}.route-node span{font:700 9px var(--mono);letter-spacing:.12em}.route-node.gate span{color:var(--amber)}.route-node.loop span{color:var(--green)}.boundary-note{display:flex;gap:24px;margin-top:22px;font:8px var(--mono);letter-spacing:.1em;color:var(--dim)}.boundary-note span::before{content:"·";color:var(--cyan);margin-right:8px}.chapter{display:grid;grid-template-columns:90px 1fr;gap:40px;padding:130px 0;border-top:1px solid var(--line)}.chapter-no{font:9px var(--mono);color:var(--dim);padding-top:4px}.chapter-main h2,.lab-head h2,.boundary h2{font:600 clamp(48px,6vw,88px)/.88 var(--serif);letter-spacing:-.04em;margin-top:20px}.intro{font:400 18px/1.7 var(--sans);color:var(--muted);max-width:760px;margin-top:32px}.architecture{margin-top:76px;display:grid;grid-template-columns:1fr 220px 1fr;gap:0;align-items:stretch;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:320px}.arch-source{display:flex;flex-direction:column;justify-content:space-between;padding:34px 46px 34px 0}.architecture small{font:8px var(--mono);letter-spacing:.14em;color:var(--dim)}.arch-source strong{font:500 24px/1.35 var(--serif);max-width:12ch}.arch-spine{position:relative;border-left:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(115,216,230,.025)}.arch-spine span{position:absolute;width:1px;height:100%;left:50%;top:0;background:linear-gradient(transparent,var(--cyan),transparent);opacity:.5}.arch-spine b{z-index:1;background:var(--bg);padding:18px;font:700 15px/1.35 var(--mono);letter-spacing:.11em;color:var(--cyan)}.arch-spine em{z-index:1;background:var(--bg);padding:4px 10px;font:400 8px var(--mono);color:var(--dim);font-style:normal}.arch-outs{display:grid;grid-template-columns:1fr 1fr}.arch-outs>div{padding:28px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.arch-outs>div:nth-child(2n){border-right:0}.arch-outs>div:nth-child(n+3){border-bottom:0}.arch-outs strong{font:500 18px var(--serif);margin-top:30px}.lab-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:120px 0;background:linear-gradient(180deg,rgba(115,216,230,.016),transparent 48%)}.lab-head{display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:end}.lab-head>p{font:400 15px/1.75 var(--sans);color:var(--muted);padding-bottom:8px}.console{margin-top:64px;border:1px solid var(--line);background:var(--panel);box-shadow:0 42px 100px rgba(0,0,0,.38)}.console-top{height:39px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 14px;font:8px var(--mono);letter-spacing:.12em;color:var(--dim)}#runState{color:var(--cyan)}.stage-strip{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line)}.stage-strip span{position:relative;padding:12px 10px 11px;text-align:center;text-transform:uppercase;font:8px var(--mono);letter-spacing:.1em;color:var(--dim);border-right:1px solid var(--line2);transition:.2s}.stage-strip span:last-child{border-right:0}.stage-strip span.active{color:var(--text);background:var(--cyan2)}.stage-strip span.pass{color:var(--green)}.stage-strip span.stop{color:var(--red);background:var(--red2)}.console-grid{display:grid;grid-template-columns:230px minmax(0,1fr) minmax(0,1fr);grid-template-rows:360px 210px;gap:1px;background:var(--line)}.console-grid>*{background:var(--panel);min-width:0}.pane-label{min-height:38px;border-bottom:1px solid var(--line2);display:flex;align-items:center;justify-content:space-between;padding:0 13px;font:8px var(--mono);letter-spacing:.12em;color:var(--dim)}.pane-label b{font-weight:400;color:var(--muted)}.profiles{grid-row:1/3;padding-bottom:12px}.profiles .pane-label{margin-bottom:2px}.profile{width:100%;display:grid;grid-template-columns:34px 1fr;gap:9px;text-align:left;padding:14px 13px;border:0;border-bottom:1px solid var(--line2);background:none;color:var(--text);cursor:pointer}.profile>b{width:28px;height:28px;border:1px solid var(--line);display:grid;place-items:center;font:700 9px var(--mono);color:var(--muted)}.profile span{display:grid;gap:4px}.profile strong{font:500 11px var(--sans)}.profile small{font:400 8px var(--mono);color:var(--dim)}.profile:hover,.profile.active{background:rgba(255,255,255,.025)}.profile.active{box-shadow:inset 2px 0 var(--cyan)}.profile.active>b{border-color:rgba(115,216,230,.45);color:var(--cyan)}.profile.risk.active{box-shadow:inset 2px 0 var(--red)}.profile.risk.active>b{border-color:rgba(224,107,99,.5);color:var(--red)}.run{margin:18px 12px 0;width:calc(100% - 24px);height:40px;border:1px solid rgba(115,216,230,.4);background:var(--cyan2);color:var(--cyan);font:700 8px var(--mono);letter-spacing:.12em;cursor:pointer}.run:hover{background:rgba(115,216,230,.18)}.context-pane pre{padding:14px 16px;font:9px/1.75 var(--mono);color:#b9c6cb;white-space:pre-wrap;word-break:break-word}.context-pane .key{color:#7798a8}.context-pane .str{color:#d2b985}.context-pane .bool{color:#9ebcaa}.context-pane .riskv{color:var(--red)}.output-pane{display:flex;flex-direction:column}.output{flex:1;display:grid;place-items:center;padding:20px}.placeholder{font:10px/1.8 var(--mono);color:var(--dim);text-align:center}.message-card{width:min(360px,100%);border:1px solid var(--line);background:var(--panel2);padding:18px;box-shadow:0 18px 40px rgba(0,0,0,.24)}.message-card .meta{font:8px var(--mono);color:var(--dim);letter-spacing:.11em;margin-bottom:14px;display:flex;justify-content:space-between}.message-card h3{font:600 18px/1.2 var(--sans)}.message-card p{font:400 12px/1.65 var(--sans);color:#b8c4c8;margin-top:9px}.message-card .cta{display:inline-block;margin-top:16px;border-bottom:1px solid rgba(115,216,230,.5);padding-bottom:5px;font:700 8px var(--mono);letter-spacing:.1em;color:var(--cyan)}.suppressed{width:min(360px,100%);border:1px solid rgba(224,107,99,.35);background:var(--red2);padding:24px;text-align:center}.suppressed strong{display:block;font:700 18px var(--mono);letter-spacing:.14em;color:var(--red)}.suppressed p{font:400 11px/1.7 var(--sans);color:#c4b8b6;margin-top:12px}.suppressed small{display:block;font:8px var(--mono);color:var(--dim);margin-top:16px}.log-pane{grid-column:2/4}.trace{padding:8px 14px 14px;font:8.5px/1.65 var(--mono);height:170px;overflow:auto}.trace-row{display:grid;grid-template-columns:46px 86px 1fr;gap:12px;padding:4px 0;color:#aab7bc;opacity:0;transform:translateY(2px);animation:in .22s ease forwards}.trace-row time{color:var(--dim)}.trace-row b{font-weight:400;text-transform:uppercase;color:#73848c}.trace-row em{font-style:normal}.trace-row .ok{color:var(--green)}.trace-row .warn{color:var(--amber)}.trace-row .bad{color:var(--red)}@keyframes in{to{opacity:1;transform:none}}.rules{margin-top:66px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.rules article{padding:30px 34px 8px 0;border-right:1px solid var(--line);min-height:230px}.rules article+article{padding-left:34px}.rules article:last-child{border-right:0}.rules span{font:8px var(--mono);color:var(--amber);letter-spacing:.14em}.rules h3{font:600 24px/1.1 var(--serif);margin-top:26px}.rules p{font:400 13px/1.7 var(--sans);color:var(--muted);margin-top:12px}.measure{margin-top:62px;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.measure-row{display:grid;grid-template-columns:120px 1fr 220px;align-items:center;gap:18px}.measure-row+ .measure-row{margin-top:70px}.measure-row b{font:700 9px var(--mono);letter-spacing:.12em}.measure-row span{height:1px;background:var(--line);position:relative}.measure-row span::before,.measure-row span::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;top:-3px;background:var(--dim)}.measure-row span::before{left:0}.measure-row span::after{right:0}.treatment span{background:rgba(134,185,157,.42)}.treatment span::before,.treatment span::after{background:var(--green)}.control{color:var(--dim)}.measure-row em{font:400 9px var(--mono);font-style:normal;color:var(--muted)}.delta{position:absolute;right:240px;top:72px;height:70px;display:flex;align-items:center;gap:12px}.delta i{width:1px;height:70px;background:var(--green)}.delta strong{font:700 8px var(--mono);letter-spacing:.1em;color:var(--green)}.three{display:grid;grid-template-columns:repeat(3,1fr);margin-top:42px}.three article{padding:24px 32px 0 0;border-right:1px solid var(--line)}.three article+article{padding-left:32px}.three article:last-child{border-right:0}.three small{font:8px var(--mono);color:var(--dim)}.three strong{display:block;font:600 20px var(--serif);margin-top:14px}.three p{font:400 12px/1.65 var(--sans);color:var(--muted);margin-top:8px}.boundary{border-top:1px solid var(--line);padding:130px 0;display:grid;grid-template-columns:1.15fr .85fr;gap:10vw}.boundary-copy{padding-top:42px}.boundary-copy p{font:400 15px/1.8 var(--sans);color:var(--muted)}.boundary-copy a{margin-top:48px;display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid rgba(115,216,230,.4);text-decoration:none;font:8px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#bdc9cd}.boundary-copy a b{font-size:14px;color:var(--cyan);font-weight:400}footer{height:68px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;font:8px var(--mono);letter-spacing:.11em;color:var(--dim)}button:focus-visible,a:focus-visible{outline:1px solid var(--cyan);outline-offset:4px}
@media(max-width:900px){:root{--wrap:min(100% - 44px,760px)}.topmeta>span{display:none}.hero{min-height:auto;padding-bottom:68px}.hero-grid{grid-template-columns:1fr;gap:54px;margin:80px 0 60px}h1{font-size:clamp(76px,20vw,130px)}.hero-copy .thesis{max-width:15ch}.route{grid-template-columns:1fr 1fr 1fr 1fr;gap:1px;background:var(--line);padding:1px}.route>i{display:none}.route-node{background:var(--bg);padding:14px;min-width:0}.boundary-note{flex-wrap:wrap}.chapter{grid-template-columns:1fr;padding:92px 0}.chapter-no{display:none}.architecture{grid-template-columns:1fr}.arch-spine{min-height:160px;border:1px solid var(--line);border-top:0}.arch-outs{border-top:1px solid var(--line)}.arch-source{min-height:180px;padding-right:0}.lab-section{padding:92px 0}.lab-head{grid-template-columns:1fr;gap:28px}.console-grid{grid-template-columns:190px 1fr;grid-template-rows:350px 330px 220px}.profiles{grid-row:1/3}.context-pane{grid-column:2}.output-pane{grid-column:2}.log-pane{grid-column:1/3}.stage-strip{overflow:auto}.rules,.three{grid-template-columns:1fr}.rules article,.rules article+article,.three article,.three article+article{padding:28px 0;border-right:0;border-bottom:1px solid var(--line);min-height:0}.rules article:last-child,.three article:last-child{border-bottom:0}.boundary{grid-template-columns:1fr;gap:0;padding:92px 0}.measure-row{grid-template-columns:90px 1fr}.measure-row em{grid-column:2}.delta{right:0;top:78px}.delta strong{display:none}}
@media(max-width:620px){:root{--wrap:calc(100% - 28px)}.topbar{height:62px;padding:0 14px}.back b{display:none}.topmeta{gap:12px}.hero{padding-top:38px}.hero-kicker{font-size:7px}.hero-grid{margin:62px 0 46px}h1{font-size:24vw}.hero-copy .thesis{font-size:34px}.hero-copy>p:last-child{font-size:13px}.route{grid-template-columns:1fr 1fr}.route-node{min-height:68px}.chapter-main h2,.lab-head h2,.boundary h2{font-size:50px}.intro{font-size:15px}.architecture{margin-top:52px}.arch-outs{grid-template-columns:1fr}.arch-outs>div{border-right:0!important}.arch-outs>div:nth-child(3){border-bottom:1px solid var(--line)}.lab-head>p{font-size:13px}.console{margin-top:42px}.stage-strip{grid-template-columns:repeat(6,100px)}.console-grid{display:block;background:var(--panel)}.profiles{padding-bottom:16px;border-bottom:1px solid var(--line)}.context-pane,.output-pane,.log-pane{border-bottom:1px solid var(--line)}.context-pane pre{max-height:300px;overflow:auto}.output{min-height:290px}.trace{height:230px}.measure{padding-bottom:52px}.delta{display:none}.measure-row{grid-template-columns:80px 1fr}.three{margin-top:26px}.boundary-note{font-size:7px}footer{height:auto;min-height:68px;padding:20px 14px;gap:20px;align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* ===== final portfolio pass ===== */
.stage-strip{grid-template-columns:repeat(7,1fr)}
.boundary-note{font-size:9px;line-height:1.6}.boundary-note span::before{display:none}
.architecture small,.arch-spine em,.console-top,.stage-strip span,.pane-label,.profile small,.run,.message-card .meta,.message-card .cta,.suppressed small,.rules span,.three small,.boundary-copy a,footer{font-size:9px}
.trace{font-size:9.5px}.rules p,.three p{font-size:13px}
.pane-toggle{display:none;width:100%;height:38px;border:0;border-bottom:1px solid var(--line2);background:rgba(115,216,230,.025);color:var(--cyan);font:700 9px var(--mono);letter-spacing:.1em;text-align:left;padding:0 13px;cursor:pointer}
.measure-head{margin-top:72px;padding-top:48px;border-top:1px solid var(--line)}.measure-head h3{font:600 clamp(34px,4vw,54px)/.95 var(--serif);letter-spacing:-.03em;margin-top:14px}.measure-head>p:last-child{font:400 15px/1.75 var(--sans);color:var(--muted);max-width:760px;margin-top:20px}
.governance-measure{padding-bottom:140px}

@media(max-width:900px){
  .stage-strip{grid-template-columns:repeat(7,110px)}
}
@media(max-width:620px){
  .hero-kicker{font-size:9px}
  .route{display:flex;overflow-x:auto;gap:0;background:transparent;padding:16px 0;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .route-node{flex:0 0 116px;min-width:116px;min-height:74px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 12px;scroll-snap-align:start;background:var(--bg)}
  .route>i{display:block;flex:0 0 24px;height:1px;background:var(--line);align-self:center}.route>i::after{display:block}
  .boundary-note{font-size:9px;margin-top:18px}
  .stage-strip{display:flex;overflow-x:auto;grid-template-columns:none;scroll-snap-type:x proximity}.stage-strip span{flex:0 0 100px;font-size:9px;scroll-snap-align:start}
  .pane-toggle{display:block}.mobile-collapsed pre,.mobile-collapsed .trace{display:none}.mobile-collapsed{min-height:0!important}
  .context-pane pre{max-height:360px;font-size:9.5px}.trace{height:auto;max-height:360px;font-size:9px}
  .output-pane{scroll-margin-top:70px}.output{min-height:260px}
  .rules h3{font-size:25px}.rules p,.three p{font-size:13px}.measure-head{margin-top:54px;padding-top:38px}.measure-head h3{font-size:38px}.measure-head>p:last-child{font-size:14px}
  .boundary-copy p{font-size:14px}.boundary-copy a{font-size:9px}
}
