:root{font-family:"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;color:#263d36;background:#142925;font-synthesis:none;--ink:#263d36;--muted:#75877f;--teal:#237b67;--border:#dde5de;--pale:#f0f5ee}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c5dbb9;outline-offset:4px}[hidden]{display:none!important}.shell{width:100%;height:100dvh;min-height:540px;position:relative;isolation:isolate}.scene-stage{position:absolute;inset:0;overflow:hidden;background:#c6d4c9}.scene-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%;display:block;transition:opacity .35s ease,transform .9s ease;animation:scene-reveal .7s ease-out both}.scene-light{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(15,35,29,.48) 0,transparent 23%,transparent 57%,rgba(13,29,23,.56) 100%)}.scene-overlay{position:absolute;inset:0;color:#fff;pointer-events:none}.scene-overlay>*{pointer-events:auto}.topbar{height:88px;position:absolute;inset:0 0 auto;display:flex;align-items:center;gap:28px;padding:0 34px;color:#fff;z-index:20}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brandmark{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#f1f5e6;color:#41664c;font-size:20px;font-weight:650;box-shadow:0 2px 12px #173b3520}.brand b{font-size:16px;letter-spacing:2px;line-height:1.2;font-weight:550}.brand small{display:block;font-size:9px;letter-spacing:1px;margin-top:5px;color:#f1f3e8bb}.patient-profile{display:flex;align-items:center;gap:10px;padding-left:28px;border-left:1px solid #ffffff35;min-width:0}.patient-initial{display:none}.patient-profile h1{margin:0;font-size:15px;font-weight:550;letter-spacing:1px}.patient-profile p{margin:5px 0 0;font-size:10px;color:#ffffffa8;letter-spacing:.5px}.topbar-end{margin-left:auto;display:flex;gap:20px;align-items:center}.teaching-tag{font-size:10px;letter-spacing:1.5px;padding:5px 8px;border:1px solid #ffffff55;border-radius:4px;color:#f4f5e8de}.action-menu{position:relative}.action-menu>summary{list-style:none;cursor:pointer;font-size:17px;letter-spacing:3px;padding:8px 0 8px 10px;line-height:1}.action-menu>summary::-webkit-details-marker{display:none}.menu-content{position:absolute;right:0;top:38px;width:225px;padding:12px;color:#365143;background:#f7faf3f5;backdrop-filter:blur(22px);border:1px solid #ffffffa8;border-radius:12px;box-shadow:0 15px 60px #0c281b30;display:grid;gap:3px}.menu-content button,.menu-content a{border:0;background:none;text-align:left;padding:10px 12px;border-radius:6px;font-size:12px}.menu-content button:hover,.menu-content a:hover{background:#e8eee3}.identity{font-size:10px;color:#7b8d7a;padding:8px 12px 12px;border-bottom:1px solid #e2e9dd;margin-bottom:4px}.voice-note{font-size:10px;line-height:1.8;padding:8px 12px;color:#83907b}.camera-status{position:absolute;top:112px;left:36px;display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:1px;color:#fffdeae5;text-shadow:0 1px 5px #17382b35}.record-dot{width:5px;height:5px;background:#d7e4bc;border-radius:50%;box-shadow:0 0 0 3px #ffffff12}.room-label{margin-left:8px;padding-left:13px;border-left:1px solid #ffffff55;font-size:9px;color:#ffffffa9}.scene-heading{position:absolute;top:154px;left:36px;max-width:440px;text-shadow:0 1px 10px #17342733}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:550;color:#95a78c}.scene-heading .eyebrow{color:#f9f9e5b8;letter-spacing:2px;font-size:9px}.scene-heading h2{font-size:24px;font-weight:450;letter-spacing:2px;line-height:1.5;margin:9px 0}.scene-heading p{font-size:12px;line-height:1.7;letter-spacing:.7px;color:#fffde5c4;margin:0}.camera-switch{position:absolute;top:108px;right:35px;display:flex;gap:3px;padding:3px;border:1px solid #ffffff40;border-radius:30px;background:#24433625;backdrop-filter:blur(12px)}.camera-switch button{border:0;color:#ffffffac;background:transparent;border-radius:30px;padding:8px 13px;font-size:10px;display:flex;align-items:center;gap:6px;letter-spacing:.5px}.camera-switch button.active,.camera-switch button[aria-pressed="true"]{background:#edf3dded;color:#46663d}.camera-switch button:hover{background:#fff2;color:#fff}.camera-switch button[aria-pressed="true"]:hover{background:#edf3dd;color:#46663d}.scene-bottom{position:absolute;left:50%;bottom:104px;transform:translateX(-50%);width:min(650px,calc(100% - 60px));display:flex;flex-direction:column;align-items:center;gap:16px;pointer-events:none}.scene-bottom>*{pointer-events:auto}.subtitle-box{position:relative;width:100%;padding:17px 48px 18px 23px;border:1px solid #ffffff29;border-radius:12px;background:linear-gradient(120deg,#17392dbd,#1c342ac9);backdrop-filter:blur(18px);box-shadow:0 8px 45px #092c1712}.speaker-name{display:block;font-size:10px;letter-spacing:2px;color:#d0dfb0;font-weight:550;margin-bottom:7px}.subtitle-box p{font-size:15px;line-height:1.8;letter-spacing:.45px;margin:0;color:#fffdf1;overflow-wrap:anywhere}.subtitle-expand{position:absolute;right:14px;top:14px;background:transparent;border:0;color:#ffffff85;padding:4px;font-size:17px}.subtitle-expand:hover{color:white}.scene-action-bar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;width:100%}.scene-action-bar:empty{display:none}.scene-action-bar button{border:1px solid #ffffff66;border-radius:7px;padding:12px 18px;background:#f3f6eae8;color:#385739;backdrop-filter:blur(18px);font-size:12px;line-height:1.5;box-shadow:0 4px 16px #173d2415;max-width:100%;text-align:left}.scene-action-bar button:hover{background:#fffdec;border-color:white}.scene-action-bar button.primary{background:#4c7154;color:white;border-color:#a1b386}.enter-consultation{display:flex;align-items:center;gap:34px;border:1px solid #eef5da80;background:#eaf2d7f2;color:#3d603b;padding:14px 22px;border-radius:8px;font-size:13px;letter-spacing:.6px;box-shadow:0 5px 20px #0b291524;transition:transform .2s,background .2s}.enter-consultation:hover{background:#f8fce9;transform:translateY(-2px)}body[data-encounter-active="true"] .entry-action{display:none}.scene-dock{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:5px;border:1px solid #ffffff2d;border-radius:12px;background:#153a2d90;backdrop-filter:blur(22px);white-space:nowrap}.scene-dock button{border:0;border-radius:8px;background:transparent;color:#f8f9e6c4;font-size:11px;padding:11px 15px;display:flex;align-items:center;gap:8px;letter-spacing:.5px}.scene-dock button>span{font-size:17px;font-weight:300;color:#e9efd6b3;line-height:1}.scene-dock button:hover,.scene-dock button[aria-expanded="true"]{background:#f1f4e223;color:#fff}.scene-dock button[aria-expanded="true"]{box-shadow:inset 0 0 0 1px #ffffff22}.sync-bar{position:absolute;left:35px;bottom:36px;display:flex;align-items:center;gap:6px;color:#f5f5e18f;font-size:9px;max-width:26vw;line-height:1.6}.sync-dot{width:4px;height:4px;border-radius:50%;flex:0 0 4px;background:#c5d6a4}.sync-dot.pending{background:#dec080}.sync-dot.error{background:#d8a392}.sync-bar button{border:0;background:transparent;color:#e2eacb;font-size:9px;padding:0 2px;text-decoration:underline;white-space:nowrap}.stage-signature{position:absolute;right:36px;bottom:38px;font-size:9px;letter-spacing:1px;color:#fffde773}.compat-scene{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0;pointer-events:none;clip-path:inset(50%)}
/* Tools remain available as quiet, dismissible drawers around the scene. */
.clinic-drawer{position:fixed;z-index:40;top:88px;right:20px;bottom:20px;width:min(420px,calc(100vw - 40px));background:#f8faf4f7;backdrop-filter:blur(30px);border:1px solid #fff9;border-radius:15px;box-shadow:0 12px 65px #0a2e292e;overflow:hidden;display:flex;flex-direction:column;animation:drawer-in .24s ease-out}.drawer-heading{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:15px;padding:23px 23px 20px;border-bottom:1px solid #e3e9de;background:#ffffff30}.drawer-heading h2{font-size:19px;letter-spacing:.6px;font-weight:550;margin:5px 0 0;line-height:1.4}.close-drawer{width:29px;height:29px;background:#eaf0e5;border:0;border-radius:50%;font-size:22px;line-height:1;color:#7d9473;flex:0 0 29px}.close-drawer:hover{color:#2f5c36;background:#e1ead8}.workspace{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#bdcead transparent;flex:1}.workflow-empty{padding:30px 25px;font-size:13px;line-height:1.9;color:#8a9b7b}body[data-encounter-active="true"] .workflow-empty{display:none}.stepper{display:grid;grid-template-columns:repeat(5,1fr);padding:18px 13px 15px;border-bottom:1px solid #e3e9db;gap:3px;background:#f1f5eb}.step-button{display:grid;justify-items:center;gap:7px;border:0;background:none;font-size:9px;color:#97a68a;line-height:1.5;padding:0}.step-number{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#e4eddc;font-size:10px;font-weight:450;color:#8aa274}.step-button.active{color:#4d713e;font-weight:550}.step-button.active .step-number{background:#63834e;color:white;box-shadow:0 0 0 3px #dce8d1}.step-button.done .step-number{color:#749152;background:#dce9ce}.stage-panel{padding:23px}.panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.panel-heading h2{font-size:19px;font-weight:550;line-height:1.6;letter-spacing:.2px;margin:7px 0 0}.progress-pill,.subtle-badge{font-size:9px;line-height:1.5;white-space:nowrap;padding:5px 8px;color:#7b9562;border:1px solid #dee8d5;border-radius:20px;background:#f0f5e8}.muted{font-size:11px;line-height:1.9;color:#8c9c7e;margin:10px 0 18px}.category-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:15px}.category-tabs button{padding:7px 9px;background:#fff;border:1px solid #e0e8d7;color:#8f9f7d;font-size:10px;border-radius:20px}.category-tabs button.active{background:#e6efda;border-color:#cbdcba;color:#597e40}.question-list{display:grid;gap:8px}.question-button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:white;border:1px solid #e0e8d8;border-radius:8px;padding:11px 10px;font-size:12px;line-height:1.7}.question-button:hover{border-color:#aac494;background:#f4f8ee}.question-mark{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border-radius:50%;background:#edf4e4;color:#96ae80;font-size:11px}.question-arrow,.asked-tag{margin-left:auto;color:#94ae7f;font-size:12px;white-space:nowrap}.asked-tag{font-size:8px}.question-button.asked{background:#f6faef}.question-why,.question-hint{font-size:10px;line-height:1.9;color:#71865d;background:#f1f7e8;border-radius:7px;padding:9px 11px}.free-question{margin-top:23px;padding-top:18px;border-top:1px solid #e3eadb}.free-question label{display:block;margin-bottom:10px;font-size:12px;color:#5b7849}.free-question label>span{font-size:9px;color:#a0ac90;margin-left:5px}textarea{display:block;resize:vertical;width:100%;min-height:80px;background:#fff;border:1px solid #dce7d0;border-radius:7px;padding:12px;font-size:12px;line-height:1.9;color:#49623b}textarea::placeholder{color:#a2af95}.free-actions{display:flex;justify-content:space-between;gap:10px;margin-top:8px;align-items:flex-start}.free-actions small{font-size:9px;line-height:1.8;color:#a0ac90;max-width:52%}.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;border:1px solid #d5e1c8;border-radius:7px;padding:11px 15px;background:white;font-size:12px;line-height:1.6;color:#67854d}.button:hover{background:#eef5e4}.button.primary{background:#63884f;border-color:#63884f;color:white}.button.primary:hover{background:#50743e}.button.small{font-size:10px;padding:7px 9px}.next-link{display:block;width:100%;border:0;background:#eaf2df;color:#719155;font-size:11px;border-radius:7px;padding:12px;margin-top:22px;text-align:right;line-height:1.6}.next-link:hover{background:#dfeccc}.exam-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.exam-card{background:white;text-align:left;border:1px solid #e0e8d6;border-radius:9px;padding:12px;min-height:120px}.exam-card:hover{border-color:#aec491}.exam-card.selected{background:#f0f7e6;border-color:#8dad70}.exam-icon{font-size:18px;color:#90aa76}.exam-status{float:right;font-size:8px;color:#90a973;line-height:2}.exam-card h3{font-size:12px;line-height:1.6;margin:8px 0 5px;font-weight:550}.exam-card p{font-size:10px;line-height:1.8;color:#7b8d6c;margin:0}.exam-detail{margin-top:15px;padding:17px;background:#edf4e3;border:1px solid #d3e1c2;border-radius:9px}.exam-detail h3{font-size:14px;margin:0 0 10px;line-height:1.7;font-weight:550}.exam-detail p{font-size:12px;line-height:1.85;color:#687e56}.small-label{font-size:9px;letter-spacing:1px;color:#829c6a}.patient-worry{margin-top:8px;padding:11px 12px;background:#fff;border-left:2px solid #aec694;font-size:12px;line-height:1.85;color:#8a9b75;border-radius:4px}.consent-explanation{font-size:12px;line-height:1.85;color:#688851;padding:12px 0}.exam-detail .button{font-size:11px;margin-top:7px;white-space:normal}.result-card{background:#fff;border:1px solid #dce8cd;border-radius:7px;padding:13px;margin-top:13px}.result-card p{font-size:12px;margin:7px 0}.result-label{font-size:9px;color:#87a46f}.feedback{font-size:11px;line-height:1.9;padding:11px;background:#e7f0d9;color:#78935f;margin-top:11px;border-radius:6px}.feedback.caution,.review-observation.caution{color:#ad8d4e;background:#fff3da}.evidence-list{display:grid;gap:12px}.evidence-card{border:1px solid #dce5d1;background:white;border-radius:9px;overflow:hidden}.evidence-card.selected{border-color:#9cba7e}.evidence-card-top{padding:13px 14px 0;display:flex;justify-content:space-between;gap:10px}.kind-label{font-size:8px;color:#95aa7a;letter-spacing:.2px}.evidence-card h3{font-size:13px;line-height:1.7;margin:9px 14px;font-weight:550}.evidence-card p{font-size:11px;color:#697e55;line-height:1.9;margin:0 14px 13px}.source-links{font-size:10px;line-height:1.8;color:#79a071;margin:0 14px 12px}.source-links a{text-decoration:underline;text-underline-offset:3px;margin-right:7px}.evidence-mark{background:#f1f6e9;width:100%;text-align:left;border:0;border-top:1px solid #e6eedc;color:#86a16a;padding:11px 14px;font-size:11px}.evidence-card.selected .evidence-mark{background:#e5efd7;color:#668a49}.choice-section{margin-bottom:25px}.choice-section h3{font-size:13px;line-height:1.8;color:#617c4c;margin:0 0 12px;font-weight:550}.choice-list{display:grid;gap:9px}.choice-option{display:block;background:#fff;border:1px solid #dee7d2;border-radius:8px;font-size:12px;line-height:1.9;padding:12px 13px;cursor:pointer}.choice-option:has(input:checked){border-color:#9db982;background:#f3f8eb}.choice-option input{accent-color:#7c9c5d;vertical-align:-1px;margin:0 7px 0 0;width:13px;height:13px}.option-feedback{font-size:11px;line-height:1.9;color:#69824f;border-top:1px solid #e0e8d4;padding-top:9px;margin-top:9px}.option-feedback.caution{color:#ad935c}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.review-metric{border:1px solid #dce6cf;border-radius:8px;padding:13px;background:#f0f6e7}.review-metric b{display:block;font-size:22px;font-weight:450;color:#799a58}.review-metric span{display:block;margin-top:5px;font-size:9px;line-height:1.7;color:#9eac8b}.review-observation{grid-column:1/-1;background:#edf4e1;padding:12px;border-radius:7px;font-size:11px;line-height:1.9;color:#667e4e}.reflection-label{font-size:13px;color:#68874d;display:block;margin-top:21px}.reflection-meta{display:flex;gap:10px;justify-content:space-between;font-size:8px;line-height:1.8;color:#a0ae8f;margin:8px 0 18px}.completion-actions{display:flex;flex-wrap:wrap;gap:8px}.completion-actions .button{font-size:11px;padding:10px 12px}.completion-box{padding:16px;margin-top:20px;background:#e9f3dc;border:1px solid #d0e1bb;border-radius:8px}.completion-box h3{font-size:14px;font-weight:550;color:#79975d;margin:0 0 10px}.completion-box p{font-size:11px;color:#91a477;line-height:1.9}.completion-box a{font-size:11px;text-decoration:underline;color:#7e9d62}.review-details{border-top:1px solid #e2e9d7;margin-top:22px;padding-top:16px}.review-details summary{cursor:pointer;color:#94a77a;font-size:11px}.review-details ul{padding-left:17px;font-size:11px;line-height:1.9;color:#9aaa87}.review-details .small-label{margin:15px 0 4px}
.case-drawer{top:auto;bottom:97px;left:50%;right:auto;transform:translateX(-50%);width:min(900px,calc(100vw - 48px));max-height:calc(100dvh - 205px);border-radius:14px;overflow:auto;animation:case-in .2s ease-out}.case-drawer>.drawer-heading{padding:18px 23px 0;border:0}.case-drawer>.drawer-heading h2{font-size:15px;letter-spacing:1px;margin:0}.lobby{padding:0 23px 22px}.lobby>.panel-heading{display:none}.lobby>.muted{margin:4px 0 16px;font-size:10px;line-height:1.7;color:#9aaa85}.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.case-card{position:relative;display:flex;align-items:center;gap:9px;min-width:0;text-align:left;border:1px solid #dce7ce;border-radius:8px;background:#fff;padding:12px 11px;min-height:52px;transition:background .2s,border .2s}.case-card:hover{border-color:#a3bb87;background:#f4f9ed}.case-card.selected{border-color:#8dab70;background:#eaf3db;box-shadow:inset 0 0 0 1px #8dab7030}.case-top{display:flex;flex-shrink:0}.case-icon{color:#91ac75;line-height:1;display:flex}.case-icon svg{width:22px;height:22px}.case-number,.case-card p{display:none}.case-card h3{font-size:12px;line-height:1.6;margin:0;font-weight:500;letter-spacing:.2px}.case-tick{display:none;color:#84a660;font-size:10px;margin-left:auto}.case-card.selected .case-tick{display:block}.case-preview{margin-top:15px;padding:12px 14px;background:#f2f6ea;border-radius:7px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}.case-preview>.small-label{display:none}.case-preview>p{flex:1 1 280px;font-size:11px;line-height:1.7;color:#6c8253;margin:0}.preview-goal{font-size:10px;line-height:1.8;flex:1 1 300px;display:flex;gap:8px}.preview-goal>span{color:#89996e;white-space:nowrap}.preview-goal>b{color:#6e8653;font-weight:400}.start-button{width:100%;justify-content:space-between;margin-top:13px;padding:10px 16px;font-size:12px}.practice-map{display:none}.resume-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;color:#98a686;background:#eff5e7;border-radius:7px;padding:10px 12px;margin-top:12px;line-height:1.8}.resume-bar button{border:0;background:transparent;font-size:10px;color:#86a36b;white-space:nowrap}.saved-sessions{margin-top:12px;font-size:10px;color:#9aab84}.saved-sessions summary{padding:8px 0;cursor:pointer}.saved-session{display:flex;align-items:center;gap:10px;border-top:1px solid #e4ecd9;padding:11px 0}.saved-session>div{flex:1;min-width:0}.saved-session b{font-size:11px;font-weight:500;color:#8da276}.saved-session small{font-size:9px;display:block;margin-top:5px;color:#a6b494}.saved-session button{border:0;border-radius:5px;background:#eaf2de;color:#92ab74;font-size:10px;padding:6px 9px}.notebook-drawer{overflow:auto}.patient-concern{margin:20px 23px 0;background:#f0f5e7;border:1px solid #e2ebd5;border-radius:8px;padding:13px 15px}.patient-concern p{font-size:12px;color:#718454;line-height:1.9;margin:6px 0 0}.evidence-drawer{margin:18px 23px 23px;border:1px solid #dfe8d2;border-radius:8px;overflow:hidden;flex-shrink:0}.evidence-drawer>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;background:#f0f6e6;padding:14px;font-size:12px;color:#7f9c60}.evidence-drawer>summary b{font-size:10px;font-weight:400;background:#e0ebce;padding:2px 6px;border-radius:4px;margin-left:5px}.evidence-drawer>summary small{font-size:8px;color:#a1b18a}.evidence-drawer #drawerBody{padding:0 14px 12px}.drawer-item{padding:13px 0;border-bottom:1px solid #e2ebd5}.drawer-item:last-child{border-bottom:0}.drawer-item b{font-weight:550;font-size:11px;color:#89a16d;line-height:1.9}.drawer-item p{font-size:11px;line-height:1.9;color:#7a8c66;margin:5px 0}.conversation{padding:14px 22px 20px;display:flex;flex-direction:column;flex:1;min-height:0}.conversation-head{font-size:10px;color:#9dae86;margin-bottom:18px}.message-list{flex:1;overflow:auto;scrollbar-width:thin;scrollbar-color:#c2d1b1 transparent;padding-right:3px}.welcome-message{text-align:center;padding:20px 0;font-size:12px;line-height:1.9;color:#a1b18e}.welcome-message small{font-size:10px}.message{display:flex;gap:8px;margin-bottom:18px;animation:message-in .2s ease}.msg-avatar{width:24px;height:24px;flex:0 0 24px;border-radius:50%;display:grid;place-items:center;background:#e8f0dc;font-size:10px;color:#96ad79}.msg-content{max-width:88%;min-width:0}.msg-name{font-size:9px;line-height:1.6;color:#a8b796;margin-bottom:5px}.msg-bubble{border:1px solid #e0e8d3;background:#f0f6e6;border-radius:0 9px 9px;padding:11px 12px;color:#5b7349;font-size:12px;line-height:1.9;overflow-wrap:anywhere}.message.student{flex-direction:row-reverse}.message.student .msg-avatar{background:#e8eee4;color:#97a88b}.message.student .msg-name{text-align:right}.message.student .msg-bubble{background:#eaf1e4;border-color:#e0e8d8;border-radius:9px 0 9px 9px;color:#637956}.msg-source{font-size:9px;color:#b0bca2;line-height:1.7;margin-top:5px}.message.system{display:block;text-align:center}.message.system .msg-content{max-width:100%}.message.system .msg-bubble{background:#f3f7ed;border:1px dashed #dce6cf;border-radius:7px;font-size:10px;color:#a4b191}.access-note{position:absolute;left:36px;top:255px;padding:17px 18px;max-width:350px;background:#f7f8e9ef;color:#7d8b5f;border:1px solid #fff9;border-radius:10px;box-shadow:0 8px 35px #1c3f2410;display:flex;flex-wrap:wrap;gap:9px;align-items:center}.access-note>div{width:100%}.access-note b{font-size:12px;font-weight:550;letter-spacing:.5px}.access-note p{font-size:10px;line-height:1.8;margin:6px 0 5px;color:#9ca780}.access-note .button{font-size:10px;padding:7px 11px;gap:0}.loading,.error-message{font-size:12px;line-height:1.9;color:#9daf8b}.error-message{grid-column:1/-1;padding:18px;background:#fcf1df;border-radius:8px;color:#b19664}.error-message button{display:block;margin-top:12px}.ask-typing{font-size:11px;line-height:1.8;text-align:center;color:#9caf84;margin:14px 0}.toast{position:fixed;z-index:100;left:50%;bottom:92px;transform:translateX(-50%);max-width:min(600px,90vw);border:1px solid #ffffff30;border-radius:9px;background:#284c39ed;backdrop-filter:blur(15px);color:#f7f8e9;padding:13px 20px;font-size:12px;line-height:1.7;box-shadow:0 10px 40px #14382820}noscript{position:fixed;z-index:100;top:0;left:0;padding:15px;background:white;color:#415b3f}
body:has(.clinic-drawer:not([hidden])) .scene-heading{opacity:0;transition:opacity .2s}body:has(.clinic-drawer:not([hidden])) .scene-bottom{left:calc((100% - 440px)/2);width:min(600px,calc(100% - 500px));transition:left .25s,width .25s}body:has(.case-drawer:not([hidden])) .scene-bottom{opacity:0;pointer-events:none}body:has(.case-drawer:not([hidden])) .scene-bottom>*{pointer-events:none}body:has(.case-drawer:not([hidden])) .scene-heading{opacity:1}
@keyframes scene-reveal{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:none}}@keyframes drawer-in{from{opacity:0;translate:18px 0}to{opacity:1;translate:0 0}}@keyframes case-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes message-in{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
@media(min-width:1700px){.topbar{height:100px;padding:0 44px}.camera-status{top:128px;left:45px}.scene-heading{top:174px;left:45px}.camera-switch{top:123px;right:45px}.scene-heading h2{font-size:28px}.scene-bottom{bottom:120px;width:700px}.subtitle-box p{font-size:16px}.scene-dock{bottom:30px}.sync-bar{left:44px;bottom:43px}.stage-signature{right:44px;bottom:45px}.clinic-drawer{top:100px;right:25px;bottom:25px;width:450px}.case-drawer{top:auto;right:auto;width:min(960px,calc(100vw - 70px));bottom:108px}.case-card h3{font-size:13px}}
@media(max-width:1050px){.topbar{padding:0 24px;gap:20px}.patient-profile{padding-left:20px}.scene-heading{left:26px;max-width:350px}.scene-heading h2{font-size:21px}.camera-status{left:26px}.camera-switch{right:24px}.stage-signature{display:none}.sync-bar{left:25px;bottom:31px;max-width:20vw;font-size:8px}.scene-dock{left:auto;right:24px;transform:none}.scene-dock button{padding:10px 13px;font-size:10px}.scene-bottom{bottom:102px;max-width:620px}.clinic-drawer{width:390px;right:15px;bottom:15px}body:has(.clinic-drawer:not([hidden])) .scene-bottom{left:calc((100% - 410px)/2);width:calc(100% - 450px)}body:has(.clinic-drawer:not([hidden])) .subtitle-box{padding:15px 32px 15px 17px}body:has(.clinic-drawer:not([hidden])) .subtitle-box p{font-size:12px}body:has(.clinic-drawer:not([hidden])) .scene-action-bar button{font-size:10px;padding:10px 13px}.case-drawer{right:auto;width:calc(100vw - 48px);bottom:95px}.case-grid{gap:7px}.case-card{padding:11px 9px;gap:6px}.case-card h3{font-size:11px}.case-icon svg{width:20px;height:20px}}
@media(max-width:760px){.shell{min-height:500px}.scene-backdrop{object-position:52% center}.scene-light{background:linear-gradient(180deg,#132d2466 0,transparent 30%,transparent 48%,#132d248c 100%)}.topbar{height:77px;padding:0 18px;gap:14px}.brandmark{width:32px;height:32px;font-size:17px;border-radius:10px}.brand{gap:7px}.brand b{font-size:13px;letter-spacing:1.5px}.brand small{font-size:7px;letter-spacing:.5px;margin-top:4px}.patient-profile{padding-left:13px;max-width:44vw}.patient-profile h1{font-size:12px;letter-spacing:.5px}.patient-profile p{font-size:8px;line-height:1.6;letter-spacing:0;max-width:37vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-end{gap:10px}.teaching-tag{font-size:8px;letter-spacing:.5px;padding:4px 6px}.action-menu>summary{font-size:12px;letter-spacing:1px;padding-left:0}.camera-status{top:90px;left:20px;font-size:8px;gap:6px;letter-spacing:.5px}.room-label{font-size:7px;padding-left:9px;margin-left:3px}.camera-switch{top:85px;right:17px;gap:0;padding:2px}.camera-switch button{font-size:8px;padding:6px 8px;gap:4px;letter-spacing:0}.camera-switch button>span{display:none}.scene-heading{left:20px;top:130px;max-width:72vw}.scene-heading .eyebrow{font-size:7px}.scene-heading h2{font-size:19px;letter-spacing:1px;margin:7px 0}.scene-heading p{font-size:10px;letter-spacing:.3px}.scene-bottom{bottom:106px;width:calc(100% - 34px);max-width:570px;gap:12px}.subtitle-box{padding:13px 37px 13px 17px;border-radius:10px}.speaker-name{font-size:8px;margin-bottom:5px;letter-spacing:1.5px}.subtitle-box p{font-size:12px;line-height:1.8;letter-spacing:.2px}.subtitle-expand{font-size:15px;right:12px;top:10px}.enter-consultation{font-size:12px;padding:12px 18px;gap:24px}.scene-action-bar{gap:6px}.scene-action-bar button{font-size:10px;padding:10px 12px;border-radius:6px}.scene-dock{left:50%;right:auto;bottom:31px;transform:translateX(-50%);max-width:calc(100% - 30px);gap:2px;padding:4px;border-radius:10px}.scene-dock button{font-size:9px;padding:10px 12px;gap:6px;letter-spacing:0}.scene-dock button>span{font-size:14px}.sync-bar{left:50%;bottom:9px;transform:translateX(-50%);max-width:calc(100% - 30px);white-space:nowrap;justify-content:center;font-size:7px;opacity:.7;gap:5px}.stage-signature{display:none}.clinic-drawer{top:125px;bottom:98px;right:12px;width:min(390px,calc(100% - 24px));max-height:calc(100dvh - 223px);border-radius:12px;background:#f8faf5fc}.drawer-heading{padding:17px 20px 16px}.drawer-heading h2{font-size:17px}.drawer-heading .eyebrow{font-size:8px}.close-drawer{width:26px;height:26px;flex-basis:26px;font-size:21px}.stage-panel{padding:20px}.panel-heading h2{font-size:17px}.panel-heading .eyebrow{font-size:8px}.panel-heading .progress-pill{font-size:8px;padding:5px 7px}.muted{font-size:10px}.question-button{font-size:11px}.stepper{padding:16px 12px}.step-button{font-size:8px}.step-number{width:22px;height:22px}.exam-card{min-height:110px}.exam-card h3{font-size:11px}.exam-card p{font-size:9px}.choice-option{font-size:11px}.free-actions small{font-size:8px}.case-drawer{top:auto;bottom:98px;left:12px;right:12px;transform:none;width:auto;max-height:calc(100dvh - 220px)}.case-drawer>.drawer-heading{padding:17px 18px 0}.lobby{padding:0 18px 18px}.lobby>.muted{font-size:9px;margin-bottom:13px}.case-grid{grid-template-columns:1fr 1fr;gap:7px}.case-card{min-height:46px;padding:10px 11px;gap:8px}.case-card h3{font-size:11px}.case-preview{padding:11px 12px;gap:5px;margin-top:13px}.case-preview>p{font-size:10px}.preview-goal{font-size:9px;line-height:1.7}.start-button{padding:10px 13px;font-size:11px}.resume-bar{font-size:9px;padding:9px 11px;gap:8px}.resume-bar button{font-size:9px}.saved-sessions{font-size:9px}.saved-session b{font-size:10px}.saved-session small{font-size:8px}.saved-session button{font-size:9px}.notebook-drawer .patient-concern{margin:17px 20px 0}.evidence-drawer{margin:17px 20px 20px}.transcript-drawer .conversation{padding:13px 20px 18px}.msg-bubble{font-size:11px}.access-note{left:20px;top:220px;max-width:calc(100% - 40px);padding:14px 15px}.access-note b{font-size:11px}.access-note p{font-size:9px}.access-note .button{font-size:9px}body:has(.clinic-drawer:not([hidden])) .scene-bottom{opacity:0;left:50%;width:calc(100% - 34px);pointer-events:none}body:has(.clinic-drawer:not([hidden])) .scene-bottom>*{pointer-events:none}body:has(.clinic-drawer:not([hidden])) .camera-status{opacity:.8}body:has(.case-drawer:not([hidden])) .scene-heading{opacity:0}.toast{bottom:106px;font-size:11px;padding:11px 15px}}
@media(max-width:390px){.topbar{padding:0 14px;gap:10px}.brand small{display:none}.brand b{font-size:12px}.brandmark{width:29px;height:29px;font-size:16px}.patient-profile{padding-left:10px}.patient-profile h1{font-size:11px}.topbar-end{gap:8px}.teaching-tag{font-size:7px;padding:4px}.camera-status{left:16px}.room-label{display:none}.scene-heading{left:16px}.scene-dock button{padding:10px 10px;font-size:9px;gap:5px}.scene-dock button>span{font-size:13px}}
@media(max-height:680px) and (min-width:761px){.topbar{height:72px}.camera-status{top:87px}.camera-switch{top:80px}.scene-heading{top:120px}.scene-heading h2{font-size:20px}.scene-bottom{bottom:87px;gap:11px}.subtitle-box{padding-top:12px;padding-bottom:13px}.subtitle-box p{font-size:13px}.enter-consultation{padding:11px 19px;font-size:12px}.scene-dock{bottom:19px}.sync-bar{bottom:29px}.stage-signature{bottom:30px}.clinic-drawer{top:75px;bottom:14px}.case-drawer{top:auto;bottom:83px;max-height:calc(100dvh - 170px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* In-scene cues stay small and anchored to the physical action. */
.scene-hotspots{position:absolute;inset:0;pointer-events:none!important;z-index:3}.scene-hotspot{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;max-width:230px;pointer-events:auto;border:1px solid #ffffff65;border-radius:30px;padding:10px 15px 10px 12px;color:#fffdeb;background:#294d37a6;backdrop-filter:blur(14px);font-size:11px;line-height:1.6;letter-spacing:.4px;box-shadow:0 4px 20px #102f2415;transition:background .2s,box-shadow .2s}.scene-hotspot:hover{background:#3d6544db;box-shadow:0 0 0 4px #f1f7dd20,0 5px 20px #102f241a}.hotspot-dot{display:block;position:relative;width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#e0e9b8;box-shadow:0 0 0 5px #edf4d622}.scene-hotspot>span:last-child{overflow-wrap:anywhere}.visual-step-label{position:absolute;top:163px;right:36px;max-width:270px;padding:9px 12px;border:1px solid #ffffff35;border-radius:6px;background:#284a3480;backdrop-filter:blur(12px);color:#f7fae2c9;font-size:10px;line-height:1.7;letter-spacing:.8px;pointer-events:none!important}.subtitle-box p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}body[data-encounter-active="true"] .scene-heading{opacity:.65}body[data-encounter-active="true"] .scene-heading h2{font-size:19px}body[data-encounter-active="true"] .scene-heading p{font-size:10px;color:#fffde5a8}body:has(.clinic-drawer:not([hidden])) .scene-heading,body:has(.clinic-drawer:not([hidden])) .visual-step-label{opacity:0}body:has(.clinic-drawer:not([hidden])) .scene-hotspots{opacity:.4}.workflow-drawer .evidence-card p,.workflow-drawer .question-why,.workflow-drawer .exam-detail p,.notebook-drawer .drawer-item p,.transcript-drawer .msg-bubble{color:#62774f}
@media(min-width:1700px){.visual-step-label{top:179px;right:45px}}
@media(max-width:1050px){.visual-step-label{right:24px;font-size:9px}}
@media(max-width:760px){.scene-hotspot{font-size:9px;gap:8px;padding:8px 11px;max-width:180px;letter-spacing:.2px}.hotspot-dot{width:5px;height:5px;flex-basis:5px;box-shadow:0 0 0 4px #edf4d620}.visual-step-label{top:125px;right:19px;padding:6px 8px;max-width:170px;font-size:8px;letter-spacing:.3px}body[data-encounter-active="true"] .scene-heading{opacity:0}body:has(.clinic-drawer:not([hidden])) .scene-hotspots{opacity:0}}
@media(max-height:680px) and (min-width:761px){.visual-step-label{top:124px}}
/* Preserve the subject's face or feet when switching photographic viewpoints. */
body[data-scene-mode="arrival"] .scene-backdrop,body[data-scene-mode="conversation"] .scene-backdrop{object-position:center top}
body[data-scene-mode="examination"] .scene-backdrop{object-position:center bottom}
body[data-scene-mode="movement"] .scene-stage{background:#d0dacf}
body[data-scene-mode="movement"] .scene-backdrop{object-fit:contain;object-position:center center;transform:none;animation:none}
body[data-encounter-active="true"] .scene-heading{display:block;width:max-content;max-width:calc(100vw - 80px);padding:8px 12px;border:1px solid #ffffff24;border-radius:5px;background:#203e2ea1;backdrop-filter:blur(10px);opacity:1;text-shadow:none}
body[data-encounter-active="true"] .scene-heading .eyebrow,body[data-encounter-active="true"] #sceneHint{display:none}
body[data-encounter-active="true"] .scene-heading h2{margin:0;color:#f7fae9;font-size:12px;line-height:1.6;letter-spacing:.5px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-encounter-active="true"]:has(.clinic-drawer:not([hidden])) .scene-heading{opacity:0}
@media(max-width:760px){body[data-encounter-active="true"] .scene-heading{display:none}}
/* Keep the examination's central ankle and toes clear of the conversation HUD. */
@media(min-width:761px){body[data-scene-mode="examination"]:not(:has(.clinic-drawer:not([hidden]))) .scene-bottom{left:34px;bottom:105px;transform:none;width:min(430px,calc(100vw - 68px));max-width:none;align-items:stretch}body[data-scene-mode="examination"]:not(:has(.clinic-drawer:not([hidden]))) .scene-action-bar{justify-content:flex-start;flex-wrap:wrap;gap:7px}body[data-scene-mode="examination"]:not(:has(.clinic-drawer:not([hidden]))) .scene-action-bar button{font-size:11px;padding:10px 13px}body[data-scene-mode="examination"]:not(:has(.clinic-drawer:not([hidden]))) .subtitle-box p{-webkit-line-clamp:3;font-size:13px}}
@media(min-width:761px) and (max-width:1050px){body[data-scene-mode="examination"]:not(:has(.clinic-drawer:not([hidden]))) .scene-bottom{left:24px;width:min(400px,calc(100vw - 48px))}}
