@font-face{font-family:Archivo;src:url('assets/archivo-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url('assets/archivo-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--bg:#080808;--ink:#f5f5f2;--muted:#a2a2a2;--line:#303030;--surface:#111;--font:Archivo,Helvetica,sans-serif;--space:clamp(22px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px;scrollbar-color:#666 var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:#eee;color:#080808}a{color:inherit;text-decoration:none;text-underline-offset:5px}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:6px}svg{fill:none;stroke:currentColor;stroke-width:1.4;width:20px;height:20px}button:disabled{opacity:.5;cursor:default}.wrap{max-width:1440px;margin-inline:auto;padding-inline:var(--space)}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:10px;left:10px;background:var(--ink);color:var(--bg);padding:12px 20px;z-index:10;transform:translateY(-150%)}.skip:focus{transform:translateY(0)}
.masthead{height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;font-size:23px;letter-spacing:-.03em}.brand svg{width:35px;height:35px}.brand-light{color:#999;font-size:17px;letter-spacing:-.01em}.masthead nav{display:flex;align-items:center;gap:36px;font-size:13px}.masthead nav a{color:#b5b5b5}.masthead nav a:hover{color:var(--ink)}.nav-github{display:flex;gap:12px;align-items:center}.nav-github svg{width:15px;height:15px}
.hero-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;padding-top:68px;padding-bottom:62px}h1,h2,h3,p{margin:0}h1{font-size:clamp(58px,6.7vw,96px);line-height:.99;font-weight:400;letter-spacing:-.04em;text-wrap:balance}h1 span{color:#9d9d9d}.hero-copy{width:320px;padding-bottom:4px}.hero-copy>p:first-child{font-size:19px;line-height:1.4;letter-spacing:-.02em}.intro{color:var(--muted);font-size:14px;line-height:1.65;margin-top:19px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:var(--bg);font-size:13px;font-weight:600;padding:15px 20px;min-height:48px;transition:background .2s}.button:hover{background:#cecece}.hero-copy .button{margin-top:27px}.button svg{width:18px;height:18px}
.instrument{border-top:1px solid var(--line)}.instrument-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;font-size:12px}.replay-label{display:flex;align-items:center;gap:8px}.signal{width:5px;height:5px;border-radius:50%;background:#ddd;margin-right:4px}.instrument-id{font:11px/1.5 monospace;letter-spacing:.05em;color:var(--muted)}.flow-stage{position:relative;height:410px;margin-top:10px}canvas{display:block;width:100%;height:100%}.diagram-label{position:absolute;pointer-events:none;font-size:12px;line-height:1.6}.diagram-label strong{font-weight:400;display:flex;align-items:center;gap:9px}.diagram-label span{display:block;color:#929292;font-size:11px}.intake{left:1%;top:8%}.router-label{position:absolute;top:40%;left:44%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.router-word{display:block;font-size:22px;letter-spacing:.08em;margin-bottom:8px}.router-label>span:last-child{font:11px/1.8 monospace;color:#aaa;letter-spacing:.04em}.route{left:85%;transform:translateY(-50%)}.route-general{top:20%}.route-coding{top:40%}.route-reasoning{top:60%}.fallback{left:58%;top:83%}.rejected{left:14%;top:82%;opacity:1}.instrument.pressure .rejected{opacity:1}.shape{display:inline-block;width:6px;height:6px;background:var(--ink)}.circle{border-radius:50%}.triangle{width:0;height:0;background:none;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:7px solid var(--ink)}
.replay-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0}.phase-tabs{display:flex;gap:5px}.phase-tabs button{border:0;background:none;color:#a2a2a2;font-size:12px;padding:11px 18px;min-height:42px;transition:background .2s,color .2s}.phase-tabs button[aria-pressed=true]{background:#ededeb;color:var(--bg)}.phase-tabs button:hover:not([aria-pressed=true]){background:#222;color:#fff}.playback{display:flex;align-items:center;gap:25px;font-size:11px;color:#aaa;font-variant-numeric:tabular-nums}.playback button{display:flex;align-items:center;gap:7px;background:none;border:0;color:#ddd;min-height:44px;padding:8px}.playback svg{width:16px;height:16px}.phase-detail{display:flex;justify-content:space-between;gap:35px;padding-top:24px;align-items:start}.phase-detail>p{max-width:440px;font-size:13px;color:#b5b5b5;min-height:42px}.phase-counts{display:flex;gap:28px;font-size:11px;color:var(--muted);white-space:nowrap}.phase-counts span{display:flex;flex-direction:column;gap:3px}.phase-counts strong{font:400 20px/1.2 var(--font);font-variant-numeric:tabular-nums;color:var(--ink)}.replay-note{font-size:11px;color:#999;margin-top:22px}.replay-note a{margin-left:10px;text-decoration:underline}.hero-foot{display:flex;justify-content:space-between;margin-top:43px;padding-bottom:24px;border-bottom:1px solid var(--line);font-size:11px;color:#aaa}.separator{margin:0 9px;color:#777}
.mechanism{padding-top:130px;padding-bottom:110px}.section-lead{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:60px}h2{font-size:clamp(32px,3.4vw,49px);line-height:1.12;letter-spacing:-.035em;font-weight:400;text-wrap:balance}h2 span{color:#969696}.section-lead>p{color:#aaa;font-size:14px;line-height:1.6}.mechanism-rows{border-top:1px solid var(--line)}.mechanism-rows article{display:grid;grid-template-columns:75px 1fr 1.4fr 155px;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding:34px 0}.mechanism-glyph svg{width:55px;height:55px;stroke:#aaa;stroke-width:1}.mechanism-rows h3{font-size:21px;font-weight:400;letter-spacing:-.025em}.mechanism-rows p{font-size:13px;color:#aaa;max-width:46ch;line-height:1.75}.mechanism-rows a{font-size:11px;text-align:right}.mechanism-rows a:hover,.text-link:hover,footer a:hover{text-decoration:underline}
.evidence{background:#eeeeea;color:#101010}.evidence-inner{padding-top:86px;padding-bottom:90px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.evidence h2 span{color:#626262}.evidence h2{margin-bottom:27px}.evidence p{font-size:14px;max-width:51ch;line-height:1.8}.evidence .evidence-limit{color:#5b5b5b;font-size:12px;margin-top:18px}.text-link{display:inline-flex;gap:22px;align-items:center;margin-top:30px;font-size:12px;border-bottom:1px solid #777;padding-bottom:9px}.text-link svg{width:17px;height:17px}.evidence-table{align-self:center}.table-title{display:flex;justify-content:space-between;gap:15px;font-size:12px;margin-bottom:22px}.table-title span:last-child{color:#5b5b5b}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px;font-variant-numeric:tabular-nums}td,th{padding:19px 0;border-bottom:1px solid #c6c6c3;font-weight:400}thead th{color:#626262;font-size:11px;padding-top:0;padding-bottom:12px}td:last-child,th:last-child{text-align:right}td:nth-child(2),th:nth-child(2){text-align:center}.evidence-table>p{font-size:11px;color:#626262;margin-top:24px}.evidence a:focus-visible{outline-color:#111}
.closing{padding-top:100px;padding-bottom:105px;text-align:center}.closing-mark svg{width:46px;height:46px;stroke-width:1;margin-bottom:28px}.closing h2{font-size:clamp(38px,4.3vw,62px)}.closing .button{margin-top:33px}.closing>p{font-size:11px;color:#999;margin-top:20px}footer{border-top:1px solid var(--line);padding-top:25px;padding-bottom:30px;display:flex;justify-content:space-between;gap:24px;font-size:11px}footer p{color:#999}footer .muted{margin-left:8px}.no-script{padding:20px;font-size:13px}
@media(min-width:1500px){.flow-stage{height:440px}}
@media(max-width:1000px){.hero-heading{gap:30px}.hero-copy{width:270px}.flow-stage{height:350px}.mechanism-rows article{grid-template-columns:55px 1fr 1.4fr;gap:20px}.mechanism-rows a{grid-column:3;text-align:left}.evidence-inner{gap:45px}.section-lead>p{max-width:240px}.phase-counts{gap:16px}}
@media(max-width:650px){.masthead{height:80px}.brand{font-size:21px}.brand-light{font-size:14px}.masthead nav>a:not(.nav-github){display:none}.masthead nav{gap:0}.hero-heading{display:block;padding-top:35px;padding-bottom:40px}h1{font-size:clamp(54px,12vw,76px)}.hero-copy{margin-top:30px;width:auto;display:grid;grid-template-columns:1fr auto;gap:0 15px;align-items:start}.hero-copy>p:first-child{font-size:16px;grid-column:1/-1}.intro{font-size:12px;margin-top:16px}.hero-copy .button{font-size:11px;padding:12px;gap:12px;margin-top:20px}.instrument-id{display:none}.instrument-heading{font-size:11px;padding-top:20px}.flow-stage{height:310px;margin-inline:-12px}.router-word{font-size:14px;letter-spacing:.06em;margin-bottom:5px}.router-label>span:last-child{font-size:11px;line-height:1.7}.diagram-label{font-size:11px}.diagram-label span{font-size:11px}.route{left:82%}.route span{display:none}.intake{top:7%;left:5%}.fallback{left:52%;top:85%}.rejected{left:8%;top:83%;max-width:95px}.shape{width:4px;height:4px}.triangle{width:0;height:0;border-left-width:3px;border-right-width:3px;border-bottom-width:5px}.diagram-label strong{gap:5px}.replay-controls{gap:8px;align-items:center;padding:10px 0}.phase-tabs{gap:0;flex:1}.phase-tabs button{padding:10px 9px;font-size:11px;min-height:44px}.playback{gap:0}.playback>span{display:none}.playback button{padding:8px 2px}.playback button>span{display:none}.phase-detail{flex-direction:column;gap:16px;padding-top:19px}.phase-detail>p{font-size:12px;min-height:36px}.phase-counts{width:100%;justify-content:space-between;padding-right:10px}.phase-counts strong{font-size:21px}.replay-note{font-size:11px;line-height:1.8;margin-top:18px;max-width:290px}.replay-note a{margin-left:0;display:block}.hero-foot{margin-top:30px;font-size:11px;gap:16px}.hero-foot>span:last-child{max-width:145px;text-align:right}.separator{margin:0 3px}.mechanism{padding-top:76px;padding-bottom:65px}.section-lead{display:block;margin-bottom:32px}.section-lead>p{font-size:13px;margin-top:22px;max-width:none}.mechanism-rows article{grid-template-columns:45px 1fr;gap:13px 20px;padding:26px 0}.mechanism-glyph{grid-row:1/3;align-self:start}.mechanism-glyph svg{width:40px;height:40px}.mechanism-rows h3{font-size:20px}.mechanism-rows p{grid-column:2;font-size:12px}.mechanism-rows a{grid-column:2;font-size:11px}.evidence-inner{grid-template-columns:1fr;gap:45px;padding-top:60px;padding-bottom:58px}.evidence h2{font-size:34px}.evidence p{font-size:13px}.evidence .evidence-limit{font-size:11px}.closing{padding-top:67px;padding-bottom:68px}footer{flex-wrap:wrap;gap:14px;font-size:11px}footer p{order:3;flex-basis:100%}.closing h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Small screens retain the router name; the mechanism below provides its two steps. */
@media(max-width:650px){.router-label>span:last-child{display:none}.router-word{font-size:14px;margin:0}.replay-label{flex-wrap:wrap;gap:5px}.phase-tabs button{padding-inline:7px}.hero-foot{line-height:1.7}.hero-foot>span:first-child{max-width:125px}.replay-note{font-size:11px}.diagram-label span{font-size:11px}.rejected{max-width:110px}.fallback{left:54%}.mechanism-rows p{font-size:14px}.evidence .evidence-limit{font-size:12px}}

.inline-arrow{width:12px;height:12px;vertical-align:-2px;margin-left:4px}
