@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";body{margin:0;overflow:hidden;user-select:none;touch-action:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-force-touch:none;-webkit-touch-force:none;overscroll-behavior:none;-webkit-overflow-scrolling:auto;-webkit-text-size-adjust:100%;text-size-adjust:100%;height:100dvh;height:calc(var(--vh, 1vh) * 100)}body.in-game{overflow:hidden;touch-action:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-overflow-scrolling:auto}canvas{display:block;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-force-touch:none;-webkit-touch-force:none;touch-action:none}#lobby{position:fixed;top:0;left:0;width:100vw;height:calc(var(--vh, 1vh) * 100);background:repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(0,0,0,.04) 31px,rgba(0,0,0,.04) 32px),repeating-linear-gradient(83deg,transparent,transparent 31px,rgba(0,0,0,.04) 31px,rgba(0,0,0,.04) 32px),#f8f8f8;font-family:"Press Start 2P",monospace;overflow:hidden}#lobby.lobby-exit>*{transform:translate(-100%);opacity:.4;pointer-events:none}#lobby>*{transition:transform .4s ease-out,opacity .4s ease-out}#lobby.lobby-enter>*{transform:translate(-100%);opacity:0;transition:none}#lobby>h2{text-align:center;margin:0;padding:15px 0;text-shadow:3px 3px 0 rgba(0,0,0,.2)}.lobby-grid{display:grid;grid-template-columns:25% 1fr;height:calc((var(--vh, 1vh) * 100) - 50px);margin-right:20px;position:relative;--lobby-divider-width: 72px;--lobby-divider-cut: 36px;--lobby-surface: rgba(235, 235, 235, 1)}.lobby-grid:before{content:"";position:absolute;top:0;bottom:0;pointer-events:none}.lobby-grid:before{left:calc(25% - var(--lobby-divider-width) + 2px);width:var(--lobby-divider-width);background:var(--lobby-surface);clip-path:polygon(var(--lobby-divider-cut) 0,100% 0,100% 100%,0 100%);box-shadow:14px 0 24px #00000014;z-index:2}.lobby-nav{background:transparent;padding:0 0 20px 20px;display:flex;flex-direction:column;overflow:visible;z-index:4}.player-name-display{font-size:clamp(8px,1.5vw,12px);font-weight:700;color:#444;margin-bottom:15px;margin-right:15px;margin-top:-25px;padding:10px;text-align:left;min-height:48px;cursor:pointer;border:none;transition:all .1s ease;background:#d4d4d4;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,0 100%);box-sizing:border-box}.player-name-display:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.player-name-display:after{display:none}.player-name-display .tank-design-preview{width:56px;height:56px;margin-right:-5px;margin-left:-10px;flex-shrink:0;display:block}.player-name-display .player-name-text{flex:1;min-width:0;text-align:left;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;white-space:normal}.player-name-display:active{transform:translateY(2px)}.nav-buttons{display:flex;flex-direction:column}.nav-button{font-family:"Press Start 2P",monospace;padding:16px 16px 16px 24px;cursor:pointer;text-align:left;font-size:clamp(8px,1.7vw,12px);width:100%;border:none;background:transparent;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;position:relative;word-wrap:break-word;white-space:normal}.nav-button:hover{scale:1.03;transition:scale .2s ease-in-out}.nav-button.active{background:#ebebeb;border:none}.nav-button.active:before{content:"";position:absolute;background:#ebebeb;top:0;bottom:0;right:-4px;width:10px}.nav-button[data-target=teamSelectionContainer]{color:red}.nav-button[data-target=loadoutContainer]{color:green}.nav-button[data-target=progressContainer]{color:#3b82f6}.nav-button[data-target=settingsContainer]{color:purple}.nav-button[data-target=statsContainer]{color:orange}.nav-button[data-target=infoContainer]{color:#888}.lobby-content{background:var(--lobby-surface);padding:20px 30px 20px 20px;overflow-y:auto;position:relative;text-align:center;display:flex;flex-direction:column;border:none;overflow-x:hidden}*{scrollbar-width:thin;scrollbar-color:#9b9b9b transparent}.content-section{display:none;background:transparent;border:none;padding:0;margin-bottom:20px;overflow:visible}.content-section.active{display:block}.content-section.slide-in-from-above{animation:slideFromAbove .4s ease-out}.content-section.slide-in-from-below{animation:slideFromBelow .4s ease-out}@keyframes slideFromAbove{0%{opacity:0;transform:translateY(-80px)}to{opacity:1;transform:translateY(0)}}@keyframes slideFromBelow{0%{opacity:0;transform:translateY(80px)}to{opacity:1;transform:translateY(0)}}.content-section h3{margin-top:30px;margin-bottom:20px;text-align:left}.content-section h3:first-of-type{margin-top:0}.content-section h3:not(:first-of-type){border-top:none;padding-top:20px}body.dark-mode .content-section h3:not(:first-of-type){border-top:none}#loadoutContainer h3:not(:first-of-type){border-top:none;padding-top:0;margin-top:15px}.play-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.play-tab-header h3{margin:0}.new-missions-pill{font-size:11px;color:#3b82f6;cursor:pointer;white-space:nowrap;font-weight:700;background:none;border:none;padding:0;animation:missionPillPulse 2s ease-in-out infinite}@keyframes missionPillPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}.lobby-player-count{color:#999;font-size:12px}.lobby-player-count .player-count-number{color:#666}body.dark-mode .lobby-player-count{color:#777}body.dark-mode .lobby-player-count .player-count-number{color:#aaa}.lobby-player-count:empty{display:none}.action-buttons-inline{display:flex;gap:10px}.retro-button{font-family:"Press Start 2P",monospace;font-size:10px;padding:10px 16px;cursor:pointer;color:#fff;background:#666;border:none;transition:all .1s ease;user-select:none;-webkit-user-select:none;margin:0;display:block;box-sizing:border-box;box-shadow:0 4px #0000004d,0 5px 10px #0003}.retro-button:hover{transition:all .2s ease}.retro-button:active{transform:translateY(2px);box-shadow:0 2px #0000004d,0 3px 5px #00000026}.retro-button.small{font-size:9px;padding:6px 12px;box-shadow:0 3px #0000004d,0 4px 8px #0003}.retro-button.small:active{transform:translateY(2px);box-shadow:0 1px #0000004d,0 2px 4px #00000026}.retro-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}#rpg-interact-btn.retro-button:active{transform:translate(-50%) translateY(3px);margin-bottom:0}#startButton.retro-button{background:red}#becomeHostButton.retro-button{background:purple}.bot-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}.bot-controls-label{font-family:"Press Start 2P",monospace;font-size:10px;color:#666}#playerList{max-width:400px;margin:20px auto}#playerList:empty{display:none}.player-item{margin:10px 0;display:flex;align-items:center;padding:5px;font-size:12px}.player-color{display:block;display:none;width:20px;height:20px;margin-right:10px;border:none}.winner-announcement{background:none;padding:14px 20px;text-align:center;margin-bottom:20px;box-sizing:border-box;word-wrap:break-word}.winner-announcement h3{color:#444;margin:0;font-size:14px;animation:winnerPulse 2s ease-in-out infinite}@keyframes winnerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.error-message{color:red;margin-top:5px;font-size:14px}.settings-container{display:block;background:transparent;border:none;padding:0;margin:0;max-width:none}.in-lobby .settings-container{display:block}.settings-container+.settings-container{margin-top:10px}.settings-container:empty{display:none}#lobbyContainer #playerList{margin:0}#lobbyContainer #playerList:empty:after{content:"Waiting for players...";display:block;color:#666;font-size:14px;font-style:italic;text-align:center;margin-top:10px}.settings-container h3{margin-top:10px;margin-bottom:20px;color:#333;font-size:18px}.setting-row{display:flex;flex-direction:column;margin-bottom:12px}.setting-divider{border-top:none;margin:20px 0}body.dark-mode .setting-divider{border-top:none}.setting-row:has(input[type=range]:disabled){margin-bottom:8px}.setting-row:has(input[type=range]){flex-direction:row;align-items:center;gap:10px}.setting-row:has(input[type=range]) .setting-header{flex-shrink:0;width:180px;min-width:180px;justify-content:flex-start}.setting-header{display:flex;justify-content:space-between;align-items:center}.setting-row label{font-size:14px;color:#444}.setting-row input[type=range]{width:100%;height:8px;background:#ddd;outline:none;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent}.setting-row:has(input[type=range]) input[type=range]{flex:1;width:auto}.setting-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:#000;cursor:pointer}.setting-row input[type=range]:disabled{opacity:.3;cursor:not-allowed;display:none}.setting-row input[type=range]:disabled::-webkit-slider-thumb{background:#999;cursor:not-allowed;display:none}.setting-row span{font-size:14px;color:#666}.setting-row:has(input[type=range]) span{flex-shrink:0;width:50px;min-width:50px;text-align:right}.setting-row input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:none;background:#ccc;cursor:pointer;position:relative;margin:0;padding:0;border-radius:0;-webkit-border-radius:0;-webkit-transition:none!important;transition:none!important;animation:none!important;-webkit-animation:none!important}.setting-row input[type=checkbox]:checked{background-color:#000;-webkit-transition:none!important;transition:none!important;animation:none!important;-webkit-animation:none!important}.setting-row input[type=checkbox]:disabled{opacity:.3;cursor:not-allowed}.setting-row input[type=checkbox]:focus{outline:none}.setting-row:has(input[type=checkbox]){flex-direction:row;justify-content:space-between;align-items:center}.setting-row:has(input[type=checkbox]) .setting-header{margin-bottom:0}.inline-name-wrapper{display:flex;align-items:center;gap:8px}.current-name{font-size:12px;font-weight:700;color:#222;margin-right:8px}.inline-name-input{font-family:"Press Start 2P",monospace;font-size:12px;padding:4px 8px;border:none;background:#0000001a;width:120px;outline:none;text-align:center}.stats-tables{display:flex;flex-direction:column;margin-top:0;margin-bottom:0;align-items:flex-start}.game-stats,.overall-stats{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.team-stats{width:100%;max-width:100%;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch}.stats-tables table{width:100%;border-collapse:collapse;background:#9b9b9b1a;border-radius:0}.stats-tables th,.stats-tables td{padding:8px;text-align:center;white-space:nowrap}.stats-tables th{background:#0000001f;font-size:9px;font-family:"Press Start 2P",monospace;text-transform:uppercase;letter-spacing:.8px;color:#757575}.stats-tables td{font-family:"Press Start 2P",monospace;font-size:12px}.stats-tables th:first-child,.stats-tables td:first-child{text-align:left}.stats-tables th:last-child,.stats-tables td:last-child{text-align:right}#winnerAnnouncement{width:100%;text-align:center;margin:0;display:flex;justify-content:center}#winnerAnnouncement:empty{display:none}select{padding:4px;border:none;border-radius:0;font-family:inherit;font-size:11px;color:#444;background:#ddd}select:focus{outline:none}.leaderboard-tabs{display:flex;gap:8px;justify-content:center;background:#0000000f;padding:10px;margin-bottom:16px}.leaderboard-tab{display:inline-block;flex:1 1 0}.leaderboard-tab.active{background:orange;color:#fff}.leaderboard-tab-detail{display:block;opacity:.6;font-size:.75em;margin-top:2px}.leaderboard-tab.active .leaderboard-tab-detail{opacity:.8}.leaderboard-pane{margin-bottom:20px}.leaderboard-pane[hidden]{display:none}.player-levels-empty{color:#888;font-size:12px;padding:12px 0}.stats-tables .player-levels-table{width:auto}.player-levels-table.hof-table .hof-name{max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap;padding-right:24px}.player-levels-table .player-levels-th-lv,.player-levels-table .player-levels-lv{text-align:right;white-space:nowrap}.player-levels-table .player-levels-th-xp,.player-levels-table .player-levels-xp{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.stats-tables .player-levels-table td.player-levels-xp,body.dark-mode .stats-tables .player-levels-table td.player-levels-xp{color:#16a34a}.player-levels-table .player-levels-xp-unit{font-size:9px;opacity:.8}.player-levels-table .player-levels-lv{font-weight:800;line-height:1}.stats-tables .player-levels-table td.player-levels-lv,body.dark-mode .stats-tables .player-levels-table td.player-levels-lv{color:#3b82f6}.player-levels-table .player-levels-lv .player-level-label-prefix{font-size:8px;margin-right:2px}.player-levels-table .player-levels-lv .player-level-label-num{font-size:13px}.player-levels-table tr.local{background:#6495ed4d}.hall-of-fame{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.hof-category{flex:0 0 calc(50% - 10px);min-width:180px}.hof-title{text-align:center;font-size:12px;font-weight:700;letter-spacing:.5px;padding:4px 0}.hof-title.hof-survival{color:orange}.hof-title.hof-dm{color:red}.hof-title.hof-koth{color:#00f}.hof-title.hof-ctf{color:green}.hof-title.hof-token-grab{color:#5f7}.hof-title.hof-arena{color:purple}.hof-title.hof-bounty{color:orange}.hof-table{width:100%;border-collapse:collapse;font-size:12px;background:#00000026}.hof-table th{font-size:9px;padding:8px;text-align:left;font-weight:600;background:#0000001f;text-transform:uppercase;letter-spacing:.8px;color:#757575}.hof-table .hof-th-rank{width:20px;text-align:left}.hof-table .hof-th-name{text-align:left}.hof-table .hof-th-value{text-align:right}.hof-table .hof-th-kd,.hof-table .hof-th-games{text-align:right;cursor:help}.hof-table td{padding:8px}.hof-table tr.local.rank-1{background:#ffd7004d}.hof-table tr.local.rank-2{background:#78787840}.hof-table tr.local.rank-3{background:#cd7f324d}.hof-table tr.local{background:#6495ed4d}.hof-table .hof-rank{font-weight:700;font-size:12px;text-align:left}.hof-table .hof-rank.gold{color:#b8960c}.hof-table .hof-rank.silver{color:#707070}.hof-table .hof-rank.bronze{color:#a05a20}.hof-table .hof-rank.you{color:#4a7dcf}.hof-table tr.hof-ellipsis td{text-align:center;color:#999;padding:4px 8px;font-size:16px}.hof-table .hof-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px;text-align:left}.hof-table .hof-value{font-weight:700;text-align:right}.hof-table .hof-kd,.hof-table .hof-games{text-align:right}.stats-table th{cursor:help}.stats-table tr.local-player,.game-stats tr.local-player{background:#6495ed40!important}.stats-table tr.local-player td,.game-stats tr.local-player td{font-weight:700}.last-game-meta{margin:4px 0 10px}.last-game-meta-pills{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px}.last-game-meta-pill{display:flex;align-items:baseline;gap:6px;padding:6px 10px;background:#ffffff1a;border:2px solid rgba(255,165,0,.24)}.last-game-meta-key{font-size:10px;text-transform:uppercase;color:#777}.last-game-meta-value{font-size:12px;font-weight:700;color:#333}.xp-progression-section{margin:8px 0 28px;padding:10px 12px;background:#0000000a;border:2px solid rgba(59,130,246,.25)}.xp-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.xp-level-badge{font-size:12px;font-weight:800;color:#3b82f6;letter-spacing:.5px;display:inline-flex;align-items:baseline;gap:3px}.xp-level-badge .player-level-label-prefix{font-size:8px}.xp-level-badge .player-level-label-num{font-size:12px}.xp-amount{font-size:11px;font-weight:700;color:#16a34a;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:2px;cursor:help}.xp-bar-track{position:relative;width:100%;height:10px;background:#d4d4d4;overflow:hidden;border:1px solid #bbb}.xp-bar-fill{position:absolute;top:0;left:0;height:100%;background:#3b82f6;width:0%}.xp-bar-gain{position:absolute;top:0;height:100%;background:#22c55e;width:0%;left:0%}.xp-bar-ticks{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,transparent calc(25% - 1px),#bbb calc(25% - 1px),#bbb calc(25% + 1px),transparent calc(25% + 1px)),linear-gradient(to right,transparent calc(50% - 1px),#bbb calc(50% - 1px),#bbb calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(to right,transparent calc(75% - 1px),#bbb calc(75% - 1px),#bbb calc(75% + 1px),transparent calc(75% + 1px))}.xp-bar-progress{font-size:9px;color:#888}.player-name-label{display:block}.player-level-row{display:flex;align-items:center;gap:10px;width:100%;margin-top:10px}.player-level-label{font-weight:800;color:#3b82f6;display:flex;align-items:baseline;gap:3px;line-height:1}.player-level-label-prefix{font-size:8px}.player-level-label-num{font-size:13px}.player-name-text .player-level-bar-track{position:relative;display:block;width:55%;height:7px;background:#d4d4d4;border:1px solid #bbb;overflow:hidden}.player-name-text .player-level-bar-track:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,transparent calc(25% - .5px),#bbb calc(25% - .5px),#bbb calc(25% + .5px),transparent calc(25% + .5px)),linear-gradient(to right,transparent calc(50% - .5px),#bbb calc(50% - .5px),#bbb calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(to right,transparent calc(75% - .5px),#bbb calc(75% - .5px),#bbb calc(75% + .5px),transparent calc(75% + .5px))}.player-name-text .player-level-bar-fill{display:block;height:100%;background:#3b82f6}.perk-locked{position:relative;pointer-events:auto;cursor:default}.perk-locked .card-icon,.perk-locked .card-title{opacity:.5}.lock-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#1f2937;pointer-events:none;text-shadow:0 1px 2px rgba(255,255,255,.85),0 0 4px rgba(255,255,255,.7)}body.dark-mode .lock-overlay{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85),0 0 4px rgba(0,0,0,.7)}.level-up-overlay{position:fixed;inset:0;z-index:10002;display:none;align-items:center;justify-content:center;background:#0000008c;opacity:0;transition:opacity .22s ease;padding:20px}.level-up-overlay.visible{opacity:1}.level-up-confetti{position:absolute;inset:0;pointer-events:none;z-index:0}.level-up-popup{position:relative;z-index:1;background:#ebebeb;color:#333;font-family:"Press Start 2P",monospace;width:100%;max-width:360px;max-height:calc(100vh - 40px);overflow-y:auto;padding:16px;box-shadow:0 6px 24px #0006;transform:translateY(-12px) scale(.96);opacity:0;transition:transform .22s ease,opacity .22s ease}.level-up-overlay.visible .level-up-popup{transform:translateY(0) scale(1);opacity:1}.level-up-close{position:absolute;top:14px;right:12px;background:transparent;border:none;font-family:"Press Start 2P",monospace;font-size:16px;color:#888;cursor:pointer;padding:0 4px;line-height:1;z-index:2}.level-up-close:hover{color:#333}body.dark-mode .level-up-close:hover{color:#ddd}.level-up-banner{text-align:center;padding:6px 0 12px;margin-bottom:12px}.level-up-eyebrow{font-size:9px;color:#16a34a;letter-spacing:1px;margin-bottom:6px}.level-up-level{font-size:18px;color:#3b82f6;font-weight:800}.level-up-rewards{display:flex;flex-direction:column;gap:10px}.level-up-reward-card{display:flex;align-items:center;gap:12px;padding:10px;background:#ffffff1a;border:2px solid color-mix(in srgb,var(--reward-color, #3b82f6) 35%,transparent)}.progression-reward-cards .level-up-reward-card{background:#0000000a}body.dark-mode .progression-reward-cards .level-up-reward-card{background:#ffffff1a}.level-up-reward-card .reward-preview{flex:0 0 auto;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#0000000d}.level-up-reward-card .reward-preview-perk,.level-up-reward-card .reward-preview-design{background:transparent}.level-up-reward-card .reward-preview-perk .perk-icon-bg{width:56px!important;height:56px!important;padding:6px!important}.level-up-reward-card .reward-preview-perk .perk-icon-bg svg{width:40px!important;height:40px!important}.level-up-reward-card .reward-meta{flex:1;min-width:0}.level-up-reward-card .reward-category{font-size:7px;color:#888;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.level-up-reward-card .reward-name{font-size:10px;font-weight:800;margin-bottom:5px}.level-up-reward-card .reward-description{font-size:8px;line-height:1.45;color:#555}.level-up-reward-card .reward-description em{font-style:normal;color:var(--reward-color, #3b82f6)}.level-up-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.level-up-actions .level-up-cta{background:green}body.dark-mode .level-up-popup{background:#2a2a2a;color:#e0e0e0}body.dark-mode .level-up-reward-card .reward-description{color:#b0b0b0}body.dark-mode .level-up-reward-card .reward-category{color:#999}.progression-bar-block{margin:0 0 14px}.progression-sections-row{display:flex;flex-wrap:wrap;gap:22px;margin-top:32px}.progression-sections-row>.progression-section{flex:1 1 260px;min-width:0;margin-top:0}.progression-section{margin-top:22px;margin-bottom:14px;text-align:left}.progression-section-label{font-size:9px;color:#888;letter-spacing:.5px;text-transform:uppercase;text-align:left;margin-bottom:6px}.progression-section-label.missions-label{display:flex;align-items:baseline;gap:6px}.missions-reset-timer:before{content:"– "}.progression-reward-cards,.progression-coming-list{display:flex;flex-direction:column;gap:8px}.progression-coming-item{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:8px;background:#0000000a;border:2px solid color-mix(in srgb,var(--reward-color, #3b82f6) 35%,transparent);font-size:9px}body.dark-mode .progression-coming-item{background:#ffffff1a}.progression-coming-icon{width:26px;height:26px;display:flex;align-items:center;justify-content:center}.progression-coming-icon .perk-icon-bg{width:26px!important;height:26px!important;padding:2px!important}.progression-coming-icon .perk-icon-bg svg{width:20px!important;height:20px!important}.progression-coming-info{display:flex;flex-direction:column;gap:4px;min-width:0}.progression-coming-level{font-weight:800;color:#3b82f6;white-space:nowrap;display:inline-flex;align-items:baseline;gap:3px}.progression-coming-level .player-level-label-prefix{font-size:7px}.progression-coming-level .player-level-label-num{font-size:11px}.progression-coming-name{font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progression-coming-type{font-size:7px;color:#888;text-transform:uppercase;letter-spacing:.5px}.progression-max-msg{font-size:10px;color:#555;padding:8px 10px;background:#0000000a}body.dark-mode .progression-max-msg{background:#ffffff0d}body.dark-mode .progression-coming-type,body.dark-mode .progression-section-label{color:#999}body.dark-mode .progression-max-msg{color:#b0b0b0}.missions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mission-box{padding:8px 10px;background:#0000000a;border:2px solid color-mix(in srgb,var(--mission-color, #f59e0b) 30%,transparent);text-align:left;display:flex;flex-direction:column}.mission-primary-panel,.mission-alt-panel{display:flex;flex-direction:column;flex:1}.mission-box.mission-done{opacity:.5}.mission-box-name{font-size:9px;font-weight:700;margin-bottom:6px;line-height:1.3}.mission-box-bar-track{width:100%;height:6px;background:#d4d4d4;border:1px solid #bbb;margin-top:auto;margin-bottom:4px}.mission-box-bar-fill{height:100%;background:var(--mission-color, #f59e0b);transition:width .3s ease-out}.mission-done .mission-box-bar-fill{background:#22c55e}.mission-box-footer{display:flex;justify-content:space-between;align-items:center}.mission-box-progress{font-size:8px;color:#888}.mission-box-xp{font-size:8px;font-weight:700;color:#f59e0b}.mission-done .mission-box-xp{color:#22c55e}.mission-box.has-alt{position:relative}.has-alt .mission-box-name{padding-right:20px}.mission-swap-btn{position:absolute;top:4px;right:4px;width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;z-index:1;box-shadow:0 2px #0000004d,0 3px 5px #00000026}.mission-swap-btn:active{box-shadow:0 1px #0000004d}.show-alt .mission-swap-btn{background:#f59e0b}.mission-alt-panel,.show-alt .mission-primary-panel{display:none}.show-alt .mission-alt-panel{display:block}body.dark-mode .mission-box{background:#ffffff0d}body.dark-mode .mission-box-bar-track{background:#444;border-color:#555}body.dark-mode .mission-box-progress{color:#999}.missions-capstone-hint{font-size:9px;font-weight:700;color:#f59e0b;margin-top:6px;text-align:right;letter-spacing:.3px}.missions-capstone-hint.missions-capstone-claimed{color:#22c55e}.xp-missions-completed{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.xp-mission-pill{font-size:8px;padding:3px 8px;background:#0000000a;border:1.5px solid color-mix(in srgb,#f59e0b 30%,transparent);white-space:nowrap}.xp-mission-pill-name{color:#333}.xp-mission-pill b{font-weight:800;color:#22c55e}body.dark-mode .xp-mission-pill-name{color:#ccc}body.dark-mode .xp-mission-pill{background:#ffffff0d}#missionToastContainer{position:fixed;top:4px;left:12px;width:180px;z-index:1000;pointer-events:none;display:flex;flex-direction:column;gap:6px}.mission-toast{padding:8px 10px;background:#ebebebf2;border:2px solid color-mix(in srgb,var(--mission-color, #f59e0b) 30%,transparent);font-family:"Press Start 2P",monospace;text-align:left;opacity:0;transform:translateY(-20px);transition:opacity .3s ease-out,transform .3s ease-out}.mission-toast-visible{opacity:1;transform:translateY(0)}.mission-toast-out{opacity:0;transform:translateY(-20px);transition:opacity .3s ease-in,transform .3s ease-in}.mission-toast-done{border-color:color-mix(in srgb,#22c55e 30%,transparent)}.mission-toast-name{font-size:9px;font-weight:700;color:#333;margin-bottom:6px;line-height:1.3}.mission-toast-bar-track{width:100%;height:6px;background:#d4d4d4;border:1px solid #bbb;margin-bottom:4px}.mission-toast-bar-fill{height:100%;background:var(--mission-color, #f59e0b);transition:width .4s ease-out}.mission-toast-done .mission-toast-bar-fill{background:#22c55e}.mission-toast-footer{display:flex;justify-content:space-between;align-items:center}.mission-toast-progress{font-size:8px;color:#888}.mission-toast-xp{font-size:8px;font-weight:700;color:#f59e0b}.mission-toast-done .mission-toast-xp{color:#22c55e}body.dark-mode .mission-toast{background:#2a2a2ae6}body.dark-mode .mission-toast-name{color:#e0e0e0}body.dark-mode .mission-toast-bar-track{background:#444;border-color:#555}body.dark-mode .mission-toast-progress{color:#999}.mission-confetti-canvas{position:fixed;inset:0;z-index:1001;pointer-events:none}.pm-bottom-strip{position:absolute;left:0;right:0;bottom:8px;pointer-events:auto;opacity:0;transform:translate(40px)}.pm-bottom-scroll{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.3) transparent;padding:0 24px 4px;-webkit-overflow-scrolling:touch;align-items:stretch}.pm-bottom-scroll::-webkit-scrollbar{height:4px}.pm-bottom-scroll::-webkit-scrollbar-track{background:transparent}.pm-bottom-scroll::-webkit-scrollbar-thumb{background:#8080804d;border-radius:2px}.pm-quote-inline{flex-shrink:0;display:flex;align-items:center;gap:0;min-width:0;margin-right:12px}.pm-quote-inline .pm-quote-text{font-size:7px;line-height:1.55;text-align:right;text-wrap:balance;max-width:min(920px,calc(70vw - 80px));flex-shrink:1;min-width:0}.pm-quote-inline .pm-quote-separator{width:3px;height:1.9em;background:var(--pm-quote-accent, orange);flex-shrink:0;margin:0 12px}.pm-quote-inline .pm-quote-author{font-size:7px;white-space:nowrap;flex-shrink:0}.pm-bottom-scroll .mission-box{min-width:190px;flex-shrink:0;font-size:8px}.pm-bottom-scroll .mission-box-name{font-size:8px}.pm-bottom-scroll .mission-box-progress,.pm-bottom-scroll .mission-box-xp{font-size:7px}@media(max-width:600px){.missions-grid{grid-template-columns:1fr 1fr}.pm-bottom-strip{bottom:4px;padding:0 12px}.pm-bottom-scroll .mission-box{min-width:120px}}body.dark-mode{background:#2d2d2d}body.dark-mode #lobby{background:repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(255,255,255,.03) 31px,rgba(255,255,255,.03) 32px),repeating-linear-gradient(83deg,transparent,transparent 31px,rgba(255,255,255,.03) 31px,rgba(255,255,255,.03) 32px),#2d2d2d;color:#e0e0e0}body.dark-mode #lobby h2{color:#9b9b9b;text-shadow:3px 3px 0 rgba(255,255,255,.2)}body.dark-mode #lobbyContainer #playerList .player-item,body.dark-mode .settings-container{background:#2d2d2d}body.dark-mode .settings-container h3,body.dark-mode .setting-row label{color:#9b9b9b}body.dark-mode .setting-row input[type=range]{background:#404040}body.dark-mode .setting-row input[type=range]::-webkit-slider-thumb{background:#9b9b9b}body.dark-mode .setting-row input[type=checkbox]{background:#555}body.dark-mode .setting-row input[type=checkbox]:checked{background:#9b9b9b}body.dark-mode .current-name{color:#e0e0e0}body.dark-mode .inline-name-input{background:#ffffff1a;color:#e0e0e0}body.dark-mode .winner-announcement,body.dark-mode .winner-announcement h3{color:#e0e0e0}body.dark-mode #statsContainer h3,body.dark-mode .stats-tables h4{color:#9b9b9b}body.dark-mode .hof-table{background:#ffffff14}body.dark-mode .last-game-meta-pill{background:#ffffff0f;border-color:#ffa50047}body.dark-mode .last-game-meta-key{color:#b0b0b0}body.dark-mode .last-game-meta-value{color:#e0e0e0}body.dark-mode .xp-progression-section{background:#ffffff0d;border-color:#3b82f659}body.dark-mode .xp-bar-track{background:#444;border-color:#555}body.dark-mode .xp-bar-ticks{background-image:linear-gradient(to right,transparent calc(25% - 1px),#555 calc(25% - 1px),#555 calc(25% + 1px),transparent calc(25% + 1px)),linear-gradient(to right,transparent calc(50% - 1px),#555 calc(50% - 1px),#555 calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(to right,transparent calc(75% - 1px),#555 calc(75% - 1px),#555 calc(75% + 1px),transparent calc(75% + 1px))}body.dark-mode .xp-bar-progress{color:#999}body.dark-mode .player-level-bar-track,body.dark-mode .player-name-text .player-level-bar-track{background:#444;border-color:#555}body.dark-mode .player-name-text .player-level-bar-track:after{background-image:linear-gradient(to right,transparent calc(25% - .5px),#555 calc(25% - .5px),#555 calc(25% + .5px),transparent calc(25% + .5px)),linear-gradient(to right,transparent calc(50% - .5px),#555 calc(50% - .5px),#555 calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(to right,transparent calc(75% - .5px),#555 calc(75% - .5px),#555 calc(75% + .5px),transparent calc(75% + .5px))}@media(max-width:700px){.last-game-meta-pills{gap:8px}}body.dark-mode .hof-table .hof-rank.gold{color:gold}body.dark-mode .hof-table .hof-rank.silver{color:silver}body.dark-mode .hof-table .hof-rank.bronze{color:#cd7f32}body.dark-mode .hof-table .hof-rank.you{color:#6495ed}body.dark-mode .leaderboard-tabs{background:#ffffff0f}body.dark-mode .hof-table tr.hof-ellipsis td{color:#666}body.dark-mode .hof-table tr.local.rank-2{background:#c0c0c04d}.perk-icon-bg{background:#d9d9d9}body.dark-mode .perk-icon-bg{background:#5a5a5a}body.dark-mode .stats-tables td{color:#e0e0e0}body.dark-mode .stats-tables table{background:#9b9b9b1a}body.dark-mode .stats-tables th,body.dark-mode .hof-table th{background:#9b9b9b1f;color:#a7a7a7}.team-selection{display:flex;justify-content:center}.custom-game-row .team-selection{justify-content:flex-start}.custom-game-row .team-selection table{margin:10px 0}.team-selection table{width:100%;max-width:360px;border-collapse:collapse;margin:10px auto;background:#9b9b9b1a;border-radius:0}.team-selection th,.team-selection td{padding:8px;text-align:center;font-family:"Press Start 2P",monospace;font-size:12px}.team-selection th{background:#0003;font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#757575}.team-selection th:first-child{text-align:left}.team-selection td{color:#2f2f2f}.team-selection td:first-child{text-align:left}.team-box{width:18px;height:18px;margin:0 auto}.red-box{background-color:red}.blue-box{background-color:#00f}.green-box{background-color:green}.orange-box{background-color:orange}.team-selection input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background-color:#0000001a;cursor:pointer;position:relative;margin:0;padding:0;border-radius:0%;-webkit-border-radius:0;-webkit-transition:none!important;transition:none!important;animation:none!important;-webkit-animation:none!important}.team-selection input[type=radio].team-red:checked{background-color:red;border-color:red}.team-selection input[type=radio].team-blue:checked{background-color:#00f;border-color:#00f}.team-selection input[type=radio].team-green:checked{background-color:green;border-color:green}.team-selection input[type=radio].team-orange:checked{background-color:orange;border-color:orange}.dark-mode .team-selection input[type=radio]{background-color:#9b9b9b33}body.dark-mode .team-selection th{background:#9b9b9b1f;color:#a7a7a7}body.dark-mode .team-selection td{color:#e0e0e0}body.dark-mode .player-name-display{color:#e0e0e0;background:#484848}body.dark-mode .player-name-display:hover{background:#565656;box-shadow:0 4px 12px #0006}body.dark-mode .lobby-grid{--lobby-surface: #383838}body.dark-mode .lobby-content{background:var(--lobby-surface)}body.dark-mode *{scrollbar-color:#444 transparent}body.dark-mode .nav-button.active{background:#383838}body.dark-mode .nav-button.active:before{background:#383838}body.dark-mode .bot-controls-label{color:#888}body.dark-mode .players-content h3{color:#9b9b9b}.card-grid{display:flex;gap:15px;overflow-x:auto;padding-bottom:10px;margin:10px 0}#gameModeCards{flex-wrap:wrap;justify-content:flex-start;overflow-x:visible}.card{--card-color: green;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:12px 10px 8px;background:#c8c8c8;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;width:90px;min-width:90px;height:90px;min-height:90px;border:none;position:relative;box-sizing:border-box;transition:all .15s ease;box-shadow:0 2px 8px #00000026}.card:after{display:none}.card:hover{background:#d8d8d8;transform:translateY(-1px)}.card:active{transform:translateY(2px)}.card[data-mode-id]{height:45px;min-height:45px;padding:6px 10px;justify-content:center}.card--toggle:active,.card[data-mode-id]:active{transform:translateY(2px);margin-bottom:0}.rpg-card:active{transform:translateY(2px);box-shadow:0 1px 4px #00000026}.card.selected{background:var(--card-color)}.card.selected .card-label,.card.selected .card-title,.card.selected .card-description{color:#fff}.card.disabled{cursor:not-allowed;pointer-events:none}.card.disabled .card-icon,.card.disabled .card-title{opacity:.4}.card-disabled-badge{position:absolute;top:-6px;right:-6px;display:inline-block;width:24px;height:24px;padding-left:3px;line-height:24px;text-align:center;border-radius:50%;font-size:16px;font-family:"Press Start 2P",monospace;color:#fff;background:#c44;pointer-events:none}body.dark-mode .card-disabled-badge{color:#fff;background:#f66}.card-new-badge{position:absolute;top:-6px;right:-6px;display:inline-block;width:24px;height:24px;padding-left:3px;line-height:24px;text-align:center;border-radius:50%;font-size:16px;font-family:"Press Start 2P",monospace;color:#fff;background:#22c55e;pointer-events:none;z-index:1}body.dark-mode .card-new-badge{color:#fff;background:#4ade80}body.dark-mode .card{background:#505050}body.dark-mode .card:hover{background:#5a5a5a}body.dark-mode .card.selected{background:var(--card-color)}.card-label{font-family:"Press Start 2P",monospace;font-size:8px;color:#222;text-align:center;line-height:1.3;-webkit-hyphens:auto;hyphens:auto}.card-title{font-family:"Press Start 2P",monospace;font-size:8px;color:#222;text-align:center;line-height:1.3;-webkit-hyphens:auto;hyphens:auto;word-break:break-word;overflow-wrap:break-word}.card-description{font-family:"Press Start 2P",monospace;font-size:7px;color:#444;text-align:center;line-height:1.4}.card-canvas{display:block;margin-bottom:4px;width:60px;height:60px;transition:none}.card-image{width:60px;height:60px;object-fit:cover;margin-bottom:8px;border:none;transition:none}.card-placeholder{width:60px;height:60px;margin-bottom:8px;display:flex;align-items:center;justify-content:center;font-family:"Press Start 2P",monospace;font-size:8px;color:#666;text-align:center;transition:none}.card.selected .card-placeholder{color:#fff}body.dark-mode .card-label,body.dark-mode .card-title{color:#e0e0e0}body.dark-mode .card-description{color:#bbb}body.dark-mode .card-placeholder{color:#999}body.dark-mode .card.selected .card-placeholder{color:#fff}.card--green{--card-color: green}.card--blue{--card-color: blue}.card--purple{--card-color: purple}.card--orange{--card-color: orange}.card--toggle{width:70px;min-width:70px;height:35px;min-height:35px;padding:4px 8px;justify-content:center}.card--toggle:hover{transform:translateY(-1px)}.card--toggle:active{transform:translateY(2px)}.perks-category-label{font-family:"Press Start 2P",monospace;font-size:9px;color:#888;letter-spacing:.5px;text-transform:uppercase;text-align:left;margin-bottom:8px}body.dark-mode .perks-category-label{color:#999}.garage-tank-section{display:flex;flex-direction:column;align-items:center;padding:0}.garage-carousel{display:flex;align-items:center;gap:8px}.garage-carousel-arrow{font-family:"Press Start 2P",monospace;font-size:28px;background:none;border:none;color:#000;cursor:pointer;padding:8px;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;outline:none;position:relative}.garage-carousel-arrow.has-new:after{content:"!";position:absolute;top:-2px;right:-2px;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;font-size:14px;color:#fff;background:#22c55e;pointer-events:none}body.dark-mode .garage-carousel-arrow.has-new:after{background:#4ade80}.garage-carousel-arrow:active{color:#555}body.dark-mode .garage-carousel-arrow{color:#fff}body.dark-mode .garage-carousel-arrow:active{color:#aaa}.garage-tank-canvas{width:192px;height:192px;image-rendering:pixelated;margin:-130px 0 -50px}.garage-tank-name{font-family:"Press Start 2P",monospace;font-size:11px;color:#333;margin-top:6px;text-align:center}body.dark-mode .garage-tank-name{color:#ccc}.garage-carousel-indicators{display:flex;gap:5px;margin-top:6px;margin-bottom:10px}.garage-carousel-dot{width:6px;height:6px;background:#ccc;cursor:pointer}.garage-carousel-dot.active,body.dark-mode .garage-carousel-dot{background:#555}body.dark-mode .garage-carousel-dot.active{background:#ccc}.garage-perk-slots{display:flex;justify-content:center;gap:15px;padding:10px 0 15px}.card-empty{justify-content:center!important;border:2px dashed #aaa;background:transparent!important;box-shadow:none!important;font-family:"Press Start 2P",monospace;font-size:16px;color:#aaa;opacity:.6}.card-empty:hover{opacity:.8;background:transparent!important}body.dark-mode .card-empty{border-color:#666;color:#777}.garage-panel{background:#9b9b9b26;padding:10px 15px}body.dark-mode .garage-panel{background:#6464644d}.garage-bars-row{display:flex;justify-content:space-between;gap:8px}.garage-load-bar,.garage-save-bar{display:flex;align-items:center;gap:5px}.garage-status-center{display:flex;align-items:center;gap:6px;flex:1;justify-content:center}.garage-active-name{font-family:"Press Start 2P",monospace;font-size:11px;color:#333}body.dark-mode .garage-active-name{color:#ccc}.garage-load-bar .retro-button,.garage-save-bar .retro-button{white-space:nowrap}.dropdown-triangle{font-size:1em;line-height:0;vertical-align:middle;position:relative;top:-2px}.garage-preset-wrapper{position:relative}.garage-preset-dropdown{display:none;position:fixed;z-index:10001;background:#ddd;border:none;padding:4px 0;white-space:nowrap;grid-template-columns:1fr 1fr;grid-auto-flow:column;box-shadow:0 4px 15px #0000004d}.garage-preset-dropdown.vertical{grid-template-columns:1fr;grid-auto-flow:row}body.dark-mode .garage-preset-dropdown{background:#404040}.garage-dropdown-item{padding:6px 12px;font-family:"Press Start 2P",monospace;font-size:7px;color:#444;cursor:pointer}body.dark-mode .garage-dropdown-item{color:#9b9b9b}.garage-dropdown-item:hover{background:#0000001a;color:#000}body.dark-mode .garage-dropdown-item:hover{background:#ffffff1a;color:#fff}.garage-dropdown-item.active,body.dark-mode .garage-dropdown-item.active{color:orange}.garage-dropdown-item.empty{opacity:.35;pointer-events:none}.garage-perk-slots .card-modified{position:relative}.garage-perk-slots .card-modified:after{display:block;content:"•";position:absolute;top:2px;right:4px;font-size:14px;color:#ffc107;line-height:1;pointer-events:none}.garage-source-modified{background:#2e7d32;position:relative}.garage-source-modified:after{content:"•";position:absolute;top:-2px;right:-2px;font-size:12px;color:#ffc107;line-height:1}.garage-loadout-status{font-family:"Press Start 2P",monospace;font-size:8px;color:#ffc107;align-self:center;white-space:nowrap;margin-left:4px}.garage-loadout-dot{font-size:12px;vertical-align:middle;line-height:0;position:relative;top:-2px}.garage-confirm-text{font-family:"Press Start 2P",monospace;font-size:10px;color:#666;white-space:nowrap}body.dark-mode .garage-confirm-text{color:#888}.garage-confirm-discard{background:#b22222}.pm-cycler-wrapper{position:relative;display:inline-block;margin-top:6px}.pm-loadout-cycler{white-space:nowrap}.garage-perk-sheet{position:fixed;inset:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center}.garage-perk-sheet-backdrop{position:absolute;inset:0;background:#0000;transition:background .2s ease}.garage-perk-sheet.open .garage-perk-sheet-backdrop{background:#00000080}.garage-perk-sheet.open .pm-perk-sheet-content{transform:translateY(0)}.card-icon{margin-bottom:6px;flex-shrink:0}.card-icon>div{width:30px!important;height:30px!important}.card-icon svg{width:24px!important;height:24px!important}.perk-description{--perk-color: transparent;font-family:"Press Start 2P",monospace;font-size:9px;color:#444;line-height:1.5;text-align:left;border-left:5px solid var(--perk-color);padding-left:8px}body.dark-mode .perk-description{color:#aaa}.content-section{overflow:visible}body.dark-mode select{border:none;outline:none;background-color:#404040;color:#9b9b9b}.orientation-banner{display:none;position:fixed;top:50px;left:50%;transform:translate(-50%);width:65vw;max-width:280px;padding:8px 32px 8px 12px;background:#e0e0e0;border:none;z-index:10001;font-family:"Press Start 2P",monospace;align-items:center;gap:8px;box-shadow:0 4px 16px #00000040}.orientation-banner.dismissed{display:none!important}.orientation-banner-backdrop{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000026;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(2px);z-index:10000}.orientation-banner-backdrop.dismissed{display:none!important}.orientation-banner-icon{width:35%;min-width:80px;height:auto;flex-shrink:0;margin-top:6px}.orientation-banner-text{font-size:12px;color:#333}.orientation-banner-close{position:absolute;top:6px;right:6px;background:none;border:none;font-size:26px;color:#888;cursor:pointer;padding:4px 8px;line-height:1}.orientation-banner-close:hover{color:#555}body.dark-mode .orientation-banner{background:#2a2a2a}body.dark-mode .orientation-banner-text{color:#ddd}body.dark-mode .orientation-banner-close{color:#999}body.dark-mode .orientation-banner-close:hover{color:#ccc}body.dark-mode .orientation-banner .phone-vertical{stroke:#777}body.dark-mode .orientation-banner .phone-horizontal,body.dark-mode .orientation-banner .arrow{stroke:#bbb}body.dark-mode .orientation-banner .arrowhead{fill:#bbb}.gamepad-focused{outline:2px solid #444!important;outline-offset:2px!important}.gamepad-focused input[type=checkbox],.gamepad-focused input[type=range]{transform:scale(1.1)!important}.gamepad-focused input[type=radio]{transform:scale(1.25)!important}.dark-mode .gamepad-focused{outline:2px solid #9b9b9b!important}.setting-group{margin-top:10px}.settings-popup-btn{position:fixed;top:8px;right:20px;z-index:10000;padding:8px;background:#0000001a;border:none;border-radius:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:manipulation;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}body.dark-mode .settings-popup-btn{background:#ffffff1a}.settings-popup-btn-line{display:block;width:18px;height:2px;margin:2px 0;background:#444;transition:transform .2s ease,opacity .2s ease}body.dark-mode .settings-popup-btn-line{background:#9b9b9b}.settings-popup-btn.open .settings-popup-btn-line:nth-child(1){transform:rotate(45deg) translate(3px,3px)}.settings-popup-btn.open .settings-popup-btn-line:nth-child(2){opacity:0}.settings-popup-btn.open .settings-popup-btn-line:nth-child(3){transform:rotate(-45deg) translate(3px,-3px)}.settings-popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;z-index:1001;display:flex;justify-content:flex-end;align-items:center;pointer-events:none;opacity:0;transition:opacity .22s ease}.settings-popup-overlay.visible{opacity:1}.settings-popup-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:auto}.settings-popup{--settings-popup-left-cut: 36px;width:25%;max-height:80%;background:#ebebebf2;padding:15px;padding-left:calc(15px + var(--settings-popup-left-cut));padding-right:max(15px,env(safe-area-inset-right,0px));margin-right:0;font-family:"Press Start 2P",monospace;overflow-y:auto;position:relative;border:none;pointer-events:auto;clip-path:polygon(var(--settings-popup-left-cut) 0,100% 0,100% 100%,0 100%);transform:translate(100%);transition:transform .22s ease}.settings-popup-overlay.visible .settings-popup{transform:translate(0)}.settings-popup h3{margin:0 0 12px;font-size:12px;color:#333;text-align:center}.settings-popup .setting-row{margin-bottom:8px}.settings-popup .setting-header{margin-bottom:8px;margin-top:0}.settings-popup .setting-row label,.settings-popup .setting-row span{font-size:12px}.settings-popup .setting-row:has(input[type=range]){flex-direction:column}.settings-popup .setting-row:has(input[type=range]) .setting-header{width:100%;min-width:auto;justify-content:space-between;margin-bottom:8px}.settings-popup .setting-row:has(input[type=range]) input[type=range]{width:100%;flex:none}.settings-popup .setting-row:has(input[type=range]) span{width:auto;min-width:auto;text-align:left}body.dark-mode .settings-popup{background:#2a2a2ae6}body.dark-mode .settings-popup h3{color:#ddd}#popupEndGameRow{flex-direction:row;align-items:center}.end-game-btn{background:#b22222}.end-game-confirm{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}.end-game-confirm span{font-size:9px;font-weight:700}.end-game-confirm-actions{display:flex;align-items:center;gap:8px}.end-game-confirm-actions .retro-button{flex:1}.end-game-yes{background:#b22222}.end-game-no{background:#666}@keyframes medal-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.medal-glow{filter:drop-shadow(0 0 2px rgba(255,215,0,.7))}.medal-legendary{animation:medal-pulse 2s infinite ease-in-out;filter:drop-shadow(0 0 4px rgba(147,112,219,.9))}.graffiti-editor{display:flex;flex-direction:column;gap:12px;margin-top:10px}.graffiti-slots{display:flex;gap:12px}.graffiti-slot{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border:none;cursor:pointer;background:#c8c8c8;transition:all .15s ease;box-shadow:0 2px 8px #00000026}.graffiti-slot:hover{background:#d8d8d8;transform:translateY(-1px)}.graffiti-slot.active{background:green}.graffiti-slot.active span{color:#fff}.graffiti-slot span{font-size:10px;color:#222}.graffiti-preview{width:60px;height:60px;image-rendering:pixelated}.graffiti-slot.active .graffiti-preview{filter:brightness(0) invert(1)}body.dark-mode .graffiti-slot{background:#505050;box-shadow:0 2px 8px #0000004d}body.dark-mode .graffiti-slot:hover{background:#5a5a5a}body.dark-mode .graffiti-slot.active{background:green}body.dark-mode .graffiti-slot span{color:#e0e0e0}body.dark-mode .graffiti-slot.active span{color:#fff}.graffiti-edit-area{display:flex;flex-direction:row;gap:10px}.graffiti-controls{display:flex;flex-direction:column;gap:8px}.graffiti-controls .retro-button.small{width:90px}#graffitiCanvas{width:min(70vh,400px);height:min(70vh,400px);border:2px solid #ccc;cursor:crosshair;touch-action:none}body.dark-mode #graffitiCanvas{border-color:#555}.quick-play-section{background:repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(0,0,0,.06) 31px,rgba(0,0,0,.06) 32px),repeating-linear-gradient(83deg,transparent,transparent 31px,rgba(0,0,0,.06) 31px,rgba(0,0,0,.06) 32px),linear-gradient(135deg,orange,#e08600);border:none;padding:20px;margin-bottom:20px;position:relative}.quick-play-content{display:flex;justify-content:space-between;align-items:center;gap:20px}.quick-play-info{display:flex;flex-direction:column;gap:4px}.quick-play-title{font-size:14px;font-weight:700;color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,.3);text-align:left}.quick-play-desc{font-size:10px;color:#ffffffe6;margin-top:5px;text-align:left}.custom-game-section{border:none;margin-bottom:20px}.custom-game-header{display:flex;justify-content:space-between;align-items:center;padding:20px;cursor:pointer;background:repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(0,0,0,.06) 31px,rgba(0,0,0,.06) 32px),repeating-linear-gradient(83deg,transparent,transparent 31px,rgba(0,0,0,.06) 31px,rgba(0,0,0,.06) 32px),linear-gradient(135deg,#7b2ff2,#5a1dbf);-webkit-user-select:none;user-select:none}.custom-game-title{font-size:14px;font-weight:700;color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,.3);text-align:left}.custom-game-info{display:flex;flex-direction:column;gap:4px;text-align:left}.custom-game-desc{font-size:10px;color:#ffffffe6;margin-top:5px}.custom-game-desc--locked,.custom-game-section.locked .custom-game-desc--unlocked{display:none}.custom-game-section.locked .custom-game-desc--locked{display:block}.custom-game-section.locked .custom-game-header{background:repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(0,0,0,.06) 31px,rgba(0,0,0,.06) 32px),repeating-linear-gradient(83deg,transparent,transparent 31px,rgba(0,0,0,.06) 31px,rgba(0,0,0,.06) 32px),linear-gradient(135deg,#888,#777);cursor:not-allowed}.custom-game-section.locked .custom-game-toggle{display:none}.custom-game-section.locked .custom-game-content{max-height:0;padding-top:0;padding-bottom:0;opacity:0}.custom-game-toggle{font-size:18px;color:#fff;transition:transform .4s ease-in-out;transform:rotate(-180deg) scaleX(1.5);margin-right:20px}.custom-game-section.collapsed .custom-game-toggle{transform:rotate(0) scaleX(1.5)}.custom-game-content{padding:15px 20px 20px;max-height:2000px;overflow:hidden;transition:max-height .3s ease,padding .3s ease,opacity .3s ease;opacity:1}.custom-game-section.collapsed .custom-game-content{max-height:0;padding-top:0;padding-bottom:0;opacity:0}.custom-game-row{display:flex;gap:20px;margin-bottom:20px;align-items:flex-start}.custom-game-row .team-selection{flex:1}.custom-game-controls{display:flex;flex-direction:column;gap:10px;min-width:140px}.bot-controls-box{display:flex;align-items:center;gap:5px;padding:10px 15px;background:#9b9b9b26;border:none}.start-game-btn{background:red;text-shadow:1px 1px 0 rgba(0,0,0,.3)}body.dark-mode .custom-game-header{background:repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(0,0,0,.06) 31px,rgba(0,0,0,.06) 32px),repeating-linear-gradient(83deg,transparent,transparent 31px,rgba(0,0,0,.06) 31px,rgba(0,0,0,.06) 32px),linear-gradient(135deg,#7b2ff2,#5a1dbf)}body.dark-mode .custom-game-title,body.dark-mode .custom-game-toggle{color:#fff}body.dark-mode .custom-game-content h4{color:#888!important}body.dark-mode .bot-controls-box{background:#6464644d}.custom-game-section-label{font-family:"Press Start 2P",monospace;font-size:9px;color:#888;letter-spacing:.5px;text-transform:uppercase;text-align:left;margin-bottom:8px;margin-top:15px}.custom-game-section-label:first-child{margin-top:0}body.dark-mode .custom-game-section-label{color:#999}#pre-match-screen{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;font-family:"Press Start 2P",monospace;color:#333;overflow:hidden;padding:32px 24px 96px;box-sizing:border-box}#pre-match-screen:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(0,0,0,.04) 31px,rgba(0,0,0,.04) 32px),repeating-linear-gradient(83deg,transparent,transparent 31px,rgba(0,0,0,.04) 31px,rgba(0,0,0,.04) 32px),#f8f8f8}body.dark-mode #pre-match-screen{color:#e0e0e0}body.dark-mode #pre-match-screen:before{background:repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(255,255,255,.03) 31px,rgba(255,255,255,.03) 32px),repeating-linear-gradient(83deg,transparent,transparent 31px,rgba(255,255,255,.03) 31px,rgba(255,255,255,.03) 32px),#2d2d2d}.pm-content{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:90vw;width:100%;padding-top:80px}.pm-shaded-text{text-shadow:3px 3px 0 rgba(0,0,0,.2)}body.dark-mode .pm-shaded-text{text-shadow:3px 3px 0 rgba(255,255,255,.2)}.pm-section,.pm-team,.pm-teams-container,.pm-top-left{opacity:0;transform:translate(40px)}@keyframes pmSlideIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.pm-animate-in .pm-mode-name{animation:pmSlideIn .2s ease-out .05s forwards}.pm-animate-in .pm-mode-objective{animation:pmSlideIn .2s ease-out .15s forwards}.pm-animate-in .pm-teams-container{animation:pmSlideIn .3s ease-out .25s forwards}.pm-animate-in .pm-team:first-child{animation:pmSlideIn .2s ease-out .4s forwards}.pm-animate-in .pm-team:nth-child(n+2){animation:pmSlideIn .2s ease-out .6s forwards}.pm-animate-in .pm-top-left,.pm-animate-in .pm-actions{animation:pmSlideIn .2s ease-out .8s forwards}.pm-animate-in .pm-bottom-strip{animation:pmSlideIn .2s ease-out .9s forwards}@keyframes pmFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes pmBackdropFadeOut{to{opacity:0}}#pre-match-screen.pm-animate-out{pointer-events:none}#pre-match-screen.pm-animate-out:before{animation:pmBackdropFadeOut .5s ease-in forwards}.pm-animate-out .pm-section,.pm-animate-out .pm-team,.pm-animate-out .pm-teams-container,.pm-animate-out .pm-top-left,.pm-animate-out .pm-bottom-strip{animation:pmFadeOut .4s ease-in forwards}.pm-animate-out .pm-mode-name,.pm-animate-out .pm-mode-objective{animation:pmFadeOut .5s ease-in 3s both}.pm-animate-out-immediate .pm-mode-name,.pm-animate-out-immediate .pm-mode-objective{animation:pmFadeOut .4s ease-in forwards}.pm-mode-name{font-size:22px;text-align:left;letter-spacing:1px;color:#00f;position:fixed;top:40px;left:5%}.pm-mode-objective{font-size:8px;text-align:left;max-width:320px;line-height:1.6;position:fixed;top:70px;left:5%}.pm-settings-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.pm-teams-container{display:flex;justify-content:space-evenly;flex-wrap:wrap;padding:var(--pm-container-pad-v, 28px) 48px var(--pm-container-pad-v, 28px) 64px;background:#ebebeb;clip-path:polygon(6% 0,100% 0,100% 100%,calc(6% - 24px) 100%);align-self:flex-end;width:calc(88% + 5vw + 24px);margin-right:calc(-5vw - 24px);margin-top:var(--pm-container-margin-top, 0px)}body.dark-mode .pm-teams-container{background:#383838}.pm-team{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.pm-players-row{display:var(--pm-row-display, flex);flex-wrap:nowrap;justify-content:space-evenly;width:100%;gap:var(--pm-player-gap, 8px);margin:0 auto;grid-template-columns:var(--pm-grid-cols, none);justify-items:center}.pm-non-local-cluster{display:grid;grid-template-rows:repeat(2,auto);grid-template-columns:repeat(var(--pm-cluster-cols),1fr);grid-auto-flow:column;row-gap:2px;align-self:center;justify-items:center}.pm-non-local-cluster .pm-player{width:auto}@media(max-width:700px){#pre-match-screen{padding:24px 16px 112px}.pm-bottom-strip{padding:0 16px;bottom:4px}}.pm-player{display:flex;flex-direction:column;align-items:center;width:var(--pm-player-width, 80px)}.pm-tank-canvas{width:var(--pm-tank-size, 64px);height:var(--pm-tank-size, 64px);image-rendering:pixelated}.pm-player-name{font-size:var(--pm-name-size, 9px);margin-top:var(--pm-name-margin, 4px);margin-bottom:var(--pm-name-margin, 4px);text-align:center;line-height:1.2;white-space:nowrap}.pm-local-player{font-weight:700;color:#000}body.dark-mode .pm-local-player{color:#fff}.pm-player-level{margin-left:6px;font-weight:800;color:#3b82f6;display:inline-flex;align-items:baseline;gap:2px}.pm-player-level .player-level-label-prefix{font-size:6px}.pm-player-level .player-level-label-num{font-size:9px}.pm-player-local{transform:scale(1.25);margin:0;grid-column:var(--pm-local-grid-col, auto);grid-row:var(--pm-local-grid-row, auto);align-self:var(--pm-local-align-self, center);justify-self:center}.pm-player-perks{display:flex;gap:1px;margin-top:var(--pm-perks-margin, 2px);justify-content:center}.pm-inline-carousel{display:flex;align-items:center;gap:2px}.pm-inline-carousel .pm-carousel-arrow{font-family:"Press Start 2P",monospace;font-size:14px;background:none;border:none;color:#000;cursor:pointer;padding:4px;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;outline:none}.pm-inline-carousel .pm-carousel-arrow:active{color:#000}body.dark-mode .pm-inline-carousel .pm-carousel-arrow,body.dark-mode .pm-inline-carousel .pm-carousel-arrow:active{color:#fff}.pm-player-local .pm-tank-canvas{width:64px;height:64px}.pm-player-perks-local{transform:scale(1.4);cursor:pointer;margin-top:6px}.pm-perk-slot-empty{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;position:relative;border:1px solid #aaa;box-sizing:border-box;font-family:"Press Start 2P",monospace;font-size:7px;color:#aaa;cursor:pointer;opacity:.6}body.dark-mode .pm-perk-slot-empty{border-color:#666;color:#777}.slot-empty-badge{position:absolute;top:-3px;right:-3px;width:6px;height:6px;border-radius:50%;background:#c44}body.dark-mode .slot-empty-badge{background:#f66}.pm-perk-sheet{position:fixed;inset:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center}.pm-perk-sheet-backdrop{position:absolute;inset:0;background:#0000;transition:background .2s ease}.pm-perk-sheet.open .pm-perk-sheet-backdrop{background:#00000080}.pm-perk-sheet-content{position:relative;background:#f8f8f8;width:fit-content;max-width:min(720px,100%);padding:12px 20px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;transform:translateY(100%);transition:transform .2s ease}.pm-perk-sheet.open .pm-perk-sheet-content{transform:translateY(0)}body.dark-mode .pm-perk-sheet-content{background:#383838}.pm-perk-sheet-close{position:absolute;top:14px;right:12px;background:transparent;border:none;font-family:"Press Start 2P",monospace;font-size:16px;color:#888;cursor:pointer;padding:0 4px;line-height:1}.pm-perk-sheet-close:hover{color:#333}body.dark-mode .pm-perk-sheet-close:hover{color:#ddd}.pm-perk-sheet-handle{width:32px;height:4px;background:#ccc;margin-bottom:4px}body.dark-mode .pm-perk-sheet-handle{background:#555}.pm-perk-sheet-title{font-family:"Press Start 2P",monospace;font-size:11px;color:#333}body.dark-mode .pm-perk-sheet-title{color:#e0e0e0}.pm-perk-sheet-grid{justify-content:center;overflow:visible;padding-top:8px}.pm-perk-sheet-desc{min-height:2em;width:70%}.pm-actions{margin-top:-4px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.pm-ready-btn{background:green;font-size:8px!important;padding:8px 16px!important;order:1}.pm-ready-btn:disabled{background:#666;opacity:.7;cursor:default}.pm-ready-indicator{font-size:7px;color:green;margin-top:7px;font-weight:700}body.dark-mode .pm-ready-indicator{color:#4caf50}.pm-top-left{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.pm-cancel-btn{background:#b22222;font-size:8px!important;padding:8px 16px!important}@keyframes pmFadeIn{0%{opacity:0}to{opacity:1}}.info-popup{position:fixed;z-index:10003;background:#ddd;color:#444;border:none;padding:12px;font-family:"Press Start 2P",monospace;box-shadow:0 4px 15px #0000004d;pointer-events:auto;width:280px;display:none}.info-popup-header{font-size:10px;margin-bottom:8px;text-align:left}.info-popup-line{border-bottom:none;margin-bottom:8px}.info-popup-body{font-size:8px;line-height:1.4}.info-popup-body em{font-style:normal;color:orange}body.dark-mode .info-popup{background:#404040;color:#9b9b9b}.effect-keyword{color:orange;text-decoration:underline;text-decoration-style:dotted;cursor:pointer}.tutorial-popup-overlay{--tutorial-popup-left-cut: 36px;position:fixed;top:46px;right:0;z-index:10001;display:flex;justify-content:flex-end;align-items:flex-start;pointer-events:none;opacity:0;transition:opacity .22s ease}.tutorial-popup-overlay.visible{opacity:1}.tutorial-popup{position:relative;background:#ebebebf2;color:#444;border:none;padding:10px;padding-left:calc(10px + var(--tutorial-popup-left-cut));padding-right:max(10px,env(safe-area-inset-right,0px));font-family:"Press Start 2P",monospace;width:220px;pointer-events:auto;clip-path:polygon(var(--tutorial-popup-left-cut) 0,100% 0,100% 100%,0 100%);transform:translate(100%);transition:transform .22s ease}.tutorial-popup-overlay.visible .tutorial-popup{transform:translate(0)}.tutorial-popup[data-size=large]{width:320px}.tutorial-popup-header{font-size:10px;margin-bottom:8px;text-align:left}.tutorial-popup-line{border-bottom:none;margin-bottom:8px}.tutorial-popup-body{font-size:8px;line-height:1.4;min-height:40px}.tutorial-popup-body em{font-style:normal;color:var(--em-color, orange)}.tutorial-popup-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:12px;gap:10px}.tutorial-popup-indicator{font-size:8px;color:#666}.tutorial-popup-nav{display:flex;gap:8px}.tutorial-popup-nav .retro-button.small{outline:none}.tutorial-popup-nav .tutorial-popup-next{background:purple}.tutorial-popup-timer-bar{position:absolute;bottom:0;left:0;height:3px;background:purple;transition:width linear}body.dark-mode .tutorial-popup{background:#2a2a2ae6;color:#9b9b9b}body.dark-mode .tutorial-popup-indicator{color:#888}.info-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-bottom:20px}.info-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 6px;background:#c8c8c8;border:none;cursor:pointer;transition:all .15s ease;gap:5px;box-shadow:0 2px 8px #00000026}.info-card:hover{background:#d8d8d8;transform:translateY(-1px)}.info-card:active{transform:translateY(2px)}.info-card-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px}.info-card-icon svg{display:block}.info-card-icon-lg{width:32px;height:32px}.info-card-label{font-family:"Press Start 2P",monospace;font-size:8px;color:#222;text-align:center;line-height:1.3}body.dark-mode .info-card{background:#505050;box-shadow:0 2px 8px #0000004d}body.dark-mode .info-card:hover{background:#5a5a5a;box-shadow:0 4px 12px #0006}body.dark-mode .info-card-label{color:#e0e0e0}.info-tutorial-display{background:#c8c8c8;padding:16px;margin-bottom:20px;font-family:"Press Start 2P",monospace;height:120px;display:flex;flex-direction:column;overflow-y:auto}.info-tutorial-header{font-size:10px;color:#333;margin-bottom:10px;text-align:left}.info-tutorial-body{font-size:8px;line-height:1.5;color:#444;text-align:left;flex:1}.info-tutorial-body em{font-style:normal;color:var(--em-color, orange)}.info-tutorial-footer{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;margin-top:auto;padding-top:14px;gap:10px}.info-tutorial-indicator{font-size:8px;color:#888}.info-tutorial-nav{display:flex;gap:8px}.info-tutorial-nav .retro-button.small{outline:none}body.dark-mode .info-tutorial-display{background:#505050}body.dark-mode .info-tutorial-header{color:#ddd}body.dark-mode .info-tutorial-body{color:#bbb}body.dark-mode .info-tutorial-indicator{color:#999}.info-about-section{text-align:left}.info-credit{font-family:"Press Start 2P",monospace;font-size:10px;color:#666;margin-bottom:16px;line-height:1.8}.info-credit a{color:#7289da}.info-credit-highlight{color:red}body.dark-mode .info-credit{color:#999}.info-version{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-family:"Press Start 2P",monospace}.info-version-label{font-size:10px;color:#666}.info-version-value{font-size:10px;color:red;margin-left:auto;margin-right:20px}body.dark-mode .info-version-label{color:#999}body.dark-mode .info-version-value{color:red}.info-changelog{border:none;background:#ddd}body.dark-mode .info-changelog{background:#404040}.info-changelog-header{display:flex;justify-content:space-between;align-items:center;padding:12px;cursor:pointer;font-family:"Press Start 2P",monospace;transition:background .15s ease}.info-changelog-title{font-size:10px;color:#666}body.dark-mode .info-changelog-title{color:#999}.info-changelog-toggle{font-size:12px;color:#999;transition:transform .3s ease;transform:scaleX(1.2);pointer-events:none;margin-right:8px}.info-changelog-header.expanded .info-changelog-toggle{transform:rotate(180deg) scaleX(1.2)}.info-changelog-content{max-height:0;overflow:hidden;transition:max-height .3s ease;background:transparent}.info-changelog-content.expanded{max-height:500px}.changelog-entry{padding:12px;border-top:none;font-family:"Press Start 2P",monospace;background:#ebebeb}body.dark-mode .changelog-entry{background:#383838}.changelog-version{font-size:9px;color:red;display:block;margin-bottom:8px}.changelog-entry ul{margin:0;padding-left:16px;font-size:8px;line-height:1.8;color:#666}body.dark-mode .changelog-entry ul{color:#999}.changelog-entry li{margin-bottom:4px}.welcome-overlay{position:fixed;inset:0;z-index:10002;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;padding:20px}.welcome-popup{background:#f0f0f0;border:none;padding:0;max-width:320px;width:100%;text-align:center;font-family:"Press Start 2P",monospace;box-shadow:0 8px 32px #00000080;overflow:hidden}.welcome-header{margin-bottom:0}.welcome-logo{width:80px;height:80px;margin-bottom:12px}.welcome-tank-canvas{width:100%;height:120px;display:block}.welcome-title{font-size:28px;margin:0;padding:0 30px 16px;text-shadow:3px 3px 0 rgba(0,0,0,.2)}.welcome-content{display:flex;flex-direction:column;gap:10px;padding:0 30px 24px}.welcome-subtitle{font-size:10px;color:#666;margin:0}.welcome-name-input{font-family:"Press Start 2P",monospace;font-size:12px;padding:12px;border:none;background:#ddd;text-align:center;width:100%;box-sizing:border-box}.welcome-name-input:focus{outline:none;background:#ccc}.welcome-error{color:red;font-size:8px;min-height:16px}.welcome-join-btn{background:purple;color:#fff;font-size:14px;padding:14px 24px}body.dark-mode .welcome-popup{background:#383838}body.dark-mode .welcome-title{text-shadow:3px 3px 0 rgba(255,255,255,.2)}body.dark-mode .welcome-subtitle{color:#999}body.dark-mode .welcome-name-input{background:#404040;color:#e0e0e0}body.dark-mode .welcome-name-input:focus{background:#505050}body.welcome-active #lobby{visibility:hidden}body.welcome-active .orientation-banner,body.welcome-active .orientation-banner-backdrop{display:none!important}.pwa-install-overlay{position:fixed;inset:0;z-index:10003;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:flex-end;padding:0}.pwa-install-popup{background:#f0f0f0;border:none;padding:30px;width:100%;max-width:500px;max-height:66vh;text-align:center;font-family:"Press Start 2P",monospace;box-shadow:0 -8px 32px #0003;display:flex;flex-direction:column;gap:24px}.pwa-install-header{display:flex;flex-direction:column;align-items:center;gap:12px}.pwa-install-logo{width:60px;height:60px}.pwa-install-title{font-size:28px;margin:0;text-shadow:3px 3px 0 rgba(0,0,0,.2);color:#333}.pwa-install-prefix{color:#888}.pwa-install-content{flex:1;display:flex;flex-direction:column;justify-content:center;gap:16px}.pwa-install-subtitle{font-size:12px;color:#666;margin:0}.pwa-install-instructions{font-size:10px;color:#555;line-height:1.8}.pwa-install-instructions strong{color:red;font-weight:700}.pwa-install-close-btn{background:purple;color:#fff;font-size:14px;padding:14px 24px}body.dark-mode .pwa-install-popup{background:#383838}body.dark-mode .pwa-install-title{color:#e0e0e0;text-shadow:3px 3px 0 rgba(255,255,255,.2)}body.dark-mode .pwa-install-prefix,body.dark-mode .pwa-install-subtitle{color:#999}body.dark-mode .pwa-install-instructions{color:#aaa}body.dark-mode .pwa-install-instructions strong{color:#f66}body.pwa-install-active #lobby{visibility:hidden}body.pwa-install-active .orientation-banner,body.pwa-install-active .orientation-banner-backdrop{display:none!important}.info-icon{display:inline-block;position:relative;top:-2px;margin-left:2px;margin-top:-4px;margin-bottom:-4px;font-size:12px!important;color:#aaa!important;cursor:pointer;border:none;background:#0000000d;border-radius:50%;width:20px;padding-left:2px;height:20px;line-height:20px;text-align:center;vertical-align:middle;font-family:"Press Start 2P",monospace}.info-icon:hover{color:#444!important;background:#0003;transform:scale(1.1)}body.dark-mode .info-icon{color:#666!important;background:#ffffff0d}body.dark-mode .info-icon:hover{color:#9b9b9b!important;background:#fff3}
