@font-face{font-family:Metro Sans;src:url(./NotoSansSC-SimSubset-kPlGT1T-.woff2)format("woff2");font-display:swap;font-weight:400 800}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--accent:#f0bd43;--accent-ink:#242117;--ink:#f4f2e9;--muted:#b9c1b9;--panel:#161a16f0;--panel-solid:#171b17;--panel-soft:#282e28e6;--line:#f0f2e92e;--danger:#e9503f;--orange:#e98235;--radius:16px;--shadow:0 22px 60px #121c174d;font-family:Metro Sans,Microsoft YaHei,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root{--ink:#f7f4e9;--muted:#c3cac1;--panel:#181d19ed;--panel-solid:#1a1e1a;--panel-soft:#2c322ce6}}*{box-sizing:border-box}html,body{width:100%;min-height:100%;color:var(--ink);background:#596761;margin:0;overflow:hidden}body,button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.game-root,.scene-host,.game-canvas{width:100%;height:100%}.game-root{isolation:isolate;background:#596761;min-height:100dvh;position:relative;overflow:hidden}.scene-host{position:absolute;inset:0}.game-canvas{touch-action:none;display:block}.is-hidden{display:none!important}.loading-screen{z-index:40;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-solid);width:180px;box-shadow:var(--shadow);pointer-events:none;gap:9px;padding:12px 14px;display:grid;position:absolute;bottom:18px;right:18px}.loading-screen p{color:var(--muted);margin:0;font-size:14px}.loading-line{background:#ffffff1f;width:100%;height:3px;overflow:hidden}.loading-line span{background:var(--accent);width:42%;height:100%;animation:1.2s ease-in-out infinite loading-run;display:block}.screen{z-index:20;position:absolute;inset:0}.start-screen{background:linear-gradient(90deg,#0f120ff5 0 39%,#0f120fc2 58%,#0f120f57),linear-gradient(#0000 50%,#0f120f38);grid-template-columns:minmax(0,1.2fr) minmax(330px,.72fr);align-items:center;gap:clamp(34px,7vw,110px);padding:clamp(32px,6vw,88px);display:grid}.start-copy{max-width:760px}.lab-link{color:var(--ink);letter-spacing:.14em;margin-bottom:9vh;font:700 12px/1.2 ui-monospace,SFMono-Regular,monospace;text-decoration:none;display:inline-flex}.kicker{color:var(--accent);letter-spacing:.08em;margin:0 0 14px;font-size:13px;font-weight:700}.start-copy h1{max-width:700px;color:var(--ink);letter-spacing:-.075em;margin:0;font-size:clamp(52px,7.4vw,110px);font-weight:440;line-height:.94}.start-copy h1 strong{color:var(--accent);font-weight:800}.start-summary{max-width:520px;color:var(--muted);margin:28px 0 0;font-size:clamp(15px,1.25vw,19px);line-height:1.75}.instruction-row{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:620px;margin-top:34px;padding-top:20px;display:grid}.instruction-row span{color:var(--muted);font-size:13px;line-height:1.65}.instruction-row b{color:var(--ink);margin-bottom:4px;font-size:12px;display:block}.start-controls{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:min(100%,440px);box-shadow:var(--shadow);justify-self:end;padding:clamp(24px,3.5vw,38px)}.field-group+.field-group{margin-top:26px}.field-head{justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:11px;display:flex}.field-head label{color:var(--ink);font-size:14px;font-weight:700}.field-head span{color:var(--muted);text-align:right;font-size:11px}.choice-row{gap:8px;display:grid}.level-row,.passenger-row{grid-template-columns:repeat(5,minmax(0,1fr))}.choice-row button,.hud-actions button,.sound-toggle{border:1px solid var(--line);cursor:pointer;background:#ffffff0b;border-radius:999px;min-height:42px;transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s,background .18s,color .18s}.choice-row button:hover,.hud-actions button:hover,.sound-toggle:hover{background:#f0bd4314;border-color:#f0bd43b3}.choice-row button:active,.button:active,.hud-actions button:active,.sound-toggle:active{transform:translateY(1px)scale(.98)}.choice-row button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:800}.score-line{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;margin-top:30px;padding:18px 0;display:flex}.score-line span{color:var(--muted);font-size:12px}.score-line strong{color:var(--accent);font:800 29px/1 ui-monospace,SFMono-Regular,monospace}.primary-actions,.result-actions{gap:10px;display:grid}.primary-actions{grid-template-columns:1.35fr 1fr}.button{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;min-height:50px;padding:0 22px;font-size:14px;font-weight:750;transition:transform .18s cubic-bezier(.16,1,.3,1),filter .18s,background .18s}.button:hover{filter:brightness(1.06)}.button:disabled{cursor:wait;filter:saturate(.45);opacity:.72}.button-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.button-secondary{border-color:var(--line);color:var(--ink);background:#ffffff14}.button-ghost{color:var(--muted);background:0 0;border-color:#0000}.sound-toggle{width:100%;color:var(--muted);margin-top:10px;font-size:12px}.hud{inset:max(14px, env(safe-area-inset-top)) 16px auto;z-index:12;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr);align-items:center;gap:14px;min-height:62px;padding:10px 12px 10px 18px;display:grid;position:absolute;box-shadow:0 12px 34px #0d120f33}.hud-left{align-items:baseline;gap:12px;display:flex}.hud-left span{color:var(--accent);font-size:12px;font-weight:800}.hud-left strong{font-size:14px}.hud-stats{color:var(--muted);gap:24px;font-size:12px;display:flex}.hud-stats strong{color:var(--ink);margin-left:5px;font:750 14px/1 ui-monospace,SFMono-Regular,monospace}.hud-actions{justify-content:flex-end;gap:8px;display:flex}.hud-actions button{min-width:66px;min-height:38px;padding:0 14px;font-size:12px}.countdown{z-index:11;filter:drop-shadow(0 10px 22px #0b100d40);width:132px;height:132px;position:absolute;top:96px;left:50%;transform:translate(-50%)}.countdown-ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.countdown-ring circle{fill:#121613e0;stroke:#ffffff29;stroke-width:6px}.countdown-ring .ring-progress{fill:#0000;stroke:var(--accent);stroke-linecap:round;transition:stroke .16s}.countdown>div{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.countdown strong{letter-spacing:-.08em;font:850 52px/.9 ui-monospace,SFMono-Regular,monospace}.countdown span{color:var(--muted);margin-top:8px;font-size:10px}.countdown[data-urgency=orange] .ring-progress{stroke:var(--orange)}.countdown[data-urgency=red] .ring-progress{stroke:var(--danger)}.countdown[data-urgency=red] strong{color:var(--danger)}.countdown.tick{animation:.25s cubic-bezier(.34,1.56,.64,1) countdown-tick}.action-hint{z-index:10;border:1px solid var(--line);background:var(--panel);color:var(--muted);white-space:nowrap;border-radius:999px;padding:11px 18px;font-size:12px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.mobile-actions{z-index:13;right:18px;bottom:max(22px, env(safe-area-inset-bottom));position:absolute}.mobile-actions .button{min-width:132px;box-shadow:0 12px 35px #1a1d1659}.compact-screen,.result-screen{background:#0d100e8c;place-items:center;padding:24px;display:grid}.result-screen[data-outcome=success]{background:#0d100e57}@media (min-width:768px){.result-screen[data-outcome=trapped]{place-items:center end;padding-right:clamp(42px,7vw,112px)}}.fireworks-layer{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.result-screen:not([data-outcome=success]) .fireworks-layer{display:none}.firework{color:#ffcc59;filter:drop-shadow(0 0 8px);opacity:0;background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.9s ease-out infinite firework-burst;position:absolute}.firework:before,.firework:after{border-radius:inherit;content:"";background:currentColor;position:absolute;inset:0;box-shadow:0 -68px,48px -48px,68px 0,48px 48px,0 68px,-48px 48px,-68px 0,-48px -48px}.firework:after{transform:rotate(22.5deg)scale(.72)}.firework-one{color:#ffcb55;animation-delay:-.32s;top:19%;left:12%}.firework-two{color:#ff625c;animation-delay:-1.08s;top:16%;right:13%}.firework-three{color:#68e2ce;animation-delay:-1.55s;bottom:18%;left:18%}.firework-four{color:#ff8ca7;animation-delay:-.7s;bottom:20%;right:16%}.firework-five{color:#fff0ad;animation-delay:-1.72s;top:49%;right:6%}.modal-panel,.result-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-solid);width:min(100%,540px);max-height:calc(100dvh - 48px);box-shadow:var(--shadow);padding:clamp(28px,4.5vw,48px);overflow-y:auto}.modal-panel{text-align:center;width:min(100%,390px)}.result-panel{z-index:1;position:relative}.modal-panel h2,.result-panel h2,.dialog-head h2{color:var(--ink);letter-spacing:-.045em;margin:0;font-size:clamp(31px,4vw,52px);line-height:1.08}.modal-panel .button{width:100%;margin-top:28px}.result-panel>p:not(.kicker){color:var(--muted);margin:16px 0 0;line-height:1.7}.heart-reward[hidden]{display:none}.heart-reward{background:radial-gradient(circle at 18%,#ff504933,#0000 48%),#ffffff0b;border:1px solid #ff655e7a;border-radius:22px 12px;align-items:center;gap:18px;min-height:112px;margin:20px 0 4px;padding:8px 22px 8px 12px;animation:.68s cubic-bezier(.16,1.35,.3,1) both heart-reward-in;display:flex;box-shadow:inset 0 1px #ffffff1a,0 16px 36px #7a181d33}.heart-icon{color:#f04444;filter:drop-shadow(0 8px 18px #f044446b);flex:0 0 98px;place-items:center;width:98px;font:900 92px/1 Georgia,serif;animation:1.25s cubic-bezier(.16,1,.3,1) .72s infinite heart-beat;display:grid}.heart-copy{gap:5px;display:grid}.heart-copy strong{color:#ff716b;letter-spacing:-.025em;font-size:20px;font-weight:800}.heart-copy small{color:var(--muted);font-size:12px}.stars{color:var(--accent);letter-spacing:.12em;margin:22px 0 18px;font-size:28px}.result-stats{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 26px;display:grid;overflow:hidden}.result-stats div{background:var(--panel-solid);padding:15px}.result-stats dt{color:var(--muted);font-size:11px}.result-stats dd{color:var(--ink);margin:6px 0 0;font:750 15px/1.2 ui-monospace,Metro Sans,SFMono-Regular,monospace}.result-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.result-actions .button-ghost{grid-column:1/-1}.custom-dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-solid);width:min(92vw,680px);max-height:min(88dvh,800px);color:var(--ink);box-shadow:var(--shadow);padding:0;overflow:auto}.custom-dialog::backdrop{background:#0c0f0db8}.custom-dialog form{padding:clamp(24px,4vw,42px)}.dialog-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.dialog-head h2{font-size:clamp(27px,3.5vw,42px)}.dialog-close{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;flex:0 0 44px;font-size:23px}.slider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px;display:grid}.slider-grid label{gap:12px;display:grid}.slider-grid label>span{color:var(--muted);justify-content:space-between;gap:12px;font-size:13px;display:flex}.slider-grid output{color:var(--accent);font:750 13px/1 ui-monospace,Metro Sans,SFMono-Regular,monospace}input[type=range]{width:100%;accent-color:var(--accent)}.toggle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:30px 0;display:grid}.toggle-grid label{border:1px solid var(--line);border-radius:var(--radius);min-height:48px;color:var(--muted);align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.toggle-grid input{accent-color:var(--accent)}.custom-dialog .button{width:100%}.toast{z-index:30;border:1px solid var(--line);background:var(--panel-solid);color:var(--ink);border-radius:999px;padding:12px 18px;font-size:12px;animation:.22s cubic-bezier(.16,1,.3,1) toast-in;position:absolute;bottom:86px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0c110e47}@keyframes loading-run{0%{transform:translate(-110%)}to{transform:translate(340%)}}@keyframes countdown-tick{50%{transform:translate(-50%)scale(1.08)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@keyframes heart-reward-in{0%{opacity:0;transform:translateY(16px)scale(.82)}}@keyframes heart-beat{0%,to{transform:scale(1)}18%{transform:scale(1.13)}34%{transform:scale(.98)}48%{transform:scale(1.08)}}@keyframes firework-burst{0%{opacity:0;transform:scale(.08)}12%{opacity:1}58%{opacity:.9;transform:scale(1)}82%,to{opacity:0;transform:scale(1.18)}}@media (max-width:900px){.start-screen{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:28px;padding:28px}.lab-link{margin-bottom:7vh}.start-copy h1{font-size:clamp(48px,8vw,78px)}.hud{grid-template-columns:1fr auto}.hud-stats{border-top:1px solid var(--line);grid-area:2/1/auto/-1;justify-content:center;padding-top:8px}}@media (max-width:767px){.start-screen{padding:max(20px, env(safe-area-inset-top)) 16px max(22px, env(safe-area-inset-bottom));background:linear-gradient(#0f120fe6,#0f120fd6),0 0;display:block;overflow:auto}.start-copy,.start-controls{width:100%;max-width:none}.lab-link{margin:2px 0 6vh}.start-copy h1{max-width:430px;font-size:clamp(50px,16vw,74px)}.start-summary{margin-top:18px;font-size:14px;line-height:1.65}.instruction-row{display:none}.start-controls{justify-self:stretch;margin-top:26px;padding:20px 16px}.primary-actions{grid-template-columns:1fr}.field-head{display:block}.field-head span{text-align:left;margin-top:4px;display:block}.choice-row{gap:6px}.choice-row button{min-height:40px;font-size:12px}.hud{inset:max(8px, env(safe-area-inset-top)) 8px auto;border-radius:12px;grid-template-columns:1fr auto;gap:8px;min-height:auto;padding:9px 10px}.hud-left{gap:2px;display:grid}.hud-left strong{font-size:12px}.hud-actions{gap:5px}.hud-actions button{min-width:52px;min-height:34px;padding:0 10px;font-size:11px}.hud-stats{justify-content:space-between;gap:8px;padding:7px 4px 0;font-size:10px}.hud-stats strong{font-size:12px}.countdown{width:104px;height:104px;top:110px}.countdown strong{font-size:42px}.countdown span{margin-top:5px;font-size:9px}.action-hint{text-align:center;white-space:normal;bottom:80px;left:10px;right:10px;transform:none}.mobile-actions{right:10px;bottom:max(18px, env(safe-area-inset-bottom));left:10px}.mobile-actions .button{width:100%}.compact-screen,.result-screen{align-items:end;padding:10px}.modal-panel,.result-panel{padding:26px 20px max(22px, env(safe-area-inset-bottom))}.result-panel h2{font-size:31px}.heart-reward{min-height:86px;margin-top:16px;padding:6px 14px 6px 8px}.heart-icon{flex-basis:72px;width:72px;font-size:68px}.heart-copy strong{font-size:17px}.stars{margin-top:16px}.result-actions{grid-template-columns:1fr}.result-actions .button-ghost{grid-column:auto}.slider-grid,.toggle-grid{grid-template-columns:1fr}.custom-dialog{width:calc(100% - 18px);max-height:calc(100dvh - 18px)}.custom-dialog form{padding:22px 18px}.toast{white-space:nowrap;max-width:calc(100% - 32px);bottom:142px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
