:root{color:#f2f4f7;background:#050608;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{background:#050608}.game-shell{position:relative;width:100vw;height:100vh;min-width:640px;min-height:420px;overflow:hidden}@supports (height: 100dvh){html,body,#root{height:100dvh}.game-shell{width:100dvw;height:100dvh}}.game-world-canvas,.game-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.game-world-canvas{pointer-events:none;z-index:0}.game-canvas{cursor:crosshair;touch-action:none;z-index:1}.game-effects-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;z-index:2}.hud{position:absolute;inset:0;pointer-events:none;z-index:3}.hud-panel{border:1px solid rgba(255,49,72,.34);border-radius:8px;background:linear-gradient(180deg,#080a0eb8,#080a0e75);box-shadow:0 0 0 1px #ffffff09 inset,0 18px 48px #00000042;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.status-panel{position:absolute;top:18px;left:18px;display:grid;grid-template-columns:72px minmax(240px,330px);gap:12px;padding:12px}.portrait{position:relative;width:72px;height:72px;border:1px solid rgba(25,214,255,.46);border-radius:6px;background:radial-gradient(circle at 52% 32%,rgba(214,221,228,.85) 0 11%,transparent 12%),radial-gradient(circle at 50% 55%,rgba(46,58,69,.96) 0 32%,transparent 33%),linear-gradient(135deg,#ff2b3d38,#19d6ff24);overflow:hidden}.portrait-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 5px);mix-blend-mode:screen}.status-stack{display:flex;flex-direction:column;gap:7px;min-width:0}.hud-title,.weapon-row,.zone-row,.threat-row,.time-row,.hud-readout{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#dce3ea;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.hud-title span:last-child,.threat-row span:last-child,.time-row span:last-child,.weapon-row small{color:#93a1ad;font-weight:700}.hud-bar{display:flex;flex-direction:column;gap:4px}.hud-bar-label{display:flex;justify-content:space-between;color:#aab2bb;font-size:11px;font-weight:800}.hud-bar-track{height:8px;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:#ffffff0f;overflow:hidden}.hud-bar-fill{height:100%;border-radius:inherit;transition:width .1s linear}.hud-bar-hp .hud-bar-fill{background:linear-gradient(90deg,#7a0010,#ff3148)}.hud-bar-stamina .hud-bar-fill{background:linear-gradient(90deg,#11596c,#19d6ff)}.hud-bar-xp .hud-bar-fill{background:linear-gradient(90deg,#5b3c9b,#b55cff)}.hud-bar-infection .hud-bar-fill{background:linear-gradient(90deg,#345718,#80ff88)}.weapon-row{height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#ffffff0b}.ammo{color:#ffcf6b;font-size:16px}.ammo-low{color:#ff3148}.minimap-panel{position:absolute;top:18px;right:18px;width:204px;padding:12px}.minimap-aim-toggle,.mobile-exit-fullscreen{display:none}.minimap{display:block;width:168px;height:168px;margin:10px auto;border-radius:4px}.time-row{height:24px;padding:0 8px;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:#ffffff0b}.zone-wave-row{margin-top:8px}.audio-toggle{min-width:56px;height:28px;padding:0 9px;border:1px solid rgba(25,214,255,.42);border-radius:6px;background:#19d6ff17;color:#dce3ea;font:inherit;font-size:11px;font-weight:900;cursor:pointer;pointer-events:auto}.audio-toggle:hover,.audio-toggle:focus-visible{border-color:#19d6ffb8;outline:none;box-shadow:0 0 0 2px #19d6ff1f}.audio-toggle.is-muted{border-color:#ff31489e;background:#ff31481f;color:#ff9aa6}.minimap-audio-toggle{display:block;margin:8px 0 0 auto}.bottom-panel{position:absolute;left:18px;bottom:18px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:min(700px,calc(100vw - 540px));min-height:76px;padding:12px}.weapon-slots-panel{position:absolute;right:18px;bottom:18px;display:grid;grid-template-columns:repeat(4,minmax(86px,1fr));gap:8px;width:min(460px,calc(100vw - 36px));padding:10px}.weapon-ammo-card{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 10px;min-height:52px;padding:9px 10px;border:1px solid rgba(255,207,107,.22);border-radius:6px;background:#00000038}.weapon-ammo-card span{color:#dce3ea;font-size:12px;font-weight:900}.weapon-ammo-card strong{justify-self:end;font-size:22px;line-height:1}.weapon-ammo-card small{grid-column:1 / -1;color:#93a1ad;font-size:11px;font-weight:800}.weapon-durability-track{grid-column:1 / -1;height:6px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff0e}.weapon-durability-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff3148,#ffcf6b);transition:width .12s linear}.weapon-slot{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:6px;min-height:36px;overflow:hidden;padding:6px 8px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#ffffff0b;color:#aab2bb;font:inherit;font-size:11px;font-weight:900;text-align:left;cursor:pointer;pointer-events:auto;touch-action:none}.weapon-slot span{display:grid;place-items:center;width:22px;height:22px;border-radius:4px;background:#0000003d;color:#ffcf6b}.weapon-slot strong{min-width:0;overflow:hidden;color:#dce3ea;text-overflow:ellipsis;white-space:nowrap}.weapon-slot-icon{display:block;justify-self:center;width:44px;height:28px;background-repeat:no-repeat;background-size:400% 400%;filter:drop-shadow(0 1px 0 #020304) drop-shadow(1px 0 0 #020304) drop-shadow(0 -1px 0 #020304) drop-shadow(-1px 0 0 #020304) drop-shadow(0 3px 6px rgba(0,0,0,.48))}.weapon-slot.is-active{border-color:#ff31489e;box-shadow:0 0 18px #ff31482e inset}.weapon-slot:disabled{cursor:default}.weapon-slot.is-empty strong{display:grid;place-items:center;background:none;filter:none;color:#626b75}.skill-slot{display:grid;place-items:center;width:72px;height:52px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0b;color:#9fa8b2;font-size:10px;font-weight:900}.skill-slot strong{color:#f2f4f7;font-size:13px}.skill-slot.is-ready{border-color:#19d6ff6b;box-shadow:0 0 18px #19d6ff24 inset}.hud-readout{flex:1;min-width:180px;justify-content:flex-end;flex-wrap:wrap}.hud-readout span{padding:6px 8px;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:#0000002e}.mobile-controls{position:absolute;inset:auto 0 0;display:none;pointer-events:none;touch-action:none}.mobile-right-zone{position:absolute;right:20px;bottom:18px;width:264px;height:264px;pointer-events:none;touch-action:none}.mobile-joystick{position:absolute;width:132px;height:132px;color:#dce3eabd;font-size:11px;font-weight:900;pointer-events:auto;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.mobile-joystick-base{position:absolute;inset:0;display:grid;place-items:center;border:1px solid rgba(25,214,255,.28);border-radius:50%;background:radial-gradient(circle,#19d6ff29,#0000002e 56%,#00000047),#080a0e57;box-shadow:0 0 0 1px #ffffff0a inset}.mobile-joystick span{position:absolute;bottom:16px}.mobile-joystick i{width:48px;height:48px;border:1px solid rgba(255,207,107,.48);border-radius:50%;background:radial-gradient(circle at 38% 32%,#ffffff5c,#ffcf6b2e 38%,#00000057);box-shadow:0 0 18px #ffcf6b2e;transition:transform 22ms linear}.mobile-joystick.is-active .mobile-joystick-base{border-color:#19d6ff99}.mobile-joystick.is-dynamic{width:clamp(210px,30vw,280px);height:min(72vh,340px)}.mobile-joystick.is-dynamic .mobile-joystick-base{inset:auto;width:132px;height:132px;opacity:.42;transform:translate(-50%,-50%)}.mobile-joystick.is-dynamic.is-active .mobile-joystick-base{opacity:1}.move-stick{left:env(safe-area-inset-left,0);bottom:env(safe-area-inset-bottom,0)}.aim-stick{right:54px;bottom:28px}.mobile-fire-pad{position:absolute;right:54px;bottom:28px;display:grid;place-items:center;align-content:center;gap:4px;width:132px;height:132px;border:1px solid rgba(255,49,72,.58);border-radius:50%;background:radial-gradient(circle at 50% 46%,#ff314847,#080a0e6b 62%,#0000005c),#080a0e5c;color:#f2f4f7;font:inherit;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;box-shadow:0 0 0 1px #ffffff0a inset,0 0 26px #ff31482e}.mobile-fire-pad strong{font-size:18px;line-height:1}.mobile-fire-pad span{color:#ffcf6b;font-size:10px;font-weight:900}.mobile-fire-pad:active{border-color:#ffcf6bd1;background:radial-gradient(circle at 50% 46%,#ffcf6b57,#ff31483d 54%,#0006),#080a0e7a}.mobile-action-cluster{position:absolute;inset:0;pointer-events:none}.mobile-action-cluster button{position:absolute;width:58px;height:42px;padding:0 5px;border:1px solid rgba(255,49,72,.34);border-radius:8px;background:#080a0e9e;color:#dce3ea;font:inherit;font-size:10px;font-weight:900;pointer-events:auto;touch-action:none}.mobile-action-cluster button:disabled{border-color:#ffffff14;color:#93a1ad8a;background:#080a0e57}.mobile-action-cluster button.is-ready{border-color:#19d6ff75}.mobile-action-cluster button:active{border-color:#ffcf6bad;background:#ff314838}.mobile-action-roll{left:6px;top:122px}.mobile-action-reload{left:42px;top:48px}.mobile-action-interact{right:42px;top:48px}.mobile-action-flashlight{right:2px;top:122px}.mobile-action-weapon{right:38px;bottom:10px}.mobile-action-sprint{left:46px;bottom:10px}.status-counters{display:flex;flex-wrap:wrap;gap:8px}.status-counters span{flex:1;min-width:86px;padding:5px 8px;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:#0003;color:#dce3ea;font-size:11px;font-weight:900;text-align:center}.hint-panel{position:absolute;left:18px;top:260px;display:flex;flex-direction:column;gap:6px;width:318px;padding:12px;color:#aeb8c2;font-size:12px;font-weight:800;line-height:1.45}.hint-panel strong{color:#ffcf6b;font-size:13px}.hint-panel span{display:block}.control-guide{position:absolute;left:50%;bottom:112px;width:min(520px,calc(100vw - 520px));min-width:360px;padding:12px 14px;transform:translate(-50%);color:#dce3ea;font-size:12px;font-weight:800;line-height:1.45;pointer-events:auto}.control-guide-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.control-guide-head strong{color:#ffcf6b;font-size:13px}.control-guide-head button{height:28px;padding:0 10px;border:1px solid rgba(25,214,255,.46);border-radius:6px;background:#19d6ff1a;color:#dce3ea;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.control-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.control-guide-grid span{display:flex;align-items:center;gap:7px;min-width:0;padding:6px 7px;border:1px solid rgba(255,255,255,.08);border-radius:5px;background:#0003;color:#aeb8c2;white-space:nowrap}.control-guide kbd{display:inline-grid;place-items:center;min-width:30px;height:20px;padding:0 6px;border:1px solid rgba(255,207,107,.36);border-radius:4px;background:#ffcf6b14;color:#ffcf6b;font:inherit;font-size:10px;font-weight:900}.control-guide p{margin:10px 0 0;color:#93a1ad}.wave-panel{position:absolute;left:50%;top:18px;width:min(420px,calc(100vw - 420px));min-width:300px;padding:12px 14px;transform:translate(-50%)}.wave-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#93a1ad;font-size:11px;font-weight:900}.wave-panel-head strong{color:#ffcf6b}.wave-panel h2{margin:6px 0 4px;color:#f2f4f7;font-size:16px;line-height:1.15}.wave-panel p{margin:0;color:#aeb8c2;font-size:12px;font-weight:800;line-height:1.45}.flow-screen{position:absolute;inset:0;pointer-events:auto}.start-screen{display:grid;grid-template-columns:minmax(260px,44vw) minmax(320px,520px);align-items:center;gap:clamp(24px,5vw,72px);padding:clamp(22px,6vw,82px);background:linear-gradient(90deg,#050608f5,#050608bd 44%,#05060885),radial-gradient(circle at 70% 55%,rgba(255,49,72,.2),transparent 38%)}.start-art{justify-self:end;width:min(520px,44vw);aspect-ratio:1;border:1px solid rgba(255,49,72,.35);border-radius:8px;background:linear-gradient(180deg,#0000000d,#0000005c),url(/assets/game/ui/dead-district-key-art.png) center / cover;box-shadow:0 0 42px #ff314829,0 0 0 1px #ffffff0d inset}.flow-copy{max-width:560px}.eyebrow{margin:0 0 12px;color:#ff3148;font-size:13px;font-weight:900}.flow-copy h1,.death-screen h1{margin:0;color:#f2f4f7;font-size:clamp(54px,8vw,108px);line-height:.92;letter-spacing:0}.flow-copy p{max-width:520px;margin:18px 0 26px;color:#bdc7d1;font-size:clamp(15px,1.5vw,18px);line-height:1.7;font-weight:700}.name-field{display:grid;gap:7px;width:min(340px,100%);margin:0 0 16px}.name-field span{color:#93a1ad;font-size:12px;font-weight:900}.name-field input{width:100%;height:42px;padding:0 12px;border:1px solid rgba(255,49,72,.42);border-radius:6px;outline:none;background:#00000052;color:#f2f4f7;font:inherit;font-size:15px;font-weight:900}.name-field input:focus{border-color:#19d6ff9e;box-shadow:0 0 0 2px #19d6ff1f}.leaderboard-board{width:min(380px,100%);margin-top:18px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#00000047}.leaderboard-title{display:flex;align-items:center;justify-content:space-between;color:#dce3ea;font-size:12px;font-weight:900}.leaderboard-title small,.leaderboard-empty{color:#93a1ad}.leaderboard-empty{margin:12px 0 0;font-size:12px;font-weight:800}.leaderboard-board ol{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}.leaderboard-board li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:6px 0;border-top:1px solid rgba(255,255,255,.06);color:#dce3ea;font-size:12px;font-weight:900}.leaderboard-board li.is-self{margin:2px -6px 0;padding:7px 6px;border:1px solid rgba(25,214,255,.34);border-radius:6px;background:#19d6ff14;box-shadow:0 0 18px #19d6ff14 inset}.leaderboard-board li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-board li em{display:inline-grid;place-items:center;min-width:32px;height:18px;margin-left:8px;padding:0 6px;border:1px solid rgba(25,214,255,.42);border-radius:999px;color:#19d6ff;font-size:10px;font-style:normal;line-height:1;vertical-align:1px}.leaderboard-board li strong{color:#ffcf6b}.leaderboard-board li small{grid-column:1 / -1;color:#93a1ad;font-size:11px}.primary-action{min-width:156px;height:46px;padding:0 22px;border:1px solid rgba(255,49,72,.82);border-radius:6px;background:linear-gradient(180deg,#c5162a,#6d0815);color:#fff;font:inherit;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 0 24px #ff314842}.primary-action:disabled{border-color:#ffffff24;background:#ffffff14;color:#7f8993;cursor:not-allowed;box-shadow:none}.key-hint{display:block;margin-top:12px;color:#8f9aa5;font-size:12px;font-weight:800}.ready-screen{display:grid;place-content:center;background:#0506083d}.ready-card{display:grid;place-items:center;gap:10px;min-width:240px;padding:22px 28px;border:1px solid rgba(25,214,255,.42);border-radius:8px;background:#05070a9e;box-shadow:0 0 36px #19d6ff29}.ready-card span{color:#dce3ea;font-size:14px;font-weight:900}.ready-card strong{color:#19d6ff;font-size:72px;line-height:.9}.death-screen{display:grid;grid-template-columns:minmax(320px,560px) minmax(300px,420px);align-items:center;justify-content:center;gap:clamp(28px,6vw,88px);padding:clamp(24px,6vw,86px);background:#050608c7;text-align:left}.death-screen h1{color:#ff3148}.death-summary{display:grid;min-width:0;gap:14px}.death-screen p{margin:0;color:#dce3ea;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.death-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;max-width:100%}.death-line strong{min-width:0;max-width:100%;color:#fff;overflow-wrap:anywhere}.death-line span{padding:6px 9px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d;white-space:nowrap}.death-timers{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin:8px 0 6px}.death-stats{display:flex;gap:10px;flex-wrap:wrap}.death-stats span{min-width:128px;padding:10px 12px;border:1px solid rgba(255,207,107,.24);border-radius:6px;background:#ffcf6b12;color:#ffcf6b;font-size:16px;font-weight:900}.death-screen .leaderboard-board{justify-self:end;width:min(420px,100%);margin-top:0}.death-timers span{padding:7px 10px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d;color:#aab2bb;font-size:12px;font-weight:900}@media(max-width:860px){.game-shell{min-width:0}.status-panel{grid-template-columns:54px minmax(0,1fr);width:calc(100vw - 36px)}.portrait{width:54px;height:54px}.minimap-panel{top:auto;right:18px;bottom:110px;width:164px}.minimap{width:128px;height:128px}.progression-panel,.hint-panel{display:none}.control-guide{left:18px;right:18px;bottom:174px;width:auto;min-width:0;transform:none}.control-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wave-panel{display:none}.bottom-panel{left:50%;width:min(720px,calc(100vw - 36px));justify-content:center;transform:translate(-50%)}.skill-slot{width:58px}.hud-readout,.weapon-slots-panel{display:none}.mobile-controls{display:block}.bottom-panel{display:none}.start-screen{grid-template-columns:1fr;align-content:end;padding:18px}.death-screen{grid-template-columns:1fr;align-content:center;text-align:center}.death-timers{justify-content:center}.death-screen .leaderboard-board{justify-self:center}.start-art{width:min(72vw,360px);justify-self:center}.flow-copy h1,.death-screen h1{font-size:clamp(46px,14vw,72px)}}@media(pointer:coarse){.game-shell{min-width:0;min-height:0}.flow-screen{overflow:auto;-webkit-overflow-scrolling:touch}.start-screen{grid-template-columns:minmax(112px,.72fr) minmax(230px,1.15fr);align-content:center;align-items:center;justify-content:center;gap:clamp(12px,4vmin,24px);padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.start-art{width:clamp(112px,32vmin,190px)}.flow-copy{display:grid;gap:8px;max-width:360px;min-width:0}.eyebrow{margin:0;font-size:10px}.flow-copy h1,.death-screen h1{font-size:clamp(32px,8vmin,50px)}.death-screen{grid-template-columns:minmax(0,1fr);align-content:start;justify-items:center;gap:10px;min-height:100%;padding:max(42px,calc(env(safe-area-inset-top) + 42px)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:auto;text-align:center}.death-summary{justify-items:center;gap:8px;width:min(390px,calc(100vw - 28px))}.death-line{justify-content:center;gap:6px;font-size:12px}.death-line span{padding:4px 7px}.death-stats{justify-content:center;gap:6px;width:100%}.death-stats span{flex:1 1 0;min-width:0;max-width:156px;padding:7px 8px;font-size:13px}.death-timers{justify-content:center;gap:6px;margin:0}.death-timers span{padding:5px 7px;font-size:10px}.death-screen .primary-action{min-width:140px;height:36px;padding:0 14px;font-size:13px}.death-screen .leaderboard-board{display:block;justify-self:center;width:min(390px,calc(100vw - 28px));margin-top:0;padding:8px 10px}.death-screen .leaderboard-title{font-size:11px}.death-screen .leaderboard-board ol{gap:3px;margin-top:6px}.death-screen .leaderboard-board li{gap:1px 6px;padding:4px 0;font-size:11px}.death-screen .leaderboard-board li.is-self{margin:1px -4px 0;padding:5px 4px}.death-screen .leaderboard-board li small{font-size:10px}.flow-copy p{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.35}.name-field{width:min(300px,100%);margin:0;gap:5px}.name-field span{font-size:10px}.name-field input{height:38px;font-size:16px}.start-screen .primary-action{width:min(300px,100%);height:42px}.start-screen .key-hint,.start-screen .leaderboard-board{display:none}.status-panel{top:8px;left:8px;grid-template-columns:minmax(0,1fr);gap:0;width:172px;min-height:0;padding:7px}.portrait,.status-counters,.control-guide,.wave-panel{display:none}.status-stack{gap:4px}.hud-title,.weapon-row,.zone-row,.threat-row,.time-row,.hud-readout{font-size:10px}.hud-title span:last-child{display:none}.status-stack>.hud-bar:nth-of-type(n+4){display:none}.hud-bar{gap:2px}.hud-bar-label{font-size:9px}.hud-bar-track{height:5px}.minimap-panel{top:8px;right:8px;bottom:auto;width:104px;padding:6px}.minimap-aim-toggle{position:absolute;top:6px;right:calc(100% + 8px);display:block;width:88px;height:28px;border:1px solid rgba(25,214,255,.34);border-radius:999px;background:#080a0ead;color:#aeb8c2;font:inherit;font-size:10px;font-weight:900;pointer-events:auto;touch-action:none}.mobile-exit-fullscreen{position:absolute;top:max(8px,env(safe-area-inset-top));left:50%;z-index:8;display:block;min-width:82px;height:28px;padding:0 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#080a0ead;color:#dce3ea;font:inherit;font-size:10px;font-weight:900;transform:translate(-50%);pointer-events:auto;touch-action:none}.hint-panel{left:calc(env(safe-area-inset-left) + 188px);right:calc(env(safe-area-inset-right) + 120px);top:max(58px,calc(env(safe-area-inset-top) + 58px));z-index:7;display:flex;width:auto;min-width:0;max-width:none;padding:8px 12px;transform:none;pointer-events:none}.hint-panel strong{display:none}.hint-panel span{display:block;overflow:visible;text-overflow:clip;font-size:11px;line-height:1.35;white-space:normal}.minimap-aim-toggle.is-on{border-color:#19d6ffad;color:#19d6ff;box-shadow:0 0 18px #19d6ff1f inset}.minimap{width:76px;height:76px;margin:5px auto}.time-row{height:18px;padding:0 5px;font-size:9px}.audio-toggle{min-width:42px;height:22px;padding:0 5px;font-size:9px}.minimap-audio-toggle{position:absolute;top:40px;right:calc(100% + 8px);width:88px;height:28px;margin:0;border-radius:999px;background:#080a0ead;font-size:10px;touch-action:none}.mobile-controls{display:block}.mobile-right-zone{right:max(14px,calc(env(safe-area-inset-right) + 14px));bottom:max(8px,calc(env(safe-area-inset-bottom) + 8px));width:clamp(230px,38vmin,280px);height:clamp(230px,38vmin,280px)}.mobile-joystick{width:clamp(124px,18vmin,156px);height:clamp(124px,18vmin,156px);font-size:10px}.mobile-joystick.is-dynamic{width:clamp(210px,30vw,280px);height:min(76vh,340px)}.mobile-joystick.is-dynamic .mobile-joystick-base{width:clamp(124px,18vmin,156px);height:clamp(124px,18vmin,156px)}.mobile-joystick span{bottom:14px}.mobile-joystick i{width:46px;height:46px}.move-stick{left:env(safe-area-inset-left,0);bottom:env(safe-area-inset-bottom,0)}.aim-stick{right:50px;bottom:28px}.mobile-fire-pad{right:50px;bottom:28px;width:clamp(124px,18vmin,156px);height:clamp(124px,18vmin,156px)}.mobile-action-cluster{inset:0}.mobile-action-cluster button{width:56px;height:42px;padding:0 6px;border-radius:7px;font-size:10px}.weapon-slots-panel{top:auto;right:auto;bottom:max(8px,calc(env(safe-area-inset-bottom) + 8px));left:50%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:min(312px,42vw);padding:6px;transform:translate(-50%);pointer-events:auto}.weapon-ammo-card{min-height:34px;padding:5px 7px}.weapon-ammo-card span{min-width:0;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.weapon-ammo-card strong{font-size:17px}.weapon-ammo-card small{font-size:9px}.weapon-slot{grid-template-columns:15px minmax(0,1fr);min-height:34px;gap:4px;padding:4px 5px;font-size:9px}.weapon-slot span{width:15px;height:15px;border-radius:3px}.weapon-slot strong{text-align:center}.weapon-slot-icon{width:clamp(34px,5.4vw,44px);height:24px}.bottom-panel{display:none}}@media(pointer:coarse)and (orientation:landscape){.death-screen{grid-template-columns:minmax(210px,.9fr) minmax(230px,1fr);align-content:center;align-items:center;gap:10px;padding:max(34px,calc(env(safe-area-inset-top) + 34px)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.death-summary{width:min(360px,100%);gap:6px}.death-screen .leaderboard-board{width:min(360px,100%)}}@media(pointer:coarse)and (orientation:portrait){.game-shell{position:fixed;top:0;left:0;width:100vh;height:100vw;transform:rotate(90deg) translateY(-100%);transform-origin:top left}}@supports (height: 100dvh){@media(pointer:coarse)and (orientation:portrait){.game-shell{width:100dvh;height:100dvw}}}.character-debug-shell{display:grid;grid-template-columns:minmax(0,1fr) 360px;width:100vw;height:100vh;overflow:hidden;background:#070808;color:#e8edf2}.character-debug-stage{min-width:0;min-height:0;padding:18px}.character-debug-canvas{display:block;width:100%;height:100%;border:1px solid rgba(255,49,72,.35);border-radius:8px;background:#111313;box-shadow:inset 0 0 0 1px #ffffff0a}.character-debug-panel{display:flex;flex-direction:column;gap:14px;min-width:0;height:100vh;padding:18px;overflow-y:auto;border-left:1px solid rgba(255,49,72,.34);background:#090a0bf5}.debug-panel-heading,.debug-actions,.debug-toggles,.debug-layer-list{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.debug-panel-heading{justify-content:space-between;font-size:16px;font-weight:900}.debug-back-link{color:#19d6ff;font-size:12px;font-weight:800;text-decoration:none}.debug-control-grid{display:grid;grid-template-columns:1fr;gap:10px}.character-debug-panel label{display:grid;grid-template-columns:88px minmax(0,1fr) 42px;gap:8px;align-items:center;color:#b6c0ca;font-size:12px;font-weight:800}.debug-control-grid label{grid-template-columns:62px minmax(0,1fr)}.debug-toggles label,.debug-layer-list label{display:inline-flex;gap:6px;align-items:center;padding:7px 9px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d}.character-debug-panel input[type=range]{width:100%;accent-color:#ff3148}.character-debug-panel input[type=checkbox]{accent-color:#ff3148}.character-debug-panel select,.debug-actions button{min-height:34px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#11161b;color:#f2f5f7;font-weight:800;color-scheme:dark}.character-debug-panel select{padding:0 8px}.character-debug-panel select option,.sprite-debug-panel select option{background:#11161b;color:#f2f5f7}.character-debug-panel select option:checked,.sprite-debug-panel select option:checked{background:#26313a;color:#fff}.debug-section{display:grid;gap:9px;padding:12px;border:1px solid rgba(255,49,72,.24);border-radius:8px;background:#ffffff09}.debug-section-title{color:#fff;font-size:13px;font-weight:900}.review-section{border-color:#19d6ff47;background:#19d6ff0b}.review-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.review-actions button{min-height:32px;padding:0 8px;border:1px solid rgba(25,214,255,.24);border-radius:6px;background:#19d6ff14;color:#e8edf2;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.review-actions button:hover,.review-actions button:focus-visible{border-color:#19d6ff9e;outline:none}.review-checklist{display:grid;gap:6px;margin:0;padding-left:20px;color:#aeb8c2;font-size:12px;font-weight:800;line-height:1.45}.debug-actions button{padding:0 12px;cursor:pointer}.debug-actions button:hover{border-color:#19d6ff80}.debug-saved-text{color:#19d6ff;font-size:12px;font-weight:900}.sprite-debug-shell{display:grid;grid-template-columns:minmax(0,1fr) 380px;width:100vw;height:100vh;overflow:hidden;background:#070808;color:#e8edf2}.sprite-debug-stage{display:grid;grid-template-rows:auto minmax(0,1fr) 150px;gap:14px;min-width:0;min-height:0;padding:18px}.sprite-debug-stage-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.sprite-debug-stage-header h1{margin:0;font-size:22px;line-height:1.1}.sprite-debug-stage-header p{margin:6px 0 0;color:#94a0aa;font-size:13px;font-weight:700}.sprite-debug-links,.sprite-debug-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sprite-debug-links a,.sprite-debug-actions button{min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff0f;color:#f2f5f7;font-size:12px;font-weight:900;text-decoration:none;cursor:pointer}.sprite-debug-links a:hover,.sprite-debug-actions button:hover{border-color:#19d6ff80}.sprite-debug-preview,.sprite-debug-strip{display:block;width:100%;min-width:0;border:1px solid rgba(255,49,72,.35);border-radius:8px;background:#111313;box-shadow:inset 0 0 0 1px #ffffff0a}.sprite-debug-preview{height:100%}.sprite-debug-strip{height:150px}.sprite-debug-panel{display:flex;flex-direction:column;gap:14px;min-width:0;height:100vh;padding:18px;overflow-y:auto;border-left:1px solid rgba(255,49,72,.34);background:#090a0bf5}.sprite-debug-panel label{display:grid;grid-template-columns:68px minmax(0,1fr) 44px;gap:8px;align-items:center;color:#b6c0ca;font-size:12px;font-weight:800}.sprite-debug-panel select,.sprite-debug-panel input[type=range]{width:100%}.sprite-debug-panel select{min-height:34px;padding:0 8px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#11161b;color:#f2f5f7;font-weight:800;color-scheme:dark}.sprite-debug-panel input[type=range]{accent-color:#ff3148}.sprite-debug-check input[type=checkbox]{justify-self:start;accent-color:#ff3148}.sprite-debug-info{display:grid;gap:9px;margin:0}.sprite-debug-info div{display:grid;gap:3px}.sprite-debug-info dt{color:#94a0aa;font-size:11px;font-weight:900}.sprite-debug-info dd{margin:0;overflow-wrap:anywhere;color:#e8edf2;font-size:12px;font-weight:800;line-height:1.45}.sprite-debug-error{color:#ff6778;font-size:12px;font-weight:900}.sprite-debug-sheet-canvas,.sprite-debug-sheet-image{display:block;width:100%;height:260px;max-height:280px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#111313}@media(max-width:920px){.character-debug-shell{grid-template-columns:1fr;grid-template-rows:minmax(380px,56vh) minmax(0,1fr)}.character-debug-panel{height:auto;border-left:0;border-top:1px solid rgba(255,49,72,.34)}.sprite-debug-shell{grid-template-columns:1fr;grid-template-rows:minmax(460px,58vh) minmax(0,1fr)}.sprite-debug-panel{height:auto;border-left:0;border-top:1px solid rgba(255,49,72,.34)}}
