@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=Inter:wght@400;500;600;700&family=Rajdhani:wght@600;700&display=swap";:root{--color-bg-canvas: #787774;--color-bg-canvas-dim: #4a4946;--color-arena-ground: #53524f;--color-arena-ground-dark: #2f2f2f;--color-arena-shadow: #252423;--color-panel: #ebe5dd;--color-panel-muted: #c9c1b6;--color-panel-dark: #5a554f;--color-ink: #47423d;--color-ink-muted: #7c756e;--color-line: #5a5854;--color-line-soft: #8c8983;--color-white: #f7f3ed;--color-accent: #f06b2b;--color-accent-hot: #ff6a2b;--color-ally: #f7f3ed;--color-enemy: #f06b2b;--color-team-blue: #5c7c8c;--color-success: #88a06a;--color-warning: #f0b45b;--color-danger: #d75845;--panel-glass: rgba(235, 229, 221, .62);--panel-glass-strong: rgba(235, 229, 221, .72);--panel-glass-tile: rgba(247, 243, 237, .18);--panel-border: rgba(183, 176, 166, .46);--panel-edge: rgba(255, 255, 255, .38);--shadow-soft: rgba(47, 46, 42, .18);--shadow-hard: rgba(47, 46, 42, .28)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}html,body{overflow:hidden;overscroll-behavior:none;background:var(--color-arena-ground);touch-action:none}body{position:fixed;inset:0;color:var(--color-ink);font-family:Inter,sans-serif}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button,input,select,textarea{outline:none}button:focus-visible,input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px #f06b2b3d}.hud-icon-img{display:block;object-fit:contain}.game-shell,.editor-shell{position:fixed;inset:0;overflow:hidden;color:var(--color-ink);-webkit-user-select:none;user-select:none}.game-shell{background:linear-gradient(180deg,rgba(247,243,237,.08),transparent 30%),radial-gradient(circle at 50% 45%,rgba(47,46,42,.05),transparent 48%),var(--color-arena-ground);font-family:Inter,sans-serif;touch-action:none}.game-shell:before,.game-shell:after{position:absolute;inset:0;content:"";pointer-events:none}.game-shell:before{background-image:linear-gradient(rgba(247,243,237,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(247,243,237,.03) 1px,transparent 1px);background-size:72px 72px;opacity:.035}.game-shell:after{background:linear-gradient(180deg,#2f2e2a04,#2f2e2a14)}.game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;background:var(--color-arena-ground)}.rain-screen-overlay{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;mix-blend-mode:screen}.rain-screen-overlay:before{position:absolute;inset:0;content:"";background:radial-gradient(circle at 14% 10%,rgba(247,243,237,.018),transparent 20%),linear-gradient(115deg,transparent 0%,rgba(247,243,237,.018) 46%,transparent 54%);opacity:.22}.rain-lens-overlay canvas{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%}@media(prefers-reduced-motion:reduce){.rain-screen-overlay{opacity:.55}}.hud-layer{position:absolute;inset:0;z-index:4;pointer-events:none}.hud-panel{background:linear-gradient(135deg,#ffffff16,#ffffff05 36%,#2f2e2a0b),var(--panel-glass);border:1px solid var(--panel-border);box-shadow:inset 0 1px 0 var(--panel-edge),0 18px 58px #2f2e2a1f;-webkit-backdrop-filter:blur(8px) saturate(.88) brightness(1.01);backdrop-filter:blur(8px) saturate(.88) brightness(1.01)}.game-shell.is-active-match,.game-shell.mode-lobby,.game-shell.mode-menu,.game-shell.mode-playing{--hud-readable-accent: #ffa65e;--panel-glass: rgba(62, 59, 53, .28);--panel-glass-strong: rgba(66, 63, 57, .36);--panel-glass-tile: rgba(247, 243, 237, .14);--panel-border: rgba(247, 243, 237, .36);--panel-edge: rgba(255, 255, 255, .3)}.game-shell.is-active-match .hud-panel,.game-shell.mode-lobby .hud-panel,.game-shell.mode-menu .hud-panel,.game-shell.mode-playing .hud-panel{color:#f7f3ede6;box-shadow:inset 0 1px 0 var(--panel-edge),inset 0 -1px #2f2e2a1f,0 12px 34px #2f2e2a1c;-webkit-backdrop-filter:blur(6px) saturate(1.04) brightness(1.02);backdrop-filter:blur(6px) saturate(1.04) brightness(1.02)}.game-shell.is-active-match .match-header,.game-shell.mode-playing .match-header,.game-shell.is-active-match .minimap-panel,.game-shell.mode-playing .minimap-panel,.game-shell.is-active-match .scoreboard-panel,.game-shell.mode-playing .scoreboard-panel,.game-shell.is-active-match .tank-status-card,.game-shell.mode-playing .tank-status-card,.game-shell.is-active-match .weapon-strip,.game-shell.mode-playing .weapon-strip,.game-shell.is-active-match .ability-dock,.game-shell.mode-playing .ability-dock,.game-shell.is-active-match .zone-warning-banner,.game-shell.mode-playing .zone-warning-banner,.game-shell.mode-lobby .match-header,.game-shell.mode-lobby .minimap-panel,.game-shell.mode-lobby .scoreboard-panel,.game-shell.mode-lobby .lobby-panel,.game-shell.mode-menu .landing-panel,.game-shell.mode-menu .tank-select{background:linear-gradient(135deg,#f7f3ed1c,#f7f3ed08 38%,#2f2e2a1c),var(--panel-glass)}.game-shell.is-active-match .minimap-panel,.game-shell.mode-playing .minimap-panel,.game-shell.mode-lobby .minimap-panel{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.game-shell.is-active-match .tank-status-head strong,.game-shell.mode-playing .tank-status-head strong,.game-shell.is-active-match .panel-heading,.game-shell.mode-playing .panel-heading,.game-shell.is-active-match .compact-chip strong,.game-shell.mode-playing .compact-chip strong,.game-shell.is-active-match .compact-summary-chip strong,.game-shell.mode-playing .compact-summary-chip strong,.game-shell.is-active-match .scoreboard-name,.game-shell.mode-playing .scoreboard-name,.game-shell.is-active-match .weapon-name,.game-shell.mode-playing .weapon-name,.game-shell.is-active-match .weapon-type,.game-shell.mode-playing .weapon-type,.game-shell.is-active-match .match-header strong,.game-shell.mode-playing .match-header strong,.game-shell.mode-lobby .scoreboard-name,.game-shell.mode-lobby .panel-heading,.game-shell.mode-lobby .player-name,.game-shell.mode-lobby .match-header strong,.game-shell.mode-lobby .room-code-display,.game-shell.mode-menu h1,.game-shell.mode-menu input,.game-shell.mode-menu .tank-card-title strong,.game-shell.mode-menu .tank-card-description,.game-shell.mode-menu .tank-card-title small,.game-shell.mode-menu .tank-card-role{color:#f7f3edf0}.game-shell.mode-lobby .panel-heading,.game-shell.mode-lobby .player-name,.game-shell.mode-lobby .player-index,.game-shell.mode-lobby .player-kit,.game-shell.mode-lobby .network-message,.game-shell.mode-lobby .network-badge{color:#fffcf6f0}.game-shell.mode-lobby .lobby-panel,.game-shell.mode-lobby .lobby-panel button,.game-shell.mode-lobby .lobby-panel .panel-heading,.game-shell.mode-lobby .player-row,.game-shell.mode-lobby .player-index,.game-shell.mode-lobby .player-kit,.game-shell.mode-lobby .network-message,.game-shell.mode-lobby .network-badge,.game-shell.mode-lobby .network-badge b{text-shadow:0 1px 2px rgba(20,19,18,.74),0 0 10px rgba(20,19,18,.18)}.game-shell.is-active-match .tank-status-head em,.game-shell.mode-playing .tank-status-head em,.game-shell.is-active-match .tank-status-head b,.game-shell.mode-playing .tank-status-head b,.game-shell.is-active-match .scoreboard-rank,.game-shell.mode-playing .scoreboard-rank,.game-shell.is-active-match .scoreboard-stat,.game-shell.mode-playing .scoreboard-stat,.game-shell.is-active-match .weapon-strip-cell.is-secondary,.game-shell.mode-playing .weapon-strip-cell.is-secondary,.game-shell.is-active-match .ability-primary small,.game-shell.mode-playing .ability-primary small,.game-shell.is-active-match .ability-cell small,.game-shell.mode-playing .ability-cell small,.game-shell.is-active-match .tank-health-pips,.game-shell.mode-playing .tank-health-pips,.game-shell.is-active-match .compact-summary-chip span,.game-shell.mode-playing .compact-summary-chip span,.game-shell.is-active-match .utility-key,.game-shell.mode-playing .utility-key,.game-shell.mode-lobby .scoreboard-rank,.game-shell.mode-lobby .scoreboard-stat,.game-shell.mode-lobby .player-index,.game-shell.mode-lobby .player-kit,.game-shell.mode-lobby .lobby-list,.game-shell.mode-lobby .network-badge,.game-shell.mode-menu .panel-heading,.game-shell.mode-menu .tank-card .stat-row em,.game-shell.mode-menu .network-badge{color:#f7f3edb8}.game-shell.mode-lobby .network-message,.game-shell.mode-lobby .network-badge b{color:#f7f3ede6}.game-shell.mode-lobby .player-row{color:#f7f3edeb}.game-shell.mode-lobby .player-index,.game-shell.mode-lobby .player-kit{color:#f7f3edc2}.game-shell.is-active-match .scoreboard-row,.game-shell.mode-playing .scoreboard-row,.game-shell.mode-lobby .scoreboard-row{border-top-color:#f7f3ed1f}.game-shell.is-active-match .scoreboard-row.is-self,.game-shell.mode-playing .scoreboard-row.is-self,.game-shell.is-active-match .tank-status-summary span,.game-shell.mode-playing .tank-status-summary span,.game-shell.mode-lobby .scoreboard-row.is-self,.game-shell.mode-lobby .player-row.is-self{background:var(--panel-glass-tile)}.game-shell.is-active-match .ability-primary,.game-shell.mode-playing .ability-primary,.game-shell.is-active-match .ability-cell,.game-shell.mode-playing .ability-cell,.game-shell.is-active-match .compact-chip,.game-shell.mode-playing .compact-chip,.game-shell.is-active-match .compact-summary-chip,.game-shell.mode-playing .compact-summary-chip,.results-summary-grid div,.results-row,.game-shell.mode-menu .tank-card{border-color:#f7f3ed21;background:var(--panel-glass-tile)}.game-shell.mode-menu .tank-card.is-selected{background:#f06b2b1a}.game-shell.mode-menu input,.game-shell.mode-menu .secondary-button,.game-shell.mode-menu .icon-button{background:var(--panel-glass-tile);color:#f7f3ede6}.game-shell.mode-playing .secondary-button,.game-shell.mode-playing .icon-button,.game-shell.mode-lobby .secondary-button,.game-shell.mode-lobby .icon-button,.overlay-card .secondary-button,.overlay-card .icon-button{background:var(--panel-glass-tile);color:#fffcf6f5}.game-shell.mode-playing .tank-loadout-list span,.game-shell.mode-playing .tank-loadout-list b{color:#f7f3edb8}.game-shell.mode-menu input::placeholder{color:#f7f3eda3;opacity:1}.game-shell.mode-menu .join-form label,.game-shell.mode-menu .room-code-entry label{color:#f7f3edb3}.game-shell.mode-menu .network-message,.game-shell.mode-menu .network-badge b{color:#f7f3edd1}.game-shell.mode-menu button:disabled{opacity:.64}.game-shell.mode-menu .secondary-button:disabled,.game-shell.mode-menu .icon-button:disabled{color:#f7f3ed99}.game-shell.mode-lobby .secondary-button:disabled,.game-shell.mode-lobby .icon-button:disabled{background:#f7f3ed14;border-color:#f7f3ed33;color:#fffcf6eb;opacity:.76;text-shadow:none;filter:none}.game-shell.mode-lobby .secondary-button svg,.game-shell.mode-lobby .icon-button svg{color:currentColor;stroke:currentColor}.game-shell.mode-lobby .secondary-button:disabled *,.game-shell.mode-lobby .icon-button:disabled *{text-shadow:none}.game-shell.mode-menu .dot:not(.is-filled){background:#f7f3ed3d}.game-shell.mode-menu .tank-card.is-selected .dot:not(.is-filled){background:#f7f3ed38}.interactive-panel,.interactive-panel *{pointer-events:auto}.panel-heading,.match-header,.network-badge,.player-index,.player-kit,.room-code-display,.weapon-strip,.tank-status-head,.status-meter,.tank-meta-grid,.stat-row em,.compact-chip,.results-row,.results-summary-grid,.scoreboard-row,.editor-toolbar-label,.editor-layer-toggle-grid,.editor-metrics-grid,.editor-mobile-safe-zone,.editor-mobile-safe-bar,.editor-mobile-safe-strip{font-family:IBM Plex Mono,ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em}.panel-heading{display:flex;justify-content:space-between;gap:12px;color:var(--color-ink-muted);font-size:11px;margin-bottom:12px}h1{margin:0 0 18px;font-family:Rajdhani,sans-serif;font-size:clamp(48px,8vw,82px);line-height:.9;letter-spacing:.04em;text-transform:uppercase}input{width:100%;min-height:44px;border:1px solid var(--panel-border);border-radius:4px;background:#f7f3ed7a;color:var(--color-ink);padding:0 14px;font-size:16px}.primary-button,.secondary-button,.icon-button,.tank-card,.ability-primary,.layer-toggle,.mobile-fire-button,.mobile-ability-button{min-height:44px;border:1px solid var(--panel-border);border-radius:4px;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background-color .14s ease,color .14s ease,box-shadow .14s ease}.primary-button:hover,.secondary-button:hover,.icon-button:hover,.tank-card:hover,.ability-primary:hover,.layer-toggle:hover{transform:translateY(-1px)}.primary-button,.secondary-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.primary-button{background:linear-gradient(180deg,rgba(255,138,83,.94),var(--color-accent));color:var(--color-white);padding:0 16px}.secondary-button{background:#ebe5dd29;color:var(--color-ink);padding:0 14px}.secondary-button.is-active,.layer-toggle.is-active{border-color:#f06b2bc7;background:#f7f3ed57;color:var(--color-accent)}.icon-button{width:44px;height:44px;padding:0;background:#f7f3ed38;color:var(--color-ink)}button:disabled{cursor:not-allowed;opacity:.45;transform:none}.network-message{min-height:18px;margin:6px 0 0;color:var(--color-ink);font-size:12px;line-height:18px}.network-badge{display:inline-flex;align-items:center;gap:7px;max-width:100%;margin-top:12px;color:var(--color-ink-muted);font-size:10px}.network-badge b{overflow:hidden;max-width:210px;color:var(--color-ink);font-weight:500;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.network-badge.is-connected span{color:var(--color-success)}.network-badge.is-connecting span{color:var(--color-warning)}.network-badge.is-error span,.network-badge.is-offline span{color:var(--color-danger)}.landing-panel,.lobby-panel,.tank-select,.scoreboard-panel,.tank-status-card,.match-header,.minimap-panel,.weapon-strip,.ability-dock,.compact-hud,.zone-warning-banner,.webgl-fallback,.game-shell.is-active-match .match-header,.game-shell.is-active-match .minimap-panel,.game-shell.is-active-match .scoreboard-panel,.game-shell.is-active-match .tank-status-card,.game-shell.is-active-match .weapon-strip,.game-shell.is-active-match .ability-dock,.game-shell.is-active-match .zone-warning-banner{border-radius:6px}.landing-panel{position:absolute;left:max(24px,env(safe-area-inset-left));top:max(24px,env(safe-area-inset-top));z-index:8;width:min(442px,calc(100vw - 48px));padding:22px;animation:panel-in .24s ease}.join-form,.editor-controls{display:grid;gap:14px}.join-form label,.room-code-entry label,.editor-controls label{display:grid;gap:8px;color:var(--color-ink-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase}.action-grid,.lobby-actions,.results-actions,.editor-actions,.editor-inline-control,.editor-player-row{display:flex;gap:10px;flex-wrap:wrap}.action-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr}.room-code-entry,.editor-inline-control{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.menu-utility-row{display:flex;justify-content:flex-start;margin-top:14px}.tank-select{position:absolute;right:max(24px,env(safe-area-inset-right));top:max(24px,env(safe-area-inset-top));z-index:8;width:min(392px,calc(100vw - 48px));max-height:calc(100vh - 48px);padding:16px;overflow:auto}.tank-grid,.editor-tank-grid{display:grid;gap:8px}.game-shell.mode-menu .tank-grid{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.tank-card{display:grid;grid-template-columns:minmax(132px,.9fr) minmax(0,1fr);gap:7px 12px;width:100%;padding:12px;background:#f7f3ed29;color:var(--color-ink);text-align:left}.tank-card.is-selected{border-color:#f06b2bc7;background:#f7f3ed4d;box-shadow:inset 0 -1px #f06b2b47,0 10px 24px #f06b2b14}.tank-card-title strong{display:block;font-family:Rajdhani,sans-serif;font-size:22px;line-height:24px;letter-spacing:.05em;text-transform:uppercase}.tank-card.is-selected strong{color:var(--color-accent)}.tank-card-title small,.tank-card-description{color:var(--color-ink-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;line-height:14px;text-transform:uppercase}.tank-card-description{overflow:hidden;max-height:30px;text-transform:none}.stat-row{display:grid;grid-template-columns:76px auto;align-items:center;gap:8px;min-width:0}.stat-row em{color:var(--color-ink-muted);font-size:10px;font-style:normal;white-space:nowrap}.dots,.weapon-dots{display:inline-flex;flex:0 0 auto;gap:6px}.dot,.weapon-dots i{width:6px;height:6px;border-radius:999px;background:#47423d38}.dot.is-filled,.weapon-dots i.is-hot{background:var(--color-white)}.tank-card.is-selected .dot.is-filled,.weapon-dots i.is-hot:last-child{background:var(--color-accent)}.lobby-panel{position:absolute;left:max(24px,env(safe-area-inset-left));top:max(24px,env(safe-area-inset-top));z-index:8;width:min(392px,calc(100vw - 48px));padding:16px;animation:panel-in .24s ease}.game-shell.mode-lobby .lobby-panel{left:50%;top:50%;width:min(392px,calc(100vw - 48px));transform:translate(-50%,-50%);display:flex;flex-direction:column;min-height:0;max-height:min(92dvh,560px);overflow:hidden;animation:lobby-panel-in .18s ease}.room-code-display{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-bottom:12px}.room-code-display span{min-width:0;overflow:hidden;border:1px solid rgba(247,243,237,.28);border-radius:6px;background:linear-gradient(180deg,#ffffff29,#ffffff09),#2f2e2a2e;color:#fffcf6f5;font-size:28px;font-weight:700;line-height:44px;padding:0 12px;text-shadow:none;-webkit-text-stroke:0;text-overflow:ellipsis}.countdown-block{margin-bottom:12px;border:1px solid rgba(240,107,43,.46);border-radius:6px;background:#f06b2b14;color:var(--color-accent);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:28px;line-height:48px;text-align:center}.player-list,.scoreboard-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.player-list{max-height:min(342px,calc(100dvh - 244px));overflow-y:auto;padding-right:2px;-ms-overflow-style:none;scrollbar-width:none;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 12px),transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 12px),transparent 100%)}.player-list::-webkit-scrollbar{display:none}.player-row{display:grid;grid-template-columns:28px 10px minmax(0,1fr) auto;align-items:center;column-gap:10px;min-height:34px;border-radius:5px;padding:0 8px;color:var(--color-ink)}.player-row.is-self{background:#f7f3ed4d}.player-index,.player-kit{color:var(--color-ink-muted);font-size:10px}.player-dot{width:7px;height:7px;border-radius:999px;background:var(--color-white)}.player-row:not(.is-self) .player-dot{background:var(--color-accent)}.game-shell.mode-lobby .player-row.is-self .player-name{color:#f06b2b}.player-name{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.lobby-actions{margin-top:14px}.game-shell.mode-lobby .player-list{flex:1 1 auto;min-height:0}.game-shell.mode-lobby :is(.lobby-actions,.network-message,.network-badge){flex:0 0 auto}.match-header{position:absolute;top:max(20px,env(safe-area-inset-top));left:50%;width:min(480px,calc(100vw - 48px));min-height:66px;transform:translate(-50%);display:grid;align-content:center;gap:7px;padding:9px 18px 8px;font-size:11px;text-align:center}.match-header:after,.scoreboard-panel:after,.tank-status-card:after,.weapon-strip:after,.ability-dock:after{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #f7f3ed1a;content:"";pointer-events:none}.match-header-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}.match-header-top span:first-child{text-align:left}.match-header-top span:last-child{text-align:right}.match-header strong{font-size:24px;font-weight:500}.match-pressure-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.match-pressure-row b{color:var(--color-white);font-size:12px;font-weight:500}.match-pressure-track{position:relative;display:block;height:5px}.match-pressure-track:before,.match-pressure-safe,.match-pressure-threat{position:absolute;top:50%;height:3px;transform:translateY(-50%);content:""}.match-pressure-track:before{inset-inline:0;background:#47423d2e}.match-pressure-safe{left:0;background:var(--color-white)}.match-pressure-threat{right:0;background:var(--color-accent)}.match-pressure-track em{position:absolute;top:-7px;width:0;height:0;border-right:5px solid transparent;border-left:5px solid transparent;border-top:7px solid var(--color-white);transform:translate(-50%)}.match-header.is-alert{border-color:#d758458f;color:var(--color-danger)}.minimap-panel{position:absolute;isolation:isolate;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));width:224px;height:198px;overflow:visible;padding:14px;transition:width .18s ease,height .18s ease,background-color .18s ease,backdrop-filter .18s ease}.minimap-panel:before,.minimap-panel:after{display:none;content:none}.game-shell.is-active-match .minimap-panel,.game-shell.mode-playing .minimap-panel{top:max(24px,env(safe-area-inset-top));bottom:auto}.minimap-grid{position:relative;z-index:1;display:block;height:auto;margin-top:0;padding:18px 28px 32px;transform:translateY(-4px);overflow:visible;border-radius:0;border:0;background:transparent}.minimap-map{position:relative;width:100%;max-height:none;height:auto;overflow:visible;border-radius:0}.minimap-controls{position:absolute;z-index:2;left:14px;bottom:14px;display:flex;justify-content:flex-start;pointer-events:auto}.minimap-controls button{appearance:none;display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(247,243,237,.16);border-radius:5px;background:#22201c2e;color:#fffcf6c2;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;text-shadow:0 1px 2px rgba(20,19,18,.68);cursor:pointer}.minimap-controls button:disabled{opacity:.38;cursor:default}.minimap-panel.is-expanded{width:320px;height:278px}.minimap-panel.is-expanded .minimap-grid{height:auto}.minimap-wall,.minimap-zone,.minimap-pickup,.self-marker,.threat-marker{position:absolute;transform:translate(-50%,-50%)}.minimap-wall{min-width:2px;min-height:2px;background:#dacfb8a8;box-shadow:inset 0 1px #fffcf624,0 0 0 1px #26231e3d,0 2px 5px #0a09085c}.minimap-zone{border-radius:999px;pointer-events:none}.minimap-zone.is-current{border:1px solid rgba(255,154,77,.72);box-shadow:inset 0 0 0 1px #ff9a4d24,0 0 10px #f06b2b29}.minimap-zone.is-target{border:1px dashed rgba(247,243,237,.54)}.minimap-pickup{width:6px;height:6px;border-radius:999px}.minimap-pickup.is-repair{background:var(--color-success)}.minimap-pickup.is-armor{background:var(--color-team-blue)}.minimap-pickup.is-ammo,.minimap-pickup.is-explosive{background:var(--color-accent)}.minimap-pickup.is-speed{background:var(--color-warning)}.minimap-pickup.is-ability{background:var(--color-white)}.minimap-pickup.is-smoke{background:#f7f3ed80}.self-marker,.threat-marker{width:0;height:0;border-radius:0;background:transparent;filter:drop-shadow(0 1px 1px rgba(47,46,42,.18))}.self-marker{border-right:5px solid transparent;border-bottom:9px solid var(--color-white);border-left:5px solid transparent;box-shadow:none}.self-marker.is-alert{border-bottom-color:var(--color-danger);animation:pulse-alert .9s infinite}.threat-marker{border-right:5px solid transparent;border-bottom:9px solid var(--color-accent);border-left:5px solid transparent}.scoreboard-panel{position:absolute;top:max(24px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));width:260px;min-height:308px;padding:14px}.scoreboard-list{gap:0}.scoreboard-row{display:grid;grid-template-columns:30px 10px minmax(0,1fr) auto;align-items:center;column-gap:10px;min-height:29px;border-radius:4px;padding:0 8px;border-top:1px solid rgba(183,176,166,.26);background:transparent;font-size:10px}.scoreboard-row:first-child{color:#f06b2b}.scoreboard-row.is-self{background:#f7f3ed2e}.scoreboard-rank,.scoreboard-stat{color:var(--color-ink-muted)}.scoreboard-row:first-child .scoreboard-rank,.scoreboard-row:first-child .scoreboard-stat,.scoreboard-row:first-child .scoreboard-name{color:#f06b2b}.scoreboard-stat:last-child{display:none}.scoreboard-dot{width:6px;height:6px;border-radius:999px;background:var(--color-white)}.scoreboard-row:first-child .scoreboard-dot{background:#f06b2b}.scoreboard-name{overflow:hidden;font-family:Inter,sans-serif;font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0}.tank-status-card{position:absolute;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));width:276px;min-height:260px;padding:16px}.tank-status-head{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:14px}.tank-status-toggle{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid rgba(183,176,166,.5);border-radius:5px;background:#f7f3ed38;color:var(--color-ink);cursor:pointer}.tank-status-head strong{display:block;font-family:Rajdhani,sans-serif;font-size:18px;letter-spacing:.04em;line-height:22px}.tank-status-head em,.tank-status-head b{color:var(--color-ink-muted);font-size:10px;font-style:normal;font-weight:500}.tank-status-summary{display:flex;flex-wrap:wrap;gap:6px;color:var(--color-ink-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;text-transform:uppercase}.tank-status-summary span{border-radius:5px;background:#f7f3ed33;padding:7px 8px}.tank-health-pips{display:flex;align-items:center;gap:7px;margin:2px 0 18px;color:var(--color-ink-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px}.tank-health-pips i{width:7px;height:7px;border-radius:999px;background:#47423d38}.tank-health-pips i.is-hot{background:var(--color-white)}.tank-health-pips span{margin-left:auto}.tank-schematic{position:relative;height:54px;margin-bottom:18px;color:#f7f3eddb}.tank-schematic span{position:absolute;display:block;border:1px solid currentColor}.schematic-hull{left:8px;top:6px;width:90px;height:42px;border-radius:5px}.schematic-turret{left:45px;top:13px;width:70px;height:28px;border-radius:3px}.schematic-barrel{left:108px;top:25px;width:112px;height:6px}.tank-loadout-list{display:grid;gap:8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;text-transform:uppercase}.tank-loadout-list span{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:30px;color:var(--color-ink-muted)}.tank-loadout-list b{display:grid;place-items:center;width:24px;height:24px;border-radius:5px;background:#f7f3ed33;color:var(--color-ink);font-weight:500}.tank-loadout-list em{color:var(--color-accent);font-style:normal}.tank-status-card.is-collapsed{width:246px;min-height:92px;padding:12px}.tank-status-card.is-collapsed .tank-status-head{margin-bottom:8px}.weapon-strip{position:absolute;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%);display:grid;grid-template-columns:minmax(0,1fr);align-items:center;justify-items:center;width:min(430px,calc(100vw - 332px));min-height:56px;padding:0 18px;font-size:11px}.weapon-icon{display:grid;place-items:center;width:28px;height:28px;color:#f7f3edd1}.weapon-strip-cell,.weapon-name{display:flex;align-items:center;gap:8px;min-width:0}.weapon-strip-cell{flex-wrap:wrap}.weapon-strip-cell.is-weapon{justify-content:flex-start;color:#f7f3ede0}.weapon-strip-cell.is-secondary{justify-content:flex-end;color:var(--color-ink-muted)}.weapon-strip-cell.is-pickup{align-items:center;justify-content:center;gap:3px 8px;color:#f7f3edbd;text-align:center}.weapon-strip-cell.is-pickup.is-active{color:var(--color-white)}.weapon-strip-title{overflow:hidden;color:#f7f3ede6;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.pickup-strip-title{display:inline-flex;align-items:center;gap:6px;color:var(--color-accent);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pickup-strip-detail{flex-basis:100%;overflow:hidden;color:inherit;display:-webkit-box;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ammo-readout{color:var(--color-accent);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:22px}.weapon-type{color:var(--color-ink-muted);font-size:20px}.pickup-strip-timer{min-width:48px;color:#f7f3edb8;font-size:12px;text-align:right;text-transform:uppercase}.pickup-strip-timer.is-active{color:var(--color-accent)}.ability-dock{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:grid;place-items:center;gap:0;width:176px;height:176px;padding:0;overflow:visible}.ability-primary,.ability-cell{min-height:88px;border-radius:0}.ability-primary{position:relative;display:grid;place-items:center;gap:2px;padding:12px 8px 8px;border:0;border-right:1px solid rgba(71,66,61,.18);border-bottom:1px solid rgba(71,66,61,.18);background:transparent;color:var(--color-ink)}.ability-primary-solo{width:104px;min-height:104px;border:1px solid rgba(71,66,61,.18);background:linear-gradient(180deg,#fffcf611,#fffcf606),#fffcf606}.ability-cell{display:grid}.ability-primary strong{color:var(--color-accent);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;letter-spacing:0;line-height:1;text-transform:uppercase}.ability-primary small,.ability-cell small{color:var(--color-ink-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:8px;text-transform:uppercase}.ability-primary.is-ready{border-color:#f06b2bb3;color:var(--color-accent)}.ability-cell{position:relative;place-items:center;gap:2px;overflow:hidden;padding:12px 8px 8px;background:transparent;border-right:1px solid rgba(71,66,61,.18);border-bottom:1px solid rgba(71,66,61,.18)}.ability-primary:after,.ability-cell:after{position:absolute;right:12px;bottom:10px;width:4px;height:4px;border-radius:999px;background:var(--color-accent);content:""}.ability-cell strong{color:var(--color-accent);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;letter-spacing:0;line-height:1}.utility-key{position:absolute;left:10px;top:8px;color:var(--color-ink-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;letter-spacing:0;text-transform:uppercase}.compact-hud{display:none}.zone-warning-banner{position:absolute;top:max(92px,calc(env(safe-area-inset-top) + 86px));left:50%;transform:translate(-50%);display:grid;grid-template-columns:auto auto auto;gap:12px;align-items:center;width:min(420px,calc(100vw - 48px));min-height:36px;padding:0 12px;border-color:#d7584594;color:var(--color-danger);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;text-transform:uppercase}.zone-warning-banner strong{overflow:hidden;color:var(--color-accent);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.zone-warning-banner b{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;text-align:right}.zone-danger-vignette{position:absolute;inset:0;z-index:3;background:radial-gradient(circle at center,transparent 38%,rgba(215,88,69,.1) 70%,rgba(215,88,69,.16) 100%);pointer-events:none;animation:pulse-alert 1.2s infinite}.match-overlay{position:absolute;inset:0;z-index:9;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:#2f2e2a1f}.overlay-card{width:min(760px,calc(100vw - 48px));padding:24px;border-radius:6px;background:linear-gradient(135deg,#f7f3ed1c,#f7f3ed08 38%,#2f2e2a1c),#4e4a4266;border:1px solid rgba(247,243,237,.3);box-shadow:inset 0 1px #fff3,0 24px 80px #2f2e2a2e;color:#f7f3edeb;-webkit-backdrop-filter:blur(3px) saturate(.9) brightness(.98);backdrop-filter:blur(3px) saturate(.9) brightness(.98);animation:panel-in .2s ease}.overlay-card-compact{width:min(560px,calc(100vw - 48px))}.results-hero{margin:6px 0 20px;display:grid;gap:8px}.results-hero strong{font-family:Rajdhani,sans-serif;font-size:clamp(34px,5vw,56px);line-height:.92;letter-spacing:.05em;text-transform:uppercase}.results-hero.is-compact strong{font-size:clamp(28px,4vw,40px)}.results-kicker{color:var(--color-accent);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.results-hero p{max-width:56ch;margin:0;color:#f7f3edad;line-height:1.5}.results-summary-grid,.editor-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.results-summary-grid{margin-bottom:18px}.results-summary-grid div,.editor-metrics-grid div{min-height:86px;display:grid;align-content:space-between;padding:12px;border-radius:6px;background:#f7f3ed1a}.results-summary-grid small,.editor-metrics-grid small{color:#f7f3ed99;font-size:10px}.results-summary-grid strong,.editor-metrics-grid strong{font-family:Rajdhani,sans-serif;font-size:24px;letter-spacing:.05em}.results-actions{margin-bottom:18px}.results-table{display:grid;gap:8px}.results-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;gap:14px;align-items:center;min-height:44px;padding:0 12px;border-radius:5px;background:#f7f3ed14;font-size:10px}.results-row strong{overflow:hidden;font-family:Inter,sans-serif;font-size:15px;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0}.results-row.is-self{border:1px solid rgba(240,107,43,.58);background:#f7f3ed1c}.webgl-fallback{position:absolute;left:50%;top:50%;z-index:3;display:grid;gap:4px;width:min(280px,calc(100vw - 48px));padding:14px;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.webgl-fallback strong{font-family:Rajdhani,sans-serif;font-size:20px;letter-spacing:.05em;text-transform:uppercase}.webgl-fallback span{color:var(--color-ink-muted);font-size:12px}.game-shell.mode-lobby,.game-shell.mode-playing,.game-shell.is-active-match{--live-hud-text: rgba(255, 252, 246, .94);--live-hud-muted: rgba(255, 252, 246, .68);--live-hud-dim: rgba(255, 252, 246, .46);--live-hud-slab: rgba(255, 252, 246, .055);--live-hud-slab-strong: rgba(255, 252, 246, .085);--live-hud-border: rgba(255, 252, 246, .15);--live-hud-border-soft: rgba(255, 252, 246, .08);--live-hud-shadow: rgba(0, 0, 0, .16);--live-hud-accent: #f06b2b}.game-shell.mode-lobby :is(.lobby-panel,.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.compact-hud,.zone-warning-banner),.game-shell.mode-playing :is(.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.compact-hud,.zone-warning-banner),.game-shell.is-active-match :is(.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.compact-hud,.zone-warning-banner),.match-overlay .overlay-card{isolation:isolate;border-color:transparent;border-radius:0;background:transparent;box-shadow:none;color:var(--live-hud-text);-webkit-backdrop-filter:none;backdrop-filter:none}.match-overlay .overlay-card{position:relative}.game-shell.mode-lobby :is(.lobby-panel,.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.compact-hud,.zone-warning-banner):before,.game-shell.mode-playing :is(.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.compact-hud,.zone-warning-banner):before,.game-shell.is-active-match :is(.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.compact-hud,.zone-warning-banner):before,.match-overlay .overlay-card:before{position:absolute;inset:-10px -14px;z-index:-1;border-radius:8px;background:linear-gradient(135deg,#fffcf60f,#fffcf604 46%,#00000007),#12161712;box-shadow:inset 0 1px #fffcf609,inset 0 -1px #00000009;content:"";pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.42) 5%,#000 16%,#000 84%,rgba(0,0,0,.42) 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.42) 7%,#000 18%,#000 82%,rgba(0,0,0,.42) 93%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.42) 5%,#000 16%,#000 84%,rgba(0,0,0,.42) 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.42) 7%,#000 18%,#000 82%,rgba(0,0,0,.42) 93%,transparent 100%);mask-composite:intersect;-webkit-backdrop-filter:blur(2px) saturate(1.03) brightness(.99);backdrop-filter:blur(2px) saturate(1.03) brightness(.99)}.game-shell.mode-lobby :is(.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.zone-warning-banner):after,.game-shell.mode-playing :is(.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.zone-warning-banner):after,.game-shell.is-active-match :is(.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.zone-warning-banner):after{box-shadow:none;opacity:0}.game-shell.mode-lobby :is(.lobby-panel,.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.compact-hud,.zone-warning-banner) :is(.panel-heading,strong,b,em,span,small,button,input,li),.game-shell.mode-playing :is(.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.compact-hud,.zone-warning-banner) :is(.panel-heading,strong,b,em,span,small,button,li),.game-shell.is-active-match :is(.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.compact-hud,.zone-warning-banner) :is(.panel-heading,strong,b,em,span,small,button,li),.match-overlay .overlay-card :is(.panel-heading,strong,b,em,span,small,button,p,li){text-shadow:0 1px 4px rgba(0,0,0,.52)}.game-shell.mode-lobby :is(.panel-heading,.match-header strong,.player-name,.scoreboard-name,.weapon-name,.weapon-type,.tank-status-head strong),.game-shell.mode-playing :is(.panel-heading,.match-header strong,.scoreboard-name,.weapon-name,.weapon-type,.tank-status-head strong),.game-shell.is-active-match :is(.panel-heading,.match-header strong,.scoreboard-name,.weapon-name,.weapon-type,.tank-status-head strong),.match-overlay .overlay-card :is(.panel-heading,.results-hero strong,.results-row strong){color:var(--live-hud-text)}.game-shell.mode-lobby :is(.player-index,.player-kit,.scoreboard-rank,.scoreboard-stat,.tank-status-head em,.tank-status-head b,.tank-status-summary,.tank-health-pips,.weapon-strip-cell.is-secondary,.ability-primary small,.ability-cell small,.utility-key,.compact-summary-chip span,.network-badge),.game-shell.mode-playing :is(.scoreboard-rank,.scoreboard-stat,.tank-status-head em,.tank-status-head b,.tank-status-summary,.tank-health-pips,.weapon-strip-cell.is-secondary,.ability-primary small,.ability-cell small,.utility-key,.compact-summary-chip span),.game-shell.is-active-match :is(.scoreboard-rank,.scoreboard-stat,.tank-status-head em,.tank-status-head b,.tank-status-summary,.tank-health-pips,.weapon-strip-cell.is-secondary,.ability-primary small,.ability-cell small,.utility-key,.compact-summary-chip span),.match-overlay .overlay-card :is(.results-hero p,.results-summary-grid small){color:var(--live-hud-muted)}.game-shell.mode-lobby :is(.player-row,.scoreboard-row,.tank-status-summary span,.tank-loadout-list b,.compact-chip,.compact-summary-chip),.game-shell.mode-playing :is(.scoreboard-row,.tank-status-summary span,.tank-loadout-list b,.compact-chip,.compact-summary-chip),.game-shell.is-active-match :is(.scoreboard-row,.tank-status-summary span,.tank-loadout-list b,.compact-chip,.compact-summary-chip),.match-overlay .overlay-card :is(.results-summary-grid div,.results-row){border-color:transparent;border-radius:4px;background:linear-gradient(90deg,#fffcf60e,#fffcf606),#fffcf607}.game-shell.mode-lobby :is(.player-row.is-self,.scoreboard-row.is-self),.game-shell.mode-playing .scoreboard-row.is-self,.game-shell.is-active-match .scoreboard-row.is-self,.match-overlay .overlay-card .results-row.is-self{border-color:transparent;background:linear-gradient(90deg,#f06b2b21,#f06b2b09),#fffcf609}.game-shell.mode-lobby .player-row{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,#080a0a7a,#080a0a47 70%,#080a0a24),#fffcf605}.game-shell.mode-lobby .player-row.is-self{background:linear-gradient(90deg,#080a0a94,#f06b2b1a 52%,#080a0a3d),#fffcf605}.game-shell.mode-lobby .player-row:before{position:absolute;inset:0;z-index:0;border-radius:inherit;background:linear-gradient(90deg,#fffcf608,#fffcf603),#00000047;content:"";pointer-events:none;-webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.76),#000 18%,#000 82%,rgba(0,0,0,.58));mask-image:linear-gradient(to right,#000000c2,#000 18% 82%,#00000094);-webkit-backdrop-filter:blur(3px) brightness(.72) saturate(1.04);backdrop-filter:blur(3px) brightness(.72) saturate(1.04)}.game-shell.mode-lobby .player-row>*{position:relative;z-index:1}.game-shell.mode-lobby :is(.player-row.is-self .player-name,.scoreboard-row:first-child,.scoreboard-row:first-child .scoreboard-rank,.scoreboard-row:first-child .scoreboard-stat,.scoreboard-row:first-child .scoreboard-name),.game-shell.mode-playing :is(.scoreboard-row:first-child,.scoreboard-row:first-child .scoreboard-rank,.scoreboard-row:first-child .scoreboard-stat,.scoreboard-row:first-child .scoreboard-name),.game-shell.is-active-match :is(.scoreboard-row:first-child,.scoreboard-row:first-child .scoreboard-rank,.scoreboard-row:first-child .scoreboard-stat,.scoreboard-row:first-child .scoreboard-name){color:var(--live-hud-accent)}.game-shell.mode-lobby .player-row.is-self .player-name{color:#ff7a35;text-shadow:0 1px 2px rgba(0,0,0,.78),0 0 10px rgba(240,107,43,.34)}.game-shell.mode-lobby .room-code-display span{border-color:var(--live-hud-border);background:linear-gradient(90deg,#fffcf612,#fffcf605),#fffcf609;color:var(--live-hud-text);text-shadow:0 1px 6px rgba(0,0,0,.46)}.game-shell.mode-lobby :is(.secondary-button,.icon-button),.game-shell.mode-playing :is(.secondary-button,.icon-button),.game-shell.is-active-match :is(.secondary-button,.icon-button),.match-overlay .overlay-card :is(.secondary-button,.icon-button){border-color:transparent;background:linear-gradient(180deg,#fffcf613,#fffcf605),#fffcf609;box-shadow:none;color:var(--live-hud-text)}.game-shell.mode-lobby :is(.secondary-button,.icon-button) svg,.game-shell.mode-playing :is(.secondary-button,.icon-button) svg,.game-shell.is-active-match :is(.secondary-button,.icon-button) svg,.match-overlay .overlay-card :is(.secondary-button,.icon-button) svg{color:currentColor;stroke:currentColor}.game-shell.mode-lobby :is(.primary-button,.ability-primary.is-ready),.game-shell.mode-playing :is(.primary-button,.ability-primary.is-ready),.game-shell.is-active-match :is(.primary-button,.ability-primary.is-ready),.match-overlay .overlay-card .primary-button{border-color:transparent;background:linear-gradient(180deg,#ff844ef5,#e1471ff0),var(--live-hud-accent);box-shadow:inset 0 1px #fffcf62e,0 8px 20px #f06b2b21;color:var(--color-white)}.game-shell.mode-lobby :is(.secondary-button:disabled,.icon-button:disabled),.game-shell.mode-playing :is(.secondary-button:disabled,.icon-button:disabled),.game-shell.is-active-match :is(.secondary-button:disabled,.icon-button:disabled),.match-overlay .overlay-card :is(.secondary-button:disabled,.icon-button:disabled){color:#fffcf69e;opacity:.66;text-shadow:none}.game-shell.mode-lobby :is(.ability-primary,.ability-cell),.game-shell.mode-playing :is(.ability-primary,.ability-cell),.game-shell.is-active-match :is(.ability-primary,.ability-cell){border-color:transparent;background:transparent;color:var(--live-hud-text)}.game-shell.mode-lobby :is(.ability-primary strong,.ability-cell strong,.ammo-readout,.tank-loadout-list em,.results-kicker),.game-shell.mode-playing :is(.ability-primary strong,.ability-cell strong,.ammo-readout,.tank-loadout-list em),.game-shell.is-active-match :is(.ability-primary strong,.ability-cell strong,.ammo-readout,.tank-loadout-list em),.match-overlay .overlay-card .results-kicker{color:var(--live-hud-accent)}.game-shell.mode-lobby .match-pressure-track:before,.game-shell.mode-playing .match-pressure-track:before,.game-shell.is-active-match .match-pressure-track:before{background:#fffcf62e}.game-shell.mode-lobby :is(.match-pressure-safe),.game-shell.mode-playing :is(.match-pressure-safe),.game-shell.is-active-match :is(.match-pressure-safe){background:#fffcf6e6}.game-shell.mode-lobby :is(.match-pressure-threat),.game-shell.mode-playing :is(.match-pressure-threat),.game-shell.is-active-match :is(.match-pressure-threat){background:var(--live-hud-accent)}.game-shell.mode-lobby .match-header.is-alert,.game-shell.mode-playing .match-header.is-alert,.game-shell.is-active-match .match-header.is-alert,.game-shell.mode-lobby .zone-warning-banner,.game-shell.mode-playing .zone-warning-banner,.game-shell.is-active-match .zone-warning-banner{border-color:transparent;color:var(--live-hud-accent)}.game-shell.mode-lobby .zone-warning-banner strong,.game-shell.mode-playing .zone-warning-banner strong,.game-shell.is-active-match .zone-warning-banner strong{color:var(--live-hud-accent)}.match-overlay{background:#0000002e}.mobile-controls{display:none}.editor-shell{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:20px;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 top left,rgba(247,243,237,.16),transparent 30%),linear-gradient(160deg,#625c54,#3d3934)}.editor-sidebar,.editor-preview-panel{border-radius:24px;padding:18px}.editor-sidebar{display:grid;align-content:start;gap:16px;overflow:auto}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-toolbar-label{color:var(--color-ink-muted);font-size:10px}.editor-main{min-width:0;display:grid;gap:20px}.editor-preview-panel{overflow:hidden}.editor-player-row{align-items:center}.editor-player-row input[type=range]{flex:1}.editor-player-row input[type=number]{width:88px}.editor-actions{margin-top:-4px}.editor-layer-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.layer-toggle{background:#f7f3ed6b;color:var(--color-ink);padding:0 12px;font-size:11px}.editor-map-stage{position:relative;width:100%;aspect-ratio:2400 / 1632;margin-top:6px;overflow:hidden;border-radius:24px;border:1px solid rgba(183,176,166,.4);background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.1),transparent 24%),linear-gradient(180deg,rgba(255,255,255,.08),transparent 36%),#5f5a526b}.editor-map-grid,.editor-map-stage:after{position:absolute;inset:0;content:"";pointer-events:none}.editor-map-grid{background-image:linear-gradient(rgba(247,243,237,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(247,243,237,.06) 1px,transparent 1px);background-size:64px 64px}.editor-map-stage:after{background:linear-gradient(180deg,#2f2e2a00,#2f2e2a2e)}.editor-wall,.editor-zone-ring,.editor-spawn,.editor-pickup,.editor-preview-tank,.editor-mobile-safe-zone,.editor-mobile-safe-bar,.editor-mobile-safe-strip{position:absolute}.editor-wall{background:#f7f3ed52;border:1px solid rgba(71,66,61,.3);transform:translate(-50%,-50%)}.editor-zone-ring{border-radius:999px;transform:translate(-50%,-50%)}.editor-zone-ring.is-running{border:1px solid rgba(247,243,237,.5)}.editor-zone-ring.is-danger{border:1px dashed rgba(240,180,91,.8)}.editor-zone-ring.is-final_zone{border:1px solid rgba(215,88,69,.76)}.editor-spawn,.editor-pickup,.editor-preview-tank{transform:translate(-50%,-50%)}.editor-spawn{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:#f7f3edcc;color:var(--color-ink);font-size:10px}.editor-pickup{min-width:26px;min-height:26px;padding:0 6px;display:grid;place-items:center;border-radius:999px;color:var(--color-ink);font-size:9px}.editor-pickup.is-repair{background:#88a06ae6}.editor-pickup.is-armor{background:#5c7c8ce6}.editor-pickup.is-ammo,.editor-pickup.is-explosive{background:#f06b2be0;color:var(--color-white)}.editor-pickup.is-speed{background:#f0b45be6}.editor-pickup.is-ability{background:#f7f3ede0}.editor-pickup.is-smoke{background:#47423dcc;color:var(--color-white)}.editor-preview-tank{width:54px;height:34px;border-radius:12px;box-shadow:0 8px 16px #2f2e2a38}.editor-preview-tank:before{position:absolute;left:50%;top:50%;width:26px;height:16px;border-radius:10px;content:"";transform:translate(-50%,-50%)}.editor-preview-tank:after{position:absolute;right:-14px;top:50%;width:20px;height:6px;border-radius:999px;content:"";transform:translateY(-50%)}.editor-preview-tank.is-nova,.editor-skin-preview.is-nova .editor-skin-hull{background:#f7f3ed}.editor-preview-tank.is-nova:before,.editor-skin-preview.is-nova .editor-skin-turret{background:#47423d}.editor-preview-tank.is-nova:after,.editor-skin-preview.is-nova .editor-skin-barrel{background:#ff6a2b}.editor-preview-tank.is-atlas,.editor-skin-preview.is-atlas .editor-skin-hull{background:#c7b28f}.editor-preview-tank.is-atlas:before,.editor-skin-preview.is-atlas .editor-skin-turret{background:#5c7c8c}.editor-preview-tank.is-atlas:after,.editor-skin-preview.is-atlas .editor-skin-barrel{background:#f7f3ed}.editor-preview-tank.is-quill,.editor-skin-preview.is-quill .editor-skin-hull{background:#e7d2c4}.editor-preview-tank.is-quill:before,.editor-skin-preview.is-quill .editor-skin-turret{background:#ff6a2b}.editor-preview-tank.is-quill:after,.editor-skin-preview.is-quill .editor-skin-barrel{background:#47423d}.editor-preview-tank.is-rook,.editor-skin-preview.is-rook .editor-skin-hull{background:#8aa168}.editor-preview-tank.is-rook:before,.editor-skin-preview.is-rook .editor-skin-turret{background:#f7f3ed}.editor-preview-tank.is-rook:after,.editor-skin-preview.is-rook .editor-skin-barrel{background:#47423d}.editor-mobile-safe-zone{display:grid;place-items:center;border:1px dashed rgba(247,243,237,.34);background:#2f2e2a29;color:#f7f3edb8;font-size:10px}.editor-mobile-safe-zone.is-minimap{left:12px;bottom:144px;width:132px;height:132px;border-radius:14px}.editor-mobile-safe-zone.is-stick{left:18px;bottom:18px;width:136px;height:136px;border-radius:999px}.editor-mobile-safe-zone.is-aim{right:20px;bottom:98px;width:126px;height:126px;border-color:#f06b2b61;border-radius:999px;color:#f06b2bd1}.editor-mobile-safe-zone.is-fire{right:28px;bottom:20px;width:76px;height:76px;border-color:#f06b2b9e;border-radius:999px;color:var(--color-accent-hot)}.editor-mobile-safe-zone.is-ability{right:114px;bottom:32px;width:58px;height:58px;border-radius:999px}.editor-mobile-safe-bar{left:12px;right:12px;top:72px;min-height:48px;display:grid;place-items:center;padding:0 16px;border-radius:14px;border:1px dashed rgba(247,243,237,.28);background:#2f2e2a29;color:#f7f3ed99;font-size:10px}.editor-mobile-safe-strip{left:50%;bottom:18px;transform:translate(-50%);width:min(268px,calc(100% - 196px));min-width:150px;min-height:54px;display:grid;place-items:center;border:1px dashed rgba(247,243,237,.28);border-radius:14px;background:#2f2e2a24;color:#f7f3ed99;font-size:10px}.editor-skin-preview{position:relative;min-height:168px;display:grid;place-items:center;margin-top:4px;border-radius:20px;background:linear-gradient(180deg,#f7f3ed80,#f7f3ed29),#5f5a521f;overflow:hidden}.editor-skin-hull,.editor-skin-turret,.editor-skin-barrel{position:absolute;border-radius:18px}.editor-skin-hull{width:172px;height:84px}.editor-skin-turret{width:92px;height:48px}.editor-skin-barrel{width:94px;height:12px;right:calc(50% - 94px)}.editor-skin-copy{position:absolute;bottom:18px;left:18px;right:18px;display:grid;gap:4px}.editor-skin-copy strong{font-family:Rajdhani,sans-serif;font-size:24px;letter-spacing:.06em;text-transform:uppercase}.editor-skin-copy small{color:var(--color-ink-muted);line-height:1.4}.mode-menu .hud-layer{display:none}@keyframes panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes lobby-panel-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 10px))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes pulse-alert{0%,to{opacity:1}50%{opacity:.74}}@media(max-width:1180px){.scoreboard-panel{display:none}.scoreboard-panel.is-open{display:block;top:auto;bottom:calc(188px + env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right));width:min(292px,calc(100vw - 24px));z-index:8}.editor-shell{grid-template-columns:1fr}.editor-sidebar{max-height:42vh}.editor-main{grid-template-columns:1fr}}@media(max-width:980px){.tank-status-card{width:248px}.results-summary-grid,.editor-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(orientation:landscape)and (max-height:640px){.game-shell.mode-lobby .lobby-panel{max-height:calc(100dvh - 18px)}.game-shell.mode-lobby .player-list{max-height:max(112px,calc(100dvh - 252px))}}@media(max-width:760px){.landing-panel,.lobby-panel{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));width:auto;padding:14px}.game-shell.mode-lobby .lobby-panel{left:50%;right:auto;top:50%;width:min(392px,calc(100vw - 24px));transform:translate(-50%,-50%)}h1{margin-bottom:12px;font-size:38px}.action-grid{grid-template-columns:1fr 1fr}.action-grid .primary-button{grid-column:span 2}.room-code-entry{grid-template-columns:1fr 92px}.tank-select{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:calc(max(12px,env(safe-area-inset-top)) + 356px);bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-height:none;padding:12px}.tank-grid,.editor-tank-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tank-card{grid-template-columns:1fr;min-height:72px;padding:9px}.tank-card-description,.tank-card .stat-row{display:none}.tank-card-title strong{font-size:20px}.match-header{top:max(10px,env(safe-area-inset-top));width:min(336px,calc(100vw - 24px));min-height:54px;gap:8px;padding:0 10px;font-size:9px}.match-header strong{font-size:20px}.minimap-panel{left:max(12px,env(safe-area-inset-left));bottom:calc(144px + env(safe-area-inset-bottom));width:132px;height:124px;padding:10px}.minimap-panel.is-expanded{width:190px;height:168px}.minimap-grid{height:auto;margin-top:0;padding:13px 13px 21px;transform:translateY(-4px)}.minimap-panel.is-expanded .minimap-grid{height:auto}.weapon-strip{bottom:calc(18px + env(safe-area-inset-bottom));grid-template-columns:auto minmax(86px,max-content) minmax(132px,1fr) auto;gap:10px;width:min(460px,calc(100vw - 210px));min-height:54px;padding:0 10px;font-size:9px}.weapon-type,.weapon-dots{display:none}.ability-dock{right:max(12px,env(safe-area-inset-right));bottom:calc(150px + env(safe-area-inset-bottom));width:168px;padding:8px}.ability-primary{min-height:60px;padding:10px}.ability-primary strong{font-size:18px}.ability-cell{min-height:56px;padding:8px 10px}.zone-warning-banner{top:max(74px,calc(env(safe-area-inset-top) + 66px));width:min(312px,calc(100vw - 24px));grid-template-columns:auto 1fr auto;gap:8px;min-height:0;padding:8px 10px;text-align:center}.zone-warning-banner strong{font-size:9px}.compact-hud{position:absolute;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:max(72px,env(safe-area-inset-top) + 64px);z-index:8;display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:8px;padding:8px}.compact-hud.is-collapsed{right:auto;width:auto;max-width:min(210px,calc(100vw - 24px));grid-template-columns:1fr;gap:0;padding:6px}.compact-chip{min-height:48px;border-radius:6px;display:grid;align-content:center;justify-items:center;gap:1px;background:var(--panel-glass-tile);font-size:9px}.compact-summary-chip{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:8px;min-height:44px;border:0;border-radius:6px;background:var(--panel-glass-tile);color:#f7f3ede6;padding:0 10px;font-family:IBM Plex Mono,ui-monospace,monospace;text-transform:uppercase}.compact-summary-chip span{color:var(--color-ink-muted);font-size:9px}.compact-summary-chip strong{font-family:Rajdhani,sans-serif;font-size:16px;letter-spacing:.04em}.compact-chip strong{font-family:Rajdhani,sans-serif;font-size:18px;letter-spacing:.05em}.compact-chip.is-warning{color:var(--color-danger)}.compact-chip.is-score{border:1px solid var(--panel-border);cursor:pointer}.match-overlay{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))}.overlay-card,.overlay-card-compact{width:min(100%,calc(100vw - 24px));padding:16px;border-radius:6px}.results-hero strong{font-size:32px}.results-row{grid-template-columns:58px minmax(0,1fr) auto}.results-row span:last-child{display:none}.editor-shell{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))}.editor-sidebar,.editor-preview-panel{padding:14px;border-radius:18px}.editor-layer-toggle-grid{grid-template-columns:1fr}}@media(pointer:coarse),(max-width:760px),(orientation:landscape)and (max-height:560px)and (max-width:1000px){.mobile-controls{position:absolute;inset:0;z-index:9;display:block;pointer-events:none}.mobile-stick,.mobile-aim-zone,.mobile-fire-button,.mobile-ability-button{position:absolute;pointer-events:auto;touch-action:none}.mobile-stick{left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));width:136px;height:136px;border:1px solid rgba(247,243,237,.34);border-radius:999px;background:#2f2e2a2e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mobile-stick:before{position:absolute;inset:35px;border:1px solid rgba(247,243,237,.32);border-radius:inherit;content:""}.mobile-stick span{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border:1px solid rgba(247,243,237,.54);border-radius:999px;background:#ebe5ddb8}.mobile-aim-zone{right:max(20px,env(safe-area-inset-right));bottom:max(106px,calc(env(safe-area-inset-bottom) + 106px));display:grid;place-items:center;width:146px;height:146px;border:1px solid rgba(240,107,43,.36);border-radius:999px;background:#2f2e2a1f;color:var(--color-accent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mobile-fire-button,.mobile-ability-button{display:grid;place-items:center;border-radius:999px;box-shadow:0 12px 28px #2f2e2a2e}.mobile-fire-button{right:max(28px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));width:84px;height:84px;border-color:#f06b2bb3;background:var(--color-accent);color:var(--color-white)}.mobile-ability-button{right:max(126px,calc(env(safe-area-inset-right) + 126px));bottom:max(34px,calc(env(safe-area-inset-bottom) + 34px));width:60px;height:60px;overflow:hidden;grid-template-rows:auto auto;gap:1px;background:var(--panel-glass-strong);color:var(--color-ink);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:7px;text-transform:uppercase}.mobile-ability-button:after{position:absolute;left:0;bottom:0;width:var(--ability-charge, 0%);height:4px;background:var(--color-accent);content:""}.mobile-ability-button small{max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-ability-button.is-ready{border-color:#f06b2bb8;color:var(--color-accent)}.mobile-ability-button:disabled{opacity:.68}}@media(max-width:760px)and (max-height:650px){.tank-select{top:calc(max(10px,env(safe-area-inset-top)) + 308px);bottom:max(10px,env(safe-area-inset-bottom))}.tank-card{min-height:58px}.minimap-panel,.ability-dock{display:none}.compact-hud{top:max(62px,env(safe-area-inset-top) + 54px)}}@media(max-width:760px)and (orientation:portrait){.game-shell.mode-playing .tank-status-card,.game-shell.is-active-match .tank-status-card{display:none}}@media(pointer:coarse),(max-width:760px),(orientation:landscape)and (max-height:560px)and (max-width:1000px){.game-shell.is-active-match .match-header{top:max(10px,env(safe-area-inset-top));width:min(336px,calc(100vw - 24px));min-height:54px;gap:8px;padding:0 10px;font-size:9px}.game-shell.is-active-match .match-header strong{font-size:20px}.game-shell.is-active-match .ability-dock,.game-shell.is-active-match .scoreboard-panel{display:none}.game-shell.is-active-match .scoreboard-panel.is-open{display:block;top:auto;bottom:calc(188px + env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right));width:min(292px,calc(100vw - 24px));z-index:8}.game-shell.is-active-match .minimap-panel{left:max(12px,env(safe-area-inset-left));bottom:calc(144px + env(safe-area-inset-bottom));width:132px;height:124px;padding:10px}.game-shell.is-active-match .minimap-panel.is-expanded{width:190px;height:168px}.game-shell.is-active-match .minimap-grid{height:auto;margin-top:0;padding:13px 13px 21px;transform:translateY(-4px)}.game-shell.is-active-match .minimap-panel.is-expanded .minimap-grid{height:auto}.game-shell.is-active-match .weapon-strip{bottom:calc(18px + env(safe-area-inset-bottom));grid-template-columns:auto minmax(86px,max-content) minmax(132px,1fr) auto;gap:10px;width:min(460px,calc(100vw - 210px));min-height:54px;padding:0 10px;font-size:9px}.game-shell.is-active-match .weapon-type,.game-shell.is-active-match .weapon-dots{display:none}.game-shell.is-active-match .compact-hud{position:absolute;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:max(72px,env(safe-area-inset-top) + 64px);z-index:8;display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:8px;padding:8px}.game-shell.is-active-match .compact-hud.is-collapsed,.game-shell.mode-playing .compact-hud.is-collapsed{right:auto;width:min(148px,calc(100vw - 24px));max-width:min(148px,calc(100vw - 24px));grid-template-columns:1fr;gap:0;padding:4px}.game-shell.is-active-match .compact-summary-chip,.game-shell.mode-playing .compact-summary-chip{min-width:0;min-height:34px;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;padding:0 9px;overflow:hidden}.game-shell.is-active-match .compact-summary-chip span,.game-shell.is-active-match .compact-summary-chip strong,.game-shell.mode-playing .compact-summary-chip span,.game-shell.mode-playing .compact-summary-chip strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-shell.is-active-match .compact-summary-chip strong,.game-shell.mode-playing .compact-summary-chip strong{font-size:14px}.game-shell.is-active-match .compact-chip{min-height:48px;border-radius:6px;display:grid;align-content:center;justify-items:center;gap:1px;background:var(--panel-glass-tile);font-size:9px}.game-shell.is-active-match .compact-chip strong{font-family:Rajdhani,sans-serif;font-size:18px;letter-spacing:.05em}.game-shell.is-active-match .compact-chip.is-warning{color:var(--color-danger)}}.game-shell.mode-menu{--menu-text: rgba(255, 252, 246, .96);--menu-muted: rgba(255, 252, 246, .68);--menu-dim: rgba(255, 252, 246, .42);--menu-slab: rgba(255, 252, 246, .045);--menu-slab-strong: rgba(255, 252, 246, .065);--menu-slab-hover: rgba(255, 252, 246, .095);--menu-shadow: rgba(0, 0, 0, .14);--menu-accent: #e95d31;background:radial-gradient(circle at 38% 44%,rgba(255,252,246,.04),transparent 34%),linear-gradient(rgba(255,252,246,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,252,246,.028) 1px,transparent 1px),#11100f;background-size:auto,64px 64px,64px 64px;color:var(--menu-text)}.game-shell.mode-menu:before{opacity:.28;background-image:linear-gradient(rgba(255,252,246,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,252,246,.035) 1px,transparent 1px);background-size:64px 64px}.game-shell.mode-menu:after{z-index:2;background:radial-gradient(circle at 50% 44%,transparent 52%,rgba(0,0,0,.18) 100%),linear-gradient(180deg,#00000003,#00000012)}.game-shell.mode-menu .game-canvas{filter:saturate(.84) brightness(.98) contrast(1.02)}.game-shell.mode-menu .landing-panel,.game-shell.mode-menu .tank-select{background:transparent;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.game-shell.mode-menu .landing-panel{left:max(46px,env(safe-area-inset-left));top:max(48px,env(safe-area-inset-top));width:min(454px,calc(50vw - 64px));padding:0;isolation:isolate}.game-shell.mode-menu .landing-panel:before{position:absolute;inset:-14px -20px -18px;z-index:-1;content:"";pointer-events:none;border-radius:8px;background:linear-gradient(135deg,#8eb1ce0e,#fffcf604 48%,#00000005),#1216170b;box-shadow:inset 0 1px #fffcf609,inset 0 -1px #0000000a;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.55) 5%,#000 14%,#000 86%,rgba(0,0,0,.55) 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 6%,#000 15%,#000 85%,rgba(0,0,0,.55) 94%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.55) 5%,#000 14%,#000 86%,rgba(0,0,0,.55) 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 6%,#000 15%,#000 85%,rgba(0,0,0,.55) 94%,transparent 100%);mask-composite:intersect;-webkit-backdrop-filter:blur(2px) saturate(1.03);backdrop-filter:blur(2px) saturate(1.03)}.game-shell.mode-menu .tank-select{right:max(46px,env(safe-area-inset-right));top:max(48px,env(safe-area-inset-top));width:min(430px,calc(44vw - 36px));max-height:calc(100vh - 88px);padding:0;overflow:visible;isolation:isolate;scrollbar-width:thin;scrollbar-color:rgba(255,252,246,.18) transparent}.game-shell.mode-menu .tank-select:before{position:absolute;inset:-14px -18px -18px;z-index:0;content:"";pointer-events:none;border-radius:8px;background:linear-gradient(225deg,#8eb1ce11,#fffcf605 48%,#00000005),#1216170d;box-shadow:inset 0 1px #fffcf609,inset 0 -1px #0000000a;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.55) 5%,#000 14%,#000 86%,rgba(0,0,0,.55) 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 6%,#000 15%,#000 85%,rgba(0,0,0,.55) 94%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.55) 5%,#000 14%,#000 86%,rgba(0,0,0,.55) 95%,transparent 100%),linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 6%,#000 15%,#000 85%,rgba(0,0,0,.55) 94%,transparent 100%);mask-composite:intersect;-webkit-backdrop-filter:blur(2px) saturate(1.03);backdrop-filter:blur(2px) saturate(1.03)}.game-shell.mode-menu .tank-select>*{position:relative;z-index:1}.game-shell.mode-menu .panel-heading{margin-bottom:20px;color:var(--menu-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;font-weight:700;letter-spacing:.055em;text-shadow:0 2px 10px rgba(0,0,0,.54)}.game-shell.mode-menu h1{margin:0 0 28px;color:var(--menu-text);font-size:clamp(58px,6.2vw,82px);font-weight:700;line-height:.84;letter-spacing:.055em;text-shadow:0 4px 16px rgba(0,0,0,.64),0 1px 0 rgba(255,252,246,.16)}.game-shell.mode-menu .join-form{gap:16px}.game-shell.mode-menu .join-form label,.game-shell.mode-menu .room-code-entry label{gap:10px;color:var(--menu-muted);font-size:12px;font-weight:700;letter-spacing:.075em;text-shadow:0 2px 10px rgba(0,0,0,.52)}.game-shell.mode-menu input,.game-shell.mode-menu .secondary-button,.game-shell.mode-menu .icon-button,.game-shell.mode-menu .tank-card{border:1px solid transparent;border-radius:4px;background:linear-gradient(180deg,#fffcf608,#fffcf602),var(--menu-slab);box-shadow:inset 0 1px #fffcf60b,0 5px 12px var(--menu-shadow);color:var(--menu-text)}.game-shell.mode-menu input{min-height:48px;padding:0 16px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:20px;font-weight:600}.game-shell.mode-menu input::placeholder{color:#fffcf68a}.game-shell.mode-menu .action-grid{gap:12px;grid-template-columns:1.24fr 1fr 1fr}.game-shell.mode-menu .room-code-entry{gap:12px;grid-template-columns:1fr 104px}.game-shell.mode-menu .primary-button,.game-shell.mode-menu .secondary-button,.game-shell.mode-menu .icon-button{min-height:48px;font-size:12px;font-weight:700;letter-spacing:.055em}.game-shell.mode-menu .primary-button{border:0;border-radius:4px;background:linear-gradient(180deg,#ef704cfa,#de3c1cfa);box-shadow:inset 0 1px #fffcf629,0 8px 18px #f06b2b24;color:var(--color-white)}.game-shell.mode-menu .secondary-button,.game-shell.mode-menu .icon-button{color:#fffcf6e6}.game-shell.mode-menu .primary-button:hover,.game-shell.mode-menu .secondary-button:hover,.game-shell.mode-menu .icon-button:hover,.game-shell.mode-menu .tank-card:hover{background-color:var(--menu-slab-hover)}.game-shell.mode-menu button:disabled{opacity:.42}.game-shell.mode-menu .secondary-button:disabled,.game-shell.mode-menu .icon-button:disabled{color:#fffcf694}.game-shell.mode-menu .menu-utility-row{margin-top:20px}.game-shell.mode-menu .menu-utility-row .secondary-button{min-width:168px}.game-shell.mode-menu .network-badge{margin-top:12px;color:var(--menu-muted);font-size:12px;text-shadow:0 2px 10px rgba(0,0,0,.52)}.game-shell.mode-menu .network-message,.game-shell.mode-menu .network-badge b{color:#fffcf6c7}.game-shell.mode-menu .tank-grid{gap:10px}.game-shell.mode-menu .tank-card{grid-template-columns:minmax(136px,.72fr) minmax(0,1fr);gap:8px 16px;min-height:106px;padding:14px 16px;overflow:hidden}.game-shell.mode-menu .tank-card.is-selected{border-color:transparent;background:linear-gradient(90deg,#f06b2b30,#f06b2b12),#fffcf60e;box-shadow:inset 0 1px #fffcf60d,0 0 20px #f06b2b17,0 6px 14px #00000029}.game-shell.mode-menu .tank-card-title strong{color:var(--menu-text);font-size:25px;line-height:26px;letter-spacing:.065em;text-shadow:0 2px 12px rgba(0,0,0,.5)}.game-shell.mode-menu .tank-card.is-selected .tank-card-title strong{color:var(--color-accent)}.game-shell.mode-menu .tank-card-title small{color:#fffcf6db;font-size:10px;font-weight:700;line-height:14px}.game-shell.mode-menu .tank-card-description{color:#fffcf6d1;font-size:10px;font-weight:600;line-height:14px;max-height:30px}.game-shell.mode-menu .tank-card .stat-row{grid-template-columns:82px auto;gap:8px}.game-shell.mode-menu .tank-card .stat-row em{color:#fffcf69e;font-size:10px;font-weight:700;line-height:13px}.game-shell.mode-menu .dots{gap:7px}.game-shell.mode-menu .dot{width:6px;height:6px;background:#fffcf638}.game-shell.mode-menu .dot.is-filled{background:#fffcf6eb}.game-shell.mode-menu .tank-card.is-selected .dot.is-filled{background:var(--menu-accent)}.game-shell.mode-menu .tank-card.is-selected .dot:not(.is-filled){background:#fffcf633}@media(max-width:1100px){.game-shell.mode-menu .landing-panel{left:max(36px,env(safe-area-inset-left));top:max(36px,env(safe-area-inset-top));width:min(442px,calc(50vw - 52px))}.game-shell.mode-menu .tank-select{right:max(36px,env(safe-area-inset-right));top:max(36px,env(safe-area-inset-top));width:min(392px,calc(46vw - 36px))}.game-shell.mode-menu h1{font-size:clamp(54px,6.5vw,70px)}.game-shell.mode-menu .tank-card{min-height:98px;padding:13px 15px}}@media(max-width:760px){.game-shell.mode-menu{overflow:auto}.game-shell.mode-menu .landing-panel{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));width:auto}.game-shell.mode-menu .tank-select{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));top:calc(max(16px,env(safe-area-inset-top)) + 372px);bottom:max(16px,env(safe-area-inset-bottom));width:auto;max-height:none;overflow:auto}.game-shell.mode-menu .panel-heading{margin-bottom:18px;font-size:11px}.game-shell.mode-menu h1{margin-bottom:22px;font-size:48px}.game-shell.mode-menu .action-grid{grid-template-columns:1fr 1fr}.game-shell.mode-menu .action-grid .primary-button{grid-column:span 2}.game-shell.mode-menu .tank-grid{grid-template-columns:1fr}.game-shell.mode-menu .tank-card{grid-template-columns:minmax(118px,.56fr) minmax(0,1fr);min-height:96px;padding:14px 16px}.game-shell.mode-menu .tank-card-description,.game-shell.mode-menu .tank-card .stat-row{display:grid}.game-shell.mode-menu .tank-card-title strong{font-size:24px;line-height:25px}.game-shell.mode-menu .tank-card-title small,.game-shell.mode-menu .tank-card-description,.game-shell.mode-menu .tank-card .stat-row em{font-size:10px;line-height:13px}}@media(max-width:760px)and (max-height:650px){.game-shell.mode-menu .tank-select{top:calc(max(10px,env(safe-area-inset-top)) + 318px)}.game-shell.mode-menu .tank-card-description,.game-shell.mode-menu .tank-card .stat-row{display:grid}}@media(orientation:landscape)and (max-height:560px){.game-shell.mode-menu .landing-panel{left:max(24px,env(safe-area-inset-left));top:max(22px,env(safe-area-inset-top));width:min(420px,calc(50vw - 34px))}.game-shell.mode-menu .tank-select{right:max(24px,env(safe-area-inset-right));top:max(22px,env(safe-area-inset-top));width:min(392px,calc(50vw - 34px));height:calc(100dvh - max(44px,env(safe-area-inset-top) + env(safe-area-inset-bottom) + 44px));max-height:calc(100dvh - max(44px,env(safe-area-inset-top) + env(safe-area-inset-bottom) + 44px));display:flex;flex-direction:column;overflow:visible;-ms-overflow-style:none;scrollbar-width:none}.game-shell.mode-menu .tank-grid{flex:1 1 auto;min-height:0;padding-bottom:38px;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:38px;-ms-overflow-style:none;scrollbar-width:none}.game-shell.mode-menu .tank-grid::-webkit-scrollbar{display:none}.game-shell.mode-menu .panel-heading{flex:0 0 auto;margin-bottom:10px;font-size:11px}.game-shell.mode-menu h1{margin-bottom:14px;font-size:clamp(38px,7.2vw,54px)}.game-shell.mode-menu .join-form{gap:10px}.game-shell.mode-menu .join-form label,.game-shell.mode-menu .room-code-entry label{gap:6px;font-size:10px}.game-shell.mode-menu input,.game-shell.mode-menu .primary-button,.game-shell.mode-menu .secondary-button,.game-shell.mode-menu .icon-button{min-height:38px}.game-shell.mode-menu input{padding:0 12px;font-size:17px}.game-shell.mode-menu .action-grid,.game-shell.mode-menu .room-code-entry{gap:8px}.game-shell.mode-menu .room-code-entry{grid-template-columns:minmax(0,1fr) 76px}.game-shell.mode-menu .primary-button,.game-shell.mode-menu .secondary-button,.game-shell.mode-menu .icon-button{font-size:10px}.game-shell.mode-menu .menu-utility-row{margin-top:10px}.game-shell.mode-menu .menu-utility-row .secondary-button{min-width:142px}.game-shell.mode-menu .network-badge{margin-top:8px;font-size:10px}.game-shell.mode-menu .tank-grid{gap:8px}.game-shell.mode-menu .tank-card{grid-template-columns:minmax(112px,.54fr) minmax(0,1fr);min-height:108px;padding:9px 12px;gap:4px 12px;overflow:visible}.game-shell.mode-menu .tank-card-title strong{font-size:21px;line-height:21px}.game-shell.mode-menu .tank-card-title small,.game-shell.mode-menu .tank-card-description,.game-shell.mode-menu .tank-card .stat-row em{font-size:9px;line-height:11px}.game-shell.mode-menu .tank-card-description{max-height:none}.game-shell.mode-menu .tank-card .stat-row{grid-template-columns:70px auto;gap:6px}.game-shell.mode-menu .dots{gap:5px}.game-shell.mode-menu .dot{width:5px;height:5px}}.game-shell.mode-lobby .match-cta-orange,.game-shell.mode-playing .match-cta-orange,.game-shell.is-active-match .match-cta-orange,.match-overlay .overlay-card .match-cta-orange{border:0;border-radius:4px;background:linear-gradient(180deg,#ef704cfa,#de3c1cfa);box-shadow:inset 0 1px #fffcf629,0 8px 18px #f06b2b24;color:var(--color-white)}.game-shell.mode-lobby .match-cta-orange svg,.game-shell.mode-playing .match-cta-orange svg,.game-shell.is-active-match .match-cta-orange svg,.match-overlay .overlay-card .match-cta-orange svg{color:currentColor;stroke:currentColor}.game-shell.has-results-overlay .hud-layer,.game-shell.has-results-overlay .mobile-controls,.game-shell.has-results-overlay .zone-danger-vignette,.game-shell.has-results-overlay :is(.match-header,.scoreboard-panel,.tank-status-card,.weapon-strip,.ability-dock,.compact-hud){display:none!important}.game-shell.mode-playing .zone-warning-banner,.game-shell.is-active-match .zone-warning-banner{top:max(116px,calc(env(safe-area-inset-top) + 110px))}.game-shell.mode-playing .minimap-controls button,.game-shell.is-active-match .minimap-controls button{background:transparent;border-color:#fffcf61a;box-shadow:none}.game-shell.mode-playing .tank-status-card,.game-shell.is-active-match .tank-status-card{width:166px;min-height:156px;padding:10px}.game-shell.mode-playing .tank-status-head,.game-shell.is-active-match .tank-status-head{gap:8px;margin-bottom:8px}.game-shell.mode-playing .tank-status-head strong,.game-shell.is-active-match .tank-status-head strong{font-size:15px;line-height:18px}.game-shell.mode-playing .tank-status-head em,.game-shell.mode-playing .tank-status-head b,.game-shell.is-active-match .tank-status-head em,.game-shell.is-active-match .tank-status-head b{font-size:8px}.game-shell.mode-playing .tank-status-toggle,.game-shell.is-active-match .tank-status-toggle{width:28px;height:28px;border-color:transparent;background:transparent;box-shadow:none;color:#fffcf6bd}.game-shell.mode-playing .tank-health-pips,.game-shell.is-active-match .tank-health-pips{gap:5px;margin-bottom:10px;font-size:9px}.game-shell.mode-playing .tank-health-pips i,.game-shell.is-active-match .tank-health-pips i{width:6px;height:6px}.game-shell.mode-playing .tank-schematic,.game-shell.is-active-match .tank-schematic{height:34px;margin-bottom:10px}.game-shell.mode-playing .schematic-hull,.game-shell.is-active-match .schematic-hull{left:6px;top:5px;width:52px;height:25px}.game-shell.mode-playing .schematic-turret,.game-shell.is-active-match .schematic-turret{left:38px;top:10px;width:42px;height:17px}.game-shell.mode-playing .schematic-barrel,.game-shell.is-active-match .schematic-barrel{left:78px;top:18px;width:72px;height:4px}.game-shell.mode-playing .tank-loadout-list,.game-shell.is-active-match .tank-loadout-list{gap:5px;font-size:8px}.game-shell.mode-playing .tank-loadout-list span,.game-shell.is-active-match .tank-loadout-list span{grid-template-columns:22px minmax(0,1fr) auto;gap:6px;min-height:24px}.game-shell.mode-playing .tank-loadout-list b,.game-shell.is-active-match .tank-loadout-list b{width:20px;height:20px}.game-shell.mode-playing .tank-status-card.is-collapsed,.game-shell.is-active-match .tank-status-card.is-collapsed{width:156px;min-height:68px;padding:9px}.game-shell.mode-playing .ability-dock,.game-shell.is-active-match .ability-dock{border-color:transparent;background:transparent;box-shadow:none}.game-shell.mode-playing .ability-dock:before,.game-shell.mode-playing .ability-dock:after,.game-shell.is-active-match .ability-dock:before,.game-shell.is-active-match .ability-dock:after{display:none;content:none}.game-shell.mode-playing .ability-dock :is(.ability-primary,.ability-cell),.game-shell.is-active-match .ability-dock :is(.ability-primary,.ability-cell){border:0;background:#fffcf605;color:#fffcf6eb}.game-shell.mode-playing .ability-dock .ability-primary,.game-shell.is-active-match .ability-dock .ability-primary{border:1px solid rgba(255,252,246,.18);background:linear-gradient(180deg,#fffcf60d,#fffcf604),#fffcf606}.game-shell.mode-playing .ability-dock .ability-cell:nth-child(2),.game-shell.is-active-match .ability-dock .ability-cell:nth-child(2){border-bottom:1px solid rgba(255,252,246,.18)}.game-shell.mode-playing .ability-dock .ability-cell:nth-child(3),.game-shell.is-active-match .ability-dock .ability-cell:nth-child(3){border-right:1px solid rgba(255,252,246,.18)}.game-shell.mode-playing .ability-dock :is(.ability-primary,.ability-cell):after,.game-shell.is-active-match .ability-dock :is(.ability-primary,.ability-cell):after{display:none;content:none}.game-shell.mode-playing .ability-dock .ability-primary.is-ready,.game-shell.is-active-match .ability-dock .ability-primary.is-ready{background:linear-gradient(180deg,#ef704cfa,#de3c1cfa);color:var(--color-white)}.game-shell.mode-playing .ability-dock .ability-primary.is-ready :is(strong,small,span,svg),.game-shell.is-active-match .ability-dock .ability-primary.is-ready :is(strong,small,span,svg){color:var(--color-white);stroke:currentColor;text-shadow:0 1px 4px rgba(20,19,18,.5)}.match-overlay.is-results .overlay-card{max-height:min(720px,calc(100vh - 48px));display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);overflow:hidden}.match-overlay.is-results .results-table{min-height:0;max-height:clamp(132px,24vh,292px);overflow-y:auto;padding-right:2px;-ms-overflow-style:none;scrollbar-width:none;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 10px,#000 calc(100% - 10px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 10px,#000 calc(100% - 10px),transparent 100%)}.match-overlay.is-results .results-table::-webkit-scrollbar{display:none}.match-overlay.is-results .results-table .results-row:first-child{margin-top:2px}.match-overlay.is-results .results-table .results-row:last-child{margin-bottom:2px}@media(orientation:landscape)and (max-height:560px)and (max-width:1000px){.match-overlay.is-results{align-items:stretch;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.match-overlay.is-results .overlay-card{width:100%;max-height:calc(100dvh - 16px);padding:10px 14px;overflow:hidden}.match-overlay.is-results .panel-heading{margin-bottom:4px;font-size:9px}.match-overlay.is-results .results-hero{gap:3px;margin:0 0 7px}.match-overlay.is-results .results-hero strong{font-size:clamp(28px,8.5vw,40px);line-height:.9}.match-overlay.is-results .results-hero p{line-height:1.2}.match-overlay.is-results .results-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:7px}.match-overlay.is-results .results-summary-grid div{min-height:46px;padding:7px}.match-overlay.is-results .results-summary-grid small{font-size:8px}.match-overlay.is-results .results-summary-grid strong{font-size:18px}.match-overlay.is-results .results-actions{display:flex;gap:8px;margin-bottom:7px}.match-overlay.is-results .results-actions :is(.primary-button,.secondary-button){min-height:36px;padding:0 12px;white-space:nowrap}.match-overlay.is-results .results-table{max-height:min(84px,22dvh);gap:5px}.match-overlay.is-results .results-row{grid-template-columns:42px minmax(0,1fr) auto;gap:8px;min-height:32px;padding:0 8px}.match-overlay.is-results .results-row span:last-child{display:none}.match-overlay.is-results .results-row strong{min-width:0;font-size:13px}}.editor-shell{--editor-hud-text: rgba(255, 252, 246, .94);--editor-hud-muted: rgba(255, 252, 246, .68);--editor-hud-dim: rgba(255, 252, 246, .48);--editor-hud-slab: rgba(255, 252, 246, .055);--editor-hud-slab-strong: rgba(255, 252, 246, .095);--editor-hud-border: rgba(255, 252, 246, .16);--editor-hud-accent: #f06b2b;grid-template-columns:minmax(336px,408px) minmax(0,1fr);gap:26px;padding:max(30px,env(safe-area-inset-top)) max(32px,env(safe-area-inset-right)) max(30px,env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-left));color:var(--editor-hud-text);background:radial-gradient(circle at 58% 38%,rgba(255,252,246,.035),transparent 34%),linear-gradient(180deg,#1212112e,#0c0c0b7a),#171715;font-family:Inter,sans-serif}.editor-shell:before,.editor-shell:after{position:absolute;inset:0;content:"";pointer-events:none}.editor-shell:before{background-image:linear-gradient(rgba(255,252,246,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,252,246,.04) 1px,transparent 1px);background-size:72px 72px;opacity:.18}.editor-shell:after{background:radial-gradient(circle at 50% 42%,transparent 0 42%,rgba(0,0,0,.2) 74%,rgba(0,0,0,.38) 100%),linear-gradient(90deg,rgba(0,0,0,.18),transparent 16%,transparent 84%,rgba(0,0,0,.18))}.editor-sidebar,.editor-preview-panel{position:relative;isolation:isolate;z-index:1;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--editor-hud-text);-webkit-backdrop-filter:none;backdrop-filter:none}.editor-sidebar{padding:22px 18px}.editor-preview-panel{padding:20px}.editor-sidebar:before,.editor-preview-panel:before{position:absolute;inset:-12px;z-index:-1;content:"";background:linear-gradient(180deg,#fffcf614,#fffcf605),#0c0e0e3d;-webkit-backdrop-filter:blur(3px) saturate(.92);backdrop-filter:blur(3px) saturate(.92);-webkit-mask-image:radial-gradient(ellipse at center,#000 58%,rgba(0,0,0,.72) 76%,transparent 100%);mask-image:radial-gradient(ellipse at center,#000 58%,rgba(0,0,0,.72) 76%,transparent 100%)}.editor-shell .panel-heading,.editor-toolbar-label,.editor-shell label,.editor-layer-toggle-grid,.editor-metrics-grid small{color:var(--editor-hud-muted)}.editor-shell .panel-heading{font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.42)}.editor-shell :is(input,.secondary-button,.icon-button,.layer-toggle),.editor-skin-preview,.editor-metrics-grid div{border:1px solid rgba(255,252,246,.08);border-radius:4px;background:linear-gradient(180deg,#fffcf60f,#fffcf604),#fffcf608;box-shadow:none;color:var(--editor-hud-text)}.editor-shell input{min-height:44px;padding:0 12px}.editor-shell input::placeholder{color:var(--editor-hud-dim)}.editor-shell input[type=range]{accent-color:var(--editor-hud-accent)}.editor-shell .primary-button{border:0;border-radius:4px;background:linear-gradient(180deg,#ef704cfa,#de3c1cfa);box-shadow:inset 0 1px #fffcf629,0 8px 18px #f06b2b24;color:var(--color-white)}.editor-shell .secondary-button svg,.editor-shell .primary-button svg{color:currentColor;stroke:currentColor}.editor-shell .network-message{color:var(--editor-hud-text)}.editor-shell .layer-toggle{min-height:40px;text-align:left}.editor-shell .layer-toggle.is-active{border-color:#f06b2b75;background:#f06b2b29;color:var(--editor-hud-accent)}.editor-metrics-grid div{min-height:72px;padding:11px}.editor-metrics-grid strong{color:var(--editor-hud-text)}.editor-main{z-index:1;align-content:start}.editor-map-stage{border:1px solid rgba(255,252,246,.08);border-radius:4px;background:radial-gradient(circle at 48% 40%,rgba(255,252,246,.08),transparent 28%),linear-gradient(180deg,#fffcf60e,#fffcf603),#0c0e0e57}.editor-map-grid{background-image:linear-gradient(rgba(255,252,246,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,252,246,.045) 1px,transparent 1px);opacity:.46}.editor-wall{border:0;background:linear-gradient(180deg,#fffcf673,#fffcf638),#fffcf62e;box-shadow:inset 0 1px #fffcf638,0 8px 18px #0003;transform:none}.editor-zone-ring.is-running{border-color:#fffcf68c}.editor-zone-ring.is-danger,.editor-zone-ring.is-final_zone{border-color:#f06b2bdb}.editor-skin-preview{min-height:148px}.editor-skin-copy small{color:var(--editor-hud-muted)}.editor-shell .tank-card{min-height:104px;border:0;border-radius:4px;background:linear-gradient(180deg,#fffcf60f,#fffcf604),#fffcf608;color:var(--editor-hud-text);box-shadow:none}.editor-shell .tank-card.is-selected{background:linear-gradient(90deg,#f06b2b2e,#f06b2b0b),#fffcf60a}.editor-shell .tank-card-title strong{color:var(--editor-hud-text)}.editor-shell .tank-card.is-selected .tank-card-title strong{color:var(--editor-hud-accent)}.editor-shell .tank-card :is(.tank-card-description,.tank-card-title small,.stat-name){color:var(--editor-hud-muted)}@media(max-width:1180px){.editor-shell{grid-template-columns:1fr;overflow-y:auto}.editor-sidebar{max-height:none}}@media(max-width:760px){.editor-shell{padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.editor-sidebar,.editor-preview-panel{padding:14px}.editor-sidebar:before,.editor-preview-panel:before{inset:-8px}.match-overlay.is-results .overlay-card{max-height:calc(100vh - 24px)}.match-overlay.is-results .results-table{max-height:clamp(112px,20vh,208px)}}@media(max-width:760px)and (orientation:portrait){.game-shell.mode-menu{display:flex;flex-direction:column;height:100dvh;overflow:hidden;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.game-shell.mode-menu .landing-panel,.game-shell.mode-menu .tank-select{position:relative;inset:auto;width:100%;max-height:none;margin:0}.game-shell.mode-menu .landing-panel{flex:0 0 auto;margin-bottom:22px;overflow:visible}.game-shell.mode-menu .tank-select{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:visible;padding-bottom:max(8px,env(safe-area-inset-bottom))}.game-shell.mode-menu .tank-grid{flex:1 1 auto;min-height:0;padding-bottom:34px;overflow-y:auto;scroll-padding-bottom:34px;-ms-overflow-style:none;scrollbar-width:none}.game-shell.mode-menu .tank-grid::-webkit-scrollbar{display:none}.game-shell.mode-menu .landing-panel:before,.game-shell.mode-menu .tank-select:before{inset:-10px -10px -12px}.game-shell.mode-menu .panel-heading{flex:0 0 auto;margin-bottom:14px}.game-shell.mode-menu h1{margin-bottom:18px;font-size:clamp(42px,15vw,58px)}.game-shell.mode-menu .join-form{gap:14px}.game-shell.mode-menu .action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-shell.mode-menu .action-grid .primary-button{grid-column:span 2}.game-shell.mode-menu .room-code-entry{grid-template-columns:minmax(0,1fr) 76px;gap:10px}.game-shell.mode-menu input,.game-shell.mode-menu .primary-button,.game-shell.mode-menu .secondary-button,.game-shell.mode-menu .icon-button{min-height:48px}.game-shell.mode-menu .menu-utility-row{margin-top:14px}.game-shell.mode-menu .menu-utility-row .secondary-button{width:min(210px,100%)}.game-shell.mode-menu .network-badge{margin-top:10px}.game-shell.mode-menu .tank-select{padding-bottom:4px}.game-shell.mode-menu .tank-grid{grid-template-columns:1fr;gap:10px}.game-shell.mode-menu .tank-card{grid-template-columns:1fr;min-height:0;padding:13px 14px;gap:7px}.game-shell.mode-menu .tank-card-title strong{font-size:23px;line-height:24px}.game-shell.mode-menu .tank-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.game-shell.mode-menu .tank-card-description{max-height:none;font-size:10px;line-height:14px}.game-shell.mode-menu .tank-card .stat-row{grid-template-columns:78px minmax(0,1fr);gap:8px}.game-shell.mode-menu .tank-card .dots{justify-content:flex-end;gap:6px}.game-shell.is-active-match .compact-hud,.game-shell.mode-playing .compact-hud{left:auto;right:max(12px,env(safe-area-inset-right));top:max(74px,env(safe-area-inset-top) + 66px);width:min(178px,calc(100vw - 170px));max-width:178px;grid-template-columns:1fr;padding:6px}.game-shell.is-active-match .compact-hud.is-collapsed,.game-shell.mode-playing .compact-hud.is-collapsed{left:auto;right:max(12px,env(safe-area-inset-right));width:min(178px,calc(100vw - 170px))}.game-shell.is-active-match .compact-summary-chip,.game-shell.mode-playing .compact-summary-chip{min-height:40px;grid-template-columns:minmax(0,1fr) auto auto}.game-shell.is-active-match .weapon-strip,.game-shell.mode-playing .weapon-strip{display:none}.mobile-stick{width:124px;height:124px}.mobile-stick:before{inset:31px}.mobile-fire-button{right:max(24px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:80px;height:80px}.mobile-aim-zone{right:max(18px,env(safe-area-inset-right));bottom:max(110px,calc(env(safe-area-inset-bottom) + 110px));width:132px;height:132px}.mobile-ability-button{right:max(116px,calc(env(safe-area-inset-right) + 116px));bottom:max(30px,calc(env(safe-area-inset-bottom) + 30px));width:58px;height:58px}}.editor-shell{height:100dvh;min-height:100dvh;overflow:hidden}.editor-sidebar{min-height:0;max-height:calc(100dvh - 60px);overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.editor-main{min-height:0;max-height:calc(100dvh - 60px);overflow-y:auto;padding-bottom:max(24px,env(safe-area-inset-bottom));-ms-overflow-style:none;scrollbar-width:none}.editor-sidebar::-webkit-scrollbar,.editor-main::-webkit-scrollbar{display:none}@media(max-width:1180px){.editor-shell{overflow-y:auto}.editor-sidebar,.editor-main{max-height:none;overflow:visible}}@media(max-width:760px){.editor-shell{position:fixed;display:block;overflow-y:auto;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.editor-sidebar,.editor-main,.editor-preview-panel{width:100%}.editor-sidebar,.editor-preview-panel{margin-bottom:18px}.editor-toolbar{align-items:stretch}.editor-toolbar .secondary-button{flex:1}.editor-inline-control,.editor-actions{grid-template-columns:1fr}.editor-player-row{display:grid;grid-template-columns:minmax(0,1fr) 72px}.editor-map-stage{aspect-ratio:9 / 10;min-height:420px}.editor-mobile-safe-zone,.editor-mobile-safe-bar,.editor-mobile-safe-strip{overflow:hidden;color:transparent;font-size:0}.editor-mobile-safe-zone:after,.editor-mobile-safe-bar:after,.editor-mobile-safe-strip:after{color:#fffcf6b3;content:attr(data-short);font-size:7px;letter-spacing:.04em}.editor-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-shell .tank-card{grid-template-columns:1fr}}@media(orientation:landscape)and (max-height:560px)and (max-width:1180px){.editor-shell{position:fixed;display:grid;grid-template-columns:minmax(244px,34vw) minmax(0,1fr);gap:14px;height:100dvh;min-height:100dvh;overflow:hidden;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))}.editor-sidebar,.editor-main{min-height:0;max-height:calc(100dvh - max(24px,env(safe-area-inset-top) + env(safe-area-inset-bottom) + 24px));overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.editor-sidebar,.editor-preview-panel{width:auto;margin-bottom:0;padding:12px}.editor-main{display:grid;gap:12px;padding-bottom:0}.editor-toolbar{align-items:center}.editor-toolbar .secondary-button{flex:0 0 auto}.editor-shell .panel-heading{margin-bottom:10px;font-size:10px}.editor-controls{gap:10px}.editor-inline-control{grid-template-columns:minmax(0,1fr)}.editor-actions,.editor-layer-toggle-grid,.editor-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-shell :is(input,.secondary-button,.primary-button,.icon-button,.layer-toggle){min-height:38px;font-size:10px}.editor-metrics-grid div{min-height:58px;padding:9px}.editor-map-stage{height:min(56vh,292px);min-height:220px;aspect-ratio:auto}.editor-skin-preview{min-height:104px}.editor-tank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-shell .tank-card{grid-template-columns:1fr;min-height:86px;padding:10px}.editor-shell .tank-card-description{display:none}}@media(max-width:760px)and (orientation:portrait){.game-shell.mode-menu{gap:0;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.game-shell.mode-menu .landing-panel{margin-bottom:14px}.game-shell.mode-menu .landing-panel,.game-shell.mode-menu .tank-select{min-width:0}.game-shell.mode-menu .landing-panel:before,.game-shell.mode-menu .tank-select:before{inset:-8px}.game-shell.mode-menu .panel-heading{margin-bottom:10px;font-size:10px;line-height:1.2}.game-shell.mode-menu h1{margin-bottom:14px;font-size:clamp(40px,13.2vw,52px);line-height:.9}.game-shell.mode-menu .join-form{gap:12px}.game-shell.mode-menu .join-form label,.game-shell.mode-menu .room-code-entry label{gap:6px;min-width:0}.game-shell.mode-menu .action-grid{gap:8px}.game-shell.mode-menu .room-code-entry{grid-template-columns:minmax(0,1fr) 54px;gap:8px}.game-shell.mode-menu input,.game-shell.mode-menu .primary-button,.game-shell.mode-menu .secondary-button,.game-shell.mode-menu .icon-button{min-width:0;min-height:46px}.game-shell.mode-menu input{font-size:18px}.game-shell.mode-menu .room-code-entry>.secondary-button{padding:0;justify-content:center;gap:0;font-size:0}.game-shell.mode-menu .room-code-entry>.secondary-button svg{width:18px;height:18px;margin:0}.game-shell.mode-menu .menu-utility-row{margin-top:10px}.game-shell.mode-menu .tank-select{flex:1 1 auto;min-height:0;overflow:hidden;padding-bottom:0}.game-shell.mode-menu .tank-select>.panel-heading{flex:0 0 auto;margin-bottom:8px;padding-bottom:6px}.game-shell.mode-menu .tank-grid{flex:1 1 auto;min-height:0;grid-template-columns:1fr;align-content:start;gap:10px;padding-bottom:max(84px,calc(env(safe-area-inset-bottom) + 72px));overflow-y:auto;scroll-padding-bottom:max(84px,calc(env(safe-area-inset-bottom) + 72px))}.game-shell.mode-menu .tank-card{display:grid;grid-template-columns:1fr;grid-auto-rows:max-content;align-content:start;min-height:172px;height:auto;gap:8px;overflow:hidden;padding:12px 14px 14px}.game-shell.mode-menu .tank-card-title{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:end;gap:10px;min-width:0}.game-shell.mode-menu .tank-card-title strong{min-width:0;overflow-wrap:anywhere}.game-shell.mode-menu .tank-card-title small{justify-self:end;max-width:132px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.game-shell.mode-menu .tank-card-description{display:block;max-height:none;overflow:visible;overflow-wrap:anywhere}.game-shell.mode-menu .tank-card .stat-row{display:grid;grid-template-columns:minmax(92px,max-content) minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:15px}.game-shell.mode-menu .tank-card .dots{justify-content:flex-start;gap:4px;min-width:0}.game-shell.mode-menu .tank-card .dot{width:5px;height:5px}.game-shell.mode-lobby .lobby-panel{width:min(360px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:14px}.game-shell.mode-lobby .panel-heading{margin-bottom:10px;font-size:10px}.game-shell.mode-lobby .room-code-display{grid-template-columns:minmax(0,1fr) 48px;gap:8px;margin-bottom:10px}.game-shell.mode-lobby .room-code-display span{font-size:clamp(24px,8.7vw,32px);line-height:42px}.game-shell.mode-lobby .player-list{max-height:min(324px,calc(100dvh - 274px));gap:5px;padding-bottom:2px}.game-shell.mode-lobby .player-row{grid-template-columns:22px 8px minmax(0,1fr) auto;min-height:36px;column-gap:8px}.game-shell.mode-lobby .player-row.is-self{background:linear-gradient(90deg,#14131257,#14131229),#f7f3ed14}.game-shell.mode-lobby .lobby-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px;gap:8px;margin-top:10px}.game-shell.mode-lobby .lobby-actions :is(.primary-button,.secondary-button,.icon-button){min-width:0;min-height:46px;padding:0 9px}.game-shell.mode-lobby .network-message,.game-shell.mode-lobby .network-badge{display:none}.game-shell.is-active-match .match-header,.game-shell.mode-playing .match-header{top:max(5px,env(safe-area-inset-top));width:min(100px,calc(100vw - 32px));min-height:34px;padding:0;gap:0;border-color:transparent;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:7px;pointer-events:none}.game-shell.is-active-match .match-header:before,.game-shell.is-active-match .match-header:after,.game-shell.mode-playing .match-header:before,.game-shell.mode-playing .match-header:after{display:none}.game-shell.is-active-match .match-header strong,.game-shell.mode-playing .match-header strong{font-size:25px;line-height:.96;text-shadow:0 2px 8px rgba(17,16,15,.8)}.game-shell.is-active-match .match-header-top,.game-shell.mode-playing .match-header-top{display:flex;justify-content:center}.game-shell.is-active-match .match-header-top span,.game-shell.mode-playing .match-header-top span,.game-shell.is-active-match .match-pressure-row,.game-shell.mode-playing .match-pressure-row{display:none}.game-shell.is-active-match .zone-warning-banner,.game-shell.mode-playing .zone-warning-banner{top:max(46px,calc(env(safe-area-inset-top) + 42px));right:max(12px,env(safe-area-inset-right));left:auto;width:min(226px,calc(100vw - 168px));grid-template-columns:1fr;transform:none;gap:0;min-height:0;padding:0;border-color:transparent;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:7px;pointer-events:none}.game-shell.is-active-match .zone-warning-banner:before,.game-shell.is-active-match .zone-warning-banner:after,.game-shell.mode-playing .zone-warning-banner:before,.game-shell.mode-playing .zone-warning-banner:after{display:none}.game-shell.is-active-match .zone-warning-banner span,.game-shell.is-active-match .zone-warning-banner small,.game-shell.mode-playing .zone-warning-banner span,.game-shell.mode-playing .zone-warning-banner small{display:none}.game-shell.is-active-match .zone-warning-banner strong,.game-shell.mode-playing .zone-warning-banner strong{overflow:hidden;font-size:8px;line-height:1.15;text-align:left;text-overflow:ellipsis;text-shadow:0 2px 8px rgba(17,16,15,.88);white-space:nowrap}.game-shell.is-active-match .compact-hud,.game-shell.mode-playing .compact-hud{left:auto;right:max(12px,env(safe-area-inset-right));top:calc(max(12px,env(safe-area-inset-top)) + 138px);width:min(148px,calc(100vw - 168px));max-width:148px;grid-template-columns:1fr;gap:6px;padding:6px}.game-shell.is-active-match .compact-chip,.game-shell.mode-playing .compact-chip{min-height:34px;padding:5px 6px}.mobile-stick{width:112px;height:112px}.mobile-stick:before{inset:28px}.mobile-stick span{width:46px;height:46px;margin:-23px 0 0 -23px}.mobile-aim-zone{right:max(14px,env(safe-area-inset-right));bottom:max(98px,calc(env(safe-area-inset-bottom) + 98px));width:118px;height:118px}.mobile-fire-button{right:max(18px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:74px;height:74px}.mobile-ability-button{right:max(122px,calc(env(safe-area-inset-right) + 122px));bottom:max(27px,calc(env(safe-area-inset-bottom) + 27px));width:54px;height:54px;grid-template-rows:1fr;gap:0;padding:0;border-color:#f7f3ed80;background:#11100f47;color:#f7f3edf0;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:0}.mobile-ability-button svg,.mobile-ability-button .hud-icon-img{width:23px;height:23px;filter:drop-shadow(0 1px 2px rgba(17,16,15,.44))}.mobile-ability-button small,.mobile-ability-button:after{display:none}.mobile-ability-button.is-ready{border-color:#f06b2bdb;background:radial-gradient(circle at 45% 40%,#f06b2b4d,#11100f42 70%),#11100f47;color:var(--color-white)}.match-overlay{align-items:stretch;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))}.match-overlay .overlay-card,.match-overlay .overlay-card-compact,.match-overlay.is-results .overlay-card{width:100%;max-height:calc(100dvh - 24px);padding:14px;overflow:hidden}.results-hero{gap:6px;margin:4px 0 12px}.results-hero strong{font-size:clamp(34px,12.5vw,46px);line-height:.94;overflow-wrap:anywhere}.results-hero p{line-height:1.35}.results-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.results-summary-grid div{min-height:62px;padding:10px}.results-summary-grid strong{font-size:22px}.results-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px}.results-actions :is(.primary-button,.secondary-button){width:100%;min-height:46px;justify-content:center}.match-overlay.is-results .results-table{max-height:min(28dvh,224px)}.results-row{grid-template-columns:48px minmax(0,1fr) auto;gap:8px;min-height:40px;padding:0 8px}.results-row strong{min-width:0;font-size:14px}.editor-shell{gap:14px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.editor-sidebar,.editor-main,.editor-preview-panel{min-width:0}.editor-toolbar,.editor-actions,.editor-inline-control{display:grid;grid-template-columns:1fr}.editor-toolbar .secondary-button,.editor-actions .secondary-button,.editor-actions .primary-button{width:100%}.editor-map-stage{min-height:min(430px,82dvh);aspect-ratio:1 / 1}}@media(orientation:landscape)and (max-height:560px)and (max-width:1000px){.game-shell.is-active-match .match-header,.game-shell.mode-playing .match-header{top:max(8px,env(safe-area-inset-top));right:auto;left:50%;width:min(232px,calc(100vw - 248px));max-width:232px;min-height:30px;transform:translate(-50%);gap:2px;padding:0 6px;font-size:7px}.game-shell.is-active-match .match-header strong,.game-shell.mode-playing .match-header strong{font-size:15px;line-height:1}.game-shell.is-active-match .match-header-top,.game-shell.mode-playing .match-header-top{gap:6px}.game-shell.is-active-match .match-pressure-row,.game-shell.mode-playing .match-pressure-row{gap:5px}.game-shell.is-active-match .match-pressure-row b,.game-shell.mode-playing .match-pressure-row b{font-size:8px}.game-shell.is-active-match .match-pressure-track,.game-shell.mode-playing .match-pressure-track{height:3px}.game-shell.is-active-match .compact-hud,.game-shell.mode-playing .compact-hud,.game-shell.is-active-match .tank-status-card,.game-shell.mode-playing .tank-status-card{display:none}.game-shell.is-active-match .mobile-fire-button,.game-shell.mode-playing .mobile-fire-button{right:max(18px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:74px;height:74px}.game-shell.is-active-match .mobile-ability-button,.game-shell.mode-playing .mobile-ability-button{right:max(114px,calc(env(safe-area-inset-right) + 114px));bottom:max(26px,calc(env(safe-area-inset-bottom) + 26px));width:54px;height:54px;grid-template-rows:1fr;gap:0;overflow:hidden;padding:0;border-color:#f7f3ed80;background:#11100f47;color:#f7f3edeb;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-shell.is-active-match .mobile-ability-button svg,.game-shell.mode-playing .mobile-ability-button svg,.game-shell.is-active-match .mobile-ability-button .hud-icon-img,.game-shell.mode-playing .mobile-ability-button .hud-icon-img{width:24px;height:24px;filter:drop-shadow(0 1px 2px rgba(17,16,15,.44))}.game-shell.is-active-match .mobile-ability-button small,.game-shell.mode-playing .mobile-ability-button small,.game-shell.is-active-match .mobile-ability-button:after,.game-shell.mode-playing .mobile-ability-button:after{display:none}.game-shell.is-active-match .mobile-ability-button.is-ready,.game-shell.mode-playing .mobile-ability-button.is-ready{border-color:#f06b2bdb;background:radial-gradient(circle at 45% 40%,#f06b2b4d,#11100f42 70%),#11100f47;color:var(--color-white)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
