:root{color:#fff7d0;font-synthesis:none;--glass:#152c14c7;--line:#eee8b838;--gold:#f1ca54;background:#153e1e;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none}button{font:inherit}#scene{background:#426b3d;position:absolute;inset:0;overflow:hidden}#scene canvas{filter:saturate(1.28)contrast(1.13)brightness(.94)blur(.32px);width:100%;height:100%;display:block}#scene:before,#scene:after{content:"";pointer-events:none;position:absolute;inset:0}#scene:before{z-index:1;mix-blend-mode:multiply;background:linear-gradient(104deg,#1c3a191f,#b8cd5512 48%,#092b1c29)}#scene:after{z-index:2;background:repeating-linear-gradient(0deg,#00000006 0 1px,#0000 1px 4px),radial-gradient(at 52% 44%,#0000 52%,#0412082e 78%,#030c057a 115%);box-shadow:inset 0 0 90px #06130633}#hud{z-index:4;pointer-events:none;text-shadow:0 2px 5px #0019058c;position:absolute;inset:0}.hud-counter,.hud-time,.mission{border:1px solid var(--line);background:var(--glass);position:absolute;box-shadow:0 5px 15px #051e0a33}.hud-counter{top:max(18px, env(safe-area-inset-top));left:max(20px, env(safe-area-inset-left));border-radius:4px;align-items:center;gap:9px;padding:9px 15px;font-size:14px;display:flex}.counter-icon{color:#d8ff8d;font-size:19px}.hud-time{top:max(18px, env(safe-area-inset-top));right:max(20px, env(safe-area-inset-right));border-radius:4px;gap:7px;padding:9px 14px;font-size:14px;display:flex}.hud-center{top:max(14px, env(safe-area-inset-top));text-align:center;width:min(360px,42vw);position:absolute;left:50%;transform:translate(-50%)}.act-label{color:#ffedadbd;letter-spacing:.18em;min-height:15px;margin-bottom:1px;font-size:10px}.hearts{letter-spacing:3px;filter:drop-shadow(0 2px 1px #580c0c66);height:31px;font-size:22px}.heart{color:#ffffff38;transition:color .2s,transform .2s}.heart.is-full{color:#ff5b5f}.mission{color:#fff2bd;border-radius:4px;min-width:230px;padding:8px 19px;font-size:13px;display:inline-block;position:relative}.objective-pointer{top:clamp(92px, var(--pointer-top,116px), calc(100% - 132px));left:clamp(72px, var(--pointer-left,50%), calc(100% - 72px));opacity:0;background:#143614cc;border:1px solid #ffe87538;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;transition:opacity .2s,transform .2s,top .18s,left .18s;display:flex;position:absolute;transform:translate(-50%,-50%)scale(.94);box-shadow:0 5px 14px #00140442}.objective-pointer.is-visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.pointer-arrow{width:0;height:0;transform:rotate(var(--arrow-angle));filter:drop-shadow(0 2px 3px #00000059);border-bottom:14px solid #ffe06b;border-left:8px solid #0000;border-right:8px solid #0000}.pointer-label{color:#fff3bd;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:11px;font-weight:700;overflow:hidden}.objective-pointer em{color:#ffffffb8;font-size:10px;font-style:normal}.toast{top:max(106px, calc(env(safe-area-inset-top) + 92px));color:#fff4c9;opacity:0;background:#1f431be0;border:1px solid #ffec9247;border-radius:8px;max-width:min(88vw,420px);padding:8px 16px;font-size:13px;font-weight:700;transition:all .24s;position:absolute;left:50%;transform:translate(-50%,10px)scale(.96)}.toast.is-visible{opacity:1;transform:translate(-50%)scale(1)}.damage-flash{opacity:0;background:radial-gradient(circle,#0000 35%,#f4372d8c);position:absolute;inset:0}.damage-flash.is-active{animation:.42s ease-out damage}@keyframes damage{0%{opacity:.8}to{opacity:0}}.controls-hint{bottom:max(14px, env(safe-area-inset-bottom));color:#ffffe69e;white-space:nowrap;font-size:11px;position:absolute;left:50%;transform:translate(-50%)}.audio-toggle{top:max(18px, env(safe-area-inset-top));right:max(104px, calc(env(safe-area-inset-right) + 104px));border:1px solid var(--line);color:#fff7d0d1;background:var(--glass);pointer-events:auto;cursor:pointer;border-radius:4px;padding:9px 12px;font-size:11px;position:absolute;box-shadow:0 5px 15px #051e0a33}.audio-toggle:focus-visible{outline-offset:3px;outline:2px solid #ffe06b}.mobile-tutorial{display:none}#hud[data-phase=fires] .hud-counter,#hud[data-phase=escape] .hud-time,#hud[data-phase=fires] .mission,#hud[data-phase=escape] .mission{background:#151d2ad1;border-color:#ffa75547}#hud[data-phase=fires] .act-label,#hud[data-phase=escape] .act-label{color:#ffbe72}.overlay{z-index:10;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:radial-gradient(circle at 50% 45%,#27521f99,#081f0eeb);place-items:center;padding:24px;transition:opacity .45s,visibility .45s;display:grid;position:absolute;inset:0}.overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.intro-panel{text-align:center;text-shadow:0 2px 10px #00000073;width:min(560px,100%);animation:.65s cubic-bezier(.2,.8,.2,1) reveal}@keyframes reveal{0%{opacity:0;transform:translateY(18px)scale(.97)}}.intro-panel h1{color:var(--gold);letter-spacing:.27em;text-indent:.27em;margin:7px 0 0;font-size:clamp(52px,8vw,88px);line-height:1}.intro-panel.complete h1{letter-spacing:.12em;text-indent:.12em;font-size:clamp(42px,7vw,72px)}.subtitle{color:#ffffdca3;letter-spacing:.55em;text-indent:.55em;margin:0 0 12px;font-size:13px}.story{color:#fffc;max-width:480px;margin:26px auto 0;font-size:15px;line-height:1.9}.intro-panel button{color:#463100;cursor:pointer;background:linear-gradient(#ffda58,#efb52e);border:0;border-radius:999px;margin:24px auto 0;padding:13px 38px;font-weight:800;transition:transform .18s,filter .18s;display:block;box-shadow:0 6px #9d6811,0 11px 30px #ffbe2e2e}.intro-panel button:hover{filter:brightness(1.08);transform:translateY(-2px)}.intro-panel button:active{transform:translateY(4px);box-shadow:0 2px #9d6811}.intro-panel small{color:#ffffff6b;margin-top:24px;font-size:11px;display:block}#touch-controls{z-index:5;pointer-events:none;display:none;position:absolute;inset:0}.touch-camera{pointer-events:auto;touch-action:none;width:64%;height:100%;position:absolute;top:0;right:0}.touch-stick{left:max(24px, env(safe-area-inset-left));bottom:max(28px, env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;background:#14371947;border:2px solid #ffffde59;border-radius:50%;width:118px;height:118px;position:absolute;box-shadow:inset 0 0 26px #0000002e}.touch-stick span{background:#ffee9959;border:1px solid #ffffdc8c;border-radius:50%;width:52px;height:52px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 16px #00000040}@media (pointer:coarse),(width<=700px){#touch-controls{display:block}.controls-hint{display:none}.hud-center{top:max(8px, env(safe-area-inset-top));width:70vw}.hearts{height:27px;font-size:18px}.act-label{display:none}.mission{min-width:0;padding:6px 12px;font-size:11px}.hud-counter{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));padding:7px 10px;font-size:11px}.hud-time{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));padding:7px 10px;font-size:11px}.audio-toggle{top:max(54px, calc(env(safe-area-inset-top) + 54px));right:max(12px, env(safe-area-inset-right));padding:6px 9px;font-size:10px}.mobile-tutorial{right:max(16px, env(safe-area-inset-right));bottom:max(34px, env(safe-area-inset-bottom));color:#fff4c9;opacity:0;background:#113014d6;border:1px solid #ffeda547;border-radius:12px;gap:7px;width:154px;padding:11px 13px;font-size:11px;transition:opacity .22s,transform .22s;display:grid;position:absolute;transform:translateY(10px);box-shadow:0 8px 22px #0014044d}.mobile-tutorial span:before{content:"· ";color:#ffe06b}.mobile-tutorial.is-visible{opacity:1;transform:translateY(0)}.intro-panel small{display:none}.story{font-size:14px}}@media (width<=500px){.hud-center{width:56vw}.mission{font-size:10px}.counter-icon{display:none}.touch-stick{width:104px;height:104px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
