/* A warm, contemporary hospital drama: natural colour, daylight and clear surfaces. */
:root{--bg:#f3f2e9;--panel:#fffef9;--text:#243d37;--muted:#62736a;--line:#cbd8cd;--mint:#227763;--gold:#a5692c;--amber:#a85f32;--cyan:#327e72;--serif:'PingFang SC','Microsoft YaHei',sans-serif;color-scheme:light}
body,#app,#scene-stage{background:#f3f2e9;color:#243d37}h1,h2,h3,h4{color:#243d37}#header,.is-lobby #header{background:linear-gradient(#f8f7efef,#f8f7efbb,transparent)}.brand,.brand small,.header-center{color:#31594c}.brand-mark{border-color:#8bab98;color:#29735d}.icon-button,.header-actions .icon-button{background:#fffef5ed;border-color:#b9cdbf;color:#315c4c;box-shadow:0 3px 15px #3c684414}.icon-button:hover{background:#e4eee2;border-color:#68957b}.score-pill,.score-pill b{color:#31594c}.score-pill .icon{color:#9c652c}
.keyart,.is-lobby .keyart{background-image:url('./assets/hospital-scene.png');filter:saturate(.95) brightness(1.08);animation:none}.keyart:after{background:linear-gradient(90deg,#f5f2e5f5 5%,#f5f2e5cf 28%,#f5f2e533 64%,transparent),linear-gradient(0deg,#f3f2e9,transparent 38%)}.lobby-copy h1,.lobby-copy h1>span:not(.title-period){font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-weight:800;color:#244f40;text-shadow:none;letter-spacing:3px}.lobby-copy h1>span:not(.title-period){color:#35836b}.lobby-subtitle{color:#375b4b;text-shadow:none;font-weight:500}.lobby-copy .eyebrow,.game-wordmark,.lobby-meta,.menu-chapter,.menu-sidecode,.lobby-footer>span,.lobby-footer button,.lobby-footer .edition{color:#536f5e}.live-dot{background:#3b9072}.live-dot.red{background:#c55740}.lobby-start .primary,.button.primary,.mission-next,.cinema-skip,.hold-button{background:#28775f;border:1px solid #28775f;color:#fffef7;border-radius:12px;box-shadow:0 6px 18px #28775f22}.button.primary:hover:not(:disabled){background:#1d624d;box-shadow:0 8px 20px #28775f33}.button.ghost,.lobby-start .ghost{color:#365b49;background:#fffdf6d9;border-color:#aebfac}.button.ghost:hover{background:#e9f1e4;border-color:#658c70}.button.success{background:#e4f0df;color:#276747;border-color:#9abb96}#footer{background:linear-gradient(transparent,#f3f2e9f5 45%)}.scene-vignette{background:linear-gradient(0deg,#f3f2e9,transparent 22%,transparent 80%,#f3f2e977)}.scene-location{background:#fffdf3ed;color:#375744;border-color:#b7c9b7}.scene-location small,.scene-time span{color:#60715f}.scene-time b{color:#355a46}.mission-hud,.patient-hud{background:#fffdf6ef;border-color:#c5d7c1;box-shadow:0 8px 24px #365f4010}.mission-hud h2,.mission-progress b,.patient-hud b,.patient-hud strong{color:#2a5140}.mission-hud p,.mission-kicker,.patient-hud span,.patient-hud small,.player-hud span,.player-hud small{color:#5e715f}.mission-progress i{background:#d7dfcf}.mission-progress i.seen{background:#d8a46a}.mission-progress i.done{background:#5a9672}.vital-icon,.ecg{color:#3e8168;stroke:#3e8168}.hotspot{background:#fffdf5f2;border:2px solid #4d8970;box-shadow:0 3px 15px #3c684422}.hotspot span{color:#2c6e56}.hotspot:hover,.hotspot.selected{background:#2c7b60}.hotspot.fixed{background:#599b77;border-color:#d5ebca}.pin-name{background:#fffdf5;color:#315942;border-color:#8faa8f}.player-nameplate,.player-nameplate b{background:#fff9;color:#315942;text-shadow:none}.camera-tools,.ability-button,.interact-button{background:#fffdf5e6;color:#315942;border-color:#b1c7af}.joystick-base,.joystick-thumb{background:#7da88730;border-color:#7da887}.joystick-zone>span,.explore-hint,.chapter-node,.chapter-node.active{color:#42694e}.chapter-node>span{background:#f3f7ed;border-color:#a3bea1}.chapter-node.active>span{border-color:#3b8062;color:#2a6a50}
.clue-open #right-panel,.planning,.personal-task,.modal,.event-card,.feedback-card,.result-card,.repair-terminal{background:#fffef9;border-color:#cddac9;border-radius:18px;box-shadow:0 16px 45px #375b3f18}.clue-open #right-panel{border-top-color:#82ad8c}.back-link,.text-link,.panel-heading,.modal-header h2,.setting-row h3{color:#2f5a46}.clue-description,.clue-explanation,.modal-intro,.modal-body p,.modal-body summary,.personal-task>p,.result-story,.feedback-card>p{color:#455b4c}.eyebrow,.tag.amber,.assigned b{color:#996128}.tag.amber{background:#fcf0d9;border-color:#ddc39c}.insight-card{background:#edf3e7;border-color:#c6d7ba}.insight-card>span,.insight-card p{color:#426d4f}.micro,.muted,.assigned,.planning-head p,.planning-note,.personal-task .personal-note,.setting-row p,.keyboard-guide{color:#61715e}.plan-card{background:#fafbf4;border-color:#d1ddc8;border-radius:12px}.plan-card:hover:not(:disabled){background:#f0f5e8;border-color:#91af86}.plan-card.chosen{background:#eaf3e1;border-color:#73a175}.plan-card h3,.planning-head h2,.plan-card-top span{color:#2b573e}.plan-card>p,.plan-effect{color:#65735e}.plan-card .check-circle{color:#39865a}.action-budget{background:#f2f6e9;border-color:#afc79d;color:#366641}.action-budget span{color:#627457}.portrait,.role-hero .portrait.hero,.roster-card,.reply-cast .portrait.hero{filter:none}.option{background:#fbfcf5;border-color:#c9d6c1;border-radius:12px;box-shadow:0 3px 0 #dae2d355}.option:hover{background:#eef5e6;border-color:#79a27a}.option b,.dialogue p{color:#2e4937}.option small,.event-context{color:#64715d}.option-letter{background:#eaf0df;border-color:#bdcfaa;color:#436a42;border-radius:8px}.story-shot{background-image:linear-gradient(0deg,#34543d9c,transparent 55%),url('./assets/hospital-scene.png');filter:none;border-radius:16px 16px 0 0}.shot-tag{background:#fffdf3ed;border-color:#d3dfc5;color:#37543c;border-radius:7px}.speaker-name{color:#fffdf3;text-shadow:0 2px 8px #25452b66}.speaker-name small{color:#f3f6e8}.story-shot.handover{background-image:linear-gradient(0deg,#34543dbb,transparent),url('./assets/role-atlas.png')}.story-shot.incident{background-image:linear-gradient(0deg,#6a423d99,transparent 70%),url('./assets/hospital-scene.png');border-color:#be7860}.voice-replay{background:#f2f5e9;border-color:#cad8be;color:#4a6c48;border-radius:10px}.voice-bars b{background:#5b8a54}.spoken-reply{background:#f2f5e9;border-color:#80a66e}.spoken-reply>span{color:#638a50}.spoken-reply p{color:#345034}.feedback-card.bad{background:#fff5ed;border-color:#d49e82}.feedback-symbol,.feedback-card.good .feedback-symbol{background:#edf5e6;border-color:#9abb87;color:#408044}.feedback-stats{color:#65755c}.rank,.rank.gold{background:#fcf2d9;border-color:#d7b96d;color:#976f20}.result-score,.result-score b{color:#355b3f}.result-score small,.result-score>div:nth-child(2)>span,.result-facts{color:#6a785e}.result-achievements>span{background:#edf4e4;border-color:#c0d3ad;color:#517148}.modal-backdrop,.repair-layer{background:#5b765966;backdrop-filter:blur(6px)}.toggle{background:#cbd4bf}.toggle.on{background:#548a59}.repair-tools button{background:#f5f7ee;border-color:#c9d6be;color:#536d49}.repair-tools button.ready{background:#e4f0d8;border-color:#80ab67}.repair-status,.repair-simple{color:#526e43}.repair-exit{color:#3e5b34}.repair-meter{background:#e0e7d5}.repair-meter i{background:#7eaa62}.reward-effect,.reward-effect strong{color:#2d6a44;text-shadow:0 2px 10px #fff}.reward-effect span{color:#50834d}.reward-effect small{color:#657c58}#toast{background:#f6fff0;color:#365e37;border-color:#a4c48f;box-shadow:0 8px 30px #345b3322}
.role-select-screen{background:#f4f3e9;color:#2f4e39}.role-select-screen:before{filter:none;opacity:.07}.role-select-header>div>span{color:#4b8056}.role-select-header h2{color:#62755c}.role-hero{background:#edf2e4;border:0;border-radius:20px;box-shadow:0 12px 35px #496a3818}.role-hero .portrait.hero{mask-image:linear-gradient(#000 65%,transparent)}.role-hero-caption>span{color:#47633e;letter-spacing:1px}.role-hero-caption h3{font-family:inherit;color:#294f32;font-weight:700}.role-hero-caption p{color:#516b46}.route-brief>span{color:#538451}.route-brief h3{color:#355939}.route-brief p,.save-replace-note{color:#6a795f}.roster-card{background:#fffef7;border-color:#cbd7bd;color:#586d4b;border-radius:10px}.roster-card.selected{background:#e6f1d9;color:#315d35;border-color:#6c9c58;box-shadow:inset 0 0 0 1px #6c9c58}.roster-card .portrait{border-radius:6px}.role-modes button{background:#fafbf2;color:#60744f;border-color:#c2d1ad;border-radius:10px}.role-modes button.selected{background:#e9f1dc;border-color:#80a764;color:#3c6437}.role-task-heading span{color:#61864d}
.cinema-layer.chapter-title{background:#f1f4e7}.chapter-title:before{background:linear-gradient(110deg,#dce8cfbb,transparent 70%);border-left:6px solid #77a76c;border-radius:4px}.chapter-title .cinema-content h2{font-family:inherit;color:#2f583d;letter-spacing:7px}.chapter-title .cinema-content p{color:#518257}.chapter-title .cinema-content>span{color:#677b5e}.cinema-content i{background:#80a768}.cinema-grain{display:none}.incident-memory{background-image:linear-gradient(#f2efe899,#f4f1e2d9),url('./assets/hospital-scene.png');filter:none}.incident-memory .cinema-content h2,.cinema-layer:not(.chapter-title) .cinema-content p{color:#5c5647}.opening-cry{background:#dfe6dc!important}
.reply-scene{background:#fffef8;border-color:#cbd9bf;border-radius:18px;box-shadow:0 14px 35px #416a3618}.reply-cast{background:#e9f0e0}.reply-cast>span{color:#355a36}.reply-script>span{color:#658a53}.reply-script>p{color:#36503a}.reply-script .reply-wait{color:#738267}.decision-backdrop{background:#5e755c77;backdrop-filter:blur(8px)}.decision-dialog{background:#fffef9;border-color:#9dbe8f;border-top-color:#70a25d;border-radius:20px;box-shadow:0 24px 80px #37523433}.decision-dialog.warn,.decision-dialog.bad{background:#fff9ef;border-color:#d4a577}.decision-dialog h2{color:#35593b}.decision-dialog p,.decision-dialog summary{color:#4b6046}.decision-dialog details{color:#71805e}.decision-dialog .feedback-stats b{color:#3b693a}.decision-stamp{color:#658653}.decision-dialog.bad .decision-stamp,.decision-dialog.warn .decision-stamp{color:#a75e37}
.risk-patient{background-image:linear-gradient(90deg,#faf5e3ef,#f9f5e34d),url('./assets/hospital-scene.png');filter:none;border-radius:12px}.risk-patient span,.risk-patient h2{color:#49623e}.risk-patient b{background:#a77537;border-radius:5px;color:white}.risk-chip{background:#f8faf0;border-color:#c9d7b9;color:#486239;border-radius:10px}.risk-chip span{color:#758464}.risk-chip.active{background:#eaf3dc;border-color:#8aac6d}.risk-detail{color:#4c6840}.care-chain{background:#f3f7e9;border-color:#cfddbe;border-radius:12px}.care-chain li button{background:#fcfff6;border-color:#c7d8b1;color:#5f7950;border-radius:8px}.care-chain li button.active{background:#e0eecb;border-color:#85ab5e;color:#446e34}.care-chain article p{color:#5b7049}.care-chain>small{color:#758461}.outcome-mode #stage-overlay{background:linear-gradient(150deg,#f9f5e7,#e8efdd)}.ending-reveal{color:#35513b}.ending-clock{color:#82906e}.ending-signal svg{stroke:#69925d}.ending-reveal.injury .ending-signal svg{stroke:#bc7961}.ending-label{color:#58834e}.injury .ending-label{color:#a25b40}.ending-reveal h2{font-family:inherit;color:#34543b;font-weight:700}.ending-reveal blockquote{background:#fffdf6;border-color:#8ba768;border-radius:0 12px 12px 0}.ending-reveal blockquote span,.ending-reveal .ending-cost{color:#69785b}.fiction-label{color:#79846d}.result-outcome{color:#69864a}.motto-card{background:#f2f6e5;border-color:#a7bf83;border-radius:14px}.motto-card>span,.motto-card small{color:#74815f}.motto-card h3{font-family:inherit;color:#486d38}.motto-card p{color:#48613b}.motto-card p b{color:#8b9d6a}
@media(max-width:700px){.is-lobby .keyart{background-position:64% 18%;filter:saturate(.95) brightness(1.08)}.keyart:after{background:linear-gradient(0deg,#f3f2e9 5%,#f3f2e9fa 26%,#f3f2e9c2 46%,transparent 77%)}.lobby-copy h1,.lobby-copy h1>span:not(.title-period){font-size:56px;letter-spacing:1px}.lobby-copy{bottom:108px}.lobby-start .primary{border-radius:14px}.lobby-subtitle{color:#456449}.scene-vignette{background:linear-gradient(0deg,#f3f2e9,transparent 23%,transparent 80%,#f3f2e966)}#footer{background:linear-gradient(transparent,#f3f2e9 35%)}.mission-hud{border-left:3px solid #8eb57c;border-radius:12px}.clue-open #right-panel{background:#fffef9;border-radius:22px 22px 0 0}.personal-task,.event-card,.feedback-card,.result-card,.modal,.repair-terminal{border-radius:16px}.role-hero{border-radius:16px}.button,.guided-investigate,.footer-action .button{border-radius:12px}.role-select-header h2{color:#738069}.chapter-title .cinema-content h2{font-size:68px}.reply-script>p{color:#36503a}}
.role-hero-caption h3,.role-hero-caption>span,.role-hero-caption p{ text-shadow:none}.role-hero-caption{background:none}.role-select-screen .role-start{box-shadow:0 8px 22px #33775420}.reply-cast>span{text-shadow:none}
