:root{--surface:oklch(96.5% .008 175);--surface-raised:oklch(99% .004 175);--ink:oklch(30% .05 170);--ink-muted:oklch(46% .03 170);--line:oklch(86% .012 175);--accent:oklch(86% .17 95);--accent-contrast:oklch(25% .05 170);--pooled:oklch(44% .13 345);--pooled-soft:oklch(44% .13 345/.14);--separate-soft:oklch(30% .05 170/.12);--measure:68ch;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Instrument Sans,sans-serif;font-size:16px;line-height:1.55}*{box-sizing:border-box}body{background:var(--surface);margin:0}body:before{content:"";z-index:-1;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.12  0 0 0 0 0.24  0 0 0 0 0.21  0 0 0 0.09 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");position:fixed;inset:0}a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}code{background:var(--surface-raised);border:1px solid var(--line);padding:0 4px;font-family:JetBrains Mono,monospace;font-size:.86em}.num{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{max-width:1240px;margin:0 auto;padding:0 16px 48px}.top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 32px;margin-bottom:40px;padding:16px 0 0;display:flex}.wordmark{padding-bottom:8px;font-size:24px;font-weight:700;font-stretch:75%;text-decoration:none}.nav{flex-wrap:wrap;gap:0 24px;display:flex}.nav a{color:var(--ink-muted);border-bottom:3px solid #0000;margin-bottom:-1px;padding:8px 0 12px;font-size:15px;font-weight:600;text-decoration:none}.nav a:hover{color:var(--ink)}.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.foot{border-top:1px solid var(--line);color:var(--ink-muted);margin-top:80px;padding-top:16px;font-size:13px}.foot p{max-width:var(--measure);margin:0}.state{max-width:640px;padding:48px 0}.page-head{margin-bottom:32px}.page-head h1,.hero h1{letter-spacing:0;margin:0;font-weight:700;font-stretch:75%}.page-head h1{max-width:20ch;font-size:clamp(36px,6vw,56px);line-height:1.02}.page-head p{max-width:var(--measure);color:var(--ink-muted);margin:16px 0 0;font-size:17px}button,.button{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;padding:8px 16px;font-size:14px;text-decoration:none;transition:background-color .2s ease-out,border-color .2s ease-out,transform .12s ease-out;display:inline-block}button:active,.button:active{transform:scale(.98)}button:hover,.button:hover{border-color:var(--ink-muted)}.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);font-weight:700}.primary:hover{border-color:var(--accent-contrast)}.segmented{display:flex}.segmented button{border-right-width:0}.segmented button:last-child{border-right-width:1px}.segmented button[aria-checked=true]{background:var(--ink);color:var(--surface-raised);border-color:var(--ink)}.actions{gap:8px;display:flex}.field{color:var(--ink-muted);gap:4px;font-size:13px;display:grid}.story{gap:72px;display:grid}.hero h1{max-width:14ch;font-size:clamp(44px,8.4vw,104px);line-height:.98}.lede{max-width:58ch;margin:24px 0 40px;font-size:clamp(18px,2vw,21px);line-height:1.5}.hero-figure{border-top:2px solid var(--ink);padding-top:16px}.hero-key{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.hero-key p{color:var(--ink-muted);max-width:52ch;margin:0}.barcode{margin:0}.barcode svg{width:100%;height:auto;display:block;overflow:visible}.barcode-axis{stroke:var(--ink);stroke-width:1px}.barcode-tick{fill:var(--ink-muted);font-size:12px}.barcode-bars rect{transform-box:fill-box;animation:.52s cubic-bezier(.2,.7,.2,1) both grow}.barcode-bars.separate rect{fill:var(--ink);transform-origin:50% 100%}.barcode-bars.pooled rect{fill:var(--pooled);transform-origin:50% 0}@keyframes grow{0%{transform:scaleY(0)}}.barcode-label{flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin:0;font-weight:600;display:flex}.barcode-label strong{font-size:20px}.barcode-label.separate strong{color:var(--ink)}.barcode-label.pooled strong{color:var(--pooled)}.barcode-label .delta{color:var(--ink-muted);font-size:14px;font-weight:400}.hero-actions{flex-wrap:wrap;gap:8px;margin-top:32px;display:flex}.hero-actions .button{padding:12px 24px;font-size:15px}.chapter{gap:16px;display:grid}.chapter h2,.method h2,.validation h2{max-width:26ch;margin:0 0 8px;font-size:clamp(26px,4vw,40px);font-weight:700;font-stretch:75%;line-height:1.08}.chapter p,.method p{max-width:var(--measure);margin:0}.chapter .aside{border-left:3px solid var(--accent);color:var(--ink-muted);padding-left:16px}.chapter .fine,.fine{color:var(--ink-muted);font-size:13px}.claims{max-width:var(--measure);gap:8px;margin:0;padding-left:20px;display:grid}.links{flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.plot{max-width:960px;margin:8px 0 0}.plot svg{width:100%;height:auto;display:block;overflow:visible}.plot .grid{stroke:var(--line)}.plot .zero{stroke:var(--ink);stroke-width:1.2px}.plot .axis,.plot .plot-note{fill:var(--ink-muted);font-size:12px}.plot .line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.plot .textbook{stroke:var(--ink);stroke-dasharray:6 5}.plot .walk{stroke:var(--pooled);stroke-width:1.6px;stroke-dasharray:1.5 5}.plot .field{stroke:var(--pooled);stroke-width:3px}.plot .ci{stroke:none}.plot .separate-ci{fill:var(--separate-soft)}.plot .pooled-ci{fill:var(--pooled-soft)}.plot .store-band{fill:var(--accent);opacity:.28}.plot .measured{stroke:var(--pooled);stroke-width:1.2px;stroke-dasharray:4 4}.plot .lanes-0{stroke:var(--ink);opacity:.45}.plot .lanes-1{stroke:var(--ink)}.plot .lanes-2{stroke:var(--ink);stroke-dasharray:8 4}.plot .real{stroke:var(--ink);stroke-width:3px}.plot .sim{stroke:var(--pooled);stroke-dasharray:7 5}.plot .end-label{fill:var(--ink);font-size:13px;font-weight:700}.plot .field-label,.plot .walk-label,.plot .sim-label{fill:var(--pooled)}.plot .walk-label{font-weight:400}.method{gap:56px;display:grid}.method section{gap:16px;display:grid}.tex{max-width:860px;padding:8px 0;overflow:auto hidden}.tex .katex{font-size:1.08em}.refs{max-width:var(--measure);color:var(--ink-muted);gap:8px;margin:0;padding-left:20px;display:grid}.lab{grid-template-columns:minmax(0,1fr);gap:24px;display:grid;position:relative}.stage{background:var(--surface-raised);border:1px solid var(--line);min-width:0;height:min(60vw,520px);min-height:320px;position:relative;overflow:hidden}.hud,.controls{background:var(--surface-raised);border:1px solid var(--line);padding:24px}.hud-clock{color:var(--ink-muted);margin:0;font-size:16px}.hud-label{color:var(--ink-muted);margin:16px 0 0;font-size:14px}.hud-big{margin:0;font-size:96px;font-weight:700;line-height:1}.hud h2{margin:24px 0 8px;font-size:14px;font-weight:700}.hud-list{gap:8px;margin:8px 0 0;display:grid}.hud-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding-bottom:8px;font-size:14px;display:flex}.hud-list dt{color:var(--ink-muted)}.hud-list dd{margin:0}.hud-note{background:var(--accent);color:var(--accent-contrast);margin:16px 0 0;padding:8px 16px;font-size:14px}.controls{flex-wrap:wrap;align-items:end;gap:16px 24px;display:flex}.controls label,.stepper{color:var(--ink-muted);gap:4px;font-size:13px;display:grid}.controls select{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:8px 16px 8px 8px;font-size:14px}.stepper{grid-template-columns:auto auto auto;align-items:center;gap:8px}.stepper span{grid-column:1/-1}.stepper output{text-align:center;min-width:24px;color:var(--ink);font-size:16px}.live-tag{background:var(--surface-raised);border:1px solid var(--line);align-items:baseline;gap:8px;padding:8px 16px;font-size:14px;display:flex;position:absolute;bottom:16px;left:16px}.live-tag strong{font-size:32px;line-height:1}.live-tag small{color:var(--ink-muted)}.stages{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.stages .stage{height:360px;min-height:280px}@media (width>=960px){.lab:not(.wide){grid-template-columns:minmax(0,1fr) 340px}.lab:not(.wide)>.page-head,.lab:not(.wide)>.controls{grid-column:1/-1}.lab:not(.wide)>.hud{grid-area:3/2}.lab:not(.wide)>.stage{grid-area:3/1;height:560px}.stages{grid-template-columns:repeat(2,minmax(0,1fr))}.stages .stage{height:460px}}.compare-table,.chart{background:var(--surface-raised);border:1px solid var(--line);margin:0;padding:24px}.compare-table h2{max-width:40ch;margin:0 0 24px;font-size:clamp(20px,3.4vw,32px);font-weight:700;font-stretch:75%;line-height:1.2}.compare-table table{border-collapse:collapse;width:100%;max-width:820px;font-size:14px}.compare-table caption{text-align:left;color:var(--ink-muted);padding-bottom:8px}.compare-table th,.compare-table td{text-align:left;border-bottom:1px solid var(--line);padding:8px 16px 8px 0}.compare-table thead th{color:var(--ink-muted);font-weight:400}.compare-table .fine{gap:4px;margin:16px 0 0;padding:0;list-style:none;display:grid}.table-scroll{overflow-x:auto}.chart figcaption{margin-bottom:8px;font-size:14px;font-weight:700}.chart svg{width:100%;height:auto;display:block}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .axis{fill:var(--ink-muted);font-size:11px}.chart .series{fill:none;stroke-width:2.5px;stroke-linejoin:round}.chart .pooled{stroke:var(--pooled);stroke-width:3px}.chart .separate-jsq{stroke:var(--ink);stroke-dasharray:7 4}.chart .separate-random{stroke:var(--ink-muted);stroke-width:2px;stroke-dasharray:1.5 4;stroke-linecap:round}.chart .playhead{stroke:var(--ink);stroke-width:1px;opacity:.5}.chart .dot{stroke-width:2px}.chart .dot.pooled{fill:var(--pooled);stroke:var(--pooled)}.chart .dot.separate-jsq{fill:var(--surface-raised);stroke:var(--ink)}.chart .dot.separate-random{fill:var(--surface-raised);stroke:var(--ink-muted)}.chart .tag{fill:var(--ink);font-size:12px;font-weight:700}.chart .tag.muted{fill:var(--ink-muted)}.staffing{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.staffing .fine{margin:0}.verdict{margin:0;font-size:16px;font-weight:700}.table-wrap{background:var(--surface-raised);border:1px solid var(--line);padding:8px 24px 24px;position:relative;overflow-x:auto}.table-wrap .segmented{margin:16px 0 0}.staff-table{border-collapse:collapse;width:100%;min-width:760px;font-size:14px}.staff-table caption{text-align:left;color:var(--ink-muted);padding:16px 0 8px}.staff-table th,.staff-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 16px 8px 0}.staff-table thead th{color:var(--ink-muted);font-weight:400}.validation{grid-template-columns:minmax(0,1fr);gap:56px;display:grid}.validation section{gap:16px;display:grid}.validation p{max-width:var(--measure);margin:0}.validation .callout{max-width:var(--measure);background:var(--accent);color:var(--accent-contrast);padding:16px}.limits{max-width:var(--measure);gap:8px;margin:0;padding-left:20px;display:grid}.scatter-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=720px){.scatter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.scatter,.theory-panel{background:var(--surface-raised);border:1px solid var(--line);margin:0;padding:16px}.scatter figcaption,.theory-panel figcaption{margin-bottom:8px;font-size:14px;font-weight:700}.scatter svg,.theory-panel svg{width:100%;height:auto;display:block}.scatter .grid,.theory-panel .grid{stroke:var(--line)}.scatter .axis,.theory-panel .axis{fill:var(--ink-muted);stroke:none;font-size:11px}.theory-panel .series{fill:none;stroke:var(--ink);stroke-width:2px}.ideal{stroke:var(--ink-muted);stroke-dasharray:5 4;stroke-width:1px}.interval{stroke:var(--ink-muted);stroke-width:1px;opacity:.45}.pt{fill:var(--pooled)}.scatter-stats{color:var(--ink-muted);font-size:12px;max-width:none!important;margin:8px 0 0!important}.theory{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=720px){.theory{grid-template-columns:repeat(3,minmax(0,1fr))}}.bar{fill:var(--ink)}.bar.f0{fill:var(--ink-muted);opacity:.55}.bar.f1{fill:var(--ink)}.bar.f2{fill:var(--pooled)}@media (width<=640px){.top{margin-bottom:24px}.story{gap:56px}.hud-big{font-size:72px}}@media (prefers-reduced-motion:reduce){button,.button{transition:none}.barcode-bars rect{animation:none}}.barcode{position:relative}.barcode-ticks{height:20px;color:var(--ink-muted);margin-top:4px;font-size:12px;position:relative}.barcode-ticks span{position:absolute;transform:translate(-50%)}.barcode-ticks span:first-child{transform:none}.barcode-ticks span:last-child{transform:translate(-100%)}.plot figcaption{color:var(--ink-muted);max-width:var(--measure);margin-top:8px;font-size:14px}.legend{color:var(--ink);flex-wrap:wrap;gap:4px 16px;margin-top:8px;display:flex}.legend>span{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.legend svg{overflow:visible}.legend .line{fill:none;stroke-width:2.5px}.legend .lanes-0{stroke:var(--ink);opacity:.45}.legend .lanes-1{stroke:var(--ink)}.legend .lanes-2{stroke:var(--ink);stroke-dasharray:8 4}h1,h2{text-wrap:balance}.chart .plan-avg{stroke:var(--ink);stroke-width:3px}.chart .plan-busy{stroke:var(--ink-muted);stroke-dasharray:7 4}.chart .observed,.legend .observed{fill:var(--pooled);stroke:var(--surface-raised);stroke-width:1.5px}.legend .series{fill:none;stroke-width:2.5px}.legend .plan-avg{stroke:var(--ink);stroke-width:3px}.legend .plan-busy{stroke:var(--ink-muted);stroke-dasharray:7 4}.chart .legend{margin:8px 0 0;font-size:13px}.staff-note{max-width:var(--measure);border-left:3px solid var(--accent);margin:0;padding-left:16px}.scatter-single{max-width:520px}.validation>.page-head{margin-bottom:-24px}.top-right{flex-wrap:wrap;align-items:center;gap:8px 24px;display:flex}.lang{padding-bottom:8px;display:flex}.lang button{border-right-width:0;padding:4px 8px;font-size:12px;font-weight:700}.lang button:last-child{border-right-width:1px}.lang button[aria-checked=true]{background:var(--ink);color:var(--surface-raised);border-color:var(--ink)}.steps{max-width:var(--measure);gap:12px;margin:0;padding-left:24px;display:grid}.steps li::marker{color:var(--ink-muted);font-family:JetBrains Mono,monospace;font-weight:700}.chapter>p:not(.fine):not(.aside)+p{margin-top:0}.app .page-head p{margin-top:16px}.theory-panel .axis{font-size:10px}.theory-panel{width:100%;max-width:420px}
