:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#233a50;background:#e7ecec;color-scheme:light;font-size:14px;--ink:#233a50;--muted:#6c7d89;--blue:#234d73;--blue-dark:#173b60;--green:#234d73;--line:#d8e2e9;--panel:#fffefa;--warm:#bb8552;--shadow:0 16px 55px #1c344c16}
*{box-sizing:border-box}body{margin:0}button,a,input,textarea,summary{touch-action:manipulation}button{font:inherit;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c99040;outline-offset:3px}a{color:inherit}button{border:1px solid var(--line);border-radius:10px;background:#fffefa;color:var(--ink);padding:10px 15px;line-height:1.5}button:hover{background:#edf3f7;border-color:#b6cbdc}button[hidden],[hidden]{display:none!important}#clinic{height:100dvh;min-height:620px;position:relative;overflow:hidden}#scene{position:absolute;inset:0;width:100%;height:100%;outline-offset:-4px;background:#e0e8e5}
.topbar{position:absolute;left:26px;right:26px;top:21px;display:flex;align-items:center;justify-content:space-between;gap:18px;pointer-events:none;z-index:3}.topbar>*{pointer-events:auto}.brand{display:flex;gap:10px;text-decoration:none;align-items:center;text-shadow:0 1px 12px #ffffffdb}.brand>span{display:grid;place-items:center;width:40px;height:40px;background:#173b60;border:1px solid #173b60;border-radius:12px;color:white;font-weight:700;font-size:19px;box-shadow:0 4px 14px #173b6020}.brand b{display:block;font-size:16px;letter-spacing:.04em}.brand small{display:block;font-size:10px;letter-spacing:.12em;margin-top:4px;color:#5d7182}.patient-label{display:flex;align-items:center;gap:9px;background:#fffef8e8;padding:9px 15px;border:1px solid #e1e7e6;border-radius:30px;font-size:12px;backdrop-filter:blur(16px);box-shadow:0 2px 10px #354c3910}.patient-label small{border-left:1px solid #d8e0df;padding-left:9px;color:#7c898e;font-size:10px}.status-dot{width:6px;height:6px;border-radius:50%;background:#5c927f;box-shadow:0 0 0 3px #5c927f10}.header-actions{display:flex;gap:8px}.header-actions button{background:#fffefaec;font-size:12px;padding:9px 12px;box-shadow:0 2px 12px #263c4a0a}.header-actions #menuOpen{font-size:20px;line-height:18px}#evidenceCount{margin-left:5px;background:#e8eff5;color:#305a7e;min-width:19px;display:inline-block;padding:1px 5px;border-radius:5px}.settings{position:absolute;top:75px;right:26px;z-index:10;width:225px;padding:8px;background:#fffefaf7;border:1px solid var(--line);border-radius:13px;box-shadow:0 12px 40px #20334624;backdrop-filter:blur(16px)}.settings button,.settings a{display:block;width:100%;text-align:left;padding:11px 12px;border:0;border-radius:7px;background:none;text-decoration:none;font-size:12px}.settings button:hover,.settings a:hover{background:#edf2f6}
.view-switch{position:absolute;left:50%;top:82px;transform:translateX(-50%);display:flex;gap:3px;padding:4px;border-radius:30px;background:#fffefaeb;border:1px solid #d9e3e8;backdrop-filter:blur(16px);white-space:nowrap;z-index:2;box-shadow:0 3px 15px #20384a0a}.view-switch button{border:0;background:none;padding:7px 14px;border-radius:25px;font-size:11px;color:#62788a}.view-switch button.active{background:var(--blue);color:white;box-shadow:0 3px 9px #234d7320}.chapter-label{position:absolute;left:36px;bottom:265px;max-width:330px;pointer-events:none;text-shadow:0 1px 12px #ffffffed}.chapter-label>span{font-size:10px;letter-spacing:.15em;color:#6c7e88}.chapter-label h1{font-size:26px;font-weight:500;line-height:1.4;margin:9px 0;color:#1c3b51}.chapter-label p{font-size:12px;line-height:1.8;color:#4f6b7b;margin:0}.room-note{position:absolute;right:28px;bottom:266px;text-align:right;display:grid;gap:5px;color:#617c89;font-size:10px;pointer-events:none}.room-note span:first-child:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#658b97;margin-right:6px}
.loading,.welcome{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);padding:30px 38px;background:#fffefaf5;box-shadow:var(--shadow);border:1px solid #e1e6e3;border-radius:20px;text-align:center;max-width:480px;min-width:320px;backdrop-filter:blur(20px);z-index:4}.loading h2{font-size:17px;font-weight:500}.loading p{font-size:12px;color:var(--muted)}.loader{display:block;width:27px;height:27px;border:2px solid #d8e5ee;border-top-color:#446e93;border-radius:50%;margin:auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.welcome{text-align:left;top:auto;bottom:105px;transform:translateX(-50%);min-width:460px;padding:29px 33px}.eyebrow{font-size:10px;letter-spacing:.12em;color:#7c8b90}.welcome .eyebrow{color:#a77849}.welcome h2{font-size:24px;font-weight:500;line-height:1.6;margin:11px 0;color:#213f55}.welcome p{font-size:13px;color:#637985;line-height:1.8;margin-bottom:23px}.primary{border:1px solid transparent;background:var(--blue);color:white;border-radius:9px;font-size:13px;padding:12px 20px;display:inline-flex;align-items:center;gap:24px;justify-content:center;box-shadow:0 3px 9px #234d7314}.primary:hover{background:var(--blue-dark);border-color:transparent}.quiet{border:0;background:none;color:#72828b;font-size:11px;box-shadow:none}.quiet:hover{background:#edf2f5}
.conversation{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);width:min(920px,calc(100% - 110px));max-height:58vh;overflow:auto;overscroll-behavior:contain;padding:18px 23px 14px;border-radius:19px;background:#fffefaf5;backdrop-filter:blur(20px);border:1px solid #e0e6e8;box-shadow:var(--shadow);scrollbar-width:thin;scrollbar-color:#c4d0d9 transparent;z-index:4}.conversation:before{content:"";position:absolute;top:0;left:24px;right:24px;height:2px;background:linear-gradient(90deg,#2a5277 0 70px,transparent 70px)}.conversation-head{display:flex;align-items:center;gap:10px;font-size:11px;color:#738692}.speaker-avatar{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:11px;color:#fff;background:#234d73;font-size:14px;box-shadow:inset 0 0 0 1px #ffffff14}.speaker-identity{display:flex;flex-direction:column;gap:2px}.dialogue-kind{color:#677b89;font-size:9px;letter-spacing:.1em}.conversation-head #speaker{font-weight:700;color:#294b68;font-size:12px}.task-label{margin-left:9px;padding:4px 8px;border-radius:5px;background:#edf2f5;font-size:10px;color:#667e8e}.task-label:empty{display:none}.conversation-head #pause{margin-left:auto;padding:4px 8px;font-size:15px;border:1px solid #e4e9ec;border-radius:8px;background:#f9faf9;min-width:31px}.conversation #line{font-size:16px;line-height:1.9;letter-spacing:.025em;margin:13px 0 15px;max-width:810px;min-height:30px;color:#263e51}.care-cue{margin:12px 0 0;display:flex;align-items:flex-start;gap:7px;font-size:11px;color:#887350;line-height:1.7}.care-cue:before{content:"";width:5px;height:5px;flex-shrink:0;background:#b49166;border-radius:50%;margin-top:7px}.action-prompt{font-size:11px;font-weight:600;letter-spacing:.03em;color:#365b7d;margin:15px 0 9px;padding-top:12px;border-top:1px solid #e4e9ec}.action-prompt:empty{display:none}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:8px;counter-reset:reply}.options button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font-size:12px;padding:11px 12px;background:#fafbf9;border-color:#dbe3e8;border-radius:10px;line-height:1.7;counter-increment:reply;overflow-wrap:anywhere}.options button:before{content:counter(reply,decimal-leading-zero);color:#7f94a3;display:grid;place-items:center;flex-shrink:0;font-size:10px;font-weight:500;min-width:23px;height:23px;border:1px solid #dce5eb;border-radius:6px;background:white}.options button:hover{border-color:#89a9c3;background:#f0f5f8;box-shadow:0 3px 9px #244f7210}.options button.selected{border-color:#315d82;background:#ebf1f6;box-shadow:inset 3px 0 #315d82}.options button.selected:disabled{opacity:1}.options button.selected:before{background:#315d82;color:white;border-color:#315d82}.conversation-foot{display:flex;align-items:center;gap:9px;margin-top:13px;padding-top:12px;border-top:1px solid #e6ebed}.conversation-foot .primary{padding:9px 17px;font-size:12px;min-width:100px}.conversation-foot #progressText{margin-left:auto;color:#8b9aa4;font-size:10px}.feedback{font-size:12px;line-height:1.85;margin:11px 0 0;padding:10px 13px;background:#f4f2e9;border:1px solid #e6dfcb;border-radius:8px;color:#756442}.conversation[data-speaker=patient] .speaker-avatar{background:#a8805d}.conversation[data-speaker=patient] .conversation-head #speaker{color:#916f51}.conversation[data-speaker=patient]:before{background:linear-gradient(90deg,#b18b64 0 70px,transparent 70px)}.conversation[data-speaker=student] .speaker-avatar{background:#527b78}
.learning-guide{margin:12px 0;border:1px solid #dce6ed;border-radius:11px;background:#f2f6f9;color:#3e6079}.learning-guide summary{list-style:none;display:flex;align-items:center;gap:8px;font-size:11px;cursor:pointer;padding:10px 12px;font-weight:600}.learning-guide summary::-webkit-details-marker{display:none}.guide-icon{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;color:#6d8da7;border:1px solid #95aec2;font-size:10px;flex-shrink:0}.guide-toggle{margin-left:auto;font-size:16px;color:#7a96ac;transition:transform .15s}.learning-guide[open] .guide-toggle{transform:rotate(180deg)}.guide-content{padding:0 13px 12px 36px}.guide-content>p{margin:0 0 9px;font-size:12px;line-height:1.85;color:#546c7e}.knowledge-note{border-top:1px solid #dde6ed;padding-top:9px}.knowledge-note>span{font-size:9px;letter-spacing:.1em;color:#688ba4}.knowledge-note p{font-size:11px;line-height:1.85;margin:5px 0 0;color:#587086}.knowledge-note:has(p:empty){display:none}.task-steps{counter-reset:step;list-style:none;padding:0;margin:12px 0;display:grid;gap:7px}.task-steps li{display:flex;gap:8px;align-items:flex-start;counter-increment:step;font-size:11px;line-height:1.7;color:#647a8b}.task-steps li:before{content:counter(step);display:grid;place-items:center;border:1px solid #cedce7;color:#6787a0;border-radius:50%;width:18px;height:18px;flex-shrink:0;font-size:10px}.task-steps li.done:before,.task-steps li[data-complete=true]:before{content:"✓";background:#e2eee9;border-color:#bed8cc;color:#4d806d}.task-status{font-size:11px;line-height:1.7;color:#567b71;background:#edf5f0;border-radius:7px;padding:9px 11px;margin:10px 0}.task-status:empty{display:none}
.chapter-rail{position:absolute;left:25px;top:46%;transform:translateY(-45%);display:flex;flex-direction:column;gap:12px;z-index:2}.chapter-rail button{background:#fffefac9;border:1px solid #d3dee5;width:29px;height:29px;border-radius:50%;padding:0;font-size:10px;position:relative;color:#6b8597}.chapter-rail button.active{background:var(--blue);color:white;border-color:var(--blue);box-shadow:0 0 0 4px #ffffff57}.chapter-rail button span{position:absolute;left:37px;white-space:nowrap;top:3px;opacity:0;pointer-events:none;color:#3e607b;background:#fffefaf0;padding:3px 7px;border:1px solid #e1e7ec;border-radius:5px;font-size:10px;box-shadow:0 3px 12px #233e4d0d}.chapter-rail button:hover span,.chapter-rail button:focus-visible span{opacity:1}.chapter-rail button:disabled{opacity:.5;cursor:default}
.drawer{position:fixed;z-index:20;top:0;right:0;bottom:0;width:min(520px,100%);overflow:auto;background:#fffefa;box-shadow:-20px 0 80px #263d4b2b;padding:27px 29px 35px;border-left:1px solid #d8e2e8;overscroll-behavior:contain}.drawer>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8ec;padding-bottom:16px;margin-bottom:19px}.drawer h2{font-weight:500;font-size:23px;margin:7px 0;color:#284a66}.drawer>header button{background:none;border:0;font-size:27px;padding:0 4px;color:#6e8596}.drawer p,.drawer li{font-size:13px;line-height:1.9;color:#5e7381}.drawer h3{font-size:15px;margin-top:25px;color:#3c5d77}.drawer label{display:block;margin:25px 0 9px;font-size:14px}.drawer textarea{width:100%;border:1px solid #c7d7e2;border-radius:9px;background:#fff;font:inherit;padding:12px;resize:vertical;line-height:1.8}.drawer .primary{margin-top:15px}.note-evidence{padding:12px 14px;border:1px solid #dce7eb;border-left:3px solid #7e9cba;border-radius:0 8px 8px 0;background:#f3f7f9;margin:10px 0;font-size:12px;line-height:1.8}.note-evidence small{display:block;color:#7b91a0}.transcript p{border-bottom:1px solid #e3eaee;padding-bottom:11px;font-size:12px}.transcript b{display:block;font-size:10px;color:#6a8ca7}.drawer dl{display:grid;grid-template-columns:100px 1fr;gap:7px;font-size:12px;line-height:1.8}.drawer dd{margin:0;color:#6b7e89}.drawer ul{padding-left:20px}
.task-surface{margin:12px 0;background:#f7f9fa;border:1px solid #dbe5eb;border-radius:12px;padding:13px;overflow:hidden}.task-surface svg{display:block;width:100%;height:auto;max-height:250px}.task-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:11px}.task-tools label{font-size:11px;line-height:1.8}.task-tools input[type=range],.timeline-controls input[type=range]{accent-color:#315f86;flex:1;min-width:110px;min-height:24px}.task-tools button{font-size:11px;padding:8px 10px;background:white}.task-description{font-size:11px;color:#7b8c97;line-height:1.85;margin:9px 0 0}.task-check{width:100%;display:flex;align-items:flex-start;gap:6px;border:1px solid #e0e7eb;background:#fff;border-radius:7px;padding:8px 10px;cursor:pointer}.task-check input{accent-color:#315f86;width:15px;height:15px;flex-shrink:0;margin-top:3px}.evidence-preview{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0}.evidence-preview span{font-size:11px;line-height:1.7;background:#edf3f7;border:1px solid #d4e1eb;border-radius:7px;padding:8px 10px;color:#496b86}.task-surface>.task-description+div+button{font-size:11px;padding:7px 12px}.task-card{background:#fff;border:1px solid #e0e8ed;border-radius:10px;padding:12px;margin:9px 0}.task-card h3,.task-card h4{font-size:12px;font-weight:600;color:#3e607c;margin:0 0 7px}.task-card p{font-size:12px;line-height:1.85;color:#667d8d;margin:4px 0}.task-source{font-size:10px;color:#8c9aa3;line-height:1.8;margin:10px 0 0;border-top:1px solid #e1e8ed;padding-top:8px}.task-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:#7c919e;line-height:1.8}.gait-status{font-size:12px;line-height:1.8;background:#eaf1f7;color:#416885;border-radius:8px;padding:10px 12px}.gait-markers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.gait-marker{border:1px solid #d9e4ec;background:#fff;border-radius:9px;padding:11px 10px;min-width:0}.gait-marker strong,.gait-marker b{display:block;color:#355c7b;font-size:12px;margin:0 0 6px}.gait-marker span,.gait-marker small{display:block;font-size:10px;line-height:1.8;color:#7e93a1}.gait-marker button{width:100%;margin-top:8px;font-size:11px;padding:7px 5px}.gait-marker[data-complete=true],.gait-marker.marked{border-color:#afcec0;background:#f2f8f5}.timeline-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:12px 0 4px}.timeline-controls button{font-size:11px;padding:8px 11px}.timeline-controls label{font-size:11px;color:#6d8292}.timeline-controls input{max-width:100%}.anatomy-view,.anatomy-canvas,.task-model-view{display:block;width:100%;min-height:240px;border-radius:10px;background:#e9eff2;overflow:hidden}.anatomy-view canvas,.anatomy-canvas canvas,.task-model-view canvas{display:block;width:100%;height:100%;min-height:240px}
.anatomy-overlay{position:fixed;inset:0;z-index:12;pointer-events:none;display:flex;align-items:center;justify-content:flex-start;padding:100px 490px 24px 65px;background:linear-gradient(90deg,#e7edf01a,transparent)}.anatomy-shell{pointer-events:auto;width:min(540px,100%);max-height:calc(100dvh - 125px);overflow:auto;background:#fffefaf7;border:1px solid #d6e2ea;border-radius:18px;box-shadow:0 20px 70px #17364c33;backdrop-filter:blur(16px);padding:17px;scrollbar-width:thin}.anatomy-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.anatomy-heading h2,.anatomy-heading h3{margin:0;color:#315673;font-weight:500;font-size:16px}.anatomy-heading p{margin:4px 0 0;font-size:11px;color:#79909f;line-height:1.6}.anatomy-heading button{font-size:18px;padding:4px 10px;background:#f2f6f8;border:1px solid #dce6ed;color:#6a8499}.anatomy-host{width:100%;height:350px;min-height:300px;max-height:55dvh;background:#edf2f5;border:1px solid #e1e8ed;border-radius:12px;overflow:hidden;position:relative}.anatomy-host canvas{display:block;width:100%;height:100%;min-height:300px}.anatomy-shell>.task-description{font-size:10px}.anatomy-shell .task-tools{margin:11px 0 4px}.toast{position:fixed;z-index:30;top:80px;left:50%;transform:translateX(-50%);background:#23465eee;color:#fff;padding:12px 20px;max-width:80%;border-radius:10px;font-size:12px;line-height:1.7;box-shadow:0 8px 30px #183c3220}
body[data-node-kind=task] .chapter-label{bottom:67px;max-width:285px}body[data-node-kind=task] .room-note{display:none}
@media(min-width:1050px){body[data-node-kind=task] .conversation{left:auto;right:25px;transform:none;width:440px;max-height:calc(100dvh - 148px);bottom:24px;padding:17px 19px}body[data-node-kind=task] .options{grid-template-columns:1fr}body[data-node-kind=task] .conversation #line{font-size:14px;line-height:1.85;margin-top:12px}body[data-node-kind=task] .conversation-foot{flex-wrap:wrap}body[data-node-kind=task] .conversation-foot #progressText{width:100%;margin-left:0}body[data-node-kind=task] .learning-guide summary{padding:10px}body[data-node-kind=task] .guide-content{padding-left:33px}body[data-node-kind=task] .task-tools{gap:7px}}
@media(min-width:1500px){.conversation{width:960px;bottom:32px}.chapter-label{left:45px;bottom:280px}.chapter-rail{left:33px}body[data-node-kind=task] .conversation{width:470px;right:32px;bottom:30px}.anatomy-overlay{padding-left:100px;padding-right:530px}}
@media(min-width:751px) and (max-width:1049px){.conversation{width:calc(100% - 90px);max-height:54vh;bottom:20px}.chapter-label{bottom:57vh}.chapter-label h1{font-size:22px}.chapter-label p{display:none}.room-note{display:none}body[data-node-kind=task] .conversation{width:calc(100% - 90px);max-height:58vh}body[data-node-kind=task] .chapter-label{bottom:auto;top:145px;left:55px}.anatomy-overlay{padding:115px 35px 24px;justify-content:center;background:#203a4a44;pointer-events:auto}.anatomy-shell{width:min(550px,100%)}.anatomy-host{height:340px}}
@media(max-width:750px){#clinic{min-height:620px}.topbar{left:13px;right:13px;top:12px;gap:8px}.brand b{font-size:13px}.brand small{font-size:9px;letter-spacing:.06em}.brand>span{width:33px;height:33px;border-radius:10px}.patient-label{position:absolute;top:51px;left:0;padding:5px 9px;font-size:10px;gap:5px;max-width:calc(100vw - 26px)}.patient-label small{font-size:8px}.header-actions button{font-size:10px;padding:8px}.header-actions #menuOpen{font-size:18px}.view-switch{top:103px}.view-switch button{font-size:10px;padding:6px 11px}.chapter-label{left:17px;bottom:55vh;max-width:245px}.chapter-label h1{font-size:20px}.chapter-label>span{font-size:9px}.chapter-label p{display:none}.room-note{display:none}.chapter-rail{left:13px;top:160px;transform:none;gap:9px}.chapter-rail button{width:25px;height:25px}.conversation{left:10px;right:10px;bottom:11px;transform:none;width:auto;max-height:51vh;padding:13px 15px;border-radius:15px}.conversation:before{left:16px;right:16px}.conversation #line{font-size:14px;line-height:1.85;margin:11px 0}.speaker-avatar{width:31px;height:31px;border-radius:9px;font-size:13px}.conversation-head #speaker{font-size:11px}.dialogue-kind{font-size:8px}.task-label{font-size:9px;margin-left:2px;max-width:135px}.options{grid-template-columns:1fr;gap:6px}.options button{font-size:11px;padding:9px 10px;gap:8px}.options button:before{font-size:9px;min-width:21px;height:21px}.conversation-foot{gap:5px;flex-wrap:wrap}.conversation-foot #progressText{font-size:9px}.conversation-foot .primary{padding:8px 13px}.welcome{width:calc(100% - 28px);min-width:0;bottom:35px;padding:24px}.welcome h2{font-size:21px}.settings{right:13px;top:61px}body[data-node-kind=task] .conversation{max-height:60vh}body[data-node-kind=task] .chapter-label{bottom:auto;top:144px;left:52px;max-width:calc(100vw - 75px)}body[data-node-kind=task] .chapter-label h1{font-size:17px;margin:5px 0}.drawer{padding:23px 21px}.drawer h2{font-size:21px}.learning-guide summary{padding:9px 10px;font-size:11px}.guide-content{padding-left:33px}.guide-content>p{font-size:11px}.task-surface{padding:11px;margin:10px 0}.task-tools{gap:7px}.task-tools button{padding:8px 9px}.task-tools input[type=range]{min-width:90px}.anatomy-overlay{padding:90px 11px 16px;justify-content:center;align-items:center;pointer-events:auto;background:#203a4a77}.anatomy-shell{width:100%;max-height:calc(100dvh - 105px);border-radius:15px;padding:14px}.anatomy-host{height:335px;min-height:300px;max-height:55dvh}.anatomy-host canvas{min-height:300px}.gait-markers{gap:6px}.gait-marker{padding:10px 8px}.toast{top:145px;max-width:90%;width:max-content;font-size:11px;padding:10px 15px}}
@media(max-height:600px) and (min-width:751px){#clinic{min-height:420px}.topbar{top:12px}.view-switch{top:65px}.conversation{max-height:58vh;bottom:12px}.chapter-label{bottom:auto;top:115px;left:60px}.chapter-label h1{font-size:20px}.chapter-label p{display:none}.chapter-rail{top:125px;transform:none;gap:7px}.chapter-rail button{width:24px;height:24px}body[data-node-kind=task] .conversation{max-height:calc(100dvh - 102px);bottom:12px;width:410px}body[data-node-kind=task] .chapter-label{top:115px;bottom:auto;max-width:250px}.welcome{bottom:18px;padding:20px 25px}.anatomy-overlay{padding-top:80px}.anatomy-shell{max-height:calc(100dvh - 92px)}.anatomy-host{height:300px}.patient-label{display:none}}
@media(max-width:750px) and (max-height:600px){#clinic{min-height:430px}.view-switch{top:60px;left:50%;z-index:4}.patient-label{display:none}.chapter-label,.chapter-rail{display:none}.conversation,body[data-node-kind=task] .conversation{left:auto;right:10px;width:54%;max-height:calc(100dvh - 110px);bottom:10px;padding:10px 12px}.conversation #line{font-size:12px}.conversation-head{gap:7px}.speaker-avatar{width:26px;height:26px}.task-label{max-width:100px;font-size:8px}.guide-content{padding-left:12px}.options button{font-size:10px;padding:7px 8px}.conversation-foot #progressText{display:none}.conversation-foot .primary{font-size:11px;padding:7px 10px;min-width:80px}.conversation-foot .quiet{font-size:10px}.anatomy-overlay{padding:55px 12px 10px}.anatomy-shell{max-height:calc(100dvh - 65px);width:80%;padding:10px}.anatomy-host{min-height:220px;height:220px;max-height:none}.anatomy-host canvas{min-height:220px}.welcome{width:390px;max-width:90%;bottom:20px;padding:19px 24px}.welcome h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.loader{animation:none}button,.guide-toggle{transition:none}}

.scene-caption{position:absolute;left:78px;top:143px;max-width:420px;padding:11px 16px;background:#f9fcffed;border:1px solid #b9d0de;border-radius:11px;color:#244b69;font-size:13px;box-shadow:0 8px 25px #1c3b4c12;pointer-events:none}.task-views,.task-modes,.task-regions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.task-views button,.task-modes button,.task-regions button,.anatomy-open{font-size:11px;padding:8px 11px}.landmark-cards{display:grid;gap:8px;margin:12px 0}.landmark-cards .task-card{padding:10px}.landmark-cards button{font-size:12px;width:100%;text-align:left}.landmark-cards small{display:block;margin:7px 3px 0;font-size:11px;color:#6e8190;line-height:1.7}.task-card-title{font-size:14px;margin:2px 0 10px}.trial-comparison{display:grid;gap:9px}.trial-comparison .task-card p{font-size:12px;line-height:1.8;margin:8px 0}.task-source{font-size:10px;line-height:1.8;color:#6e8190;border-top:1px solid #dce5e9;padding-top:10px}.research-link{display:block;font-size:11px;color:#326c91;margin:9px 0}.marker-result{font-size:11px;line-height:1.8;margin:9px 0 0;color:#917641}.marker-result[data-valid=true]{color:#3c766a}.lesson-ready{font-size:11px;padding:8px 12px;margin:2px 12px 12px}.gait-marker button{font-size:12px;line-height:1.6}.gait-marker small{display:block;font-size:10px;line-height:1.8;color:#788a96;margin-top:7px}.timeline-controls{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:12px 0}.timeline-controls button{font-size:11px;padding:8px 10px}.timeline-controls label{font-size:11px;color:#6c8090}.timeline-controls input{width:100%;accent-color:#2a648c}.task-modes button.selected,.task-regions button.selected,.landmark-cards button.selected{background:#dcebf5;border-color:#80aac7}.anatomy-intro{font-size:12px;color:#658093;line-height:1.8;margin:4px 0 12px}@media(max-width:750px){.scene-caption{display:none}}

.anatomy-host{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible;background:transparent;border:0}.anatomy-host canvas{min-height:0!important}.anatomy-intro{display:none}.anatomy-shell .anatomy-v9-head{padding:11px 13px}.anatomy-shell .anatomy-v9-kicker{display:none}.anatomy-shell .anatomy-v9 h3{font-size:16px;margin:2px 0 5px}.anatomy-shell .anatomy-v9-desc{font-size:11px;line-height:1.7}.anatomy-shell .anatomy-v9-tabs{margin-top:7px}.anatomy-shell .anatomy-v9-stage{height:280px;min-height:230px;max-height:39vh}.anatomy-shell .anatomy-v9 button{font-size:11px;padding:6px 9px}.anatomy-shell .anatomy-v9-bottom{padding:10px 12px}.anatomy-shell .anatomy-v9-selected{font-size:11px;min-height:0;margin-top:8px}.anatomy-shell .anatomy-v9-source{font-size:9px}.anatomy-heading button{font-size:12px}.anatomy-overlay{padding-top:85px}@media(max-width:750px){.anatomy-overlay{padding-top:76px}.anatomy-shell .anatomy-v9-stage{height:260px;max-height:38vh;min-height:200px}}

body[data-node-kind=task] .conversation-head{position:sticky;top:-18px;z-index:3;background:#fffefa;padding-top:8px;padding-bottom:8px;margin-top:-8px}body[data-node-kind=task] .conversation-foot{position:sticky;bottom:-17px;z-index:3;background:#fffefa;padding:10px 0 13px}

body[data-node-kind=task] .chapter-label{display:none}@media(min-width:751px) and (max-width:1049px){body[data-node-kind=task] .conversation{left:auto;right:12px;bottom:14px;transform:none;width:min(365px,47vw);max-height:calc(100dvh - 132px);padding:14px}body[data-node-kind=task] .options{grid-template-columns:1fr}body[data-node-kind=task] .conversation #line{font-size:13px}body[data-node-kind=task] .conversation-foot{flex-wrap:wrap}body[data-node-kind=task] .conversation-foot #progressText{width:100%;margin-left:0}.scene-caption{left:55px;top:143px;max-width:260px;font-size:11px}}

/* v10: leave the room visible; spoken turns and tools are separate surfaces. */
.conversation,body[data-node-kind=task] .conversation{left:50%;right:auto;transform:translateX(-50%);bottom:18px;width:min(650px,calc(100% - 120px));padding:12px 17px;max-height:35dvh;border-radius:15px;background:#fffefaf5}
.conversation #line,body[data-node-kind=task] .conversation #line{font-size:15px;line-height:1.7;margin:8px 0;min-height:24px}
.conversation-head,body[data-node-kind=task] .conversation-head{position:static;padding:0;margin:0;background:transparent;gap:8px}
.speaker-avatar{width:28px;height:28px;border-radius:9px;font-size:12px}.dialogue-kind{display:none}.task-label{padding:2px 7px;font-size:9px}.conversation-head #speaker{font-size:11px}
.line-controls{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-height:0}.line-controls button{padding:4px 9px;font-size:11px}.line-controls span{font-size:10px;color:#728794}.line-controls:has(button:not([hidden])){margin:5px 0}
.conversation-foot,body[data-node-kind=task] .conversation-foot{position:static;padding:7px 0 0;margin-top:7px;background:transparent}.conversation-foot .primary{padding:7px 13px;min-width:75px;font-size:11px}.conversation-foot #progressText{display:none}
.learning-guide{margin:7px 0 0;background:transparent;border:0}.learning-guide summary{padding:3px 0;font-size:10px;font-weight:400}.guide-content{max-height:150px;overflow:auto;padding-top:7px}.guide-content>p,.knowledge-note p{font-size:11px}.care-cue,.action-prompt{display:none!important}
.options{grid-template-columns:1fr;gap:5px;margin-top:8px}.options button{font-size:11px;line-height:1.6;padding:6px 9px;gap:7px;border-radius:7px}.options button:before{min-width:19px;height:19px;font-size:9px}.feedback{margin:7px 0 0;padding:6px 9px;font-size:11px;line-height:1.6}
body[data-dialogue-pending=true] #options,body[data-dialogue-pending=true] #taskDock,body[data-dialogue-pending=true] .conversation-foot .primary,body[data-dialogue-pending=true] .learning-guide{display:none!important}
.chapter-label{top:137px;bottom:auto;left:70px;max-width:240px}.chapter-label h1{font-size:20px;margin:5px 0}.chapter-label p{display:none}.room-note{display:none}
.task-dock{position:absolute;right:19px;top:139px;width:310px;max-height:calc(100dvh - 159px);overflow:auto;z-index:4;background:#fffefaf5;backdrop-filter:blur(16px);border:1px solid #d7e2e8;border-radius:14px;box-shadow:0 10px 35px #173b601a;padding:11px 12px;scrollbar-width:thin}.task-dock>header{display:flex;align-items:center;justify-content:space-between;gap:7px}.task-dock>header b{font-size:12px}.task-dock>header button{padding:3px 7px;font-size:10px}.task-surface{margin:8px 0 0;padding:0;background:transparent;border:0;overflow:visible}.task-status{font-size:10px;padding:6px 8px;margin:7px 0 0}
body[data-dock-collapsed=true] .dock-content{display:none}body[data-node-kind=task] .conversation{left:70px;right:350px;transform:none;width:auto;max-width:600px;max-height:34dvh}body[data-dock-collapsed=true] .conversation{right:90px}
.gait-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:5px 0}.gait-metrics>div{background:#eaf0f4;border-radius:6px;padding:6px 3px;text-align:center}.gait-metrics small{display:block;color:#617c8e;font-size:9px}.gait-metrics b{display:block;font-size:11px;margin-top:4px;color:#244d6b}.gait-explanation{font-size:11px;border-bottom:1px solid #dce5eb;padding:7px 0}.gait-explanation summary{cursor:pointer;color:#376b8c}.gait-explanation p{font-size:10px;line-height:1.8;color:#59778b}.gait-status{font-size:11px;padding:7px 9px}.gait-markers{margin:8px 0;gap:5px}.gait-marker{padding:6px}.gait-marker button{margin:0;font-size:10px;padding:5px}.gait-marker small{font-size:9px;margin:4px 0}.marker-result{font-size:9px;margin:4px 0}.timeline-controls{margin:8px 0;gap:4px}.timeline-controls button{padding:5px 7px;font-size:10px}.timeline-controls label{font-size:9px}.task-source{font-size:9px;line-height:1.6;margin-top:7px;padding-top:6px}.task-views{margin:6px 0;gap:4px}.task-views button,.anatomy-open{font-size:10px;padding:5px 8px}.scene-caption{top:140px;left:70px;max-width:calc(100% - 440px);font-size:10px;padding:7px 10px}
.task-card-title{font-size:12px}.task-card{padding:8px;margin:6px 0}.task-description{font-size:10px;margin:6px 0}.landmark-cards{gap:5px;margin:8px 0}.landmark-cards .task-card{padding:6px;margin:0}.landmark-cards button{font-size:11px}.landmark-cards small{font-size:10px;margin:4px 2px}.anatomy-overlay{background:#203a4a55;padding:65px 25px 20px;justify-content:center;pointer-events:auto}.anatomy-shell{width:min(760px,100%);max-height:calc(100dvh - 85px)}
@media(min-width:1500px){.task-dock{width:340px;right:30px}.conversation{width:650px}body[data-node-kind=task] .conversation{right:405px;left:90px;max-width:650px}.scene-caption{left:90px;max-width:calc(100% - 500px)}}
@media(min-width:651px) and (max-width:1000px){.task-dock{width:275px;right:10px;top:140px}.conversation{width:calc(100% - 100px)}body[data-node-kind=task] .conversation{left:48px;right:300px;padding:10px 12px;max-height:38dvh}.conversation #line,body[data-node-kind=task] .conversation #line{font-size:13px}.scene-caption{left:48px;max-width:calc(100% - 360px);font-size:9px}.chapter-label{left:55px;top:145px}.conversation-foot{flex-wrap:wrap}.conversation .learning-guide summary{font-size:9px}}
@media(max-width:650px){#clinic{min-height:580px}.conversation,body[data-node-kind=task] .conversation{left:10px;right:10px;width:auto;max-width:none;transform:none;bottom:10px;max-height:30dvh;padding:10px 12px}.conversation #line,body[data-node-kind=task] .conversation #line{font-size:13px}.task-dock{left:45px;right:10px;top:145px;width:auto;max-height:38dvh}.scene-caption{display:none}.chapter-label{left:48px;top:146px;bottom:auto}.chapter-label h1{font-size:18px}.task-dock:has(#taskDiagram){max-height:39dvh}.conversation-foot .quiet{font-size:10px;padding:5px}.anatomy-overlay{padding:65px 10px 15px}.anatomy-shell{max-height:calc(100dvh - 80px)}}
@media(max-height:600px) and (min-width:651px){.task-dock{top:101px;max-height:calc(100dvh - 115px)}.conversation,body[data-node-kind=task] .conversation{max-height:45dvh}.scene-caption{top:108px}.chapter-label{top:110px}.view-switch{top:63px}}

body[data-dialogue-pending=true] #feedback{display:none!important}

.line-controls{margin:0!important;margin-right:auto!important}.conversation-foot{flex-wrap:wrap}.conversation-foot:has(#lineNext:not([hidden])){border-top:0;padding-top:0}.line-controls button{padding:4px 9px}.conversation-foot #lineCount:empty{display:none}

.task-dock .options{grid-template-columns:1fr;margin-top:8px}.task-dock .options button{font-size:10px;padding:6px 7px;line-height:1.6}.task-dock .options button:before{min-width:16px;height:16px}.conversation:has(.line-controls){min-height:0}

/* Equipment inspection leaves the shelf unobstructed without advancing the case. */
.equipment-note{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);z-index:3;padding:10px 15px;background:#fffefae8;border:1px solid #d7e2e8;border-radius:10px;font-size:11px;color:#49677d;max-width:80%;text-align:center;display:none}
body[data-inspect-equipment=true] #conversation,body[data-inspect-equipment=true] #taskDock,body[data-inspect-equipment=true] #welcome,body[data-inspect-equipment=true] .chapter-label,body[data-inspect-equipment=true] .chapter-rail,body[data-inspect-equipment=true] .scene-caption{display:none!important}
body[data-inspect-equipment=true] .equipment-note{display:block}

body[data-inspect-equipment=true] .equipment-note{left:auto;right:20px;bottom:18px;transform:none;font-size:10px;padding:8px 12px;max-width:280px}

/* v12: dialogue remains on the left; a consistent coach names the next control. */
.view-switch{left:18px;right:auto;transform:none}
.comparison-open{display:block;width:100%;margin:7px 0 11px;padding:10px!important;background:#e8f3f0!important;border:1px solid #bdd8cf!important;color:#245b54;font-weight:650;border-radius:10px}
.arch-difference{font-size:12px;line-height:1.8;color:#426c79;margin:10px 0}
.arch-overlay{position:fixed;inset:0;z-index:100;background:#1d3b4a80;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:18px}.arch-overlay[hidden]{display:none}.arch-shell{width:min(1040px,100%);max-height:calc(100dvh - 36px);display:flex;flex-direction:column;background:#fbfdfc;border:1px solid #cedee2;border-radius:19px;box-shadow:0 25px 90px #15344440;overflow:hidden;color:#264d5b}.arch-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 24px 11px;background:white}.arch-eyebrow{font-size:10px;color:#65878c;letter-spacing:.1em}.arch-heading h2{margin:4px 0 0;font-size:21px;font-weight:650}.arch-heading>button{flex-shrink:0;padding:8px 13px;font-size:12px}.arch-tabs{display:flex;gap:6px;padding:0 24px 13px;background:white;border-bottom:1px solid #e1eaeb}.arch-tabs button,.arch-modes button{border:1px solid #d2e1e4;border-radius:9px;background:#f6f9f8;color:#527483;font-size:12px;padding:8px 13px}.arch-tabs button.selected,.arch-modes button.selected{color:white;background:#2b6575;border-color:#2b6575}.arch-content{overflow:auto;padding:16px 24px 22px;scrollbar-width:thin}.arch-lead{font-size:13px;line-height:1.8;margin:0 0 13px;color:#496c79}.arch-modes{display:flex;justify-content:center;gap:6px;margin-bottom:10px}.arch-content>svg{display:block;width:min(760px,100%);height:auto;margin:0 auto}.arch-timeline{display:flex;align-items:center;gap:12px;margin:10px auto 14px;max-width:760px}.arch-timeline button{padding:7px 13px;flex-shrink:0;background:#e5f1ee;font-size:12px}.arch-timeline label{font-size:11px;white-space:nowrap}.arch-timeline input{min-width:60px;flex:1;accent-color:#367b87}.arch-time{font-size:10px;min-width:150px;text-align:right;color:#6a8490}.arch-metric-grid,.arch-knowledge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:13px 0}.arch-metric,.arch-knowledge-card{border:1px solid #d8e5e5;border-radius:11px;padding:11px 13px;background:white}.arch-metric h3,.arch-knowledge-card h3{font-size:12px;margin:0 0 6px}.arch-metric p,.arch-knowledge-card p{margin:4px 0;font-size:12px;line-height:1.8;color:#527581}.arch-meaning{font-size:11px;padding:8px 0;color:#5f7e86}.arch-meaning summary{cursor:pointer;color:#347386}.arch-meaning p{line-height:1.85}.arch-meaning a{display:block;color:#32738c;margin:7px 0}.arch-coach-note{border-left:3px solid #71a29a;background:#edf5f2;border-radius:0 8px 8px 0;padding:9px 13px;font-size:12px;line-height:1.8}.arch-boundary{font-size:10px;line-height:1.8;color:#7a8e96;margin-bottom:0}.arch-primary{background:#2b6878;color:white;border-color:#2b6878;padding:9px 15px;font-size:12px}.arch-subtitle{font-size:15px;margin-top:21px}.arch-question{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0;padding:13px 14px 15px;border:1px solid #d3e2e5;border-radius:12px;background:white}.arch-question legend{font-size:12px;font-weight:650;padding:0 6px;max-width:100%;line-height:1.8}.arch-question button{font-size:11px;line-height:1.8;padding:10px 11px;text-align:left;align-self:stretch;background:#f7faf9}.arch-question button.selected{border-color:#5d9991;background:#e6f2ed}.arch-answer{grid-column:1/-1;font-size:12px;line-height:1.9;margin:4px 0 0;color:#7f633b;background:#fbf5e9;border-radius:8px;padding:9px 11px}.arch-answer[data-correct=true]{color:#35675d;background:#edf7f0}.arch-gait-table{width:100%;border-collapse:collapse;font-size:12px;background:white;margin:14px 0}.arch-gait-table th,.arch-gait-table td{border-bottom:1px solid #dce7e8;text-align:left;padding:10px 12px}.arch-gait-table th{color:#315e6b;background:#eef5f4;font-weight:600}
@media(max-width:750px){.arch-overlay{padding:8px}.arch-shell{max-height:calc(100dvh - 16px);border-radius:13px}.arch-heading{padding:13px 14px 9px}.arch-heading h2{font-size:17px}.arch-eyebrow{font-size:9px}.arch-tabs{padding:0 14px 10px;gap:4px}.arch-tabs button{font-size:10px;padding:7px 8px}.arch-content{padding:13px 14px 18px}.arch-lead{font-size:12px}.arch-metric-grid{gap:5px}.arch-metric{padding:8px}.arch-metric h3,.arch-metric p{font-size:10px}.arch-knowledge-grid{grid-template-columns:1fr}.arch-question{grid-template-columns:1fr}.arch-timeline{gap:7px;flex-wrap:wrap}.arch-time{width:100%;text-align:right}.arch-gait-table{font-size:10px}.arch-gait-table td,.arch-gait-table th{padding:8px 6px}}
.conversation,body[data-node-kind=task] .conversation,body[data-dock-collapsed=true] .conversation{left:18px;right:auto;bottom:18px;transform:none;width:min(300px,28vw);max-width:none;max-height:46dvh;padding:12px 14px;background:#fffefaf7}
.conversation #line,body[data-node-kind=task] .conversation #line{font-size:13px;line-height:1.8;margin:8px 0}.conversation .options button{font-size:11.5px;padding:8px}.conversation-foot{gap:5px}.conversation-foot .primary{padding:7px 10px;font-size:11px}.conversation-foot .quiet{font-size:10px;padding:4px}.conversation-head #speaker{font-size:11px;line-height:1.6}.conversation .task-label{display:none}
.task-dock{right:18px;top:139px;width:min(320px,30vw);max-height:calc(100dvh - 157px);padding:12px 13px}.task-dock>header b{font-size:13px}.task-dock button,.task-dock .options button{font-size:11.5px;line-height:1.7}.task-dock .options{margin-top:12px}.task-status{font-size:11px}.task-description{font-size:11px}.task-surface svg{max-height:none}.task-surface #taskDiagram{height:auto}.task-source{font-size:10px;line-height:1.7}
.lesson-coach{position:absolute;z-index:5;top:139px;left:18px;width:min(300px,28vw);border:1px solid #c7dce0;background:#f9fffcf5;border-radius:14px;padding:11px 13px;box-shadow:0 9px 30px #1d444e15;color:#284f5c;backdrop-filter:blur(12px)}.lesson-coach>header{display:flex;gap:8px;align-items:center}.coach-face{display:grid;place-items:center;width:31px;height:31px;flex-shrink:0;border-radius:50%;background:#2d6c72;color:white;font-size:13px}.lesson-coach b{display:block;font-size:12px}.lesson-coach small{display:block;font-size:10px;color:#66818c}.lesson-coach header button{margin-left:auto;padding:3px 6px;border:0;font-size:10px;background:transparent;color:#6d8791}.coach-body p{font-size:12px;line-height:1.85;margin:9px 0}.coach-body>button{font-size:11px;padding:6px 11px;background:#e4f1ee;border-color:#b5d2c8;color:#245e59}.lesson-coach[data-collapsed=true] .coach-body{display:none}.coach-focus{outline:3px solid #d39a38!important;outline-offset:4px!important;box-shadow:0 0 0 7px #e9b75230!important}
.chapter-label,.chapter-rail{display:none}.scene-caption{left:50%;transform:translateX(-50%);top:137px;max-width:36vw;text-align:center;font-size:10px;padding:7px 10px}.removal-progress{font-size:11px;color:#47726d}.preparation-replay{font-size:11px;padding:6px 9px;margin:7px 0}.task-modes button{flex:1;padding:6px 5px}.task-modes{gap:4px}.pressure-reference summary{cursor:pointer;color:#316b91;font-size:10px}.pressure-reference a{display:block;font-size:10px;color:#367da0;margin:4px 0}.pressure-reference p{font-size:10px;line-height:1.8;color:#6d8491}
body[data-inspect-equipment=true] .lesson-coach{display:none!important}
body[data-footwear-preparation=true] #conversation,body[data-footwear-preparation=true] #taskDock,body[data-footwear-preparation=true] .scene-caption{display:none!important}
@media(min-width:1500px){.conversation,body[data-node-kind=task] .conversation{width:320px;left:25px}.lesson-coach{width:320px;left:25px}.task-dock{width:350px;right:25px}}
@media(min-width:651px) and (max-width:1000px){.conversation,body[data-node-kind=task] .conversation,body[data-dock-collapsed=true] .conversation{left:12px;width:28vw;right:auto;max-height:44dvh;padding:10px 11px}.lesson-coach{left:12px;width:28vw;padding:9px 10px;top:140px}.coach-body p{font-size:11px}.task-dock{right:12px;width:30vw;top:140px;padding:10px}.task-dock button,.task-dock .options button{font-size:10.5px}.conversation #line,body[data-node-kind=task] .conversation #line{font-size:12px}.conversation-foot .primary{font-size:10px;padding:6px 8px}.scene-caption{font-size:9px;max-width:36vw}}
@media(max-width:650px){.conversation,body[data-node-kind=task] .conversation{left:10px;width:calc(100% - 20px);max-height:26dvh;bottom:10px}.lesson-coach{left:10px;top:140px;width:43vw;padding:9px 10px}.coach-body p{font-size:10.5px}.task-dock{left:auto;right:10px;top:140px;width:49vw;max-height:calc(72dvh - 155px);padding:9px}.task-dock button{font-size:10px}.scene-caption{display:none}.view-switch button{font-size:9px;padding:6px 9px}}
@media(max-height:600px) and (min-width:651px){.lesson-coach,.task-dock{top:104px}.task-dock{max-height:calc(100dvh - 118px)}.lesson-coach{padding:7px 10px}.coach-body p{font-size:10px;margin:5px 0}.conversation,body[data-node-kind=task] .conversation{max-height:40dvh}}
.teacher-preview-badge{position:absolute;top:85px;left:50%;transform:translateX(-50%);z-index:25;background:#fff6df;border:1px solid #d7bd80;color:#705824;border-radius:20px;padding:7px 15px;font-size:12px;white-space:nowrap}.teacher-preview-badge a{color:#335c75;text-decoration:underline}

/* v16: a separate route map leaves the clinical scene uncluttered. */
#projectGuideOpen{background:#e3f1ed;color:#235e59;border-color:#b9d5cb;font-weight:650}
#projectGuideWelcome{display:block;width:100%;margin-top:8px;font-size:12px;border:1px solid #cfdfdf;border-radius:9px;padding:8px 12px}
.project-guide{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;background:#17344885;backdrop-filter:blur(8px);padding:20px}
.project-guide[hidden]{display:none}.project-guide-shell{display:flex;flex-direction:column;width:min(1080px,100%);max-height:calc(100dvh - 40px);border-radius:20px;overflow:hidden;background:#f4f8f7;border:1px solid #d4e1e2;box-shadow:0 28px 90px #102c3b50;color:#284f60}
.project-guide-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 26px 18px;background:#fff;border-bottom:1px solid #dde8e8}.project-guide-head h2{font-size:23px;margin:6px 0 7px;font-weight:650;line-height:1.5}.project-guide-head p{font-size:12px;color:#69838d;line-height:1.8;margin:0}.project-guide-head>button{white-space:nowrap;flex-shrink:0;font-size:12px;padding:8px 12px}
.project-guide-body{overflow:auto;padding:18px 26px 23px}.guide-route-intro{display:flex;gap:18px;align-items:center;justify-content:space-between}.guide-route-intro b{font-size:14px}.guide-route-intro p{font-size:12px;margin:4px 0;color:#587985}.guide-route-intro small{font-size:10px;color:#7a919a}.guide-overview-link{display:inline-block;flex-shrink:0;padding:9px 13px;border:1px solid #c7dadb;background:white;border-radius:9px;color:#2c6b7b;font-size:12px;text-decoration:none}
.guide-access-note{font-size:11px;line-height:1.8;color:#607e87;margin:14px 0;padding:9px 12px;background:#e8f2ef;border-radius:9px}.guide-stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.guide-stage-card{background:#fff;border:1px solid #d7e4e4;border-radius:13px;padding:13px 14px;display:flex;flex-direction:column;min-width:0}.guide-stage-card.is-current{border-color:#4d9387;box-shadow:0 0 0 1px #7aafa445}.guide-stage-heading{display:flex;justify-content:space-between;align-items:center}.guide-stage-number{font:24px/1.2 Georgia,serif;color:#b3c9ce}.guide-stage-state{font-size:9px;color:#7c969e}.guide-stage-card.is-current .guide-stage-state{color:#2b796d}.guide-stage-card h3{font-size:15px;line-height:1.6;margin:9px 0 4px;font-weight:650}.guide-stage-goal{font-size:12px;line-height:1.8;color:#4d7380;margin:0 0 5px}.guide-stage-card>small{font-size:10px;line-height:1.8;color:#8a9ca3;margin-bottom:13px}.guide-stage-card>button{margin-top:auto;text-align:left;font-size:11px;padding:8px 9px;background:#eef6f3;border-color:#d2e4dc;color:#2e7167}.guide-stage-card>button:disabled{opacity:.45;cursor:default}
.guide-footnote{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:16px}.guide-footnote p{font-size:10px;color:#7a9099;line-height:1.9;margin:0;max-width:690px}.guide-footnote a{font-size:11px;white-space:nowrap;color:#3e7487}
@media(max-width:900px){.guide-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-guide-head h2{font-size:20px}.guide-footnote{align-items:flex-start;flex-direction:column;gap:9px}.header-actions{gap:5px}.header-actions>button{font-size:11px;padding:7px 9px}}
@media(max-width:650px){.project-guide{padding:8px}.project-guide-shell{max-height:calc(100dvh - 16px);border-radius:13px}.project-guide-head{padding:15px;gap:10px}.project-guide-head h2{font-size:17px}.project-guide-head p{font-size:10px}.project-guide-head>button{font-size:10px;padding:6px 8px}.project-guide-body{padding:14px}.guide-route-intro{align-items:flex-start;flex-direction:column;gap:10px}.guide-route-intro p{font-size:11px}.guide-overview-link{font-size:11px;padding:7px 10px}.guide-stage-grid{gap:8px}.guide-stage-card{padding:11px}.guide-stage-card h3{font-size:14px}.guide-stage-goal{font-size:11px}.guide-stage-card>small{font-size:9px}.guide-stage-card>button{font-size:10px}.header-actions #projectGuideOpen{font-size:10px;padding:6px 7px}}

/* Reviewed film slots share the same node and never grant operation credit. */
.film-cue{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px;color:#597580;font-size:10px}.film-cue[hidden],.film-handoff[hidden],.film-overlay[hidden]{display:none}.film-cue>span{flex:1}.film-cue>button{font-size:9px;padding:3px 6px;background:#edf4f2;border:1px solid #d1dfdb;border-radius:6px;color:#386b65}.film-handoff{margin:7px 0 4px;padding:6px 8px;background:#eaf3ef;border-radius:7px;color:#34675d;font-size:10px;line-height:1.65}.film-overlay{position:absolute;inset:0;z-index:100;background:#0e1c2ee6;display:grid;place-items:center;padding:20px;backdrop-filter:blur(7px)}.film-screen{width:min(1050px,100%);max-height:calc(100dvh - 40px);background:#091521;border:1px solid #667a8d;border-radius:15px;overflow:auto;color:white;box-shadow:0 25px 80px #0007}.film-screen>header,.film-screen>footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 18px;background:#142538}.film-screen header>b{font-size:13px}.film-screen button{border:1px solid #637b8b;background:#203d50;color:#edf9f8;border-radius:8px;padding:7px 11px;font-size:11px}.film-screen>video{display:block;width:100%;max-height:calc(100dvh - 180px);background:#000;aspect-ratio:16/9}.film-screen footer>p{font-size:11px;line-height:1.7;margin:0;color:#ccdbdf}.film-screen footer>button{flex-shrink:0}body[data-film-playing=true] .lesson-coach{visibility:hidden}@media(max-width:650px){.film-overlay{padding:8px}.film-screen{max-height:calc(100dvh - 16px)}.film-screen>header,.film-screen>footer{padding:9px 12px;gap:8px}.film-screen footer{flex-direction:column;align-items:stretch}.film-screen footer>button{text-align:center}.film-screen>video{max-height:calc(100dvh - 170px)}}

/* v20 compact spoken captions */
#line{font-size:17px;line-height:1.65;margin:10px 0;min-height:2.8em}#audioStatus{color:#8a4d2c;font-size:12px}#lineNext{display:none!important}.conversation .care-cue{display:none}.film-cue{font-size:11px}.film-handoff{font-size:12px}#soapNumericAnswer{display:block;width:95%;margin:10px 0;padding:12px;border:1px solid #bdd1ca;border-radius:9px}.conversation[data-speaker="patient"] #line{color:#504b63}
