:root{font-family:Geist,sans-serif;color:#202723;background:#fafbf9;--muted:#647169;--line:#d9dfd9;--accent:#166952;--ease:cubic-bezier(.32,.72,0,1)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,select,input{font:inherit}button,select{border:1px solid #c6cfc8;border-radius:4px;padding:8px 12px;min-height:40px;background:#fff;color:inherit;font-weight:600;font-size:14px;line-height:20px}button{cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease)}button:hover{background:#e8eee9}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:default}button.primary{color:#fff;background:var(--accent);border-color:var(--accent);font-size:16px;line-height:24px}button.primary:hover{background:#0b513f}.text-button{background:none;border:0;padding:8px 0}.text-button:hover{background:none;text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input{accent-color:var(--accent)}.skip{position:absolute;top:-64px;left:16px;z-index:5;padding:12px;background:white}.skip:focus{top:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}header{max-width:1440px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}header nav{display:flex;align-items:center;gap:24px;font-size:14px;line-height:20px}.brand{font-size:20px;line-height:28px;font-weight:700;letter-spacing:-.04em}.brand span{font-weight:400;color:var(--muted)}main{max-width:1440px;margin:auto;padding:0 32px}.intro{padding:32px 0;display:flex;justify-content:space-between;gap:32px;align-items:flex-end}h1,h2,h3,p{margin:0;text-wrap:pretty}h1,h2{text-wrap:balance}h1{font-size:60px;line-height:1;font-weight:500;letter-spacing:-.06em;margin:8px 0 16px;background:linear-gradient(90deg,#000,#666);background-clip:text;color:transparent}.intro>div>p:last-child{font-size:18px;line-height:28px;color:var(--muted)}.eyebrow,.tag,.stamp,.session,.field-bottom,.readout,.range-labels,.chart-label{font-family:'Geist Mono',monospace}.eyebrow{font-size:12px;line-height:16px;color:var(--muted)}.session{font-size:12px;line-height:16px;padding-bottom:4px}.session small{display:block;color:var(--muted);font-size:12px;line-height:16px;margin-top:8px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3b896e;margin-right:4px}.instrument{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.instrument-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:16px;background:#f1f4ef;font-size:12px;line-height:16px}.instrument-actions{display:flex;gap:8px}.instrument-actions button{min-height:32px;padding:4px 8px;font-size:12px;line-height:16px}.tag{letter-spacing:.08em}.desktop-note{color:var(--muted)}.experiment{display:grid;grid-template-columns:minmax(0,1fr) 304px}.image-column{min-width:0}.microscope{position:relative;background:#ccc;overflow:hidden;aspect-ratio:3/2}.microscope canvas{width:100%;height:100%;display:block;cursor:crosshair;touch-action:none}.stamp,.field-bottom{position:absolute;pointer-events:none;font-size:12px;line-height:16px;color:#1c332a;text-shadow:0 1px 2px #ffffffd9}.stamp{top:16px;left:16px;right:16px;display:flex;justify-content:space-between;letter-spacing:.05em;font-weight:500}.field-bottom{bottom:16px;left:16px;right:16px;display:flex;gap:16px;justify-content:space-between}.view-controls{padding:12px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;line-height:16px}.view-controls label{display:flex;align-items:center;gap:4px}.view-controls input[type=range]{width:80px}.view-controls button{font-size:12px;line-height:16px;padding:4px 8px;min-height:32px}.feedback{padding:8px 16px 16px;font-size:14px;line-height:20px;color:var(--muted)}.controls{padding:24px;background:#f5f7f3;display:flex;flex-direction:column;gap:24px}.subject select{display:block;background:none;border:0;padding:4px 0;margin:4px 0;font-size:24px;line-height:32px;max-width:100%;width:100%;font-weight:500}.subject p{font-size:12px;line-height:16px;color:var(--muted)}.controls h2{font-size:18px;line-height:28px;font-weight:500;margin-bottom:8px}.controls p:not(.eyebrow){font-size:14px;line-height:20px;color:var(--muted)}.button-row{display:flex;gap:8px;margin:16px 0 24px}.button-row button{flex:1;white-space:nowrap;padding:8px;font-size:14px;line-height:20px}.current-label{display:flex;justify-content:space-between;font-size:12px;line-height:16px;margin-bottom:8px}.current-label output{color:var(--muted)}#current{width:100%;margin:0;height:24px}.range-labels{font-size:12px;line-height:16px;display:flex;justify-content:space-between;color:var(--muted);margin-bottom:16px}.wide{width:100%}#panic{display:flex;justify-content:space-between;background:#e7ece5}#panic span{color:var(--muted);font-weight:400}.challenge .eyebrow{margin-bottom:8px}.challenge>button.primary{margin-top:16px}#race-progress{display:flex;justify-content:space-between;font-family:'Geist Mono',monospace;margin-top:16px}.readout{display:grid;grid-template-columns:32% 1fr;gap:32px;margin-top:24px;border:1px solid var(--line);padding:16px;border-radius:8px;background:#fff}.closeup{position:relative;min-width:0;background:#ccc;border-radius:4px;overflow:hidden}.closeup canvas{display:block;width:100%;height:100%;max-height:208px;object-fit:cover}.closeup span{position:absolute;bottom:8px;left:12px;font-size:12px;line-height:16px;color:#1c332a;text-shadow:0 1px 2px #ffffffd9}.telemetry{padding:8px 16px 8px 0;min-width:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:12px 0}.metrics span,.metrics small{display:block;font-size:12px;line-height:16px;color:var(--muted)}.metrics strong{display:block;font-size:24px;line-height:32px;font-weight:400;margin:4px 0}.telemetry canvas{width:100%;height:48px;display:block}.chart-label{display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:16px;color:var(--muted);margin-top:4px}.explanation{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin:64px 0}.explanation h2{font-size:48px;line-height:1;font-weight:500;letter-spacing:-.04em;max-width:680px}.explanation p{font-size:14px;line-height:20px;color:var(--muted);margin:0 0 16px;max-width:600px}.explanation p:first-child{font-size:18px;line-height:28px;color:#202723}footer{padding:24px 0 40px;display:flex;justify-content:space-between;gap:24px;font-size:12px;line-height:16px;color:var(--muted)}footer nav{display:flex;gap:24px;flex-wrap:wrap}dialog{border:1px solid var(--line);border-radius:8px;padding:32px;max-width:640px;width:calc(100% - 32px);max-height:85dvh;background:#fafbf9;color:#202723}dialog::backdrop{background:#0009;backdrop-filter:blur(8px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}dialog h2{font-size:30px;line-height:36px;font-weight:500;margin-bottom:16px}dialog h3{font-size:16px;line-height:24px;font-weight:600;margin:24px 0 8px}dialog p{font-size:14px;line-height:20px;color:var(--muted);margin-bottom:12px}dialog a{text-decoration:underline}.source-links{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;line-height:20px;margin-top:24px}.result{position:absolute;inset:0;background:#181818e8;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:32px;text-align:center}.result .eyebrow{color:#a9b9ae}.result h2{font-size:36px;line-height:40px;font-weight:500}.result p{font-size:16px;line-height:24px}.result button:not(.primary){background:none;color:#fff}.microscope:fullscreen{aspect-ratio:auto;height:100dvh;display:flex;align-items:center;justify-content:center}.microscope:fullscreen canvas{width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:3/2}.microscope.expanded{position:fixed;inset:0;z-index:10;aspect-ratio:auto;height:100dvh}.microscope.expanded{display:flex;align-items:center;justify-content:center}.microscope.expanded canvas{width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:3/2}.reveal{opacity:.35;transition:opacity .8s var(--ease),transform .8s var(--ease);transform:translateY(16px)}.reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}@media(max-width:1050px){.experiment{grid-template-columns:minmax(0,1fr) 264px}.controls{padding:16px;gap:24px}.button-row{flex-wrap:wrap}.desktop-note{display:none}.intro{padding-top:24px}.microscope{aspect-ratio:3/2}.readout{gap:24px}.chart-label span:last-child{display:none}}@media(max-width:760px){header{padding:16px;gap:16px}.brand{font-size:18px;line-height:28px}.brand span{display:none}header nav{gap:16px;font-size:12px;line-height:16px}header nav button{font-size:12px;line-height:16px}main{padding:0 16px}.intro{padding:24px 0;display:block}.intro h1{font-size:48px;line-height:1}.intro>div>p:last-child{font-size:16px;line-height:24px}.session{margin-top:24px}.session small{display:inline;margin-left:8px}.experiment{display:block}.microscope{aspect-ratio:3/2}.stamp{top:8px;left:8px;right:8px;font-size:12px;line-height:16px}.field-bottom{bottom:8px;left:8px;right:8px;font-size:12px;line-height:16px}.field-bottom #hint{max-width:70%}.view-controls{gap:12px;padding:12px}.view-controls label:nth-child(3){margin-left:auto}.controls{display:grid;grid-template-columns:1fr;gap:24px;padding:24px}.subject{display:grid;grid-template-columns:1fr 1fr;align-items:center}.subject p{grid-column:1/-1}.subject select{text-align:right;margin:0}.button-row{flex-wrap:nowrap}.readout{grid-template-columns:1fr;gap:16px;padding:12px}.closeup{height:160px}.closeup canvas{object-fit:contain}.telemetry{padding:8px}.metrics{gap:12px}.metrics strong{font-size:24px;line-height:32px}.explanation{grid-template-columns:1fr;gap:24px;margin:48px 0}.explanation h2{font-size:36px;line-height:40px}.explanation>div{max-width:600px}footer{display:block}footer nav{gap:16px;margin-top:24px}.result{padding:16px;gap:8px}.result h2{font-size:24px;line-height:32px}.result p{font-size:14px;line-height:20px}.result .eyebrow{display:none}dialog{padding:24px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.reveal{opacity:1;transform:none}}

.exit-expanded{display:none;position:absolute;top:40px;right:16px;z-index:2}.expanded .exit-expanded,:fullscreen>.exit-expanded{display:block}

.evidence{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:24px;border:1px solid var(--line);border-radius:8px;margin-top:24px;background:#fff}.evidence h2{font-size:24px;line-height:32px;font-weight:500;margin:8px 0 12px}.evidence h3{font-size:16px;line-height:24px;font-weight:500;margin:0 0 16px}.evidence p{font-size:14px;line-height:20px;color:var(--muted);max-width:600px}.run-facts{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0;font-family:'Geist Mono',monospace;font-size:12px;line-height:16px}.run-facts strong{display:block;font-weight:500;margin-top:4px}.evidence .export-note{font-size:12px;line-height:16px;margin-top:12px}#event-log{padding:0 0 0 16px;font-family:'Geist Mono',monospace;font-size:12px;line-height:16px;color:var(--muted);min-height:96px}#event-log li{margin-bottom:12px;overflow-wrap:anywhere}@media(max-width:760px){.evidence{grid-template-columns:1fr;gap:32px;padding:24px}.chart-label{font-size:12px;line-height:16px}.metrics small{font-size:12px;line-height:16px}}

/* Shared live model panel */
.room{margin:0 clamp(16px,4vw,48px) 8px;padding:16px 18px;border:1px solid #d9dcd6;border-radius:12px;background:#fbfcfa;display:grid;gap:8px}
.room-head{display:flex;align-items:center;gap:8px;font-size:15px}
.room .dot{width:9px;height:9px;border-radius:50%;background:#9aa39a;flex:0 0 auto}
.room .dot[data-status="live"]{background:#27755a;box-shadow:0 0 0 3px #27755a22}
.room .dot[data-status="stale"]{background:#b58a1b}
.room .dot[data-status="offline"]{background:#a33}
.room-detail,.room-role,.room-hint{margin:0;font-size:13px;color:#4a504a}
.room-role{font-weight:500;color:#181818}
.room-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.room small{color:#6a706a;font-size:11.5px;line-height:1.45}
.solo-banner{margin:0 clamp(16px,4vw,48px) 8px;padding:10px 14px;border:1px dashed #c9ccc6;border-radius:10px;font-size:13px;color:#4a504a}
button[disabled]{opacity:.45;cursor:not-allowed}
@media (max-width:520px){.room{margin:0 12px 8px;padding:14px}.room-actions button,.room-actions a{width:100%;text-align:center}}
