@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.10ev4cu2inrn-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.0i6ci0u~g4zml.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.0x1a9yg0jkq20.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.0dyk20wuvya7a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.0ctuso5mgh_i..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_ac49d195-module__Xro9nG__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_ac49d195-module__Xro9nG__variable{--font-main:"Manrope", "Manrope Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_3d32714f-module__BqeOpa__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_3d32714f-module__BqeOpa__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--bg-a:#f2efe6;--bg-b:#d9e9f7;--surface:#fdfdfd;--surface-border:#d5dbe5;--text:#1c2633;--muted:#536171;--accent:#0c6e66;--accent-strong:#0a5a54;--danger-bg:#fce8e6;--danger-border:#f3b2aa;--danger-text:#8c2117}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);font-family:var(--font-main), sans-serif;background:radial-gradient(circle at 15% 20%, #4b91d142, transparent 40%), radial-gradient(circle at 85% 0%, #0c6e6633, transparent 34%), linear-gradient(145deg, var(--bg-a), var(--bg-b));margin:0}.page-shell{flex-direction:column;gap:1rem;max-width:1060px;margin:0 auto;padding:2rem 1rem 3rem;display:flex}.page-shell.panel-screen{gap:clamp(.55rem,.9vw,.8rem);width:100%;height:100vh;min-height:100vh;margin:0;padding:clamp(.55rem,1vw,.95rem) clamp(.65rem,1.4vw,1.12rem);overflow:hidden;max-width:none!important}.game-fullwidth .page-shell{width:100%;max-width:none;padding:.85rem clamp(.75rem,1.6vw,1.5rem) 1.4rem}.game-fullwidth{width:100%;min-height:100vh}.page-shell.game-screen{gap:.7rem;width:100%;max-width:none;height:calc(100vh - 1rem);min-height:0;margin:0;padding:.7rem clamp(.65rem,1.25vw,1.1rem) .9rem;overflow:hidden}.page-shell.game-screen .hero-card,.page-shell.game-screen .panel{min-width:0}.page-shell.game-screen .panel-scroll{min-height:0;overflow:auto}.page-shell.game-screen .panel--hospital-room{flex-direction:column;min-height:0;display:flex}.page-shell.game-screen .panel--hospital-room .room-scene{flex:1;min-height:0}.game-screen--lobby .game-lobby-layout{flex:1;height:100%;min-height:0}.game-screen--lobby .game-lobby-layout__main,.game-screen--lobby .game-lobby-layout__side,.game-screen--lobby .game-lobby-layout__main>.panel,.game-screen--lobby .game-lobby-layout__side>.panel{min-height:0}.game-screen--lobby .game-lobby-layout__main>.panel{overflow:auto}.game-screen--lobby .game-lobby-layout__side{grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.game-screen--lobby .game-lobby-layout__side>.panel{overflow:auto}.game-screen--hub .hub-zone-layout{flex:1;height:100%;min-height:0}.game-screen--hub .hub-zone-layout__main,.game-screen--hub .hub-zone-layout__simulator,.game-screen--hub .hub-zone-layout__sidebar{min-height:0}.game-screen--hub .hub-zone-layout__sidebar>.panel{min-height:0;overflow:auto}.game-screen--room .panel--hospital-room .room-scene{min-height:clamp(720px,88vh,980px)}.game-screen--room .hospital-stage-layout{grid-template-rows:minmax(300px,46vh) minmax(320px,42vh)}.game-screen--room .hospital-mission-panel{overflow:auto}.game-screen--room .room-mission-console{grid-template-rows:minmax(0,1fr) auto auto;min-height:0}.game-screen--room .room-mission-objective{min-height:0;max-height:none;overflow:auto}.game-screen--briefing .briefing-panel{flex:1;min-height:0;overflow:auto}.game-screen--briefing .briefing-video{min-height:clamp(230px,42vh,440px)}.game-screen--cinematic .hero-card{flex:1;min-height:0;overflow:auto}.game-screen--practice>.panel:first-of-type{flex:none}.game-screen--practice>:last-child{min-height:0;overflow:auto}.game-screen--result>.panel{overflow:auto}.game-fullwidth .hero-card,.game-fullwidth .panel{border-radius:14px}.game-shell{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:.8rem;width:100%;display:grid}.game-shell__main{min-width:0}.game-shell__hud{align-self:start;min-width:0;position:sticky;top:.6rem}.game-hud-panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#f2fafff2,#e4f0faed);border:1px solid #aac9ddcc;border-radius:14px;width:100%;padding:.62rem .72rem;box-shadow:0 10px 24px #122a4033}.game-hud-panel__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.game-hud-panel__stat{background:#f4f9ff;border:1px solid #cbdbea;border-radius:10px;padding:.35rem}.game-audio-controls{border-top:1px solid #a7c4d8bf;gap:.4rem;margin-top:.62rem;padding-top:.55rem;display:grid}.game-audio-controls__grid{gap:.36rem;display:grid}.game-audio-controls__btn{border-radius:9px;padding:.46rem .56rem;font-size:.84rem;margin-top:0!important}.game-audio-controls__btn--on{color:#0f5b52!important;background:#dcf4eee0!important;border-color:#62a79ed9!important}.game-audio-controls__hint{margin-top:.08rem;font-size:.76rem}.game-audio-controls__voice{gap:.22rem;display:grid}.game-audio-controls__select{color:#1e3552;background:#f0faffdb;border:1px solid #81a7bfb8;border-radius:9px;width:100%;min-height:36px;padding:.42rem .55rem;font-size:.82rem}.game-lobby-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:start;gap:.9rem;width:100%;display:grid}.game-lobby-layout__main,.game-lobby-layout__side{gap:.9rem;min-width:0;display:grid}.panel-dashboard-layout{grid-template-columns:minmax(0,.9fr) minmax(450px,1.1fr);align-items:start;gap:.9rem;width:100%;display:grid}.panel-dashboard-layout__main,.panel-dashboard-layout__side{gap:.9rem;min-width:0;display:grid}.panel-screen .panel-dashboard-layout{flex:1;gap:.75rem;height:100%;min-height:0}.panel-screen .panel-dashboard-layout__main,.panel-screen .panel-dashboard-layout__side{gap:.75rem;min-height:0}.panel-screen--users{grid-template-rows:minmax(0,1fr);display:grid}.panel-screen--users .panel-dashboard-layout__main{grid-template-rows:auto minmax(0,1fr)}.panel-screen--users .panel-dashboard-layout__side{grid-template-rows:auto auto minmax(0,1fr)}.panel-screen--users .panel-scroll{min-height:0;overflow:auto}.panel-screen--users .user-card-grid{align-items:stretch;margin-bottom:0}.panel-screen--users .user-card{grid-template-rows:minmax(0,1fr) auto auto;align-content:start;gap:.45rem;min-height:0;display:grid}.panel-screen--users .user-card__content{min-height:0}.panel-screen--users .user-card p{overflow-wrap:anywhere}.panel-screen--users .user-card .btn{margin-top:0}.panel-screen--visual{grid-template-rows:auto minmax(0,1fr);display:grid}.panel-screen--visual .panel-screen__content{min-height:0;overflow:auto}.panel-screen--visual .panel-screen__content .scenario-btn{overflow:hidden}.hub-zone-layout{grid-template-columns:minmax(0,1.35fr) minmax(360px,.75fr);align-items:start;gap:.8rem;width:100%;display:grid}.hub-zone-layout__main{align-content:start;gap:.8rem;min-width:0;display:grid}.hub-zone-layout__simulator,.hub-zone-layout__sidebar{min-width:0}.hub-zone-layout__sidebar{gap:.8rem;display:grid}.page-shell--immersive{width:100%;max-width:none;padding:.75rem clamp(.75rem,1.4vw,1.4rem) 1.3rem}.page-shell--immersive .hero-card{padding:.9rem 1rem}.page-shell--immersive .hero-card--compact{padding:.62rem .85rem}.page-shell--immersive .hero-card h1{margin-top:.25rem;font-size:clamp(1.35rem,2.4vw,1.9rem)}.page-shell--immersive .hero-card--compact h1{margin:.12rem 0 .1rem;font-size:clamp(1.15rem,2vw,1.45rem)}.page-shell--immersive .hero-card--compact .hint{margin-top:.22rem;font-size:.9rem}.panel--hospital-room{padding:.75rem}.panel--hospital-room .room-scene{min-height:calc(100vh - 240px)}.hero-card,.panel{border:1px solid var(--surface-border);background:linear-gradient(#fffffff5,#ffffffe6);border-radius:18px;padding:1.25rem;box-shadow:0 12px 24px #24354c14}.hero-card h1,.panel h2{margin:0}.hero-card p{margin-bottom:0}.hero-card .badge{font:600 .78rem/1.2 var(--font-mono), monospace;color:#0f584f;background:#dbeeea;border:1px solid #a6cec8;border-radius:999px;margin:0 0 .55rem;padding:.22rem .55rem;display:inline-block}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.eyebrow{font:500 .8rem/1.2 var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem}label{margin:.75rem 0 .35rem;font-weight:700;display:block}input,textarea{border:1px solid var(--surface-border);width:100%;font:inherit;color:var(--text);background:#ffffffe6;border-radius:12px;padding:.7rem .8rem}textarea{resize:vertical;min-height:104px}.btn{cursor:pointer;font:600 .95rem/1.2 var(--font-main), sans-serif;border:0;border-radius:12px;padding:.72rem .95rem;transition:transform .12s,opacity .12s,background .12s}.btn:disabled{cursor:not-allowed;opacity:.65}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fff;margin-top:1rem}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-option{text-align:left;width:100%;color:var(--text);background:#f5f9f9;border:1px solid #bfd5d3}.btn-option:hover:not(:disabled){background:#eaf4f3}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.stats div{background:#f1f5fa;border:1px solid #dce5ef;border-radius:12px;padding:.65rem}.stats span{color:var(--muted);font-size:.85rem;display:block}.stats strong{font-size:1rem}.hint{color:var(--muted);margin-top:.7rem}.hint code{font-family:var(--font-mono), monospace;font-size:.9em}.feedback{background:#e8f5f2;border:1px solid #b2ddd2;border-radius:12px;margin:.75rem 0 0;padding:.7rem .8rem}.feedback--neutral{color:#21584f;background:#e8f5f2;border-color:#b2ddd2}.feedback--success{color:#165f4f;background:#dcf3ea;border-color:#8fd1b6}.feedback--warn{color:#8c3f17;background:#fff1e8;border-color:#f0c4aa}.error-box{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);border-radius:12px;margin:0;padding:.8rem .9rem}.scene-panel p{margin-top:.6rem}.option-list{gap:.55rem;margin-top:1rem;display:grid}.note-box{margin-top:.85rem}.result-panel .badge{font-family:var(--font-mono), monospace;color:#0f584f;background:#dbeeea;border:1px solid #a6cec8;border-radius:999px;margin:.45rem 0 1rem;padding:.25rem .7rem;display:inline-block}.reco-list{margin:1rem 0 0;padding-left:1.2rem}.reco-list li{margin-bottom:.45rem}.mode-switch{flex-direction:column;gap:.75rem;display:flex}.mode-buttons{flex-wrap:wrap;gap:.55rem;display:flex}.scenario-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.85rem;display:grid}.scenario-btn{text-align:left;color:#2c4360;background:#f3f8fd;border:1px solid #c6d7e8;border-radius:12px;padding:.58rem .7rem}.scenario-btn span{font:600 .7rem/1 var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:#507093;margin-bottom:.25rem;display:block}.scenario-btn strong{font-size:.95rem}.teacher-table{border-collapse:collapse;border:1px solid #bfd2e4;border-radius:10px;width:100%;min-width:760px;overflow:hidden}.teacher-table th,.teacher-table td{text-align:left;vertical-align:top;color:#24405d;border-bottom:1px solid #d2e1ee;border-right:1px solid #dbe7f2;padding:.45rem .5rem;font-size:.9rem}.teacher-table th:last-child,.teacher-table td:last-child{border-right:0}.teacher-table thead th{font:700 .7rem/1 var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:#335a7d;background:#e7f1fa}.teacher-table tbody tr:nth-child(2n){background:#eaf3fb8f}.risk-badge{min-width:62px;font:700 .66rem/1 var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.2rem .45rem;display:inline-flex}.risk-badge--high{color:#7a1f14;background:#fce2dff2;border-color:#efb8b2}.risk-badge--medium{color:#705109;background:#fcf3d6f2;border-color:#ecd487}.risk-badge--low{color:#0d5c45;background:#ddf4eaf2;border-color:#9fd7bf}.teacher-alert-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.teacher-alert-column{background:#f8fcffeb;border:1px solid #c9d8e7;border-radius:12px;gap:.52rem;padding:.6rem .65rem;display:grid}.teacher-alert-column h3{color:#1f3956;margin:0;font-size:1rem}.teacher-alert-list{gap:.55rem;display:grid}.teacher-alert-card{background:#ffffffe6;border:1px solid #d4e0ed;border-radius:12px;gap:.3rem;padding:.56rem .62rem;display:grid}.teacher-alert-card__head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.teacher-alert-card__head strong{color:#203a57}.teacher-alert-list-items{color:#304b66;margin:.1rem 0 0;padding-left:1.05rem}.teacher-alert-list-items li{margin:.2rem 0}.scenario-btn--active{background:#dcf2ee;border-color:#0c6e66;box-shadow:0 0 0 2px #0c6e6626}.visual-lab{padding:1rem}.visual-header{flex-direction:column;gap:.7rem;margin-bottom:.9rem;display:flex}.visual-header-main{gap:.55rem;width:100%;display:grid}.visual-title-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.62rem;display:flex}.visual-title-actions h2{flex:0 auto;min-width:0;margin:0}.visual-actions{flex-wrap:wrap;flex:1;justify-content:flex-start;align-items:center;gap:.45rem;display:flex}.visual-actions .btn{white-space:nowrap;width:auto;margin-top:0;padding:.62rem .78rem}.visual-actions .hint{text-align:right;width:100%;margin:.15rem 0 0}.visual-layout{flex-direction:column;gap:.8rem;display:flex}.room-scene{isolation:isolate;background:linear-gradient(#ecf3fc 0%,#e8eef7 58%,#dde6f0 100%);border:1px solid #cfdce8;border-radius:16px;height:clamp(360px,46vh,500px);min-height:clamp(360px,46vh,500px);position:relative;overflow:hidden}.hospital-stage{min-height:560px;padding:.7rem}.hospital-stage--compact{min-height:430px}.hospital-stage-layout{z-index:2;grid-template-rows:minmax(360px,52vh) minmax(220px,30vh);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);align-items:stretch;gap:.75rem;min-width:0;min-height:0;margin-top:.62rem;display:grid;position:relative}.hospital-game-hud{z-index:8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c273fdb;border:1px solid #5d92b19e;border-radius:12px;padding:.45rem .6rem .5rem;position:sticky;top:0;box-shadow:0 8px 16px #0a1e2e4d}.hospital-game-hud-track{background:#143c59db;border-radius:999px;width:100%;height:8px;overflow:hidden}.hospital-game-hud-fill{border-radius:inherit;background:linear-gradient(90deg,#16d6c0,#35e69a);height:100%;transition:width .22s;display:block}.hospital-game-hud-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-top:.35rem;display:grid}.hospital-game-hud-meta strong{color:#dbf5ff;font:700 .73rem/1.1 var(--font-mono), monospace;letter-spacing:.03em}.hospital-mobile-stack{display:none}.hospital-stage-zone{align-items:stretch;min-width:0;min-height:0;display:grid}.hospital-stage-zone--nurse{grid-area:1/1}.hospital-stage-zone--patient{grid-area:1/2}.hospital-stage-zone--monitor{grid-area:1/3;align-items:stretch;display:grid}.hospital-stage-zone--mission{grid-area:2/1/auto/3}.hospital-stage-zone--tools{grid-area:2/3}.hospital-stage .nurse-card,.hospital-stage .patient-card,.hospital-stage .instrument.monitor,.hospital-stage .instrument.tool,.hospital-stage .hospital-equipped-strip{width:100%;min-width:0;max-width:none;position:relative;inset:auto}.scene-clickable{cursor:pointer;transition:box-shadow .18s,transform .18s,border-color .18s}.scene-clickable:hover{box-shadow:0 0 0 2px #5fb1dd5c,0 12px 22px #102e473d}.scene-clickable:focus-visible{outline-offset:2px;outline:2px solid #54b0d8}.scene-clickable--active{box-shadow:0 0 0 3px #0c6e6647,0 14px 22px #0d2d4547}.scene-clickable--monitor{border-radius:14px}.scene-tool--active{box-shadow:0 0 0 3px #0c6e662e,0 10px 20px #124c5c38;border-color:#0a6d66!important}.hospital-stage .nurse-card,.hospital-stage .patient-card{z-index:3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f3f9ff9e;border:1px solid #88a6c1ad;border-radius:16px;grid-template-rows:auto 1fr;align-content:stretch;gap:.5rem;height:100%;min-height:0;padding:.7rem;display:grid;box-shadow:0 8px 18px #0f273d33}.hospital-stage .character-row{grid-template-rows:1fr auto;align-content:stretch;gap:.6rem;min-height:0;display:grid}.hospital-stage .nurse-avatar,.hospital-stage .patient-avatar{flex:none;width:min(92%,280px);height:clamp(210px,26vh,330px);margin:0 auto .2rem}.hospital-stage .nurse-dialogue,.hospital-stage .patient-dialogue{min-height:70px;max-height:100%;font-size:.98rem;line-height:1.35;overflow:visible}.hospital-stage-zone--monitor .instrument.monitor{z-index:4;aspect-ratio:auto;text-align:center;justify-self:stretch;width:100%;max-width:none;height:100%;min-height:100%;max-height:none;display:grid;inset:auto}.hospital-stage-bottom-tools{grid-template-rows:1fr auto;align-content:stretch;gap:.5rem;min-height:0;display:grid}.hospital-stage .hospital-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.5rem;height:100%;min-height:0;display:grid}.hospital-stage .hospital-tool-grid .instrument.tool{z-index:3;text-align:center;min-height:94px;padding:.54rem .48rem;inset:auto}.hospital-equipped-strip{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f8fcffad;border:1px solid #85a4bfb8;border-radius:12px;align-self:stretch;width:100%;padding:.42rem .55rem;position:relative;box-shadow:0 6px 14px #17304724}.hospital-mission-panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f8fcffad;border:1px solid #85a5c0bd;border-radius:14px;min-width:0;height:100%;min-height:0;padding:.7rem;overflow:auto;box-shadow:0 8px 16px #1730471f}.hospital-mission-panel .hint{margin-top:.35rem}.hospital-mission-actions{gap:.35rem;margin-top:.42rem;display:grid}.hospital-mission-actions .btn{margin-top:0;padding:.56rem .68rem;font-size:.9rem}.hospital-equipped-strip span{color:#1f4a6d;font:600 .56rem/1 var(--font-mono), monospace;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.08rem;display:block}.hospital-equipped-strip strong{color:#163852;font-size:.72rem;line-height:1.2;display:block}.hospital-interaction-line{color:#215071;margin:.38rem 0 0;font-size:.68rem;line-height:1.3}.room-mission-console{gap:.42rem;display:grid}.room-mission-objective{max-height:260px;padding-right:.2rem;overflow:auto}.room-mission-objective .hint{margin-top:.3rem;font-size:.88rem}.room-mission-objective .chip{padding:.48rem .56rem;font-size:.88rem}.room-mission-objective textarea{min-height:110px}.room-mission-console .feedback{margin-top:.2rem;padding:.52rem .66rem;font-size:.88rem}.cinematic-overlay{z-index:12;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle at 20% 0,#06142661,#08101894);justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.cinematic-card{color:#d8e9f6;background:linear-gradient(#102336f0,#0b1a28f5);border:1px solid #bce3de8c;border-radius:16px;width:min(560px,100%);padding:1rem;box-shadow:0 12px 28px #02091273}.cinematic-card h3{margin:.2rem 0 .45rem}.cinematic-card p{color:#c6dae8;margin:0}.cinematic-card ul{margin:.8rem 0 0;padding-left:1.2rem}.cinematic-card li{margin-bottom:.35rem}.cinematic-objective{opacity:0;animation:.42s forwards objectiveReveal;transform:translateY(6px)}@keyframes objectiveReveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cinematic-actions{flex-wrap:wrap;gap:.55rem;margin-top:.9rem;display:flex}.scene-wall{background:radial-gradient(circle at 18% 30%,#ffffffe6,#0000 30%),linear-gradient(#f0f6fdf2,#e2ecf7f2);position:absolute;inset:0 0 38%}.scene-floor{background:repeating-linear-gradient(90deg,#aec1d559 0 2px,#e6eef7cc 2px 22px);position:absolute;inset:62% 0 0}.nurse-card{width:min(44%,260px);min-width:220px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:2;background:0 0;border:0;border-radius:14px;padding:0;position:absolute;top:10%;left:6%}.nurse-label{color:#f0f7ff;text-shadow:0 2px 8px #0a1e2e8c;margin-bottom:.28rem;font-size:.72rem;display:block}.character-row{align-items:center;gap:.58rem;display:flex}.character-row--patient{align-items:center}.nurse-avatar{background:#e6f5ffc7;border:1px solid #7fa2bfbf;border-radius:14px;flex:0 0 98px;justify-content:center;align-items:center;width:98px;height:112px;padding:.2rem;display:flex;overflow:hidden;box-shadow:0 10px 20px #0f243a47}.nurse-head{background:linear-gradient(160deg,#f0c8a6,#d5a180);border:1px solid #b98262;border-radius:999px;width:34px;height:34px}.nurse-body{background:linear-gradient(165deg,#e8f5ff,#c6dff2);border:1px solid #8eabc6;border-radius:14px 14px 10px 10px;width:46px;height:56px}.nurse-dialogue{color:#16364f;text-shadow:none;background:#ffffffe6;border:2px solid #7293b1db;border-radius:16px;margin:0;padding:.5rem .65rem;font-size:.86rem;line-height:1.35;box-shadow:0 8px 18px #0c233838}.patient-card{width:42%;min-width:200px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:14px;padding:0;position:absolute;bottom:12%;left:6%}.patient-label{color:#f0f7ff;text-shadow:0 2px 8px #0a1e2e8c;margin-bottom:.35rem;font-size:.78rem;display:block}.patient-status{color:#1e624f;font:600 .7rem/1 var(--font-mono), monospace;letter-spacing:.03em;background:#def4ec;border:1px solid #96cdbd;border-radius:999px;margin-bottom:.42rem;padding:.24rem .5rem;display:inline-block}.patient-status--risk{color:#8e3f1a;background:#ffece1;border-color:#e8b59b}.patient-avatar{background:#e6f5ffc7;border:1px solid #7fa2bfbf;border-radius:14px;flex-direction:column;flex:0 0 102px;justify-content:center;align-items:center;gap:.22rem;width:102px;height:116px;margin-bottom:0;padding:.18rem;display:flex;overflow:hidden;box-shadow:0 10px 20px #0f243a47}.patient-dialogue{color:#16364f;margin:0;font-size:.86rem;line-height:1.35}.dialog-bubble{text-shadow:none;background:#ffffffe6;border:2px solid #7293b1db;border-radius:16px;flex:1;padding:.5rem .65rem;position:relative;box-shadow:0 8px 18px #0c233838}.dialog-bubble:before{content:"";background:#ffffffe6;border-bottom:2px solid #7293b1db;border-left:2px solid #7293b1db;width:12px;height:12px;position:absolute;top:16px;left:-8px;transform:rotate(45deg)}.patient-head{background:linear-gradient(160deg,#f0c7a5,#d8a687);border:1px solid #be886a;border-radius:999px;width:40px;height:40px}.patient-body{background:linear-gradient(160deg,#1a7994,#13647e);border:1px solid #0f4e63;border-radius:20px 20px 16px 16px;width:74px;height:86px}.arm-zone{color:#eaf5ff;background:#0b2a427a;border:1px dashed #a9cfecd6;border-radius:10px;width:100%;padding:.5rem .6rem;font-weight:600}.arm-zone--target{background:#e7f5f3;border-color:#0c6e66}.arm-zone--ok{background:#daf2eebd;border-style:solid;border-color:#1f8f7f}.instrument{color:#173852;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#f4faffb8;border:1px solid #80a1bdb8;border-radius:12px;padding:.5rem;position:absolute;box-shadow:0 8px 16px #132b4326}.instrument.monitor{text-align:center;z-index:4;width:min(42%,280px);min-width:148px;max-width:280px;top:8%;right:7%}.instrument.monitor p{color:#214463;margin:0;font-size:.76rem}.instrument.monitor strong{font:700 1.1rem/1.2 var(--font-mono), monospace;white-space:pre-line;word-break:break-word;display:block}.monitor-phase{font:600 .7rem/1 var(--font-mono), monospace;letter-spacing:.08em;color:#24557a;margin:.12rem 0 .35rem;display:inline-block}.monitor-wave{background:linear-gradient(90deg,#d2e2f3,#d2e2f3);border-radius:999px;height:6px;margin-top:.42rem}.monitor-wave--active{background:repeating-linear-gradient(110deg,#4ea0c5 0 8px,#d8ecf8 8px 16px);animation:.7s linear infinite waveRun}@keyframes waveRun{0%{background-position:0 0}to{background-position:36px 0}}.instrument.tool{text-align:left;min-width:122px;font-weight:600}.instrument.tool-bp{top:36%;right:7%}.instrument.tool-cuff{cursor:grab;top:50%;right:7%}.instrument.tool-cuff:active{cursor:grabbing}.instrument.tool-steth{top:64%;right:7%}.inventory-rack{z-index:2;background:#f4fafff5;border:1px solid #b9cde1;border-radius:14px;width:56%;padding:.55rem;position:absolute;top:39%;left:6%;box-shadow:0 10px 20px #34475c26}.inventory-rack--over{border-color:#0b7a72;box-shadow:0 0 0 2px #0c6e6629,0 10px 20px #34475c26}.inventory-title{font:600 .72rem/1 var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:#3b5f7f;margin:0}.inventory-tools{flex-wrap:wrap;gap:.4rem;margin-top:.48rem;display:flex}.inventory-tool{color:#24415f;font:600 .8rem/1.1 var(--font-main), sans-serif;cursor:grab;background:#edf5fd;border:1px solid #b9d0e6;border-radius:10px;padding:.34rem .5rem}.inventory-tool:active{cursor:grabbing}.inventory-tool--ready{color:#0f5d50;background:#dcf4ee;border-color:#0f8b77}.inventory-dropzone{background:#f7fbff;border:1px dashed #97afc7;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.32rem;min-height:44px;margin-top:.5rem;padding:.38rem;display:flex}.inventory-dropzone--over{background:#eaf7f4;border-color:#0b7a72}.inventory-badge{color:#155f4f;font:600 .68rem/1 var(--font-mono), monospace;letter-spacing:.03em;background:#e1f6ef;border:1px solid #8cc8b7;border-radius:999px;padding:.22rem .46rem}.inventory-status{color:#42617d;margin:.48rem 0 0;font-size:.79rem}.visual-lab .room-scene{border-radius:18px;height:clamp(520px,64vh,760px);min-height:clamp(520px,64vh,760px)}.visual-lab .nurse-card{width:min(26%,320px);min-width:240px;top:6%;left:5%}.visual-lab .patient-card{width:min(30%,380px);min-width:260px;top:14%;bottom:auto;left:32%}.visual-lab .nurse-avatar{width:116px;height:132px}.visual-lab .patient-avatar{width:122px;height:138px}.visual-lab .nurse-dialogue,.visual-lab .patient-dialogue{font-size:.92rem;line-height:1.38}.visual-lab .dialog-bubble{background:#fffffff0;border-width:1px;border-radius:14px;box-shadow:0 6px 14px #0c23382e}.visual-lab .instrument.monitor{width:min(34%,390px);max-width:390px;top:6%;right:5%}.visual-lab .instrument.tool{text-align:center;min-width:132px;padding:.56rem .6rem;right:5%}.visual-lab .instrument.tool-bp{top:36%}.visual-lab .instrument.tool-cuff{top:49%}.visual-lab .instrument.tool-steth{top:62%}.visual-lab .inventory-rack{background:#f6fbfff2;border:1px solid #a0bbd2d9;border-radius:14px;width:min(62%,860px);padding:.62rem;inset:auto auto 4% 5%;box-shadow:0 8px 18px #20385229}.visual-lab .inventory-title{color:#2f5374;font-size:.74rem}.visual-lab .inventory-tools{gap:.42rem}.visual-lab .inventory-tool{border-radius:9px;padding:.36rem .54rem;font-size:.83rem}.visual-lab .inventory-dropzone{background:#fcfefff2;border-radius:10px;min-height:58px}.visual-lab .inventory-status{margin-top:.44rem;font-size:.84rem}.vital-game-card{background:linear-gradient(#f4faff,#ecf5fe);border:1px solid #b9d1e4;border-radius:14px;padding:.72rem}.vital-game-card h3{margin:.2rem 0 .4rem}.vital-readings{grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem;margin-top:.5rem;display:grid}.vital-readings span{color:#2a4a67;font:700 .84rem/1.1 var(--font-mono), monospace;background:#f8fcff;border:1px solid #d0dceb;border-radius:10px;padding:.42rem .5rem}.vital-game-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.48rem;margin-top:.55rem;display:grid}.feedback-fx{z-index:13;color:#0f5f50;font:700 .84rem/1 var(--font-mono), monospace;letter-spacing:.04em;background:#dcf3eaf5;border:1px solid #bad8cf;border-radius:999px;padding:.5rem .78rem;animation:.94s forwards feedbackPop;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0c2a243d}.feedback-fx--warn{color:#7f3812;background:#ffeee1f7;border-color:#eab69d}@keyframes feedbackPop{0%{opacity:0;transform:translate(-50%,8px)scale(.92)}20%{opacity:1;transform:translate(-50%)scale(1)}75%{opacity:1;transform:translate(-50%,-4px)scale(1)}to{opacity:0;transform:translate(-50%,-12px)scale(.98)}}.instrument--active{border-color:#0a6d66;animation:1.3s ease-in-out infinite softPulse;box-shadow:0 0 0 3px #0c6e6624,0 10px 20px #124c5c38}@keyframes softPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.procedure-console{background:#f9fcff;border:1px solid #cfdce8;border-radius:16px;gap:.8rem;padding:.78rem;display:grid}.console-top-panels{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.58rem;display:grid}.hud-board{background:linear-gradient(#eef5fd,#e7f1fa);border:1px solid #c1d8e8;border-radius:14px;padding:.72rem;box-shadow:inset 0 1px #ffffffb3}.resume-card{background:linear-gradient(#f8fbff,#eef5fc);border:1px solid #c6d5e2;border-radius:14px;padding:.72rem}.resume-card h3{margin:.2rem 0 .3rem;font-size:1rem}.resume-card p{margin:0}.resume-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.65rem;display:grid}.resume-actions .btn{margin-top:0}.stats--console{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.hud-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.45rem;display:flex}.hud-chip{color:#255a79;font:600 .72rem/1 var(--font-mono), monospace;letter-spacing:.05em;text-transform:uppercase;background:#d8ebf9;border:1px solid #9ec6dd;border-radius:999px;padding:.25rem .52rem}.hud-title{margin:.2rem 0 .12rem;font-size:1rem}.hud-subtitle{color:#415f7a;margin:0;font-size:.92rem}.objective-track{gap:.42rem;margin-top:.6rem;display:grid}.objective-item{color:#405a73;background:#f8fbff;border:1px solid #c8d9e8;border-radius:11px;padding:.45rem .56rem}.objective-item span{font:600 .65rem/1 var(--font-mono), monospace;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.18rem;display:block}.objective-item strong{font-size:.88rem}.objective-item--done{color:#1f5f51;background:#e6f7f1;border-color:#93d0be}.objective-item--active{color:#1e4b69;background:#e6f3fc;border-color:#6ab2d9;box-shadow:0 0 0 2px #6ab2d92e}.progress-shell{background:#d9e5f1;border-radius:999px;width:100%;height:10px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg,#0f9186,#4ea0c5);height:100%;transition:width .22s}.step-card{background:#fff;border:1px solid #d1deea;border-radius:14px;padding:.8rem}.step-card h3{margin:.2rem 0 .45rem}.step-card p{margin:0}.control-block{gap:.55rem;margin-top:.75rem;display:grid}.chip-grid{gap:.5rem;display:grid}.chip{text-align:left;color:#21344a;width:100%;font:600 .92rem/1.2 var(--font-main), sans-serif;background:#eff5fb;border:1px solid #bfcfdf;border-radius:11px;padding:.55rem .65rem}.chip--selected{background:#dcf2ee;border-color:#0b746b}.event-log{color:#294157;margin:0;padding-left:1.05rem}.event-log li{margin-bottom:.35rem}.result-callout{background:#ecfaf5;border:1px solid #bdd9d2;border-radius:14px;padding:.8rem}.result-callout h3{margin:.1rem 0 .4rem}.medal-line{margin:.35rem 0}.badge-grid{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.achievement-badge{color:#18584a;font:600 .74rem/1 var(--font-mono), monospace;letter-spacing:.04em;background:#e7f8f1;border:1px solid #9cd0bf;border-radius:999px;padding:.35rem .62rem}.briefing-panel h2{margin:.15rem 0 .55rem}.briefing-grid{grid-template-columns:1.5fr .9fr;align-items:start;gap:.9rem;display:grid}.briefing-video{aspect-ratio:16/9;background:#111923;border:1px solid #c4d5e6;border-radius:14px;width:100%;min-height:360px;box-shadow:0 10px 20px #20314533}.mission-map-header{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.mission-path{align-items:stretch;gap:.5rem;margin-top:.7rem;display:flex}.mission-node-wrap{flex:1;align-items:center;display:flex}.mission-node{color:#21384f;text-align:left;background:#f4f8fd;border:1px solid #c6d7e8;border-radius:14px;flex:1;min-height:140px;padding:.7rem}.mission-node strong{margin-bottom:.35rem;font-size:1rem;display:block}.mission-node p{color:#445d78;margin:0;font-size:.9rem}.mission-node-code{color:#2b4f75;font:600 .7rem/1 var(--font-mono), monospace;letter-spacing:.06em;background:#e3edf9;border:1px solid #9db7d3;border-radius:999px;margin-bottom:.35rem;padding:.2rem .45rem;display:inline-block}.mission-node-medal{color:#315470;font:600 .74rem/1 var(--font-mono), monospace;margin-top:.55rem;display:block}.mission-node--active{border-color:#76a9ce}.mission-node--completed{background:#e3f5f1;border-color:#0f8b77}.mission-node--locked{color:#7b8796;background:#f4f5f7;border-style:dashed;border-color:#c6cdd7}.mission-node--selected{box-shadow:0 0 0 3px #0c6e662e}.mission-link{background:linear-gradient(90deg,#88a9c9,#5f89b1);border-radius:999px;width:38px;height:6px;margin:0 .35rem}.student-progress-board h2{margin:.2rem 0 .55rem}.unlock-list{color:#2f4a64;margin:.75rem 0 0;padding-left:1.05rem}.unlock-list li{margin-bottom:.32rem}.student-toolbar{justify-content:space-between;align-items:flex-start;gap:.85rem;display:flex}.student-toolbar h2{margin:.2rem 0 .35rem}.student-toolbar-actions{flex-direction:column;gap:.5rem;min-width:260px;display:flex}.student-toolbar-actions .btn-primary{margin-top:0}.student-report h2{margin:.2rem 0 .7rem;font-size:1.1rem}.student-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.8rem;display:grid}.student-report-column{background:#fbfdff;border:1px solid #cfdeeb;border-radius:14px;padding:.72rem}.student-list{color:#2f4b66;margin:.45rem 0 0;padding-left:1rem}.student-list li{margin-bottom:.35rem}.teacher-toolbar{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.teacher-case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.teacher-case-card{background:#f8fbff;border:1px solid #cddceb;border-radius:14px;padding:.74rem}.teacher-case-card h3{margin:0}.teacher-case-card .hint{margin:.35rem 0 .55rem}.teacher-student-list{gap:.65rem;display:grid}.teacher-student-card{background:#fcfeff;border:1px solid #cfdeeb;border-radius:14px;padding:.72rem}.teacher-student-card h3{margin:0}.teacher-student-card .hint{margin-bottom:0}@media (max-width:1160px){.game-lobby-layout,.panel-dashboard-layout,.hub-zone-layout{grid-template-columns:1fr}.hospital-stage-layout{grid-template-rows:auto auto auto;grid-template-columns:repeat(2,minmax(0,1fr))}.hospital-stage-zone--nurse{grid-area:1/1}.hospital-stage-zone--patient{grid-area:1/2}.hospital-stage-zone--monitor{grid-area:2/1/auto/3}.hospital-stage-zone--mission{grid-area:3/1}.hospital-stage-zone--tools{grid-area:3/2}.hospital-stage-zone--monitor .instrument.monitor{min-height:300px}.panel-screen--users .panel-dashboard-layout__main,.panel-screen--users .panel-dashboard-layout__side{grid-template-rows:auto minmax(0,1fr)}.panel-screen--users .user-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-alert-grid{grid-template-columns:1fr}}.game-fullwidth .game-shell{grid-template-columns:minmax(0,1fr) 290px;align-items:stretch;min-height:100vh}.game-fullwidth .game-shell__main{min-width:0;min-height:100vh}.game-fullwidth .game-shell__hud{min-height:100vh}.page-shell.panel-screen{width:100%;max-width:none;height:100vh;min-height:100vh;margin:0;overflow:hidden}.panel-screen .panel-dashboard-layout{height:100%;min-height:0}.panel-screen .panel-dashboard-layout__main,.panel-screen .panel-dashboard-layout__side{min-height:0}.panel-screen--users .panel-scroll,.panel-screen--visual .panel-screen__content{min-height:0;overflow:auto}.page-shell.game-screen{width:100%;max-width:none;height:calc(100vh - 1rem);min-height:0;margin:0;overflow:hidden}.game-screen--lobby .game-lobby-layout__main,.game-screen--lobby .game-lobby-layout__side,.game-screen--hub .hub-zone-layout__main,.game-screen--hub .hub-zone-layout__simulator,.game-screen--hub .hub-zone-layout__sidebar{min-height:0}.game-screen--lobby .game-lobby-layout__main>.panel,.game-screen--lobby .game-lobby-layout__side>.panel,.game-screen--hub .hub-zone-layout__sidebar>.panel{min-height:0;overflow:auto}.hospital-game-hud-meta{justify-content:space-between;align-items:center;gap:.55rem;display:flex}.hospital-game-hud-main{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;min-width:0;display:grid}.hospital-hud-badge{color:#d8fff2;font:700 .66rem/1 var(--font-mono), monospace;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:#08685f47;border:1px solid #8cdcc4cc;border-radius:999px;flex:none;padding:.24rem .52rem}.game-screen--room .panel--hospital-room{flex-direction:column;min-height:0;padding:clamp(.5rem,.85vw,.75rem);display:flex;overflow:hidden}.game-screen--room .panel--hospital-room .room-scene{flex:1;height:100%;min-height:0}.game-screen--room .hospital-stage{grid-template-rows:auto minmax(0,.9fr) minmax(300px,.9fr);gap:.58rem;min-height:0;padding:clamp(.52rem,.9vw,.82rem);display:grid}.game-screen--room .hospital-stage-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(190px,.64fr) minmax(300px,1.14fr) minmax(300px,1fr);gap:clamp(.55rem,.95vw,.92rem);min-height:0;margin-top:0}.game-screen--room .hospital-stage-zone--nurse{grid-area:1/1}.game-screen--room .hospital-stage-zone--patient{grid-area:1/2}.game-screen--room .hospital-stage-zone--monitor{grid-area:1/3}.game-screen--room .hospital-stage .nurse-card,.game-screen--room .hospital-stage .patient-card{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#e6f2fc42,#e4f1fd1f);border:1px solid #85abc759;height:100%;min-height:0;padding:.44rem .5rem .5rem;box-shadow:0 6px 16px #0f2e461f}.game-screen--room .hospital-stage .character-row{flex-direction:column;justify-content:space-between;align-items:center;gap:.56rem;height:100%;min-height:0;display:flex}.game-screen--room .hospital-stage .nurse-avatar{width:min(92%,230px);height:clamp(180px,24vh,300px);box-shadow:none;background:0 0;border:0;margin:0 auto;padding:0}.game-screen--room .hospital-stage .patient-avatar{width:min(94%,310px);height:clamp(220px,30vh,360px);box-shadow:none;background:0 0;border:0;margin:0 auto;padding:0}.game-screen--room .hospital-stage .nurse-avatar img,.game-screen--room .hospital-stage .patient-avatar img{object-position:center top}.game-screen--room .hospital-stage .dialog-bubble{background:#f7fcffe6;border:1px solid #80a7c5d1;width:100%;margin:0;padding:.56rem .7rem;font-size:.97rem;line-height:1.34;box-shadow:0 6px 14px #102d4329}.game-screen--room .hospital-stage .dialog-bubble:before{top:15px}.game-screen--room .hospital-stage-zone--monitor .scene-clickable--monitor{height:100%;min-height:0;display:grid}.game-screen--room .hospital-stage-zone--monitor .instrument.monitor{aspect-ratio:16/10;border-radius:16px;height:100%;min-height:0;padding:.26rem;box-shadow:0 12px 26px #0514244d}.game-screen--room .hospital-stage-footer{z-index:3;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:.62rem;min-height:300px;display:grid;position:relative}.game-screen--room .hospital-stage-footer__mission,.game-screen--room .hospital-stage-footer__tools{min-width:0;min-height:0}.game-screen--room .hospital-stage-footer .hospital-mission-panel{background:#f4fbffa8;border:1px solid #83a4be9e;border-radius:13px;height:100%;padding:.62rem .68rem;overflow:auto;box-shadow:0 8px 14px #132e4221}.game-screen--room .room-mission-console{flex-direction:column;gap:.5rem;height:100%;min-height:0;display:flex}.game-screen--room .room-mission-objective{flex:auto;min-height:180px;padding-right:.25rem;overflow:auto}.game-screen--room .hospital-stage-footer .hospital-stage-bottom-tools{grid-template-rows:auto auto;align-content:start;gap:.48rem;height:100%;overflow:hidden}.game-screen--room .hospital-stage-footer .hospital-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.46rem}.game-screen--room .hospital-stage-footer .hospital-tool-grid .instrument.tool{border-radius:12px;min-height:74px;padding:.45rem .42rem;font-size:.85rem}.game-screen--room .hospital-stage .hospital-tool-grid .instrument.tool img{height:34px!important}.game-screen--room .hospital-equipped-strip{background:#f4faffa3;border:1px solid #84a7c29e;border-radius:11px;padding:.42rem .52rem;box-shadow:0 6px 12px #102d401f}.game-screen--room .hospital-equipped-strip span{font-size:.55rem}.game-screen--room .hospital-equipped-strip strong{font-size:.74rem;line-height:1.25}.game-screen--room .hospital-interaction-line{margin-top:.25rem;font-size:.72rem;line-height:1.28}@media (max-width:1180px){.game-shell{grid-template-columns:1fr;min-height:auto}.game-shell__hud{min-height:auto;position:relative;top:auto}.game-lobby-layout,.panel-dashboard-layout,.hub-zone-layout{grid-template-columns:1fr}.game-screen--room{height:auto;min-height:calc(100vh - 1rem);overflow:auto}.game-screen--room .panel--hospital-room{overflow:visible}.game-screen--room .panel--hospital-room .room-scene{min-height:920px}.game-screen--room .hospital-stage{grid-template-rows:auto auto auto}.game-screen--room .hospital-stage-layout{grid-template-rows:minmax(300px,auto) minmax(300px,auto);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.game-screen--room .hospital-stage-zone--nurse{grid-area:1/1}.game-screen--room .hospital-stage-zone--patient{grid-area:1/2}.game-screen--room .hospital-stage-zone--monitor{grid-area:2/1/auto/3}.game-screen--room .hospital-stage-footer{grid-template-columns:1fr}.panel-screen--users .panel-dashboard-layout__main,.panel-screen--users .panel-dashboard-layout__side{grid-template-rows:auto minmax(0,1fr)}.panel-screen--users .user-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.page-shell.game-screen,.page-shell.panel-screen{height:auto;min-height:100vh;overflow:visible}.panel-screen .panel-dashboard-layout{height:auto}.panel-screen--users .panel-dashboard-layout__main,.panel-screen--users .panel-dashboard-layout__side{grid-template-rows:auto}.panel-screen .panel-scroll,.panel-screen--visual .panel-screen__content,.game-screen--lobby .game-lobby-layout__main>.panel,.game-screen--lobby .game-lobby-layout__side>.panel,.game-screen--hub .hub-zone-layout__sidebar>.panel{overflow:visible}.panel-screen--users .user-card-grid{grid-template-columns:1fr}.visual-title-actions{flex-direction:column;align-items:stretch}.visual-title-actions h2{min-width:0}.visual-actions{justify-content:flex-start;width:100%}.visual-actions .btn{white-space:normal;width:100%}.visual-actions .hint{text-align:left}.console-top-panels{grid-template-columns:1fr}.stats--console{grid-template-columns:repeat(2,minmax(0,1fr))}.hospital-game-hud-meta{flex-direction:column;align-items:stretch}.hospital-game-hud-main{grid-template-columns:1fr;gap:.28rem}.hospital-hud-badge{justify-self:flex-start;width:fit-content}.game-screen--room .hospital-stage-layout,.game-screen--room .hospital-stage-footer{display:none}.hospital-mobile-stack{z-index:2;gap:.6rem;display:grid;position:relative}.hospital-mobile-stack .hospital-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.hospital-mobile-stack .hospital-tool-grid .instrument.tool{min-height:116px}}.game-fullwidth .game-shell{grid-template-columns:minmax(0,1fr) 340px}.game-shell__hud{flex-direction:column;gap:.7rem;max-height:calc(100vh - 1.2rem);padding-right:.1rem;display:flex;overflow-y:auto}.game-shell__hud-extension{gap:.6rem;min-height:0;display:grid}.game-shell__hud-extension:empty{display:none}.game-shell__hud .room-side-mission-panel{background:linear-gradient(#f6fcfff5,#e9f4fcf0);border:1px solid #a6c6dcdb;border-radius:14px;flex-direction:column;min-height:0;padding:.7rem .72rem;display:flex;box-shadow:0 10px 22px #122a4033}.game-shell__hud .room-side-mission-panel__objective{min-height:0;max-height:min(46vh,460px);margin-top:.6rem;padding-right:.2rem;overflow:auto}.game-shell__hud .room-side-mission-panel__actions{margin-top:.68rem!important}.game-shell__hud .room-side-mission-panel__actions--nav{border-top:1px solid #90b0c799;gap:.35rem;padding-top:.55rem;display:grid;margin-top:.7rem!important}.room-side-nav-title{color:#507092;margin:0 0 .12rem}.game-shell__hud .room-side-nav-panel{background:linear-gradient(#f4fbffe6,#ebf5fcdb);border:1px solid #a6c6dcd1;border-radius:12px;padding:.56rem .62rem;box-shadow:0 8px 16px #122a4024}.room-side-nav-panel__links{gap:.35rem;display:grid}.room-side-nav-link{text-align:left;white-space:normal;color:#244965;width:100%;box-shadow:none;background:#ecf6fd3d;border:1px solid #89aac273;border-radius:9px;justify-content:space-between;align-items:center;padding:.42rem .58rem;font-size:.84rem;line-height:1.2;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.room-side-nav-link:after{content:"›";color:#4f7fa1;margin-left:.42rem;font-size:.95rem}.room-side-nav-link:hover{background:#e0effa85;border-color:#729bb8ad}.room-side-nav-link:focus-visible{outline-offset:1px;outline:2px solid #4989b08c}.room-side-nav-link[href*=\/cinematic]{color:#14554d;background:#d7f0ebc7;border-color:#7ab5abc7}.game-shell__hud .room-side-mission-panel .feedback{margin-top:.58rem!important}.room-side-mission-panel__question-summary{min-height:0}.room-side-question-list{color:#2c4861;max-height:198px;margin:.2rem 0 0;padding-left:0;font-size:.9rem;line-height:1.3;list-style:none;overflow:auto}.room-side-question-list li{background:#f0f8ff8c;border-radius:8px;margin-bottom:.3rem;padding:.25rem .35rem}.game-screen--room .hospital-stage{grid-template-rows:auto minmax(0,1fr) auto;gap:.62rem}.game-screen--room .hospital-stage-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(210px,.7fr) minmax(330px,1.12fr) minmax(320px,.92fr);gap:clamp(.55rem,.95vw,.95rem)}.game-screen--room .hospital-stage .nurse-card,.game-screen--room .hospital-stage .patient-card{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#e2f1fd33,#dceefc14);border:1px solid #8baec957;box-shadow:0 7px 16px #0e2b4024}.game-screen--room .hospital-stage .character-row{justify-content:flex-start;align-items:center;gap:.42rem}.game-screen--room .hospital-stage .nurse-avatar{width:min(96%,260px);height:clamp(210px,28vh,340px)}.game-screen--room .hospital-stage .patient-avatar{width:min(98%,320px);height:clamp(240px,31vh,390px)}.game-screen--room .hospital-stage-inline-dialogue{align-self:stretch;width:100%;max-width:none;display:block}.game-screen--room .hospital-stage-zone--monitor .instrument.monitor{place-self:start end;width:100%;max-width:460px;height:auto;min-height:0;aspect-ratio:1!important}.game-screen--room .hospital-stage-footer{grid-template-columns:minmax(0,1.75fr) minmax(320px,1fr);align-items:stretch;min-height:250px}.game-screen--room .hospital-stage-footer--tools-only{min-height:250px}.game-screen--room .hospital-stage-footer--tools-only .hospital-stage-bottom-tools{grid-template-rows:auto auto;align-content:end;gap:.65rem;height:auto;margin-top:.95rem}.game-screen--room .hospital-stage-footer--tools-only .hospital-tool-grid{margin-top:.35rem}.game-screen--room .hospital-stage-footer--tools-only .hospital-equipped-strip{margin-top:.25rem}.game-screen--room .hospital-tools-navigation{margin-top:.15rem}.game-screen--room .room-tools-nav{background:#f4fbff80;border:1px solid #91b2c99e;border-radius:11px;padding:.4rem .45rem}.game-screen--room .room-tools-nav__links{gap:.28rem;display:grid}.game-screen--room .room-tools-nav .room-side-nav-title{margin-bottom:.2rem;font-size:.67rem}.game-screen--room .hospital-stage-footer--tools-only .hospital-stage-footer__mission{align-self:stretch;display:block}.game-screen--room .hospital-stage-footer--tools-only .hospital-question-panel{gap:.5rem;height:auto;min-height:260px;max-height:none;display:block;overflow:visible}.game-screen--room .room-question-panel__body .eyebrow{margin-bottom:.05rem}.game-screen--room .room-question-panel__objective{min-height:0;max-height:none;padding-right:0;overflow:visible}.game-screen--room .room-question-panel__actions{flex-wrap:wrap;gap:.6rem;display:flex}.game-screen--room .room-question-panel__actions .btn{margin-top:0}.game-screen--room .room-question-panel__feedback{margin-top:0!important}.game-screen--room .hospital-dialogue-strip{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.62rem;display:grid}.game-screen--room .hospital-dialogue-strip__item{color:#1f4769;background:#f7fcffeb;border:1px solid #7ea6c5d6;min-height:98px;margin:0;padding:.72rem .86rem;box-shadow:0 8px 16px #0e2c422e}.game-screen--room .hospital-dialogue-strip__speaker{color:#2c5e80;font:700 .7rem/1 var(--font-mono), monospace;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.25rem;display:block}@media (max-width:1180px){.game-fullwidth .game-shell{grid-template-columns:1fr}.game-shell__hud{max-height:none;overflow:visible}.game-shell__hud .room-side-mission-panel__objective{max-height:none}.game-screen--room .hospital-stage-layout{grid-template-rows:minmax(280px,auto) minmax(280px,auto);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.game-screen--room .hospital-stage-zone--monitor{grid-column:1/3}.game-screen--room .hospital-stage-zone--monitor .instrument.monitor{justify-self:stretch;max-width:none;aspect-ratio:16/10!important}.game-screen--room .hospital-dialogue-strip{grid-template-columns:1fr}.game-screen--room .hospital-stage-footer--tools-only .hospital-stage-footer__mission,.game-screen--room .hospital-stage-footer--tools-only .hospital-stage-footer__tools{grid-column:1}.briefing-grid{grid-template-columns:1fr}.briefing-video{min-height:280px}}.page-shell.game-screen,.page-shell.panel-screen{height:auto!important;min-height:100vh!important;overflow:visible!important}.game-screen--lobby .game-lobby-layout,.game-screen--hub .hub-zone-layout{height:auto!important;min-height:0!important}.game-screen--lobby .game-lobby-layout__main>.panel,.game-screen--lobby .game-lobby-layout__side>.panel,.game-screen--hub .hub-zone-layout__sidebar>.panel{overflow:visible!important}.game-screen--room{height:auto!important;min-height:calc(100vh - 1rem)!important;overflow:visible!important}.game-screen--room .panel--hospital-room{overflow:visible!important}.game-screen--hub .hub-zone-layout{grid-template-columns:minmax(0,1.35fr) minmax(340px,.82fr);align-items:start;gap:.8rem;display:grid}.game-screen--hub .hub-zone-layout__main,.game-screen--hub .hub-zone-layout__sidebar{align-content:start;gap:.8rem;min-width:0;display:grid}.game-screen--hub .hub-zone-layout__main>.panel,.game-screen--hub .hub-zone-layout__sidebar>.panel{overflow:visible!important}.game-screen--room .hospital-stage-footer--tools-only{grid-template-columns:minmax(0,1.75fr) minmax(320px,1fr);align-items:start;gap:.62rem}.game-screen--room .hospital-stage-footer--tools-only .hospital-stage-footer__mission{grid-column:1;align-self:stretch}.game-screen--room .hospital-stage-footer--tools-only .hospital-stage-footer__tools{grid-column:2;align-self:start;padding-top:.1rem}.game-screen--room .hospital-stage-footer--tools-only .hospital-stage-bottom-tools{align-content:start;margin-top:0}.game-screen--room .hospital-stage-footer--tools-only .hospital-question-panel{min-height:260px;max-height:none!important;overflow:visible!important}.game-screen--room .room-question-panel__body{gap:.6rem;display:grid}.game-screen--room .room-question-panel__objective{padding-right:0;max-height:none!important;overflow:visible!important}.panel-screen--users .scenario-switch.user-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}@media (max-width:1180px){.game-screen--hub .hub-zone-layout,.game-screen--room .hospital-stage-footer--tools-only{grid-template-columns:1fr}.game-screen--room .hospital-stage-footer--tools-only .hospital-stage-footer__tools{grid-column:1}.visual-lab .room-scene{height:700px;min-height:700px}.visual-lab .nurse-card{width:min(32%,320px);min-width:220px}.visual-lab .patient-card{width:min(34%,360px);min-width:220px;left:36%}.visual-lab .instrument.monitor{width:min(38%,350px)}.visual-lab .inventory-rack{width:min(68%,760px)}}@media (max-width:860px){.visual-lab .room-scene{height:820px;min-height:820px}.visual-lab .nurse-card,.visual-lab .patient-card,.visual-lab .inventory-rack,.visual-lab .instrument.monitor,.visual-lab .instrument.tool{width:100%;min-width:0;max-width:none;position:static}.visual-lab .nurse-card,.visual-lab .patient-card,.visual-lab .inventory-rack{margin-bottom:.55rem}.visual-lab .instrument.tool{margin-top:.42rem}}.visual-practice-shell{gap:.9rem;display:grid}.visual-practice-header{grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:.8rem;display:grid}.visual-practice-actions{align-content:start;gap:.5rem;display:grid}.visual-practice-instruction{background:#f5f9ff;border:1px solid #c9d9e8;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:.8rem;padding:.8rem;display:grid}.visual-practice-help{color:#15466b;background:#eaf5ff;border:1px solid #9cc7e8;border-radius:10px;margin-top:.6rem;padding:.6rem;font-weight:600}.visual-practice-grid{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:.8rem;display:grid}.visual-practice-items{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;display:grid}.visual-practice-item{color:#14344e;text-align:left;background:#f4fbff;border:1px solid #aac7df;border-radius:10px;gap:.15rem;padding:.5rem;display:grid}.visual-practice-item strong{font-size:.95rem}.visual-practice-item span{color:#4f6378;font-size:.77rem}.visual-practice-item--selected{background:#e2f5f2;border-color:#1b7e77}.visual-practice-zone-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem;display:grid}.visual-practice-zone{background:#eef5ff;border:1px dashed #87aac8;border-radius:12px;gap:.55rem;padding:.7rem;display:grid}.visual-practice-zone h4{margin:0}.visual-practice-zone p{color:#4d6174;margin:0;font-size:.83rem}.visual-practice-drop{margin-top:0!important}.visual-practice-zone-items{flex-wrap:wrap;gap:.35rem;display:flex}.visual-practice-zone-chip{color:#1f4a67;background:#f8fcff;border:1px solid #91bad9;border-radius:999px;padding:.25rem .5rem;font-size:.74rem}.visual-practice-step-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem;display:grid}.visual-practice-step{background:#f6fbff;border:1px solid #c3d8eb;border-radius:10px;gap:.2rem;padding:.55rem;display:grid}.visual-practice-step p{margin:0;font-size:.9rem}.visual-practice-step span{text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.visual-practice-step--blocked{opacity:.65}.visual-practice-step--active{border-color:#2f82bd;box-shadow:inset 0 0 0 1px #2f82bd}.visual-practice-step--completed{background:#e9f8f0;border-color:#4aa387}.visual-practice-step--error{background:#ffefe9;border-color:#d96d61}.visual-practice-options,.visual-practice-options-grid{flex-wrap:wrap;gap:.5rem;display:flex}.visual-practice-options-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.visual-practice-checkbox{background:#f8fcff;border:1px solid #c2d6e7;border-radius:10px;align-items:flex-start;gap:.4rem;padding:.45rem;display:flex}.visual-practice-sequence{gap:.55rem;display:grid}.visual-practice-sequence-output,.visual-practice-minigame,.visual-practice-doc{background:#f8fcff;border:1px solid #c6d7e7;border-radius:10px;padding:.6rem}.visual-practice-doc textarea{resize:vertical;background:#fff;border:1px solid #b5cadf;border-radius:10px;width:100%;padding:.55rem;font-family:inherit}.visual-practice-feedback{border:1px solid #0000;border-radius:10px;padding:.65rem;font-weight:600}.visual-practice-feedback--info{color:#1e557a;background:#edf7ff;border-color:#bdd7ea}.visual-practice-feedback--success{color:#165f48;background:#e9faef;border-color:#95d2bb}.visual-practice-feedback--warn{color:#74550d;background:#fff6df;border-color:#e8d18e}.visual-practice-feedback--error{color:#7b1f1f;background:#ffebeb;border-color:#e0a3a3}.visual-practice-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}.visual-practice-stats article{background:#f7fbff;border:1px solid #c9d9e7;border-radius:10px;gap:.15rem;padding:.5rem;display:grid}.visual-practice-stats span{color:#5c6c7d;font-size:.76rem}.visual-practice-stats strong{font-size:1.08rem}@media (max-width:980px){.visual-practice-header,.visual-practice-instruction,.visual-practice-grid{grid-template-columns:1fr}.visual-practice-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
