:root{color:#e5edf7;background:#08111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Microsoft YaHei,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh;background:linear-gradient(180deg,#0206172e,#020617b8),radial-gradient(circle at top left,rgba(56,189,248,.2),transparent 34rem),radial-gradient(circle at 82% 8%,rgba(168,85,247,.18),transparent 28rem),url(/assets/main-interface-bg-CgQ3VVCQ.webp) center / cover no-repeat fixed,linear-gradient(135deg,#08111f,#0b1224 45%,#050914)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 0%,rgba(125,211,252,.06),transparent 42rem),linear-gradient(90deg,rgba(2,6,23,.26),transparent 28%,transparent 72%,rgba(2,6,23,.32))}#root{min-height:100vh;isolation:isolate}button,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}select{width:100%;margin-top:.35rem;color:#e5edf7;background:#0f172ae6;border:1px solid rgba(148,163,184,.3);border-radius:.7rem;padding:.55rem .65rem}label{display:grid;gap:.2rem;color:#9fb3c8;font-size:.82rem}.app-shell{position:relative;min-height:100vh;padding:1rem}.app-shell.chromeless-shell{padding:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1rem 1.2rem;border:1px solid rgba(148,163,184,.18);border-radius:1.25rem;background:linear-gradient(135deg,#0f172ab8,#07101f8a),#07101f9e;box-shadow:0 18px 45px #00000052,inset 0 1px #ffffff0f;backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%)}.eyebrow{color:#67e8f9;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{margin-top:.2rem;font-size:1.45rem}.top-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}.stat{position:relative;min-width:7.1rem;min-height:4.15rem;padding:.62rem .82rem .58rem 3.18rem;border:0;border-radius:1.1rem;background:radial-gradient(circle at 2.1rem 50%,color-mix(in srgb,var(--stat-glow, #67e8f9) 34%,transparent),transparent 1.75rem),linear-gradient(135deg,#0f172a40,#0206172e),url(/assets/generated-stat-chip-CP9yt8KI.png) center / 100% 100% no-repeat;box-shadow:0 14px 30px #02061761,inset 0 1px #ffffff14;overflow:visible;isolation:isolate}.stat:after{content:"";position:absolute;top:.24rem;right:.24rem;bottom:.24rem;left:.24rem;border-radius:.95rem;background:linear-gradient(105deg,rgba(255,255,255,.13),transparent 36%,rgba(103,232,249,.06) 72%,transparent);mix-blend-mode:screen;pointer-events:none;opacity:.62}.stat-icon{position:absolute;left:.55rem;top:50%;width:2.15rem;height:2.15rem;border-radius:.72rem;background-image:url(/assets/generated-resource-icons-DaApmUuu.png);background-repeat:no-repeat;background-size:700% 100%;background-position:var(--stat-icon-x, 0%) 0;filter:drop-shadow(0 3px 5px rgba(2,6,23,.68)) drop-shadow(0 0 8px color-mix(in srgb,var(--stat-glow, #67e8f9) 52%,transparent));transform:translateY(-50%);z-index:1}.stat-day{--stat-glow: #fbbf24;--stat-icon-x: 0%}.stat-ap{--stat-glow: #67e8f9;--stat-icon-x: 16.6667%}.stat-base{--stat-glow: #94a3b8;--stat-icon-x: 33.3333%}.stat-scrap{--stat-glow: #cbd5e1;--stat-icon-x: 50%}.stat-food{--stat-glow: #fb7185;--stat-icon-x: 66.6667%}.stat-data{--stat-glow: #38bdf8;--stat-icon-x: 83.3333%}.stat-supplies{--stat-glow: #facc15;--stat-icon-x: 100%}.stat span{position:relative;z-index:1;display:block;color:#94a3b8;font-size:.68rem;line-height:1;letter-spacing:.07em;text-transform:uppercase}.stat strong{position:relative;z-index:1;display:block;margin-top:.23rem;color:#f8fafc;font-size:1.05rem;line-height:1.1;text-shadow:0 2px 8px rgba(2,6,23,.88)}.stat.accent strong{color:#facc15;text-shadow:0 0 11px rgba(250,204,21,.42),0 2px 8px rgba(2,6,23,.9)}.resource-flyouts{position:absolute;left:50%;top:.2rem;pointer-events:none;transform:translate(-50%)}.resource-flyout{position:absolute;left:0;top:0;min-width:3.2rem;text-align:center;font-size:.9rem;font-weight:900;text-shadow:0 2px 6px rgba(2,6,23,.95);animation:resource-float .9s ease-out forwards}.resource-flyout.gain{color:#86efac}.resource-flyout.loss{color:#fca5a5}.action-notice-toast{position:fixed;left:50%;top:5.8rem;z-index:4000;max-width:min(720px,calc(100vw - 3rem));padding:.85rem 1.15rem;border:1px solid rgba(125,211,252,.45);border-radius:999px;color:#ecfeff;font-weight:900;letter-spacing:.02em;background:linear-gradient(135deg,#082f49f0,#0e7490d1);box-shadow:0 18px 48px #082f498c,inset 0 0 26px #7dd3fc26;pointer-events:none;transform:translate(-50%);animation:action-notice-pop 2.6s ease forwards}.action-notice-toast.warn{border-color:#fbbf248c;color:#fff7ed;background:linear-gradient(135deg,#78350ff0,#b45309d1);box-shadow:0 18px 48px #78350f73,inset 0 0 26px #fbbf2424}@keyframes resource-float{0%{opacity:0;transform:translate(-50%,12px) scale(.85)}18%{opacity:1}to{opacity:0;transform:translate(-50%,-34px) scale(1.08)}}@keyframes action-notice-pop{0%{opacity:0;transform:translate(-50%,-14px) scale(.92)}12%{opacity:1;transform:translate(-50%) scale(1.02)}82%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-18px) scale(.96)}}.dashboard{display:grid;grid-template-columns:330px minmax(520px,1fr) 390px;grid-template-areas:"left map right" "meta meta right";gap:1rem;margin-top:1rem}.panel{border:1px solid rgba(148,163,184,.18);border-radius:1.25rem;background:linear-gradient(145deg,#0f172aad,#07101f7a),#07101f99;box-shadow:0 18px 45px #00000042,inset 0 1px #ffffff0d;backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);overflow:hidden}.command-panel{grid-area:left;padding:1rem}.map-panel{grid-area:map;padding:1rem}.right-panel{grid-area:right;padding:1rem;max-height:calc(100vh - 8.2rem);overflow:auto}.meta-panel{grid-area:meta;padding:1rem}.panel-title{margin-bottom:.9rem}.panel-title h2{font-size:1.05rem}.panel-title p,.subcard p{margin-top:.25rem;color:#94a3b8;font-size:.86rem;line-height:1.45}.action-button.action-illustrated{position:relative;min-height:118px;overflow:hidden;padding:1rem;isolation:isolate;border-color:#e2e8f029;background:#0f172ab8}.action-button.action-illustrated:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:var(--action-bg);background-size:cover;background-position:center;transform:scale(1.03);filter:saturate(1.08) contrast(1.04);transition:transform .18s ease,filter .18s ease}.action-button.action-illustrated:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#020617d1,#0f172a85 52%,#020617bd),radial-gradient(circle at 85% 20%,rgba(255,255,255,.16),transparent 38%);-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px)}.action-button.action-illustrated:hover:before{transform:scale(1.08);filter:saturate(1.18) contrast(1.08) brightness(1.08)}.action-button.action-illustrated strong,.action-button.action-illustrated span,.action-button.action-illustrated .missing-cost{position:relative;z-index:1;max-width:72%;text-shadow:0 2px 10px rgba(0,0,0,.68)}.action-button.action-illustrated strong{font-size:1.05rem;color:#f8fafc}.action-button.action-illustrated span{color:#dbeafe}.building-sprite-icon{display:inline-block;width:42px;height:42px;grid-area:icon;border-radius:.8rem;background-repeat:no-repeat;background-size:200% 200%;background-position:0 0;filter:drop-shadow(0 8px 12px rgba(0,0,0,.42))}.building-sprite-icon.horizontal-sheet{background-size:400% 100%}.building-sprite-icon.flip-x{transform:scaleX(-1)}.building-sprite-icon.detail{width:76px;height:76px;grid-area:auto}.building-detail-head{display:flex;align-items:center;gap:.75rem}.building-detail-head h3{margin:0}.build-card .building-sprite-icon{width:52px;height:52px;align-self:center;justify-self:center}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.action-button,.modifier,.weapon-chip,.tech-node,.node,.event-option,.upgrade-option{display:grid;gap:.25rem;width:100%;text-align:left;color:#e5edf7;border:1px solid rgba(148,163,184,.18);border-radius:.9rem;background:linear-gradient(180deg,#1e293be0,#0f172adb);padding:.72rem;transition:transform .14s ease,border-color .14s ease,background .14s ease}.action-button:hover,.modifier:hover,.weapon-chip:hover,.tech-node:hover,.node:hover,.event-option:hover,.upgrade-option:hover{transform:translateY(-1px);border-color:#67e8f98f}.action-button span,.modifier span,.weapon-chip span,.tech-node span,.node span,.event-option span,.upgrade-option span,small{color:#94a3b8;font-size:.77rem;line-height:1.35}.subcard{margin-top:.85rem;padding:.85rem;border:1px solid rgba(148,163,184,.16);border-radius:1rem;background:linear-gradient(145deg,#0f172a8f,#02061757),#0f172a80;box-shadow:inset 0 1px #ffffff0a;backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}.subcard h3{margin-bottom:.65rem;font-size:.96rem}.subcard label+label,.subcard label+button,.tech-detail button,.expedition-panel button.primary{margin-top:.65rem}.primary,.secondary,.start-button{color:#07101f;border-radius:.9rem;font-weight:800;padding:.75rem .95rem;background:linear-gradient(135deg,#67e8f9,#5eead4);box-shadow:0 12px 28px #5eead438}.secondary{color:#dbeafe;background:#1e293beb;box-shadow:none;border:1px solid rgba(148,163,184,.2)}.small{width:100%;padding:.55rem .7rem;font-size:.84rem}.start-button{width:100%;margin-top:1rem;padding:1rem;font-size:1rem;background:linear-gradient(135deg,#facc15,#fb7185);box-shadow:0 16px 34px #fb71853d}.modifier-list,.weapon-row,.tech-grid,.node-list,.event-options,.upgrade-options,.meta-grid{display:grid;gap:.55rem}.modifier.selected,.weapon-chip.selected,.tech-node.selected,.node.selected{border-color:#facc15cc;background:linear-gradient(180deg,#78530cbf,#1e293be0)}.defense-map{position:relative;display:grid;grid-template-columns:.7fr repeat(4,1fr) .8fr;gap:.7rem;min-height:280px;padding:1rem;border-radius:1rem;overflow:hidden;background:linear-gradient(90deg,rgba(37,99,235,.18),transparent 17%),linear-gradient(90deg,transparent 0,transparent 88%,rgba(248,113,113,.15)),repeating-linear-gradient(0deg,rgba(148,163,184,.06) 0,rgba(148,163,184,.06) 1px,transparent 1px,transparent 36px),#0307129e}.base-block,.enemy-entry,.defense-layer{display:flex;flex-direction:column;justify-content:space-between;min-height:235px;border:1px solid rgba(148,163,184,.15);border-radius:.9rem;padding:.7rem;background:#0f172a9e}.base-block{border-color:#60a5fa7a;background:#1d4ed833}.enemy-entry{align-items:center;justify-content:center;color:#fecaca;border-color:#f8717152}.defense-layer span,.base-block span{color:#94a3b8;font-size:.75rem;line-height:1.35}.lane-dots{display:grid;gap:.32rem}.lane-dot{min-height:24px;border-radius:999px;background:#94a3b814;padding:.15rem .35rem}.lane-dot b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;margin-right:.16rem;color:#0f172a;font-size:.72rem;border-radius:999px;background:#bae6fd}.armory .weapon-row{grid-template-columns:repeat(6,minmax(0,1fr))}.weapon-chip{border-color:color-mix(in srgb,var(--weapon) 35%,rgba(148,163,184,.18))}.weapon-chip strong{color:var(--weapon)}.weapon-chip.locked,.player-weapon-card.locked{cursor:not-allowed;filter:grayscale(.55);opacity:.58}.weapon-chip.locked strong,.player-weapon-card.locked strong{color:#cbd5e1}.upgrade-option{position:relative;overflow:hidden;isolation:isolate}.upgrade-option>*{position:relative;z-index:1}.upgrade-option.weapon-upgrade{border-color:color-mix(in srgb,var(--upgrade-accent, #67e8f9) 58%,rgba(148,163,184,.2));background:radial-gradient(circle at 18% 8%,color-mix(in srgb,var(--upgrade-accent, #67e8f9) 28%,transparent),transparent 42%),linear-gradient(180deg,#1e293bed,#0f172ae0);box-shadow:0 0 0 1px color-mix(in srgb,var(--upgrade-accent, #67e8f9) 18%,transparent) inset,0 14px 32px color-mix(in srgb,var(--upgrade-accent, #67e8f9) 14%,transparent)}.upgrade-option.weapon-upgrade strong{color:color-mix(in srgb,var(--upgrade-accent, #67e8f9) 78%,#ffffff)}.upgrade-option.weapon-upgrade:before{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;z-index:0;opacity:.38;pointer-events:none}.upgrade-option.upgrade-blade:before,.upgrade-option.weapon-dagger:before{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--upgrade-accent) 52%,transparent) 0 7px,transparent 7px 18px);transform:translate(-16%)}.upgrade-option.upgrade-ballistic:before,.upgrade-option.weapon-handgun:before,.upgrade-option.weapon-smg:before,.upgrade-option.weapon-sniper:before{background:linear-gradient(90deg,transparent 0 18%,color-mix(in srgb,var(--upgrade-accent) 58%,transparent) 42%,transparent 72%),repeating-linear-gradient(0deg,transparent 0 14px,color-mix(in srgb,var(--upgrade-accent) 24%,transparent) 14px 16px);transform:skew(-18deg)}.upgrade-option.upgrade-explosive:before,.upgrade-option.weapon-shotgun:before,.upgrade-option.weapon-rocket:before,.upgrade-option.weapon-missile:before{background:radial-gradient(circle at 62% 32%,color-mix(in srgb,var(--upgrade-accent) 64%,transparent),transparent 22%),radial-gradient(circle at 32% 70%,color-mix(in srgb,#fb7185 34%,transparent),transparent 26%),repeating-radial-gradient(circle at 62% 32%,transparent 0 18px,color-mix(in srgb,var(--upgrade-accent) 24%,transparent) 19px 21px)}.upgrade-option.upgrade-utility:before,.upgrade-option.weapon-wrench:before,.upgrade-option.weapon-shield:before{background:conic-gradient(from 45deg,transparent 0 16%,color-mix(in srgb,var(--upgrade-accent) 46%,transparent) 18% 21%,transparent 24% 42%,color-mix(in srgb,var(--upgrade-accent) 36%,transparent) 44% 48%,transparent 50%),radial-gradient(circle,transparent 0 46%,color-mix(in srgb,var(--upgrade-accent) 28%,transparent) 47% 50%,transparent 52%)}.upgrade-weapon-tag{width:fit-content;color:#07101f;font-size:.68rem;font-style:normal;font-weight:900;letter-spacing:.04em;padding:.16rem .42rem;border-radius:999px;background:var(--upgrade-accent, #67e8f9);box-shadow:0 0 18px color-mix(in srgb,var(--upgrade-accent, #67e8f9) 42%,transparent)}.weapon-unlock-modal{max-width:820px}.weapon-unlock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin:1rem 0}.weapon-unlock-card{display:grid;gap:.7rem;padding:.85rem;border:1px solid color-mix(in srgb,var(--weapon, #67e8f9) 48%,rgba(148,163,184,.2));border-radius:1rem;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--weapon, #67e8f9) 26%,transparent),transparent 45%),linear-gradient(145deg,#0f172ad1,#020617b8);box-shadow:0 20px 48px #00000052,inset 0 1px #ffffff14}.weapon-unlock-head{display:flex;gap:.7rem;align-items:center}.weapon-unlock-head b{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;color:#07101f;border-radius:16px;background:var(--weapon, #67e8f9);box-shadow:0 0 26px color-mix(in srgb,var(--weapon, #67e8f9) 34%,transparent)}.weapon-unlock-head strong,.weapon-unlock-head span{display:block}.weapon-unlock-head span{margin-top:.2rem;color:#cbd5e1;font-size:.78rem;line-height:1.35}.weapon-unlock-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.weapon-unlock-stats span{display:grid;gap:.1rem;color:#94a3b8;font-size:.68rem;padding:.36rem .42rem;border:1px solid rgba(148,163,184,.14);border-radius:.62rem;background:#0206175c}.weapon-unlock-stats b{color:#f8fafc;font-size:.78rem}.log-panel{max-height:220px;overflow:auto}.log-panel p,.battle-log p{margin-top:.4rem;color:#cbd5e1;font-size:.82rem;line-height:1.4}.ally-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.65rem}.ally-card{display:grid;gap:.45rem;padding:.7rem;border:1px solid rgba(148,163,184,.15);border-radius:.9rem;background:#02061759}.ally-card.compact{cursor:pointer;padding:.58rem .65rem;gap:.36rem;transition:border-color .15s ease,background .15s ease,transform .15s ease}.ally-card.compact:hover,.ally-card.compact.open{border-color:#93c5fd57;background:#0f172a85}.ally-card.compact:hover{transform:translateY(-1px)}.ally-card.compact.selected{border-color:#5eead48f;box-shadow:0 0 0 2px #5eead41a}.ally-card.away{border-color:#facc156b}.ally-card.down{position:relative;filter:grayscale(.55);opacity:.84;border-color:#f871718c;background:linear-gradient(180deg,#7f1d1d4d,#0206177a);box-shadow:inset 0 0 0 1px #f8717114}.ally-card.down:before{content:"重伤";position:absolute;right:.65rem;top:-.48rem;padding:.12rem .42rem;border:1px solid rgba(248,113,113,.45);border-radius:999px;background:#7f1d1deb;color:#fecaca;font-size:.68rem;font-weight:900}.recovery-badge{display:inline-flex;width:fit-content;padding:.18rem .45rem;border:1px solid rgba(248,113,113,.35);border-radius:999px;background:#ef44442e;color:#fecaca;font-size:.72rem}.ally-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.ally-head span{color:#94a3b8;font-size:.72rem}.ally-head strong{display:inline-flex;align-items:center;gap:.45rem}.ally-head input[type=checkbox]{width:15px;height:15px;accent-color:#5eead4}.ally-compact-row{display:flex;align-items:center;justify-content:space-between;min-height:1rem}.ally-compact-row small,.ally-detail-block small{color:#94a3b8;font-size:.76rem}.ally-card.compact label{margin-top:.1rem}.ally-detail-block{display:grid;gap:.45rem;padding-top:.45rem;border-top:1px solid rgba(148,163,184,.12)}.ally-level-effects{display:grid;gap:.25rem;padding:.45rem;border:1px solid rgba(96,165,250,.18);border-radius:.7rem;background:#2563eb14}.ally-toolbar,.bulk-command{display:flex;flex-wrap:wrap;align-items:end;gap:.55rem;margin-bottom:.65rem}.ally-toolbar label{min-width:150px}.bulk-command{align-items:center;padding:.55rem .65rem;border:1px solid rgba(148,163,184,.14);border-radius:.85rem;background:#02061747}.bulk-command span{color:#cbd5e1;font-size:.8rem}.fixed-weapon{display:grid;gap:.18rem;padding:.55rem .65rem;border:1px solid rgba(125,247,255,.16);border-radius:.75rem;background:#0f172a94}.fixed-weapon span{color:#94a3b8;font-size:.76rem}.fixed-weapon b{color:#e0f2fe}.bar{height:8px;overflow:hidden;border-radius:999px;background:#0f172af2}.bar i{display:block;width:50%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5eead4,#60a5fa)}.bar.xp i{background:linear-gradient(90deg,#a78bfa,#67e8f9)}.bar.enemy-progress i{background:linear-gradient(90deg,#fb7185,#facc15)}.bar.boss-bar i{background:linear-gradient(90deg,#f97316,#facc15,#fef3c7)}.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-node{padding:.55rem}.tech-detail{display:grid;gap:.45rem;margin-top:.65rem;padding:.7rem;border-radius:.85rem;background:#03071261}.tech-detail p{color:#94a3b8;font-size:.82rem}.tech-detail span{color:#fde68a;font-size:.8rem}.notice{color:#fde68a;border:1px dashed rgba(250,204,21,.45);border-radius:.85rem;padding:.75rem;background:#78530c33}.node{padding:.58rem}.node small{color:#cbd5e1}.expedition-roster,.expedition-slots{display:grid;gap:.55rem}.expedition-roster{grid-template-columns:repeat(2,minmax(0,1fr));margin:.65rem 0}.ally-drag-token{color:#e0f2fe;text-align:left;padding:.55rem .65rem;border:1px solid rgba(147,197,253,.25);border-radius:.8rem;background:#1e40af47}.ally-drag-token span{color:#93c5fd;font-size:.75rem}.expedition-slot{display:grid;gap:.45rem;min-height:132px;padding:.7rem;border:1px dashed rgba(148,163,184,.32);border-radius:.95rem;background:#0f172a7a}.expedition-slot.filled{border-style:solid;border-color:#facc158c;background:#78530c2e}.slot-head,.deployed-ally{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.slot-head span{color:#fca5a5;font-size:.76rem}.deployed-ally{padding:.5rem;border-radius:.8rem;background:#02061775}.deployed-ally button{color:#fecaca;padding:.32rem .55rem;border-radius:.6rem;background:#7f1d1d6b}.building-detail,.save-card{display:grid;gap:.45rem;padding:.8rem;border:1px solid rgba(148,163,184,.18);border-radius:.95rem;background:#0f172a9e}.building-detail p,.building-detail span,.save-card span{color:#94a3b8;font-size:.82rem}.detail-actions,.save-card{grid-template-columns:1fr auto auto;align-items:center}.detail-actions{display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.danger-text,.danger-btn{color:#fecaca!important}.save-list{display:grid;gap:.6rem;margin-top:.75rem}.save-card button{color:#dbeafe;padding:.45rem .65rem;border-radius:.65rem;background:#1e293beb}.stats-panel{display:grid;gap:.85rem}.stats-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.stat-line,.stat-table>div{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.55rem .65rem;border:1px solid rgba(148,163,184,.14);border-radius:.75rem;background:#02061761}.stat-line span,.stat-table span{color:#94a3b8;font-size:.78rem}.stat-line b,.stat-table b{color:#f8fafc;font-size:.86rem}.stats-split{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.stats-split h4{margin-bottom:.45rem;color:#fde68a;font-size:.82rem}.bestiary-panel{display:grid;gap:.85rem}.bestiary-filters{display:grid;grid-template-columns:1.4fr repeat(3,minmax(130px,.7fr));gap:.65rem;align-items:end}.bestiary-filters input,.bestiary-filters select{width:100%}.bestiary-faction-row{padding:.55rem;border:1px solid rgba(148,163,184,.14);border-radius:.9rem;background:#02061747}.bestiary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.7rem}.bestiary-card{display:grid;gap:.55rem;padding:.75rem;border:1px solid rgba(148,163,184,.16);border-radius:1rem;background:radial-gradient(circle at 12% 0%,rgba(103,232,249,.08),transparent 8rem),#0f172a94}.bestiary-card.camp{border-color:#fb718538;background:radial-gradient(circle at 12% 0%,rgba(251,113,133,.1),transparent 8rem),#0f172a94}.bestiary-head{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:.55rem}.bestiary-head>i{width:14px;height:14px;border-radius:50%;box-shadow:0 0 16px currentColor}.bestiary-head strong{color:#f8fafc}.bestiary-head span,.bestiary-card p{color:#94a3b8;font-size:.76rem;line-height:1.45}.bestiary-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.bestiary-stats span{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem .45rem;border-radius:.6rem;background:#02061757;color:#94a3b8;font-size:.72rem}.bestiary-stats b{color:#e2e8f0}.bestiary-rating-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;padding:.45rem .55rem;border:1px solid rgba(250,204,21,.18);border-radius:.8rem;background:linear-gradient(90deg,#0f172ac7,#1e293b61)}.rating-badge{display:grid;place-items:center;min-width:44px;height:38px;padding:0 .45rem;border-radius:.75rem;color:#020617;font-weight:950;letter-spacing:.04em;background:linear-gradient(135deg,#cbd5e1,#64748b);box-shadow:0 0 18px #94a3b838}.rating-s,.rating-splus{background:linear-gradient(135deg,#fde68a,#f59e0b 58%,#fb7185);box-shadow:0 0 22px #facc1547}.rating-a{background:linear-gradient(135deg,#bfdbfe,#60a5fa)}.rating-b{background:linear-gradient(135deg,#bbf7d0,#34d399)}.rating-c{background:linear-gradient(135deg,#e2e8f0,#94a3b8)}.rating-d{background:linear-gradient(135deg,#cbd5e1,#64748b)}.bestiary-rating-row strong{display:block;color:#fde68a;font-size:1rem}.bestiary-rating-row small{color:#94a3b8;font-size:.68rem}.bestiary-radar-wrap{display:grid;grid-template-columns:156px minmax(0,1fr);gap:.5rem;align-items:center;padding:.45rem;border:1px solid rgba(96,165,250,.14);border-radius:.9rem;background:#02061742}.radar-chart{width:156px;height:156px;overflow:visible}.radar-grid{fill:#1e293b2e;stroke:#94a3b838;stroke-width:1}.radar-axis{stroke:#94a3b838;stroke-width:1}.radar-area{fill:#60a5fa3d;stroke:none}.radar-line{fill:none;stroke:#67e8f9;stroke-width:2.2;filter:drop-shadow(0 0 4px rgba(103,232,249,.45))}.radar-label{fill:#cbd5e1;font-size:10px;font-weight:800}.radar-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}.radar-values span{display:flex;justify-content:space-between;gap:.35rem;padding:.24rem .36rem;border-radius:.55rem;color:#94a3b8;background:#0f172a94;font-size:.68rem}.radar-values b{color:#e2e8f0}@media (max-width: 720px){.bestiary-radar-wrap{grid-template-columns:1fr;justify-items:center}.radar-values{width:100%}}.bestiary-tags{display:flex;flex-wrap:wrap;gap:.3rem}.bestiary-tags span{color:#bfdbfe;padding:.18rem .42rem;border:1px solid rgba(147,197,253,.18);border-radius:999px;background:#1e40af29;font-size:.68rem}.bestiary-card.with-art,.bestiary-card.without-art{padding:0;overflow:hidden;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.bestiary-card.with-art:hover,.bestiary-card.without-art:hover,.bestiary-card.expanded{transform:translateY(-2px);border-color:#67e8f957;box-shadow:0 18px 42px #02061757,0 0 0 1px #67e8f914 inset}.bestiary-card:focus-visible{outline:2px solid rgba(103,232,249,.82);outline-offset:3px}.bestiary-art{position:relative;min-height:235px;border-radius:1rem 1rem 0 0;overflow:hidden;background:radial-gradient(circle at 50% 28%,color-mix(in srgb,var(--unit-color) 34%,transparent),transparent 8.5rem),linear-gradient(180deg,#0f172a33,#020617eb),#0f172abd}.bestiary-art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(rgba(148,163,184,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.045) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 72%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 72%)}.bestiary-sprite-frame{position:absolute;left:50%;top:48%;width:min(88%,250px);aspect-ratio:1 / 1;transform:translate(-50%,-50%);background-repeat:no-repeat;background-size:200% 200%;background-position:0 0;image-rendering:auto;filter:drop-shadow(0 18px 24px rgba(0,0,0,.48))}.bestiary-card.camp .bestiary-sprite-frame{width:min(94%,270px);top:51%}.bestiary-card.unit .bestiary-sprite-frame{width:min(82%,225px)}.bestiary-fallback-art{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.bestiary-fallback-art span{display:grid;place-items:center;width:106px;height:106px;border:1px solid color-mix(in srgb,var(--unit-color) 48%,transparent);border-radius:32px;color:#e0f2fe;font-size:2.8rem;font-weight:950;background:radial-gradient(circle,color-mix(in srgb,var(--unit-color) 25%,transparent),#0f172ac7);box-shadow:0 0 34px color-mix(in srgb,var(--unit-color) 24%,transparent)}.bestiary-art-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0206170a 35%,#020617e6);pointer-events:none}.bestiary-art-info{position:absolute;left:.8rem;right:.8rem;bottom:.78rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem}.bestiary-art-info strong{display:block;color:#f8fafc;font-size:1rem;text-shadow:0 2px 8px rgba(0,0,0,.55)}.bestiary-art-info span,.bestiary-art-meta span{color:#cbd5e1;font-size:.72rem}.bestiary-art-meta{position:absolute;left:.72rem;right:.72rem;top:.65rem;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.bestiary-art-meta>span{padding:.16rem .42rem;border:1px solid rgba(226,232,240,.16);border-radius:999px;background:#02061775;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bestiary-head.compact{padding:.68rem .78rem 0}.bestiary-card-details{display:grid;gap:.55rem;padding:0 .75rem .78rem;max-height:0;opacity:0;overflow:hidden;transform:translateY(-4px);transition:max-height .24s ease,opacity .18s ease,transform .18s ease,padding-top .18s ease}.bestiary-card.expanded .bestiary-card-details{max-height:760px;opacity:1;transform:translateY(0);padding-top:.55rem}.campaign-panel{display:grid;gap:.85rem}.campaign-actions,.campaign-result{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.campaign-actions span,.campaign-result span{color:#94a3b8;font-size:.82rem}.campaign-result{padding:.65rem .8rem;border:1px solid rgba(250,204,21,.22);border-radius:.95rem;background:#451a0338}.campaign-result strong{color:#fde68a}.campaign-field{position:relative;height:min(560px,58vh);min-height:430px;overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:1.2rem;background:radial-gradient(circle at 50% 50%,rgba(250,204,21,.08),transparent 9rem),linear-gradient(90deg,rgba(37,99,235,.18),transparent 34%,transparent 66%,rgba(127,29,29,.2)),repeating-linear-gradient(0deg,rgba(148,163,184,.055) 0,rgba(148,163,184,.055) 1px,transparent 1px,transparent 56px),#020617ad}.campaign-midline{position:absolute;inset:0 auto 0 50%;width:2px;transform:translate(-50%);background:linear-gradient(180deg,transparent,rgba(250,204,21,.45),transparent)}.campaign-unit{position:absolute;top:calc(9% + var(--lane) * 14%);display:grid;place-items:center;gap:.18rem;width:52px;height:52px;color:#f8fafc;border:2px solid color-mix(in srgb,var(--unit) 70%,white);border-radius:50%;background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--unit) 72%,white),color-mix(in srgb,var(--unit) 55%,#020617));box-shadow:0 0 0 5px color-mix(in srgb,var(--unit) 14%,transparent),0 12px 24px #00000059;transition:opacity .22s ease,filter .22s ease,transform .22s ease}.campaign-unit.ally{left:5%;animation:campaign-left-idle 2.4s ease-in-out infinite alternate;animation-delay:var(--delay)}.campaign-unit.enemy{right:5%;animation:campaign-right-idle 2.4s ease-in-out infinite alternate;animation-delay:var(--delay)}.campaign-field.running .campaign-unit.ally{animation:campaign-left-charge 5.2s cubic-bezier(.25,.85,.25,1) var(--delay) both}.campaign-field.running .campaign-unit.enemy{animation:campaign-right-charge 5.2s cubic-bezier(.25,.85,.25,1) var(--delay) both}.campaign-unit.dead{opacity:.22;filter:grayscale(.9);transform:translateY(20px) rotate(35deg) scale(.78)}.campaign-unit b{font-size:.9rem;line-height:1;text-shadow:0 2px 4px rgba(0,0,0,.45)}.campaign-unit span{max-width:76px;overflow:hidden;color:#dbeafe;font-size:.58rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}.campaign-clash{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:86px;height:86px;color:#451a03;font-weight:900;border-radius:50%;background:radial-gradient(circle,#fde68a,rgba(251,113,133,.65),transparent 72%);transform:translate(-50%,-50%);animation:campaign-clash-pulse .62s ease-in-out infinite alternate}@keyframes campaign-left-idle{0%{transform:translate(0) translateY(-3px)}to{transform:translate(18px) translateY(4px)}}@keyframes campaign-right-idle{0%{transform:translate(0) translateY(4px)}to{transform:translate(-18px) translateY(-3px)}}@keyframes campaign-left-charge{0%{left:5%}72%{left:calc(49% - 58px)}to{left:calc(49% - 80px)}}@keyframes campaign-right-charge{0%{right:5%}72%{right:calc(49% - 58px)}to{right:calc(49% - 80px)}}@keyframes campaign-clash-pulse{0%{opacity:.62;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1.18)}}.stat-table{display:grid;gap:.4rem}.stat-table p{margin:0;padding:.55rem;color:#94a3b8;border:1px dashed rgba(148,163,184,.18);border-radius:.75rem}.meta-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.meta-card{display:grid;gap:.35rem;min-height:150px;padding:.75rem;border:1px solid rgba(148,163,184,.16);border-radius:.9rem;background:#0f172a9e}.meta-progress{height:7px;overflow:hidden;border-radius:999px;background:#0f172af2;border:1px solid rgba(148,163,184,.16)}.meta-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#facc15,#5eead4)}.meta-card span{color:#facc15;font-size:.8rem}.meta-card p{color:#94a3b8;font-size:.82rem;line-height:1.42}.battle-layout{position:relative;height:calc(100vh - 7.2rem);min-height:720px;margin-top:1rem;overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:1.25rem;background:#020617;box-shadow:0 22px 58px #00000070}.app-shell.battle-fullscreen-shell{padding:0;min-height:100vh}.app-shell.battle-fullscreen-shell .battle-layout,.grand-battle-layout{height:100vh;min-height:100vh;margin-top:0;border:0;border-radius:0;box-shadow:none}.grand-battle-layout .battle-hud{top:.75rem;left:.75rem;right:.75rem;pointer-events:none}.grand-battle-layout .hud-card{pointer-events:none}.phaser-stage{position:relative;width:100%;height:100%}.phaser-host{position:absolute;top:0;right:0;bottom:0;left:0}.phaser-host canvas{display:block;width:100%!important;height:100%!important}.battle-loading,.battle-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 22% 18%,rgba(56,189,248,.18),transparent 18rem),radial-gradient(circle at 80% 78%,rgba(248,113,113,.12),transparent 20rem),#020617f0;color:#e2e8f0}.battle-loading-panel{width:min(30rem,92vw);display:grid;gap:.55rem;padding:1.1rem 1.25rem;border:1px solid rgba(148,163,184,.28);border-radius:1.1rem;background:#0f172ac7;box-shadow:0 24px 70px #00000073;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.battle-loading-panel strong{font-size:1.05rem;color:#bfdbfe}.battle-loading-panel span,.battle-loading-panel small{color:#94a3b8}.battle-loading-bar{height:.72rem;overflow:hidden;border-radius:999px;background:#0f172aeb;border:1px solid rgba(148,163,184,.22)}.battle-loading-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#a78bfa,#facc15);box-shadow:0 0 18px #38bdf86b;transition:width .16s ease}.battle-hud{position:absolute;z-index:45;top:1rem;left:1rem;right:1rem;display:flex;gap:.7rem;pointer-events:none}.hud-card{display:grid;gap:.25rem;min-width:145px;padding:.7rem .85rem;border:1px solid rgba(148,163,184,.2);border-radius:.95rem;background:#030712c7;box-shadow:0 12px 30px #00000052;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto}.hud-card.wide{min-width:260px}.hud-card.boss-hud{min-width:260px;border-color:#facc1573;background:radial-gradient(circle at 15% 0%,rgba(250,204,21,.2),transparent 7rem),#451a03b8}.hud-card.boss-hud strong{color:#fde68a}.hud-card span{color:#cbd5e1;font-size:.82rem}.hud-card .danger{color:#fca5a5}.battle-speed-control{display:grid;gap:.32rem;margin-top:.12rem;pointer-events:auto}.battle-speed-control>span{color:#93c5fd;font-size:.72rem;font-weight:900;letter-spacing:.08em}.battle-speed-buttons{display:grid;grid-template-columns:repeat(3,minmax(2.5rem,1fr));gap:.26rem;pointer-events:auto}.battle-speed-buttons button{padding:.24rem .38rem;color:#dbeafe;border:1px solid rgba(147,197,253,.24);border-radius:.5rem;background:#0f172ac7;font-size:.7rem;font-weight:900;transition:transform .12s ease,border-color .12s ease,background .12s ease;pointer-events:auto}.battle-speed-buttons button:hover{transform:translateY(-1px);border-color:#7dd3fcb8}.battle-speed-buttons button.active{color:#082f49;border-color:#bae6fdf2;background:linear-gradient(135deg,#bae6fd,#38bdf8);box-shadow:0 0 16px #38bdf842}.upgrade-effect{color:#86efac;font-style:normal;line-height:1.45}.ammo-meter{position:relative;height:9px;overflow:hidden;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:#020617eb;box-shadow:inset 0 0 10px #00000059}.ammo-meter>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fde68a,#f59e0b);transition:width .12s linear}.ammo-meter.ammo-smg>i{background:repeating-linear-gradient(90deg,#67e8f9 0,#67e8f9 7px,#0891b2 7px,#0891b2 10px)}.ammo-meter.ammo-sniper>i{background:linear-gradient(90deg,#c084fc,#f0abfc);box-shadow:0 0 12px #c084fc80}.ammo-meter.ammo-rocket>i{background:linear-gradient(90deg,#f97316,#facc15);box-shadow:0 0 14px #f973168c}.ammo-meter.ammo-handgun>i{background:linear-gradient(90deg,#fbbf24,#fde68a)}.ammo-meter.melee>i{background:repeating-linear-gradient(135deg,#fef3c7 0,#fef3c7 8px,#94a3b8 8px,#94a3b8 12px)}.ammo-meter.reloading>i,.ammo-meter.shells.reloading:after{background:linear-gradient(90deg,#fb7185,#facc15)}.hud-card.possession-card{min-width:310px;border-color:#67e8f96b;background:radial-gradient(circle at 12% 0%,rgba(103,232,249,.22),transparent 7rem),radial-gradient(circle at 95% 12%,rgba(251,191,36,.13),transparent 6rem),#030712d1}.possession-card-header{display:flex;align-items:center;justify-content:space-between;gap:.55rem}.possession-card-header strong{color:#a5f3fc}.possession-card-header .small{padding:.26rem .48rem;font-size:.72rem}.possession-skill-list{display:grid;gap:.38rem;margin-top:.16rem}.possession-skill{display:grid;gap:.24rem;padding:.42rem .5rem;border:1px solid rgba(103,232,249,.18);border-radius:.7rem;background:#0f172a94}.possession-skill b{display:block;color:#e0f2fe;font-size:.78rem}.possession-skill small{display:block;color:#94a3b8;font-size:.68rem;line-height:1.35}.bar.skill-cooldown{height:7px;background:#0f172ae6}.bar.skill-cooldown i{background:linear-gradient(90deg,#22d3ee,#facc15);box-shadow:0 0 12px #22d3ee5c}.ammo-meter.shells{display:flex;gap:3px;height:12px;padding:2px;border-radius:.45rem}.ammo-meter.shells>i{flex:1;min-width:6px;border-radius:999px;background:#475569b3}.ammo-meter.shells>i.loaded{background:radial-gradient(circle at 35% 35%,#fff7ed,#fb923c 48%,#7c2d12)}.hud-card.rewards{margin-left:auto}.battle-command-card{min-width:280px}.battle-command-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.28rem}.battle-command-buttons button{padding:.32rem .4rem;color:#dbeafe;border:1px solid rgba(148,163,184,.2);border-radius:.55rem;background:#0f172ac2;font-size:.72rem}.battle-command-buttons button:disabled{opacity:.42}.pet-command-card{min-width:250px;border-color:#fbbf2457;background:radial-gradient(circle at 18% 0%,rgba(251,191,36,.18),transparent 7rem),#1e293bc2}.pet-command-card strong{color:#fde68a}.pet-command-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.28rem}.pet-command-buttons button{padding:.32rem .4rem;color:#fef3c7;border:1px solid rgba(251,191,36,.24);border-radius:.55rem;background:#451a0394;font-size:.72rem;transition:transform .12s ease,border-color .12s ease,background .12s ease}.pet-command-buttons button:hover{transform:translateY(-1px);border-color:#fbbf24a6}.pet-command-buttons button.active{color:#451a03;border-color:#fef08af2;background:linear-gradient(135deg,#fde68a,#f59e0b);box-shadow:0 0 16px #fbbf2447}.battle-log{position:absolute;right:1rem;bottom:3.5rem;width:360px;max-height:190px;overflow:hidden;padding:.8rem;border:1px solid rgba(148,163,184,.16);border-radius:1rem;background:#0307129e;pointer-events:none}.sandbox-spawn-panel{position:absolute;z-index:60;right:1rem;top:11.2rem;width:310px;display:grid;gap:.65rem;padding:.85rem;border:1px solid rgba(94,234,212,.28);border-radius:1rem;background:radial-gradient(circle at 15% 0%,rgba(94,234,212,.16),transparent 7rem),#030712d1;box-shadow:0 16px 34px #0000005c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sandbox-spawn-panel strong{color:#ccfbf1}.sandbox-spawn-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.18rem;border-radius:.82rem;background:#0f172abd;border:1px solid rgba(148,163,184,.16)}.sandbox-spawn-tabs button{border:0;border-radius:.65rem;padding:.45rem .5rem;color:#bfdbfe;background:transparent;font-weight:800}.sandbox-spawn-tabs button.active{color:#ecfeff;background:linear-gradient(135deg,#14b8a673,#2563eb57);box-shadow:0 0 0 1px #67e8f938 inset}.sandbox-spawn-panel label{display:grid;gap:.28rem;color:#bfdbfe;font-size:.78rem}.sandbox-spawn-panel select,.sandbox-spawn-panel input{width:100%;padding:.5rem .6rem;color:#e0f2fe;border:1px solid rgba(148,163,184,.22);border-radius:.68rem;background:#0f172ae6}.sandbox-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.controls-tip{position:absolute;left:50%;bottom:1rem;transform:translate(-50%);color:#dbeafe;padding:.55rem .9rem;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#030712a6;pointer-events:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:2rem;background:#020617bd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-backdrop.transparent{position:absolute;background:#02061773}.modal{width:min(720px,92vw);padding:1.2rem;border:1px solid rgba(148,163,184,.2);border-radius:1.25rem;background:radial-gradient(circle at top left,rgba(103,232,249,.14),transparent 22rem),linear-gradient(145deg,#0f172ad1,#020617ad),#07101fc7;box-shadow:0 30px 90px #0000008c,inset 0 1px #ffffff0f;backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%)}.modal h2{margin-top:.35rem;font-size:1.45rem}.modal p{margin:.65rem 0 1rem;color:#cbd5e1;line-height:1.55}.arena-guess-backdrop{z-index:210;transition:background .16s ease,backdrop-filter .16s ease}.arena-result-backdrop{z-index:320}.arena-guess-backdrop.previewing{place-items:start end;padding:1rem;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.arena-guess-modal{width:min(760px,94vw);border-color:#60a5fa5c;background:radial-gradient(circle at 14% 0%,rgba(59,130,246,.22),transparent 12rem),radial-gradient(circle at 90% 8%,rgba(248,113,113,.18),transparent 10rem),#030712d1;pointer-events:auto}.arena-guess-backdrop.previewing .arena-guess-modal{width:min(390px,92vw);max-height:calc(100vh - 2rem);overflow:auto;opacity:.92}.arena-guess-backdrop.previewing .arena-guess-modal p,.arena-guess-backdrop.previewing .arena-modal-roster,.arena-guess-backdrop.previewing .arena-modal-side small{display:none}.arena-guess-meta,.arena-modal-sides,.arena-modal-side,.arena-modal-side-head,.arena-modal-roster,.arena-guess-actions{display:flex}.arena-guess-meta{flex-wrap:wrap;gap:8px;margin-bottom:12px}.arena-guess-meta span{padding:5px 10px;color:#dbeafe;border:1px solid rgba(147,197,253,.18);border-radius:999px;background:#0f172ab8;font-size:12px;font-weight:800}.arena-modal-sides{gap:12px;align-items:stretch}.arena-modal-side{flex:1 1 0;min-width:0;flex-direction:column;gap:10px;padding:14px;text-align:left;color:#dbeafe;border:1px solid rgba(148,163,184,.2);border-radius:16px;background:#0f172abd;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.arena-modal-side:hover,.arena-modal-side.active{transform:translateY(-1px);border-color:#60a5fabd;box-shadow:0 0 0 1px #60a5fa2e,0 16px 34px #2563eb2e}.arena-modal-side.active{background:radial-gradient(circle at 15% 0%,rgba(96,165,250,.22),transparent 9rem),#0f172adb}.arena-modal-side-head{justify-content:space-between;gap:10px;align-items:center}.arena-modal-side-head span{color:#f8fafc;font-weight:900}.arena-modal-side-head b{color:#bfdbfe;font-size:12px}.arena-modal-roster{flex-wrap:wrap;gap:6px}.arena-modal-roster span{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 7px;color:#dbeafe;border:1px solid color-mix(in srgb,var(--arena-faction, #94a3b8) 40%,rgba(148,163,184,.2));border-radius:999px;background:color-mix(in srgb,var(--arena-faction, #94a3b8) 14%,rgba(15,23,42,.9));font-size:12px}.arena-modal-roster i{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#f8fafc;background:#ffffff1a;font-style:normal;font-weight:900}.arena-modal-side small{color:#94a3b8;line-height:1.4}.arena-guess-actions{justify-content:flex-end;gap:10px;margin-top:14px}.arena-guess-actions button:disabled{opacity:.45;cursor:not-allowed}.skirmish-result-modal{width:min(980px,94vw);max-height:min(86vh,820px);overflow:auto}.skirmish-result-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 16px}.skirmish-result-summary>div,.skirmish-composition-card,.skirmish-leaderboard{border:1px solid rgba(148,163,184,.16);border-radius:16px;background:#0f172a9e}.skirmish-result-summary>div{display:grid;gap:4px;padding:12px}.skirmish-result-summary b{color:#f8fafc}.skirmish-result-summary span{color:#bfdbfe;font-size:13px}.skirmish-result-summary .mvp-card{border-color:#facc1547;background:linear-gradient(135deg,#f59e0b1f,#0f172ab8)}.skirmish-composition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skirmish-composition-card{padding:12px;overflow:hidden}.skirmish-composition-card h3{margin:0 0 8px;font-size:15px}.skirmish-composition-card table,.skirmish-leaderboard table{width:100%;border-collapse:collapse;font-size:13px}.skirmish-composition-card th,.skirmish-composition-card td,.skirmish-leaderboard th,.skirmish-leaderboard td{padding:7px 6px;border-bottom:1px solid rgba(148,163,184,.12);text-align:left}.skirmish-composition-card th,.skirmish-leaderboard th{color:#93c5fd;font-weight:800}@media (max-width: 760px){.skirmish-result-summary,.skirmish-composition-grid{grid-template-columns:1fr}}.recruit-reveal-backdrop{z-index:240;overflow:auto;background:radial-gradient(circle at 50% 12%,rgba(245,158,11,.2),transparent 30rem),radial-gradient(circle at 18% 78%,rgba(56,189,248,.16),transparent 24rem),#020617d6}.recruit-reveal-modal{width:min(980px,96vw);max-height:min(92vh,900px);overflow:auto;border-color:#facc1547;background:linear-gradient(135deg,#0f172aeb,#020617fa),radial-gradient(circle at top,rgba(245,158,11,.18),transparent 24rem);box-shadow:0 32px 110px #000000a6,inset 0 0 0 1px #ffffff09}.recruit-reveal-modal h2{color:#fef3c7;text-shadow:0 0 24px rgba(245,158,11,.32)}.recruit-loss-summary{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid rgba(248,113,113,.34);border-radius:16px;background:linear-gradient(180deg,#7f1d1d47,#0f172ab8);box-shadow:inset 0 0 0 1px #fecaca0a}.recruit-loss-summary strong{color:#fecaca;font-size:13px;letter-spacing:.02em}.recruit-loss-summary div{display:flex;flex-wrap:wrap;gap:7px}.recruit-loss-summary span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid rgba(252,165,165,.28);border-radius:999px;background:#02061773;color:#fee2e2;font-size:12px;font-weight:850}.recruit-loss-summary i{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:#ef444438;color:#fecaca;font-style:normal;font-weight:950}.recruit-rarity-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.recruit-rarity-summary span{padding:6px 10px;border:1px solid color-mix(in srgb,var(--rarity-color, #94a3b8) 48%,transparent);border-radius:999px;background:color-mix(in srgb,var(--rarity-color, #94a3b8) 14%,rgba(15,23,42,.78));color:color-mix(in srgb,var(--rarity-color, #94a3b8) 72%,#ffffff);font-size:12px;font-weight:850}.rarity-common{--rarity-color: #94a3b8}.rarity-uncommon{--rarity-color: #22c55e}.rarity-rare{--rarity-color: #38bdf8}.rarity-epic{--rarity-color: #c084fc}.rarity-legendary{--rarity-color: #f59e0b}.recruit-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px;perspective:1200px}.recruit-card{min-height:178px;opacity:0;transform:translateY(22px) rotateX(66deg) scale(.82);transform-style:preserve-3d;animation:recruit-card-reveal .56s cubic-bezier(.2,.95,.25,1.15) forwards;animation-delay:var(--delay, 0ms)}.recruit-card-face{position:relative;height:100%;min-height:178px;display:grid;grid-template-rows:auto 1fr auto auto auto;gap:7px;padding:12px;border:1px solid color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 62%,transparent);border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 34%,transparent),transparent 54%),linear-gradient(180deg,#1e293beb,#020617f5);box-shadow:0 0 0 1px #ffffff09 inset,0 14px 34px color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 18%,transparent)}.recruit-card-face:before{content:"";position:absolute;top:-42%;right:-70%;bottom:-42%;left:-70%;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.32) 50%,transparent 62%);transform:translate(-45%) rotate(8deg);animation:recruit-card-shine 1.2s ease-out forwards;animation-delay:calc(var(--delay, 0ms) + .18s);pointer-events:none}.recruit-card-face:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 42%,transparent);border-radius:13px;pointer-events:none}.recruit-card-face span{width:fit-content;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 22%,rgba(2,6,23,.72));color:color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 72%,#ffffff);font-size:10px;font-weight:950;letter-spacing:.08em}.recruit-card-stack{position:absolute;right:12px;top:12px;z-index:2;min-width:30px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 62%,transparent);border-radius:999px;background:#020617b8;color:#fef3c7;font-size:13px;font-weight:1000;text-align:center;box-shadow:0 0 18px color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 22%,transparent)}.recruit-card-face i{align-self:center;justify-self:center;width:54px;height:54px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 62%,transparent);border-radius:50%;background:#02061799;color:#f8fafc;font-style:normal;font-size:26px;font-weight:1000;text-shadow:0 0 18px var(--rarity, var(--rarity-color, #94a3b8));box-shadow:0 0 28px color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 26%,transparent)}.recruit-card-face .unit-card-art{position:relative;z-index:1;align-self:center;justify-self:center;width:78px;height:78px;padding:0;border:1px solid color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 62%,transparent);border-radius:22px;background-color:#02061794;background-repeat:no-repeat;background-size:200% 200%;background-position:0% 0%;box-shadow:inset 0 0 0 1px #ffffff0d,0 0 30px color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 26%,transparent)}.recruit-card-face .unit-card-art.enemy{background-color:#1e120c99}.recruit-card-face strong{position:relative;z-index:1;color:#f8fafc;font-size:14px;text-align:center}.recruit-card-face em,.recruit-card-face small{position:relative;z-index:1;color:#bfdbfe;font-style:normal;font-size:11px;line-height:1.35;text-align:center}.recruit-card-face small{color:#94a3b8}.recruit-card.rarity-rare .recruit-card-face,.recruit-card.rarity-epic .recruit-card-face,.recruit-card.rarity-legendary .recruit-card-face{animation:recruit-card-pulse 1.8s ease-in-out infinite;animation-delay:calc(var(--delay, 0ms) + .62s)}@keyframes recruit-card-reveal{0%{opacity:0;transform:translateY(24px) rotateX(72deg) scale(.82);filter:brightness(.7) saturate(.75)}55%{opacity:1;transform:translateY(-8px) rotateX(-8deg) scale(1.04);filter:brightness(1.25) saturate(1.15)}to{opacity:1;transform:translateY(0) rotateX(0) scale(1);filter:none}}@keyframes recruit-card-shine{0%{transform:translate(-52%) rotate(8deg)}to{transform:translate(62%) rotate(8deg)}}@keyframes recruit-card-pulse{0%,to{box-shadow:0 0 0 1px #ffffff09 inset,0 14px 34px color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 18%,transparent)}50%{box-shadow:0 0 0 1px color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 22%,transparent) inset,0 18px 42px color-mix(in srgb,var(--rarity, var(--rarity-color, #94a3b8)) 32%,transparent)}}.event-options,.upgrade-options{grid-template-columns:repeat(3,minmax(0,1fr))}.event-option,.upgrade-option{min-height:145px;padding:.9rem}.event-option strong,.upgrade-option strong{color:#f8fafc}.gameover{text-align:center}.achievement-backdrop{z-index:260;overflow:hidden;background:radial-gradient(circle at 50% 18%,rgba(250,204,21,.2),transparent 24rem),radial-gradient(circle at 20% 80%,rgba(56,189,248,.16),transparent 22rem),#020617c7}.achievement-modal{position:relative;text-align:center;border-color:#facc155c;box-shadow:0 0 0 1px #facc151f,0 30px 100px #000000a6}.achievement-unlock-list{display:grid;gap:12px;margin:18px 0}.achievement-unlock-card,.achievement-card{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:linear-gradient(145deg,#0f172a94,#0206175c),#0f172a75;box-shadow:inset 0 1px #ffffff0d;backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);text-align:left}.achievement-icon{position:relative;display:block;width:52px;height:52px;border:1px solid rgba(226,232,240,.24);border-radius:16px;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#ffffff29,#0f172a14),#0f172a7a;box-shadow:0 12px 28px #0000004d,inset 0 1px #ffffff42,inset 0 -18px 32px #02061733;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);flex:0 0 auto}.achievement-icon:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;z-index:0;background-image:var(--achievement-icon-url);background-repeat:no-repeat;background-size:500% 100%;background-position:var(--achievement-icon-x) 0;filter:blur(3.4px) grayscale(.7) brightness(.74);opacity:.58;transform:scale(1.08);transition:filter .18s ease,opacity .18s ease,transform .18s ease}.achievement-icon:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(130deg,rgba(255,255,255,.34),transparent 34%,transparent 62%,rgba(255,255,255,.08)),radial-gradient(circle at 22% 16%,rgba(255,255,255,.28),transparent 32px);pointer-events:none;mix-blend-mode:screen;opacity:.7}.achievement-icon.unlocked:before,.achievement-card.done .achievement-icon:before,.achievement-unlock-card .achievement-icon:before{filter:none;opacity:1;transform:scale(1)}.achievement-icon.unlocked,.achievement-card.done .achievement-icon,.achievement-unlock-card .achievement-icon{border-color:#facc157a;box-shadow:0 0 0 1px #facc151f,0 14px 34px #facc152e,inset 0 1px #ffffff57}.achievement-unlock-card strong,.achievement-card strong{display:block;color:#f8fafc}.achievement-unlock-card span,.achievement-card em,.achievement-card small{display:block;color:#cbd5e1;font-style:normal;line-height:1.45}.achievement-unlock-card small,.achievement-card span{display:inline-block;margin-top:4px;color:#fde68a;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.achievement-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.achievement-confetti i{position:absolute;top:-18px;left:calc(var(--i) * 3%);width:9px;height:16px;border-radius:3px;background:hsl(calc(var(--i) * 43),88%,62%);animation:achievement-confetti-fall calc(1.8s + (var(--i) % 8) * .17s) ease-in forwards;animation-delay:calc((var(--i) % 10) * 55ms);transform:rotate(calc(var(--i) * 21deg))}@keyframes achievement-confetti-fall{0%{transform:translate3d(0,-20px,0) rotate(0);opacity:0}12%{opacity:1}to{transform:translate3d(calc(((var(--i) % 7) - 3) * 28px),110vh,0) rotate(720deg);opacity:0}}.achievement-panel .achievement-summary{margin-bottom:14px}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.achievement-card.done{border-color:#facc1559;background:radial-gradient(circle at top left,rgba(250,204,21,.16),transparent 14rem),linear-gradient(145deg,#0f172aa8,#0206176b),#0f172a9e}.achievement-card.locked{opacity:.76}@media (max-width: 1380px){body{min-width:1060px}.dashboard{grid-template-columns:310px 1fr;grid-template-areas:"left map" "right right" "meta meta"}.right-panel{max-height:none}.meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.game-topbar{padding:.8rem 1rem}.home-screen{position:relative;display:grid;grid-template-columns:max-content 360px;gap:1rem;margin-top:1rem;min-height:calc(100vh - 7.4rem);align-items:start}.war-room{position:relative;z-index:3;justify-self:start;width:max-content;max-width:calc(100vw - 420px);padding:1rem;overflow:visible;background:radial-gradient(circle at 18% 10%,rgba(56,189,248,.12),transparent 28rem),radial-gradient(circle at 82% 35%,rgba(248,113,113,.1),transparent 25rem),#07101fd1}.map-hero-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.map-hero-head h2{margin-top:.2rem;font-size:1.35rem}.map-hero-head p{margin-top:.25rem;color:#9fb3c8}.start-button.compact{width:auto;min-width:210px;margin-top:0;padding:.85rem 1.1rem}.start-button.priority-event{color:#fff7ed;background:linear-gradient(135deg,#ef4444,#f97316 52%,#facc15);box-shadow:0 0 0 2px #fecaca38,0 18px 38px #f871715c;animation:priorityEventPulse 1.05s ease-in-out infinite alternate}@keyframes priorityEventPulse{0%{transform:translateY(0) scale(1);filter:saturate(1)}to{transform:translateY(-1px) scale(1.025);filter:saturate(1.25)}}.command-dock{position:relative;z-index:1;display:grid;grid-template-rows:auto;padding:.62rem;height:fit-content;max-height:none;align-self:start;grid-column:2;grid-row:1 / span 2}.full-panel-window{position:fixed;z-index:1000;left:.85rem;top:.85rem;bottom:.85rem;right:.85rem;min-height:0;padding:1rem;overflow:hidden;border-color:#e2e8f038;background:radial-gradient(circle at 15% 0%,rgba(103,232,249,.16),transparent 18rem),radial-gradient(circle at 86% 22%,rgba(250,204,21,.12),transparent 16rem),#02061794;backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25);animation:panel-float-in .22s cubic-bezier(.2,.85,.2,1) both}.full-panel-window .drawer-content{height:100%;max-height:none;padding-right:2.5rem;background:#02061747;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.panel-close{position:absolute;right:.85rem;top:.75rem;z-index:4;display:grid;place-items:center;width:30px;height:30px;color:#cbd5e1;border:1px solid rgba(148,163,184,.2);border-radius:50%;background:#0f172abf}.wave-preview{margin-bottom:0;padding:.75rem;border:1px solid rgba(148,163,184,.16);border-radius:1rem;background:radial-gradient(circle at 20% 0%,rgba(248,113,113,.12),transparent 12rem),#0206175c}.enemy-entry-preview{position:relative;overflow:visible!important;cursor:pointer}.enemy-entry-preview>strong{font-size:1.15rem}.enemy-entry-preview>span{margin-top:.5rem;color:#fecaca;font-size:.78rem}.enemy-entry-preview.pinned{border-color:#facc15bf;box-shadow:0 0 0 2px #facc152e,0 18px 45px #00000047}.enemy-entry-preview.pinned>span{color:#fde68a}.entry-preview-pop{position:absolute;z-index:500;right:0;top:50%;width:390px;overflow:visible;transform:translate(105%,-50%) scale(.96);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.enemy-entry-preview:hover .entry-preview-pop,.enemy-entry-preview.open .entry-preview-pop{opacity:1;pointer-events:auto;transform:translate(102%,-50%) scale(1)}.entry-preview-pop .wave-preview{box-shadow:0 22px 70px #0000008c,0 0 0 1px #67e8f929;background:radial-gradient(circle at 20% 0%,rgba(248,113,113,.16),transparent 12rem),#020617f0}.wave-preview-head,.wave-cabin-title{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.wave-preview h3{margin-top:.1rem;font-size:.96rem}.wave-preview-head b{color:#fecaca;padding:.38rem .58rem;border-radius:999px;background:#7f1d1d5c}.wave-elevator{display:grid;grid-template-columns:54px minmax(0,1fr);gap:.65rem;margin-top:.65rem;overflow:visible}.wave-buttons{position:relative;display:grid;gap:.35rem}.wave-buttons:before{content:"";position:absolute;left:50%;top:13px;bottom:13px;width:2px;transform:translate(-50%);background:linear-gradient(180deg,transparent,rgba(103,232,249,.55),transparent);pointer-events:none}.wave-buttons button{position:relative;z-index:1;display:grid;place-items:center;min-height:42px;color:#cbd5e1;border:1px solid rgba(148,163,184,.18);border-radius:.85rem;background:#0f172adb}.wave-buttons button.active{color:#07101f;border-color:#facc15db;background:linear-gradient(135deg,#facc15,#fb7185);box-shadow:0 0 0 3px #facc151f,0 10px 20px #00000040}.wave-buttons button.special-invasion{border-color:#f871718c;background:linear-gradient(135deg,#7f1d1d80,#0f172ad1);box-shadow:0 0 20px #f871711f}.wave-buttons button.special-invasion.active{color:#fff7ed;border-color:#fecacaeb;background:linear-gradient(135deg,#dc2626,#f97316)}.wave-buttons button strong{font-size:.88rem}.wave-buttons button span{font-size:.68rem;opacity:.82}.wave-cabin{min-height:220px;padding:.75rem;overflow:visible;border:1px solid rgba(103,232,249,.18);border-radius:1rem;background:linear-gradient(180deg,#0f172aeb,#020617c7);animation:elevatorCabin .22s ease both}.wave-cabin.special-invasion{border-color:#f871717a;background:radial-gradient(circle at 92% 8%,rgba(248,113,113,.2),transparent 30%),linear-gradient(180deg,#450a0abd,#020617d6);box-shadow:inset 0 0 42px #f8717114}.wave-cabin.special-invasion .preview-section-title{color:#fecaca}@keyframes elevatorCabin{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.wave-cabin-title strong{color:#f8fafc}.wave-cabin-title span,.wave-cabin small{color:#94a3b8;font-size:.76rem}.enemy-compose{display:grid;gap:.42rem;margin:.65rem 0;max-height:210px;overflow-y:auto;overscroll-behavior:contain;padding-right:.3rem;scrollbar-width:thin;scrollbar-color:rgba(103,232,249,.45) rgba(15,23,42,.35)}.enemy-compose.camp-compose{max-height:150px}.preview-section-title{display:block;margin:.55rem 0 .35rem;color:#fde68a;font-size:.76rem;font-weight:900;letter-spacing:.08em}.enemy-pill{display:grid;grid-template-columns:12px auto minmax(0,1fr) auto;align-items:center;gap:.45rem;color:#dbeafe;padding:.42rem .52rem;border:1px solid rgba(148,163,184,.14);border-radius:999px;background:#0f172aa6}.enemy-pill.elite{grid-template-columns:12px 14px auto minmax(0,1fr) auto;border-color:#facc156b;background:linear-gradient(90deg,#713f126b,#0f172ab8)}.faction-tags{display:flex;flex-wrap:wrap;gap:.28rem;margin-top:.35rem}.faction-tags span,.faction-chip{color:var(--faction);border:1px solid color-mix(in srgb,var(--faction) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--faction) 14%,rgba(15,23,42,.72));font-size:.66rem;font-style:normal;font-weight:900;line-height:1}.faction-tags span{padding:.2rem .42rem}.faction-chip{display:inline-grid;place-items:center;min-width:18px;height:18px}.faction-line{color:var(--faction)!important}.elite-star{color:#facc15;font-size:.82rem;font-style:normal;font-weight:900;text-shadow:0 0 10px rgba(250,204,21,.55)}.enemy-pill.with-tip{position:relative;z-index:1}.enemy-pill.with-tip:hover{z-index:120}.enemy-detail-tip{position:absolute;left:calc(100% + .65rem);top:50%;z-index:80;display:grid;gap:.24rem;width:285px;padding:.72rem;border:1px solid rgba(253,230,138,.28);border-radius:.85rem;background:radial-gradient(circle at 15% 0%,rgba(248,113,113,.18),transparent 9rem),#020617fa;box-shadow:0 18px 48px #0000007a;color:#dbeafe;opacity:0;pointer-events:none;transform:translate(-.25rem,-50%) scale(.97);transition:opacity .14s ease,transform .14s ease}.entry-preview-pop,.entry-preview-pop .wave-preview,.entry-preview-pop .wave-elevator,.entry-preview-pop .wave-cabin,.entry-preview-pop .enemy-compose{overflow:visible!important}.entry-preview-pop .enemy-compose{max-height:none;padding-right:0}.entry-preview-pop .enemy-pill.with-tip{z-index:1000}.entry-preview-pop .enemy-detail-tip{z-index:3000}.entry-preview-pop .enemy-detail-tip{left:auto;right:0;top:calc(100% + .42rem);z-index:900;transform:translateY(-.2rem) scale(.97)}.enemy-pill.with-tip:hover .enemy-detail-tip{opacity:1;transform:translateY(-50%) scale(1)}.entry-preview-pop .enemy-pill.with-tip:hover .enemy-detail-tip{transform:translate(0) scale(1)}.enemy-detail-tip b{color:#fde68a;font-size:.9rem}.enemy-detail-tip span,.enemy-detail-tip em{color:#cbd5e1;font-size:.72rem;line-height:1.45;white-space:normal}.enemy-detail-tip em{color:#93c5fd}.enemy-pill i{width:10px;height:10px;border-radius:50%;box-shadow:0 0 12px currentColor}.enemy-pill span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.enemy-pill b{color:#fecaca;font-size:.78rem}.enemy-pill.camp{border-color:#fb718559;background:#7f1d1d38}.dock-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.48rem;margin-bottom:0}.dock-button{position:relative;display:grid;grid-template-columns:2.1rem minmax(0,1fr);align-items:center;gap:.48rem;min-height:0;color:#dbeafe;text-align:left;padding:.46rem .52rem;border:1px solid color-mix(in srgb,var(--dock-accent, #60a5fa) 18%,rgba(148,163,184,.16));border-radius:.95rem;background:radial-gradient(circle at 14% 18%,color-mix(in srgb,var(--dock-accent, #60a5fa) 18%,transparent),transparent 3.2rem),#0f172ab8;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.dock-button:hover,.dock-button.active{border-color:color-mix(in srgb,var(--dock-accent, #facc15) 74%,rgba(255,255,255,.18));background:radial-gradient(circle at 16% 20%,color-mix(in srgb,var(--dock-accent, #facc15) 30%,transparent),transparent 3.6rem),linear-gradient(180deg,color-mix(in srgb,var(--dock-accent, #facc15) 20%,rgba(15,23,42,.86)),#0f172ae0);transform:translateY(-1px)}.dock-button:active{transform:translateY(1px) scale(.96)}.dock-button.active{animation:dock-pop .22s cubic-bezier(.2,.85,.2,1)}.dock-button.attention:not(.active){border-color:#22c55e8c;box-shadow:0 0 0 3px #22c55e1f,0 0 22px #22c55e1a}.dock-button.attention:not(.active):after{content:"!";position:absolute;right:.45rem;top:.35rem;display:grid;place-items:center;width:16px;height:16px;color:#052e16;border-radius:50%;background:#86efac;font-size:.72rem;font-weight:900}.dock-icon{width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:.72rem;background:linear-gradient(145deg,color-mix(in srgb,var(--dock-accent, #60a5fa) 46%,rgba(15,23,42,.8)),#02061799);box-shadow:inset 0 1px #ffffff29,0 8px 18px color-mix(in srgb,var(--dock-accent, #60a5fa) 20%,transparent);font-size:1.08rem;line-height:1}.dock-copy{display:grid;gap:.08rem;min-width:0}.dock-button strong{font-size:.76rem;line-height:1.15}.dock-copy>span{color:#94a3b8;font-size:.58rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-content{min-height:0;overflow:auto;padding:.85rem;border:1px solid rgba(148,163,184,.14);border-radius:1rem;background:linear-gradient(145deg,#0f172a6b,#02061747),#02061752;backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%)}.drawer-content .subcard{margin-top:0;background:transparent;border:0;padding:0}.drawer-content .subcard+.subcard{margin-top:.85rem;padding-top:.85rem;border-top:1px solid rgba(148,163,184,.12)}.action-grid.vertical{grid-template-columns:1fr}.build-picker{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:.65rem;margin-bottom:.85rem}.build-card{display:grid;grid-template-columns:42px 1fr auto;grid-template-areas:"icon title cost" "icon desc desc" "icon missing missing";align-items:center;gap:.2rem .65rem;color:#e5edf7;text-align:left;padding:.78rem;border:1px solid rgba(148,163,184,.16);border-radius:.95rem;background:#0f172ac7}.build-card.insufficient{border-color:#f8717152}.build-card.insufficient:disabled{opacity:.86}.build-card:hover,.build-card.selected{border-color:#67e8f9b8;background:linear-gradient(180deg,#0e74906b,#0f172adb)}.build-card .building-icon{grid-area:icon}.build-card strong{grid-area:title}.build-card span:not(.building-icon):not(.building-sprite-icon){grid-area:cost;color:#fde68a;font-size:.72rem}.build-card small{grid-area:desc}.missing-cost{grid-area:missing;color:#f87171;font-size:.78rem;font-style:normal;font-weight:800}.building-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:.75rem;color:#06111f;font-size:1.15rem;font-weight:900;background:#bae6fd;box-shadow:inset 0 -5px 10px #00000038,0 8px 18px #0003}.building-icon.wall{background:linear-gradient(135deg,#cbd5e1,#64748b)}.building-icon.turret{background:linear-gradient(135deg,#67e8f9,#0f766e)}.building-icon.watchtower{background:linear-gradient(135deg,#fef3c7,#92400e)}.building-icon.mortar{background:linear-gradient(135deg,#fdba74,#9a3412)}.building-icon.tesla{background:linear-gradient(135deg,#99f6e4,#0f766e)}.building-icon.mine{background:linear-gradient(135deg,#fca5a5,#991b1b)}.building-icon.depot{background:linear-gradient(135deg,#fde68a,#a16207)}.building-icon.farm{background:linear-gradient(135deg,#bbf7d0,#15803d)}.building-icon.lab{background:linear-gradient(135deg,#ddd6fe,#7e22ce)}.building-icon.barracks{background:linear-gradient(135deg,#fef3c7,#d97706)}.strategy-map.defense-map{width:max-content;max-width:calc(100vw - 450px);grid-template-columns:126px repeat(4,168px) 126px;grid-auto-rows:minmax(0,1fr);align-items:stretch;justify-content:center;gap:clamp(.55rem,.8vw,.85rem);height:clamp(470px,58vh,590px);min-height:470px;padding:1rem;overflow:visible;border:1px solid rgba(148,163,184,.18);background:linear-gradient(90deg,rgba(37,99,235,.26),transparent 16%),linear-gradient(90deg,transparent 0,transparent 88%,rgba(248,113,113,.18)),repeating-linear-gradient(0deg,rgba(103,232,249,.07) 0,rgba(103,232,249,.07) 1px,transparent 1px,transparent 56px),repeating-linear-gradient(90deg,rgba(148,163,184,.05) 0,rgba(148,163,184,.05) 1px,transparent 1px,transparent 74px),linear-gradient(135deg,#0f172ae6,#020617f0)}.ally-preview-layer{position:absolute;top:1.2rem;right:1.2rem;bottom:1.2rem;left:1.2rem;z-index:12;pointer-events:none}.ally-map-token{position:absolute;display:grid;place-items:center;width:30px;height:30px;transform:translate(-50%,-50%);border:2px solid rgba(219,234,254,.75);border-radius:50%;background:radial-gradient(circle at 35% 30%,#bfdbfe,#2563eb 70%);box-shadow:0 8px 18px #2563eb47,0 0 0 4px #2563eb1f;transition:left 1.2s cubic-bezier(.2,.85,.2,1),top 1.2s cubic-bezier(.2,.85,.2,1),transform .16s ease;animation:ally-map-wander var(--wander-time, 3.6s) ease-in-out infinite alternate}.ally-map-token span{color:#eff6ff;font-size:.78rem;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.5)}.ally-map-token:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:1px dashed rgba(147,197,253,.35);border-radius:50%}.ally-map-token.down{filter:grayscale(.85);opacity:.58;border-color:#f87171d9;background:radial-gradient(circle at 35% 30%,#fecaca,#7f1d1d 70%);box-shadow:0 0 0 4px #f871711f,0 8px 18px #7f1d1d47}.ally-map-token.down:before{content:"!";position:absolute;right:-6px;top:-9px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#ef4444;color:#fff;font-size:.7rem;font-weight:900}@keyframes ally-map-wander{0%{margin-left:calc(var(--wander-x, 0px) * -.35);margin-top:calc(var(--wander-y, 0px) * -.35)}to{margin-left:var(--wander-x, 0px);margin-top:var(--wander-y, 0px)}}@keyframes panel-float-in{0%{opacity:0;transform:translateY(16px) scale(.985);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes dock-pop{0%{transform:scale(.96)}62%{transform:scale(1.04)}to{transform:scale(1)}}.strategy-map .base-block,.strategy-map .enemy-entry,.strategy-map .defense-layer{min-height:100%;width:100%;box-sizing:border-box;border-radius:1.1rem}.strategy-map .base-block,.strategy-map .enemy-entry{align-self:stretch;min-height:100%}.strategy-map .defense-layer{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;align-self:stretch;height:100%;background:linear-gradient(180deg,rgba(250,204,21,.06),transparent),#0f172a8a}.strategy-map .defense-layer:before{content:"";position:absolute;inset:4.8rem auto 1.35rem 50%;width:2px;border-radius:999px;background:linear-gradient(180deg,transparent,rgba(250,204,21,.65),transparent);pointer-events:none}.strategy-map .lane-dots{display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:.48rem;min-height:0;height:100%;width:100%;box-sizing:border-box;margin-top:.55rem}.strategy-map .lane-dot.slot{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;height:auto;width:100%;box-sizing:border-box;color:#cbd5e1;border:1px dashed rgba(148,163,184,.32);border-radius:1rem;background:radial-gradient(circle at 50% 50%,#020617b3,#0f172a57),#94a3b812;box-shadow:inset 0 8px 18px #00000054;padding:.25rem;transition:.15s ease}.slot-building{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.25rem;width:100%;min-height:48px;padding:.18rem .24rem;border-radius:.82rem;background:linear-gradient(90deg,color-mix(in srgb,var(--building-color, #67e8f9) 20%,rgba(2,6,23,.86)),#0206178a);border:1px solid color-mix(in srgb,var(--building-color, #67e8f9) 34%,transparent)}.slot-building .building-sprite-icon.map-slot{width:44px;height:44px;grid-area:auto}.slot-building b{color:#f8fafc;font-size:.72rem}.slot-upgrade{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;color:#07101f;background:#facc15;font-weight:950}.base-block .building-sprite-icon.map-base{width:92px;height:92px;grid-area:auto;margin:-.2rem auto .25rem}.strategy-map .lane-dot.slot:hover,.strategy-map .lane-dot.slot.selected{border-style:solid;border-color:#67e8f9d9;box-shadow:inset 0 8px 18px #00000054,0 0 0 3px #67e8f91a;transform:translateY(-1px)}.strategy-map .lane-dot.slot.occupied{border-style:solid;background:#0f172ab3}.strategy-map .lane-dot.slot.outside-map,.build-card.outside-map{border-color:#f8717180;background:#7f1d1d2e;opacity:.62}.empty-slot{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:#cbd5e1b8;font-size:1.5rem;border:1px solid rgba(148,163,184,.2)}.map-building{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem;width:100%!important;min-width:92px!important;min-height:46px!important;height:auto!important;margin:0!important;color:#e5edf7!important;border-radius:.85rem!important;background:#0206179e!important;border:1px solid rgba(148,163,184,.16);padding:.24rem .42rem}.map-building.level-2{border-color:#93c5fd80;background:linear-gradient(90deg,#3b82f638,#020617a3)!important;box-shadow:0 0 0 1px #93c5fd1a,0 8px 20px #2563eb1f}.map-building.level-3{border-color:#facc159e;background:linear-gradient(90deg,#facc1547,#581c8738,#020617a8)!important;box-shadow:0 0 0 1px #facc1529,0 10px 28px #facc1524}.map-upgrade{display:inline-grid;place-items:center;width:22px;height:22px;color:#07101f;border-radius:50%;background:#facc15;font-weight:900}.map-max{display:inline-grid;place-items:center;min-width:30px;height:20px;padding:0 .25rem;color:#fef3c7;border-radius:999px;background:#facc152e;border:1px solid rgba(250,204,21,.35);font-size:.62rem;font-weight:900}.map-building .building-icon{width:28px;height:28px;border-radius:.6rem;font-size:.9rem}.map-building em{display:grid;gap:.22rem;color:#e5edf7;font-size:.72rem;font-style:normal}.map-building-hp{display:block;width:100%;height:5px;overflow:hidden;border-radius:999px;background:#0f172af2;border:1px solid rgba(148,163,184,.18)}.map-building-hp i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef4444,#facc15,#22c55e)}.map-footer-strip{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.8rem}.map-footer-strip span{color:#cbd5e1;padding:.5rem .72rem;border:1px solid rgba(148,163,184,.14);border-radius:999px;background:#0f172aa8;font-size:.82rem}.map-footer-strip b{color:#f8fafc}.drawer-content .weapon-row,.drawer-content .meta-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.drawer-content .weapon-chip,.drawer-content .meta-card{min-height:auto}@media (max-width: 1380px){.home-screen{grid-template-columns:1fr}.command-dock{grid-column:1;grid-row:auto;max-height:none}.full-panel-window{position:relative;inset:auto;grid-column:1;grid-row:auto;min-height:520px}.dock-buttons{grid-template-columns:repeat(5,minmax(0,1fr))}.build-picker{grid-template-columns:1fr}}.skirmish-counts{display:grid;grid-template-columns:repeat(2,minmax(120px,180px));gap:.7rem;align-items:end}.skirmish-counts label{display:grid;gap:.3rem;color:#cbd5e1;font-size:.82rem}.skirmish-counts input{width:100%;border:1px solid rgba(148,163,184,.24);border-radius:.75rem;background:#02061794;color:#f8fafc;padding:.55rem .7rem;outline:none}.skirmish-counts input:focus{border-color:#5eead4a6;box-shadow:0 0 0 3px #2dd4bf1f}.map-route-preview{display:grid;gap:.45rem;padding:.65rem;border:1px solid rgba(148,163,184,.16);border-radius:.9rem;background:#0f172a70}.map-route-title{display:flex;justify-content:space-between;gap:.8rem;color:#e2e8f0;font-size:.8rem}.map-route-title span{color:#94a3b8;text-align:right}.mini-map{position:relative;height:96px;overflow:hidden;border:1px solid rgba(56,189,248,.18);border-radius:.8rem;background:linear-gradient(90deg,rgba(148,163,184,.05) 1px,transparent 1px) 0 0 / 34px 34px,linear-gradient(0deg,rgba(148,163,184,.05) 1px,transparent 1px) 0 0 / 34px 34px,#020617b8}.mini-corridor{position:absolute;border-radius:999px;background:#1e40af8c;border:1px solid rgba(103,232,249,.28);box-shadow:inset 0 0 18px #38bdf821}.mini-base{position:absolute;left:1.6%;top:50%;transform:translateY(-50%);padding:.22rem .38rem;border-radius:.45rem;background:#2563ebc7;color:#dbeafe;font-size:.68rem;z-index:2}.mini-entry{position:absolute;z-index:3;display:grid;place-items:center;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:999px;background:#ef4444e6;color:#fee2e2;font-style:normal;font-weight:900;box-shadow:0 0 18px #ef444473}.mini-entry.east{transform:rotate(180deg)}.mini-entry.north{transform:rotate(90deg)}.mini-entry.south{transform:rotate(-90deg)}.battle-start-tools{display:flex;align-items:end;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.map-select{display:grid;gap:.25rem;min-width:150px;color:#cbd5e1;font-size:.78rem}.map-select select,.skirmish-counts select{border:1px solid rgba(148,163,184,.24);border-radius:.75rem;background:#020617ad;color:#f8fafc;padding:.55rem .7rem;outline:none}.campaign-world-panel{display:grid;gap:18px}.campaign-world-panel.full-map{gap:0;padding:0;min-height:calc(100vh - 9rem);overflow:hidden}.campaign-world-grid{display:grid;grid-template-columns:minmax(720px,1.55fr) minmax(320px,.72fr);gap:16px;align-items:stretch}.campaign-world-panel.full-map .campaign-world-grid{display:block;min-height:calc(100vh - 9rem)}.campaign-map-board{position:relative;min-height:620px;overflow:hidden;border:1px solid rgba(103,232,249,.22);border-radius:28px;background:radial-gradient(circle at 14% 54%,rgba(20,184,166,.28),transparent 18%),radial-gradient(circle at 75% 18%,rgba(192,132,252,.26),transparent 20%),radial-gradient(circle at 72% 78%,rgba(251,113,133,.22),transparent 22%),radial-gradient(circle at 54% 88%,rgba(163,230,53,.18),transparent 20%),radial-gradient(circle at 92% 60%,rgba(96,165,250,.2),transparent 18%),linear-gradient(135deg,#020617fa,#0f172af2);box-shadow:inset 0 0 80px #0ea5e91f,0 24px 80px #00000047}.campaign-world-panel.full-map .campaign-map-board{min-height:calc(100vh - 9rem);height:calc(100vh - 9rem);border-radius:1.25rem}.campaign-detail-overlay{position:absolute;right:18px;top:18px;bottom:18px;z-index:30;width:min(440px,36%);min-width:360px;align-content:start;overflow:auto;overscroll-behavior:contain;padding:44px 10px 10px;border:1px solid rgba(147,197,253,.22);border-radius:24px;background:#0206176b;box-shadow:0 24px 80px #00000073;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.campaign-detail-close{position:absolute;right:12px;top:10px;z-index:2}@media (max-width: 1300px){.campaign-detail-overlay{width:min(420px,46%);min-width:330px}}.campaign-tilemap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#0f172a}.campaign-tilemap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 12% 50%,rgba(34,211,238,.12),transparent 22%),radial-gradient(circle at 82% 18%,rgba(248,113,113,.14),transparent 24%),linear-gradient(90deg,rgba(14,165,233,.16),transparent 34%,transparent 65%,rgba(239,68,68,.16)),radial-gradient(circle at center,transparent 58%,rgba(2,6,23,.62));mix-blend-mode:screen}.campaign-map-tile{position:absolute;background-repeat:no-repeat;background-size:200% 200%;image-rendering:auto;opacity:.92}.campaign-map-tile.f1{transform:scaleX(-1)}.campaign-map-tile.f2{transform:scaleY(-1)}.campaign-map-tile.f3{transform:scale(-1)}.campaign-route-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.22;z-index:1;pointer-events:none;background-image:linear-gradient(rgba(103,232,249,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(103,232,249,.12) 1px,transparent 1px),radial-gradient(circle,rgba(226,232,240,.16) 1px,transparent 1.5px);background-size:46px 46px,46px 46px,34px 34px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 92%);mask-image:radial-gradient(circle at center,black,transparent 92%)}.campaign-site,.campaign-party{position:absolute;transform:translate(-50%,-50%);border:0;cursor:pointer;font-family:inherit}.campaign-site{width:94px;min-height:86px;display:grid;grid-template-rows:61px auto;place-items:center;gap:2px;padding:5px 6px 7px;border-radius:18px;color:#e0f2fe;background:linear-gradient(180deg,#0f172a33,#020617b8);outline:1px solid color-mix(in srgb,var(--faction, #67e8f9) 45%,transparent);box-shadow:0 14px 30px #00000057,0 0 26px color-mix(in srgb,var(--faction, #67e8f9) 22%,transparent);transition:transform .18s ease,outline-color .18s ease,background .18s ease,filter .18s ease;z-index:4}.campaign-site:hover,.campaign-site.selected{transform:translate(-50%,-50%) scale(1.08);background:linear-gradient(180deg,#082f4947,#082f49db);outline-color:var(--faction, #67e8f9);z-index:5}.campaign-site strong{width:65px;height:59px;display:block;background-image:var(--site-icon);background-size:300% 300%;background-position:calc(var(--site-col) * 50%) calc(var(--site-row) * 50%);background-repeat:no-repeat;filter:drop-shadow(0 10px 12px rgba(0,0,0,.48)) drop-shadow(0 0 10px color-mix(in srgb,var(--faction, #67e8f9) 28%,transparent))}.campaign-site span{max-width:98px;padding:3px 6px;color:#f8fafc;font-size:11px;font-weight:900;line-height:1.1;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.9);border-radius:999px;background:#0206179e}.campaign-site span small{display:block;color:color-mix(in srgb,var(--faction, #67e8f9) 70%,#fef3c7 30%);font-size:9px;letter-spacing:.08em}.campaign-site em{position:absolute;right:-7px;top:-7px;width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:var(--faction, #fb7185);color:#020617;font-style:normal;font-size:12px;font-weight:950}.campaign-site.player,.campaign-site.base{--faction: #5eead4}.campaign-site.neutral{filter:saturate(.78)}.campaign-site.headquarters{width:112px;min-height:99px;outline-color:color-mix(in srgb,var(--faction, #fb7185) 70%,#fef3c7 30%);background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--faction, #fb7185) 35%,transparent),transparent 58%),#18081ce6;box-shadow:0 0 0 2px color-mix(in srgb,var(--faction, #fb7185) 30%,transparent),0 16px 34px #0000005c}.campaign-site.headquarters strong{width:79px;height:72px;filter:drop-shadow(0 12px 15px rgba(0,0,0,.58)) drop-shadow(0 0 18px color-mix(in srgb,var(--faction, #fb7185) 42%,transparent))}.campaign-site.headquarters span:after{content:" 大本营";display:block;color:#fef3c7;font-size:9px;letter-spacing:.08em}.campaign-party{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:var(--faction, #fb7185);color:#020617;font-weight:950;box-shadow:0 0 0 6px color-mix(in srgb,var(--faction, #fb7185) 18%,transparent),0 8px 24px #00000059;animation:campaign-party-pulse 1.35s ease-in-out infinite;z-index:8}.campaign-party.arrived{background:#ef4444;box-shadow:0 0 0 8px #ef444433,0 0 34px #f87171bf}.campaign-party.selected{outline:3px solid #fef3c7;box-shadow:0 0 0 9px color-mix(in srgb,var(--faction, #fb7185) 26%,transparent),0 0 38px #fef3c7b8}.campaign-party-eta{position:absolute;left:50%;top:calc(100% + 7px);transform:translate(-50%);white-space:nowrap;color:#fef3c7;font-size:10px;font-weight:950;line-height:1;padding:4px 6px;border:1px solid rgba(254,243,199,.38);border-radius:999px;background:#020617e6;box-shadow:0 8px 18px #0000005c}@keyframes campaign-party-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.14)}}.campaign-side,.campaign-card,.invasion-list{display:grid;gap:12px}.campaign-card{padding:16px;border:1px solid rgba(148,163,184,.18);border-radius:22px;background:#0f172abd}.campaign-card h3{margin:4px 0 6px}.selected-site-title-row{display:grid;grid-template-columns:minmax(160px,auto) minmax(0,1fr);gap:12px;align-items:start}.selected-site-title-row h3{min-width:0}.campaign-title-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0}.campaign-title-badges span{max-width:min(560px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dbeafe;font-size:11px;font-weight:850;padding:5px 8px;border:1px solid rgba(147,197,253,.18);border-radius:999px;background:#1e40af33}.campaign-card p,.campaign-card span,.campaign-card small{color:#bfdbfe}.campaign-tags,.campaign-summary,.campaign-list-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.campaign-tags span,.campaign-summary span{padding:5px 8px;border-radius:999px;background:#2563eb29;color:#dbeafe;font-size:12px;font-weight:800}.campaign-site-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.campaign-site-actions button{flex:1 1 140px}.encounter-odds{display:grid;gap:3px;margin-top:4px;padding:10px 12px;border:1px solid rgba(94,234,212,.22);border-radius:16px;background:radial-gradient(circle at 8% 50%,rgba(94,234,212,.18),transparent 32%),#02061761}.encounter-odds strong{color:#fef3c7;font-size:24px;letter-spacing:.06em}.encounter-odds small{color:#bfdbfe;line-height:1.35}.sortie-composer{display:grid;gap:10px;margin-top:6px;padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:#02061757}.sortie-head,.sortie-actions{display:flex;justify-content:space-between;gap:10px;align-items:center}.sortie-head strong{color:#f8fafc}.sortie-odds{display:grid;justify-items:end;color:#bfdbfe;font-size:12px}.sortie-odds b{color:#fef3c7;font-size:20px}.sortie-actions{justify-content:flex-start}.sortie-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sortie-columns>div,.sortie-ally-list{display:grid;gap:7px}.sortie-columns b,.sortie-ally-list b{color:#dbeafe;font-size:13px}.sortie-unit-list{display:grid;gap:6px;max-height:300px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}.sortie-unit-row{display:grid;grid-template-columns:minmax(0,1fr) auto 58px;gap:8px;align-items:center;padding:7px;border:1px solid rgba(148,163,184,.12);border-radius:13px;background:#0f172a80}.sortie-unit-row span{display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:center;color:#e0f2fe;font-size:12px;font-weight:850}.sortie-unit-row span small{grid-column:2;color:#93c5fd;font-size:11px;font-weight:600}.sortie-unit-row i{grid-row:span 2;width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#3b82f64d;color:#dbeafe;font-style:normal}.sortie-unit-row.merc i{background:#f59e0b47;color:#fef3c7}.sortie-unit-row em{color:#fef3c7;font-style:normal;font-weight:900}.sortie-unit-row input{min-width:0;border:1px solid rgba(148,163,184,.2);border-radius:9px;background:#020617b8;color:#f8fafc;padding:5px 6px}.sortie-ally-list>div{display:flex;flex-wrap:wrap;gap:6px;max-height:125px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}.sortie-ally{border:1px solid rgba(147,197,253,.18);border-radius:999px;background:#1e40af29;color:#bfdbfe;padding:6px 9px;font-size:12px}.sortie-ally.selected{border-color:#facc15b3;background:#713f1280;color:#fef3c7}.sortie-hint{color:#93c5fd;line-height:1.35}.site-fort-preview{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(248,113,113,.22);border-radius:16px;background:linear-gradient(135deg,#7f1d1d33,#0f172a9e)}.site-fort-preview.owned{border-color:#60a5fa3d;background:linear-gradient(135deg,#1e40af2e,#0f172a9e)}.site-fort-preview strong{color:#fef3c7;font-size:14px}.site-fort-preview small{color:#bfdbfe;line-height:1.35}.outpost-defense-panel{display:grid;gap:10px;padding:12px;border:1px solid rgba(96,165,250,.18);border-radius:18px;background:#02061752}.outpost-map{display:grid;gap:7px}.outpost-layer{display:grid;grid-template-columns:88px 1fr;gap:8px;align-items:center}.outpost-layer strong{color:#dbeafe;font-size:12px}.outpost-map .lane-dots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.outpost-map .lane-dot.slot{display:grid;place-items:center;min-height:34px;color:#cbd5e1;border:1px dashed rgba(148,163,184,.3);border-radius:12px;background:#0f172a94;padding:3px}.outpost-map .lane-dot.slot.selected{border-style:solid;border-color:#67e8f9d9;box-shadow:0 0 0 3px #67e8f91a}.outpost-map .lane-dot.slot.occupied{border-style:solid;border-color:#facc1557}.outpost-map .lane-dot.slot.outside-map{border-color:#f8717180;opacity:.55}.outpost-build-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.build-card.mini{grid-template-columns:30px 1fr;grid-template-areas:"icon title" "icon cost";padding:8px;min-height:0}.outpost-development-panel{background:radial-gradient(circle at 18% 18%,rgba(96,165,250,.14),transparent 12rem),#02061761}.outpost-yields{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid rgba(250,204,21,.18);border-radius:14px;background:#713f122e}.outpost-yields span{color:#fef3c7;font-size:12px}.outpost-yields b{color:#fde68a}.outpost-city-core{display:grid;grid-template-columns:minmax(145px,.55fr) minmax(0,1fr);gap:10px}.outpost-command-node{display:grid;align-content:center;gap:6px;min-height:170px;padding:14px;border:1px solid rgba(94,234,212,.2);border-radius:22px;background:radial-gradient(circle at 50% 26%,rgba(94,234,212,.18),transparent 58%),linear-gradient(180deg,#082f498a,#020617b3);text-align:center}.outpost-command-node strong{color:#ccfbf1;font-size:18px}.outpost-command-node span,.outpost-command-node small{color:#93c5fd;line-height:1.35}.outpost-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.outpost-dev-slot,.outpost-build-card{display:grid;gap:5px;align-content:start;min-height:82px;padding:10px;border:1px dashed rgba(148,163,184,.28);border-radius:16px;background:#0f172a8c;color:#dbeafe;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease}.outpost-dev-slot:hover,.outpost-dev-slot.selected,.outpost-build-card:hover,.outpost-build-card.selected{transform:translateY(-1px);border-style:solid;border-color:var(--slot-color, #67e8f9);background:color-mix(in srgb,var(--slot-color, #67e8f9) 12%,rgba(15,23,42,.72))}.outpost-dev-slot.occupied{border-style:solid;border-color:color-mix(in srgb,var(--slot-color, #67e8f9) 52%,transparent)}.outpost-dev-slot i,.outpost-build-card i{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:var(--slot-color, #67e8f9);color:#020617;font-style:normal;font-weight:1000}.outpost-dev-slot strong,.outpost-build-card strong{color:#f8fafc;font-size:13px}.outpost-dev-slot span,.outpost-build-card span,.outpost-build-card small{color:#bfdbfe;font-size:11px;line-height:1.35}.outpost-development-picker{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.outpost-build-card{border-style:solid;border-color:color-mix(in srgb,var(--slot-color, #67e8f9) 34%,transparent);min-height:124px}.outpost-build-card.insufficient{opacity:.46}.outpost-building-detail p{color:#94a3b8;font-size:12px;line-height:1.42}.build-card.mini small,.build-card.mini .missing-cost{display:none}.campaign-summary b{color:#fef3c7;font-size:24px}.campaign-pressure-list{display:grid;gap:8px;margin-top:4px}.campaign-pressure-row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;padding:8px 10px;border:1px solid rgba(148,163,184,.14);border-radius:14px;background:#02061757}.campaign-pressure-row span{display:flex;gap:7px;align-items:center;color:#e0f2fe;font-size:12px;font-weight:900}.campaign-pressure-row span i{width:11px;height:11px;border-radius:999px;background:var(--faction, #67e8f9);box-shadow:0 0 12px var(--faction, #67e8f9)}.campaign-pressure-row b{color:#fef3c7;font-size:12px}.campaign-pressure-row em{grid-column:1 / -1;height:6px;overflow:hidden;border-radius:999px;background:#0f172ae6}.campaign-pressure-row em:after{content:"";display:block;width:var(--pressure, 40%);height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--faction, #67e8f9) 45%,transparent),var(--faction, #67e8f9))}.campaign-party-list{display:grid;gap:10px}.campaign-party-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:#0206176b}.campaign-party-row.danger{border-color:#f871718c;background:#7f1d1d3d}.campaign-party-row i{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;color:#020617;font-style:normal;font-weight:950}.campaign-party-row div{display:grid;gap:2px}.campaign-party-row span{color:#bfdbfe;font-size:12px}.campaign-composition{display:block;max-height:4.8rem;overflow-y:auto;overscroll-behavior:contain;color:#e0f2fe;font-size:12px;line-height:1.35;padding-right:4px;white-space:normal;overflow-wrap:anywhere;scrollbar-width:thin}.campaign-sortie-setup{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid rgba(94,234,212,.22);border-radius:18px;background:#0f172a8f}.campaign-sortie-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.campaign-sortie-head strong{color:#f8fafc}.campaign-sortie-head span{color:#99f6e4;font-size:12px;font-weight:850}.sortie-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:grid;place-items:center;padding:24px;background:#020617ad;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.sortie-modal{position:relative;display:grid;gap:14px;width:min(1080px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;padding:18px;border:1px solid rgba(148,163,184,.24);border-radius:24px;background:radial-gradient(circle at 14% 0%,rgba(103,232,249,.16),transparent 18rem),radial-gradient(circle at 86% 22%,rgba(250,204,21,.12),transparent 16rem),#020617f0;box-shadow:0 24px 90px #00000080}.sortie-modal-close{right:14px;top:14px}.sortie-modal-head{display:flex;justify-content:space-between;gap:18px;padding-right:42px}.sortie-modal-head h3{margin:4px 0;color:#f8fafc}.sortie-modal-head p{color:#bfdbfe}.sortie-modal-score{display:grid;justify-items:end;align-content:center;color:#99f6e4}.sortie-modal-score b{color:#fef3c7;font-size:34px;line-height:1}.sortie-modal-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sortie-modal-info>div{display:grid;gap:4px;min-width:0;padding:12px;border:1px solid rgba(148,163,184,.14);border-radius:16px;background:#0f172a94}.sortie-modal-info strong{color:#f8fafc}.sortie-modal-info small{max-height:5.5rem;overflow:auto;color:#bfdbfe;overflow-wrap:anywhere}.sortie-modal-actions{justify-content:flex-end}.skirmish-panel{display:grid;gap:16px}.campaign-real-body{display:grid;gap:14px;padding:16px;border:1px solid rgba(94,234,212,.18);border-radius:22px;background:linear-gradient(135deg,#0d94881f,#0f172ab8)}.campaign-real-copy{display:grid;gap:4px}.campaign-real-copy strong{color:#f8fafc}.campaign-real-copy span{color:#bfdbfe;font-size:13px}.campaign-start-battle{width:fit-content}.skirmish-lite{margin-top:2px;padding-top:14px;border-top:1px solid rgba(148,163,184,.14)}.skirmish-leaderboard{display:grid;gap:10px;padding:14px}.skirmish-leaderboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.skirmish-leaderboard-head>div:first-child{display:grid;gap:4px}.skirmish-leaderboard-head strong{color:#f8fafc}.skirmish-leaderboard-head span{color:#bfdbfe;font-size:13px}.skirmish-leaderboard-scroll{max-height:300px;overflow:auto;border-radius:12px;border:1px solid rgba(148,163,184,.12)}@media (max-width: 980px){.campaign-world-grid{grid-template-columns:1fr}.campaign-map-board{min-height:520px}.outpost-city-core{grid-template-columns:1fr}}.troop-pool-panel{display:grid;gap:14px}.troop-pool-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.troop-pool-summary>div{display:grid;gap:3px;padding:11px 12px;border:1px solid rgba(147,197,253,.16);border-radius:16px;background:linear-gradient(180deg,#1e40af2e,#0206177a)}.troop-pool-summary span,.troop-section-head small{color:#93c5fd;font-size:12px}.troop-pool-summary b{color:#fef3c7;font-size:22px}.troop-section-head{display:flex;justify-content:space-between;gap:12px;align-items:end}.troop-section-head h3{margin:2px 0 0;color:#f8fafc;font-size:18px}.troop-pool-grid,.training-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.troop-pool-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid rgba(96,165,250,.2);border-radius:16px;background:#0f172a94}.troop-pool-card.merc{border-color:#f59e0b42;background:#451a0333}.troop-pool-card i{grid-row:span 2;width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:#3b82f647;color:#dbeafe;font-style:normal;font-weight:950}.troop-pool-card .unit-card-art{grid-row:span 2;width:46px;height:46px;border:1px solid rgba(147,197,253,.35);border-radius:14px;background-color:#0206178c;background-repeat:no-repeat;background-size:200% 200%;background-position:0% 0%;box-shadow:inset 0 0 0 1px #ffffff0a,0 8px 18px #0f172a57}.troop-pool-card .unit-card-art.enemy{border-color:#fb923c66}.troop-pool-card.merc i{background:#f59e0b47;color:#fef3c7}.troop-pool-card strong{color:#e0f2fe;font-size:13px}.troop-pool-card span,.troop-pool-card small{color:#93c5fd;font-size:11px}.troop-pool-card b{color:#fef3c7;font-size:18px}.troop-pool-card small{grid-column:2 / -1}.training-preview-panel{display:grid;gap:10px;padding-top:8px;border-top:1px solid rgba(148,163,184,.12)}.training-preview-card{display:grid;gap:4px;padding:10px;border:1px solid rgba(45,212,191,.2);border-radius:16px;background:linear-gradient(135deg,#0d948821,#0f172a94)}.training-preview-card.merc{border-color:#fbbf243d;background:linear-gradient(135deg,#92400e29,#0f172a94)}.training-preview-card span{color:#94a3b8;font-size:11px}.training-preview-card strong{color:#ccfbf1;font-size:13px}.training-preview-card b{color:#fef3c7;font-size:15px}.training-preview-card small{color:#bfdbfe;font-size:11px}.sortie-unit-row.slider{grid-template-columns:minmax(0,1fr) auto}.sortie-unit-row.slider em{display:flex;gap:2px;align-items:baseline;justify-content:flex-end;min-width:48px}.sortie-unit-row.slider em b{color:#fef3c7;font-size:17px}.sortie-unit-row.slider em small{color:#93c5fd;font-size:11px}.sortie-unit-row.slider input[type=range]{grid-column:1 / -1;width:100%;height:7px;padding:0;border:0;border-radius:999px;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:ew-resize;background:linear-gradient(90deg,#facc15 0 var(--fill),rgba(30,64,175,.42) var(--fill) 100%);outline:none}.sortie-unit-row.slider.merc input[type=range]{background:linear-gradient(90deg,#fb923c 0 var(--fill),rgba(120,53,15,.5) var(--fill) 100%)}.sortie-unit-row.slider input[type=range]::-webkit-slider-thumb{width:18px;height:18px;border:2px solid #020617;border-radius:50%;background:#fef3c7;box-shadow:0 0 0 3px #facc1538;-webkit-appearance:none}.sortie-unit-row.slider input[type=range]::-moz-range-thumb{width:16px;height:16px;border:2px solid #020617;border-radius:50%;background:#fef3c7;box-shadow:0 0 0 3px #facc1538}@media (max-width: 720px){.troop-pool-summary,.sortie-columns{grid-template-columns:1fr}.recruit-reveal-backdrop{padding:.8rem}.recruit-card-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:9px}.recruit-card,.recruit-card-face{min-height:162px}}.build-tab-panel{display:grid;gap:12px}.build-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.build-tabs .secondary.small{display:grid;gap:3px;text-align:left;min-height:54px}.build-tabs .secondary.small.active{border-color:#5eead4bf;background:#14b8a629;color:#ecfeff}.base-clickable{border:1px solid rgba(94,234,212,.35);cursor:pointer;color:inherit;font:inherit}.base-clickable:hover{transform:translateY(-1px);box-shadow:0 0 0 2px #5eead424,0 14px 30px #0ea5e91f}.base-clickable small{display:block;margin-top:4px;color:#99f6e4;font-size:11px}.base-block.has-support{border-color:#34d399b8;background:radial-gradient(circle at 50% 0%,rgba(45,212,191,.24),transparent 58%),linear-gradient(180deg,#10b9812e,#1d4ed829);box-shadow:inset 0 0 0 1px #99f6e414,0 0 24px #14b8a61a}.base-support-tags{display:grid;gap:5px;margin-top:8px;text-align:left}.base-support-tags em{color:#99f6e4;font-style:normal;font-size:12px;font-weight:900;letter-spacing:.02em}.base-support-tags b{display:inline-flex;align-items:center;gap:6px;width:100%;box-sizing:border-box;border:1px solid rgba(94,234,212,.22);border-radius:999px;padding:3px 7px;background:#02061761;color:#e0f2fe;font-size:11px;line-height:1.2}.base-support-tags i{display:inline-grid;place-items:center;flex:0 0 auto;min-width:18px;height:18px;border-radius:999px;background:#5eead42e;color:#99f6e4;font-style:normal;font-weight:900}.base-support-tags span{margin-left:auto;color:#fde68a;font-size:11px;font-weight:900}.base-support-tags .more{justify-content:center;color:#bae6fd}.defense-support-panel{margin-top:12px}.defeat-choice-modal .modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.player-panel{display:grid;gap:.85rem}.player-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.player-weapon-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:.65rem;margin-top:.75rem}.player-weapon-card{display:grid;gap:.55rem;text-align:left;color:#e5edf7;padding:.78rem;border:1px solid rgba(148,163,184,.16);border-radius:1rem;background:linear-gradient(180deg,#1e293beb,#0f172ad1)}.player-weapon-card:hover,.player-weapon-card.selected{border-color:var(--weapon, #67e8f9);box-shadow:0 0 0 1px color-mix(in srgb,var(--weapon, #67e8f9) 36%,transparent),0 16px 32px #0000003d}.player-weapon-head{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.player-weapon-head strong{font-size:.98rem}.player-weapon-head span{color:#07101f;font-size:.72rem;font-weight:900;padding:.22rem .5rem;border-radius:999px;background:var(--weapon, #67e8f9)}.weapon-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem}.weapon-stat-grid span{display:flex;justify-content:space-between;gap:.45rem;color:#94a3b8;font-size:.72rem;padding:.38rem .45rem;border:1px solid rgba(148,163,184,.12);border-radius:.62rem;background:#02061757}.weapon-stat-grid b{color:#f8fafc}.weapon-bonus-tags{display:flex;flex-wrap:wrap;gap:.35rem}.weapon-bonus-tags i{color:#c4f1ff;font-size:.7rem;font-style:normal;font-weight:800;padding:.22rem .45rem;border:1px solid rgba(103,232,249,.22);border-radius:999px;background:#0e74902e}.weapon-bonus-tags.hero-tags{margin-bottom:.65rem}.upgrade-domain-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.7rem}.upgrade-domain-card{display:grid;gap:.55rem;padding:.72rem;border:1px solid rgba(148,163,184,.14);border-radius:.95rem;background:#02061742}.upgrade-domain-card h4{margin:0;color:#e0f2fe;font-size:.86rem}.upgrade-owned-card{display:grid;gap:.24rem;padding:.62rem;border:1px solid rgba(148,163,184,.12);border-radius:.78rem;background:#0f172a8f}.upgrade-owned-card span{color:#fde68a;font-size:.72rem}.upgrade-owned-card em{color:#a7f3d0;font-size:.72rem;font-style:normal;font-weight:800}.drawer-content .action-grid.vertical{grid-template-columns:repeat(2,minmax(240px,1fr));gap:.9rem}.drawer-content .action-button.action-illustrated{min-height:190px;align-content:end;padding:1rem;border-radius:1.15rem}.drawer-content .action-button.action-illustrated:before{background-position:center;transform:scale(1.01)}.drawer-content .action-button.action-illustrated:after{background:linear-gradient(180deg,#0206171f,#02061759 42%,#020617e6),linear-gradient(90deg,#0206179e,#0f172a24 55%,#02061775);-webkit-backdrop-filter:blur(1.2px);backdrop-filter:blur(1.2px)}.drawer-content .action-button.action-illustrated strong,.drawer-content .action-button.action-illustrated span,.drawer-content .action-button.action-illustrated .missing-cost{max-width:94%}.drawer-content .action-button.action-illustrated strong{font-size:1.18rem}@media (max-width: 760px){.drawer-content .action-grid.vertical{grid-template-columns:1fr}}.drawer-content .action-button.action-illustrated{min-height:247px;transition:transform .12s ease,box-shadow .16s ease,border-color .16s ease,filter .16s ease}.drawer-content .action-button.action-illustrated:active{transform:translateY(2px) scale(.985);filter:brightness(1.12) saturate(1.12);box-shadow:inset 0 0 0 2px #facc156b,0 8px 18px #00000052}.drawer-content .action-button.action-illustrated:active:before{transform:scale(1.12);filter:saturate(1.25) brightness(1.16)}.drawer-content .action-button.action-illustrated:active:after{background:radial-gradient(circle at 50% 50%,rgba(250,204,21,.16),transparent 42%),linear-gradient(180deg,#0206170f,#02061752 42%,#020617db),linear-gradient(90deg,#02061794,#0f172a1f 55%,#0206176b)}.build-card>.building-sprite-icon,.build-card span.building-sprite-icon{grid-area:icon!important;justify-self:start;align-self:center}.build-card{grid-template-columns:64px minmax(0,1fr) auto}.build-card .building-sprite-icon+strong{align-self:end}.campaign-page-screen{display:block;margin-top:1rem;min-height:calc(100vh - 7.4rem)}.app-shell.campaign-map-shell .campaign-page-screen{margin-top:0;min-height:100vh}.campaign-page-window{position:relative;min-height:calc(100vh - 7.4rem);padding:.75rem;overflow:hidden}.app-shell.campaign-map-shell .campaign-page-window{min-height:100vh;border:0;border-radius:0;box-shadow:none}.campaign-page-window>.panel-close{position:absolute;right:1rem;top:1rem;z-index:50}.campaign-page-window>.drawer-content{height:calc(100vh - 8.9rem);padding:0;overflow:hidden;border:0;background:transparent}.app-shell.campaign-map-shell .campaign-page-window>.drawer-content{height:calc(100vh - 1.5rem)}.campaign-page-window .campaign-world-panel.full-map,.campaign-page-window .campaign-world-panel.full-map .campaign-world-grid,.campaign-page-window .campaign-world-panel.full-map .campaign-map-board{min-height:calc(100vh - 8.9rem);height:calc(100vh - 8.9rem)}.app-shell.campaign-map-shell .campaign-page-window .campaign-world-panel.full-map,.app-shell.campaign-map-shell .campaign-page-window .campaign-world-panel.full-map .campaign-world-grid,.app-shell.campaign-map-shell .campaign-page-window .campaign-world-panel.full-map .campaign-map-board{min-height:calc(100vh - 1.5rem);height:calc(100vh - 1.5rem)}.campaign-map-board{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.campaign-map-board.dragging,.campaign-map-board:active{cursor:grabbing}.campaign-map-canvas{position:absolute;left:-100%;top:-100%;width:300%;height:300%;transform-origin:50% 50%;transition:transform 80ms linear;will-change:transform}.campaign-map-controls{position:absolute;left:16px;top:16px;z-index:40;display:flex;align-items:center;gap:6px;padding:7px;border:1px solid rgba(147,197,253,.24);border-radius:999px;background:#02061794;box-shadow:0 16px 38px #00000059;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.campaign-map-controls button{min-width:34px;height:30px;padding:0 10px;border-radius:999px;color:#e0f2fe;background:#1e40af7a;font-weight:950}.campaign-map-controls button:hover{background:#2563ebb8}.campaign-map-controls button.wide{min-width:64px;color:#fef9c3;background:#92400e9e}.campaign-map-controls span{min-width:42px;color:#bfdbfe;font-size:12px;font-weight:900;text-align:center}.campaign-party{width:54px;height:54px;background:transparent;color:#fef3c7;box-shadow:none;animation:campaign-party-pulse 1.35s ease-in-out infinite}.campaign-party strong{width:66px;height:66px;display:block;background-image:var(--party-icon);background-size:300% 100%;background-position:calc(var(--party-col) * 50%) 0%;background-repeat:no-repeat;filter:drop-shadow(0 10px 10px rgba(0,0,0,.55)) drop-shadow(0 0 12px color-mix(in srgb,var(--faction, #fb7185) 36%,transparent))}.campaign-party>span{position:absolute;left:50%;top:calc(100% + 1px);transform:translate(-50%);padding:2px 6px;white-space:nowrap;border:1px solid rgba(254,243,199,.22);border-radius:999px;background:#020617c2;color:#fef3c7;font-size:10px;font-weight:950;line-height:1.15}.campaign-party.arrived strong{filter:drop-shadow(0 0 16px rgba(248,113,113,.9)) drop-shadow(0 10px 10px rgba(0,0,0,.55))}.campaign-party.player-party strong{filter:drop-shadow(0 0 14px rgba(56,189,248,.86)) drop-shadow(0 10px 10px rgba(0,0,0,.55))}.campaign-party.player-party>span{border-color:#7dd3fc52;color:#e0f2fe}.campaign-party.selected{outline:0}.campaign-party.selected strong{filter:drop-shadow(0 0 18px rgba(254,243,199,.95)) drop-shadow(0 10px 10px rgba(0,0,0,.55))}.airstrike-progress{border-color:#7dd3fc52;background:#082f495c}.airstrike-progress strong{color:#bae6fd}.campaign-detail-overlay.site-fullscreen{position:fixed;top:1.2rem;right:1.2rem;bottom:1.2rem;left:1.2rem;width:auto;max-width:none;max-height:calc(100vh - 2.4rem);z-index:120;overflow:auto}.site-detail-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.site-detail-tabs button{border:1px solid rgba(148,163,184,.22);background:#0f172ab8;color:#cbd5e1;border-radius:.75rem;padding:.55rem .85rem;font-weight:800;cursor:pointer}.site-detail-tabs button.active{color:#07101f;background:linear-gradient(135deg,#67e8f9,#facc15)}.outpost-action-panel,.outpost-garrison-panel{display:grid;gap:.75rem}.garrison-grid{display:grid;gap:.65rem}.garrison-row{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:.45rem .75rem;align-items:center;padding:.65rem;border:1px solid rgba(148,163,184,.16);border-radius:.9rem;background:#0f172a8c}.garrison-row strong{display:flex;gap:.5rem;align-items:center}.garrison-row i{width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:.5rem;background:#60a5fa33;color:#bfdbfe;font-style:normal}.garrison-actions{grid-column:1 / -1;display:flex;gap:.4rem;flex-wrap:wrap}.garrison-actions button{padding:.45rem .65rem;border-radius:.65rem;background:#1e293be6;color:#dbeafe;border:1px solid rgba(148,163,184,.18);cursor:pointer}.illustrated-tech-panel{background:radial-gradient(circle at 10% 0%,rgba(103,232,249,.08),transparent 32%),#0f172a94}.illustrated-tech-panel>h3{letter-spacing:.04em}.tech-grid.illustrated-tech-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:.85rem}.tech-node.tech-node-illustrated{position:relative;min-height:148px;overflow:hidden;isolation:isolate;padding:0;border-radius:1.05rem;background:#0f172ab8;border-color:#e2e8f026;box-shadow:0 18px 34px #0000002e;transition:transform .14s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease}.tech-node.tech-node-illustrated:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:var(--tech-bg);background-size:cover;background-position:center;transform:scale(1.02);filter:saturate(1.05) contrast(1.05) brightness(.9);transition:transform .18s ease,filter .18s ease}.tech-node.tech-node-illustrated:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#020617e0,#0f172a94 54%,#02061747),radial-gradient(circle at 86% 18%,rgba(255,255,255,.14),transparent 36%);-webkit-backdrop-filter:blur(1.2px);backdrop-filter:blur(1.2px)}.tech-node.tech-node-illustrated:hover{transform:translateY(-2px);border-color:#67e8f99e;box-shadow:0 22px 42px #00000047}.tech-node.tech-node-illustrated:hover:before{transform:scale(1.08);filter:saturate(1.18) contrast(1.08) brightness(1.02)}.tech-node.tech-node-illustrated:active{transform:translateY(2px) scale(.986);filter:brightness(1.12) saturate(1.12);box-shadow:inset 0 0 0 2px #facc1559,0 8px 18px #00000052}.tech-node.tech-node-illustrated.selected{border-color:#facc15d9;background:#1e293bc7;box-shadow:0 0 0 1px #facc152e,0 22px 46px #00000052}.tech-node.tech-node-illustrated.selected:after{background:radial-gradient(circle at 80% 18%,rgba(250,204,21,.18),transparent 34%),linear-gradient(90deg,#020617e0,#1e293b8f 56%,#02061738)}.tech-node-glass{display:grid;align-content:end;gap:.22rem;min-height:148px;padding:.85rem;background:linear-gradient(180deg,#0206170f,#0206179e);text-shadow:0 2px 10px rgba(0,0,0,.72)}.tech-node-glass strong{color:#f8fafc;font-size:1.02rem}.tech-node-glass span{width:fit-content;color:#fde68a;font-weight:800;font-size:.78rem;padding:.16rem .45rem;border:1px solid rgba(250,204,21,.28);border-radius:999px;background:#0206176b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.tech-node-glass em{max-width:92%;color:#cbd5e1;font-style:normal;font-size:.74rem;line-height:1.35}.tech-detail.tech-detail-illustrated{position:relative;overflow:hidden;min-height:220px;margin-top:.9rem;padding:1rem;border:1px solid rgba(226,232,240,.14);border-radius:1.1rem;background-image:var(--tech-bg);background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px #ffffff0a,0 18px 40px #00000038}.tech-detail.tech-detail-illustrated:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#020617e6,#0f172aad 48%,#02061747),radial-gradient(circle at 84% 22%,rgba(103,232,249,.14),transparent 34%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tech-detail-glass{position:relative;z-index:1;display:grid;align-content:end;gap:.5rem;min-height:188px;max-width:620px;padding:.85rem;border:1px solid rgba(226,232,240,.12);border-radius:.95rem;background:linear-gradient(180deg,#0f172a57,#02061794);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.tech-detail-glass strong{color:#f8fafc;font-size:1.22rem}.tech-detail-glass p{color:#dbeafe;font-size:.9rem}.tech-detail-glass>span:not(.eyebrow){color:#fde68a;font-size:.84rem}.drawer-content .tech-grid.illustrated-tech-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.drawer-content .tech-node.tech-node-illustrated{min-height:190px}.drawer-content .tech-node-glass{min-height:190px;padding:1rem}.drawer-content .tech-detail.tech-detail-illustrated{min-height:260px}@media (max-width: 760px){.tech-grid.illustrated-tech-grid,.drawer-content .tech-grid.illustrated-tech-grid{grid-template-columns:1fr}}.formation-designer{display:grid;gap:12px;padding:14px;border:1px solid rgba(251,191,36,.2);border-radius:20px;background:radial-gradient(circle at 12% 0%,rgba(251,191,36,.14),transparent 9rem),#0f172a9e}.formation-designer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.formation-designer-head>div:first-child,.formation-row-title,.formation-duel-picker{display:grid;gap:6px}.formation-designer strong,.formation-row-title span{color:#f8fafc}.formation-designer span,.formation-designer small{color:#cbd5e1;font-size:12px}.formation-duel-picker{min-width:min(460px,100%);grid-template-columns:1fr 1fr auto;align-items:end}.formation-designer select,.formation-designer input{border:1px solid rgba(148,163,184,.24);border-radius:.72rem;background:#0206179e;color:#f8fafc;padding:.48rem .62rem;outline:none}.formation-designer-grid{display:grid;grid-template-columns:minmax(240px,.92fr) minmax(320px,1.08fr);gap:12px}.formation-library,.formation-draft{display:grid;gap:10px;min-height:300px;padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:16px;background:#0206176b}.formation-row-title{grid-template-columns:1fr auto;align-items:center}.formation-row-title label{display:flex;gap:8px;align-items:center;color:#bfdbfe;font-size:12px}.formation-row-title input{width:110px}.formation-library-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:360px;overflow:auto;padding-right:4px}.formation-library-list button{display:grid;gap:3px;text-align:left;padding:.55rem .65rem;border:1px solid rgba(94,234,212,.16);border-radius:.82rem;color:#e0f2fe;background:linear-gradient(135deg,#0f172ae6,#1e293b94);cursor:grab}.formation-library-list button:hover{transform:translateY(-1px);border-color:#fbbf247a}.formation-draft-list{display:grid;gap:7px;align-content:start;min-height:205px;max-height:360px;overflow:auto}.formation-draft-row{display:grid;grid-template-columns:minmax(110px,1fr) auto 72px auto;align-items:center;gap:8px;padding:.45rem .55rem;border:1px solid rgba(148,163,184,.14);border-radius:.8rem;background:#0f172aa3}.formation-draft-row input{width:72px;padding:.36rem .45rem}.formation-saved-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.formation-saved-card{display:grid;gap:5px;padding:10px;border:1px solid rgba(251,191,36,.18);border-radius:14px;background:#1e293b80}.formation-saved-card small{max-height:54px;overflow:auto}@media (max-width: 920px){.formation-designer-head,.formation-designer-grid,.formation-duel-picker{grid-template-columns:1fr;display:grid}.formation-library-list{grid-template-columns:1fr}}.arena-panel{display:flex;flex-direction:column;gap:16px}.arena-toolbar,.arena-battlefield-card,.arena-versus-board,.arena-side-card,.arena-toolbar-copy,.arena-versus-mid,.arena-battlefield-head{display:flex}.arena-toolbar{justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border-radius:18px;border:1px solid rgba(148,163,184,.22);background:#090e1cb3}.arena-toolbar-copy{flex-direction:column;gap:4px}.arena-config-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px}.arena-budget-field{display:grid;gap:5px;min-width:132px;color:#bfdbfe;font-size:12px;font-weight:800}.arena-budget-field input{width:100%;padding:9px 10px;color:#e0f2fe;border:1px solid rgba(147,197,253,.26);border-radius:12px;background:#0f172ae6;box-shadow:inset 0 0 0 1px #ffffff08}.arena-toolbar-copy strong,.arena-side-head h3,.arena-versus-mid strong{color:#f8fafc}.arena-toolbar-copy span,.arena-toolbar-copy small,.arena-side-card small,.arena-side-card span,.arena-battlefield-head span,.arena-versus-mid span,.arena-versus-mid small{color:#cbd5e1}.arena-battlefield-card{flex-direction:column;gap:12px;padding:16px;border-radius:20px;border:1px solid rgba(148,163,184,.2);background:linear-gradient(180deg,#0f172aeb,#080c18cc)}.arena-battlefield-head{justify-content:space-between;gap:12px;align-items:center}.arena-battlefield-head>div{display:flex;flex-direction:column;gap:4px}.arena-battlefield-head strong,.arena-battlefield-head b{color:#f8fafc}.arena-battlefield-stats{text-align:right;align-items:flex-end}.arena-battlefield-map{position:relative;min-height:280px;border-radius:18px;overflow:hidden;border:1px solid rgba(148,163,184,.16);background:radial-gradient(circle at 50% 50%,#0f172a33,#020617a8),linear-gradient(90deg,#22c55e0f,#0f172a14 28%,#94a3b814,#0f172a14 72%,#ef44440f)}.arena-battlefield-lane{position:absolute;left:3%;right:3%;height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.28),transparent)}.arena-battlefield-centerline{position:absolute;top:6%;bottom:6%;left:50%;width:2px;transform:translate(-50%);background:linear-gradient(180deg,transparent,rgba(226,232,240,.52),transparent);box-shadow:0 0 18px #94a3b833}.arena-battlefield-side-label{position:absolute;top:14px;padding:4px 10px;border-radius:999px;font-size:12px;letter-spacing:.04em;color:#e2e8f0;background:#0f172abd;border:1px solid rgba(148,163,184,.22)}.arena-battlefield-side-label.left{left:16px}.arena-battlefield-side-label.right{right:16px}.arena-preview-unit{position:absolute;width:30px;height:30px;margin-left:-15px;margin-top:-15px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid color-mix(in srgb,var(--arena-unit-color, #94a3b8) 54%,rgba(255,255,255,.16));background:color-mix(in srgb,var(--arena-unit-color, #94a3b8) 24%,rgba(15,23,42,.94));box-shadow:0 6px 16px #02061747}.arena-preview-unit.left{transform:translate(-1px)}.arena-preview-unit.right{transform:translate(1px)}.arena-preview-unit b{color:#f8fafc;font-size:13px;line-height:1}.arena-versus-board{gap:14px;align-items:stretch}.arena-side-card{flex:1 1 0;min-width:0;flex-direction:column;gap:10px;padding:16px;border-radius:20px;border:1px solid rgba(148,163,184,.2);background:linear-gradient(180deg,#0f172aeb,#080c18cc);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.arena-side-card.static{cursor:default}.arena-side-card.static:hover{transform:none;border-color:#94a3b833;box-shadow:none}.arena-side-card:hover,.arena-side-card.selected{transform:translateY(-2px);border-color:#60a5fa8c;box-shadow:0 18px 40px #0f172a42}.arena-side-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.arena-guess-chip{border:1px solid rgba(96,165,250,.35);background:#1e293be0;color:#bfdbfe;border-radius:999px;padding:6px 12px}.arena-guess-chip.selected{background:linear-gradient(135deg,#3b82f6f2,#6366f1f2);color:#eff6ff}.arena-versus-mid{width:140px;min-width:140px;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:6px;padding:12px;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:#0a0f1db8}.arena-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.arena-unit-chip{display:flex;align-items:center;gap:8px;min-width:0;justify-content:space-between;padding:8px 10px;border-radius:12px;background:#0f172ac7;border:1px solid rgba(148,163,184,.14)}.arena-unit-chip b{width:24px;height:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffff14;color:#f8fafc}.arena-unit-chip span{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arena-unit-chip small{flex:0 0 auto;font-size:12px;color:#e2e8f0}.arena-unit-chip.rarity-common{border-color:#94a3b833}.arena-unit-chip.rarity-uncommon{border-color:#22c55e47}.arena-unit-chip.rarity-rare{border-color:#38bdf852}.arena-unit-chip.rarity-epic{border-color:#c084fc57}.arena-unit-chip.rarity-legendary{border-color:#f59e0b61}.arena-meta-row{display:flex;flex-wrap:wrap;gap:8px}.arena-meta-row span{padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--arena-faction, #94a3b8) 16%,rgba(15,23,42,.9));border:1px solid color-mix(in srgb,var(--arena-faction, #94a3b8) 42%,rgba(148,163,184,.18))}@media (max-width: 1200px){.arena-versus-board{flex-direction:column}.arena-versus-mid{width:auto;min-width:0}}
