*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Inter,Segoe UI,sans-serif;background:#05070b;color:#fff}.hidden{display:none!important}#multiplayer-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;overflow-y:auto;background:linear-gradient(180deg,#06090ed1,#06090e9e 42%,#06090ee6),linear-gradient(115deg,rgba(240,91,44,.1),transparent 45%),url(/bundle/menu-bg-B27q-zyu.jpg) center/cover no-repeat,#05070b;display:grid;place-items:start center}.lobby-shell{width:min(96vw,1080px);padding:22px 20px 30px;display:flex;flex-direction:column;min-height:100%}.lobby-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid #ffffff14}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:1px}.brand-mark{color:#ff6a2b;font-size:22px;text-shadow:0 0 16px #ff6a2baa}.brand-name b{color:#ff8b4c}.online-badge{display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:#0d141ccc;border:1px solid #ffffff1f;font-size:13px;color:#c8d1da}.online-badge b{color:#62ff9d;font-size:15px}.online-dot{width:8px;height:8px;border-radius:50%;background:#62ff9d;box-shadow:0 0 10px #62ff9d;animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.lobby-hero{padding:40px 6px 26px}.hero-title{margin:0;font-size:clamp(38px,6vw,68px);font-weight:900;letter-spacing:6px;line-height:1;background:linear-gradient(90deg,#ffd9a0,#ff6a2b 60%,#e23b2e);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 8px 40px #ff5a2340}.hero-sub{margin:14px 0 0;color:#aeb9c5;font-size:14px;max-width:640px;letter-spacing:.5px}.lobby-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:18px}.panel{background:linear-gradient(180deg,#0e151fee,#0a0f17f2);border:1px solid #ffffff1a;border-radius:14px;box-shadow:0 24px 70px #000a;overflow:hidden}.panel-head{padding:14px 18px;font-size:15px;font-weight:800;letter-spacing:2px;color:#ffb27a;border-bottom:1px solid #ffffff12;background:linear-gradient(90deg,#ff6a2b1f,transparent);display:flex;align-items:center;justify-content:space-between}.panel-deploy{padding-bottom:18px}.panel-deploy .field,.panel-deploy .actions{padding-left:18px;padding-right:18px}.field{display:grid;gap:7px;margin:14px 0 0}.field>span{font-size:12px;letter-spacing:1px;color:#8b97a4;text-transform:uppercase}input,select{width:100%;padding:12px 13px;color:#fff;background:#070b11;border:1px solid #ffffff22;border-radius:8px;font-size:15px;text-transform:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{outline:none;border-color:#ff6a2b;box-shadow:0 0 0 3px #ff6a2b33}.mode-cards{display:grid;gap:8px}.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 14px;border-radius:9px;background:#070b11;border:1px solid #ffffff1c;cursor:pointer;text-align:left;transition:all .15s}.mode-card b{font-size:14px;color:#e8eef4;font-weight:700}.mode-card i{font-size:12px;color:#8b97a4;font-style:normal}.mode-card:hover{border-color:#ff8b4c66;background:#0c131b}.mode-card.selected{border-color:#ff6a2b;background:linear-gradient(135deg,#ff6a2b26,#0c131b);box-shadow:0 0 0 1px #ff6a2b55 inset}.mode-card.selected b{color:#ffb27a}.actions{display:grid;gap:10px;margin-top:16px}button,.back-link{border:0;border-radius:9px;padding:13px 18px;font-weight:700;cursor:pointer;color:#fff;text-decoration:none;text-align:center;font-size:15px;transition:transform .12s,box-shadow .2s,background .2s}.btn-primary{background:linear-gradient(135deg,#f0491c,#ff8b4c);box-shadow:0 8px 26px #f0491c55;letter-spacing:1px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px #f0491c77}.btn-ghost{background:#141c26;border:1px solid #ffffff1f;color:#d6dee7}.btn-ghost:hover{background:#1a2430}.btn-mini{padding:9px 14px;font-size:13px;background:linear-gradient(135deg,#f0491c,#ff8b4c);border-radius:8px}.panel-head-actions{display:flex;gap:6px}.panel-head-actions input{width:108px;padding:7px 10px;font-size:13px;letter-spacing:2px;text-transform:uppercase}.room-list{display:flex;flex-direction:column;gap:8px;padding:14px 16px;max-height:340px;overflow-y:auto}.room-list-row{display:grid;grid-template-columns:62px 1fr auto auto;gap:10px;align-items:center;padding:11px 13px;border-radius:9px;background:#070b11;border:1px solid #ffffff16;text-align:left;cursor:pointer;transition:all .14s}.room-list-row:hover:not(:disabled){border-color:#ff8b4c66;background:#0d141d;transform:translate(2px)}.room-list-row .rl-code{font-weight:800;letter-spacing:2px;color:#ff9b66;font-size:15px}.room-list-row .rl-map{color:#d6dee7;font-size:14px}.room-list-row .rl-mode{color:#8b97a4;font-size:12px;padding:3px 9px;border-radius:999px;background:#ffffff10}.room-list-row .rl-count{font-weight:700;font-size:13px;color:#62ff9d}.room-list-row .rl-count.full{color:#ff6b6b}.room-list-empty{padding:30px 16px;text-align:center;color:#66707c;font-size:13px}.room-list:empty+.room-list-empty{display:block}.room-list:not(:empty)+.room-list-empty{display:none}.lobby-foot{margin-top:18px;padding-top:14px;border-top:1px solid #ffffff14;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}#connection-status{min-height:20px;color:#62d98b;font-size:13px}#connection-status.error{color:#ff6b6b}.connection-info{display:flex;flex-direction:column;gap:2px}#build-version{color:#6f7b88;font-size:11px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}#build-version.warning{color:#ffb347}#build-version.error{color:#ff6b6b}.foot-links{display:flex;align-items:center;gap:16px}#mp-settings{font-size:13px}#mp-settings summary{cursor:pointer;color:#9aa7b5;list-style:none}#mp-settings summary::-webkit-details-marker{display:none}#mp-settings[open]{position:fixed;right:20px;bottom:20px;width:min(92vw,320px);background:#0e151ff5;border:1px solid #ffffff22;border-radius:12px;padding:16px;box-shadow:0 24px 70px #000c;z-index:5}.back-link{padding:8px 14px;font-size:13px;background:#141c26}@media(max-width:760px){.lobby-grid{grid-template-columns:1fr}.lobby-hero{padding:24px 4px 18px}}#multiplayer-game,#game-canvas{position:fixed;top:0;right:0;bottom:0;left:0}#game-canvas canvas{display:block}#mp-hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.hud-card{position:absolute;top:18px;left:18px;min-width:260px;padding:14px 18px;background:#06090dc9;border:1px solid #ffffff22;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.room-code-line{display:flex;gap:10px;align-items:center}#current-room-code{color:#ff9b66;font-size:21px;letter-spacing:4px;font-weight:800}#copy-room-code{pointer-events:auto;padding:7px 10px;font-size:12px}#room-players{display:flex;gap:8px;margin-top:10px}#room-players span{background:#ffffff12;padding:5px 9px;border-radius:999px}#leave-room{pointer-events:auto;position:absolute;right:18px;top:18px;background:#8d3030}.control-tip{position:absolute;bottom:6px;left:50%;transform:translate(-50%);background:#06090dba;padding:6px 14px;border-radius:8px;color:#c8d1da;font-size:12px;white-space:nowrap;max-width:96vw;overflow:hidden;text-overflow:ellipsis}#mp-crosshair{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%)}#mp-crosshair:before,#mp-crosshair:after{content:"";position:absolute;background:#62ff9d;box-shadow:0 0 6px #62ff9d}#mp-crosshair:before{width:18px;height:2px;top:8px}#mp-crosshair:after{width:2px;height:18px;left:8px}.combat-stats{position:absolute;bottom:46px;left:50%;transform:translate(-50%);display:flex;gap:22px;align-items:flex-end}.stat-block{background:#06090dc9;border:1px solid #ffffff22;border-radius:10px;padding:8px 16px;display:flex;align-items:baseline;gap:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stat-label{font-size:12px;color:#8b97a4;letter-spacing:1px}.stat-sep{color:#4a5560}.stat-block.hp #hud-health{font-size:30px;font-weight:800;color:#38d66b}.stat-block.ammo{font-size:26px;font-weight:800;color:#ff9b66}.stat-block.ammo .weapon-name{font-size:13px;font-weight:700;color:#b8c2cc;letter-spacing:1px;margin-right:4px}.stat-block.score span{font-size:20px;font-weight:700}#hud-kills{color:#62ff9d}#hud-deaths{color:#ff6b6b}#hud-killfeed{position:absolute;top:96px;right:18px;width:320px;display:flex;flex-direction:column;gap:6px}.killfeed-line{background:#06090dcc;border-left:4px solid #ff8b4c;padding:7px 12px;border-radius:4px;font-size:14px;animation:slideIn .25s ease-out}@keyframes slideIn{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}#hud-hitmarker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(1);color:#fff;font-size:24px;font-weight:700;opacity:0;text-shadow:0 0 4px #000}#hud-hitmarker.show{animation:hitPop .18s ease-out}@keyframes hitPop{0%{opacity:1;transform:translate(-50%,-50%) scale(1.7)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}#hud-damage-flash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;background:radial-gradient(circle,transparent 45%,rgba(200,20,20,.55) 100%)}#hud-damage-flash.show{animation:dmgFlash .5s ease-out}@keyframes dmgFlash{0%{opacity:1}to{opacity:0}}#hud-scope{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at center,transparent 24%,rgba(0,0,0,.97) 27%)}#hud-scope:before,#hud-scope:after{content:"";position:absolute;left:50%;top:50%;background:#000000d9}#hud-scope:before{width:2px;height:100vh;transform:translate(-50%,-50%)}#hud-scope:after{width:100vw;height:2px;transform:translate(-50%,-50%)}#hud-death{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;background:#3c000059}.death-title{font-size:52px;font-weight:900;color:#ff3b30;letter-spacing:6px;text-shadow:0 4px 20px #000}.death-sub{margin-top:12px;font-size:20px;color:#ffd0c0}#hud-scoreboard{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(94vw,640px);background:#0b1119f2;border:1px solid #ffffff26;border-radius:14px;padding:24px 26px;box-shadow:0 24px 80px #000b;pointer-events:auto;z-index:20}#hud-scoreboard-title{font-size:26px;font-weight:800;color:#ffb347;text-align:center;margin-bottom:18px}#hud-scoreboard-teams{display:flex;gap:18px}.score-col{flex:1;border:1px solid #ffffff1f;border-radius:10px;padding:12px 14px}.score-col[data-team=a]{border-top:3px solid #3a86ff}.score-col[data-team=b]{border-top:3px solid #ff5a5a}.score-col-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.score-team-name{font-size:17px;font-weight:800}.score-col[data-team=a] .score-team-name{color:#3a86ff}.score-col[data-team=b] .score-team-name{color:#ff5a5a}.score-team-total{font-size:24px;font-weight:900;color:#fff}#hud-scoreboard.local-a .score-col[data-team=a],#hud-scoreboard.local-b .score-col[data-team=b]{background:#ffffff10}.score-row{display:flex;justify-content:space-between;padding:7px 4px;font-size:15px;border-bottom:1px solid #ffffff12}.score-row span:last-child{color:#62ff9d;font-weight:700}#hud-teamscore{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:16px;background:#06090dcc;border:1px solid #ffffff22;border-radius:999px;padding:6px 20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:800}#hud-teamscore .ts-side{display:flex;align-items:center;gap:8px}#hud-teamscore .ts-name{font-size:13px;letter-spacing:1px}#hud-teamscore .ts-a .ts-name{color:#3a86ff}#hud-teamscore .ts-b .ts-name{color:#ff5a5a}#hud-teamscore b{font-size:24px;color:#fff}#hud-teamscore .ts-target{font-size:12px;color:#8b97a4;font-weight:600}#ff-toggle{margin-top:10px;width:100%;padding:6px 10px;font-size:13px;border:1px solid #ffffff33;border-radius:8px;background:#1a222c;color:#c8d1da;cursor:pointer}#ff-toggle:hover{background:#232d38}#ff-toggle.ff-on{border-color:#ff5a5a66;color:#ff8b8b;background:#2a1618}#multiplayer-game,#game-canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.touch-ui{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:12}.tc-zone{position:absolute;pointer-events:auto}.tc-zone-move{left:0;bottom:0;width:44%;height:72%}.tc-zone-aim{right:0;bottom:0;width:56%;height:82%}.tc-joy-base{position:fixed;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;background:#ffffff14;border:2px solid #ffffff30;pointer-events:none}.tc-joy-knob{position:absolute;left:50%;top:50%;width:52px;height:52px;border-radius:50%;background:#fff5;border:2px solid #ffffff80;transform:translate(-50%,-50%)}.tc-btn{position:absolute;pointer-events:auto;border:2px solid #ffffff38;border-radius:50%;background:#0a0f14b8;color:#dfe7ee;font-weight:800;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none}.tc-btn:active{background:#ff6b35cc}.tc-fire{right:24px;bottom:42px;width:96px;height:96px;font-size:20px;border-color:#ff6b3580;color:#ffb28f}.tc-jump{right:136px;bottom:46px;width:60px;height:60px;font-size:15px}.tc-interact{right:206px;bottom:48px;width:66px;height:66px;font-size:13px;border-color:#ffd23f80;color:#ffe79a}.tc-crouch{right:44px;bottom:192px;width:56px;height:56px;font-size:15px}.tc-crouch.active{background:#2f6bb0cc;border-color:#6db2ff}.tc-reload{right:148px;bottom:130px;width:52px;height:52px;font-size:15px}.tc-scope{right:118px;bottom:200px;width:52px;height:52px;font-size:15px;border-color:#62ff9d66;color:#9dffc4}.tc-full{left:14px;top:126px;width:42px;height:42px;font-size:18px;border-radius:10px}.tc-weapon-bar{position:absolute;left:50%;bottom:8px;transform:translate(-50%);display:flex;gap:6px;pointer-events:auto}.tc-weapon{position:static;width:46px;height:38px;border-radius:8px;font-size:12px}.tc-weapon.active{background:#ff6b35cc;border-color:#ffb28f;color:#fff}.tc-rotate-hint{display:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:#0a0c10f0;color:#ffb28f;font-size:22px;font-weight:700;text-align:center;align-content:center;pointer-events:none}@media(orientation:portrait){.tc-rotate-hint{display:grid;place-content:center}}.touch-device .control-tip{display:none}@media(max-width:900px){.hud-card{min-width:0;padding:8px 12px;font-size:12px;transform:scale(.9);transform-origin:top left}#current-room-code{font-size:16px;letter-spacing:2px}#leave-room{padding:8px 12px;font-size:12px}.combat-stats{bottom:54px;gap:10px;transform:translate(-50%) scale(.82);transform-origin:bottom center}#hud-killfeed{width:220px;top:66px;font-size:12px}.killfeed-line{font-size:12px;padding:5px 8px}.lobby-card{padding:22px 18px}}#mp-minimap{position:absolute;right:18px;bottom:26px;width:180px;height:180px;border:1px solid #ffffff22;border-radius:10px;background:#06090dc9}.touch-device #mp-minimap{width:92px;height:92px;left:auto;bottom:auto;right:8px;top:8px}.touch-device .combat-stats{top:8px;left:8px;bottom:auto;gap:8px;transform:scale(.8);transform-origin:top left}.touch-device #hud-teamscore{top:56px}.touch-device .hud-card{top:auto;bottom:10px;left:8px;min-width:0;transform:scale(.76);transform-origin:bottom left}.touch-device #leave-room{right:108px;top:10px}.touch-device #hud-killfeed{top:104px;right:8px;width:150px}.touch-device #bomb-hud{top:104px}#mp-shop{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,380px);background:#0b1119f2;border:1px solid #ffffff26;border-radius:14px;padding:20px 22px;pointer-events:auto;box-shadow:0 24px 80px #000b;z-index:15}.shop-head{font-size:20px;font-weight:800;color:#ffb347;display:flex;justify-content:space-between;margin-bottom:14px}#mp-shop-money{color:#62ff9d}.shop-row{display:flex;justify-content:space-between;align-items:center;padding:9px 2px;border-bottom:1px solid #ffffff12;font-size:15px}.shop-row button{padding:7px 14px;font-size:13px;min-width:92px}.shop-row button:disabled{background:#263340;color:#6b7683;cursor:not-allowed}.shop-tip{margin-top:12px;font-size:12px;color:#8b97a4;text-align:center}.stat-block.money #hud-money{font-size:26px;font-weight:800;color:#62ff9d}.bot-row{display:flex;gap:8px;margin-top:8px}.bot-row button{pointer-events:auto;flex:1;padding:6px 10px;font-size:13px;border:1px solid #ffffff33;border-radius:8px;background:#1a222c;color:#c8d1da;cursor:pointer}.bot-row button:hover{background:#232d38}.tc-shop{left:18px;top:74px;width:56px;height:44px;font-size:13px;border-radius:10px}#round-banner{position:absolute;left:50%;top:26%;transform:translate(-50%);font-size:34px;font-weight:900;letter-spacing:3px;text-shadow:0 4px 18px #000;opacity:0;pointer-events:none;white-space:nowrap}#round-banner.show{animation:roundBanner 1.8s ease-out}@keyframes roundBanner{0%{opacity:0;transform:translate(-50%) scale(1.25)}12%{opacity:1;transform:translate(-50%) scale(1)}75%{opacity:1}to{opacity:0}}#bomb-hud{position:absolute;top:64px;left:50%;transform:translate(-50%);min-width:270px;padding:9px 14px;border:1px solid #ffb34766;border-radius:9px;background:#090d12e6;text-align:center;color:#ffd27f;font-weight:800;letter-spacing:1px}.bomb-progress-track{height:5px;margin-top:7px;border-radius:999px;overflow:hidden;background:#ffffff1a}#bomb-progress{width:0;height:100%;background:linear-gradient(90deg,#ff6a2b,#ffd23f);transition:width .08s linear}#bot-difficulty{pointer-events:auto;flex:0 0 72px;width:72px;padding:6px;font-size:13px;border:1px solid #ffffff33;border-radius:8px;background:#1a222c;color:#c8d1da;text-transform:none}.stat-block.armor #hud-armor{font-size:26px;font-weight:800;color:#6db2ff}#hud-flash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#fff;opacity:0;z-index:30}.tc-nade{right:118px;bottom:268px;width:56px;height:44px;font-size:12px;border-radius:10px}#mp-settings{margin-top:14px;border:1px solid #ffffff1f;border-radius:10px;padding:10px 14px}#mp-settings summary{cursor:pointer;color:#9aa7b5;font-size:14px;-webkit-user-select:none;user-select:none}#mp-settings[open] summary{margin-bottom:10px;color:#c8d1da}.settings-panel{display:flex;flex-direction:column;gap:10px}.settings-row{display:grid;grid-template-columns:88px 1fr 52px;align-items:center;gap:10px;color:#c8d1da;font-size:13px}.settings-row input[type=range]{width:100%;padding:0;accent-color:#f05b2c;cursor:pointer;border:0;background:none}.settings-row select{min-width:0;width:100%;padding:7px 28px 7px 9px;color:#e8edf2;background:#17202a;border:1px solid #3c4b59;border-radius:4px;cursor:pointer}.score-row{display:grid!important;grid-template-columns:1fr 52px 48px 56px;gap:6px}.score-row span{text-align:right}.score-row span:first-child{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-row.score-head{font-size:11px;color:#8b97a4;border-bottom:1px solid #ffffff22}.score-row.score-head span{color:#8b97a4;font-weight:600}.score-controls{display:flex;gap:4px;justify-content:flex-end}.score-btn{padding:4px 8px;font-size:11px;border:1px solid #ffffff33;border-radius:5px;background:#1a222c;color:#c8d1da;cursor:pointer;white-space:nowrap}.score-btn:hover{background:#232d38}.score-btn.kick-btn{color:#ff6b6b;border-color:#ff6b6b44}.score-btn.kick-btn:hover{background:#3d1f1f}.score-btn.swap-btn{color:#62b0ff;border-color:#62b0ff44}.score-btn.swap-btn:hover{background:#1f2a3d}#room-list{display:flex;flex-direction:column;gap:6px}.room-list-title{font-size:12px;color:#8b97a4;margin-top:4px}.room-list-row{display:grid;grid-template-columns:72px 1fr 56px 52px;gap:8px;align-items:center;padding:9px 12px;font-size:13px;font-weight:600;text-align:left;background:#1a222c;border:1px solid #ffffff22}.room-list-row b{color:#ff9b66;letter-spacing:2px}.room-list-row span{color:#c8d1da;text-align:right}.room-list-row span:nth-child(2){text-align:left}.room-list-row:hover:not(:disabled){background:#232d38}.room-list-row:disabled{opacity:.45;cursor:not-allowed}#mp-settings{margin-top:14px;border:1px solid #ffffff1f;border-radius:10px;background:#0a1017;padding:6px 12px}#mp-settings summary{cursor:pointer;color:#9aa7b5;font-size:13px;padding:6px 0;-webkit-user-select:none;user-select:none}#mp-settings[open] summary{color:#ff9b66;margin-bottom:6px}.settings-panel{display:flex;flex-direction:column;gap:10px;padding:6px 0 10px}.settings-row{display:grid;grid-template-columns:84px 1fr 48px;align-items:center;gap:10px;color:#c8d1da;font-size:13px}.settings-row span{text-align:left}.settings-row b{color:#ff9b66;font-variant-numeric:tabular-nums;text-align:right}.settings-row input[type=range]{width:100%;accent-color:#ff6b35;cursor:pointer}
