:root{--ui-bg-deep: #0a0810;--ui-bg-panel: linear-gradient( 165deg, rgba(48, 34, 72, .96) 0%, rgba(18, 12, 28, .98) 48%, rgba(10, 8, 16, .99) 100% );--ui-bg-panel-soft: linear-gradient(180deg, rgba(48, 34, 72, .88), rgba(18, 12, 28, .92));--ui-border-gold: rgba(255, 214, 96, .45);--ui-border-gold-strong: rgba(255, 214, 96, .65);--ui-border-soft: rgba(255, 255, 255, .1);--ui-text: #fff6dc;--ui-text-muted: rgba(220, 205, 170, .78);--ui-text-dim: rgba(200, 185, 155, .62);--ui-gold: #ffd85a;--ui-gold-dark: #e8a820;--ui-gold-grad: linear-gradient(180deg, #ffd85a 0%, #e8a820 100%);--ui-purple-glow: rgba(120, 80, 200, .18);--ui-radius-xl: 22px;--ui-radius-lg: 16px;--ui-radius-md: 14px;--ui-radius-sm: 10px;--ui-shadow: 0 24px 60px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .06) inset, 0 0 48px var(--ui-purple-glow);--ui-shadow-sm: 0 8px 24px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .06)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,sans-serif;background:var(--ui-bg-deep);color:var(--ui-text);overflow:hidden}#app{width:100vw;height:100vh;position:relative}canvas.game-canvas{display:block;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0}#menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .8s ease;background:radial-gradient(ellipse at 50% 45%,transparent 30%,rgba(8,6,4,.62) 100%),linear-gradient(to bottom,rgba(10,8,6,.45) 0%,transparent 28%,transparent 72%,rgba(10,8,6,.55) 100%)}#menu-backdrop.visible{opacity:1;background:radial-gradient(ellipse at 50% 25%,rgba(72,48,120,.28) 0%,transparent 55%),radial-gradient(ellipse at 50% 45%,transparent 30%,rgba(8,6,12,.72) 100%),linear-gradient(to bottom,rgba(10,8,16,.5) 0%,transparent 28%,transparent 72%,rgba(10,8,16,.62) 100%)}.panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--ui-bg-panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:2px solid var(--ui-border-gold);border-radius:var(--ui-radius-xl);padding:2rem 2.5rem;text-align:center;z-index:100;min-width:320px;box-shadow:var(--ui-shadow)}.menu-panel{min-width:400px}.menu-crest{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto .65rem;border-radius:16px;font-size:1.65rem;color:#ffe08a;background:linear-gradient(145deg,#ffd05847,#7848b459);border:1px solid rgba(255,214,96,.35);box-shadow:0 0 24px #ffc4402e;filter:none}.menu-crest-sm{width:2.5rem;height:2.5rem;margin:0 auto .45rem;border-radius:14px;font-size:1.15rem}.panel h1{font-size:2.35rem;color:var(--ui-text);letter-spacing:.04em;text-shadow:0 0 24px rgba(255,196,64,.15)}.panel h2{color:var(--ui-text);font-size:1.45rem}.subtitle{margin:.5rem 0 1.25rem;color:var(--ui-text-muted);line-height:1.45}.menu-online-count{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;margin:-.35rem 0 1rem;padding:.42rem .85rem;border-radius:999px;border:1px solid rgba(120,220,140,.22);background:#2878461f;color:#bef0c8eb;font-size:.78rem;font-weight:700;letter-spacing:.02em}.menu-online-dot{width:.55rem;height:.55rem;border-radius:50%;background:#6ee78a;box-shadow:0 0 10px #6ee78aa6;animation:menu-online-pulse 2s ease-in-out infinite}@keyframes menu-online-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(.88)}}.menu-features{display:flex;justify-content:center;gap:.45rem;flex-wrap:wrap;margin-bottom:1.35rem}.menu-features span{font-size:.72rem;font-weight:700;padding:.35rem .75rem;border:1px solid var(--ui-border-soft);border-radius:999px;background:#ffffff0d;color:var(--ui-text-muted)}.field-label{display:block;text-align:left;font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--ui-text-muted);margin-bottom:.4rem}input#nickname{width:100%;padding:.85rem 1rem;border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-md);background:#00000047;color:var(--ui-text);font-size:1rem;margin-bottom:1.15rem;transition:border-color .15s,box-shadow .15s}input#nickname:focus{outline:none;border-color:var(--ui-border-gold-strong);box-shadow:0 0 0 3px #ffd6601f}.lobby-buttons{display:flex;gap:.65rem;justify-content:center;flex-wrap:wrap}.btn{padding:.72rem 1.35rem;border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-md);background:#ffffff0f;color:var(--ui-text);cursor:pointer;font-size:.92rem;font-weight:700;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.btn:hover{background:#ffffff1a;border-color:#ffd66047;transform:translateY(-1px)}.btn.primary{background:var(--ui-gold-grad);border:1px solid rgba(255,220,120,.35);color:#2a1800;font-weight:800;box-shadow:0 4px 16px #ffc43052}.btn.primary:hover{background:linear-gradient(180deg,#ffe070,#f0b028);border-color:#ffdc7880;transform:translateY(-1px)}.btn.small{padding:.42rem .85rem;font-size:.78rem;border-radius:999px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.error{color:#ff7a72;margin-top:.75rem;min-height:1.2em}.hidden{display:none!important}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}#hud>*{pointer-events:auto}.flag-tower-prompt{position:fixed;z-index:22;transform:translate(-50%,-100%);margin-top:-10px;padding:.42rem .72rem;display:flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;color:var(--ui-text);white-space:nowrap;background:var(--ui-bg-panel-soft);border:1px solid var(--ui-border-gold);border-radius:999px;box-shadow:var(--ui-shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none}.flag-tower-label{color:var(--ui-text-muted)}.flag-tower-prompt kbd{display:inline-block;min-width:1.4em;padding:.12rem .4rem;border-radius:6px;background:#ffd05824;border:1px solid rgba(255,214,96,.28);color:var(--ui-gold);font-family:inherit;font-size:.72rem;font-weight:800;text-align:center}.flag-tower-cost{display:inline-flex;align-items:center;gap:.22rem;padding:.12rem .38rem;border-radius:999px;background:#ffd0581f;border:1px solid rgba(255,214,96,.22);color:var(--ui-gold);font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums}.flag-tower-cost .gold-coin-icon{width:.72rem;height:.72rem}.flag-tower-prompt.unaffordable .flag-tower-cost{color:#ff9a88;border-color:#ff786459;background:#ff503c1a}.flag-tower-prompt.unaffordable{opacity:.55}#top-bar{position:absolute;top:4px;left:50%;transform:translate(-50%);z-index:20;pointer-events:none;max-width:min(880px,calc(100vw - 260px))}.hud-top-inner{display:flex;align-items:center;gap:0;min-height:38px;padding:0 .25rem;background:var(--ui-bg-panel-soft);border:1px solid var(--ui-border-gold);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-sm);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.hud-seg{display:flex;flex-direction:row;align-items:center;gap:.45rem;padding:.28rem .65rem;min-width:0}.hud-seg-time,.hud-seg-gold{min-width:0}.hud-seg-scores{flex:1;min-width:0;flex-wrap:nowrap}.hud-seg-meta{padding-right:.55rem;padding-left:.25rem}.hud-seg-spacer{flex:1;min-width:.35rem;max-width:1.25rem}.hud-seg-sep{width:1px;align-self:stretch;margin:.35rem 0;background:linear-gradient(180deg,transparent,rgba(255,214,96,.28),transparent)}.hud-seg-label{font-size:.54rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ui-text-dim);line-height:1;white-space:nowrap;flex-shrink:0}.hud-seg-value{font-size:.98rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ui-text);line-height:1}.hud-gold-line{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap;min-width:0}.hud-gold-mark,.gold-coin-icon,.skill-gold-icon{position:relative;width:1rem;height:1rem;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 32% 28%,#fff8c8,#ffd85a 38%,#d4a020 72%,#9a6808);border:1.5px solid #7a4a06;box-shadow:inset 0 1px 1px #ffffff8c,inset 0 -2px 3px #5a320040,0 1px 2px #00000038}.hud-gold-mark:before,.gold-coin-icon:before,.skill-gold-icon:before{content:"";position:absolute;top:18%;right:18%;bottom:18%;left:18%;border-radius:50%;border:1px solid rgba(122,74,6,.55)}.hud-gold-mark:after,.gold-coin-icon:after,.skill-gold-icon:after{content:"";position:absolute;top:14%;left:22%;width:28%;height:18%;border-radius:50%;background:#ffffff73;transform:rotate(-24deg)}.hud-gold-value{font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ui-gold);text-shadow:0 0 12px rgba(255,216,90,.25);line-height:1}.hud-gold-rate{font-size:.66rem;font-weight:600;color:#7ecf7a;letter-spacing:.02em;white-space:nowrap}.hud-scores{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem;min-width:0;overflow:hidden}.hud-score-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;padding:.1rem .4rem;border-radius:5px;background:#00000038;border:1px solid rgba(255,255,255,.08);white-space:nowrap;flex-shrink:0}.hud-score-chip .score-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.hud-meta-chip{font-size:.68rem;font-weight:600;padding:.22rem .5rem;border-radius:999px;background:#00000047;border:1px solid var(--ui-border-soft);color:var(--ui-text-muted);white-space:nowrap}.hud-meta-chip.hud-ping{border-color:#506e8c73;color:#9ab4cc;font-variant-numeric:tabular-nums}.hud-meta-chip.hud-ping.mid{border-color:#ffd66059;color:var(--ui-gold)}.hud-meta-chip.hud-ping.high{border-color:#a040408c;color:#e8a0a0}#commands{position:absolute;bottom:24px;right:24px;display:flex;flex-direction:column;gap:6px}.cmd-btn{padding:.52rem 1rem;min-width:148px;text-align:left;border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-md);background:#120c1cd1;color:var(--ui-text);cursor:pointer;font-size:.84rem;font-weight:700;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.cmd-btn:hover{border-color:#ffd66047;transform:translateY(-1px)}.cmd-btn.active{background:linear-gradient(180deg,#ffd05838,#7848b438);border-color:var(--ui-border-gold-strong);box-shadow:0 0 16px #ffc4401f}.cmd-btn.cooling{opacity:.55}#crosshair{position:absolute;top:50%;left:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border:2px solid rgba(241,196,15,.9);border-radius:50%;pointer-events:none;z-index:15;box-shadow:0 0 6px #00000080}#crosshair span{position:absolute;background:#f1c40fe6}#crosshair span:first-child{left:50%;top:4px;bottom:4px;width:2px;margin-left:-1px}#crosshair span:last-child{top:50%;left:4px;right:4px;height:2px;margin-top:-1px}#volley-cd{float:right;color:#f1c40f;font-weight:700}#recruit{position:absolute;bottom:24px;left:24px;z-index:18}.recruit-panel{min-width:220px;padding:.45rem .5rem .5rem;background:var(--ui-bg-panel-soft);border:1px solid var(--ui-border-gold);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.recruit-head{padding:.15rem .35rem .4rem;font-size:.54rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ui-text-dim)}.recruit-list{display:flex;flex-direction:column;gap:4px}.recruit-btn{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;width:100%;padding:.42rem .5rem;border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-sm);background:#120c1cc7;color:var(--ui-text);cursor:pointer;font:inherit;text-align:left;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.recruit-btn:hover:not(:disabled){border-color:#ffd66047;background:#ffd05814;transform:translateY(-1px)}.recruit-btn:active:not(:disabled){transform:translateY(0)}.recruit-key{display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:6px;background:#ffd05824;border:1px solid rgba(255,214,96,.28);color:var(--ui-gold);font-size:.72rem;font-weight:800;line-height:1;flex-shrink:0}.recruit-info{display:flex;flex-direction:column;gap:.08rem;min-width:0}.recruit-name-row{display:flex;align-items:center;gap:.35rem;min-width:0}.recruit-icon{display:grid;place-items:center;width:1.2rem;height:1.2rem;border-radius:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);font-size:.72rem;line-height:1;flex-shrink:0}.recruit-name{font-size:.78rem;font-weight:800;color:var(--ui-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recruit-hint{font-size:.58rem;font-weight:600;color:var(--ui-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recruit-price{display:inline-flex;align-items:center;gap:.22rem;padding:.18rem .42rem;border-radius:999px;background:#ffd0581f;border:1px solid rgba(255,214,96,.22);color:var(--ui-gold);font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.recruit-price .gold-coin-icon{width:.72rem;height:.72rem}.recruit-lock{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:999px;background:#7848b42e;border:1px solid rgba(120,72,180,.35);font-size:.72rem;line-height:1;flex-shrink:0}.recruit-btn.locked-skill{opacity:.62;border-style:dashed;cursor:not-allowed}.recruit-btn.locked-skill .recruit-hint{color:#b4a0dcbf}.recruit-btn.cant-afford:not(.locked-skill){opacity:.78}.recruit-btn.cant-afford:not(.locked-skill) .recruit-price{color:#ff9a88;border-color:#ff786459;background:#ff503c1a}.recruit-btn:disabled{cursor:not-allowed;transform:none}#minimap-stack{position:absolute;top:12px;right:12px;z-index:20;pointer-events:none;width:256px;display:flex;flex-direction:column;gap:6px}.minimap-wrap{display:flex;flex-direction:column;gap:0;background:var(--ui-bg-panel-soft);border:1px solid var(--ui-border-gold);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden}.minimap-head{display:flex;align-items:center;gap:.35rem;padding:.38rem .55rem;border-bottom:1px solid rgba(255,214,96,.15);background:#0000002e}.minimap-map-name{flex:1;min-width:0;font-size:.72rem;font-weight:700;color:var(--ui-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.minimap-north{display:grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:999px;background:#ffd0581f;border:1px solid rgba(255,214,96,.25);color:var(--ui-gold);font-size:.58rem;font-weight:800;line-height:1}#minimap-meta-row{display:flex;align-items:stretch;gap:5px;width:100%}#minimap{position:static;border:none;border-radius:0;overflow:hidden;background:#0a0810}.minimap-panel{flex:1;min-width:0;padding:.42rem .48rem;display:flex;flex-direction:column;gap:.18rem;background:var(--ui-bg-panel-soft);border:1px solid var(--ui-border-gold);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.minimap-squad-value{font-size:.95rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ui-text);line-height:1.1}#minimap-treasury .hud-gold-value{font-size:.82rem}#minimap-treasury .hud-gold-rate{font-size:.58rem;line-height:1.1}.minimap-ping-value{font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;color:#9ab4cc;line-height:1.1;white-space:nowrap}.minimap-ping-value.mid{color:var(--ui-gold)}.minimap-ping-value.high{color:#e8a0a0}.minimap-meta-label{font-size:.5rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-dim);line-height:1}.minimap-gold-line{display:flex;align-items:center;gap:.28rem;flex-wrap:nowrap;min-width:0}#minimap-treasury .hud-gold-mark,#minimap-treasury .gold-coin-icon{width:.85rem;height:.85rem}#minimap-canvas{display:block;width:256px;height:256px}#end-screen h2{color:var(--ui-text);margin-bottom:.75rem}#end-screen p{margin-bottom:1.5rem;color:var(--ui-text-muted)}#killfeed{position:static;display:flex;flex-direction:column;gap:4px;max-width:100%;pointer-events:none}.feed-item{background:var(--ui-bg-panel-soft);border:1px solid var(--ui-border-soft);border-left:3px solid var(--ui-gold);border-radius:var(--ui-radius-sm);padding:.35rem .7rem;font-size:.82rem;color:var(--ui-text-muted);box-shadow:var(--ui-shadow-sm);animation:feedIn .25s ease-out;transition:opacity .6s}@keyframes feedIn{0%{transform:translate(-12px);opacity:0}to{transform:translate(0);opacity:1}}#bottom-hud{position:absolute;bottom:36px;left:50%;transform:translate(-50%);display:flex;align-items:flex-end;gap:.85rem;pointer-events:none;z-index:18}#bottom-center{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;width:min(620px,72vw)}#ping-hud{display:flex;align-items:center;justify-content:center;gap:.45rem;margin-bottom:-1px;padding:.35rem .8rem;background:var(--ui-bg-panel-soft);border:1px solid var(--ui-border-gold);border-bottom:none;border-radius:var(--ui-radius-md) var(--ui-radius-md) 0 0;box-shadow:var(--ui-shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1}.ping-panel-label{font-size:.54rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ui-text-dim);line-height:1}#ping-hud .minimap-ping-value{font-size:.78rem}.commander-vitals{display:flex;flex-direction:column;gap:.45rem}.vitals-orbs{display:flex;align-items:flex-end;gap:.65rem}.vitals-orb{display:flex;flex-direction:column;align-items:center;gap:.28rem}.orb-shell-wrap{position:relative;width:86px;height:86px}.orb-shell{width:100%;height:100%;border-radius:50%;padding:3px;background:linear-gradient(155deg,#ffd85a,#7848b48c 28%,#120c1cf2 52%,#e8a820 78%,#0a0810fa);box-shadow:0 0 0 1px #ffd66073,0 5px 14px #0000008c,inset 0 1px #ffe6a047}.orb-well{width:100%;height:100%;border-radius:50%;overflow:hidden;position:relative;background:radial-gradient(circle at 50% 65%,#120808,#060303);box-shadow:inset 0 3px 10px #000000d9,inset 0 -1px #ffffff0f}.orb-liquid{position:absolute;bottom:0;left:0;right:0;height:100%;transition:height .22s ease-out}.orb-liquid-life{background:linear-gradient(180deg,#ff785af2,#e74c3c 28%,#b91c1c 55%,#6b0f0f);box-shadow:0 0 18px #ff463266,inset 0 2px 6px #ffb48c40}.orb-liquid-life.low{background:linear-gradient(180deg,#f55,#c0392b 40%,#7b0f0f);animation:orb-pulse .85s ease-in-out infinite}.orb-liquid-stamina{background:linear-gradient(180deg,#fff0a0,#f1c40f,#b8860b 60%,#6d4c0a);box-shadow:0 0 14px #ffd23c59,inset 0 2px 5px #fff0b433}.orb-liquid-stamina.locked{background:linear-gradient(180deg,#e07070,#a03030 45%,#5a1010);box-shadow:0 0 12px #c8323259}.orb-shine{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(ellipse 45% 35% at 30% 20%,rgba(255,255,255,.38),transparent 58%);pointer-events:none;z-index:1}.orb-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.65);pointer-events:none;z-index:2}.orb-caption{font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ui-text-dim)}.orb-xp-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;width:calc(100% + 12px);height:calc(100% + 12px);transform:rotate(-90deg);pointer-events:none;z-index:0}.orb-xp-track{fill:none;stroke:#ffffff14;stroke-width:4}.orb-xp-fill{fill:none;stroke:#7ec8ff;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(100,180,255,.55));transition:stroke-dashoffset .25s ease-out}.orb-level-badge{position:absolute;top:-4px;left:50%;transform:translate(-50%);min-width:1.35rem;padding:.08rem .38rem;border-radius:999px;font-size:.68rem;font-weight:800;line-height:1.1;color:#fff6dc;background:linear-gradient(180deg,#4a7fd4,#2a4a8a);border:1px solid rgba(160,210,255,.55);box-shadow:0 2px 8px #00000073,0 0 10px #508cff59;pointer-events:none;z-index:3}.vitals-meta{display:flex;align-items:center;gap:.5rem;padding-left:.15rem}.vitals-title{font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ui-text-dim)}.vitals-squad{font-size:.6rem;font-weight:600;color:var(--ui-text-muted);white-space:nowrap}@keyframes orb-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.18)}}.stat-card{background:var(--ui-bg-panel-soft);border:1px solid var(--ui-border-gold);border-radius:var(--ui-radius-md);padding:.55rem .75rem;box-shadow:var(--ui-shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.stat-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.35rem}.stat-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ui-text-dim);font-weight:700}.stat-num{font-size:.88rem;font-weight:700;color:var(--ui-text)}.gold-num{color:var(--ui-gold);font-size:1.1rem}.bar-track{width:100%;height:14px;background:#00000059;border:1px solid var(--ui-border-soft);border-radius:7px;overflow:hidden}.bar-track.thin{height:7px;border-radius:4px}.bar-fill{height:100%;width:100%;background:linear-gradient(90deg,#1e8449,#2ecc71);transition:width .2s ease-out;border-radius:6px}.bar-fill.low{background:linear-gradient(90deg,#922b21,#e74c3c)}.bar-fill.stamina{background:linear-gradient(90deg,#b8860b,#f1c40f)}.bar-fill.stamina.locked{background:linear-gradient(90deg,#7b241c,#d9534f)}.stat-sub{margin-top:.4rem}.stat-label{font-size:.62rem;color:var(--ui-text-dim);text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:.2rem}.gold-income{font-size:.78rem;color:#9fe48f;margin-bottom:.35rem}.squad-badge{display:inline-block;font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;background:#ffffff0f;border:1px solid var(--ui-border-soft);color:var(--ui-text-muted)}.ping-badge{display:inline-block;font-size:.72rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;margin-left:.35rem;background:#1a283859;border:1px solid #3a5068;color:#9ab0c8}.ping-badge.high{border-color:#a04040;color:#e8a0a0}.ping-badge.mid{border-color:#ffd66059;color:var(--ui-gold)}#respawn-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 45%,#781e1e66,#040308e0 55%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}#respawn-overlay h2{color:#ff8a78;font-size:2.2rem;text-shadow:0 2px 16px rgba(0,0,0,.65)}#respawn-overlay p{color:var(--ui-text-muted);font-size:1.2rem;margin-top:.5rem}#damage-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(200,20,20,.55) 100%);opacity:0;transition:opacity .4s ease-out}#damage-vignette.flash{opacity:1;transition:opacity .05s}#controls-help{position:static;transform:none;background:var(--ui-bg-panel-soft);border:1px solid var(--ui-border-gold);border-radius:0 0 var(--ui-radius-md) var(--ui-radius-md);padding:.55rem .95rem .6rem;pointer-events:none;width:100%;box-shadow:var(--ui-shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.controls-head{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ui-text-dim);margin-bottom:.35rem;text-align:center;font-weight:700}.controls-grid{display:grid;grid-template-columns:repeat(5,auto);gap:.25rem 1rem;font-size:.74rem;color:var(--ui-text-muted);justify-content:center}.controls-grid kbd{display:inline-block;min-width:1.4em;padding:.1rem .35rem;margin-right:.25rem;border-radius:6px;background:#ffffff14;border:1px solid var(--ui-border-soft);color:var(--ui-gold);font-family:inherit;font-size:.72rem;font-weight:700;text-align:center}.lobby-panel{min-width:680px;max-width:92vw;text-align:left}.lobby-header{text-align:center;margin-bottom:1.1rem}.lobby-header h2{color:var(--ui-text);margin-bottom:.15rem}.lobby-header .subtitle{margin-bottom:0}#room-lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem}.lobby-card{background:#ffffff0a;border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-lg);padding:1rem 1.1rem}.lobby-card h3{color:var(--ui-gold);font-size:.92rem;margin-bottom:.5rem;border-bottom:1px solid rgba(255,214,96,.18);padding-bottom:.4rem}.lobby-hint{font-size:.74rem;color:var(--ui-text-dim);margin-bottom:.55rem}#room-player-count{float:right;opacity:.75;font-weight:400}#room-player-list{list-style:none;min-height:150px;margin-bottom:.6rem}#room-player-list li{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;border-radius:4px;font-size:.9rem}#room-player-list li:nth-child(odd){background:#ffffff0a}.team-chip{width:22px;height:22px;border-radius:6px;flex-shrink:0;border:2px solid rgba(255,255,255,.25);box-shadow:0 2px 6px #00000059;cursor:default;transition:transform .12s,box-shadow .12s}.team-chip.clickable{cursor:pointer}.team-chip.clickable:hover{transform:scale(1.12);box-shadow:0 0 0 2px #ffd66073}.team-picker{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--ui-bg-panel);border:2px solid var(--ui-border-gold);border-radius:var(--ui-radius-xl);padding:1.15rem 1.25rem;z-index:120;box-shadow:var(--ui-shadow)}.team-picker-title{font-size:.85rem;color:var(--ui-gold);margin-bottom:.65rem;font-weight:800}.team-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.team-pick-btn{display:flex;align-items:center;gap:.45rem;padding:.5rem .6rem;border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-md);background:#ffffff0d;color:var(--ui-text);cursor:pointer;font-size:.82rem;font-weight:700;transition:background .12s,border-color .12s,transform .12s}.team-pick-btn:hover:not(:disabled){background:#ffd0581f;border-color:var(--ui-border-gold);transform:translateY(-1px)}.team-pick-btn:disabled{opacity:.4;cursor:not-allowed}.team-pick-btn .swatch{width:18px;height:18px;border-radius:4px;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.team-pick-btn.mine{border-color:var(--ui-border-gold-strong);background:linear-gradient(180deg,#ffd05829,#7848b429)}.host-badge{margin-left:auto;font-size:.7rem;color:var(--ui-gold-dark);border:1px solid rgba(255,214,96,.35);border-radius:999px;padding:2px 8px;background:#ffd0581a}.ai-tag{opacity:.65;font-size:.75rem}.bot-buttons{display:flex;gap:.5rem}.setting{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem;font-size:.9rem}.setting select,.setting input{width:150px;padding:.45rem .55rem;border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-sm);background:#00000047;color:var(--ui-text);font-size:.85rem}.setting select:disabled,.setting input:disabled{opacity:.5;cursor:not-allowed}.map-info{font-size:.78rem;opacity:.7;min-height:2.2em}#room-lobby .btn:disabled{opacity:.45;cursor:not-allowed}.cmd-btn b{margin-right:.35rem}.cmd-follow b{color:#5fd46a}.cmd-charge b{color:#e85c5c}.cmd-guard b{color:#f1d04a}.cmd-missiles b{color:#6eb5ff}.cmd-testudo b{color:#b88cff}#server-browser{min-width:540px}#server-list{max-height:320px;overflow-y:auto;margin:.75rem 0 1rem;text-align:left}.server-row{display:flex;align-items:center;gap:.9rem;padding:.6rem .85rem;border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-md);margin-bottom:6px;background:#ffffff0a;font-size:.9rem}.server-row .server-host{font-weight:700;color:var(--ui-gold)}.server-row .server-map{opacity:.85}.server-row .server-players{margin-left:auto;opacity:.75}.server-row .btn{padding:.3rem .8rem;font-size:.8rem}.server-empty{text-align:center;opacity:.7;padding:1.5rem 0}#esc-menu{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 20%,#48307859,#040308e0 55%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:50}#esc-menu-box{background:var(--ui-bg-panel);border:2px solid var(--ui-border-gold);border-radius:var(--ui-radius-xl);padding:2rem 2.5rem;text-align:center;display:flex;flex-direction:column;gap:.65rem;min-width:320px;box-shadow:var(--ui-shadow)}#esc-menu-box h2{color:var(--ui-text);margin-bottom:.2rem}#esc-menu-box .subtitle{margin-bottom:.8rem}.esc-volume{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;margin:.25rem 0 .5rem;font-size:.82rem;color:var(--ui-text-muted);text-align:left}.esc-volume input[type=range]{width:100%;accent-color:var(--ui-gold);cursor:pointer}#eliminated-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#781e1e59,#040308e6 55%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:60}#eliminated-box{background:var(--ui-bg-panel);border:2px solid rgba(255,120,100,.45);border-radius:var(--ui-radius-xl);padding:2rem 2.5rem;text-align:center;display:flex;flex-direction:column;gap:.65rem;box-shadow:var(--ui-shadow)}#eliminated-box h2{color:#ff8a78;margin-bottom:.2rem}#eliminated-box .subtitle{margin-bottom:.8rem}#spectate-hint{position:absolute;top:64px;left:50%;transform:translate(-50%);background:var(--ui-bg-panel-soft);border:1px solid var(--ui-border-gold);border-radius:999px;padding:.4rem 1.1rem;font-size:.82rem;color:var(--ui-text-muted);z-index:20;box-shadow:var(--ui-shadow-sm)}#spectate-hint b{color:var(--ui-gold)}#cfg-map option:disabled{color:#6b5a3a}#skill-tree{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(ellipse at 50% 20%,#48307859,#040308e0 55%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:55}#skill-tree-box{width:min(860px,94vw);max-height:min(90vh,820px);overflow:hidden;display:flex;flex-direction:column;gap:.85rem;padding:1.15rem 1.25rem 1.25rem;border-radius:22px;border:2px solid rgba(255,214,96,.45);background:linear-gradient(165deg,#302248f5,#120c1cfa 48%,#0a0810fc);box-shadow:0 24px 60px #0000008c,0 0 0 1px #ffffff0f inset,0 0 48px #7850c82e}#skill-tree-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.65rem}.skill-head-title{display:flex;align-items:center;gap:.65rem;min-width:0}.skill-head-badge{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:14px;font-size:1.15rem;color:#ffe08a;background:linear-gradient(145deg,#ffd05847,#7848b459);border:1px solid rgba(255,214,96,.35);box-shadow:0 0 18px #ffc4402e;flex-shrink:0}#skill-tree-head h2{margin:0;font-size:1.35rem;line-height:1.1;color:#fff6dc;letter-spacing:.02em}.skill-head-hint{margin:.15rem 0 0;font-size:.72rem;color:#dccdaab8}.skill-head-hint kbd{padding:.05rem .35rem;border-radius:4px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);font-size:.68rem}#skill-gold-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border-radius:999px;background:linear-gradient(180deg,#ffd85a,#e8a820);color:#2a1800;font-weight:800;font-size:1rem;box-shadow:0 4px 14px #ffc43059;white-space:nowrap}#skill-gold-pill .skill-gold-icon{width:1.2rem;height:1.2rem}.skill-close-btn{width:2.25rem;height:2.25rem;border:none;border-radius:12px;background:#ffffff14;color:#fff0d2d9;font-size:1rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.skill-close-btn:hover{background:#ffffff24;transform:scale(1.04)}.skill-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.skill-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:3.35rem;padding:.45rem .25rem;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#e6dcc3c7;font-size:.72rem;font-weight:700;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.skill-tab-icon{font-size:1.15rem;line-height:1}.skill-tab:hover{transform:translateY(-1px);border-color:#ffd66047;color:#fff6dc}.skill-tab.active{border-color:#ffd660a6;background:linear-gradient(180deg,#ffd05838,#7848b438);color:#fff6dc;box-shadow:0 0 18px #ffc4401f}.skill-progress-wrap{display:flex;align-items:center;gap:.65rem}.skill-progress-track{flex:1;height:.55rem;border-radius:999px;overflow:hidden;background:#ffffff14;border:1px solid rgba(255,255,255,.06)}#skill-progress-fill{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#6ee07a,#ffd85a);box-shadow:0 0 12px #6ee07a73;transition:width .25s ease}#skill-progress-text{font-size:.72rem;font-weight:700;color:#dccdaad9;white-space:nowrap}#skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;flex:1;min-height:0;overflow-y:auto;padding-right:.2rem;scrollbar-width:thin;scrollbar-color:rgba(255,196,64,.35) transparent}@media(max-width:680px){#skill-grid{grid-template-columns:1fr}}.skill-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.75rem;padding:.85rem .9rem;min-height:5.5rem;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff12,#ffffff08);color:inherit;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.skill-card:hover:not(:disabled){transform:translateY(-1px);border-color:#ffd66059}.skill-card.ready{border-color:#ffd66073;box-shadow:0 0 20px #ffc4401f}.skill-card.owned{border-color:#6ee07a8c;background:linear-gradient(180deg,#2c5c3459,#14281873);box-shadow:0 0 18px #6ee07a1f;cursor:default}.skill-card.locked{opacity:.62}.skill-card-icon{display:grid;place-items:center;width:2.85rem;height:2.85rem;border-radius:14px;font-size:1.45rem;background:#00000038;border:1px solid rgba(255,255,255,.08);flex-shrink:0}.skill-card.ready .skill-card-icon{background:linear-gradient(145deg,#ffd0582e,#7848b42e)}.skill-card.owned .skill-card-icon{background:#488c5247}.skill-card-body{display:flex;flex-direction:column;gap:.12rem;min-width:0}.skill-name{font-weight:800;font-size:.92rem;color:#fff6dc;line-height:1.15}.skill-desc{font-size:.78rem;line-height:1.45;color:#d2c6aae0;word-wrap:break-word}.skill-price{display:inline-flex;align-items:center;justify-content:center;min-width:3.4rem;padding:.38rem .55rem;border-radius:999px;font-size:.78rem;font-weight:800;background:linear-gradient(180deg,#ffd85a,#e8a820);color:#2a1800;box-shadow:0 3px 10px #ffc43038;flex-shrink:0;margin-top:.1rem}.skill-card.owned .skill-price{background:linear-gradient(180deg,#7adf86,#3ea852);color:#102814;box-shadow:0 3px 10px #6ee07a38}.skill-card.locked .skill-price{background:#ffffff14;color:#dccdaab8;box-shadow:none}.chat-panel{background:var(--ui-bg-panel-soft);border:1px solid var(--ui-border-gold);border-radius:var(--ui-radius-md);overflow:hidden;box-shadow:var(--ui-shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lobby-chat{margin-bottom:1.1rem}.match-chat{position:static;width:100%;pointer-events:auto;opacity:.7;transition:opacity .2s ease}#hud-left-stack{position:absolute;top:4px;left:12px;z-index:25;display:flex;flex-direction:column;gap:6px;width:min(260px,32vw);pointer-events:none}#hud-left-stack>*{pointer-events:auto}#hud-left-stack #killfeed{pointer-events:none}.match-chat.focused{opacity:1}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .75rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ui-gold);border-bottom:1px solid rgba(255,214,96,.18);background:#0000002e}.chat-hint{font-size:.65rem;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ui-text-dim)}.chat-log{max-height:110px;overflow-y:auto;padding:.45rem .55rem;display:flex;flex-direction:column;gap:.35rem;scrollbar-width:thin;scrollbar-color:rgba(255,214,96,.25) transparent}.chat-line{font-size:.82rem;line-height:1.35;padding:.25rem .45rem;border-left:3px solid rgba(255,214,96,.45);border-radius:0 var(--ui-radius-sm) var(--ui-radius-sm) 0;background:#ffffff0a;word-break:break-word}.chat-line.chat-system{border-left-color:#7848b48c;color:var(--ui-text-dim);font-style:italic;background:#7848b41a}.chat-author{font-weight:700;color:var(--ui-text)}.chat-text{color:var(--ui-text-muted)}.chat-input{width:100%;border:none;border-top:1px solid rgba(255,214,96,.15);padding:.55rem .75rem;background:#00000047;color:var(--ui-text);font-size:.88rem;font-family:inherit;outline:none}.chat-input:focus{background:#00000061;box-shadow:inset 0 0 0 1px #ffd66033}.chat-input::placeholder{color:var(--ui-text-dim)}.kick-btn{margin-left:auto;padding:.2rem .55rem;font-size:.72rem;border-color:#8b3a2a;color:#f5c4bc;background:#5018108c}.kick-btn:hover{background:#782014bf;border-color:#c44}#room-player-list li .host-badge{margin-left:auto}#room-player-list li:has(.kick-btn) .host-badge{margin-left:0}#commander-skill-tree{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(ellipse at 50% 20%,#28488c61,#040308e0 55%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:56}#commander-skill-tree-box{width:min(920px,96vw);max-height:none;overflow:visible;display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.35rem 1.35rem;border-radius:22px;border:2px solid rgba(120,180,255,.42);background:linear-gradient(165deg,#1c2a58f5,#0c1020fa 48%,#080a12fc);box-shadow:0 24px 60px #0000008c,0 0 0 1px #ffffff0f inset,0 0 48px #508cff2e}#commander-skill-tree-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem}.skill-head-badge.cmd-badge{color:#a8d4ff;background:linear-gradient(145deg,#64a0ff47,#283c7873);border-color:#78b4ff66}.cmd-xp-pill{display:flex;align-items:center;padding:.35rem .75rem;border-radius:999px;font-size:.72rem;font-weight:700;color:#cfe8ff;background:#508cdc2e;border:1px solid rgba(120,180,255,.28);white-space:nowrap}#commander-skill-tiers{display:flex;flex-direction:column;gap:1.1rem;overflow:visible;flex:0}.cmd-tier-row{display:flex;flex-direction:column;gap:.55rem}.cmd-tier-head{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#aad2ffc7}.cmd-tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}@media(max-width:720px){.cmd-tier-grid{grid-template-columns:1fr}}.cmd-skill-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:stretch;gap:.65rem;padding:1rem 1.05rem;min-height:7.5rem;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#ffffff0f,#ffffff05);color:inherit;cursor:pointer;text-align:left;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.cmd-skill-card:hover:not(:disabled){transform:translateY(-1px);border-color:#78b4ff73}.cmd-skill-card.ready{border-color:#78b4ff8c;box-shadow:0 0 16px #508cff24}.cmd-skill-card.partial{border-color:#a0beff59}.cmd-skill-card.owned{border-color:#6ee0aa73;background:linear-gradient(180deg,#2c5c4847,#14282061);cursor:default}.cmd-skill-card.locked{opacity:.55}.cmd-card-top{display:flex;align-items:flex-start;gap:.75rem}.cmd-card-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:14px;font-size:1.35rem;background:#00000038;border:1px solid rgba(255,255,255,.08);flex-shrink:0}.cmd-skill-card.ready .cmd-card-icon{background:linear-gradient(145deg,#64a0ff38,#283c7847)}.cmd-skill-card.owned .cmd-card-icon{background:#488c6447}.cmd-card-head{flex:1;min-width:0;display:flex;flex-direction:column;gap:.45rem}.cmd-card-name{font-weight:800;font-size:.95rem;color:#f0f6ff;line-height:1.2}.cmd-card-desc{margin:0;font-size:.78rem;line-height:1.45;color:#bed2f0d9}.cmd-card-action{align-self:flex-end;min-width:2.5rem;padding:.28rem .65rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-align:center;background:linear-gradient(180deg,#7eb8ff,#4a88d8);color:#081428}.cmd-skill-card.owned .cmd-card-action{background:linear-gradient(180deg,#7adf86,#3ea852);color:#102814}.cmd-skill-card.locked .cmd-card-action:empty{display:none}.cmd-skill-pips{display:flex;gap:.32rem;flex-wrap:wrap}.cmd-skill-pip{width:.5rem;height:.5rem;border-radius:50%;border:1px solid rgba(140,180,240,.45);background:#14233c99}.cmd-skill-pip.filled{border-color:#78c8ffe6;background:linear-gradient(180deg,#8cd2fff2,#468cdcd9);box-shadow:0 0 6px #5aaaff59}.cmd-skill-card.owned .cmd-skill-pip.filled{border-color:#6ee0aae6;background:linear-gradient(180deg,#82f0bef2,#3cb482d9);box-shadow:0 0 6px #5adca059}
