@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#08131c;--panel:#0e202c;--line:#24404e;--text:#edf6f6;--muted:#a3b9c4;--mint:#80edcb;--gold:#f0bd76;--red:#ff9292}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 'DM Sans',sans-serif}button,select,input{font:inherit}button,select{color:inherit;background:#132b38;border:1px solid var(--line);border-radius:7px;padding:10px 14px}button{cursor:pointer;transition:background .2s,border-color .2s}button:hover{background:#234351;border-color:#6cb8b3}button:disabled{opacity:.6;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button[aria-pressed=true]{background:#214d48;border-color:var(--mint);color:var(--mint)}header{height:84px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 32px}.brand{display:flex;align-items:center;gap:12px;color:var(--mint);text-decoration:none;font-size:24px}.brand b{font:700 20px 'Space Grotesk',sans-serif;letter-spacing:2px}.brand span{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:16px;margin-left:12px;letter-spacing:2px}main{display:grid;grid-template-columns:245px minmax(540px,1fr) 275px;max-width:1900px;margin:auto}aside{padding:32px 22px;border-right:1px solid var(--line)}.eyebrow{font-size:12px;letter-spacing:1.8px;color:var(--mint);font-weight:700}h1,h2,h3{font-family:'Space Grotesk',sans-serif;line-height:1.15;margin:12px 0 16px}h1{font-size:30px}h2{font-size:30px}h3{font-size:20px}.muted{color:var(--muted)}.small{font-size:13px}.case-list{display:grid;gap:7px;margin-top:20px}.case-list button{display:flex;justify-content:space-between;text-align:left;font-size:14px;padding:10px 12px;background:transparent}.case-list button.active{color:var(--mint);background:#16362f;border-color:#447e6f}.case-list span{opacity:.65}.progress{margin-top:30px;display:grid;gap:8px;font-size:13px;color:var(--muted)}progress{width:100%;height:5px;accent-color:var(--mint)}select{width:100%;margin-top:8px;font-size:14px}label{font-size:14px}.workspace{padding:28px}.case-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge{font-size:11px;letter-spacing:1px;border:1px solid var(--line);border-radius:30px;padding:7px 10px;white-space:nowrap;color:var(--muted)}.story{color:var(--muted);max-width:850px;margin:0 0 24px}.controls{display:flex;align-items:center;gap:12px;margin-bottom:24px}.controls button{font-size:13px;white-space:nowrap}.severity{flex:1}.severity label{display:flex;justify-content:space-between}.severity strong{color:var(--mint)}input[type=range]{width:100%;accent-color:var(--mint);height:20px}.range-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.view-tabs{display:flex;border-bottom:1px solid var(--line);gap:24px}.view-tabs button{border:0;border-radius:0;background:none;padding:12px 0;color:var(--muted);font-size:14px}.view-tabs button[aria-pressed=true]{color:var(--mint);border-bottom:2px solid var(--mint)}.observation{display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(240px,1fr);border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;overflow:hidden;background:linear-gradient(140deg,#0f2532,#0b1923)}.scene{position:relative;min-height:475px;overflow:hidden;background:radial-gradient(ellipse at center,#17374750,transparent 70%)}.scene-label{position:absolute;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:1px;color:var(--muted)}.live{color:var(--mint);white-space:nowrap}canvas{width:100%;height:475px;display:block}.hotspots button{position:absolute;padding:5px 8px;background:#0a1a23db;border:1px solid #427269;border-radius:30px;color:#b7f3df;font-size:11px;white-space:nowrap}.hotspots button[aria-pressed=true]{background:#28574c}.scene-footer{position:absolute;bottom:12px;left:16px;right:16px;font-size:12px;color:var(--muted);text-align:center}.assessment{padding:25px 22px;border-left:1px solid var(--line)}.assessment h3{font-size:23px}.finding{padding:9px 0;border-bottom:1px solid #24404e80;font-size:14px;display:flex;gap:9px}.finding:before{content:'↳';color:var(--gold)}.mechanism{margin-top:22px}.mechanism p,.focus p{font-size:14px;color:#c1d3da;margin:8px 0}.focus{border-left:2px solid var(--gold);padding-left:14px;margin-top:20px}.focus .eyebrow{color:var(--gold)}.bottom-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:18px;margin-top:20px}.panel{background:#10232e;border:1px solid var(--line);border-radius:10px;padding:22px}.panel p{font-size:14px}.segmented{display:flex;gap:5px}.segmented button{font-size:13px;flex:1;padding:8px}.challenge #answers{display:grid;gap:8px}.challenge #answers button{text-align:left;font-size:14px}.challenge #answers button.correct{border-color:var(--mint);background:#164c3f}.challenge #answers button.wrong{border-color:var(--red);background:#472b33}#feedback{color:var(--mint);margin-bottom:0}#nextQuestion{margin-top:12px}.labs{border-right:0;border-left:1px solid var(--line);background:#0b1923}.labs h2{font-size:24px}.lab-row{padding:17px 0;border-bottom:1px solid var(--line)}.lab-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}.lab-top b{font-weight:500}.lab-value{font:500 29px 'Space Grotesk';margin:7px 0;display:flex;align-items:baseline;gap:7px}.lab-value small{font:12px 'DM Sans';color:var(--muted)}.flag{font-size:10px;letter-spacing:1px;color:var(--mint)}.flag.abnormal{color:var(--gold)}.lab-row.selected{border-left:2px solid var(--mint);padding-left:12px;background:linear-gradient(90deg,#16413755,transparent)}.lab-range{font-size:11px;color:var(--muted)}.lab-track{height:3px;background:#263b46;position:relative;margin:13px 0}.lab-track i{position:absolute;width:30%;height:3px;left:35%;background:#447e6f}.lab-track em{position:absolute;width:7px;height:7px;background:var(--gold);border-radius:50%;top:-2px}.lab-note{margin-top:22px;border-radius:7px;background:#152e39;padding:13px;font-size:13px;color:#c2d9df}footer{text-align:center;padding:20px 30px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}dialog{max-width:760px;width:calc(100% - 32px);max-height:85vh;border:1px solid #47705f;background:#10232e;color:var(--text);border-radius:15px;padding:32px}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog a{color:var(--mint)}dialog p{color:#c0d2d9}dialog ul{padding-left:20px}dialog li{margin:6px 0}.close{float:right}#score{float:right;color:var(--gold)}
@media(min-width:1600px){main{grid-template-columns:265px minmax(600px,1fr) 300px}.scene,canvas{height:540px}.assessment{padding:30px}.assessment p,.finding{font-size:16px}}
@media(max-width:1200px){main{grid-template-columns:205px minmax(450px,1fr)}.labs{grid-column:1/-1;border-top:1px solid var(--line)}#labRows{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.workspace{padding:22px}.observation{grid-template-columns:1fr}.assessment{border-left:0;border-top:1px solid var(--line)}.assessment #findings{display:flex;gap:20px}.finding{flex:1}.mechanism,.focus{margin-top:16px}.scene,canvas{height:420px;min-height:420px}.scene-label{font-size:12px}.hotspots button{font-size:13px}.bottom-grid{grid-template-columns:1fr}.controls{flex-wrap:wrap}.severity{min-width:100%}}
@media(max-width:720px){header{height:auto;padding:20px;gap:15px;flex-wrap:wrap}.brand span{display:none}header button{font-size:13px}main{display:block}aside{padding:22px;border-bottom:1px solid var(--line);border-right:0}h1{font-size:25px}h1 br{display:none}.case-list{display:none}aside>p,.progress{display:none}.workspace{padding:20px 14px}.case-heading{align-items:flex-start}.badge{display:none}h2{font-size:27px}.view-tabs{gap:18px}.view-tabs button{font-size:13px}.assessment #findings{display:block}.scene,canvas{min-height:430px;height:430px}#labRows{grid-template-columns:repeat(2,1fr)}.labs{padding:24px 20px}.scene-label{font-size:10px}.hotspots button{font-size:11px}.panel{padding:18px}dialog{padding:24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.risk-banner{display:flex;align-items:flex-start;gap:20px;padding:20px;margin:16px 0;background:#321f2a;border:1px solid #80515a;border-radius:10px}.risk-banner h3{color:#ffb5af;margin:8px 0}.risk-banner p{font-size:14px;margin:7px 0;color:#e1c7cc}.risk-banner .eyebrow{color:#ffb5af}.risk-banner .risk-note{font-size:12px;color:#cbb6c0}.risk-banner button{font-size:13px;min-width:130px}.hotspots button.at-risk{border-color:#ff9999;color:#ffb5af;background:#321f2ae8}.hotspots button.at-risk[aria-pressed=true]{background:#703c44}.body-inspector{padding:14px;margin-top:18px;border:1px solid #48746d;border-radius:8px;background:#142d35}.body-inspector p{font-size:14px;color:#c5dae0;margin:9px 0}.body-inspector a{font-size:13px;color:var(--mint)}.urgent{font-size:14px;color:#ffb5af}@media(max-width:720px){.risk-banner{display:block}.risk-banner button{margin-top:10px}.hotspots button{padding:7px 8px}}
[hidden]{display:none!important}.creator{display:block;color:var(--mint);font-size:15px;letter-spacing:.4px;margin:12px 0}.sandbox-controls{border:1px solid #356257;background:#102b2d;border-radius:10px;padding:20px;margin-bottom:20px}.sandbox-controls p{font-size:14px;color:var(--muted)}#labEditors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.lab-editor{padding:12px;background:#0c2029;border-radius:7px}.lab-editor label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}.lab-editor output{color:var(--mint)}.lab-editor button{font-size:12px;padding:5px 9px}.ecg-panel{padding:24px;border:1px solid #31564c;background:#081d18;border-radius:10px}.ecg-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ecg-toolbar>div:first-child{flex:1;min-width:190px}.ecg-toolbar select{max-width:300px}.ecg-toolbar button{font-size:13px}.ecg-panel canvas{height:280px;width:100%;border:1px solid #31564c;border-radius:7px;margin:20px 0}.ecg-panel p{color:#b9d0c7;font-size:14px}.ecg-panel a{color:var(--mint)}.ecg-metrics{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#80edb5}.ecg-metrics span{font-size:12px}.view-tabs{gap:20px}.view-tabs button{white-space:nowrap}@media(max-width:720px){#labEditors{grid-template-columns:1fr}.view-tabs{gap:12px;overflow-x:auto}.view-tabs button{font-size:12px}.ecg-panel{padding:16px}.ecg-toolbar select{max-width:100%}}
.labs .sandbox-controls{padding:0;background:none;border:0;margin:0}.labs .sandbox-controls h3{font-size:19px}.labs .sandbox-controls>p{font-size:13px}.labs #labEditors{grid-template-columns:1fr;gap:10px}.labs .lab-editor{padding:10px 0;border-bottom:1px solid var(--line);border-radius:0}.labs .lab-editor label{font-size:13px}.labs .lab-editor output{font-size:15px}.labs #normalLabs{width:100%;font-size:13px}.ecg-panel{min-width:0}@media(max-width:1200px) and (min-width:721px){.labs #labEditors{grid-template-columns:repeat(3,1fr)}}
.hotspots{position:absolute;left:0;right:0;top:0;height:475px;pointer-events:none}.hotspots button{pointer-events:auto}@media(min-width:1600px){.hotspots{height:540px}}@media(max-width:1200px){.hotspots{height:420px}}@media(max-width:720px){.hotspots{height:430px}}
