@font-face{font-family:Noto Sans TC;src:local("Microsoft JhengHei"),local("PingFang TC");font-weight:400}@font-face{font-family:Noto Sans TC;src:local("Microsoft JhengHei Bold"),local("PingFang TC Semibold");font-weight:500 900}@font-face{font-family:Space Grotesk;src:local("Bahnschrift"),local("Arial");font-weight:100 900}:root{font-family:Noto Sans TC,sans-serif;color:#254c47;background:#eef3f0;font-synthesis:none;--ink:#254c47;--green:#347c6c;--mint:#c7dfd5;--line:#d4e0d9;--mono:"Space Grotesk",sans-serif}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible{outline:3px solid #76b4a4;outline-offset:4px}svg{width:24px;height:24px;flex-shrink:0}button{transition:background .2s,transform .2s}button:hover:not(:disabled){transform:translateY(-1px)}.header{height:96px;max-width:1536px;margin:auto;padding:0 48px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:46px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);font-size:26px;font-weight:800;letter-spacing:5px;line-height:1.15}.brand-cross{font-size:34px;color:var(--green);font-weight:400;letter-spacing:0}.brand small{font:9px var(--mono);letter-spacing:2.7px;display:block;margin-top:8px}.chapter{display:flex;align-items:center;gap:17px;font-size:12px;font-weight:500}.chapter-tag{font:10px var(--mono);letter-spacing:1.5px;border:1px solid #becfc6;border-radius:4px;padding:6px 9px;color:#527168}.header-actions{margin-left:auto;display:flex;gap:16px;align-items:center;font-size:11px;color:#698379}.live-dot{width:6px;height:6px;border-radius:50%;background:#79bb9e;display:inline-block;box-shadow:0 0 0 4px #73ae9412;flex-shrink:0}.icon-button{border:0;background:transparent;padding:7px;color:#6a837a;display:grid;place-items:center}.icon-button svg{width:19px;height:19px}.icon-button.on{color:#216e5e;background:#dbe9e0;border-radius:50%}.layout{display:grid;grid-template-columns:286px minmax(0,1fr);gap:44px;max-width:1536px;margin:auto;padding:37px 48px 24px}.brief{padding-top:9px}.case-label{font:9px var(--mono);letter-spacing:1.8px;color:#678779;display:flex;justify-content:space-between}.case-label span{letter-spacing:.8px;color:#92a59c}.brief h1{font-size:40px;line-height:1.55;letter-spacing:2px;font-weight:700;margin:27px 0 13px}.intro{font-size:12px;color:#78897f;line-height:2;margin:0 0 29px}.patient{display:flex;gap:11px;align-items:center}.patient-icon{background:#e0e9e1;border:1px solid #d6e2d8;border-radius:10px;width:43px;height:43px;display:grid;place-items:center;color:#668c7b}.patient strong{font-size:12px;font-weight:600;display:block}.patient span:not(.severity){display:block;font-size:10px;color:#85978d;margin-top:5px}.severity{font-size:9px;margin-left:auto;padding:4px 7px;background:#dcebe0;border:1px solid #c6ddcc;border-radius:3px;color:#639278}.divider{height:1px;background:var(--line);margin:25px 0}.task-heading{display:flex;justify-content:space-between;font-size:11px;font-weight:600;letter-spacing:1px}.task-heading span{font:11px var(--mono);color:#769382;letter-spacing:2px}.objectives{list-style:none;margin:17px 0 26px;padding:0}.objectives li{display:flex;align-items:center;gap:12px;position:relative;margin-bottom:21px}.step-number{font:11px var(--mono);color:#7b9b8a;align-self:flex-start;padding-top:2px}.objectives strong{font-size:12px;font-weight:500}.objectives p{font-size:10px;margin:6px 0 0;color:#8a9991}.objectives i{width:13px;height:13px;border:1px solid #b9cebf;border-radius:50%;margin-left:auto}.objectives .complete i{background:#458f72;border-color:#458f72}.objectives .complete i:after{content:"✓";display:block;color:#fff;font-size:9px;text-align:center;line-height:11px}.objectives .complete strong{color:#669080}.special-note{display:flex;gap:12px;background:#e2eae3;border:1px solid #d3e1d7;border-radius:6px;padding:15px 14px;margin-bottom:23px}.special-note>span{font-size:29px;line-height:1.1;color:#679d85}.special-note strong{font-size:11px;font-weight:500}.special-note p{font-size:10px;line-height:1.9;color:#7d9183;margin:6px 0 0}.start-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #2e7364;background:#357d6b;border-radius:5px;padding:13px 16px;color:#f1f7f1;font-size:12px;letter-spacing:1px;box-shadow:0 4px 10px #255e4e12}.start-button:hover{background:#2e6b5d}.start-button svg{width:18px;height:18px}.brief-footer{font-size:9px;color:#92a497;display:flex;align-items:center;justify-content:center;gap:7px;margin:13px 0}.brief-footer span{font-size:10px}.operating-room{min-width:0;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 5px 25px #2443340b;border:1px solid #d6e1db;align-self:start}.monitor-bar{display:flex;align-items:center;background:#f9fbf8;padding:18px 25px;gap:36px;border-bottom:1px solid #d5e0d8;height:88px}.vitals{flex:1;min-width:130px}.stat-label{font:9px var(--mono);letter-spacing:1.8px;color:#758b7e;display:flex;align-items:center;gap:7px}.stat-label small{font-family:Noto Sans TC,sans-serif;font-size:9px;letter-spacing:.4px;color:#9aa89d;margin-left:4px}.heart{color:#b4787d;font-size:12px;letter-spacing:0}.vital-number{display:flex;gap:7px;align-items:baseline;margin-top:3px}.vital-number strong{font:29px var(--mono);font-weight:500;color:#3b6c5c;line-height:1}.vital-number>span{font:11px var(--mono);color:#92a392}.health-track{max-width:180px;flex:1;height:5px;align-self:center;margin-left:13px;background:#e2e9e0;border-radius:3px;overflow:hidden}.health-track>div{height:100%;width:76%;background:#82b095;border-radius:3px;transition:width .15s}.critical .vital-number strong,.critical .heart{color:#ba5454}.critical .health-track>div{background:#ba5454}.time-stat strong,.score-stat strong{font:27px var(--mono);color:#426152;font-weight:500;letter-spacing:1px;display:block;margin-top:4px}.time-stat strong span{color:#8fa499}.score-stat strong{font-size:24px}.monitor-bar>.icon-button{border:1px solid #d6e1d7;border-radius:5px;width:31px;height:31px;color:#738d7b;margin-left:2px}#theater{height:434px;position:relative;overflow:hidden;background:#1c3e3c;isolation:isolate}#theater>canvas:first-child{display:block;position:absolute;inset:0;width:100%;height:100%}#gesture{position:absolute;inset:0;width:100%;height:100%;z-index:3;touch-action:none;cursor:crosshair}.scene-label{position:absolute;left:23px;right:23px;top:19px;display:flex;gap:9px;align-items:center;color:#c2d8d1a1;font:8px var(--mono);letter-spacing:1.7px;z-index:4;pointer-events:none}.scene-label .live-dot{background:#a7d6c4;width:4px;height:4px}.scene-label>span:last-child{margin-left:auto;font:9px Noto Sans TC;letter-spacing:1px;color:#ccddd1a0}.scene-corners{position:absolute;inset:50px 21px 43px;border:1px solid #d3f0df15;pointer-events:none;z-index:2;clip-path:polygon(0 0,14px 0,14px 1px,1px 1px,1px 14px,0 14px,0 0,100% 0,100% 14px,calc(100% - 1px) 14px,calc(100% - 1px) 1px,calc(100% - 14px) 1px,calc(100% - 14px) 0,100% 0,100% 100%,calc(100% - 14px) 100%,calc(100% - 14px) calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) calc(100% - 14px),100% calc(100% - 14px),100% 100%,0 100%,0 calc(100% - 14px),1px calc(100% - 14px),1px calc(100% - 1px),14px calc(100% - 1px),14px 100%,0 100%)}.scene-bottom{position:absolute;bottom:17px;left:23px;right:23px;display:flex;justify-content:space-between;color:#c0d7cc7d;font:8px var(--mono);letter-spacing:1.3px;z-index:4;pointer-events:none}.scene-bottom i{font-size:5px;color:#a1c8b4;margin-left:5px}.scene-bottom>span:nth-child(2){font:9px Noto Sans TC;letter-spacing:1px;color:#d4e4d2ba}.assistant{background:#f7faf6;display:flex;align-items:center;padding:14px 22px;gap:13px;border-bottom:1px solid #dce5db;min-height:82px}.nurse-avatar{width:44px;height:48px;overflow:hidden;border-radius:6px;border:1px solid #d1dfd3;flex-shrink:0}.nurse-avatar svg{width:100%;height:100%}.assistant-copy>span{font-size:9px;color:#92a393;letter-spacing:.5px}.assistant-copy b{font-size:10px;color:#658973;margin-left:7px;font-weight:500}.assistant-copy p{font-size:11px;color:#536e5d;line-height:1.7;margin:5px 0 0}.ecg{width:113px;height:36px;flex-shrink:0;margin-left:auto;opacity:.65}.ecg path{fill:none;stroke:#83b598;stroke-width:1.1}.instrument-tray{padding:16px 22px 12px}.tray-label{font-size:10px;color:#526f5a;font-weight:500;display:flex;align-items:center;gap:10px}.tray-label span{font:8px var(--mono);letter-spacing:1.2px;color:#a2afa2}.tools{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:13px 0 12px}.tool{position:relative;display:flex;flex-direction:column;align-items:center;border:1px solid #e1e8de;border-radius:6px;background:#f9fbf7;color:#8a9c89;padding:12px 3px 9px;min-height:93px;gap:5px}.tool>svg{width:26px;height:26px;margin-bottom:1px}.tool strong{font-size:10px;font-weight:500;letter-spacing:.5px}.tool-detail{font:7px var(--mono);letter-spacing:.8px;color:#a5afa0}.key{position:absolute;top:6px;left:8px;font:8px var(--mono);color:#b7c2b3}.tool.selected{color:#3b826c;background:#e8f0e7;border-color:#84b299;box-shadow:inset 0 0 0 1px #84b29929}.tool.selected .key,.tool.selected .tool-detail{color:#72977d}.tool[data-tool=star]{color:#938a65;background:#faf9f1;border-color:#e6e1cd}.tool[data-tool=star].selected{border-color:#b6a56d;background:#f2eed9}.tray-hint{display:flex;justify-content:space-between;font-size:9px;color:#8d9e8c;gap:10px;line-height:1.5}.tray-hint>span:last-child{font-size:8px;color:#a3afa0;white-space:nowrap}kbd{font:8px var(--mono);padding:1px 3px;border:1px solid #e1e7db;border-radius:2px;margin:0 1px}.page-footer{display:flex;justify-content:space-between;max-width:1536px;margin:auto;padding:0 48px 23px;font:8px var(--mono);letter-spacing:1px;color:#94a599}.page-footer i{font-style:normal;margin:0 9px;color:#b8c4ba}.page-footer>span:last-child{font:9px Noto Sans TC;letter-spacing:.5px}.footer-cross{color:#90ad9b;margin-left:18px}#feedback{pointer-events:none;position:absolute;top:65px;left:50%;transform:translate(-50%,-8px);background:#173d32dc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #b0dac34f;border-radius:4px;padding:10px 18px;color:#d2f3df;font:12px Noto Sans TC;white-space:nowrap;z-index:8;opacity:0;transition:opacity .15s,transform .15s}#feedback.visible{opacity:1;transform:translate(-50%)}#feedback.hint{color:#ffe6bb;border-color:#dbb66d66;background:#413b2bed}#slow-banner{display:none;position:absolute;top:52px;left:20px;right:20px;z-index:5;background:#143e51db;border:1px solid #70c6d57d;color:#b3eced;font-size:11px;padding:10px 15px;border-radius:4px;pointer-events:none;gap:12px;align-items:center}#slow-banner.active{display:flex}#slow-banner span{font-size:9px;color:#8dc4cf}#slow-banner b{margin-left:auto;font:17px var(--mono)}.slowed{box-shadow:inset 0 0 50px #5bc8e5;outline:2px solid #81cdd5;outline-offset:-2px}.slowed #feedback{top:108px}.modal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:12;background:#173c36b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:16px}.hidden{display:none}.modal-card{background:#f3f6ee;border:1px solid #c5dbc9;border-radius:9px;max-width:430px;width:100%;padding:28px 32px;box-shadow:0 10px 50px #10271f40}.modal-card .case-label{font-size:8px}.modal-card h2{font-size:24px;letter-spacing:1px;line-height:1.5;margin:14px 0}.modal-card p{font-size:11px;color:#718573;line-height:2;margin:12px 0 19px}.modal-card p.small{font-size:9px;line-height:1.7;margin:12px 0}.modal-card .start-button{margin-top:16px}.secondary-button{display:block;width:100%;border:0;background:transparent;color:#6b8a74;font-size:11px;padding:12px}.result-symbol{font-size:34px;display:block;color:#4a8c70;margin-bottom:13px}.result-stats{display:flex;justify-content:space-between;margin:20px 0}.result-stats span{display:block;font-size:9px;color:#859684;margin-bottom:7px}.result-stats strong{font:25px var(--mono);color:#438269}.render-error{padding:80px 30px;color:#fff;text-align:center}@media(min-width:1450px){.layout{grid-template-columns:320px minmax(0,1fr);gap:55px;padding-top:44px}.brief h1{font-size:44px}#theater{height:480px}.brief{padding-top:16px}.objectives li{margin-bottom:25px}.special-note{margin-top:36px}.monitor-bar{gap:45px}}@media(max-width:1100px){.header{padding:0 28px;height:80px}.layout{padding:28px;grid-template-columns:235px minmax(0,1fr);gap:25px}.brief h1{font-size:33px}.chapter{gap:9px}.monitor-bar{padding:15px 18px;gap:18px}.stat-label small{display:none}.health-track{margin-left:6px}.time-stat strong{font-size:23px}.score-stat strong{font-size:22px}.ecg{display:none}.assistant{padding:12px 17px}.instrument-tray{padding:14px 16px 12px}.tools{gap:6px}.tray-hint{font-size:8px}.tray-hint>span:last-child{display:none}.page-footer{padding:0 28px 20px}#theater{height:420px}}@media(max-width:790px){.header{height:72px;padding:0 20px;gap:20px}.brand{font-size:22px;letter-spacing:3px}.brand small{font-size:7px;letter-spacing:2px}.brand-cross{font-size:29px}.chapter{margin-left:auto;font-size:10px}.chapter-tag{font-size:8px}.header-actions{margin-left:0;gap:8px}.header-actions .room,.header-actions>.live-dot{display:none}.layout{display:flex;flex-direction:column;padding:20px;gap:20px}.brief{padding:0;display:grid;grid-template-columns:1fr auto;gap:0 20px}.brief .case-label{grid-column:1/3}.brief .case-label span{display:none}.brief h1{font-size:24px;line-height:1.4;letter-spacing:1px;margin:12px 0 6px}.brief h1 br{display:none}.brief .intro{font-size:10px;margin:0;grid-column:1}.brief .intro br{display:none}.brief .patient{grid-column:1;grid-row:4;margin-top:12px}.patient-icon{width:30px;height:30px;border-radius:5px}.patient-icon svg{width:18px}.patient strong{font-size:10px}.patient span:not(.severity){font-size:8px;margin-top:3px}.patient .severity{margin-left:12px}.brief .start-button{grid-column:2;grid-row:2/5;align-self:center;width:148px;font-size:11px}.brief .divider,.task-heading,.objectives,.special-note,.brief-footer{display:none}.operating-room{width:100%}.monitor-bar{height:77px;padding:14px 18px;gap:24px}.health-track{max-width:130px}.scene-label{font-size:7px}.assistant-copy p{font-size:10px}.tray-hint{font-size:9px}.page-footer{padding:0 20px 18px;font-size:7px}.page-footer>span:last-child{font-size:8px}#theater{height:440px}}@media(max-width:480px){.header{padding:0 15px;height:66px;gap:10px}.brand{font-size:21px}.chapter>span:last-child{display:none}.chapter-tag{font-size:7px;letter-spacing:.8px;padding:5px}.header-actions{gap:1px}.icon-button svg{width:17px}.layout{padding:15px 10px;gap:16px}.brief{padding:0 5px;gap:0 9px}.brief h1{font-size:23px}.brief .intro{font-size:9px}.brief .start-button{width:121px;padding:12px;font-size:10px}.brief .case-label{font-size:8px}.monitor-bar{height:74px;padding:13px 12px;gap:15px}.vitals{min-width:105px}.stat-label{font-size:7px;letter-spacing:1px}.heart{font-size:10px}.vital-number strong{font-size:27px}.vital-number>span{font-size:9px}.health-track{max-width:65px;height:4px;margin-left:2px}.time-stat strong,.score-stat strong{font-size:22px;letter-spacing:0}.score-stat strong{font-size:19px}.monitor-bar>.icon-button{width:26px;height:26px;padding:4px;margin:0}.scene-label{top:15px;left:15px;right:15px;letter-spacing:1.2px}.scene-label>span:last-child{font-size:8px}.scene-bottom{left:15px;right:15px;font-size:7px;letter-spacing:.8px}.scene-bottom>span:last-child{display:none}.scene-bottom>span:nth-child(2){font-size:8px}#theater{height:420px}.assistant{padding:12px;gap:10px;min-height:79px}.nurse-avatar{width:38px;height:44px}.assistant-copy>span{font-size:8px}.assistant-copy p{font-size:10px;line-height:1.7}.instrument-tray{padding:13px 10px 10px}.tools{gap:4px;margin:11px 0}.tool{min-height:85px;padding:13px 1px 8px;gap:5px}.tool>svg{width:23px;height:23px}.tool strong{font-size:9px;letter-spacing:0}.key{top:5px;left:5px;font-size:7px}.tool-detail{font-size:6px;letter-spacing:.3px}.tray-label{font-size:9px}.tray-label span{font-size:7px}.tray-hint{font-size:8px}.page-footer{padding:0 15px 16px}.page-footer>span:last-child{display:none}.modal-card{padding:20px}.modal-card h2{font-size:21px}.modal-card p{font-size:10px;line-height:1.85}.modal-card .start-button{padding:11px;font-size:11px}#feedback{font-size:10px;padding:9px 12px;max-width:95%;white-space:normal;text-align:center}#slow-banner{left:12px;right:12px;font-size:10px}}@media(max-height:650px)and (min-width:791px){.header{height:66px}.layout{padding-top:20px}.brief h1{font-size:29px;margin-top:16px}.intro{margin-bottom:18px}.divider{margin:17px 0}.objectives li{margin-bottom:16px}.special-note{margin-bottom:14px}#theater{height:300px}.monitor-bar{height:70px}.assistant{min-height:65px}.tool{min-height:79px}.page-footer{padding-bottom:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(max-width:790px){.case-started .brief{display:none}.case-started .layout{padding-top:12px}.case-started #theater{height:clamp(230px,calc(100svh - 380px),440px)}.case-started .page-footer{display:none}}@media(max-width:480px){.case-started #theater{height:clamp(230px,calc(100svh - 370px),440px)}}
