@font-face{font-family:Inter;src:url('/fonts/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url('/fonts/InterVariable-Italic.woff2') format('woff2');font-style:italic;font-weight:100 900;font-display:swap}
:root{--margin:72px;--body:14px;--small:12px;--text:#080808;--muted:#929292;--line:#999;--orange:#ff8200;--green:#2ca127;--blue:#2585ce;--amber:#bc8619;--purple:#7155e9;--section-gap:36px;--control-height:44px;--graph-height:620px;--header-height:64px;--toolbar-height:0px}
*{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-height) + var(--toolbar-height) + 16px)}body{margin:0;padding-top:var(--header-height);background:white;color:var(--text);font:400 var(--body)/1.45 Inter,sans-serif;font-synthesis:none}button,input,select,pre{font-family:inherit;font-weight:400}strong,b{font-weight:400}main{margin:0 var(--margin)}header{position:fixed;top:0;left:0;right:0;z-index:30;background:white;padding:18px var(--margin);border-bottom:1px solid var(--line)}h1{font-size:22px;line-height:27px;margin:0;font-weight:600}h2{font-size:16px;line-height:21px;margin:0;font-weight:600}h3{font-size:14px;font-weight:600;margin:18px 0 8px}p{margin:0;line-height:1.45}button,input,select{font-size:13px;color:var(--text)}button{cursor:pointer;background:white;border:1px solid #71c3ff;border-radius:8px;padding:10px 20px;min-height:var(--control-height)}button:hover{background:#f5f5f5}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid var(--purple);outline-offset:3px}button:disabled{opacity:.5}input,select{background:white;border:1px solid #999;border-radius:8px;padding:10px;min-width:0}input{width:100%;text-align:center;height:var(--control-height)}a,.orange{color:var(--orange)}.intro{padding:32px 0;border-bottom:1px solid var(--line)}.intro p{max-width:960px;font-size:15px;line-height:1.6}.section-shortcut{width:190px;margin-top:16px}.study-region{padding:32px 0;border-bottom:1px solid var(--line)}.controls{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto var(--control-height);align-items:start;gap:14px 32px}#see-rules{grid-column:1;grid-row:2;margin-top:0;align-self:end}.study-copy{max-width:780px}.study-copy p{font-size:15px;margin-top:4px}.note{font-size:var(--small);font-style:normal;font-weight:400;color:var(--muted);margin-top:18px;line-height:1.45}#study-note{max-width:850px}#study{display:grid;grid-column:2;grid-row:1 / span 2;grid-template-columns:190px 190px;gap:14px 24px;flex-shrink:0}#study label{text-align:center;font-size:13px;display:grid;gap:6px}.controls.is-persistent{display:flex;grid-template-rows:none;position:fixed;top:var(--header-height);left:0;right:0;z-index:29;padding:12px var(--margin);background:white;border-bottom:1px solid #ccc;align-items:center;gap:24px}.controls.is-persistent .study-copy{max-width:none}.controls.is-persistent #study{grid-column:auto;grid-row:auto;grid-template-columns:140px 140px 120px 88px;gap:12px;align-items:end}.controls.is-persistent input,.controls.is-persistent button{height:40px;min-height:40px}.controls.is-persistent button{padding:8px 12px}.controls.is-persistent #study label{gap:4px}.metrics{display:flex;justify-content:space-between;position:relative;padding-bottom:40px}.metric{width:217px;text-align:center}.metric:first-child{margin-left:-47px}.metric:last-child{margin-right:-42px}.metric .label{font-size:13px;padding:18px 0;white-space:nowrap}.metrics:before{content:'';position:absolute;top:54px;left:0;right:0;border-bottom:1px solid var(--line)}.metrics:after{content:'';position:absolute;top:188px;left:0;right:0;border-bottom:1px solid var(--line);z-index:-1}.number{font-size:52px;font-weight:400;margin-top:20px;line-height:1.1}.highlight .number{color:var(--green)}.hint{font-size:11px;line-height:15px;background:#f5e4b8;color:#080808;border-radius:8px;padding:18px 20px;min-height:66px;margin-top:24px}#statistics-end{height:1px}.compare{padding-top:24px}.compare .note{margin-top:18px}#comparison{margin-top:44px}.bar-row{display:grid;grid-template-columns:150px 1fr 56px;gap:33px;align-items:center;font-size:13px;margin-bottom:36px}.bar-row strong{text-align:right;font-weight:400}.track{height:18px;border-radius:12px;background:#e5e5e5;overflow:hidden}.fill{height:100%;background:var(--green);border-radius:12px}.fill.naive{background:#aedfa9}.decisions{margin-top:40px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.primary{background:var(--orange);border-color:var(--orange);width:190px}.primary:hover{background:#f39124}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}th{font-weight:400;text-align:left;padding:18px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:22px 16px;text-align:left;border-bottom:1px solid #e3e3e3;line-height:20px;overflow-wrap:anywhere}th:first-child{width:8%}th:nth-child(2){width:17%}th:nth-child(3){width:20%}th:nth-child(4){width:20%}th:nth-child(5){width:35%}tbody tr{cursor:pointer}tbody tr:hover{background:#faf8ff}.small{font-size:12px;color:var(--muted);font-weight:400}.meets_threshold{color:var(--green)}.below_threshold{color:var(--blue)}.no_eligible_result{color:var(--amber)}.outside_cohort{color:#666}#disclosure{border-top:1px solid var(--line);margin-top:28px;padding:20px 0}summary{cursor:pointer;font-size:13px;font-weight:400}.inspect-controls{display:flex;gap:24px;align-items:center;margin:20px 0}.inspect-controls label{font-size:13px}.inspect-controls button{margin-left:auto}#inspect-content{max-height:480px;overflow:auto;font-size:13px;line-height:1.6}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 13px/1.6 Inter,sans-serif;background:#f7f7f7;padding:16px}footer{font-size:11px;color:var(--muted);font-weight:400;padding:24px 0;line-height:1.6}.text-button{border:0;padding:8px 0;min-height:0;font-size:13px}.trace-intro{padding-top:16px}.trace-intro .note{margin-top:12px}.graph-toolbar{display:flex;gap:24px;align-items:center;margin:18px 0 12px;font-size:13px;clear:both}.graph-toolbar select{margin-left:12px;padding:8px 10px}.zoom-controls{margin-left:auto;display:flex;gap:8px}.zoom-controls button{padding:8px 14px;min-height:34px;border-color:#ddd;border-radius:6px}.graph-layout{position:relative}#canvas{height:var(--graph-height);min-width:0;border:1px solid #e4e2e9;border-radius:12px;background-image:radial-gradient(#d8d5e2 .8px,transparent .8px);background-size:22px 22px;overflow:hidden;touch-action:none}svg{width:100%;height:100%;user-select:none;display:block;font-family:Inter,sans-serif;font-weight:400}.edge{fill:none;stroke:#c8c5d1;stroke-width:1.2;marker-end:url(#arrow)}.edge.active{stroke:var(--purple);stroke-width:1.8}.edge.muted{stroke:#d8d5de}.node rect.card{fill:white;stroke:#d5d2de;stroke-width:1;filter:drop-shadow(0px 2px 2px #0000000b)}.node.active rect.card{stroke:var(--purple);stroke-width:1.8}.node.selected rect.card{stroke:var(--purple);stroke-width:2.5}.node.muted rect.card{fill:#fafafa}.node text{fill:#292334;font-weight:400}.node .title{font-weight:400;font-size:13px}.node .summary{font-size:13px}.node .decision{fill:#756b81;font-size:12px}.node .summary.meets_threshold{fill:var(--green)}.node .summary.below_threshold{fill:var(--blue)}.node .summary.no_eligible_result{fill:var(--amber)}.node .summary.outside_cohort{fill:#666}.node .port{fill:white;stroke:#a39abc;stroke-width:1}.lane-label{font-size:14px;fill:#463964;font-weight:400}.lane-label.muted{fill:#777}.card-inspect,.expand-control{cursor:pointer}.expand-control rect{fill:#f5f3fb;stroke:#ded9ec}.expand-control text{font-size:18px;fill:var(--purple);font-weight:400}#inspector{position:absolute;right:12px;top:12px;z-index:2;width:390px;border:1px solid #d7d3e2;border-radius:12px;padding:20px;background:white;max-height:calc(var(--graph-height) - 24px);overflow:auto;font-size:13px;box-shadow:0 8px 30px #30264922}#inspector h2{margin-top:12px;margin-bottom:12px}#inspector p{margin:10px 0}#inspector button{padding:8px 12px;min-height:32px;float:right}#inspector article{border-top:1px solid #e5e2ec;padding-top:6px;margin-top:18px}#graph-error{margin:30px;max-width:650px;background:white;border:1px solid #ddd;border-radius:10px;padding:24px;font-size:14px}#graph-error h3{margin-top:0}#graph-error p{margin-bottom:20px}#error{color:#a33;margin:20px 0}.snapshot-note{font-size:12px;color:var(--muted);margin:16px 0}.trace-view .snapshot-note{display:none}.trace-view .study-region{padding:18px 0}[hidden]{display:none!important}
@media(min-width:901px) and (max-height:960px){.trace-view{--graph-height:560px}.trace-view .trace-intro{padding-top:12px}.trace-view .graph-toolbar{margin-top:12px}}
@media(max-width:1100px) and (min-width:901px){.controls.is-persistent .study-copy p{font-size:13px}.controls.is-persistent #study{grid-template-columns:100px 100px 108px 76px;gap:8px}}
@media(max-width:900px){:root{--margin:20px;--graph-height:580px}header{padding:16px var(--margin)}.intro{padding:24px 0}.study-region{padding:24px 0}.controls{display:flex;flex-direction:column;gap:18px}#see-rules{order:3;align-self:start}.study-copy{max-width:none}#study{width:100%;grid-template-columns:1fr 1fr;gap:12px 16px}.desktop{display:none}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px 0}.metrics:before,.metrics:after{display:none}.metric{width:auto;margin:0!important}.metric .label{padding:10px 0;white-space:normal}.number{margin-top:12px;font-size:52px}.hint{margin-top:16px}.bar-row{grid-template-columns:100px 1fr 25px;gap:16px}.section-head{align-items:flex-start}.primary{width:auto;white-space:nowrap;padding:10px 14px}table{min-width:900px}.graph-toolbar{flex-wrap:wrap;gap:12px}.zoom-controls{margin-left:0}#inspector{position:relative;width:100%;right:auto;top:auto;margin-top:16px;max-height:480px}.inspect-controls{flex-wrap:wrap}.inspect-controls button{margin-left:0}.trace-intro{padding-top:8px}.controls.is-persistent{display:grid;grid-template-columns:1fr;gap:10px;padding:10px var(--margin)}.controls.is-persistent .study-copy p{font-size:13px;line-height:1.4}.controls.is-persistent #study{grid-template-columns:1fr 1fr;gap:8px 16px}.controls.is-persistent #study label{font-size:12px;gap:4px}.controls.is-persistent input,.controls.is-persistent button{height:36px;min-height:36px}.trace-view .study-region{padding:16px 0}}

/* Keep the two fixed regions on stable compositor layers during scroll. */
header,.controls.is-persistent{will-change:transform}

/* Make room for the trace navigation while keeping the title on one line. */
header h1{transition:transform 240ms ease;transform:translateX(0)}
.header-back{position:absolute;left:var(--margin);top:50%;transform:translate(-8px,-50%);width:32px;height:32px;min-height:32px;padding:6px;border:0;border-radius:6px;opacity:0;visibility:hidden;transition:opacity 180ms ease,transform 240ms ease,visibility 240ms}
.header-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.trace-view header h1{transform:translateX(44px)}
.trace-view .header-back{opacity:1;visibility:visible;transform:translate(0,-50%);transition-delay:120ms,120ms,0ms}
.controls.is-persistent #see-rules{display:none}
footer a{color:inherit;text-underline-offset:3px}
.code-panel{white-space:pre;overflow:auto;overflow-wrap:normal;border:1px solid #e5e2ec;border-radius:8px;color:#292334;tab-size:2}
.code-panel,.code-panel code{font:400 13px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.code-panel:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
.token.syntax-keyword{color:#6845b8;font-weight:600}.token.syntax-string{color:#246c36}.token.syntax-key{color:#175c93}.token.syntax-number{color:#a24d0a}.token.syntax-parameter{color:#9b3971}.token.syntax-function{color:#175c93}.token.syntax-comment{color:#646b74;font-style:italic}.token.syntax-punctuation{color:#60646c}
@media(max-width:480px){.trace-view header h1{max-width:calc(100% - 44px);font-size:18px}}
@media(prefers-reduced-motion:reduce){header h1,.header-back{transition:none}}

/* Recalculation feedback stays within each existing value's layout box. */
.count-digit{display:inline-block;transform-origin:50% 50%;backface-visibility:hidden;font-variant-numeric:tabular-nums}
.number{font-variant-numeric:tabular-nums}
.cell-update{display:block}
.node .status-pass{fill:#23831f}
.node .status-fail{fill:#bd3030}
