:root{--t-display:clamp(2.75rem, 6vw, 4.5rem);--t-readout:clamp(2rem, 4.5vw, 3.25rem);--t-h1:clamp(1.5rem, 2.4vw, 2rem);--t-h2:1.25rem;--t-body:clamp(1.0625rem, 1.1vw, 1.1875rem);--t-readout-sm:1.25rem;--t-label:.9375rem;--font-stack:"Inter var", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius:6px;--measure:68ch;--opto-d:4vmin;--opto-min:1.2vmin;--opto-max:9vmin;--target:44px}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-stack);font-feature-settings:"tnum" 1, "ss01" 1;-webkit-text-size-adjust:100%}body{font-size:var(--t-body);background:var(--surface-0);color:var(--ink-1);margin:0;line-height:1.55}:root,:root[data-theme=dark]{--surface-0:#0b0e12;--surface-1:#141922;--surface-2:#1d2530;--ink-1:#e6edf3;--ink-2:#a8b4c0;--ink-3:#7c8895;--edge:#2a3542;--edge-strong:#5e7186;--zone-in:#5bd6ae;--zone-out:#d9a63c;--refused:#98a2b0;--halt:#f08a6c;--focus:#9bc9ff;--optotype:#f4f8fb}:root[data-theme=dim]{--surface-0:#04060a;--surface-1:#0b0f15;--surface-2:#131a22;--ink-1:#c2cbd4;--ink-2:#8b96a2;--ink-3:#7b8692;--edge:#1a222c;--edge-strong:#556779;--zone-in:#47b892;--zone-out:#c79a3e;--refused:#818c99;--halt:#ce7458;--focus:#7fb0e8;--optotype:#d8e1e9}:root[data-theme=light]{--surface-0:#ede8df;--surface-1:#f6f2ea;--surface-2:#fbf8f2;--ink-1:#14181d;--ink-2:#3e4750;--ink-3:#5c6670;--edge:#c9c1b4;--edge-strong:#6e6759;--zone-in:#0a6b4f;--zone-out:#7a4f00;--refused:#4e5761;--halt:#96351b;--focus:#0f4794;--optotype:#0a0d10}@media (prefers-color-scheme:light){:root:not([data-theme]){--surface-0:#ede8df;--surface-1:#f6f2ea;--surface-2:#fbf8f2;--ink-1:#14181d;--ink-2:#3e4750;--ink-3:#5c6670;--edge:#c9c1b4;--edge-strong:#6e6759;--zone-in:#0a6b4f;--zone-out:#7a4f00;--refused:#4e5761;--halt:#96351b;--focus:#0f4794;--optotype:#0a0d10}}@media (prefers-contrast:more){:root{--ink-3:var(--ink-2)}.control,input,select,button{border-width:2px}}main{min-height:100dvh;padding:var(--space-5);max-width:72rem;margin:0 auto}.screen[hidden]{display:none}h1{font-size:var(--t-h1);margin:0 0 var(--space-2);font-weight:620;line-height:1.15}h2{font-size:var(--t-h2);margin:var(--space-5) 0 var(--space-2);font-weight:600;line-height:1.25}p{max-width:var(--measure);margin:0 0 var(--space-3)}.muted{color:var(--ink-2)}.caption{font-size:var(--t-label);color:var(--ink-3)}.tnum{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip-link{left:var(--space-4);background:var(--surface-2);color:var(--ink-1);padding:var(--space-2) var(--space-4);border-radius:var(--radius);z-index:20;transition:top .12s;position:absolute;top:-3rem}.skip-link:focus{top:var(--space-4)}button{font:inherit;font-size:var(--t-body);min-height:var(--target);padding:var(--space-2) var(--space-5);background:var(--surface-2);color:var(--ink-1);border:1.5px solid var(--edge-strong);border-radius:var(--radius);cursor:pointer;transition:transform 90ms,background-color .12s}button:hover:not(:disabled){background:var(--surface-1)}button:active:not(:disabled){transform:scale(.985)}button:disabled{opacity:.5;cursor:not-allowed}button.text-button{border:none;border-bottom:1px solid var(--edge-strong);padding:var(--space-2) var(--space-1);color:var(--ink-2);background:0 0;border-radius:0}button.primary{border-color:var(--ink-2)}fieldset{border:1.5px solid var(--edge);border-radius:var(--radius);padding:var(--space-4);margin:0 0 var(--space-4)}legend{font-size:var(--t-label);color:var(--ink-2);padding:0 var(--space-2)}label{font-size:var(--t-label);color:var(--ink-2);margin-bottom:var(--space-1);font-weight:500;display:block}input,select,textarea{font-family:inherit;font-size:var(--t-body)}input[type=number],input[type=text],select{font:inherit;font-size:var(--t-body);width:100%;height:48px;padding:0 var(--space-3);background:var(--surface-2);color:var(--ink-1);border:1.5px solid var(--edge-strong);border-radius:var(--radius)}.field{margin-bottom:var(--space-4)}.field-row{align-items:center;gap:var(--space-2);display:flex}.field-unit{font-size:var(--t-label);color:var(--ink-3);min-width:3.5rem}.field-error{font-size:var(--t-label);color:var(--ink-2);margin-top:var(--space-1);border-left:2px solid var(--edge-strong);padding-left:var(--space-2)}details{margin-top:var(--space-1)}summary{font-size:var(--t-label);color:var(--ink-3);cursor:pointer;min-height:var(--target);align-items:center;display:flex}details>.disclosure-body{font-size:var(--t-label);color:var(--ink-2);padding:var(--space-2);border-left:2px solid var(--edge);max-width:var(--measure)}.field-grid{gap:0 var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));display:grid}.gate-card{background:var(--surface-1);border:1.5px solid var(--edge-strong);border-radius:var(--radius);padding:var(--space-5);margin-bottom:var(--space-3)}.checkbox-row{gap:var(--space-3);margin-top:var(--space-4);align-items:flex-start;display:flex}.checkbox-row input[type=checkbox]{width:28px;height:28px;accent-color:var(--zone-in);flex:none;margin:0}.checkbox-row label{font-size:var(--t-body);color:var(--ink-1);min-height:var(--target);cursor:pointer;align-items:center;margin:0;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.theme-picker{gap:var(--space-1);border:none;margin:0;padding:0;display:flex}.theme-picker label{align-items:center;gap:var(--space-1);min-height:var(--target);padding:0 var(--space-2);border:1px solid var(--edge);border-radius:var(--radius);margin:0;display:inline-flex}.radio-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.radio-row label{align-items:center;gap:var(--space-2);min-height:var(--target);padding:0 var(--space-3);border:1px solid var(--edge-strong);border-radius:var(--radius);color:var(--ink-1);font-size:var(--t-body);margin:0;display:inline-flex}.wordmark{letter-spacing:-.01em;font-weight:620}.setup-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));display:grid}.check-card{background:var(--surface-1);border:1px solid var(--edge);border-radius:var(--radius);padding:var(--space-4)}.check-verdict{font-size:var(--t-readout-sm);font-variant-numeric:tabular-nums}video.framing{border-radius:var(--radius);background:var(--surface-2);width:320px;max-width:100%;transform:scaleX(-1)}.framing-wrap{width:max-content;max-width:100%;position:relative}.framing-oval{pointer-events:none;position:absolute;inset:0}input[type=range]{width:100%;min-height:var(--target);accent-color:var(--zone-in)}#screen-block{grid-template-rows:1fr auto auto auto;align-content:center;justify-items:center;height:100dvh;padding:0;display:grid;overflow:hidden}.ring-stage{aspect-ratio:1;place-items:center;width:min(88vmin,100%);display:grid;position:relative}.ring-stage svg.ring{width:100%;height:100%;transform:rotate(135deg)}.quiet-field{width:calc(var(--opto-d) * 5);height:calc(var(--opto-d) * 5);pointer-events:none;place-items:center;display:grid;position:absolute}.optotype{width:var(--opto-d);height:var(--opto-d);color:var(--optotype);opacity:.78;transition:opacity .25s linear}.optotype[data-window=open]{opacity:1}.cycle-strip{width:min(80vmin,100%);height:28px;margin-top:var(--space-3)}.status-line{font-size:var(--t-label);color:var(--ink-2);text-align:center;min-height:1.5em;padding:0 var(--space-4)}.dose-readout{font-size:var(--t-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-align:center;font-weight:620;line-height:1}.dose-sub{font-size:var(--t-label);color:var(--ink-2);text-align:center;margin-bottom:var(--space-4)}.presence-tile{left:var(--space-4);bottom:var(--space-4);border-radius:var(--radius);filter:brightness(.6)grayscale(.4);opacity:.5;width:140px;transition:opacity .2s,filter .2s;position:fixed;transform:scaleX(-1)}.presence-tile[data-alert=true]{filter:none;opacity:1;outline:2px solid var(--edge-strong)}.key-legend{right:var(--space-4);bottom:var(--space-4);font-size:var(--t-label);color:var(--ink-3);text-align:right;position:fixed}.paused-overlay{background:var(--surface-0);font-size:var(--t-h2);color:var(--ink-1);z-index:10;place-items:center;display:grid;position:fixed;inset:0}.symptom-scale{gap:var(--space-2);border:none;flex-wrap:wrap;padding:0;display:flex}.symptom-scale label{width:var(--target);height:var(--target);border:1.5px solid var(--edge-strong);border-radius:var(--radius);font-size:var(--t-body);color:var(--ink-1);cursor:pointer;place-items:center;margin:0;display:grid}.symptom-scale input{opacity:0;width:var(--target);height:var(--target);cursor:pointer;margin:0;position:absolute}.symptom-scale label:has(input:checked){background:var(--surface-2);border-color:var(--ink-1);border-width:2.5px}.symptom-scale label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.scale-anchors{max-width:32rem;font-size:var(--t-label);color:var(--ink-3);margin-top:var(--space-1);justify-content:space-between;display:flex}.outcome-halt{color:var(--halt)}.rest-countdown{font-size:var(--t-readout);font-variant-numeric:tabular-nums}.report{max-width:60rem}.report table{border-collapse:collapse;width:100%;margin-bottom:var(--space-4)}.report caption{text-align:left;font-size:var(--t-label);color:var(--ink-2);padding-bottom:var(--space-2)}.report th,.report td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--edge);font-size:var(--t-label)}.report th{color:var(--ink-2);font-weight:600}.report td.num{font-variant-numeric:tabular-nums;text-align:right}.dose-bar{width:100%;height:20px;display:block}.honesty-box{border:1.5px solid var(--edge-strong);border-radius:var(--radius);padding:var(--space-4);margin:var(--space-5) 0;max-width:var(--measure);font-size:var(--t-body)}.citations{font-size:var(--t-label);color:var(--ink-2);max-width:var(--measure)}.citations li{margin-bottom:var(--space-2)}.example-banner{border:1.5px solid var(--edge-strong);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--t-label);color:var(--ink-1);max-width:var(--measure);border-left-width:5px}.chip{font-size:var(--t-label);border:1px solid var(--edge-strong);padding:0 var(--space-2);color:var(--ink-2);letter-spacing:.04em;border-radius:3px;display:inline-block}.sparkline{width:100%;max-width:40rem;height:120px}.button-row{gap:var(--space-3);margin:var(--space-5) 0;flex-wrap:wrap;display:flex}dialog{background:var(--surface-1);color:var(--ink-1);border:1.5px solid var(--edge-strong);border-radius:var(--radius);padding:var(--space-5);max-width:32rem}dialog::backdrop{background:#0009}.banner{border:1.5px solid var(--edge-strong);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--t-label);max-width:var(--measure)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@page{size:letter;margin:.5in}@media print{:root{--surface-0:#fff;--surface-1:#fff;--surface-2:#fff;--ink-1:#000;--ink-2:#000;--ink-3:#000;--edge:#999;--edge-strong:#000;--zone-in:#000;--zone-out:#000;--refused:#666;--halt:#000;--optotype:#000}body{color:#000;background:#fff;font-size:9.5pt;line-height:1.35}main{max-width:none;min-height:0;padding:0}.no-print,.settings-row,.skip-link,.presence-tile,.key-legend,button,dialog{display:none!important}.report{max-width:none}.report h1{font-size:13pt}.report h2{margin:8pt 0 3pt;font-size:10.5pt}.report p,.honesty-box{max-width:none;font-size:9.5pt}.report table,.report th,.report td{font-size:9pt}.dose-total{font-size:22pt}details{display:block}details>summary{display:none}details>.disclosure-body{border-left:1px solid #999;font-size:8pt;display:block!important}.citations,.citations li{font-size:8pt}.block-row,.histogram-row,.honesty-box,.report tr,.report-band{break-inside:avoid}.dose-bar,.histogram-bar{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact}.dose-bar rect,.histogram-bar rect,.sparkline polyline,.sparkline circle{stroke:#000}.example-banner{border:1pt solid #000;display:block!important}tr[data-provenance=example] td:first-child:before{content:"EXAMPLE ";letter-spacing:.06em;font-size:7.5pt}a[href]:after{content:""}}
