.loadout{animation:hud-in .35s ease-out}
.loadout strong{text-shadow:0 0 12px #ffe66d66}
.loadout .empty-ammo{animation:ammo-warning .6s infinite alternate}
.reload-status,.reload-hint{font:700 9px Space Mono;color:var(--muted)}
.reload-status{color:var(--cyan)}
.reload-progress{display:block;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--cyan) calc((1 - var(--reload))*100%),#303853 0)}
.weapon-trait{font:600 9px/1.35 Inter;color:var(--muted);font-style:normal}
.weapon-property{font:700 8px Space Mono;color:#ffe66d;margin-top:3px}
.shield-status{font:800 9px Space Mono;color:#aef9ff;text-shadow:0 0 10px #8d7aff;animation:shield-status-pulse .55s infinite alternate}
.overheat-status{font:800 9px Space Mono;color:#ff875f;text-shadow:0 0 10px #ff3d00;animation:ammo-warning .4s infinite alternate}
.property-progress{display:block;height:4px;border-radius:4px;background:#303853;overflow:hidden}
.property-progress span{display:block;height:100%;background:linear-gradient(90deg,#ff9f1a,#ffe66d);box-shadow:0 0 8px #ffe66d88;transition:width .12s}
.results:not(.hidden){animation:result-in .45s cubic-bezier(.2,.8,.2,1)}
.result-card{position:relative;z-index:2;width:min(560px,94%);padding:28px;background:linear-gradient(145deg,#151a30f2,#090c18f2);border:1px solid #394260;border-radius:14px;box-shadow:0 24px 80px #000b}
.result-card h2{margin:0 0 20px;color:#f7f8ff;text-shadow:0 0 18px #00d2ff55}
.result-list{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.result-player{position:relative;display:grid;grid-template-columns:38px 14px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;padding:11px 13px;border:1px solid #303853;border-radius:8px;background:#111629;color:#dce2f5;font:700 12px Space Mono;text-align:left}
.result-player:not(:has(.team-dot)){grid-template-columns:38px minmax(0,1fr) auto}
.result-player em{font-style:normal;color:#9ca7c7}
.result-player.winner{border-color:#ffe66d;background:linear-gradient(90deg,#4b3d10cc,#211d18);color:#fff5a8;box-shadow:0 0 20px #ffe66d55,inset 0 0 18px #ffe66d16;animation:winner-glow .8s infinite alternate}
.result-player.winner em{color:#ffe66d}.winner-crown{position:absolute;left:-15px;top:-18px;color:#ffe66d;font-size:30px;filter:drop-shadow(0 0 8px #ffb02e);transform:rotate(-14deg);animation:crown-bob .8s ease-in-out infinite alternate}
.result-fireworks{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.result-fireworks i{position:absolute;left:var(--x);top:var(--y);width:7px;height:7px;border-radius:50%;background:var(--spark);box-shadow:0 0 10px var(--spark);opacity:0;animation:result-spark 1.25s ease-out var(--delay) infinite}
.dead:not(.hidden){animation:danger-pulse 1s infinite alternate}
.online{animation:online-pulse 1.4s infinite}
.ping{font:700 11px Space Mono;padding:7px 10px;border:1px solid #303853;border-radius:5px;color:#a4b0be}.ping.good{color:#2ed573;border-color:#2ed57366}.ping.medium{color:#ffa502;border-color:#ffa50266}.ping.bad{color:#ff4757;border-color:#ff475766}
.player.bot-player{border-color:#ff6bcb66;background:linear-gradient(90deg,#23152b,#16182a)}.player.bot-player em{color:#ff9fe2}
@keyframes hud-in{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:none}}
@keyframes ammo-warning{to{opacity:.35}}
@keyframes shield-status-pulse{to{color:#fff;filter:brightness(1.35)}}
@keyframes result-in{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}
@keyframes winner-glow{to{box-shadow:0 0 32px #ffe66d88,inset 0 0 24px #ffe66d24}}
@keyframes crown-bob{to{transform:rotate(8deg) translateY(-5px) scale(1.08)}}
@keyframes result-spark{0%{opacity:0;transform:rotate(var(--angle)) translateX(0) scale(.2)}12%{opacity:1}75%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(var(--distance)) scale(0)}}
@keyframes danger-pulse{from{background:#090b1699}to{background:#ff203344}}
@keyframes online-pulse{50%{box-shadow:0 0 18px var(--green);transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}}
