:root{color-scheme:dark;--bg:#10161a;--panel:#192126;--line:#303a40;--muted:#849296;--text:#e5eae7;--orange:#f99559;--green:#b4d8ae;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 10%,#1d272c 0%,#10161a 68%);color:var(--text);min-height:100vh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.app{max-width:1360px;margin:auto;padding:28px 48px 22px}.topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:27px;border-bottom:1px solid #2b353b}.brand{display:flex;gap:12px;align-items:center;font-size:19px;font-weight:850;letter-spacing:1px;line-height:1.1}.brand-run{color:var(--orange);margin-left:3px}.brand small{display:block;font-size:10px;font-weight:450;letter-spacing:5px;margin-top:7px;color:#89999f}.brand-icon{position:relative;display:grid;place-items:center;width:40px;height:42px;background:var(--orange);color:#1a2227;font-size:33px;font-style:italic;font-weight:950;clip-path:polygon(0 0,100% 0,100% 72%,73% 100%,0 100%)}.brand-icon span{position:absolute;width:8px;height:8px;background:var(--bg);right:6px;bottom:5px}.top-label{color:#9aa8ad;font-size:11px;letter-spacing:2px;display:flex;align-items:center;gap:12px}.top-label i,.status-dot{width:5px;height:5px;background:var(--green);border-radius:50%;display:inline-block}.top-label span{color:#52636c;margin:0 8px}.header-buttons{display:flex;gap:8px}.icon-button{border:1px solid #344048;background:#1b252a;width:36px;height:36px;font-size:22px;border-radius:5px;transition:background .2s}.icon-button:hover{background:#35434b}.icon-button.muted{opacity:.5}.mission-bar{display:flex;justify-content:space-between;align-items:center;margin:26px 0 20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.5px;color:var(--orange)}h1{font-size:21px;font-weight:650;margin:7px 0 0;letter-spacing:.8px}h1 span{font-size:10px;letter-spacing:2px;color:#7e8f96;font-weight:500;margin-left:14px}.mission-meta{display:flex;gap:24px;font-size:11px;color:#87969d}.mission-meta span{display:flex;gap:8px;align-items:center}.mission-meta b{font-weight:500;color:#bdc6c6;background:#252f34;padding:4px 9px;border-radius:3px}.game-shell{position:relative;overflow:hidden;background:#1c292e;border:1px solid #3b4a4e;border-radius:7px;box-shadow:0 20px 55px #0005}canvas{display:block;width:100%;aspect-ratio:2/1;outline:none;touch-action:none;cursor:crosshair}.hud{position:absolute;top:26px;left:28px;right:28px;z-index:2;display:flex;justify-content:space-between;align-items:center;pointer-events:none;text-shadow:0 2px 8px #000a}.health-group{display:flex;align-items:center;gap:10px}.hud-label{font-size:9px;letter-spacing:1.5px;color:#b1bfc0}.health-pips{display:flex;gap:4px}.health-pips i{width:19px;height:8px;background:var(--green);border-radius:1px;box-shadow:0 0 8px #b4d8ae22}.health-pips i.empty{background:#75848b33}.health-group>span:last-child{font-size:13px;font-family:monospace;color:#d7e8d2}.objective{display:flex;align-items:center;gap:12px;margin-left:-30px}.objective b{font:700 19px ui-monospace,monospace}.objective b span{font-size:12px;color:#8c9b9c;font-weight:400}.ammo-group{display:flex;align-items:baseline;gap:12px}.ammo-group b{font:650 23px ui-monospace,monospace;color:#f4e9d6}.ammo-group b span{font-size:12px;color:#b8b9ab;font-weight:400}.reload-hint{font-size:9px;border:1px solid #7c858377;padding:3px 5px;color:#cad0c5}.world-label{position:absolute;top:77px;left:28px;color:#b1c2be;font-size:9px;letter-spacing:1px;display:flex;align-items:center;gap:8px;pointer-events:none;opacity:.7}.world-label span{font:10px monospace}.world-label i{height:1px;width:13px;background:#84978e}.overlay{position:absolute;inset:0 0 32px;background:linear-gradient(90deg,#111d24e8 0%,#111d24d0 35%,#111d2466 67%,#111d241a 100%);display:flex;align-items:center;z-index:4}.intro-copy{padding:25px 0 25px 7%;max-width:630px}.intro-kicker{font-size:10px;color:#c5cec7;letter-spacing:2px;display:flex;align-items:center;gap:9px}.intro-kicker span{width:20px;height:2px;background:var(--orange)}h2{font-size:clamp(33px,4.5vw,65px);font-weight:850;line-height:1.12;letter-spacing:1px;margin:23px 0 20px}h2 span{display:block;color:var(--orange)}.intro-copy p{font-size:12px;line-height:2;color:#aebcbc;margin:0 0 27px}.primary-button{display:inline-flex;justify-content:space-between;align-items:center;gap:50px;min-width:191px;background:var(--orange);border:0;border-radius:3px;padding:14px 20px;color:#21292b;font-weight:750;font-size:13px;box-shadow:0 4px 24px #f9955918}.primary-button span{font-size:22px;line-height:1}.primary-button:hover{background:#ffb07c;transform:translateY(-1px)}.secondary-button{border:1px solid #6d807b;background:#223138cc;padding:13px 19px;margin-left:10px;border-radius:3px;font-size:12px}.intro-note{font-size:9px;color:#7f9398;letter-spacing:.5px;margin-top:18px}.intro-note span{margin:0 9px;color:#77948b}.intro-stamp{position:absolute;right:30px;bottom:32px;display:flex;align-items:center;gap:13px;color:#d8ddd6}.intro-stamp>span{font-size:45px;font-weight:250;font-family:ui-monospace,monospace;opacity:.75}.intro-stamp>div{border-left:1px solid #b5c1b568;padding-left:14px;font-size:11px;font-weight:650;letter-spacing:3px;line-height:1.9}.intro-stamp small{font-size:8px;letter-spacing:1px;color:#92a7a3}.game-bottom{height:32px;border-top:1px solid #52625966;background:#162127;display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:25px;font:9px ui-monospace,monospace;letter-spacing:.7px;color:#8b9d9c}.game-bottom>span{min-width:110px;display:flex;align-items:center;gap:7px}.game-bottom>span:last-child{justify-content:flex-end}.game-bottom i{width:4px;height:4px;border-radius:50%;background:var(--green)}.progress-track{width:38%;height:3px;background:#34433f;border-radius:2px}.progress-track>div{height:100%;width:0;background:var(--orange);transition:width .12s}.pause-button{position:absolute;top:67px;right:28px;z-index:3;background:#15232988;border:1px solid #66777166;border-radius:3px;width:28px;height:26px;font-size:14px}.toast{position:absolute;left:50%;top:110px;transform:translateX(-50%);background:#162a2be8;color:#dde7d8;border:1px solid #90afa85c;font-size:12px;padding:10px 18px;border-radius:4px;z-index:3;pointer-events:none;opacity:0;transition:opacity .2s;white-space:nowrap}.toast.visible{opacity:1}.controls{border:1px solid #303c41;border-radius:6px;padding:20px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#1c252a88;margin-top:16px}.controls-heading{display:flex;align-items:center;gap:10px;font-size:12px;color:#d0d9d7}.controls-icon{font-size:27px;color:#91a29f}.controls-heading small{display:block;font:8px monospace;letter-spacing:2px;color:#6f838a;margin-top:5px}.control-item{display:flex;flex-direction:column;align-items:center;gap:9px}.control-item>span{height:25px;display:flex;align-items:center;gap:4px}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;border:1px solid #4e5e62;border-bottom:3px solid #49575b;border-radius:4px;background:#253239;font:11px ui-monospace,monospace;color:#becbc9}.wide{padding:0 10px;font-size:9px;letter-spacing:1px}.control-item em{font-style:normal;font-size:10px;color:#62797a;margin:0 3px}.control-item small{font-size:9px;color:#85999e}.mouse-control{font-size:26px;color:#b3c2ba}.mouse-control b{font-size:10px;font-weight:500;margin-left:3px}footer{display:flex;justify-content:space-between;margin-top:20px;font-size:10px;color:#687e84;letter-spacing:.5px}footer>span:last-child{font:8px monospace;letter-spacing:1.5px}footer i{font-style:normal;color:var(--orange);margin:0 9px}.result-stats{display:flex;gap:26px;margin:-10px 0 25px}.result-stats>div{font-size:20px;color:#e6ded0;font-family:monospace}.result-stats small{display:block;font:9px system-ui;color:#9baea9;margin-top:6px}.touch-controls{display:none;position:absolute;bottom:53px;left:20px;right:20px;justify-content:space-between;pointer-events:none;z-index:3}.touch-controls>div{display:flex;gap:8px}.touch-controls button{pointer-events:auto;width:43px;height:43px;background:#17282acc;border:1px solid #a4b4a866;border-radius:8px;touch-action:none;user-select:none}.touch-controls .touch-fire{color:var(--orange);border-color:#f9955988} .game-shell:fullscreen{border:0;border-radius:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#0e171b}.game-shell:fullscreen canvas{width:min(100vw,200vh - 64px);max-height:calc(100vh - 32px)}.game-shell:fullscreen .game-bottom{width:100%}.game-shell:fullscreen .overlay{inset:0}.game-shell:fullscreen .intro-copy{padding-left:10%}
@media(pointer:coarse){.touch-controls.playing{display:flex}.control-item.mouse-control{display:none}}
@media(min-width:1500px){.app{padding-top:40px}.mission-bar{margin-top:32px}}
@media(max-width:900px){.app{padding:20px}.topbar{padding-bottom:20px}.top-label{font-size:9px;letter-spacing:1px}.hud{top:18px;left:20px;right:20px}.health-group{gap:6px}.health-pips i{width:12px}.ammo-group{gap:7px}.hud-label{font-size:8px}.reload-hint{display:none}.world-label{top:52px;left:20px}.objective{margin-left:0}.controls{padding:17px 15px;gap:12px}.controls-heading{display:none}.intro-copy{padding-left:6%}h2{margin:17px 0 13px}.intro-copy p{margin-bottom:20px}.intro-stamp{right:22px;bottom:22px}.pause-button{top:52px;right:20px}.toast{top:75px}.mission-meta{gap:12px}h1{font-size:18px}h1 span{font-size:8px}.intro-note{margin-top:12px}.primary-button{padding:12px 18px}}
@media(max-width:600px){.app{padding:16px 12px}.top-label{display:none}.mission-bar{margin:20px 0 16px}.mission-meta>span:first-child{display:none}h1{font-size:16px}h1 span{display:none}.game-shell canvas{aspect-ratio:1.25;object-fit:cover}.overlay{background:linear-gradient(90deg,#111d24ed,#111d2480)}h2{font-size:36px}.intro-copy{padding-left:7%}.intro-copy p{font-size:10px}.intro-kicker{font-size:8px}.intro-stamp{display:none}.hud{left:12px;right:12px;top:14px;gap:8px}.health-group>.hud-label,.ammo-group>.hud-label{display:none}.health-pips{gap:3px}.health-pips i{width:10px;height:6px}.objective{gap:6px}.objective b{font-size:14px}.objective b span{font-size:10px}.ammo-group b{font-size:19px}.world-label{top:44px;left:12px;font-size:8px}.controls{flex-wrap:wrap;justify-content:center;gap:17px 25px;padding:17px 12px}.control-item small{font-size:8px}.game-bottom{padding:0 10px;gap:10px;font-size:8px}.game-bottom>span{min-width:70px}.progress-track{width:32%}footer{font-size:9px}footer>span:last-child{font-size:6px;letter-spacing:.4px}.pause-button{right:12px;top:44px}.toast{top:75px;font-size:10px;padding:8px 11px}.intro-note{font-size:8px}.result-stats{gap:18px}.secondary-button{padding:11px;font-size:11px}.touch-controls{left:12px;right:12px}.touch-controls button{width:38px;height:38px}}

.difficulty-label{display:flex;align-items:center;gap:10px;color:#94a5a8;white-space:nowrap}.difficulty-label select{font:inherit;font-size:11px;color:#e6e8d6;background:#26373b;border:1px solid #51625e;border-radius:4px;padding:6px 25px 6px 10px;cursor:pointer;outline-color:var(--orange)}.weapon-bar{position:absolute;right:24px;bottom:50px;display:flex;align-items:center;gap:5px;z-index:3}.weapon-bar button{display:flex;align-items:center;gap:6px;background:#172a2be8;border:1px solid #657e7066;border-radius:4px;padding:7px 10px;font-size:10px;color:#99ada5;transition:color .15s,border-color .15s}.weapon-bar button.active{border-color:#e2ad76;color:#f5d4a5;background:#3d3b2edb}.weapon-bar button:hover{border-color:#e2ad76}.weapon-bar kbd{height:17px;min-width:16px;font-size:8px;border-width:1px;background:#273d3b;color:inherit}.weapon-bar>span{font:9px system-ui;color:#9aaca5;margin-left:6px;text-shadow:0 2px 4px #000}.controls{flex-wrap:wrap}.controls-heading{margin-right:5px}@media(max-width:900px){.controls{justify-content:center;gap:18px 26px}.weapon-bar{right:18px;bottom:47px}.weapon-bar button{font-size:9px;padding:6px 8px}.weapon-bar>span{font-size:8px}}@media(pointer:coarse){.weapon-bar{bottom:109px;right:20px}}@media(max-width:600px){.difficulty-label{gap:6px;font-size:9px}.difficulty-label select{font-size:10px;padding:5px 17px 5px 7px}.mission-meta{gap:0}.weapon-bar{right:12px}.weapon-bar>span{display:none}.weapon-bar button{font-size:8px;padding:5px 7px}.controls{gap:16px 24px}.touch-controls>div{gap:5px}.touch-controls button{width:35px;height:38px}.touch-controls>div:first-child{gap:8px}footer>span:first-child{max-width:72%;line-height:1.6}footer>span:last-child{flex-shrink:0;margin-left:10px}.intro-note span{margin:0 5px}}

.bag-toggle{position:absolute;top:89px;right:27px;z-index:3;display:flex;align-items:center;gap:8px;background:#172e30df;border:1px solid #81998870;border-radius:4px;padding:8px 10px;font-size:10px;color:#c6d7c5}.bag-toggle b{font:10px monospace;color:#e6d7b8}.bag-toggle i{height:12px;width:1px;background:#6f8877}.bag-toggle small{color:#879e8b;font-size:8px;border:1px solid #607a65;padding:1px 3px}.raid-strip{position:absolute;left:25px;bottom:51px;display:flex;align-items:center;gap:8px;font-size:9px;color:#bacaba;text-shadow:0 2px 5px #000;pointer-events:none}.raid-strip>div{width:65px;height:4px;background:#466052}.raid-strip i{display:block;height:100%;background:#b9dbad;width:100%}.raid-strip>span:last-child{margin-left:5px;color:#e0c18d}.interaction-progress{position:absolute;left:50%;bottom:98px;transform:translateX(-50%);z-index:3;background:#162c2be8;border:1px solid #8cab8366;border-radius:4px;width:238px;padding:12px 16px;text-align:center;color:#e8ebd6;font-size:12px;pointer-events:none}.interaction-progress>div{background:#415f4e;height:4px;margin:9px 0}.interaction-progress i{display:block;width:0;height:100%;background:#ddcb94}.interaction-progress small{font-size:8px;color:#94ad9a}.bag-panel{position:absolute;right:25px;top:131px;bottom:96px;width:310px;background:#13272af5;border:1px solid #758f7b;border-radius:5px;z-index:5;display:flex;flex-direction:column;padding:15px;box-shadow:0 15px 40px #0007;backdrop-filter:blur(8px)}.bag-panel>header{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#e0ead4}.bag-panel>header small{font:10px monospace;color:#a5b899;margin-left:8px}.bag-panel>header button{background:transparent;border:0;font-size:20px;color:#a2b79d;line-height:1}.bag-panel>p{font-size:9px;color:#a4b397;line-height:1.7;margin:10px 0 12px}.bag-panel>footer{border-top:1px solid #516c5866;flex-shrink:0;padding-top:12px;margin-top:12px;font-size:10px;color:#c7d7b9;letter-spacing:0}.bag-panel>footer>span:last-child{font:10px monospace;letter-spacing:0;color:#ecc99b}#bag-items{overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:7px}.bag-item{display:flex;gap:10px;align-items:center;padding:8px 9px;background:#273f3a;border:1px solid #526c5166;border-radius:3px}.bag-item>i{width:7px;height:21px;flex-shrink:0}.bag-item>div{font-size:11px;flex:1;color:#d3dfc7}.bag-item small{display:block;margin-top:4px;color:#9ead8c;font:9px monospace}.bag-item>button{background:#213730;border:1px solid #607951;font-size:9px;color:#bbcbaa;border-radius:3px;padding:5px 6px}.bag-empty{font-size:11px;color:#8fa78c;text-align:center;padding:25px 5px;line-height:1.9}.stash-label b{color:#ecc99b!important}.controls{justify-content:center;gap:20px 25px}.controls-heading{display:none}@media(max-width:900px){.bag-toggle{top:83px;right:18px;font-size:9px;padding:6px 8px}.raid-strip{left:18px;font-size:8px;gap:5px}.raid-strip>div{width:40px}.raid-strip>span:last-child{max-width:155px}.bag-panel{right:18px;top:121px;bottom:78px;width:265px;padding:12px}.bag-panel>p{margin:7px 0}.bag-item{padding:6px 8px}.bag-item>div{font-size:10px}}@media(pointer:coarse){.raid-strip{bottom:165px;left:20px}.bag-toggle{top:86px}.touch-controls button{width:34px;height:36px}.touch-controls>div{gap:5px}}@media(max-width:600px){.bag-toggle{top:75px;right:12px;font-size:8px;gap:5px}.bag-toggle small{display:none}.raid-strip{left:12px;bottom:84px;gap:5px}.raid-strip>span:first-child{display:none}.raid-strip>span:last-child{font-size:8px;max-width:185px}.bag-panel{top:111px;right:12px;bottom:82px;width:245px;max-height:calc(100% - 193px)}.bag-panel>p{font-size:8px}.bag-panel>footer{font-size:8px;margin-top:7px;padding-top:7px}.bag-item>button{font-size:8px}.touch-controls{left:9px;right:9px}.touch-controls>div:first-child{gap:4px}.touch-controls button{width:29px;height:36px;font-size:12px}.touch-controls>div{gap:3px}.interaction-progress{width:200px;bottom:120px;font-size:10px}.stash-label{display:flex!important;font-size:8px;gap:4px!important}.stash-label b{padding:3px 5px!important}.mission-meta{gap:9px}.difficulty-label{font-size:8px}.difficulty-label select{padding-right:6px}.mission-bar h1{font-size:14px}.raid-strip{bottom:158px}.controls{gap:16px 22px}}

canvas{image-rendering:pixelated;image-rendering:crisp-edges}.gun-volume-label{display:flex;align-items:center;gap:7px;color:#95a8a8;font-size:9px;margin-right:10px;white-space:nowrap}.gun-volume-label input{width:69px;height:3px;accent-color:#e8a36a;cursor:pointer}.gun-volume-label small{font:8px monospace;width:22px;color:#c6b896}.weapon-bar>span{min-width:78px}.weapon-bar{gap:4px}.weapon-bar button{padding:7px 8px}@media(max-width:900px){.top-label{display:none}.gun-volume-label{gap:6px}.weapon-bar>span{display:none}.weapon-bar button{padding:6px 7px;font-size:9px}.raid-strip>span:last-child{max-width:165px}}@media(max-width:600px){.gun-volume-label{margin-right:2px;gap:4px;font-size:8px}.gun-volume-label input{width:45px}.gun-volume-label small{display:none}.header-buttons{gap:5px}.weapon-bar{gap:3px;bottom:112px}.weapon-bar button{padding:5px 6px;font-size:8px}.touch-controls button{width:26px}.touch-controls>div:first-child{gap:3px}.touch-controls{left:8px;right:8px}.controls{gap:16px 20px}}@media(pointer:fine) and (min-width:601px){.weapon-bar{bottom:49px}.raid-strip{bottom:54px}}

.armory{padding:28px;background:#172328;border:1px solid #3b4a4e;border-radius:7px;margin-bottom:18px}.armory-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.armory h2{font:650 27px system-ui;margin:9px 0 10px;color:#e7e5d5;letter-spacing:1px}.armory-heading p{color:#96aaa9;font-size:11px;line-height:1.7;margin:0}.wallet{text-align:right;min-width:100px}.wallet small{display:block;font-size:10px;color:#9cae9f}.wallet strong{font:600 35px monospace;color:#efbd7e}.armory-notice{margin:20px 0;color:#d0c3a1;padding:12px 15px;background:#8d7e3a12;border:1px solid #d3ad6a25;border-radius:4px;font-size:11px}.armory-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:26px}.armory h3{font-size:14px;margin:0 0 18px;font-weight:600}.armory h3 small{font-size:9px;color:#8b9e98;margin-left:10px;font-weight:400}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.shop-card{padding:15px 12px;background:#203036;border:1px solid #40554f;border-radius:4px}.shop-card>small{display:block;font-size:8px;color:#aaac88;margin-top:20px}.shop-card h4{font-size:15px;font-weight:650;margin:6px 0 8px}.shop-card p{font-size:9px;color:#9bafab;line-height:1.7;min-height:31px;margin:0 0 15px}.shop-card button,.supply-shop button{width:100%;border:1px solid #847b57;background:#323c35;padding:9px 8px;font-size:10px;color:#efc592;border-radius:3px}.shop-card button b{float:right;font:11px monospace}.armory button:hover{border-color:#e7ad72;background:#485045}.armory button:disabled{opacity:.45;cursor:not-allowed}.gun-silhouette{display:block;position:relative;margin:14px 0 0 2px;width:69px;height:11px;background:#a4b7a1;box-shadow:-8px 3px 0 #58776c}.gun-silhouette:before{content:'';position:absolute;left:15px;top:10px;width:9px;height:14px;background:#849b8c;transform:skew(-10deg)}.gun-silhouette:after{content:'';position:absolute;right:-18px;top:3px;width:20px;height:5px;background:#d0c3a1}.smg-shape{width:51px;background:#8bbaa9}.smg-shape:before{height:18px;left:24px}.shotgun-shape{width:77px;height:7px;background:#d5b98e;box-shadow:0 9px 0 #8d7761,-9px 3px 0 #746d5b}.shotgun-shape:before{height:11px;background:#82715d}.supply-shop{display:flex;gap:9px;margin-top:12px}.supply-shop button{display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:11px;padding:12px}.supply-shop small{display:block;font-size:9px;color:#9cad9a;margin-top:3px}.supply-shop b{font-size:10px;white-space:nowrap}.shop-note{font-size:10px;line-height:1.8;color:#849b98;margin:17px 0 0}.loadout-panel{padding-left:24px;border-left:1px solid #3c4f4d}.knife-row{display:flex;gap:12px;align-items:center;padding:12px;background:#31554935;border:1px solid #5b83754d;border-radius:4px;font-size:12px}.knife-row>span{font-size:28px;color:#b8d9bb}.knife-row small{display:block;font-size:9px;color:#9cb1a4;margin-top:4px}.knife-row b{margin-left:auto;font-size:9px;color:#bcdfbb;white-space:nowrap}.warehouse-guns{margin:10px 0;max-height:248px;overflow:auto}.warehouse-empty{padding:19px 12px;font-size:11px;line-height:1.8;color:#8ba19b;background:#102326;border:1px dashed #43594f;border-radius:4px}.warehouse-gun{padding:11px 10px;border:1px solid #3c554f;border-radius:4px;margin-bottom:7px;background:#203135;font-size:11px}.warehouse-gun.selected{border-color:#d3a56c;background:#3a3e3066}.warehouse-gun header{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:9px}.warehouse-gun header b{font-size:10px;color:#ebc792;font-weight:500}.warehouse-gun>div{display:flex;gap:6px}.warehouse-gun button{flex:1;padding:6px;font-size:9px;color:#bfcebc;background:#29423c;border:1px solid #596e5e;border-radius:3px}.packing-row{display:flex;align-items:center;gap:8px;padding:13px 0;border-bottom:1px solid #3b504c;font-size:11px}.packing-row label{margin-right:auto}.packing-row small{display:block;font-size:9px;color:#8da699;margin-top:4px}.packing-row input,.packing-row select{width:72px;background:#122a2d;border:1px solid #506a5f;color:#e5dac0;border-radius:3px;padding:7px;font:12px monospace}.packing-preview{min-height:28px;color:#cbbd9b;font-size:10px;line-height:1.8}.deploy-button{background:#e7a26a;color:#18262a;border:1px solid #f1c298;border-radius:4px;width:100%;padding:14px;text-align:left;font:650 13px system-ui}.deploy-button span{float:right;font-size:20px}.raid-risk{display:block;margin-top:12px;color:#90a196;font-size:9px;line-height:1.7}.weapon-bar button:disabled{opacity:.35;cursor:not-allowed}.weapon-bar button:disabled:hover{border-color:#657e7066}@media(max-width:1000px){.armory-grid{grid-template-columns:1fr}.loadout-panel{padding:22px 0 0;border-left:0;border-top:1px solid #3c4f4d}.shop-card p{min-height:0}}@media(max-width:600px){.armory{padding:17px 14px}.armory h2{font-size:21px}.armory-heading{gap:8px;align-items:flex-start}.wallet{min-width:62px}.wallet strong{font-size:26px}.wallet small{font-size:8px}.armory-heading p{font-size:10px}.shop-card{padding:12px 8px}.shop-card h4{font-size:12px}.shop-card>small{font-size:7px}.shop-card p{font-size:8px;min-height:28px}.gun-silhouette{transform:scale(.75);transform-origin:left center}.shop-grid{gap:6px}.armory-notice{font-size:10px}.shop-card button{padding:8px 6px}.shop-card button b{font-size:10px}.supply-shop{gap:6px}.supply-shop button{padding:10px 8px;font-size:10px}}

.map-selection{margin:24px 0 30px;padding-bottom:22px;border-bottom:1px solid #41524d}.map-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}.map-heading h3{margin:0}.map-heading>span{font-size:9px;color:#94a799}.map-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.map-card{background:#1b2b30;border:1px solid #41564f;border-radius:4px;padding:0 0 12px;text-align:left;color:#d5dfcf;overflow:hidden;position:relative}.map-card canvas{width:100%;height:80px;object-fit:cover;image-rendering:pixelated;display:block;opacity:.72;border-bottom:1px solid #475a55}.map-card small,.map-card strong,.map-card>span{display:block;margin:0 10px}.map-card small{font:8px monospace;letter-spacing:.3px;color:var(--map-accent);margin-top:11px}.map-card strong{font-size:13px;margin-top:7px;font-weight:600}.map-card>span{font-size:9px;margin-top:7px;color:#9fb1a5;line-height:1.6}.armory .map-card:hover{background:#263a37;border-color:var(--map-accent)}.armory .map-card.selected{border-color:var(--map-accent);background:#314137}.map-card.selected:after{content:'已选择';position:absolute;right:5px;top:6px;background:#172a2ddb;color:var(--map-accent);padding:4px 6px;border:1px solid var(--map-accent);border-radius:2px;font-size:8px}.map-card.selected canvas{opacity:1}.map-briefing{font-size:11px;color:#c6c6ab;line-height:1.9;margin:14px 0 0}.world-label b{font-weight:400}@media(max-width:800px){.map-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.map-heading{align-items:flex-start}.map-heading h3 small{display:block;margin:7px 0 0}.map-card canvas{height:67px}}@media(max-width:480px){.map-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.map-heading>span{font-size:8px;max-width:90px;text-align:right}.map-briefing{font-size:10px}.map-card strong{font-size:12px}.map-selection{margin-top:20px}}

#game{cursor:none}.ammo-group{position:relative}.thermal-status{position:absolute;right:0;top:28px;display:flex;gap:8px;align-items:center;font:9px monospace;color:#d7c69c;white-space:nowrap}.thermal-status>div{width:80px;height:4px;background:#50655799;border-radius:1px;overflow:hidden}.thermal-status i{display:block;height:100%;background:#d4bd7d;width:0;transition:width .05s linear}.thermal-status.hot{color:#f0a273}.thermal-status.hot i{background:#f0a273}.thermal-status.overheated{color:#f3a092}.thermal-status.overheated i{background:#ed8377}@media(max-width:900px){.thermal-status{top:24px;font-size:8px;gap:5px}.thermal-status>div{width:56px}}@media(max-width:600px){.thermal-status{top:20px;font-size:7px}.thermal-status>div{width:39px}}

.game-bottom .progress-track{height:26px;background:transparent;overflow:visible}.game-bottom #route-map{width:100%;height:26px;aspect-ratio:auto;cursor:default;image-rendering:pixelated}

/* Keep combat in the playfield and health in its own fixed strip below it. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.playfield{position:relative;width:100%;overflow:hidden}.playfield .overlay{inset:0}.playfield .weapon-bar{bottom:17px}.playfield .raid-strip{bottom:22px}.playfield .touch-controls{bottom:21px}.playfield .bag-panel{bottom:46px}.playfield .interaction-progress{bottom:88px}
.vitals-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:44px;padding:0 25px;border-top:1px solid #52625966;background:#152228}.vitals-bar .health-group{gap:10px;flex:1;max-width:440px}.health-icon{font-size:17px;color:#b9d9b3}.health-track{height:8px;flex:1;background:#34463f;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 65%,calc(100% - 3px) 100%,0 100%)}.health-track i{display:block;width:100%;height:100%;background:repeating-linear-gradient(90deg,#b9d9b3 0,#b9d9b3 19%,#647967 19%,#647967 20%);transition:width .12s ease}.health-group b{font:600 13px ui-monospace,monospace;min-width:25px;color:#d4e4c9}.health-group.critical .health-icon,.health-group.critical b{color:#ef9184}.health-group.critical .health-track i{background:#e48679}.combat-legend{display:flex;align-items:center;gap:18px;font-size:9px;color:#90a59c}.combat-legend span{display:flex;gap:6px;align-items:center}.combat-legend i{display:block;flex-shrink:0}.legend-ammo{width:11px;height:11px;border:3px dotted #cde7d4;border-right-color:transparent;border-radius:50%}.legend-heat{width:11px;height:11px;border:2px solid #d5b07b;border-left-color:transparent;border-radius:50%}.legend-reload{width:11px;height:11px;border:2px solid #95d6ed;border-bottom-color:transparent;border-radius:50%}
.ammo-group{gap:9px}.ammo-group b{font-size:21px}.ammo-icon{display:block;width:7px;height:18px;background:#ddc395;border-radius:3px 3px 0 0;box-shadow:10px 2px #ddc39566;margin-right:10px}.ammo-group .thermal-status{top:29px}.ammo-group .thermal-status>div{width:88px}.ammo-group .reload-hint{display:block;font-size:10px;padding:2px 5px}.reload-hint.loading{color:#95d6ed}.objective{margin-left:0}#game.knife-equipped{cursor:default}
.game-shell:fullscreen .playfield{width:min(100vw,calc(200vh - 152px))}.game-shell:fullscreen .playfield #game{width:100%;max-height:none}.game-shell:fullscreen .vitals-bar{width:100%}
@media(max-width:600px){.vitals-bar{height:40px;padding:0 12px;gap:14px}.vitals-bar .health-group{max-width:none;gap:7px}.health-track{height:7px}.combat-legend{gap:8px;font-size:8px}.combat-legend span{gap:4px}.combat-legend span:last-child{display:none}.health-group b{font-size:11px}.playfield .weapon-bar{bottom:80px}.playfield .raid-strip{bottom:126px}.playfield .interaction-progress{bottom:88px}.ammo-group b{font-size:18px}.ammo-group .thermal-status>div{width:64px}.ammo-group .thermal-status{top:23px}.ammo-icon{height:14px;width:5px;margin-right:7px;box-shadow:8px 2px #ddc39566}}
@media(pointer:coarse){.playfield .raid-strip{bottom:133px}}

/* Heavy launcher and a compact five-slot selector. */
.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rocket-shape{width:76px;height:17px;background:#98ad8c;box-shadow:-8px 0 #c3c49a}.rocket-shape:after{width:15px;height:23px;top:-3px;right:-10px;background:#d2ba89}.rocket-shape:before{left:29px;top:17px;height:10px}.playfield .weapon-bar{gap:5px}.playfield .weapon-bar>span{display:none}@media(max-width:600px){.playfield .weapon-bar{gap:3px;right:8px;left:8px;justify-content:flex-end}.playfield .weapon-bar button{padding:4px;font-size:8px}.playfield .weapon-bar kbd{padding:1px 3px;margin-right:3px}}

.ammo-shop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.ammo-shop button{display:flex;align-items:center;gap:10px;padding:12px 10px;border:1px solid #3b4847;background:#202e31;text-align:left;border-radius:4px;font-size:11px}.ammo-shop button>span{flex:1}.ammo-shop small{display:block;color:#9baba9;font-size:9px;margin-top:5px}.ammo-shop b{color:#efc498;white-space:nowrap}.ammo-shop button:disabled{opacity:.45;cursor:default}.ammo-packing-heading{display:flex;justify-content:space-between;margin:18px 0 4px;font-size:12px}.ammo-packing-heading small{color:#94aaa3}.ammo-packing .packing-row{gap:10px;padding:10px 0;margin:0}.ammo-packing .packing-row input{width:68px}.round-shape{display:block;flex:none;width:7px;height:22px;background:#e9c595;clip-path:polygon(50% 0,100% 28%,100% 100%,0 100%,0 28%)}.smg-round{height:15px;background:#a9dccb}.shotgun-round{width:9px;height:18px;background:linear-gradient(#e8a78d 78%,#e9c595 78%);clip-path:none}.rocket-round{width:13px;height:27px;background:#c4d797;clip-path:polygon(50% 0,80% 30%,80% 72%,100% 94%,68% 100%,32% 100%,0 94%,20% 72%,20% 30%)}
@media(max-width:480px){.ammo-shop button{gap:7px;padding:10px 8px}.ammo-shop small{font-size:8px}.ammo-shop b{font-size:10px}.ammo-packing .packing-row label{font-size:11px}}

.ammo-icon.round-shape{border-radius:0;box-shadow:none;margin-right:3px}

.map-card .stage-state{display:block;color:#f5cd92;font-size:10px;font-weight:600;margin:9px 10px 0}.map-card.locked{opacity:.48;cursor:default;filter:saturate(.3)}.map-card.locked .stage-state{color:#aab7bd}.map-card.cleared .stage-state{color:#b2dbae}.tutorial{position:absolute;top:110px;left:24px;width:306px;z-index:2;padding:11px 13px;background:#162930df;border:1px solid #b8d4ad44;border-radius:4px;pointer-events:none}.tutorial-top{display:flex;align-items:center;gap:10px;font-size:10px;color:#bcd9b7}.tutorial-top>span{font:10px monospace;color:#9fb2b5}.tutorial-top>div{display:flex;gap:4px;margin-left:auto}.tutorial-top i{width:5px;height:5px;border-radius:50%;background:#657a8244}.tutorial-top i.done{background:#bcdba6}.tutorial-top i.current{box-shadow:0 0 0 1px #f0c38a}.tutorial p{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.6;margin:8px 0 5px}.tutorial p>span:first-child{font-size:21px;color:#f3cf91}.tutorial>small{font-size:9px;color:#8aa0a6}@media(max-width:600px){.tutorial{top:73px;left:12px;width:228px;padding:7px 9px}.tutorial p{font-size:10px;margin:4px 0}.tutorial>small{font-size:8px}.tutorial-top{font-size:9px;gap:6px}}

.rail-shape{width:72px;height:9px;background:#8bc8d7;box-shadow:0 -6px #416b7c}.rail-shape:after{width:30px;height:4px;top:0;right:-19px;background:#d4faff}.rail-shape:before{left:30px;top:8px;height:11px}.round-shape.rail-round{width:5px;height:19px;background:#91d6e8;border:1px solid #d5fcff;box-shadow:inset 0 -5px #4c849c}.map-card.locked:hover{background:#1b2b30;border-color:#41564f}

.reticle-guide{margin:19px 0 15px}.reticle-guide h4{margin:0 0 10px;font-size:11px;font-weight:500;color:#c6d4c9}.reticle-guide h4 small{float:right;font-size:9px;font-weight:400;color:#8ba39c}.reticle-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.reticle-gallery figure{margin:0;min-width:0;overflow:hidden;border:1px solid #3b514f;border-radius:3px;background:#122328;text-align:center}.reticle-gallery canvas{aspect-ratio:1;cursor:default;image-rendering:pixelated}.reticle-gallery figcaption{padding:0 2px 9px}.reticle-gallery b{display:block;font-size:9px;font-weight:500;color:#c6d5ca;white-space:nowrap}.reticle-gallery small{display:block;margin-top:5px;font-size:7px;color:#88a69f;white-space:nowrap}.warehouse-guns{max-height:380px}.spread-tuner{margin-top:13px;padding-top:11px;border-top:1px solid #57665666}.spread-tuner label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:10px;color:#c3d6c6}.spread-tuner output{font:10px monospace;color:#e8c39b}.spread-tuner canvas{width:100%;aspect-ratio:20/7;border:1px solid #415654;border-radius:3px;cursor:default;image-rendering:pixelated}.spread-tuner input{display:block;width:100%;height:20px;margin:9px 0 3px;accent-color:#dfb882;cursor:ew-resize}.spread-tuner footer{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9px;color:#a0b3a8}.spread-tuner footer button{flex:none;padding:3px 8px;background:transparent;color:#b7c6b8;font-size:8px;border-color:#50675c}.spread-tuner input:focus-visible{outline:2px solid #e7b87b;outline-offset:2px}
@media(max-width:480px){.reticle-gallery small{font-size:6px}.reticle-gallery b{font-size:8px}.reticle-gallery{gap:3px}.reticle-gallery figcaption{padding-bottom:7px}}
@media(max-width:900px){.controls{flex-wrap:wrap;justify-content:center;gap:16px 22px}}

.mode-picker{display:flex;gap:10px;margin:20px 0 16px}.mode-picker button{flex:1;text-align:left;padding:15px 18px;border:1px solid #485b5b;border-radius:5px;background:#1c2b30}.mode-picker button.selected{border-color:#e5ac7e;background:#34403b}.mode-picker strong{display:block;font-size:14px}.mode-picker small{display:block;margin-top:7px;font-size:10px;color:#a5b5ac}.horror-briefing{padding:22px 24px;margin-bottom:22px;border:1px solid #79665e;border-radius:5px;background:linear-gradient(110deg,#302c29,#1b292b)}.horror-briefing h3{font-size:25px;margin:12px 0}.horror-briefing p{font-size:12px;line-height:1.9;color:#b6bdb0}.horror-briefing>div{display:flex;gap:22px;flex-wrap:wrap;font-size:11px;color:#ddc5af}.light-button{display:flex;align-items:center;gap:8px;border:1px solid #6b7767;background:#24352e;border-radius:4px;padding:5px 9px;font-size:11px}.light-button small{color:#d3c696;font:11px monospace}.light-button[aria-pressed="false"]{opacity:.55}@media(max-width:600px){.mode-picker{gap:6px}.mode-picker button{padding:12px 10px}.mode-picker small{font-size:9px;line-height:1.6}.horror-briefing{padding:16px}.horror-briefing>div{gap:9px}.vitals-bar{gap:9px}.combat-legend{display:none}}
.chapter-name{position:absolute;left:28px;top:95px;color:#d4bfa0;font-size:13px;letter-spacing:.08em;pointer-events:none}.story-journal{position:absolute;right:28px;top:92px;border:1px solid #5c776a;background:#192c27;color:#dce2c1;padding:7px 12px;font:inherit;font-size:12px;cursor:pointer}.boss-hud{position:absolute;top:145px;left:28%;width:44%;text-align:center;color:#ead0b6;font-size:13px;pointer-events:none}.boss-hud>div{height:7px;margin-top:7px;background:#382922;border:1px solid #85614e}.boss-hud i{display:block;height:100%;background:#b96252;transition:width .1s}.intro-copy #overlay-description{white-space:pre-line;max-height:280px;overflow-y:auto}.intro-copy #checkpoint-return{color:#c8dec1;border-color:#779680}.chapter-name[hidden],.story-journal[hidden],.boss-hud[hidden]{display:none}

/* Touch controls live below the picture, leaving the whole world unobstructed. */
#game{aspect-ratio:2/1;height:auto;object-fit:contain}.app{padding-bottom:max(22px,env(safe-area-inset-bottom))}.game-shell{scroll-margin-top:8px}.touch-controls{position:relative;inset:auto;width:100%;padding:14px max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left));background:#142326;border-top:1px solid #425e52;grid-template-columns:130px minmax(0,1fr) 130px;gap:12px;align-items:center;touch-action:none;user-select:none}.touch-controls>.stick-group{display:flex;flex-direction:column;gap:7px;align-items:center}.virtual-stick{width:104px;height:104px;position:relative;display:grid;place-items:center;pointer-events:auto;touch-action:none;border-radius:50%;border:2px solid #7b9789;background:radial-gradient(circle,#50665477,#1b3438);box-shadow:inset 0 0 20px #0007}.stick-ring{position:absolute;inset:16px;border:1px dashed #9caf9566;border-radius:50%;pointer-events:none}.stick-knob{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#b1c3a3;border:2px solid #d7ddc4;color:#233932;font-size:23px;box-shadow:0 4px 15px #0008;pointer-events:none}.aim-stick{border-color:#b99374;background:radial-gradient(circle,#785c3877,#29312e)}.aim-stick .stick-knob{background:#e4ad78;border-color:#edcaa4;color:#49352b}.virtual-stick.dragging{box-shadow:inset 0 0 18px #0008,0 0 15px #abc89f25}.stick-group small{text-align:center;color:#a8bca8;font-size:10px;line-height:1.6;pointer-events:none}.touch-controls>.touch-actions{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:8px;max-width:430px;justify-self:center;width:100%}.touch-controls .touch-actions button{width:100%;height:46px;border-radius:50%;font-size:12px;min-width:44px;background:#293f38;border-color:#82997e;user-select:none;-webkit-user-select:none}.touch-actions button[data-touch='jump'],.touch-actions button[data-touch='interact']{background:#414a37;border-color:#c5b07b;color:#f1d8a0}
@media(any-pointer:coarse){.touch-controls.playing{display:grid}.weapon-bar{bottom:8px;right:12px;left:auto}.weapon-bar button{min-height:34px;min-width:40px}.weapon-bar kbd,.weapon-bar>span{display:none}.raid-strip{bottom:46px;left:12px}.hud{top:10px;left:12px;right:12px}.world-label{top:43px;left:12px}.chapter-name{top:64px;left:12px;font-size:11px}.story-journal{top:64px;right:12px;min-height:34px}.bag-toggle{top:10px;right:160px;min-height:34px}.bag-toggle i,.bag-toggle small,.bag-toggle #bag-value{display:none}.pause-button{top:44px;right:12px;min-width:34px;min-height:34px}.boss-hud{top:110px;left:24%;width:52%;font-size:11px}.bag-panel{top:44px;right:10px;bottom:10px;max-height:none;width:min(310px,calc(100% - 20px));z-index:7}.overlay{inset:0;overflow:auto;align-items:flex-start}.intro-copy{padding:18px 18px 22px!important;max-width:100%;width:100%}.intro-copy h2{font-size:25px;margin:10px 0}.intro-copy p{font-size:11px;margin-bottom:12px;line-height:1.7;max-height:115px!important}.intro-copy .primary-button,.intro-copy .secondary-button{min-height:44px;margin:4px 5px 4px 0;padding:10px 13px;font-size:11px}.interaction-progress{bottom:48px;max-width:75%;padding:7px}.toast{top:100px;max-width:90%;font-size:11px}.touch-controls[hidden]{display:none}.game-shell:fullscreen .playfield{width:min(100vw,calc(2 * (100dvh - 234px)))}.game-shell:fullscreen .touch-controls{max-width:960px;flex-shrink:0}.game-shell:fullscreen .vitals-bar,.game-shell:fullscreen .game-bottom{flex-shrink:0}.game-shell:fullscreen{overflow:auto}}
@media(any-pointer:coarse) and (max-width:600px){.app{padding:12px 8px}.topbar{padding-bottom:12px}.mission-bar{margin:12px 0}.mission-meta{gap:6px}.touch-controls{grid-template-columns:88px minmax(0,1fr) 88px;gap:7px;padding:12px 8px}.virtual-stick{width:82px;height:82px}.stick-knob{width:36px;height:36px;font-size:21px}.stick-ring{inset:12px}.stick-group small{font-size:8px}.touch-controls>.touch-actions{grid-template-columns:repeat(2,minmax(44px,1fr));gap:5px}.touch-controls .touch-actions button{height:40px;font-size:10px;border-radius:20px}.world-label{display:none}.chapter-name{top:42px;font-size:10px}.story-journal{top:39px;right:48px;min-height:28px;padding:4px 7px;font-size:10px}.story-journal kbd{display:none}.bag-toggle{right:130px;top:9px;padding:5px;font-size:9px}.bag-toggle b{font-size:9px}.hud .objective .hud-label{display:none}.ammo-group{gap:5px}.ammo-group b{font-size:17px}.ammo-group .ammo-icon{height:14px;margin-right:7px;width:5px}.weapon-bar{bottom:5px;left:8px;right:8px;justify-content:flex-end;gap:3px}.weapon-bar button{font-size:8px;padding:4px 5px;min-height:28px;min-width:36px}.raid-strip{bottom:36px;left:8px;right:8px}.raid-strip>div{width:30px}.raid-strip>span:last-child{max-width:none;font-size:9px}.boss-hud{top:82px;font-size:10px}.interaction-progress{bottom:37px}.interaction-progress small{display:none}.vitals-bar{padding:0 10px;gap:8px;height:38px}.light-button{padding:4px;font-size:10px}.light-button kbd{display:none}.game-bottom{padding:0 8px}.game-bottom>span:last-child{max-width:58%;font-size:8px}.progress-track{display:none}.tutorial{top:40px;left:8px;right:45px;width:auto;padding:6px 8px;font-size:9px}.tutorial>small{display:none}.tutorial p{margin:5px 0}.horror-briefing p{font-size:11px}.controls{gap:12px}.overlay .intro-copy p{max-height:85px!important}.toast{top:75px;font-size:9px}.game-shell:fullscreen .playfield{width:min(100vw,calc(2 * (100dvh - 255px)))}}
@media(any-pointer:coarse) and (orientation:landscape){.game-shell:fullscreen .touch-controls{grid-template-columns:90px minmax(0,1fr) 90px;padding:7px 18px;gap:12px}.game-shell:fullscreen .virtual-stick{width:74px;height:74px}.game-shell:fullscreen .stick-knob{width:34px;height:34px}.game-shell:fullscreen .stick-group small{font-size:8px;line-height:1.2}.game-shell:fullscreen .touch-actions{grid-template-columns:repeat(4,minmax(44px,1fr))}.game-shell:fullscreen .touch-actions button{height:36px;font-size:10px}.game-shell:fullscreen .playfield{width:min(100vw,calc(2 * (100dvh - 174px)))}.game-shell:fullscreen .vitals-bar{height:36px}.game-shell:fullscreen .game-bottom{height:24px}}
@media(any-pointer:coarse){.raid-strip{position:relative;inset:auto;height:30px;padding:0 12px;background:#182d2c}.weapon-bar{position:relative;inset:auto;padding:3px 10px 7px;justify-content:flex-end;min-height:37px;background:#182d2c}.weapon-bar button{min-height:30px}.interaction-progress{bottom:70px}.boss-hud{top:96px}.game-shell:fullscreen .playfield{width:min(100vw,calc(2 * (100dvh - 294px)))}}
@media(any-pointer:coarse) and (max-width:600px){.raid-strip{left:auto;right:auto;bottom:auto;height:31px;padding:0 8px}.raid-strip>span:last-child{font-size:10px;max-width:none;line-height:1.3}.weapon-bar{left:auto;right:auto;bottom:auto;min-height:35px;padding:3px 8px 5px;gap:3px}.weapon-bar button{min-width:38px;min-height:28px}.boss-hud{top:73px}.game-shell:fullscreen .playfield{width:min(100vw,calc(2 * (100dvh - 321px)))}}
@media(any-pointer:coarse) and (orientation:landscape){.game-shell:fullscreen .playfield{width:min(100vw,calc(2 * (100dvh - 239px)))}.game-shell:fullscreen .raid-strip{height:26px}.game-shell:fullscreen .weapon-bar{min-height:30px;padding:0 8px 2px}.game-shell:fullscreen .weapon-bar button{min-height:26px}}
@media(any-pointer:coarse){.playfield .raid-strip,.playfield .weapon-bar{inset:auto}.playfield .bag-panel{bottom:8px}.playfield .interaction-progress{bottom:70px}}

/* The manual occupies space only while opened. */
.help-button{padding:7px 10px;border:1px solid #687c6b;border-radius:4px;background:#263932;color:#d6dec3;font-size:11px;white-space:nowrap;min-height:34px}.controls-dialog{color:#d7dfcc;background:#182b2c;border:1px solid #7d9175;border-radius:10px;width:min(680px,calc(100vw - 28px));max-height:85dvh;overflow:auto;padding:24px;box-shadow:0 25px 90px #000a}.controls-dialog::backdrop{background:#050e14bb;backdrop-filter:blur(4px)}.controls-dialog>header{display:flex;align-items:center;justify-content:space-between}.controls-dialog h2{font-size:24px;margin:6px 0 12px}.controls-dialog header small{font:10px monospace;color:#b6a77f;letter-spacing:2px}.controls-dialog header button{width:44px;height:44px;background:#294138;border:1px solid #6e836b;color:#dfdac0;border-radius:50%;font-size:25px}.controls-dialog>p{font-size:12px;line-height:1.8;color:#a7bba9}.controls-dialog .controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px;padding:22px 0 8px;border:0;background:none;margin:0}.controls-dialog .controls-heading{display:none}.gatling-shape{height:16px;background:repeating-linear-gradient(#b8c0a4 0 3px,#455b55 3px 6px)}.gatling-shape:before{width:24px;height:20px}.chainsaw-shape{height:19px;width:32px;background:#ca8956}.chainsaw-shape:after{height:14px;width:52px;right:-50px;top:2px;background:repeating-linear-gradient(90deg,#d5d8b9 0 3px,#647569 3px 6px)}.gatling-round{height:24px;background:#f5d290}.chainsaw-round{clip-path:none;border-radius:2px;width:16px;height:18px;background:#e6a67d;border-top:4px solid #697d72}.weapon-bar{max-width:calc(100% - 16px);overflow-x:auto}.weapon-bar button{flex-shrink:0}@media(max-width:600px){.help-button{padding:6px;font-size:10px}.controls-dialog{padding:16px}.controls-dialog .controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px}.weapon-bar{justify-content:flex-start!important}.header-buttons{flex-wrap:wrap;justify-content:flex-end}.gun-volume-label{display:none}}

.game-bottom .help-button{font-size:9px;padding:2px 7px;min-height:24px;flex-shrink:0}.game-bottom{gap:10px}.controls-dialog .control-item{min-width:0}.controls-dialog .control-item small{line-height:1.5}
@media(any-pointer:coarse) and (max-width:600px){.touch-controls>.touch-actions{grid-template-columns:repeat(3,minmax(44px,1fr))}.touch-controls .touch-actions button{height:44px}.game-bottom .progress-track{display:none}}
@media(any-pointer:coarse) and (orientation:landscape){.game-shell:fullscreen .playfield{width:100vw}.game-shell:fullscreen #game{aspect-ratio:auto;width:100%;height:max(140px,calc(100dvh - 239px));object-fit:fill}}

.chainsaw-shape:after{width:76px;right:-73px;top:2px;height:14px;clip-path:polygon(0 0,89% 0,95% 14%,99% 36%,100% 50%,99% 71%,95% 86%,89% 100%,0 100%)}

.chainsaw-shape:after{width:57px;right:-54px;height:9px;top:1px;transform:rotate(-14deg);transform-origin:left center}.chainsaw-shape:before{left:-5px;top:15px;width:11px;height:12px;border:3px solid #9aaf9e;background:transparent;transform:none}
