/* Patient-centered experience, September 2026. */
:root[data-theme="day"]{color-scheme:light;--bg:#f4f3ef;--surface:#fffefb;--surface-2:#f7f6f2;--surface-3:#ebe9e3;--ink:#1f2433;--ink-2:#4d5466;--ink-3:#686e80;--line:#dcd9d1;--line-soft:#e9e7e0;--accent:#1a7560;--accent-hover:#135b4b;--accent-soft:#e2f1ea;--accent-line:#a8d2c1;--on-accent:#fff;--ok:#286744;--ok-soft:#e6f2e5;--ok-line:#b1d3b6;--warn:#84541b;--warn-soft:#fff1d9;--warn-line:#dac49d;--bad:#a43e34;--bad-soft:#faeae4;--bad-line:#dfb5aa;--info:#655687;--info-soft:#eeebf6;--info-line:#cdc3e4;--focus:#4a5bd8;--el-1:0 3px 14px #1f243305;--el-2:0 10px 30px #1f243312;--el-3:0 20px 70px #1f243326}
:root[data-theme="night"]{color-scheme:dark;--bg:#12151d;--surface:#191d27;--surface-2:#1f2430;--surface-3:#292f3d;--ink:#eceef5;--ink-2:#b6bbca;--ink-3:#9197a9;--line:#363d4e;--line-soft:#2b313f;--accent:#7fd1b3;--accent-hover:#a0e1c8;--accent-soft:#1c3a31;--accent-line:#3f7a66;--on-accent:#0d231d;--ok:#aed1a9;--ok-soft:#253f2a;--ok-line:#526d54;--warn:#e8c28b;--warn-soft:#443923;--warn-line:#7c6847;--bad:#f0afa0;--bad-soft:#47302c;--bad-line:#865e51;--info:#d2c1ec;--info-soft:#3a334a;--info-line:#716181;--focus:#a9b5ff;--el-1:none;--el-2:0 10px 30px #0003;--el-3:0 20px 70px #0006}
:root{--r-sm:10px;--r-md:18px;--r-lg:24px;--fw-semi:600}
body{background:var(--bg);font-size:15px;line-height:1.55}h1,h2,h3{letter-spacing:-.035em}h1{font-weight:550}.topbar{padding:14px 28px;background:var(--surface);box-shadow:none;gap:16px}.brand{align-items:center}.brand-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--accent);color:var(--on-accent);font-size:25px}.brand .mark{font-size:18px}.brand-light{font-weight:450}.brand .sub{margin-left:10px;max-width:38vw}.clock{background:var(--surface-2);border-color:var(--line-soft);border-radius:12px;padding:6px 14px}.clock .lbl{font-size:9px;letter-spacing:.08em}.phase-chip{font-size:11px}.btn{border-radius:10px;min-height:40px;font-weight:550;box-shadow:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-hover)}.btn.sm{min-height:34px}.btn.big{padding:14px 24px}.btn.ghost:hover{background:var(--surface-3)}.eyebrow{letter-spacing:.13em;font-size:10px;color:var(--ink-3)}.card{border-color:var(--line);border-radius:20px;box-shadow:var(--el-1)}.wrap-mid{max-width:1260px}.wrap-narrow{max-width:960px}#view{padding:28px 32px 48px}.lobby-hero{padding:28px 8px 30px;position:relative}.lobby-hero h1{font-size:clamp(36px,4.3vw,60px);line-height:1.12;margin:16px 0 20px}.lobby-hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.lobby-hero p{font-size:17px;max-width:53ch;line-height:1.7}.hero-path{display:flex;gap:10px;margin-top:24px}.hero-path span{font-size:12px;padding:8px 16px;border-radius:24px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}.mode-grid{gap:12px}.mode-card{padding:22px 18px;border-radius:16px;background:var(--surface);border-color:var(--line);box-shadow:none;transition:background .15s,border-color .15s,transform .15s}.mode-card.sel{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.mode-card:hover,.station-card:hover{transform:translateY(-2px)}.mode-card .m-ico{font-size:24px}.mode-card .m-name{font-size:18px}.mode-card .m-time{font-size:11px;line-height:1.5}.mode-card .m-desc{font-size:13px;line-height:1.65}.m-flags{gap:5px}.badge{font-size:10px;border-radius:7px;padding:3px 7px}.station-grid{gap:12px}.station-card{border-radius:14px;padding:18px;border-color:var(--line);transition:transform .15s}.station-card.sel{background:var(--accent-soft);border-color:var(--accent)}.station-no{font-size:10px;letter-spacing:.12em;color:var(--ink-3)}.coverage-strip{border-radius:12px!important;background:var(--surface-2)!important;border-color:var(--line)!important;color:var(--ink)!important}.learning-library{padding:0!important;border:0!important;background:none!important}.learning-filters{padding:16px;background:var(--surface-2);border-radius:14px}.learning-filters label{font-size:11px;color:var(--ink-2)}select,input,textarea{border-radius:10px;background:var(--surface);border-color:var(--line)}.card-head h2{font-size:22px}.doorway{border-radius:24px;background:var(--surface);overflow:hidden;border-color:var(--line)}.doorway-head{padding:32px 38px;background:var(--accent-soft);color:var(--ink)}.doorway-head h1{font-size:38px;margin:12px 0 16px}.doorway-body{padding:30px 38px}.doorway-lines{list-style:none;padding:0;margin:0 0 24px}.doorway-lines li{padding:10px 16px;border-bottom:1px solid var(--line-soft);font-size:15px;line-height:1.6}.doorway-vitals{background:var(--surface-2);padding:20px;border:1px solid var(--line);border-radius:18px;margin:22px 0}.doorway-vitals h2{font-size:20px}.doorway-vitals .chart-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px}.doorway-vitals .chart-grid dt{font-size:11px;color:var(--ink-3);padding-top:14px;grid-row:auto}.doorway-vitals .chart-grid dd{font-size:15px;font-weight:600;border:0;grid-row:auto;margin:0;padding-bottom:10px}.doorway-facts{background:none;border:0;border-radius:14px;gap:8px}.doorway-facts .fact{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:12px;padding:14px}.doorway-facts dd{font-size:23px}.doorway-body .callout{font-size:12px;padding:12px 16px;border-radius:12px}.doorway-body #go{width:100%;margin-top:10px}.experience-room{max-width:1660px;margin:0 auto}.room.room-integrated.experience-room{grid-template-columns:minmax(0,1.6fr) minmax(345px,1fr);gap:22px;align-items:start}.experience-room .unity-room{background:var(--surface);border-radius:22px;overflow:hidden}.experience-room .unity-heading{padding:18px 22px;min-height:82px;background:var(--surface)}.experience-room .unity-heading h2{font-size:27px;margin:4px 0 0}.experience-room #unityFrame{height:clamp(480px,62vh,650px);background:#e4e7dc}.experience-room .patient-toolbar{padding:12px 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line-soft)}.patient-toolbar .btn{font-size:12px;min-height:38px}.patient-toolbar #unityStatus{margin-left:auto;font-size:10px}.scene-help{padding:0 18px 14px;color:var(--ink-2);font-size:12px}.scene-help summary{cursor:pointer;font-size:11px;color:var(--ink-3)}.scene-help p{margin-top:10px}.experience-room .convo{grid-row:1;grid-column:2;padding:0;overflow:hidden;border-radius:22px;min-height:0;position:sticky;top:94px;max-height:calc(100vh - 120px)}.conversation-heading{padding:18px 20px;min-height:82px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line-soft)}.conversation-heading h2{font-size:22px;margin:4px 0 0}.conversation-heading #turnCount{margin-left:auto;font-size:10px;white-space:nowrap}.conversation-heading .btn{font-size:10px;padding:4px 8px}.experience-room .stream{height:clamp(290px,42vh,480px);min-height:210px;max-height:none;padding:18px 18px 6px;background:var(--surface);border:0;border-radius:0;flex:1 1 auto}.convo:not(.full-record) .turn.sys,.convo:not(.full-record) .turn.station{display:none}.turn{margin-bottom:18px}.turn .who{font-size:9px;text-transform:none;letter-spacing:.03em;gap:8px;margin-bottom:5px;color:var(--ink-3)}.turn .bubble{border-radius:16px;border-color:var(--line-soft);padding:12px 15px;font-size:14px;line-height:1.65}.turn.pt .bubble{background:var(--surface-2);border-bottom-left-radius:4px;color:var(--ink)}.turn.me .bubble{background:var(--accent-soft);border-bottom-right-radius:4px;color:var(--ink)}.turn.sim .bubble{background:var(--info-soft);border-color:var(--info-line);color:var(--ink)}.experience-room .composer{padding:12px 16px;background:var(--surface);border-top:1px solid var(--line-soft);flex:none}.composer-row{align-items:flex-end;gap:8px}.composer #say{border-radius:14px;padding:12px 14px;min-height:64px;resize:none;background:var(--surface-2);font-size:14px}.composer #btnSay{min-height:46px;padding:9px 13px;font-size:12px}.composer .hint{font-size:10px;margin:8px 0 0;line-height:1.5;color:var(--ink-3)}.experience-room .ai-conversation{border:0;border-radius:0;margin:0;padding:10px 18px;background:var(--surface-2);box-shadow:none;flex:none;max-height:240px;overflow:auto}.ai-conversation summary{font-size:12px;font-weight:600;color:var(--accent);cursor:pointer}.ai-conversation #aiMessage:empty,.ai-conversation #aiDelivery:empty{display:none}.ai-conversation details p,.ai-conversation details label{font-size:11px;line-height:1.55}.ai-conversation #aiMessage{font-size:11px;margin:5px 0 0}.ai-conversation #aiDelivery{font-size:12px}.ai-conversation #aiDelivery .btn{font-size:11px}.experience-room .room-left{grid-column:1;grid-row:2;display:block}.experience-room .room-right{grid-column:2;grid-row:2;display:block;padding:20px;margin:0}.encounter-next h3{font-size:21px;margin:8px 0}.encounter-next .row{margin-top:16px;gap:8px}.encounter-next #btnEnd{width:100%;justify-content:center;color:var(--accent);border-color:var(--accent-line)}.encounter-next #examProgressSub{display:block;margin-top:12px}.bedside-card{padding:16px 20px}.bedside-card summary{cursor:pointer;font-weight:600}.bedside-card summary span{display:block;font-size:11px;font-weight:400;margin-top:3px}.bedside-card p{margin-top:12px}.bedside-card #toolPrompts{margin-top:12px}.experience-room .rapport{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-room .rap{font-size:12px;min-height:44px}.experience-room.patient-focus{grid-template-columns:minmax(0,2fr) minmax(320px,.8fr)}.experience-room.patient-focus #unityFrame{height:68vh;min-height:550px}.state-pill{font-size:10px;white-space:nowrap;padding:6px 10px}.branch-reminder{padding:12px 20px;background:var(--info-soft);margin:0;font-size:11px}.encounter-guide{border:1px solid var(--line)!important;border-radius:20px!important;padding:20px!important;background:var(--surface)!important;color:var(--ink)!important;margin:0 0 16px!important;max-width:1260px}.guide-top{gap:12px!important}.guide-top h2{font-size:22px}.guide-top>.small{display:none}.guide-top #unstuckButton{font-size:11px;padding:10px 12px}.encounter-steps{gap:5px!important;margin-top:15px!important}.step-button{background:var(--surface-2)!important;color:var(--ink-2)!important;border-color:var(--line)!important;font-size:10px!important;padding:9px 7px!important;border-radius:10px!important;min-width:0!important}.step-button.active{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:var(--accent)!important}.step-button span{background:var(--surface)!important;color:var(--accent)!important}.guide-purpose{font-size:13px!important;background:var(--surface-2)!important;border-radius:10px!important}.reasoning-expand,.guided-first{font-size:12px}.recovery-card{background:var(--surface-2)!important;color:var(--ink)!important;border-color:var(--line)!important;border-radius:14px!important}.recovery-card h3{font-size:18px}.recovery-card .btn{font-size:12px}.recovery-routine span{color:var(--ink)!important}.note-sheet{border-radius:20px;overflow:hidden}.note-head{background:var(--accent-soft)}.note-sec textarea{background:var(--surface);font-size:14px;line-height:1.7}.savebar{border-radius:14px;bottom:12px;box-shadow:var(--el-2)}.scratch-status{font-size:11px;color:var(--ink-3);margin-top:10px}.center-stage h1{font-size:32px}.overlay-panel{background:var(--surface);border-radius:22px}.overlay-head{padding:20px 26px}.overlay-body{padding:22px 26px}.confirm-dialog{border-radius:22px}.scene-help[open],.bedside-card[open]{padding-bottom:18px}
@media(min-width:1500px){.lobby-hero:after{content:'Practice with presence.';position:absolute;right:20px;top:90px;width:240px;height:190px;border-radius:45% 55% 60% 40%;display:grid;place-items:center;text-align:center;padding:45px;font:italic 29px/1.3 Georgia,serif;color:var(--accent);background:var(--accent-soft);transform:rotate(5deg)}}
@media(max-width:1100px){#view{padding:20px}.room.room-integrated.experience-room{grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:14px}.experience-room .unity-heading h2{font-size:23px}.experience-room .unity-heading{padding:15px}.patient-toolbar .btn{font-size:11px}.experience-room #unityFrame{height:520px}.brand .sub{max-width:26vw}.experience-room .convo{top:86px}.doorway-vitals .chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.topbar{padding:10px 14px;gap:8px}.brand .sub{display:none}.brand .mark{font-size:15px}.brand-symbol{height:28px;width:28px;font-size:21px}.topbar .phase-chip{display:none}.topbar .clock{font-size:18px}.topbar .btn{font-size:11px;padding:6px 10px}#view{padding:16px 12px 30px}.room.room-integrated.experience-room,.room.room-integrated.experience-room.patient-focus{display:flex;flex-direction:column;gap:14px}.experience-room .unity-room{order:0}.experience-room .convo{order:1;position:static;max-height:none;width:100%}.experience-room .room-left{order:2;width:100%}.experience-room .room-right{order:3;width:100%}.experience-room #unityFrame,.experience-room.patient-focus #unityFrame{height:510px;min-height:0}.experience-room .stream{height:330px;flex:auto}.experience-room .conversation-heading{min-height:72px}.doorway-head,.doorway-body{padding:25px}.lobby-hero{padding:14px 4px 22px}.lobby-hero h1{font-size:42px}.lobby-hero p{font-size:15px}.mode-card{padding:18px}.encounter-steps{grid-template-columns:repeat(4,minmax(0,1fr))!important}.patient-toolbar #unityStatus{flex-basis:100%;margin:0}.experience-room .ai-conversation{max-height:290px}}
@media(max-width:480px){.topbar{gap:6px}.brand-light{display:none}.brand-symbol{display:none}.topbar #themeToggle{padding:5px}.topbar #btnHome{max-width:72px}.experience-room #unityFrame,.experience-room.patient-focus #unityFrame{height:460px}.experience-room .unity-heading h2{font-size:22px}.unity-heading{gap:6px}.state-pill{font-size:9px}.lobby-hero h1{font-size:34px}.hero-path{gap:5px}.hero-path span{font-size:10px;padding:7px 10px}.doorway-head h1{font-size:30px}.doorway-head,.doorway-body{padding:20px}.doorway-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-room .rapport{grid-template-columns:1fr}.conversation-heading{padding:16px!important}.guide-top{flex-wrap:wrap!important}.guide-top #unstuckButton{width:100%}.scene-help{font-size:11px}.patient-toolbar{gap:6px!important}.patient-toolbar .btn{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.mode-card:hover,.station-card:hover{transform:none}}
/* The iframe stays mounted while the doorway changes to the encounter layout. */
#roomFrameHost{position:absolute;z-index:5;overflow:hidden;background:#e4e7dc}#roomFrameHost[hidden]{display:none!important}#roomFrameHost #unityFrame{display:block;width:100%;height:100%!important;border:0}#roomViewport{width:100%;height:clamp(480px,62vh,650px);background:#e4e7dc}.patient-focus #roomViewport{height:68vh;min-height:550px}.arrival-layout{max-width:1510px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(430px,.95fr);gap:26px;align-items:start}.arrival-scene{position:relative;top:auto;padding:0;overflow:hidden;border-radius:24px}.arrival-caption{padding:24px 28px 18px}.arrival-caption h2{font-size:29px;margin:8px 0}.arrival-caption p{font-size:13px;color:var(--ink-2)}.arrival-scene #roomViewport{height:clamp(420px,59vh,620px)}.arrival-foot{display:flex;align-items:center;gap:8px;padding:14px 25px;background:var(--surface);font-size:12px;color:var(--ink-2)}.arrival-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.arrival-layout .doorway-head{padding:24px 28px 16px;background:var(--surface)}.arrival-layout .doorway-head h1{font-size:28px;margin:8px 0}.arrival-layout .doorway-body{padding:0 28px 24px}.arrival-layout .doorway-lines{margin-bottom:10px}.arrival-layout .doorway-lines li{font-size:13px;padding:7px 16px}.arrival-layout .doorway-vitals{margin:16px 0;padding:16px}.arrival-layout .doorway-vitals h2{font-size:18px}.chart-grid,.doorway-vitals .chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.vital-tile{min-width:0;border-bottom:1px solid var(--line-soft);padding:4px 0 8px}.chart-grid .vital-tile dt,.doorway-vitals .chart-grid .vital-tile dt{padding:0;border:0;font-size:10px;letter-spacing:.025em;color:var(--ink-3);text-transform:none}.chart-grid .vital-tile dd,.doorway-vitals .chart-grid .vital-tile dd{padding:4px 0 0;margin:0;border:0;font-size:15px;color:var(--ink);font-weight:600;line-height:1.35}.supplied-note{margin-top:12px!important;font-size:10px}.arrival-layout .doorway-facts{margin:14px 0}.arrival-layout .doorway-facts .fact{padding:10px}.arrival-layout .doorway-facts dd{font-size:19px}.motion-preference{display:flex;align-items:center;gap:9px;font-size:11px;margin:12px 0;color:var(--ink-2)}.motion-preference input{width:16px;height:16px;accent-color:var(--accent)}.entry-status{font-size:11px;color:var(--ink-2);margin:8px 0 0;min-height:18px}.arrival-layout #skipEntrance{display:block;width:100%;font-size:12px;margin-top:6px}.arrival-layout #entryFallback{display:block;margin:8px auto 0;font-size:10px;text-decoration:underline}.experience-room .scene-help{position:relative;z-index:6;background:var(--surface)}
@media(max-width:1100px){.arrival-layout{grid-template-columns:minmax(0,1fr) minmax(380px,1fr);gap:18px}.arrival-caption{padding:20px}.arrival-layout .doorway-head{padding:22px}.arrival-layout .doorway-body{padding:0 22px 22px}.arrival-scene #roomViewport{height:520px}}
@media(max-width:820px){.arrival-layout{display:flex;flex-direction:column;gap:18px}.arrival-scene{position:relative;top:auto;width:100%;margin:0}.arrival-scene #roomViewport{height:370px}.arrival-layout .doorway{width:100%}.arrival-caption{padding:18px 22px 12px}.arrival-caption h2{font-size:24px}.arrival-caption p{display:none}#roomViewport,.patient-focus #roomViewport{height:510px;min-height:0}}
@media(max-width:480px){#roomViewport,.patient-focus #roomViewport{height:460px}.arrival-scene #roomViewport{height:320px}.arrival-layout .doorway-head{padding:18px}.arrival-layout .doorway-body{padding:0 18px 18px}}
.conversation-empty{display:grid;place-items:center;text-align:center;padding:54px 28px;color:var(--ink-3);font-size:13px}.conversation-empty>span{font-size:38px;color:var(--accent-line);margin-bottom:14px}.conversation-empty p{max-width:31ch}.patient-toolbar #quickUnstuck{color:var(--accent);background:var(--accent-soft);font-size:11px}
/* Keep the conversation inside its grid row so it cannot cover completion controls. */
.experience-room .convo{position:relative;top:auto}

@media(min-width:1400px){.arrival-layout .doorway-vitals .chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.arrival-layout .doorway-vitals{padding:13px 16px}.arrival-layout .doorway-lines li{padding:5px 16px}.arrival-layout .doorway-head{padding-bottom:12px}.arrival-layout .doorway-body{padding-bottom:18px}}

.trial-invitation{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 32px;border:1px solid #dcd9d1;background:linear-gradient(110deg,#f0efea,var(--surface))}.trial-invitation h2{font-size:25px;margin:9px 0}.trial-invitation p{font-size:13px;max-width:66ch;color:var(--ink-2);margin:8px 0}.trial-invitation .btn{flex-shrink:0}.trial-disclosure{font-size:10px;color:var(--ink-2);background:var(--surface-2);padding:9px 17px;border-top:1px solid var(--line-soft)}@media(max-width:720px){.trial-invitation{align-items:stretch;flex-direction:column;padding:22px;gap:18px}}

html[data-theme=night] .trial-invitation{background:linear-gradient(110deg,#262b37,var(--surface));border-color:#4a5163}

/* September 9: reserve the laptop viewport for the patient and conversation. */
body[data-phase=encounter] .topbar{padding:8px 20px;min-height:56px}
body[data-phase=encounter] #view{padding:12px 16px 30px}
body[data-phase=encounter] .brand .sub{font-size:11px}
.room.room-integrated.experience-room{max-width:1920px;grid-template-columns:minmax(0,1fr) clamp(300px,26vw,370px);gap:14px}
.experience-room .unity-heading{padding:10px 16px;min-height:52px}
.experience-room .unity-heading .eyebrow{display:none}
.experience-room .unity-heading h2{font-size:22px;margin:0}
.experience-room .state-pill{padding:5px 9px}
.experience-room #roomViewport{height:clamp(420px,calc(100svh - 228px),760px)}
.experience-room .patient-toolbar{padding:8px 12px;gap:7px}
.experience-room .patient-toolbar .btn{min-height:34px;padding:7px 10px;font-size:11px}
.experience-room .scene-help{padding:0 14px 9px}
.experience-room .scene-help summary{font-size:11px}
.experience-room .convo{height:clamp(510px,calc(100svh - 158px),850px);max-height:none;position:relative;top:auto}
.experience-room .conversation-heading{min-height:52px;padding:10px 13px;gap:8px}
.experience-room .conversation-heading .eyebrow{display:none}
.experience-room .conversation-heading h2{font-size:18px;margin:0}
.experience-room .stream{height:auto;min-height:180px;padding:12px 12px 0}
.experience-room .turn{margin-bottom:12px}
.experience-room .turn .bubble{padding:10px 12px;font-size:13px;line-height:1.55}
.experience-room .composer{padding:10px 12px}
.experience-room .composer #say{font-size:14px;min-height:74px;padding:10px}
.experience-room .conversation-empty{padding:25px 16px}
.experience-room .room-right{padding:14px 16px}
.experience-room .encounter-next h3{font-size:18px;margin:4px 0}
.experience-room .encounter-next .eyebrow{display:none}
.experience-room .encounter-next .row{margin-top:10px}
.room.room-integrated.experience-room.patient-focus{grid-template-columns:minmax(0,1fr) 290px}
.experience-room.patient-focus #roomViewport{height:clamp(480px,calc(100svh - 170px),850px);min-height:0}
.experience-room.patient-focus .convo{height:clamp(550px,calc(100svh - 100px),920px)}
@media(min-width:1700px){.room.room-integrated.experience-room.patient-focus{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:1000px){.room.room-integrated.experience-room{grid-template-columns:minmax(0,1fr) 300px;gap:10px}.experience-room .patient-toolbar #unityStatus{display:none}.experience-room .unity-heading{padding:10px 12px}.experience-room .unity-heading h2{font-size:20px}}
@media(max-width:820px){body[data-phase=encounter] #view{padding:10px 10px 24px}.room.room-integrated.experience-room,.room.room-integrated.experience-room.patient-focus{display:flex;flex-direction:column}.experience-room #roomViewport{height:clamp(370px,57svh,560px);min-height:0}.experience-room.patient-focus #roomViewport{height:clamp(460px,72svh,720px)}.experience-room .convo,.experience-room.patient-focus .convo{height:500px;max-height:70svh}.experience-room .unity-heading h2{font-size:20px}.experience-room .room-left,.experience-room .room-right{width:100%}}
body[data-phase=encounter] #patientVoiceSettings{margin:5px 16px!important;padding:5px 10px!important;font-size:12px}
body[data-phase=encounter] #patientVoiceSettings:not([open]){border-color:transparent!important}
body[data-phase=encounter] #patientVoiceSettings[open]{max-height:45svh;overflow:auto}
.experience-room .unity-room{scroll-margin-top:76px}
.patient-heading-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.patient-heading-actions #patientFocus{font-size:11px;white-space:nowrap;min-height:32px}
@media(max-width:600px){.experience-room .unity-heading{align-items:flex-start;gap:8px}.patient-heading-actions{gap:5px}.patient-heading-actions .state-pill{font-size:9px}.patient-heading-actions #patientFocus{font-size:10px;padding:5px 7px}.experience-room .unity-heading h2{font-size:18px}}

/* Writing the note beside what you obtained. The rail stays with the editor as
   it scrolls, and the summary gets its own scroll so the chart above it never
   pushes it off the screen. */
.note-reference{position:sticky;top:92px;display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 120px)}
.note-ref-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex:0 0 auto;padding-bottom:8px;border-bottom:1px solid var(--line)}
.note-ref-head h3{font-size:13px;margin:0}
.note-ref-body{min-height:0;overflow:auto;padding-top:4px}
.note-ref-body .ew-rec-group{margin:0 0 12px}
.note-ref-body .ew-rec-group h3{margin-top:10px}
.note-ref-body .ew-rec-row{grid-template-columns:minmax(78px,34%) 1fr;gap:8px;padding:4px 0}
.note-ref-body .ew-rec-row dd{font-size:12.5px}
.note-ref-body .ew-rec-row dt{font-size:11px}
@media(max-width:1100px){.note-reference{position:static;max-height:none}.note-ref-body{max-height:320px}}

/* The reference rail is now carrying the obtained history, not just eight vital
   signs, so it needs room to be read rather than skimmed one word per line. */
@media(min-width:1200px){.note-layout{grid-template-columns:minmax(0,1fr) minmax(320px,390px)!important}}
/* In a rail this narrow the label reads better above its value than beside it:
   the value gets the full width instead of a 150px ribbon. */
.note-ref-body .ew-rec-row{grid-template-columns:1fr;gap:1px;padding:5px 0}
.note-ref-body .ew-rec-row dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}
.note-ref-body .ew-rec-row dt.ew-rec-cont{display:none}
.note-ref-body .ew-rec-row dd{font-size:12.5px;line-height:1.5}

/* The debrief opens on the result, not on an exercise. */
.debrief-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;padding:20px 24px;margin-bottom:14px}
.debrief-result .dr-score{display:grid;gap:2px;justify-items:start;padding-right:22px;border-right:1px solid var(--line)}
.debrief-result .dr-num{font-size:40px;font-weight:600;line-height:1;letter-spacing:-.03em}
.debrief-result .dr-of{font-size:19px;font-weight:400;color:var(--ink-3)}
.debrief-result .dr-lead{min-width:0}
.debrief-result .dr-lead p{margin:0}
.debrief-result .dr-first{font-size:14px;line-height:1.5;margin:4px 0 3px!important}
.debrief-result .dr-actions{white-space:nowrap}
@media(max-width:820px){.debrief-result{grid-template-columns:1fr;gap:12px}.debrief-result .dr-score{border-right:0;padding-right:0}}

/* The record rail is a long list in a short box. Name its parts so the
   examination findings the Objective row needs are one click away, and make
   the fact that it scrolls visible rather than something to discover. */
.note-ref-jump{display:flex;flex-wrap:wrap;gap:4px;flex:0 0 auto;padding:8px 0 6px;border-bottom:1px solid var(--line-soft)}
.note-ref-jump button{font:inherit;font-size:10.5px;font-weight:600;line-height:1.2;cursor:pointer;padding:5px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2)}
.note-ref-jump button:hover{background:var(--surface-3,var(--surface-2));color:var(--ink)}
.note-ref-jump button[aria-current="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.note-ref-body{position:relative;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){.note-ref-body{scroll-behavior:auto}}
.note-reference{position:sticky}
.note-ref-body.has-more{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 26px),transparent)}
.note-ref-body.has-more.has-above{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18px,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(to bottom,transparent,#000 18px,#000 calc(100% - 26px),transparent)}
.note-ref-jump button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* "Read the doorway" lives in the header of the card that holds the
   presentations, so the action sits beside the thing it acts on and stays in
   view while you browse the tiles. It replaced a bar that floated over the
   page and covered ~100px of whatever scrolled beneath it, including the
   filter row on first load. */
.station-head{position:sticky;top:64px;z-index:4;background:var(--surface);
 padding-top:10px;padding-bottom:10px;margin-bottom:2px;border-bottom:1px solid var(--line-soft);
 display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lobby-chosen{flex:0 1 auto;min-width:0;font-weight:600;color:var(--ink-2)}
.station-head.is-ready .lobby-chosen{color:var(--accent)}
.lobby-reference{margin-top:12px;flex-wrap:wrap;align-items:center}
@media(max-width:900px){.station-head{position:static}}

/* The doorway has to fit the screen it is read on. At 1440x900 the brief ran
   to 1127px, so "Enter room" -- the only thing you came here to do -- sat on
   the bottom edge of the window and the first action of every encounter was a
   scroll. Nothing is removed and no body text is shrunk; the padding, the
   heading and the four stacked entry rows are. */
.arrival-layout .doorway-head{padding:18px 28px 10px}
.arrival-layout .doorway-head h1{font-size:25px;margin:5px 0 7px}
.arrival-layout .doorway-head>p{margin:0}
.arrival-layout .doorway-vitals{margin:12px 0;padding:12px 16px}
.arrival-layout .doorway-vitals h2{font-size:16px}
.arrival-layout .doorway-vitals .card-head{margin-bottom:2px}
.arrival-layout .doorway-vitals .chart-grid dt{padding-top:7px}
.arrival-layout .doorway-vitals .chart-grid dd{padding-bottom:4px;font-size:14px}
.arrival-layout .doorway-vitals>p:last-child{margin-top:6px}
.arrival-layout .doorway-facts{margin:10px 0}
.arrival-layout .doorway-facts .fact{padding:8px 12px}
.arrival-layout .doorway-facts dd{font-size:17px}
.arrival-layout .doorway-body>.tiny{margin:8px 0 6px}
/* Enter room, its alternative, and the two lines about them: two rows, not four. */
.arrival-layout .doorway-enter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.arrival-layout .doorway-enter #go{flex:1 1 220px;width:auto;margin:0}
.arrival-layout .doorway-enter #skipEntrance{display:inline-block;width:auto;flex:0 0 auto;margin:0}
.arrival-layout .doorway-enter .entry-status{flex:1 1 auto;margin:0;text-align:left}
.arrival-layout .doorway-enter #entryFallback{display:inline-block;flex:0 0 auto;margin:0}
@media(min-width:1400px){
 .arrival-layout .doorway-vitals .chart-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* The illustrated system chips ARE the system control. The select beside them
   showed the same six choices a second time; it stays as the chips' state
   store (portal.js drives it, learning.js listens to it) but stops being a
   second visible control for one decision. */
.chip-model{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Secondary ways to narrow 24 presentations, folded until wanted. */
.learning-more{margin-top:2px}
.learning-more>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--ink-2);padding:4px 0;list-style:none}
.learning-more>summary::-webkit-details-marker{display:none}
.learning-more>summary::before{content:'\25b8 ';display:inline-block}
.learning-more[open]>summary::before{transform:rotate(90deg)}
.learning-more-row{display:flex;flex-wrap:wrap;gap:14px;padding-top:8px}

/* "Patient conversation & voice" sat above the composer competing with the
   bottom bar's "Voice on", which is a different thing. Name its contents and
   show its state so nobody opens it to find out. */
.ai-conversation .ai-state{font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:9.5px;
 padding:1px 6px;margin-left:6px;border-radius:999px;background:var(--surface-3,var(--surface));color:var(--ink-3);border:1px solid var(--line)}

/* One scroller, not two. The grid had `overflow:auto` inside a page that also
   scrolled, so the wheel did different things a few pixels apart and the page
   never got shorter. The header is what stays in view now. */
#stationGrid{max-height:none;overflow:visible}
