:root{font-family:Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;color:#eee9d8;background:#152019;font-synthesis:none;--muted: #a0aa96;--accent: #ebce83;--line: #ffffff12;--panel: #1e2a21}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible{outline:2px solid #f2d38b;outline-offset:5px}button{transition:background .2s,border-color .2s,transform .2s}button:hover:not(:disabled){transform:translateY(-2px)}a{color:inherit;text-decoration:none}button svg{flex:none}button:not(.character-card):active{transform:translateY(0)}.lobby{max-width:1440px;margin:auto;padding:0 64px;background:radial-gradient(ellipse at 72% 22%,#2b3e2560,transparent 46%)}.site-header{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:21px;letter-spacing:2px}.brand-mark{width:48px;height:49px;overflow:hidden}.brand-mark svg{width:48px;height:56px;transform:translateY(1px)}.brand small{display:block;font-family:monospace;font-weight:400;font-size:9px;letter-spacing:2px;margin-top:4px;color:#babda0}.site-header nav{display:flex;align-items:center;gap:30px}.edition{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.edition i{width:6px;height:6px;background:#a5b988;border-radius:50%;box-shadow:0 0 10px #b3d68e40}.text-button,.icon-button{border:0;color:#d4d9c4;background:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;padding:10px}.icon-button{width:38px;height:38px;border:1px solid #ffffff17;border-radius:50%}.icon-button:hover{background:#ffffff10}.icon-button.is-muted{opacity:.4;position:relative}.icon-button.is-muted:after{content:"";height:1px;width:25px;background:#e4d9a9;position:absolute;transform:rotate(-45deg)}.hero{display:grid;grid-template-columns:.92fr 1.08fr;position:relative;min-height:505px;align-items:center}.hero-copy{padding:37px 0 45px;z-index:1}.eyebrow{display:block;font-family:monospace;font-size:10px;letter-spacing:2px;color:#a6b397;font-weight:400}.hero-copy>.eyebrow{display:flex;align-items:center;gap:12px}.tiny-line{width:24px;height:1px;background:#d3bb7d}h1{font-size:clamp(40px,4.4vw,62px);font-weight:800;letter-spacing:-2px;line-height:1.32;margin:24px 0 18px}h1 span{color:var(--accent)}.hero-copy>p{font-size:14px;color:#aab39d;line-height:1.95;letter-spacing:.8px;margin:0}.hero-tags{display:flex;gap:19px;margin:24px 0 31px;color:#bfc8b0;font-size:11px}.hero-tags>span{display:flex;gap:6px;align-items:center}.hero-tags svg{width:15px;height:15px;color:#99ac80}.start-actions{display:flex;gap:12px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:38px;min-height:50px;padding:0 28px;border-radius:4px;letter-spacing:1px;font-size:14px;font-weight:650;border:1px solid transparent}.primary{background:#ebce83;color:#263126;box-shadow:0 5px 22px #e9c57708}.primary:hover{background:#f4d995}.secondary{background:transparent;border-color:#91a27b42;color:#c7d0b7;font-size:12px;min-width:123px}.secondary:hover:not(:disabled){background:#abb98a12}.start-note{font-size:10px;color:#7f8f78;margin-top:18px;display:flex;gap:8px;align-items:center}.key,kbd{font-family:monospace;border:1px solid #8b9e7a40;background:#91a37e0d;color:#b9c6a8;border-radius:3px;font-size:10px;padding:3px 5px;white-space:nowrap}.key.tiny{font-size:8px;letter-spacing:1px;padding:3px 6px}.dot{color:#627357}.hero-art{position:relative;align-self:stretch;margin:0 -35px 0 -40px;display:flex;align-items:center}.map-illustration{width:100%;position:relative;transform:translateY(3px)}.map-illustration>svg{width:100%;filter:drop-shadow(0 10px 22px #00000020)}.map-coordinates{position:absolute;right:38px;top:35px;font-family:monospace;font-size:9px;letter-spacing:1.4px;color:#76886d}.map-label{position:absolute;bottom:34px;left:90px;right:44px;display:flex;align-items:center;gap:12px;padding-top:15px;border-top:1px solid #b3c29420}.map-label b{font-size:12px;font-weight:500;letter-spacing:1px}.map-label small{display:block;font-size:10px;color:#819576;margin-top:6px}.map-dot{width:7px;height:7px;box-shadow:0 0 0 5px #b8c58110;border-radius:50%;background:#c9d998}.map-live{margin-left:auto;font:8px monospace;letter-spacing:1.4px;color:#839a72}.compass{position:absolute;top:65px;right:42px;font:9px monospace;text-align:center;color:#8ba37b}.compass span{display:block;font-size:42px;line-height:1.2;color:#98ac7a}.character-section{padding-top:24px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:23px}.section-heading .eyebrow{font-size:9px;letter-spacing:2px}h2{font-size:22px;font-weight:650;margin:9px 0 0;letter-spacing:.6px}.section-note{font-size:11px;color:#7e9176;padding-bottom:3px;letter-spacing:.5px}.character-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.character-card{position:relative;min-width:0;display:flex;align-items:center;flex-direction:column;background:linear-gradient(160deg,#28342a,#1c2820);border:1px solid #b2c19916;border-radius:7px;padding:19px 12px 17px;color:#dbe1cc;overflow:hidden}.character-card:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,var(--skin-color),transparent 64%);opacity:.07}.character-card.selected{background:linear-gradient(160deg,#394331,#273323);border-color:#d8c581;box-shadow:inset 0 0 0 1px #d8c58112}.character-card:hover{background:#2e3d2c;border-color:#b9c49c70}.card-number{position:absolute;top:15px;left:16px;font:10px monospace;color:#71836b}.selected-check{position:absolute;right:12px;top:13px;display:none;font-size:11px;width:19px;height:19px;border-radius:50%;background:#dfcb87;color:#35452d;align-items:center;justify-content:center}.selected .selected-check{display:flex}.character-portrait{height:116px;position:relative;z-index:1;display:flex;justify-content:center;align-items:center;margin:0 0 9px}.character-portrait svg{height:116px;width:110px;transition:transform .25s}.character-card:hover .character-portrait svg{transform:translateY(-4px) rotate(-2deg)}.character-name{font-weight:600;font-size:14px;letter-spacing:1px;z-index:1}.character-desc{font-size:10px;color:#8b9d80;margin-top:7px;z-index:1}.character-tag{font:8px monospace;letter-spacing:2px;color:#667c62;margin-top:15px;z-index:1}.selected .character-tag{color:#c7b77d}.campaign{display:grid;grid-template-columns:1fr 1.28fr 1.28fr 1.28fr;gap:0;padding:37px 0 36px;margin-top:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.campaign-intro h2{font-size:20px;line-height:1.6;margin-top:6px}.campaign-intro .eyebrow{font-size:8px}.campaign-intro p{font-size:10px;color:#829177;margin:10px 0 0}.chapter{position:relative;display:flex;align-items:center;gap:15px;padding:12px 22px;border-left:1px solid var(--line)}.chapter-number{position:absolute;right:25px;top:12px;font:11px monospace;color:#677b60}.chapter-symbol{width:50px;height:62px;background:linear-gradient(145deg,#5c69563b,#9295660d);border:1px solid #93a17a1d;border-radius:25px 25px 5px 5px;display:flex;align-items:center;justify-content:center;color:#c4c393}.chapter-symbol svg{width:24px;height:24px}.chapter-1 .chapter-symbol{color:#cbad7e;background:#8d75531a}.chapter-2 .chapter-symbol{color:#91b3b1;background:#5c83841a}.chapter small{font:7px monospace;letter-spacing:1.3px;color:#839476}.chapter h3{font-weight:500;font-size:16px;margin:10px 0 8px;letter-spacing:1px}.chapter p{font-size:9px;color:#7f9176;line-height:1.7;white-space:nowrap;margin:0}.chapter-arrow{position:absolute;right:25px;bottom:11px;color:#74896b;font-size:17px}footer{display:flex;justify-content:space-between;padding:25px 0 30px;font:9px monospace;color:#74876a;letter-spacing:.5px}footer b{font-weight:400;color:#bbca99;margin-left:7px}.footer-divider{margin:0 13px;color:#4c6246}.battle-shell{position:fixed;inset:0;background:#203c27;overflow:hidden}.battle-shell:fullscreen{width:100vw;height:100vh}#game-stage{width:100%;height:100%;cursor:none}#game-stage canvas{display:block}.hud-top,.hud-bottom{position:absolute;left:0;right:0;display:flex;justify-content:space-between;pointer-events:none;padding:26px 30px}.hud-top{top:0;background:linear-gradient(#0a1b19a0,transparent);align-items:start}.hud-bottom{bottom:0;background:linear-gradient(transparent,#0a1b19b0);align-items:end;padding-top:45px}.mission-panel{background:#162a20da;border:1px solid #c3d5a525;border-radius:5px;padding:15px 20px;min-width:260px;box-shadow:0 8px 20px #0c1e1720}.mission-panel h2{font-size:22px;margin:8px 0}.mission-panel .eyebrow{font-size:8px;letter-spacing:1.4px}.mission-panel p{font-size:11px;color:#b0c0a0;margin:0}.hud-tools{display:flex;align-items:center;gap:10px;pointer-events:auto;background:#142c22d9;border:1px solid #c3d5a520;border-radius:6px;padding:7px 10px}.hud-tools .icon-button{border-radius:4px}.hud-tools>span{font:15px monospace;color:#d9dfbf;letter-spacing:1px;padding:0 8px}.boss-panel{width:300px;text-align:center;background:#1d2821e0;padding:14px 18px;border:1px solid #df9c6f50;border-radius:4px}.boss-panel span{font-size:13px;letter-spacing:2px;color:#f1c29d}.boss-panel .bar{height:7px;margin-top:12px}.boss-panel .bar i{background:#da9676}.bar{height:9px;background:#0c2018;border-radius:2px;overflow:hidden}.bar i{display:block;background:#c3d58d;height:100%;width:100%;transition:width .12s}.bar i.low{background:#ec9b75}.vitals-panel,.weapon-panel{background:#14291feb;border:1px solid #c3d5a522;border-radius:5px;padding:16px 19px;min-width:310px}.health-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:12px}.health-label>span{display:flex;align-items:center;gap:8px;color:#bacba8}.health-label svg{width:14px;height:14px}.health-label b{font:14px monospace;letter-spacing:1px;color:#e9e9c6}.item-row{display:flex;gap:17px;font-size:10px;color:#a9b99d;margin-top:15px;align-items:center}.item-row b{color:#dfdfa9;font:12px monospace;margin-left:3px}.item-row kbd{font-size:9px;margin-right:3px;background:#c5d7aa12}.item-row>span{white-space:nowrap}.weapon-panel{min-width:285px}.weapon-slots{display:flex;gap:9px;margin-bottom:12px}.weapon-slot{font:10px monospace;color:#71896e;border-bottom:2px solid transparent;padding-bottom:5px}.weapon-slot.active{color:#f1d997;border-color:#dfc881}.weapon-slot kbd{font-size:8px;margin-right:2px;padding:2px 4px}.ammo-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.ammo-row>span{font-size:12px;letter-spacing:1px;color:#d9dfc7}.ammo-row strong{font:29px monospace;color:#eee4b6}.ammo-row div>span{font:13px monospace;color:#9eae92}.reload-line{position:relative;margin-top:10px;padding-top:8px;border-top:1px solid #b4c79c27;font-size:9px;letter-spacing:1px;color:#839d79}.reload-line i{position:absolute;height:2px;top:-1px;left:0;background:#efd385}.hud-help{display:flex;gap:15px;color:#d6dfbf;font-size:10px;align-items:center;margin-bottom:22px;text-shadow:0 2px 3px #16241a}.hud-help kbd{background:#15291f90;font-size:9px;color:#cedbbb}.toast{position:absolute;left:50%;top:145px;transform:translate(-50%,-10px);background:#15281ee8;border:1px solid #a7b98640;border-radius:4px;padding:12px 22px;color:#e0e4c5;letter-spacing:.5px;font-size:12px;text-align:center;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:80%;z-index:10}.toast.visible{opacity:1;transform:translate(-50%)}.interaction{position:absolute;bottom:165px;left:50%;transform:translate(-50%);border:1px solid #ddda9755;background:#23392aec;border-radius:4px;font-size:13px;letter-spacing:1px;padding:11px 18px;display:none;pointer-events:none;color:#f0e5b8}.interaction.visible{display:block}.radar-panel{position:absolute;right:31px;top:96px;width:146px;border:1px solid #bdd4a332;border-radius:4px;background:#183021d9;padding:8px;pointer-events:none}.radar-panel>span{font:7px monospace;letter-spacing:2px;color:#afc194;display:block;margin-bottom:5px}.radar-panel svg{width:100%;display:block}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#0d1913c9;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);overflow:auto}.modal{position:relative;background:linear-gradient(145deg,#2a382b,#1c2a20);border:1px solid #b7c59240;border-radius:10px;width:580px;max-width:100%;padding:40px;box-shadow:0 20px 80px #0005}.modal h2{font-size:30px;letter-spacing:.5px;margin:13px 0 16px}.modal>p{font-size:13px;line-height:1.9;color:#a9b89d}.modal .close{position:absolute;right:20px;top:20px}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px;padding:24px 0;margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.control-grid>div{display:flex;flex-direction:column;align-items:start;gap:8px}.control-grid kbd{font-size:10px;padding:6px 8px;color:#dbdcb4}.control-grid span{font-size:11px;color:#91a586}.manual-note{font-size:11px;color:#a7b697;line-height:1.9;background:#a8bd810a;border-left:2px solid #a8bd8140;padding:12px 15px;margin-bottom:24px}.pause-modal{text-align:center;width:450px}.pause-modal .primary,.pause-modal .secondary,.result-modal .primary,.result-modal .secondary{display:flex;width:100%;margin-top:12px}.pause-controls{display:flex;justify-content:center;gap:7px;align-items:center;color:#a0b28e;font-size:11px;padding:20px 0}.checkpoint-note{display:block;font-size:10px;line-height:1.8;color:#7f9475;margin-top:20px}.upgrade-modal{width:790px;text-align:center}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:28px}.upgrade-grid button{border:1px solid #b8caa140;background:#91a87d0b;color:#ece8c7;border-radius:6px;padding:28px 15px}.upgrade-grid button:hover{border-color:#ebce83;background:#ebce8310}.upgrade-grid button>span{display:block;color:#dece8e;margin-bottom:20px}.upgrade-grid svg{width:32px;height:32px}.upgrade-grid h3{font-size:17px;letter-spacing:1px;font-weight:500}.upgrade-grid p{font-size:10px;color:#93a887;line-height:1.8}.upgrade-grid small{display:block;color:#c3bf90;font-size:10px;margin-top:23px}.result-modal{text-align:center;width:530px}.result-chick{height:120px;margin-bottom:16px}.result-chick svg{height:120px;width:120px}.result-modal h2{font-size:29px}.result-modal .eyebrow{font-size:8px}.result-stats{display:flex;justify-content:space-around;margin:25px 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-stats b{display:block;font:25px monospace;color:#e9d494}.result-stats small{display:block;color:#839c78;font-size:10px;margin-top:10px}[hidden]{display:none!important}@media(min-width:1500px){.lobby{padding:0 75px}.hero{min-height:550px}.character-portrait{height:140px}.character-portrait svg{height:135px;width:127px}}@media(max-width:1100px){.lobby{padding:0 35px}.hero{min-height:465px}.hero-art{margin-left:-20px}.hero-tags{gap:12px}.chapter{padding:15px}.chapter-symbol{width:40px;flex:none}.chapter p{white-space:normal}.chapter-number{right:14px;top:5px}.chapter-arrow{right:13px;bottom:4px}.hud-help{display:none}.boss-panel{width:230px}}@media(max-width:800px){.lobby{padding:0 22px}.site-header{height:80px}.site-header nav{gap:8px}.edition{display:none}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:36px 0 20px}.hero-copy h1{font-size:49px}.hero-art{height:320px;margin:-10px 0 0;order:2}.map-illustration{max-width:480px;margin:auto}.map-coordinates{top:10px;right:20px}.map-label{bottom:7px;left:20px;right:20px}.compass{right:20px;top:25px}.section-heading{align-items:start;gap:10px}.section-note{display:none}.character-grid{grid-template-columns:repeat(3,1fr);gap:10px}.character-card{padding:14px 7px}.character-portrait{height:100px}.character-portrait svg{height:96px;width:90px}.character-desc{font-size:9px}.campaign{grid-template-columns:1fr 1fr;gap:20px;padding:28px 0}.chapter{border-left:0;border:1px solid var(--line);border-radius:6px}.chapter-number{top:10px}.chapter-arrow{bottom:10px}.campaign-intro{padding:10px}.campaign-intro h2 br{display:none}footer{flex-direction:column;gap:13px;font-size:8px}.hud-top,.hud-bottom{padding:12px}.mission-panel{min-width:0;padding:12px}.mission-panel h2{font-size:18px}.mission-panel .eyebrow{font-size:7px;letter-spacing:.3px}.mission-panel p{font-size:9px}.hud-tools{padding:4px;gap:2px}.hud-tools .icon-button{height:30px;width:30px}.hud-tools>span{font-size:12px}.radar-panel{right:12px;top:75px;width:103px}.boss-panel{position:absolute;top:110px;left:12px;width:200px;padding:9px}.boss-panel span{font-size:11px}.vitals-panel,.weapon-panel{min-width:0;padding:10px;width:46%}.health-label{font-size:10px}.health-label b{font-size:12px}.item-row{gap:6px;flex-wrap:wrap;font-size:8px;margin-top:9px}.item-row kbd{font-size:7px}.ammo-row{gap:6px}.ammo-row>span{font-size:9px}.ammo-row strong{font-size:23px}.weapon-slot{font-size:8px}.weapon-slots{gap:5px}.toast{top:180px;font-size:10px;width:80%}.interaction{bottom:125px;font-size:11px;white-space:nowrap}.modal{padding:28px}.modal h2{font-size:25px}.upgrade-grid{gap:8px}.upgrade-grid button{padding:18px 8px}.upgrade-grid h3{font-size:14px}.upgrade-grid p{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}.campus-gallery{max-width:1400px;margin:0 auto;padding:45px 30px;background:#1c2a21}.campus-gallery h1{font-size:36px;margin:15px 0}.campus-gallery>p{font-size:13px;color:#aab89e;line-height:1.8}.campus-overview{max-width:800px;margin:25px auto 35px;padding:15px;border:1px solid #b7c59235;border-radius:9px;background:#293a2c}.campus-overview>svg{width:100%;display:block}.campus-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.campus-gallery-grid article{overflow:hidden;border-radius:7px;border:1px solid #b7c59235;background:#26362a}.campus-gallery-grid header{display:flex;align-items:center;gap:13px;padding:16px}.campus-gallery-grid header>span{font:24px monospace;color:#dac993}.campus-gallery-grid h2{font-size:16px;margin:0 0 6px}.campus-gallery-grid p{font-size:10px;color:#9eb58c;margin:0;line-height:1.6}.campus-gallery-grid article>svg{display:block;width:100%;height:auto}@media(max-width:700px){.campus-gallery-grid{grid-template-columns:1fr}.campus-gallery{padding:25px 15px}.campus-gallery h1{font-size:28px}}.map-open{border:1px solid #a5b89030;background:#91a37a0b;color:#c9d7a5;font-size:10px;letter-spacing:1px;padding:7px 10px;border-radius:3px}.map-open:hover{border-color:#ebce8370}.campus-map-modal{width:1040px;max-height:92vh;overflow:auto;margin:auto}.campus-map-layout{display:grid;grid-template-columns:190px 1fr;gap:22px;margin-top:25px;align-items:start}.campus-map-sectors{display:flex;flex-direction:column;gap:5px}.campus-map-sectors button{display:flex;align-items:center;gap:9px;border:1px solid #b0c29315;border-radius:4px;background:#aecb9010;color:#a3b591;padding:10px;font-size:11px;text-align:left}.campus-map-sectors button span{margin-left:auto;color:#cfc28a}.campus-map-sectors button b{font:10px monospace;color:#738c6d}.campus-map-sectors button.active{border-color:#dfca8860;background:#dbcc8620;color:#eee3b4}.campus-map-view{padding:10px;background:#334a37;border:1px solid #b7c59230;border-radius:5px}.campus-map-view>svg{width:100%;height:auto;display:block}.campus-map-caption{font-size:11px!important;color:#a7bb90!important;margin-bottom:0}@media(max-width:700px){.campus-map-layout{grid-template-columns:1fr}.campus-map-sectors{display:grid;grid-template-columns:repeat(2,1fr)}.campus-map-sectors button{padding:8px}.campus-map-modal{padding:25px}}.touch-controls{display:none}.touch-mode{touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;height:100%}.touch-mode #game-stage{cursor:default}.touch-mode .touch-controls{display:block;position:absolute;inset:0;pointer-events:none;z-index:12}.touch-controls.blocked{visibility:hidden}.joystick{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));width:132px;height:132px;border:2px solid #fff6d88a;border-radius:50%;background:#152b3559;box-shadow:inset 0 0 0 14px #fff3;pointer-events:auto;touch-action:none}.move-stick{left:max(24px,env(safe-area-inset-left))}.aim-stick{right:max(24px,env(safe-area-inset-right));border-color:#ffcf79b0}.stick-knob{position:absolute;top:50%;left:50%;width:56px;height:56px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;background:#dae8d7c9;border:2px solid #fff8;color:#1b302e;font-size:32px;box-shadow:0 3px 12px #0004}.aim-stick .stick-knob{background:#f6cb7edd}.joystick small{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:10px;color:#fff;text-shadow:0 1px 3px #000}.joystick.held{background:#152b358a}.touch-actions{position:absolute;right:max(172px,calc(env(safe-area-inset-right) + 154px));bottom:max(22px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,52px);gap:9px;pointer-events:auto}.touch-actions button{border-radius:50%;width:52px;height:52px;padding:3px;font-size:11px;font-weight:700;color:#fff4db;background:#18332dde;border:1.5px solid #d7e6c393;touch-action:none}.touch-actions button:disabled{opacity:.45}.touch-actions button:active{background:#66816a;transform:scale(.94)}.touch-actions [data-touch-action=roll]{background:#b68138ed}.touch-actions [data-touch-action=interact]:not(:disabled){background:#426c43;box-shadow:0 0 12px #dbff7c66}.touch-tip{display:none}.touch-mode .hud-top{padding:8px max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.touch-mode .mission-panel{padding:6px 10px;min-width:0}.touch-mode .mission-panel h2{font-size:15px;margin:0 0 3px}.touch-mode .mission-panel .eyebrow,.touch-mode .item-row,.touch-mode .hud-help{display:none}.touch-mode .mission-panel p{font-size:9px}.touch-mode .hud-tools{padding:0 4px}.touch-mode .hud-tools .icon-button{width:44px;height:44px}.touch-mode .hud-tools>span{font-size:12px}.touch-mode .radar-panel{width:88px;top:62px;right:max(12px,env(safe-area-inset-right));padding:4px;opacity:.8}.touch-mode .radar-panel>span{display:none}.touch-mode .hud-bottom{top:62px;bottom:auto;padding:0;background:none;left:max(12px,env(safe-area-inset-left));right:auto;width:160px;display:block}.touch-mode .vitals-panel,.touch-mode .weapon-panel{width:160px;min-width:0;padding:6px 9px;margin:0 0 5px;background:#15291dc9}.touch-mode .health-label{font-size:9px;margin-bottom:5px}.touch-mode .health-label b{font-size:11px}.touch-mode .ammo-row{gap:5px;margin-top:3px}.touch-mode .ammo-row strong{font-size:20px}.touch-mode .ammo-row>span,.touch-mode .reload-line{font-size:9px}.touch-mode .weapon-slot{font-size:8px}.touch-mode .weapon-slot kbd{display:none}.touch-mode .weapon-slots{gap:4px;flex-wrap:wrap}.touch-mode .boss-panel{position:absolute;top:8px;left:50%;transform:translate(-50%);width:26%;padding:6px}.touch-mode .boss-panel span{font-size:10px}.touch-mode .toast{top:70px;max-width:45%;font-size:11px;padding:8px}.touch-mode .interaction{bottom:12px;font-size:10px;max-width:32%;white-space:normal;text-align:center}.touch-device .modal-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow-y:auto}.touch-device .modal{max-height:calc(100dvh - 24px);overflow-y:auto;padding:20px}.touch-device .pause-controls{display:none}@media(orientation:portrait){.touch-mode .touch-tip{display:block;position:absolute;top:48%;width:100%;text-align:center;color:#fff5d7;font-size:11px;text-shadow:0 1px 4px #000}.touch-mode .joystick{width:112px;height:112px;bottom:max(24px,env(safe-area-inset-bottom))}.touch-mode .move-stick{left:18px}.touch-mode .aim-stick{right:18px}.touch-mode .touch-actions{right:18px;bottom:max(154px,calc(env(safe-area-inset-bottom) + 138px));grid-template-columns:repeat(3,48px);gap:8px}.touch-mode .touch-actions button{width:48px;height:48px}.touch-mode .boss-panel{top:210px;width:65%}.touch-mode .toast{top:250px;max-width:80%}.touch-mode .interaction{bottom:145px;max-width:80%}}@media(pointer:coarse)and (max-height:500px){.modal h2{font-size:23px;margin:8px 0}.result-chick{display:none}.modal p{margin:8px 0}.modal .primary,.modal .secondary{min-height:44px;padding:10px}}.touch-mode .weapon-slots{margin-bottom:0}.touch-mode .weapon-slot{padding-bottom:1px}.touch-mode .reload-line{margin-top:3px;padding-top:3px}.touch-mode .weapon-panel{position:fixed;top:max(8px,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:160px;padding:5px 8px;margin:0}.touch-mode .weapon-slots,.touch-mode .reload-line span{display:none}.touch-mode .ammo-row{margin:0;gap:8px}.touch-mode .ammo-row strong{font-size:19px}.touch-mode .ammo-row>span{font-size:10px;letter-spacing:0}.touch-mode .reload-line{height:2px;padding:0;margin-top:3px;border:0}.touch-mode .reload-line i{top:0}.touch-mode .boss-panel{top:49px;width:28%}.touch-mode .toast{top:98px;font-size:10px}.touch-mode .aim-stick,.touch-mode .touch-actions{right:max(80px,calc(env(safe-area-inset-right) + 64px));bottom:max(24px,env(safe-area-inset-bottom));width:132px;height:132px}.touch-mode .touch-actions{display:block;pointer-events:none}.touch-mode .touch-actions button{position:absolute;width:48px;height:48px;left:calc(50% + var(--arc-x));top:calc(50% + var(--arc-y));transform:translate(-50%,-50%);pointer-events:auto}.touch-mode .touch-actions button:active{transform:translate(-50%,-50%) scale(.94)}.touch-actions [data-touch-action=interact]{--arc-x: -112px;--arc-y: 14px}.touch-actions [data-touch-action=roll]{--arc-x: -100px;--arc-y: -52px}.touch-actions [data-touch-action=reload]{--arc-x: -48px;--arc-y: -102px}.touch-actions [data-touch-action=grenade]{--arc-x: 14px;--arc-y: -112px}.touch-actions [data-touch-action=heal]{--arc-x: 73px;--arc-y: -85px}.touch-actions [data-touch-action=weapon]{--arc-x: 110px;--arc-y: -25px}@media(orientation:portrait){.touch-mode .weapon-panel{top:57px;left:auto;right:max(12px,env(safe-area-inset-right));transform:none;width:148px}.touch-mode .radar-panel{top:98px}.touch-mode .boss-panel{top:146px;width:55%}.touch-mode .toast{top:193px}.touch-mode .touch-tip{top:auto;bottom:270px;font-size:10px}.touch-mode .aim-stick,.touch-mode .touch-actions{width:112px;height:112px}.touch-mode .touch-actions button{width:44px;height:44px}.touch-mode .move-stick{left:12px;width:100px;height:100px}}@media(orientation:portrait)and (max-width:360px){.touch-mode .aim-stick,.touch-mode .touch-actions{bottom:125px}}.browser-hint-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:radial-gradient(circle at 75% 8%,#759b6699,transparent 38%),#0a1813e8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.browser-hint{position:relative;width:min(440px,100%);max-height:100%;overflow-y:auto;padding:clamp(24px,5vw,38px);border:1px solid #d9e7bd55;border-radius:24px;background:linear-gradient(145deg,#294739,#152921 68%,#10251d);box-shadow:0 24px 80px #020d09aa,inset 0 1px #ffffff24;color:#f9f4d9}.browser-hint-art{position:relative;display:flex;align-items:center;justify-content:center;height:86px;margin-bottom:16px}.browser-hint-window{width:115px;height:67px;border:2px solid #dceac5;border-radius:15px;background:#d6e7ae14;padding:10px;transform:rotate(-7deg);box-shadow:9px 11px #0b201b}.browser-hint-window i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#eec97f}.browser-hint-window b{position:absolute;right:20px;bottom:5px;font-size:34px;color:#f5c974;font-weight:400}.browser-hint-spark{position:absolute;top:3px;right:30%;color:#f5c974;font-size:28px}.browser-hint .eyebrow{color:#e7c880;font-size:10px;letter-spacing:2px}.browser-hint h2{margin:10px 0 13px;font-size:clamp(23px,5vw,30px);line-height:1.3}.browser-hint p{margin:0;color:#d1dcc3;line-height:1.8;font-size:14px}.browser-hint-steps{display:grid;grid-template-columns:26px 1fr 18px 26px 1fr;align-items:center;gap:7px;margin:24px 0;padding:14px;background:#a8c99a14;border:1px solid #dceac524;border-radius:12px;font-size:11px}.browser-hint-steps span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#172a22;background:#e8ca81;font:700 11px monospace}.browser-hint-steps b{font-size:11px;font-weight:600;color:#f8ecca}.browser-hint-steps .browser-hint-chevron{background:none;color:#e8ca81;font-size:16px}.browser-hint .primary{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center}@media(max-height:560px){.browser-hint-art{height:44px;margin-bottom:6px;transform:scale(.7)}.browser-hint{padding:18px 26px}.browser-hint-steps{margin:12px 0}}.mode-picker{display:flex;gap:10px;margin:24px 0 10px;max-width:550px}.mode-option{flex:1;text-align:left;border:1px solid rgba(204,218,181,.25);border-radius:13px;background:#22392c8f;color:#e9e9d4;padding:13px 15px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.mode-option:hover{transform:translateY(-2px);border-color:#d6c77c}.mode-option.active{background:#c4b16c33;border-color:#dfc978;box-shadow:inset 0 0 0 1px #dfc97840}.mode-option b,.mode-option small{display:block}.mode-option b{font-size:16px;margin-bottom:3px}.mode-option small{font-size:11px;opacity:.76}.survival-record{display:flex;align-items:center;flex-wrap:wrap;gap:8px 15px;color:#e9e9d4;font-size:12px;margin-bottom:18px;max-width:550px}.survival-record span{letter-spacing:.15em;color:#dfc978}.survival-record strong{font-size:13px}.survival-record small{opacity:.68}@media(max-width:600px){.mode-picker{margin-top:18px}.mode-option{padding:10px}.mode-option b{font-size:14px}.survival-record{gap:5px 10px}}
