:root{font-family:Trebuchet MS,Aptos,sans-serif;color:#f4fffb;background:#05070d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #05070d;--panel: rgba(9, 15, 26, .86);--line: rgba(143, 215, 255, .24);--cyan: #00e5d9;--pink: #ff3cac;--yellow: #ffd94a;--blue: #53a8ff;--rare: #53a8ff;--epic: #ff8c42;--legendary: #ffd94a;--white: #f8fafc;--muted: #8a8f98}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none}body.panel-route{overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y}button,input{font:inherit}button{border:0;color:#04110f;background:linear-gradient(135deg,var(--cyan),var(--yellow));min-height:54px;padding:0 22px;border-radius:8px;font-weight:900;text-transform:uppercase;letter-spacing:0;box-shadow:0 0 28px #24f5d247}button:disabled{cursor:not-allowed;opacity:.54;box-shadow:none}input{width:100%;min-height:56px;border:1px solid rgba(143,215,255,.34);border-radius:8px;color:#f4fffb;background:#03070dcc;outline:none;padding:0 16px}input:focus{border-color:var(--cyan);box-shadow:0 0 0 4px #24f5d224}.lobby-screen{min-height:100%;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:linear-gradient(#05070ddb,#05070deb),repeating-linear-gradient(90deg,rgba(83,168,255,.12) 0 1px,transparent 1px 78px),repeating-linear-gradient(0deg,rgba(255,79,216,.09) 0 1px,transparent 1px 78px),radial-gradient(circle at 50% 28%,rgba(36,245,210,.17),transparent 34%),#05070d}.lobby-panel{width:min(100%,430px);border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:26px;box-shadow:0 22px 90px #00000070}.eyebrow{margin:0 0 8px;color:var(--cyan);font-size:.76rem;font-weight:900;text-transform:uppercase}.lobby-panel h1,.fullmap-panel h1{margin:0;color:#fff;font-size:clamp(2.4rem,12vw,4.8rem);line-height:.9;text-transform:uppercase}.lobby-copy{margin:18px 0 26px;color:#f4fffbbd;line-height:1.5}.join-form{display:grid;gap:12px}.join-form label{color:#f4fffbb8;font-size:.9rem}.lobby-waiting-panel{display:grid;gap:12px;justify-items:start}.lobby-waiting-panel strong{color:var(--white);font-size:1.2rem}.lobby-waiting-panel p{margin:0;color:#f4fffbb8}.lobby-error{color:var(--pink)!important;font-weight:800}.game-screen,.phaser-root{position:fixed;inset:0;width:100%;height:100%;background:var(--bg)}.phaser-root canvas{display:block}.game-hud{position:fixed;top:calc(10px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));right:calc(10px + env(safe-area-inset-right));z-index:4;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:clamp(8px,1.8vw,16px);opacity:.8;pointer-events:none}.game-hud-column{display:grid;gap:clamp(8px,1.4vw,12px);min-width:0}.game-hud-left{justify-items:start}.game-hud-right{justify-items:end}.hud-card{border:1px solid rgba(148,163,184,.35);border-radius:18px;background:#050a14b8;box-shadow:0 0 22px #00e5d914,inset 0 0 0 1px #ffffff05;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--white)}.health-card,.ammo-card{width:min(38vw,246px);padding:clamp(8px,1.4vw,14px)}.ammo-card{width:fit-content;max-width:min(86vw,420px);padding:clamp(8px,1.2vw,12px)}.health-card-header,.ammo-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.health-card-title,.ammo-card-title{display:inline-flex;align-items:center;gap:7px;color:var(--white);font-size:clamp(.7rem,1.4vw,.82rem);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.health-card-icon{color:var(--pink)}.health-card-value,.ammo-card-value{color:var(--white);font-size:clamp(.82rem,1.7vw,.96rem);font-weight:900}.health-bar-track{overflow:hidden;height:12px;border-radius:999px;background:#0f172ae0;box-shadow:inset 0 0 0 1px #ffffff0a}.health-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff3cace0,#ff6dc6);box-shadow:0 0 18px #ff3cac7a}.ammo-bullets-grid{display:inline-grid;gap:1px;justify-content:start;width:max-content}.ammo-bullet{width:100%;max-width:14px;height:20px;stroke-width:1.8;justify-self:center}.ammo-bullet path{fill:none;stroke-linecap:round;stroke-linejoin:round}.ammo-bullet-active path:first-child{fill:#00e5d938;stroke:var(--cyan)}.ammo-bullet-active .ammo-bullet-cut{stroke:#f8fafcb3}.ammo-bullet-empty path:first-child{stroke:#8a8f98ad}.ammo-bullet-empty .ammo-bullet-cut{stroke:#8a8f987a}.xp-donut-card{position:relative;width:clamp(82px,12vw,96px);height:clamp(82px,12vw,96px);display:grid;place-items:center;border-radius:999px;box-shadow:0 0 24px #00e5d91f,inset 0 0 28px #00e5d90d}.xp-donut-svg{width:100%;height:100%;transform:rotate(-90deg)}.xp-donut-track,.xp-donut-progress{fill:none;stroke-width:8}.xp-donut-track{stroke:#141f30f2}.xp-donut-progress{stroke:var(--cyan);stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(0,229,217,.5))}.xp-donut-center{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:1px;text-align:center;padding:12px}.xp-donut-label{color:var(--muted);font-size:clamp(.48rem,.95vw,.58rem);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.xp-donut-label-bottom{color:#f8fafc8f}.xp-donut-level{color:var(--white);font-size:clamp(1.1rem,2vw,1.5rem);line-height:1}.xp-donut-xp{color:#f8fafcd1;font-size:clamp(.48rem,.95vw,.58rem);font-weight:700}.stat-pill{min-width:clamp(102px,14vw,124px);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:10px 12px}.stat-pill-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:#f8fafc08}.stat-pill-content{display:grid;justify-items:start}.stat-pill-label{color:var(--muted);font-size:clamp(.55rem,1.1vw,.64rem);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.stat-pill-value{color:var(--white);font-size:clamp(.95rem,1.8vw,1.08rem);line-height:1.1}.stat-pill-cyan .stat-pill-icon{color:var(--cyan);box-shadow:inset 0 0 0 1px #00e5d92e}.stat-pill-yellow .stat-pill-icon{color:var(--yellow);box-shadow:inset 0 0 0 1px #ffd94a33}.stat-pill-magenta .stat-pill-icon{color:var(--pink);box-shadow:inset 0 0 0 1px #ff3cac33}.announcer-banner{position:fixed;top:calc(66px + env(safe-area-inset-top));left:50%;z-index:6;transform:translate(-50%);width:min(92vw,520px);border:1px solid rgba(255,230,109,.28);border-radius:999px;background:linear-gradient(135deg,#221006eb,#090f1af5);box-shadow:0 0 34px #ffe66d29;padding:12px 18px;color:#fff7c4;font-size:.84rem;font-weight:900;text-align:center;text-transform:uppercase;animation:announcer-pop .22s ease}.reload-button{position:fixed;right:calc(max(28px,env(safe-area-inset-right)) + 26px);bottom:calc(max(28px,env(safe-area-inset-bottom)) + 164px);z-index:4;min-width:118px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(0,229,217,.26);border-radius:999px;color:var(--white);background:#050a14d1;box-shadow:0 0 24px #00e5d91f;padding:0 16px;font-size:.74rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.fullscreen-button{position:fixed;top:calc(12px + env(safe-area-inset-top));left:50%;z-index:7;transform:translate(-50%);min-height:42px;padding:0 16px;border:1px solid rgba(0,229,217,.32);border-radius:999px;color:var(--white);background:#050a14d6;box-shadow:0 0 24px #00e5d924;font-size:.72rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.touch-activation-layer{position:fixed;inset:0;z-index:2;background:transparent}.reload-button:disabled{opacity:.58;box-shadow:none}.touch-controls{position:fixed;inset:0;z-index:3;pointer-events:none;user-select:none;-webkit-user-select:none}.touch-controls-disabled{opacity:.42}.stick-zone{position:fixed;bottom:max(28px,env(safe-area-inset-bottom));width:148px;height:148px;pointer-events:auto;touch-action:none}.stick-zone-left{left:max(28px,env(safe-area-inset-left))}.stick-zone-right{right:max(28px,env(safe-area-inset-right))}.ammo-donut{position:absolute;left:50%;top:50%;width:calc(100% + 36px);height:calc(100% + 36px);transform:translate(-50%,-50%);pointer-events:none;--ammo-donut-radius: calc(50% - 1px) }.ammo-donut-segment{position:absolute;left:50%;top:50%;width:3px;height:14px;border-radius:999px;transform:translate(-50%,-50%) rotate(var(--ammo-angle)) translateY(calc(-1 * var(--ammo-donut-radius)));transform-origin:center center;background:#8a8f9857;box-shadow:none;transition:background .12s ease,box-shadow .12s ease,opacity .12s ease;opacity:.72}.ammo-donut-segment.active{background:#00e5d9e0;box-shadow:0 0 12px #00e5d973;opacity:1}.stick-base,.stick-knob{border-radius:999px}.stick-base{position:relative;width:100%;height:100%;z-index:1;border:1px solid rgba(143,215,255,.12);background:#040c122e;box-shadow:inset 0 0 18px #ffffff0a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.stick-base-move{border-color:#24f5d23d;box-shadow:inset 0 0 20px #24f5d21a,0 0 28px #24f5d21a}.stick-base-aim{border-color:#ff4fd83d;box-shadow:inset 0 0 20px #ff4fd81a,0 0 28px #ff4fd81a}.stick-knob{position:absolute;left:calc(50% - 28px);top:calc(50% - 28px);width:56px;height:56px;box-shadow:0 0 26px #ffffff29;opacity:.62;transition:opacity 90ms ease,transform 40ms linear;pointer-events:none}.stick-knob.active{opacity:.82}.stick-knob-move{background:linear-gradient(135deg,#9dfff2,#24f5d2);box-shadow:0 0 24px #24f5d299}.stick-knob-aim{background:linear-gradient(135deg,#ffc0ef,#ff4fd8);box-shadow:0 0 24px #ff4fd899}.orientation-hint{display:none;position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;z-index:5;transform:translate(-50%);color:#f4fffbb8;background:#05070db8;border:1px solid rgba(143,215,255,.18);border-radius:999px;padding:8px 12px;font-size:.76rem;pointer-events:none}.death-overlay{position:fixed;inset:0;z-index:6;display:grid;place-items:center;padding:clamp(10px,2vw,20px);background:#03070dbd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upgrade-overlay{position:fixed;inset:0;z-index:5;display:grid;place-items:center;padding:clamp(10px,2vw,20px);background:radial-gradient(circle at 50% 50%,#24f5d214,#03070da3)}.upgrade-panel{width:min(100%,960px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;border:1px solid rgba(36,245,210,.28);border-radius:10px;background:#090f1af0;padding:clamp(14px,2vw,24px);box-shadow:0 24px 88px #00000075;animation:panel-rise .22s ease}.upgrade-panel h1{margin:0;color:#fff;font-size:clamp(2rem,7vw,3.6rem);line-height:.92;text-transform:uppercase}.upgrade-copy{margin:14px 0 22px;color:#f4fffbc2;line-height:1.5;font-size:clamp(.88rem,1.6vw,1rem)}.upgrade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(10px,1.4vw,14px)}.upgrade-card{display:grid;gap:10px;min-height:clamp(146px,20vh,190px);align-content:start;text-align:left;text-transform:none;color:#f4fffb;background:#ffffff0a;border:1px solid rgba(143,215,255,.18);border-radius:10px;padding:clamp(12px,1.6vw,18px);box-shadow:none}.upgrade-card strong{font-size:clamp(.94rem,1.8vw,1.1rem);text-transform:uppercase}.upgrade-card span:last-child{color:#f4fffbbd;line-height:1.45;font-size:clamp(.8rem,1.4vw,.96rem)}.upgrade-rarity{color:#f4fffb99;font-size:.74rem;font-weight:900;text-transform:uppercase}.rarity-common{border-color:#24f5d242;box-shadow:0 0 26px #24f5d21a}.rarity-rare{border-color:#53a8ff52;box-shadow:0 0 28px #53a8ff24}.rarity-epic{border-color:#ff8c4257;box-shadow:0 0 30px #ff8c422e}.rarity-legendary{border-color:#ffd94ab3;background:linear-gradient(180deg,#ffd94a1f,#ffffff0a),#ffffff0a;box-shadow:0 0 34px #ffd94a38,inset 0 0 0 1px #fff8c32e}.rarity-legendary .upgrade-rarity,.rarity-legendary strong{color:var(--legendary)}.death-panel{width:min(100%,420px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;border:1px solid rgba(255,79,216,.24);border-radius:8px;background:#090f1aeb;padding:clamp(14px,2vw,24px);box-shadow:0 24px 88px #0006}.death-panel h1{margin:0;color:#fff;font-size:clamp(2.2rem,10vw,3.8rem);line-height:.92;text-transform:uppercase}.death-copy,.death-score{color:#f4fffbc7}.death-copy{margin:16px 0 10px;line-height:1.5}.death-panel-respawn{width:min(100%,720px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));background:#050a14c7;border-color:#ff4fd847;box-shadow:0 24px 88px #0000007a,0 0 34px #ff3cac1f}.death-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.death-stat-card{display:grid;gap:4px;padding:12px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(143,215,255,.12)}.death-stat-card span{color:#f4fffb9e;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.death-stat-card strong{color:#f8fafc;font-size:1.08rem}.death-summary-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px}.death-summary-block{padding:14px;border-radius:14px;border:1px solid rgba(143,215,255,.12);background:#ffffff08}.death-summary-block h2{margin:0 0 10px;color:#f8fafc;font-size:.88rem;text-transform:uppercase;letter-spacing:.08em}.death-summary-list,.death-upgrade-list{display:grid;gap:8px}.death-summary-list span,.death-upgrade-list span{color:#f4fffbcc;font-size:.92rem}.death-score{margin:0 0 22px;font-size:.95rem;text-transform:uppercase}.scoreboard-list{display:grid;gap:8px;max-height:min(40vh,360px);overflow:auto}.scoreboard-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:42px;border:1px solid rgba(143,215,255,.14);border-radius:8px;background:#ffffff09;padding:8px 10px;color:#f4fffbe6;transition:transform .18s ease,border-color .18s ease,background .18s ease}.fullmap-screen{min-height:100dvh;height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:18px;padding:18px;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;background:linear-gradient(#05070dc2,#05070de6),repeating-linear-gradient(90deg,rgba(83,168,255,.1) 0 1px,transparent 1px 110px),#05070d}.fullmap-screen-waiting{grid-template-columns:minmax(0,1.2fr) minmax(320px,420px)}.fullmap-screen-running{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}.fullmap-stage,.fullmap-panel{min-height:0;border:1px solid var(--line);border-radius:8px;background:#070c14d1;box-shadow:0 24px 88px #00000059}.fullmap-stage{display:grid;place-items:center;overflow:hidden;position:relative}.fullmap-stage-waiting{padding:24px}.waiting-hero{width:min(100%,720px);display:grid;justify-items:center;text-align:center;gap:16px}.waiting-hero h1{margin:0;color:#fff;font-size:clamp(3.2rem,7vw,6rem);line-height:.92;text-transform:uppercase}.waiting-copy{max-width:640px;margin:0;color:#f4fffbc2;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.55}.waiting-qr-card{display:grid;place-items:center;width:min(100%,480px);padding:18px;border-radius:18px;background:#f4fffbf5;box-shadow:0 0 42px #24f5d224}.waiting-qr-card img,.waiting-qr-placeholder{width:min(100%,420px);aspect-ratio:1}.waiting-join-link,.fullmap-join-link{display:inline-flex;align-items:center;justify-content:center;width:100%;overflow-wrap:anywhere;text-align:center;text-decoration:none;color:#04110f;background:linear-gradient(135deg,var(--cyan),var(--yellow));border-radius:14px;box-shadow:0 0 30px #24f5d238}.waiting-join-link{max-width:720px;min-height:72px;padding:12px 18px;font-size:clamp(1rem,1.7vw,1.28rem);font-weight:900}.arena-map{width:100%;height:100%;max-height:calc(100vh - 36px);padding:12px;filter:drop-shadow(0 0 24px rgba(36,245,210,.12));animation:map-float 8s ease-in-out infinite}.map-floor{fill:#07111e}.map-grid-line{fill:none;stroke:#53a8ff47;stroke-width:1}.map-border{fill:none;stroke:var(--cyan);stroke-width:8}.map-wall{fill:#142138;stroke:#8fd7ffc7;stroke-width:5}.map-player circle{filter:drop-shadow(0 0 18px currentColor)}.map-player text{fill:#f4fffbd6;font-size:42px;font-weight:900}.map-level{fill:#f4fffb9e;font-size:28px}.map-leader-label{fill:#ffe66d;font-size:28px;text-transform:uppercase}.map-player.is-leader text{fill:#fff}.map-player.is-leader circle:last-of-type{filter:drop-shadow(0 0 36px rgba(255,230,109,.45))}.fullmap-panel{display:grid;align-content:start;gap:20px;padding:22px}.fullmap-qr-panel{display:grid;gap:12px}.fullmap-panel h1{font-size:clamp(2.1rem,5vw,3.4rem)}.fullmap-count{margin:10px 0 0;color:#f4fffbb8;font-size:.88rem;text-transform:uppercase}.fullmap-status{display:inline-flex;align-items:center;margin:14px 0 0;padding:7px 12px;border:1px solid rgba(143,215,255,.18);border-radius:999px;background:#ffffff0a;color:var(--white);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.fullmap-status-waiting{color:var(--yellow)}.fullmap-status-running{color:var(--cyan)}.fullmap-status-finished,.fullmap-status-restarting{color:var(--pink)}.qr-block{display:grid;gap:10px}.qr-block img,.qr-placeholder{width:min(100%,220px);aspect-ratio:1;border-radius:8px;background:#f4fffb}.fullmap-qr-panel img{width:min(100%,240px);aspect-ratio:1;border-radius:10px;background:#f4fffb}.fullmap-join-link{min-height:54px;padding:10px 14px;font-size:.92rem;font-weight:900}.qr-block p{overflow-wrap:anywhere;margin:0;color:#f4fffbb8;font-size:.82rem}.players-panel h2{margin:0 0 12px;font-size:.9rem;text-transform:uppercase}.leaderboard-panel{min-height:0}.players-list-scroll{max-height:min(62vh,860px);overflow-y:auto;padding-right:6px}.control-panel{gap:14px}.control-panel-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.control-panel-header p{margin:4px 0 0;color:#f4fffb99;font-size:.82rem}.control-grid{display:grid;gap:12px}.control-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.control-field{display:grid;gap:8px;color:#f4fffbd1;font-size:.82rem;font-weight:700}.control-inline{display:flex;align-items:center;justify-content:space-between;gap:12px}.control-inline strong{color:var(--white);font-size:1.1rem}.control-hint{margin:0;color:#f4fffb8f;font-size:.78rem;line-height:1.45}.secondary-button,.start-match-button{width:100%}.secondary-button{color:var(--white);background:#ffffff0d;border:1px solid rgba(143,215,255,.22);box-shadow:none}.status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(143,215,255,.18);background:#ffffff0a;color:var(--white);font-size:.72rem;font-weight:900;letter-spacing:.12em}.status-chip-waiting{color:var(--yellow)}.status-chip-running{color:var(--cyan)}.status-chip-finished,.status-chip-restarting{color:var(--pink)}.players-panel ul{display:grid;gap:10px;list-style:none;margin:0;padding:0}.players-panel li{display:flex;align-items:center;gap:10px;justify-content:space-between;min-height:42px;border:1px solid rgba(143,215,255,.14);border-radius:8px;background:#ffffff09;padding:8px 10px;color:#f4fffbe6;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.player-meta,.player-score,.kill-arrow{color:#f4fffb9e;font-size:.78rem;text-transform:uppercase}.leader-row{border-color:#ffe66d47;box-shadow:0 0 26px #ffe66d14;transform:translate(-4px)}.winner-panel{border-color:#ffe66d2e}.winner-message{margin:0 0 14px;font-size:1rem;font-weight:900;text-transform:uppercase}.winner-cinematic{text-shadow:0 0 28px currentColor;animation:winner-pulse 1.6s ease-in-out infinite}.player-dot{width:12px;height:12px;border-radius:999px;box-shadow:0 0 16px currentColor}.empty-player{color:#f4fffb85}.panel-screen{height:100dvh;min-height:100dvh;display:grid;place-items:start center;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding:18px;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:linear-gradient(#05070dd1,#05070deb),repeating-linear-gradient(90deg,rgba(83,168,255,.1) 0 1px,transparent 1px 110px),#05070d}.panel-shell{width:min(100%,1240px);display:grid;gap:18px}.panel-hero,.panel-grid>.players-panel{border:1px solid var(--line);border-radius:8px;background:#070c14d1;box-shadow:0 24px 88px #00000059}.panel-hero{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:24px}.panel-hero h1{margin:0;color:#fff;font-size:clamp(2.6rem,6vw,4.6rem);line-height:.92;text-transform:uppercase}.panel-hero-actions{display:grid;gap:10px;min-width:220px}.panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.panel-grid>.players-panel{padding:18px}@keyframes announcer-pop{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes panel-rise{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes winner-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes map-float{0%,to{transform:scale(1)}50%{transform:scale(1.01)}}@media(orientation:portrait)and (max-width:760px){.game-hud{top:calc(8px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right));grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:8px}.game-hud-left,.game-hud-right{gap:8px}.game-hud-right{justify-items:end}.health-card,.ammo-card{width:min(45vw,190px);max-width:min(45vw,190px);padding:9px 10px;border-radius:14px}.ammo-card{width:fit-content;max-width:min(45vw,190px)}.health-card-title,.ammo-card-title{font-size:.64rem}.health-card-value,.ammo-card-value{font-size:.8rem}.health-bar-track{height:10px}.ammo-bullet{max-width:11px;height:16px}.stat-pill{min-width:88px;padding:8px 10px;border-radius:14px}.stat-pill-icon{width:28px;height:28px}.stat-pill-label{font-size:.5rem}.stat-pill-value{font-size:.88rem}.xp-donut-card{width:78px;height:78px}.stick-zone{bottom:calc(max(22px,env(safe-area-inset-bottom)) + 4px)}.announcer-banner{top:calc(86px + env(safe-area-inset-top));min-width:min(94vw,460px);font-size:.76rem}.reload-button{right:50%;transform:translate(50%);bottom:calc(max(22px,env(safe-area-inset-bottom)) + 128px);min-width:120px;min-height:42px;padding:0 14px;font-size:.7rem}.fullscreen-button{top:calc(10px + env(safe-area-inset-top));min-height:40px;padding:0 14px;font-size:.68rem}.ammo-donut{width:calc(100% + 30px);height:calc(100% + 30px);--ammo-donut-radius: calc(50% - 1px) }.ammo-donut-segment{height:12px}}@media(orientation:landscape)and (max-width:960px){.game-hud{top:calc(6px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right));opacity:.56;gap:6px}.game-hud-column{gap:6px}.game-hud-left{grid-template-columns:auto auto;align-items:start;gap:6px}.health-card,.ammo-card{width:min(24vw,160px);max-width:min(24vw,160px);padding:8px 9px;border-radius:14px}.ammo-card{width:fit-content;max-width:min(24vw,160px)}.health-card-title,.ammo-card-title{font-size:.58rem}.health-card-value,.ammo-card-value{font-size:.72rem}.health-card-header,.ammo-card-header{margin-bottom:7px;gap:8px}.health-bar-track{height:8px}.ammo-bullet{max-width:10px;height:14px}.stat-pill{min-width:82px;padding:7px 8px;gap:8px;border-radius:14px}.stat-pill-icon{width:24px;height:24px}.stat-pill-label{font-size:.46rem}.stat-pill-value{font-size:.8rem}.xp-donut-card{width:70px;height:70px}.xp-donut-center{padding:10px}.xp-donut-level{font-size:.96rem}.xp-donut-label,.xp-donut-xp{font-size:.42rem}}@media(max-width:1024px),(max-height:760px){.game-hud,.game-hud-column{gap:6px}.health-card,.ammo-card{width:min(34vw,200px);max-width:min(34vw,200px);border-radius:14px}.ammo-card{width:fit-content}.health-card-header,.ammo-card-header{margin-bottom:8px;gap:8px}.health-card-title,.ammo-card-title{font-size:.64rem}.health-card-value,.ammo-card-value{font-size:.78rem}.health-bar-track{height:9px}.ammo-bullet{max-width:11px;height:16px}.stat-pill{min-width:88px;padding:8px 9px;gap:8px;border-radius:14px}.stat-pill-icon{width:26px;height:26px}.stat-pill-label{font-size:.48rem}.stat-pill-value{font-size:.84rem}.xp-donut-card{width:74px;height:74px}.xp-donut-center{padding:10px}.xp-donut-level{font-size:1rem}.xp-donut-label,.xp-donut-xp{font-size:.44rem}.announcer-banner{top:calc(58px + env(safe-area-inset-top));padding:10px 14px;font-size:.74rem}.reload-button,.fullscreen-button{min-height:40px;font-size:.68rem}.upgrade-panel,.death-panel,.death-panel-respawn{border-radius:12px}}@media(pointer:coarse){.ammo-card{display:none}}@media(max-width:820px){.game-hud{grid-template-columns:minmax(0,1fr) auto;gap:8px}.health-card,.ammo-card{width:min(42vw,220px);padding:10px 12px}.stat-pill{min-width:92px;padding:8px 10px}.upgrade-grid{grid-template-columns:1fr}.death-panel-respawn{width:min(100%,560px);padding:18px}.death-stats-grid,.death-summary-grid{grid-template-columns:1fr}.fullmap-screen{grid-template-columns:1fr;grid-template-rows:auto auto;padding:10px;gap:10px}.fullmap-screen-waiting,.fullmap-screen-running{grid-template-columns:1fr}.fullmap-panel{grid-template-columns:1fr;align-items:stretch;padding:14px}.fullmap-panel h1{font-size:1.8rem}.fullmap-qr-panel img,.qr-block img,.qr-placeholder,.waiting-qr-card img,.waiting-qr-placeholder{width:min(100%,280px)}.players-panel{grid-column:1 / -1}.control-panel-header,.control-inline{align-items:stretch;flex-direction:column}.control-row{grid-template-columns:1fr}.status-chip{justify-self:start}.waiting-hero{gap:14px}.waiting-hero h1,.panel-hero h1{font-size:2.2rem}.waiting-join-link{min-height:62px;font-size:.95rem}.panel-screen{padding:10px}.panel-hero{flex-direction:column;padding:18px}.panel-hero-actions{width:100%;min-width:0}.panel-grid{grid-template-columns:1fr;gap:10px}}
