:root{color-scheme:dark;--bg:#091413;--panel:#10201e;--line:#2b403a;--text:#edf3ed;--muted:#a6bbb2;--mint:#a7e8cc;--amber:#f4c17f;--red:#f5a89c;font-family:Manrope,Arial,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 30% 0%,#173029 0%,var(--bg) 55%);min-height:100vh}button,a,input{touch-action:manipulation}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:var(--text);border:1px solid var(--line);background:#172b26;border-radius:7px;padding:12px 14px;min-height:44px;font-size:14px}button:hover:not(:disabled){background:#244137;border-color:#6f9b88}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:4px}a{color:var(--mint)}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--line);background:#091311}.brand img{display:block;width:188px;height:49px;object-fit:contain}.edition,.eyebrow,.scene-heading,.task-progress,.room-pin b{font-family:'DM Mono',monospace;letter-spacing:.1em;font-size:12px}.edition{color:var(--muted)}.home{font-size:14px;text-decoration:none;border-bottom:1px solid #729986;padding:8px 0}main{max-width:1530px;margin:auto;padding:32px 4% 20px}.case-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{color:var(--mint);margin:0 0 10px;line-height:1.5}.eyebrow span{color:#687d73;margin:0 10px}h1{font-size:clamp(32px,4vw,48px);font-weight:500;letter-spacing:-.04em;margin:0 0 8px}.intro{font-size:16px;color:var(--muted);margin:0;line-height:1.5}.case-tag{border-left:1px solid var(--line);padding:9px 0 9px 24px}.case-tag b,.case-tag span{display:block}.case-tag b{font-size:15px;font-weight:500}.case-tag span{font-size:13px;color:var(--muted);margin-top:8px}.chapters{display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:16px;gap:7px}.chapter{padding:13px 10px;border-bottom:2px solid var(--line);font-size:13px;color:#8fa99e;display:flex;gap:10px;align-items:center}.chapter b{font:12px monospace;color:#769085}.chapter.current{color:var(--mint);border-color:var(--mint);background:#182e27}.chapter.done{color:#e0eade;border-color:#4c7763}.patient-strip{display:flex;align-items:center;gap:22px;font-size:12px;color:var(--muted);padding:12px 0;line-height:1.5}.patient-strip>span:first-child{color:#dce7df;font:11px monospace;white-space:nowrap}.patient-strip i{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%;margin-right:8px}.prototype-label{margin-left:auto}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0d1c18}.scene-panel{min-width:0;background:#07100e}.scene-heading{height:48px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;color:var(--mint);gap:15px}.scene-heading span:last-child{color:var(--muted);font-size:11px;text-align:right}.scene-footer{min-height:54px;padding:15px 22px;font-size:13px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line)}#scene{position:relative;min-height:410px}.guide{padding:28px 25px;display:flex;flex-direction:column;border-left:1px solid var(--line);background:linear-gradient(130deg,#14251f,#0e1e19)}h2{font-size:27px;line-height:1.15;font-weight:500;letter-spacing:-.025em;margin:0 0 14px}#task-copy{color:#b9cabe;font-size:15px;line-height:1.65;margin:0 0 22px}#actions{display:grid;gap:9px}.feedback{font-size:14px;line-height:1.6;color:var(--mint);padding:14px 0;min-height:66px}.feedback.error{color:var(--amber)}.primary{color:#082116;background:var(--mint);font-weight:600;border-color:var(--mint)}.primary:hover:not(:disabled){color:#041c13;background:#c5f5e1;border-color:#c5f5e1}#continue{width:100%;margin-top:auto}.task-progress{font-size:11px;color:var(--muted);text-align:center;margin-top:13px}.bottom-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px;font-size:12px;color:#9ab1a3}.bottom-bar p{line-height:1.7}.bottom-bar strong{color:#ccdbd2;font-weight:400}.text-button{background:none;border:0;color:var(--muted);font-size:12px}.sources{font-size:13px;color:var(--muted);line-height:1.65;max-width:900px;margin-top:8px}.sources summary{cursor:pointer;padding:10px 0}.sources p{margin:10px 0}.room{position:relative;height:430px;overflow:hidden;background:#142b25}.room img{width:100%;height:100%;object-fit:cover;opacity:.8}.room:after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(0deg,#06161088,transparent 60%)}.room-pin{position:absolute;z-index:1;background:#10221ee8;backdrop-filter:blur(8px);border:1px solid #86b5a0;text-align:left;min-width:140px;box-shadow:0 5px 24px #0008}.room-pin b,.room-pin span{display:block}.room-pin b{color:var(--mint);font-size:11px}.room-pin span{margin-top:5px;font-size:14px}.room-pin.checked{border-color:var(--mint);background:#214331e8}.room-pin:nth-of-type(1){left:4%;top:12%}.room-pin:nth-of-type(2){left:40%;top:66%}.room-pin:nth-of-type(3){right:3%;top:32%}.room-pin:nth-of-type(4){left:4%;bottom:9%}.checkline{text-align:left;display:flex;gap:10px;align-items:center;width:100%;line-height:1.4}.checkline span{color:var(--mint);font:14px monospace}.checkline.checked{border-color:#547d68;background:#1b382b}.scope-workbench{padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:22px;min-height:430px}.scope-diagram{width:100%;height:285px;display:block}.dial-controls{display:flex;flex-direction:column;gap:20px}.dial-controls label{font-size:14px;line-height:1.7;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--mint);display:block;min-height:34px}.scope-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.scope-buttons button{font-size:13px}.test-display{border:1px solid var(--line);background:#071711;padding:16px;border-radius:8px;font-size:14px;line-height:1.6;min-height:100px}.test-display b{display:block;color:var(--mint);font-weight:400}.workspace-label{font-size:12px;color:var(--muted);line-height:1.6}.view-layout{display:grid;grid-template-columns:minmax(0,1fr) 154px;min-height:430px}.endoview{position:relative;align-self:center;padding:18px}.endoview canvas{width:100%;height:auto;display:block;border-radius:9px}.view-caption{position:absolute;left:32px;top:30px;font:10px monospace;letter-spacing:.08em;color:#ead8cc;background:#0b0d0ba6;padding:6px 8px;border-radius:4px;pointer-events:none}.anatomy{border-left:1px solid var(--line);padding:24px 14px;background:#101d18}.anatomy svg{width:100%;height:190px}.anatomy p{font-size:12px;line-height:1.5;color:var(--muted)}.anatomy strong{display:block;font-size:14px;color:var(--mint);font-weight:500;margin-bottom:8px}.segment-list{list-style:none;padding:0;font-size:11px;line-height:1.95;color:#89a096;margin:12px 0}.segment-list .here{color:var(--mint)}.steer{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:220px;margin:auto}.steer button{padding:6px;font-size:20px}.steer button:first-child{grid-column:2}.steer button:nth-child(2){grid-column:1;grid-row:2}.steer button:nth-child(3){grid-column:3;grid-row:2}.steer button:nth-child(4){grid-column:2;grid-row:3}.split-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.split-actions button{font-size:13px;padding:10px}.meter-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:6px}.meter{height:5px;background:#203b2f;border-radius:5px;overflow:hidden;margin-bottom:6px}.meter i{display:block;height:100%;background:var(--mint);transition:width .2s}.meter.warn i{background:var(--amber)}.landmark-field{position:relative}.landmark-field button{position:absolute;background:#0c221fdd;border:1px solid #bbebd4;border-radius:50%;width:44px;height:44px;padding:0;color:var(--mint)}.landmark-field button:first-of-type{left:43%;top:61%}.landmark-field button:nth-of-type(2){left:71%;top:36%}.landmark-field button.selected{background:var(--mint);color:#071b0f}.inspection-tools{display:flex;gap:6px;flex-wrap:wrap}.inspection-tools button{font-size:13px;flex:1}.inspection-tools .selected{background:#2a4a3b;border-color:var(--mint)}.debrief{padding:35px;min-height:430px}.debrief h2{font-size:36px;max-width:440px}.debrief p{color:var(--muted);line-height:1.7}.debrief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.debrief-grid div{border-top:1px solid var(--line);padding:16px 0}.debrief-grid b{display:block;font-size:30px;font-weight:500;color:var(--mint)}.debrief-grid span{font-size:12px;color:var(--muted);line-height:1.5}.debrief ol{padding-left:20px;color:#c0d0c5;line-height:1.7;font-size:14px}.findings{font-size:13px;color:var(--mint);padding:12px;border:1px solid var(--line);line-height:1.6}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:30px;max-width:440px}dialog::backdrop{background:#000b}dialog p{line-height:1.6;color:var(--muted)}dialog>div{display:flex;gap:12px;margin-top:24px}
@media(min-width:1450px){#scene,.room,.scope-workbench,.view-layout{min-height:480px}.room{height:480px}}
@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr) 300px}.guide{padding:22px 18px}.view-layout{grid-template-columns:1fr 120px}.anatomy{padding:18px 9px}.case-tag{display:none}.chapter{font-size:12px;gap:7px}.scope-workbench{padding:22px 15px;gap:12px}.scope-diagram{height:240px}}
@media(max-width:760px){main{padding:25px 16px}.topbar{height:68px;padding:0 16px}.brand img{width:147px;height:44px}.edition{display:none}.case-heading{margin-bottom:22px}.chapters{grid-template-columns:repeat(3,1fr);gap:4px}.chapter{font-size:12px;padding:10px 7px}.patient-strip{gap:9px;flex-wrap:wrap}.prototype-label{display:none}.workspace{grid-template-columns:1fr}.guide{border-left:0;border-top:1px solid var(--line);padding:23px}.scene-heading{padding:0 16px;font-size:11px}.scene-heading span:last-child{font-size:10px}#scene{min-height:300px}.room{height:335px}.room-pin{min-width:114px;padding:10px}.room-pin span{font-size:12px}.room-pin:nth-of-type(2){left:37%;top:70%}.room-pin:nth-of-type(3){right:3%;top:37%}.room-pin:nth-of-type(4){left:3%;bottom:12%}.view-layout{min-height:300px;grid-template-columns:minmax(0,1fr) 100px}.anatomy{padding:15px 8px}.anatomy svg{height:120px}.anatomy p{font-size:11px}.anatomy strong{font-size:12px}.segment-list{font-size:10px;margin:6px 0;line-height:1.8}.endoview{padding:8px}.view-caption{top:15px;left:13px;font-size:8px;padding:4px}.scope-workbench{min-height:340px}.scope-diagram{height:225px}.dial-controls{gap:12px}.scope-buttons{grid-template-columns:1fr}.scope-buttons button{padding:8px;min-height:40px}.scope-workbench{grid-template-columns:.9fr 1.1fr}.workspace-label{font-size:11px}.test-display{padding:10px;font-size:12px}.bottom-bar{align-items:flex-start}.debrief{padding:25px}.debrief h2{font-size:29px}.debrief-grid b{font-size:25px}.landmark-field button{width:36px;height:36px;min-height:36px}.steer{max-width:250px;gap:7px}.steer button{min-height:46px}#continue{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep the procedural view visible while using controls on a small screen. */
@media(max-width:760px){
 .workspace:has(.steer){overflow:clip}
 .workspace:has(.steer) .scene-panel{position:sticky;top:0;z-index:5;align-self:start;width:100%;box-shadow:0 10px 20px #0005}
 .workspace:has(.steer) .view-layout{display:block;min-height:0}
 .workspace:has(.steer) #scene{min-height:0}
 .workspace:has(.steer) .endoview{padding:8px}
 .workspace:has(.steer) .endoview canvas{height:195px;width:100%;object-fit:contain}
 .workspace:has(.steer) .anatomy{display:flex;align-items:center;gap:12px;padding:9px 16px;border-left:0;border-top:1px solid var(--line)}
 .workspace:has(.steer) .anatomy strong{margin:0;font-size:13px}
 .workspace:has(.steer) .anatomy p{margin:0;font-size:11px}
 .workspace:has(.steer) .anatomy svg,.workspace:has(.steer) .segment-list,.workspace:has(.steer) .scene-footer{display:none}
 .workspace:has(.steer) .scene-heading{height:36px}
 .workspace:has(.steer) .view-caption{left:12px;top:8px}
}

.sandbox-badge{display:inline-block;margin:12px 0 0;border:1px solid #90754b;padding:7px 12px;color:#f4ce97;background:#28271c;border-radius:4px;font-size:16px;font-weight:700;}
.sandbox-notice{display:flex;align-items:center;gap:24px;margin:0 0 22px;padding:18px 20px;background:#24261e;border:1px solid #766747;border-radius:7px;}
.sandbox-notice strong{color:#f4ce97;font:11px monospace;letter-spacing:.12em;}.sandbox-notice p{font-size:13px;line-height:1.6;margin:7px 0 0;color:#d5dccf;}.sandbox-notice button{flex-shrink:0;padding:11px 18px;border:1px solid #b69a6b;background:transparent;color:#f4ce97;border-radius:4px;cursor:pointer;}.sandbox-notice[hidden]{display:none;}@media(max-width:600px){.sandbox-notice{align-items:flex-start;flex-direction:column;gap:12px;padding:16px;}.edition{font-size:9px;}}
/* Sprint06: rendered .guide was a 570px stretched text panel with empty feedback space. */
.guide{align-self:start;padding:20px;max-width:40rem;width:100%;height:auto;min-height:0}.guide #task-copy{font-size:14px;line-height:1.5;margin-bottom:14px;max-width:38ch;overflow-wrap:anywhere}.guide h2{font-size:24px;line-height:1.2}.feedback:empty{display:none}.feedback{min-height:0;padding:12px 0}.guide #continue{margin-top:14px}.test-display{min-height:0;max-width:36ch;overflow-wrap:anywhere}.sandbox-notice{padding:12px 16px;max-width:70rem}.sandbox-badge{font-size:12px;font-weight:500}.room-pin{white-space:normal}.patient-strip{flex-wrap:wrap;gap:8px 16px}
@media(max-width:760px){.guide{max-width:none;padding:18px}.guide #actions:has(.checkline){grid-template-columns:1fr 1fr}.guide .checkline{font-size:12px;padding:10px;min-width:0}.case-heading{margin-bottom:14px}.chapters{margin-bottom:8px}.scene-heading{height:auto;min-height:44px;padding:10px 12px;flex-wrap:wrap}.room-pin:nth-of-type(2){left:auto;right:3%;top:auto;bottom:8%}.room-pin:nth-of-type(4){left:3%;bottom:8%}.bottom-bar{flex-wrap:wrap}.scope-workbench{grid-template-columns:1fr}.scope-diagram{height:200px}.test-display{max-width:none}}
