:root{--bg-deep: #1a2218;--bg-mid: #2c3a28;--sand: #c4b59a;--tan: #a89070;--olive: #5a6b45;--olive-dark: #3d4a30;--accent: #d4a04a;--accent-hot: #c45c2a;--hp: #3d9e5a;--boost: #d4a04a;--danger: #c43a2a;--text: #f0e8d8;--muted: #a8a090;--panel: rgba(18, 24, 16, .82);--font-brand: "Bebas Neue", Impact, sans-serif;--font-ui: "IBM Plex Sans", "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;overflow:hidden;background:var(--bg-deep);color:var(--text);font-family:var(--font-ui)}#game{display:block;width:100%;height:100%;background:#2a3526;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.hidden{display:none!important}.lobby{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;overflow:hidden}.lobby-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 70% 40%,rgba(212,160,74,.18),transparent 55%),radial-gradient(ellipse 50% 40% at 20% 80%,rgba(90,107,69,.35),transparent 50%),linear-gradient(165deg,#1e2a1c,#2c3a28 40%,#1a2218);animation:drift 18s ease-in-out infinite alternate}.lobby-atmosphere:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");opacity:.4;pointer-events:none}@keyframes drift{0%{transform:scale(1) translate(0)}to{transform:scale(1.06) translate(-1%,1%)}}.lobby-content{position:relative;text-align:center;max-width:440px;padding:2rem 1.5rem;animation:rise .9s ease-out both}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.lobby-tag{font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.brand{font-family:var(--font-brand);font-size:clamp(4.5rem,16vw,7.5rem);line-height:.9;letter-spacing:.04em;color:var(--text);text-shadow:0 4px 0 var(--olive-dark),0 12px 40px rgba(0,0,0,.45);animation:brandPulse 4s ease-in-out infinite}@keyframes brandPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.08)}}.lobby-sub{margin:1rem 0 2rem;color:var(--muted);font-size:1.05rem}.lobby-form{display:flex;flex-direction:column;gap:1rem;text-align:left}.lobby-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.lobby-form input,.lobby-form select{font-family:var(--font-ui);font-size:1rem;padding:.75rem .9rem;border:1px solid rgba(196,181,154,.25);background:#0c100aa6;color:var(--text);border-radius:2px;outline:none}.lobby-form input:focus,.lobby-form select:focus{border-color:var(--accent)}.row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.cta{font-family:var(--font-brand);font-size:1.6rem;letter-spacing:.12em;padding:.85rem 1.5rem;border:none;background:linear-gradient(180deg,#e0b45a,var(--accent-hot));color:#1a1408;cursor:pointer;border-radius:2px;margin-top:.5rem;transition:transform .15s ease,filter .15s ease}.cta:hover{transform:translateY(-2px);filter:brightness(1.08)}.cta:active{transform:translateY(0)}.hint{font-size:.72rem;color:var(--muted);text-align:center;line-height:1.5;margin-top:.25rem}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.hud-top{position:absolute;top:max(12px,env(safe-area-inset-top));left:0;right:0;display:flex;justify-content:space-between;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));align-items:flex-start}.alive-pill,.kills-pill,.phase-pill{background:var(--panel);padding:6px 14px;font-family:var(--font-brand);font-size:1.25rem;letter-spacing:.08em;border:1px solid rgba(196,181,154,.2)}.kill-feed{flex:1;max-width:360px;margin:0 16px;display:flex;flex-direction:column;gap:4px;align-items:center}.kill-feed .entry{background:#121810b3;padding:3px 10px;font-size:.78rem;color:var(--sand);animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}#minimap{position:absolute;top:12px;right:16px;width:140px;height:140px;background:#121810bf;border:1px solid rgba(196,181,154,.3);image-rendering:pixelated}.hud-bottom{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;align-items:flex-end;gap:20px}.hp-block{width:220px}.bar{height:10px;background:#00000073;margin-bottom:3px;border:1px solid rgba(255,255,255,.08)}.bar.hp{height:14px}.bar.hp #hp-fill{height:100%;width:100%;background:linear-gradient(90deg,#2a7a42,var(--hp));transition:width .1s linear}.bar.boost #boost-fill{height:100%;width:0%;background:var(--boost);transition:width .1s linear}.hp-text{font-family:var(--font-brand);font-size:1.1rem;letter-spacing:.06em;margin-top:2px}.weapon-block{text-align:center;min-width:140px;background:var(--panel);padding:8px 16px;border:1px solid rgba(196,181,154,.2)}#weapon-name{font-family:var(--font-brand);font-size:1.35rem;letter-spacing:.06em}#ammo-text{font-size:.9rem;color:var(--sand)}.armor-block{display:flex;gap:8px;font-family:var(--font-brand);font-size:1.1rem;letter-spacing:.05em}.armor-block span{background:var(--panel);padding:6px 10px;border:1px solid rgba(196,181,154,.2)}.heal-block{display:flex;flex-wrap:wrap;gap:4px;max-width:170px}.heal-block span{background:var(--panel);padding:4px 7px;font-size:.68rem;letter-spacing:.04em;border:1px solid rgba(196,181,154,.15);color:var(--muted)}.heal-block span.has{color:var(--text);border-color:#d4a04a66}.heal-block span.empty{opacity:.45}.prompt{position:absolute;bottom:110px;left:50%;transform:translate(-50%);font-size:.95rem;color:var(--accent);text-shadow:0 1px 4px #000}.drop-banner{position:absolute;top:28%;left:50%;transform:translate(-50%);font-family:var(--font-brand);font-size:2rem;letter-spacing:.15em;color:var(--text);text-shadow:0 2px 12px #000;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.results{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#0a0e08c7}.results-card{text-align:center;padding:2.5rem 3rem;background:linear-gradient(180deg,#2a3524,#1a2218);border:1px solid rgba(212,160,74,.35);animation:rise .5s ease-out;max-width:420px;width:90%}.results-card h2{font-family:var(--font-brand);font-size:3rem;letter-spacing:.08em;color:var(--accent)}#results-place{font-family:var(--font-brand);font-size:2rem;margin:.5rem 0 1.5rem}.results-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:1.75rem}.results-stats span{display:block;font-family:var(--font-brand);font-size:2rem}.results-stats label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.results-card h2.winner{animation:stamp .55s cubic-bezier(.2,1.4,.4,1) both;color:var(--accent)}@keyframes stamp{0%{transform:scale(2) rotate(-6deg);opacity:0}to{transform:scale(1) rotate(-2deg);opacity:1}}.hint.subtle{opacity:.65;font-size:.75rem;margin-top:.25rem}.kill-feed .entry.you{color:var(--accent);font-weight:600}.mobile-tip{position:absolute;top:22%;left:50%;transform:translate(-50%);z-index:6;pointer-events:none;padding:10px 16px;background:#121810e0;border:1px solid rgba(212,160,74,.45);font-size:.85rem;letter-spacing:.04em;color:var(--sand);text-align:center;max-width:min(340px,88vw);animation:fadeIn .35s ease}.touch-ui{display:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.stick-zone{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));width:140px;height:140px;pointer-events:none}.stick-base{position:absolute;left:28px;top:28px;width:84px;height:84px;border-radius:50%;border:2px solid rgba(240,232,216,.28);background:#12181059}.stick-base.active{border-color:#d4a04a8c;background:#12181080}.stick-knob{position:absolute;left:50%;top:50%;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:#d4a04a8c;border:2px solid rgba(240,232,216,.55);transform:translate(0);will-change:transform}.fire-btn{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(28px,calc(env(safe-area-inset-bottom) + 12px));width:84px;height:84px;border-radius:50%;border:2px solid rgba(196,92,42,.7);background:#c45c2a6b;color:#f0e8d8;font-family:var(--font-brand);font-size:1.15rem;letter-spacing:.08em;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.fire-btn:active,.fire-btn.active{background:#c45c2ab8;transform:scale(.96)}.mobile-controls{display:none;position:absolute;right:max(12px,env(safe-area-inset-right));bottom:max(124px,calc(env(safe-area-inset-bottom) + 112px));flex-direction:column;align-items:flex-end;gap:8px;z-index:5;pointer-events:auto}.mobile-controls .mbtn-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:220px}.mobile-controls .mbtn{min-width:52px;min-height:44px;padding:0 10px;border:1px solid rgba(212,160,74,.45);background:#141812c7;color:#f0e8d8;font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:8px;touch-action:manipulation;-webkit-user-select:none;user-select:none}.mobile-controls .mbtn.heal{min-width:48px;min-height:40px;font-size:.68rem;border-color:#3d9e5a73}.mobile-controls .mbtn:active,.mobile-controls .mbtn.active{background:#d4a04a59}body.touch-mode .touch-ui,body.touch-mode .mobile-controls{display:flex}body.touch-mode .touch-ui{display:block}body.touch-mode .heal-block{display:none}body.touch-mode .hud-bottom{bottom:max(18px,env(safe-area-inset-bottom));scale:.88;gap:10px}body.touch-mode .prompt{bottom:max(200px,calc(env(safe-area-inset-bottom) + 180px))}body.playing{overscroll-behavior:none;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%}@media(max-width:640px){.brand{font-size:3.8rem}#minimap{width:100px;height:100px}.hud-bottom{gap:10px;scale:.88}.row{grid-template-columns:1fr}.lobby-content{padding:1.25rem 1rem max(2rem,env(safe-area-inset-bottom))}.cta{width:100%}}@media(pointer:coarse),(max-width:900px)and (hover:none){body.touch-capable .touch-ui{display:block}body.touch-capable .mobile-controls{display:flex}}
