:root{--bg:#f7f4ee;--panel:#fffcf6;--empty:#ede7dc;--ink:#25312c;--muted:#786f64;--line:#d9d0c2;--neutral:#cfc7ba;--neutral-dark:#7c746a;--neutral-soft:#eee8dc;--human:#2f7a9b;--human-light:#3f96b8;--human-soft:#e8f2f3;--human-line:#a9cbd2;--ai:#f02b26;--ai-light:#ff6a5f;--ai-soft:#f7e9e4;--ai-line:#e0b7ae;--rival-b:#713dff;--rival-b-light:#a57bff;--rival-c:#ff8a18;--rival-c-light:#ffc04d;--rival-d:#00c95f;--rival-d-light:#48ff9c;--rival-e:#ffd82e;--rival-e-light:#fff07a;--rival-f:#ffd82e;--rival-f-light:#fff07a;--piece-cut:#ffffff70;--piece-hole:#25312c;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#050b12;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#050b12;height:100%;overflow:hidden}body{overscroll-behavior:none;background:radial-gradient(circle at 50% 0,#1e6ba438,#0000 38%),linear-gradient(#08131f,#050b12);min-width:320px;height:100%;min-height:100dvh;margin:0;overflow:hidden}button{font:inherit;-webkit-tap-highlight-color:transparent;border:0}button:focus-visible{outline-offset:3px;outline:3px solid #25312c47}#root{height:100%;min-height:100dvh;overflow:hidden}.game-shell{width:min(100%,430px);height:100dvh;min-height:0;max-height:100dvh;padding:max(7px, env(safe-area-inset-top)) 9px max(7px, env(safe-area-inset-bottom));color:#ecf8ff;background:radial-gradient(circle at 50% -8%,#1e6ba43d,#0000 34%),radial-gradient(circle at 0 82%,#00c9ff1f,#0000 32%),linear-gradient(#08131f 0%,#0b1722 48%,#050b12 100%);grid-template-rows:40px minmax(0,1fr) min-content min-content 56px;gap:6px;margin:0 auto;display:grid;overflow:hidden}.map-shell{grid-template-rows:38px 34px 60px minmax(0,1fr) 58px}.duel-shell{grid-template-rows:80px 82px minmax(0,1fr) 118px;gap:6px}.lobby-shell,.battle-list-shell{grid-template-rows:44px auto minmax(0,1fr)}.battle-list-shell{grid-template-rows:50px minmax(0,1fr) 58px}.game-brand{justify-content:flex-start;align-items:center;gap:8px;min-height:0;display:flex}.brand-copy{min-width:0}.game-brand h1{color:#f4fbff;letter-spacing:.01em;margin:0;font-size:clamp(1.04rem,4.8vw,1.32rem);line-height:1}.game-brand span{color:#c3dff0b3;letter-spacing:.03em;text-transform:uppercase;font-size:.62rem;font-weight:700;line-height:1}.build-version{color:#c4e0f1b8;white-space:nowrap;background:#050e188f;border:1px solid #62dbff38;border-radius:999px;margin-left:auto;padding:3px 7px;font-size:.55rem;font-weight:900;line-height:1}.difficulty-pill{border:1px solid var(--line);width:fit-content;color:var(--muted);text-transform:uppercase;background:#fffcf6d1;border-radius:999px;align-items:center;gap:5px;margin-top:4px;padding:3px 8px 3px 4px;font-size:.64rem;font-weight:900;line-height:1;display:flex}.difficulty-pill img{object-fit:cover;object-position:center 35%;filter:drop-shadow(0 0 6px);border-radius:999px;width:20px;height:20px}.difficulty-pill span{color:currentColor;font-size:inherit;font-weight:inherit;letter-spacing:0;line-height:1}.faction-blue{color:#62dbff;background:#0a263beb;border-color:#00d5ff6b}.faction-red{color:#ff7e70;background:#371416eb;border-color:#ff4e406b}.faction-purple{color:#c982ff;background:#2b153deb;border-color:#c269ff75}.faction-green{color:#48ff9c;background:#0d311eeb;border-color:#00ff7f85}.faction-orange{color:#ffc04d;background:#3e2008eb;border-color:#ff8a1885}.faction-white{color:#f5fcff;background:#262e32eb;border-color:#f5fcff80}.faction-yellow{color:#fff07a;background:#3a3207eb;border-color:#ffd82e8f}.faction-blue{--owner-rgb:0, 184, 255;--winner-rgb:0, 184, 255;--winner-light-rgb:74, 232, 255}.faction-red{--owner-rgb:245, 34, 34;--winner-rgb:245, 34, 34;--winner-light-rgb:255, 96, 86}.faction-purple{--owner-rgb:112, 58, 255;--winner-rgb:112, 58, 255;--winner-light-rgb:170, 118, 255}.faction-green{--owner-rgb:34, 226, 116;--winner-rgb:34, 226, 116;--winner-light-rgb:120, 255, 173}.faction-orange{--owner-rgb:237, 126, 18;--winner-rgb:237, 126, 18;--winner-light-rgb:255, 178, 70}.faction-white{--owner-rgb:230, 238, 244;--winner-rgb:230, 238, 244;--winner-light-rgb:255, 255, 255}.faction-yellow{--owner-rgb:255, 218, 56;--winner-rgb:255, 218, 56;--winner-light-rgb:255, 238, 126}.difficulty-training{color:var(--rival-d);border-color:#23a66552}.difficulty-watchful{color:var(--rival-c);border-color:#d9941f57}.difficulty-tactical,.difficulty-brutal{color:var(--ai);border-color:#c4665757}.difficulty-pill.faction-blue{color:#62dbff;border-color:#00d5ff6b}.difficulty-pill.faction-red{color:#ff7e70;border-color:#ff4e406b}.difficulty-pill.faction-purple{color:#c982ff;border-color:#c269ff75}.difficulty-pill.faction-green{color:#6dffad;border-color:#4aff946b}.difficulty-pill.faction-orange{color:#ffc04d;border-color:#ff8a1885}.difficulty-pill.faction-white{color:#f5fcff;border-color:#f5fcff80}.difficulty-pill.faction-yellow{color:#fff07a;border-color:#ffd82e8f}.brand-mark{background:linear-gradient(90deg, transparent 31%, var(--line) 32%, var(--line) 34%, transparent 35%, transparent 65%, var(--line) 66%, var(--line) 68%, transparent 69%), linear-gradient(0deg, transparent 31%, var(--line) 32%, var(--line) 34%, transparent 35%, transparent 65%, var(--line) 66%, var(--line) 68%, transparent 69%), linear-gradient(180deg, #142a3bf2, #07121ff5);border:1px solid #57a0cd61;border-radius:7px;width:32px;height:32px;position:relative;box-shadow:inset 0 1px #ffffff24,0 0 18px #00baff21,0 5px 13px #00000059}.brand-mark:before,.brand-mark:after{content:"";border-radius:999px;height:3px;position:absolute;top:17px;left:8px;right:8px}.brand-mark:before{background:var(--human);transform:rotate(45deg)}.brand-mark:after{background:var(--ai);transform:rotate(-45deg)}.brand-node{z-index:1;border:2px solid #08131f;border-radius:999px;width:9px;height:9px;position:absolute}.brand-node:first-child{top:5px;left:5px}.brand-node:nth-child(2){top:5px;right:5px}.brand-node:nth-child(3){bottom:5px;left:5px}.brand-node:nth-child(4){bottom:5px;right:5px}.brand-node-human{background:var(--human)}.brand-node-ai{background:var(--ai)}.duel-brand{text-align:left;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:stretch;gap:6px;min-height:80px;padding-left:0;display:grid;position:relative}.combat-player{background:radial-gradient(circle at 20% 0,#4abfff24,#0000 48%),linear-gradient(#12283af5,#081523fa);border:1px solid #59a4d42e;border-radius:13px;align-items:center;gap:8px;min-width:0;padding:8px;display:flex;box-shadow:inset 0 1px #ffffff14,0 8px 17px #00000047}.combat-player-right{text-align:right;flex-direction:row-reverse}.combat-player img{object-fit:cover;object-position:center 34%;border:1px solid;border-radius:10px;flex:none;width:43px;height:43px;box-shadow:0 0 12px}.combat-player div{gap:3px;min-width:0;display:grid}.combat-player strong{color:#f4fbff;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:950;line-height:1.02;overflow:hidden}.combat-player span,.combat-player small,.combat-player em{color:#c3dff0b8;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.64rem;font-weight:850;line-height:1;overflow:hidden}.combat-player small{color:currentColor;font-size:.6rem}.combat-player em{color:currentColor;letter-spacing:0;background:#ffffff14;border:1px solid;border-radius:999px;width:fit-content;max-width:100%;padding:2px 5px;font-size:.56rem;font-style:normal}.combat-player-right em{justify-self:end}.threat-training em{color:#48ff9c}.threat-watchful em{color:#f5fcff}.threat-tactical em{color:#ffc04d}.threat-brutal em{color:#ff6a5f}.duel-versus{color:#ffc44c;background:radial-gradient(circle at 50% 28%,#ffffff42,#0000 28%),linear-gradient(145deg,#4f300cf5,#121926fa);border:1px solid #ffc2356b;border-radius:999px;place-self:center;place-items:center;width:40px;height:40px;display:grid;position:relative;box-shadow:0 0 20px #ffc23538,0 8px 16px #00000052}.duel-versus:before,.duel-versus:after{content:"";opacity:.82;background:currentColor;border-radius:999px;width:3px;height:27px;position:absolute}.duel-versus:before{transform:rotate(45deg)}.duel-versus:after{transform:rotate(-45deg)}.duel-versus span{z-index:1;color:#fff4b8;letter-spacing:0;background:#08121fdb;border-radius:999px;padding:2px 4px;font-size:.68rem;font-weight:950;position:relative}.map-back{border:1px solid var(--line);min-height:42px;color:var(--ink);background:linear-gradient(#fffffff5,#f7f2eae6);border-radius:12px;padding:0 16px;font-weight:900;position:absolute;top:18px;left:0;box-shadow:inset 0 1px #ffffffd1,0 7px 14px #25312c1a}.compact-back{min-height:36px;padding:0 12px;position:static}.lobby-create,.lobby-list,.combat-list{align-content:start;gap:8px;min-height:0;display:grid;overflow:hidden auto}.lobby-create{background:radial-gradient(circle at 18% 0,#4abfff29,#0000 48%),linear-gradient(#12283af5,#081523fa);border:1px solid #59a4d42e;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));padding:9px}.lobby-create>div{grid-column:1/-1;gap:2px;display:grid}.lobby-create span,.lobby-list-title span,.combat-card span{color:#c4e0f1ad;text-transform:uppercase;font-size:.58rem;font-weight:900}.lobby-create strong{color:#f4fbff;font-size:1rem}.lobby-create-mode{color:#97d8f5b8;font-size:.62rem;font-weight:850;line-height:1.1}.lobby-create label{color:#c4e0f1bd;text-transform:uppercase;gap:4px;min-width:0;font-size:.56rem;font-weight:900;display:grid}.lobby-create select{color:#ecf8ff;min-width:0;height:32px;font:inherit;background:#050e18b8;border:1px solid #59a4d43d;border-radius:9px;font-size:.66rem}.lobby-create button,.lobby-list-title button,.match-card button,.combat-card{color:#eafaff;background:radial-gradient(circle at 50% 0,#40c7ff42,#0000 52%),linear-gradient(#123e5bfa,#07192bfa);border:1px solid #00d5ff57;border-radius:10px;font-weight:950}.lobby-create button{grid-column:1/-1;min-height:38px}.lobby-create-compact{grid-template-columns:minmax(0,1fr)}.lobby-create-compact button{min-height:46px;font-size:.92rem}.match-create-modal{z-index:34;padding:max(14px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:radial-gradient(circle at 50% 42%,#00d5ff2e,#0000 36%),#01080fb8;place-items:center;display:grid;position:fixed;inset:0}.match-create-card{color:#f4fbff;background:radial-gradient(circle at 50% 0,#4abfff2e,#0000 52%),linear-gradient(#12283afa,#06111dfa);border:1px solid #00d5ff57;border-radius:16px;gap:10px;width:min(100%,370px);padding:18px;display:grid;box-shadow:inset 0 1px #ffffff17,0 22px 42px #00000075}.match-create-card>strong{font-size:1.18rem;font-weight:950;line-height:1}.match-create-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.match-create-grid label{color:#c4e0f1c2;text-transform:uppercase;gap:4px;min-width:0;font-size:.58rem;font-weight:900;display:grid}.match-create-grid select{color:#ecf8ff;min-width:0;height:34px;font:inherit;background:#050e18d6;border:1px solid #59a4d447;border-radius:9px;font-size:.72rem;font-weight:850}.match-create-note{color:#ecf8ffb8;margin:0;font-size:.72rem;font-weight:800;line-height:1.2}.match-card-waiting{background:radial-gradient(circle at 20% 0,#ffc44c1f,#0000 48%),linear-gradient(#2c2314f0,#0e131cf5);border-color:#ffc44c61}.lobby-error,.empty-state{color:#ecf8ffc7;background:#07121fad;border:1px solid #59a4d429;border-radius:12px;margin:0;padding:10px;font-size:.72rem;font-weight:800}.lobby-error{color:#ffb5ad;border-color:#ff685870}.lobby-list-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.lobby-list-title button{min-height:30px;padding:0 10px;font-size:.62rem}.match-card{background:radial-gradient(circle at 20% 0,#4abfff1f,#0000 48%),linear-gradient(#12283aeb,#081523f5);border:1px solid #59a4d429;border-radius:13px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:70px;padding:9px;display:grid}.match-card div{gap:3px;min-width:0;display:grid}.match-card strong,.combat-card strong{color:#f4fbff;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;line-height:1;overflow:hidden}.match-card span,.match-card small,.combat-card small{color:#c4e0f1ad;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:800;overflow:hidden}.match-card button{min-height:34px;padding:0 9px;font-size:.62rem}.match-card .ghost-button{background:#07121fb3;border-color:#ffffff1f}.combat-list{align-content:start;overflow:hidden auto}.combat-card{text-align:left;gap:4px;min-height:72px;padding:10px;display:grid}.combat-card-defense{background:radial-gradient(circle at 12% 0,#ff504433,#0000 52%),linear-gradient(#411519f5,#150c12fa);border-color:#ff68587a}.combat-card-ready{box-shadow:inset 0 0 0 1px #ffffff1a,0 0 18px #00d5ff33}.combat-card-waiting{background:radial-gradient(circle at 12% 0,#ffc44c29,#0000 52%),linear-gradient(#352714f0,#101219fa);border-color:#ffc44c5c}.combat-card-waiting small{color:#ffe5a8c7}.campaign-panel{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.campaign-panel div{background:radial-gradient(circle at 30% 0,#2385cc2e,#0000 60%),linear-gradient(#152b3df0,#0b1927f5);border:1px solid #569bcc2e;border-radius:10px;place-items:center;min-height:0;padding:5px 6px 4px;display:grid;box-shadow:inset 0 1px #ffffff14,0 9px 18px #00000038}.campaign-panel span{color:#c4e0f1ad;text-transform:uppercase;font-size:.58rem;font-weight:800;line-height:1}.campaign-panel strong{color:#45c8ff;font-size:1.05rem;line-height:1}.phase-panel{background:radial-gradient(circle at 15% 38%,#00d5ff3d,#0000 30%),linear-gradient(#102b3ef5,#071624fa);border:1px solid #00d5ff33;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;min-height:0;padding:7px 10px;display:grid;box-shadow:inset 0 1px #ffffff14,0 10px 22px #00000047}.phase-panel div{gap:2px;min-width:0;display:grid}.phase-panel span,.phase-panel small{color:#cae5f2b8;text-transform:uppercase;font-size:.58rem;font-weight:900;line-height:1}.phase-panel strong{color:#f2fbff;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.96rem,4.4vw,1.12rem);line-height:1.05;overflow:hidden}.phase-panel small{color:#ebfaffc7;text-transform:none;font-size:.62rem}.phase-panel-domination{border-color:rgba(var(--owner-rgb), .72);background:radial-gradient(circle at 18% 38%, rgba(var(--owner-rgb), .34), transparent 31%), linear-gradient(180deg, #4b3314fa, #12161ffa);box-shadow:inset 0 1px 0 #ffffff1f, 0 0 28px rgba(var(--owner-rgb), .24), 0 12px 26px #00000052}.phase-panel-domination strong{color:#fff7da;text-shadow:0 0 14px rgba(var(--owner-rgb), .42)}.phase-panel-preparation{background:radial-gradient(circle at 18% 38%,#ffce6747,#0000 31%),linear-gradient(#432c0efa,#0c1621fa);border-color:#ffce67b8;box-shadow:inset 0 1px #ffffff21,0 0 28px #ffc14a33,0 12px 26px #00000052}.phase-panel-preparation strong{color:#fff5d2;text-shadow:0 0 14px #ffc14a61}.domination-timer{border:1px solid rgba(var(--owner-rgb), .64);background:radial-gradient(circle at 50% 0%, rgba(var(--owner-rgb), .24), transparent 55%), #221711b8;border-radius:11px;justify-items:center;gap:2px;min-width:94px;padding:5px 7px;animation:1.2s ease-in-out infinite dominationBeat;display:grid}.domination-timer strong{color:#fff5c9;font-size:1rem;line-height:1}.combat-prep-timer{background:radial-gradient(circle at 50% 0,#ffce673d,#0000 55%),#20170cc7;border:1px solid #ffce67ad;border-radius:11px;justify-items:center;gap:2px;min-width:116px;padding:6px 8px;animation:.9s ease-in-out infinite combatPrepPulse;display:grid}.combat-prep-timer strong{color:#fff5c9;font-size:1rem;line-height:1}.combat-prep-timer-urgent{border-color:#ff6060c2;animation-duration:.42s}.combat-prep-overlay{z-index:8;color:#fff8da;text-align:center;background:radial-gradient(circle at 50% 0,#ffce6747,#0000 56%),linear-gradient(#2d1e0cf5,#08111cf5);border:1px solid #ffce67b3;border-radius:16px;place-self:center;justify-items:center;gap:4px;width:min(76%,300px);margin:-2px 0 -8px;padding:12px 16px;animation:.22s ease-out both combatPrepCardIn,.9s ease-in-out infinite combatPrepPulse;display:grid;box-shadow:inset 0 1px #ffffff24,0 0 34px #ffc14a3d,0 16px 30px #00000061}.combat-prep-overlay span,.combat-prep-overlay small{color:#fff6d3c7;text-transform:uppercase;font-size:.62rem;font-weight:950;line-height:1}.combat-prep-overlay strong{color:#fffdf0;text-shadow:0 0 18px #ffce6794,0 3px #00000070;font-size:clamp(2.8rem,14vw,4.6rem);font-weight:1000;line-height:.92}.combat-prep-overlay small{color:#fff6d3bd;text-transform:none;max-width:220px;font-size:.58rem;line-height:1.2}.combat-prep-overlay-urgent{border-color:#ff6060d1;animation:.22s ease-out both combatPrepCardIn,.32s ease-in-out infinite combatPrepUrgent}.world-map{place-self:stretch center;width:100%;min-height:0;margin:0}.map-viewport{background:linear-gradient(180deg, #050c1314, #050a102e), var(--map-bg) center / cover;border:1px solid #57a0cd33;border-radius:17px;width:100%;height:100%;min-height:0;overflow:hidden;box-shadow:inset 0 1px #ffffff14,inset 0 0 0 1px #00d5ff0a,inset 0 -36px 56px #0000005c,0 16px 38px #0000005c}.map-field{--map-scale:min(1.18, max(1.04, calc((100vw - 8px) / 390)));transform-origin:50%;width:100%;height:100%;transform:scale(var(--map-scale));margin:0 auto;transition:transform .62s cubic-bezier(.2,.82,.2,1),filter .62s;position:relative}.map-field-zooming{filter:brightness(1.04)saturate(1.08);transform:scale(calc(var(--map-scale) * 1.03))}.territory{--hex-size:62px;--owner-rgb:198, 218, 224;--owner-dark-rgb:44, 56, 62;--owner-light-rgb:232, 246, 250;--owner-glow:#c6dae01f;width:var(--hex-size);height:calc(var(--hex-size) * .866);transform:translate(-50%, -50%) translate(var(--tx), var(--ty));touch-action:manipulation;background:0 0;border:0;padding:0;position:absolute;top:50%;left:50%}.territory-human{--owner-rgb:0, 184, 255;--owner-dark-rgb:0, 50, 102;--owner-light-rgb:74, 232, 255;--owner-glow:#00c4ff80}.territory-rivalA{--owner-rgb:245, 34, 34;--owner-dark-rgb:118, 4, 13;--owner-light-rgb:255, 96, 86;--owner-glow:#f522227a}.territory-rivalB{--owner-rgb:112, 58, 255;--owner-dark-rgb:38, 18, 136;--owner-light-rgb:170, 118, 255;--owner-glow:#703aff80}.territory-rivalC{--owner-rgb:237, 126, 18;--owner-dark-rgb:121, 52, 4;--owner-light-rgb:255, 178, 70;--owner-glow:#ed7e1275}.territory-rivalD{--owner-rgb:34, 226, 116;--owner-dark-rgb:0, 105, 54;--owner-light-rgb:120, 255, 173;--owner-glow:#22e2744d}.territory-rivalE{--owner-rgb:255, 218, 56;--owner-dark-rgb:132, 107, 8;--owner-light-rgb:255, 238, 126;--owner-glow:#ffda3852}.territory-rivalF{--owner-rgb:230, 238, 244;--owner-dark-rgb:104, 120, 132;--owner-light-rgb:255, 255, 255;--owner-glow:#e6eef43d}.territory span{border:1px solid rgba(var(--owner-light-rgb), .34);background:radial-gradient(circle at 50% 44%, rgba(var(--owner-light-rgb), .34), rgba(var(--owner-rgb), .16) 35%, rgba(var(--owner-dark-rgb), .12) 64%, transparent 76%), linear-gradient(155deg, rgba(var(--owner-rgb), .28), rgba(var(--owner-dark-rgb), .22)), linear-gradient(180deg, #f5fcff14, #0000002e), var(--hex-neutral) center / 120% 132% no-repeat;background-blend-mode:screen, color, overlay, normal;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);box-shadow:inset 0 0 0 1px rgba(var(--owner-light-rgb), .18), inset 0 0 17px rgba(var(--owner-rgb), .16), inset 0 -8px 15px #0003, 0 0 13px var(--owner-glow), 0 2px 5px #00000057, 0 8px 12px #00000024;transition:background .18s,filter .18s,transform .18s;position:absolute;inset:0}.territory span:before{content:"";background:radial-gradient(circle at 50% 45%, rgba(var(--owner-light-rgb), .24), transparent 62%);clip-path:inherit;opacity:.62;pointer-events:none;position:absolute;inset:8%}.territory span:after{content:"";border-top:1px solid rgba(var(--owner-light-rgb), .2);border-left:1px solid rgba(var(--owner-light-rgb), .09);clip-path:inherit;opacity:.8;pointer-events:none;position:absolute;inset:10% 11%}.territory-human span{background:radial-gradient(circle at 50% 45%, #00e8ff9e, #009bff52 42%, transparent 72%), linear-gradient(180deg, #00deff1a, #0054842e), var(--hex-neutral) center / 120% 132% no-repeat;border-color:#00d2ff94;box-shadow:inset 0 0 0 2px #00e8ff7a,inset 0 0 18px #00e8ff3d,inset 0 1px #ffffff42,inset 0 -9px 15px #00000029,0 3px 9px #0000005c}.territory-rivalA span{background:radial-gradient(circle at 50% 45%, #ff1c1cad, #ae070b5c 42%, transparent 72%), var(--hex-neutral) center / 120% 132% no-repeat;border-color:#ff1c1cb8;box-shadow:inset 0 0 0 2px #ff1c1c80,inset 0 -9px 15px #00000029,0 0 15px #ff1c1c61,0 3px 9px #0000005c}.territory-rivalB span{background:radial-gradient(circle at 50% 45%, #713dffb8, #3516a861 42%, transparent 72%), var(--hex-neutral) center / 120% 132% no-repeat;border-color:#8959ffbd;box-shadow:inset 0 0 0 2px #8959ff80,inset 0 -9px 15px #00000029,0 0 15px #713dff66,0 3px 9px #0000005c}.territory-rivalC span{background:radial-gradient(circle at 50% 45%, #ff8214b8, #b5470861 42%, transparent 72%), var(--hex-neutral) center / 120% 132% no-repeat;border-color:#ff8a18b8;box-shadow:inset 0 0 0 2px #ff8a1880,inset 0 -9px 15px #00000029,0 0 15px #ff821461,0 3px 9px #0000005c}.territory-rivalD span{background:radial-gradient(circle at 50% 45%, #00eb68b3, #007e3d5c 42%, transparent 72%), var(--hex-neutral) center / 120% 132% no-repeat;border-color:#00ff7fb8;box-shadow:inset 0 0 0 2px #00ff7f80,inset 0 -9px 15px #00000029,0 0 15px #00eb6861,0 3px 9px #0000005c}.territory-rivalE span{background:radial-gradient(circle at 50% 45%, #ffd82ebd, #a57e065c 42%, transparent 72%), var(--hex-neutral) center / 120% 132% no-repeat;border-color:#ffe148bd;box-shadow:inset 0 0 0 2px #ffe14880,inset 0 -9px 15px #00000029,0 0 15px #ffd82e66,0 3px 9px #0000005c}.territory-rivalF span{background:radial-gradient(circle at 50% 45%, #ffffff9e, #acc0ca57 42%, transparent 72%), var(--hex-neutral) center / 120% 132% no-repeat;border-color:#f5fcffad;box-shadow:inset 0 0 0 2px #f5fcff61,inset 0 -9px 15px #00000029,0 0 15px #f5fcff47,0 3px 9px #0000005c}.territory-human span,.territory-rivalA span,.territory-rivalB span,.territory-rivalC span,.territory-rivalD span,.territory-rivalE span,.territory-rivalF span{border-color:rgba(var(--owner-light-rgb), .78);background:radial-gradient(circle at 50% 43%, rgba(var(--owner-light-rgb), .62), rgba(var(--owner-rgb), .46) 38%, rgba(var(--owner-dark-rgb), .42) 72%, rgba(var(--owner-dark-rgb), .28) 100%), linear-gradient(155deg, rgba(var(--owner-rgb), .62), rgba(var(--owner-dark-rgb), .46)), linear-gradient(180deg, #f5fcff1a, #00000047), var(--hex-neutral) center / 120% 132% no-repeat;background-blend-mode:soft-light, color, overlay, normal;box-shadow:inset 0 0 0 2px rgba(var(--owner-rgb), .56), inset 0 0 20px rgba(var(--owner-rgb), .34), inset 0 1px 0 rgba(var(--owner-light-rgb), .34), inset 0 -11px 16px #00000038, 0 0 18px var(--owner-glow), 0 3px 9px #0000005c}.territory-strategic span{border-color:rgba(var(--owner-light-rgb), .86);background:radial-gradient(circle at 50% 43%, rgba(var(--owner-light-rgb), .66), rgba(var(--owner-rgb), .52) 40%, rgba(var(--owner-dark-rgb), .46) 74%, rgba(var(--owner-dark-rgb), .3) 100%), linear-gradient(155deg, rgba(var(--owner-rgb), .66), rgba(var(--owner-dark-rgb), .48)), linear-gradient(180deg, #f5fcff14, #0000004d), var(--hex-neutral) center / 120% 132% no-repeat;background-blend-mode:soft-light, color, overlay, normal;box-shadow:inset 0 0 0 2px rgba(var(--owner-rgb), .6), inset 0 0 0 4px #f5fcff24, inset 0 0 24px rgba(var(--owner-rgb), .36), inset 0 1px 0 rgba(var(--owner-light-rgb), .34), inset 0 -10px 15px #0000002e, 0 0 18px var(--owner-glow), 0 3px 9px #0000005c}.territory-strategic:not(.territory-headquarters):before{content:"";z-index:2;width:25px;height:25px;box-shadow:0 0 0 1px #f5fcffdb, inset 0 0 0 1px #f5fcff6b, 0 0 12px #f5fcff75, 0 0 12px var(--owner-glow);pointer-events:none;background:linear-gradient(90deg,#0000 43%,#f5fcffd1 44% 56%,#0000 57%),linear-gradient(#0000 43%,#f5fcffd1 44% 56%,#0000 57%);border:2px solid #030a10c7;border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.territory-strategic:not(.territory-headquarters):after{content:"";z-index:3;pointer-events:none;background:radial-gradient(circle at 50% 44%,#fffffff5,#d2e8f4db);border:2px solid #040c12db;width:11px;height:11px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 0 1px #f5fcffdb,0 0 11px #f5fcff8f}.territory-identity{z-index:2;border:1px solid rgba(var(--owner-light-rgb), .5);width:76px;box-shadow:0 0 12px rgba(var(--owner-rgb), .22), 0 4px 9px #00000052;pointer-events:none;background:#04121fdb;border-radius:8px;justify-items:center;gap:2px;padding:3px 7px 4px;display:grid;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.territory-label-north{top:auto;bottom:calc(100% + 8px)}.territory-label-south{top:calc(100% + 8px)}.territory-label-east{top:50%;left:calc(100% + 5px);transform:translate(-68%,-50%)}.territory-label-west{top:50%;left:auto;right:calc(100% + 5px);transform:translate(68%,-50%)}.territory-identity strong,.territory-identity small{text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;max-width:100%;line-height:1;overflow:hidden}.territory-identity strong{color:rgba(var(--owner-light-rgb), .98);font-size:.53rem;font-weight:950}.territory-identity small{color:#e2f4fcc2;font-size:.46rem;font-weight:900}.territory-identity-active{border-color:#ffc44cb8;box-shadow:0 0 14px #ffc44c47,0 4px 9px #00000052}.territory-identity-eliminated{opacity:.62}.territory-headquarters span{box-shadow:inset 0 0 0 2px rgba(var(--owner-light-rgb), .7), inset 0 0 17px rgba(var(--owner-rgb), .28), 0 0 0 3px rgba(var(--owner-rgb), .18), 0 0 18px rgba(var(--owner-rgb), .28), 0 9px 18px #00000047}.territory-headquarters{z-index:4}.territory-headquarters:after{content:"";z-index:2;border:1px solid rgba(var(--owner-light-rgb), .9);background:rgba(var(--owner-dark-rgb), .42);width:12px;height:12px;box-shadow:inset 0 0 0 2px rgba(var(--owner-rgb), .22), 0 0 10px rgba(var(--owner-rgb), .42);border-radius:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.territory-headquarters:before{content:"";z-index:2;background:rgba(var(--owner-light-rgb), .94);width:4px;height:4px;box-shadow:0 0 8px rgba(var(--owner-rgb), .64);border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.territory-attackable{cursor:pointer}.territory-attackable span{filter:saturate(1.18)contrast(1.08)brightness(1.1);animation:1.8s ease-in-out infinite territoryPulse;box-shadow:inset 0 0 0 2px #00d5ff75,inset 0 0 22px #00d5ff3d,inset 0 0 34px #ffffff14,0 7px 14px #0000004d}.territory:enabled:active span{transform:scale(.9)}.territory:disabled{opacity:1}.territory-captured span{animation:.76s ease-out captureBurst}.territory-zoom-target{z-index:10}.territory-zoom-target span{animation:.62s cubic-bezier(.2,.82,.2,1) forwards territoryAttackZoom;box-shadow:inset 0 0 0 2px #ffffffb3,0 0 0 7px #2f7a9b29,0 18px 38px #25312c3d}.territory-battle-defense,.territory-battle-attack,.territory-battle-remote{z-index:7}.territory-battle-defense span{animation:.82s ease-in-out infinite territoryDefenseAlert}.territory-battle-attack span{animation:1s ease-in-out infinite territoryAttackAlert}.territory-battle-remote span{animation:1.3s ease-in-out infinite territoryRemoteOrder;box-shadow:inset 0 0 0 2px #ffd16d9e,0 0 0 4px #ffb7431f,0 0 18px #ffb74347}.map-hint{color:#eefbff;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:radial-gradient(circle at 12%,#00d5ff38,#0000 26%),linear-gradient(#112638f2,#091827f5);border:1px solid #00d5ff2e;border-radius:12px;justify-content:center;align-self:center;align-items:center;gap:7px;min-height:0;margin:0;padding:6px 10px;font-size:clamp(.76rem,3.2vw,.86rem);font-weight:850;line-height:1.08;display:flex;overflow:hidden}.map-hint-badge{color:#ffd982;text-transform:uppercase;background:#452e1880;border:1px solid #ffce676b;border-radius:999px;flex:none;padding:2px 7px;font-size:.62rem;font-weight:950;line-height:1}.map-hint-copy{text-overflow:ellipsis;min-width:0;overflow:hidden}.map-action-timer{border-radius:999px;flex:none;min-height:22px;padding:2px 7px}.map-action-timer span{font-size:.5rem}.map-action-timer strong{min-width:34px;padding:2px 5px;font-size:.62rem}.planet-banner{background:radial-gradient(circle at 18%,#e6f3f747,#0000 24%),linear-gradient(90deg,#384248f0,#122a37f5 54%,#4e585cf0);border:1px solid #dae7eb47;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:0;padding:5px 12px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff0c41f,0 0 18px #c9e6ee1f,0 8px 18px #0000003d}.planet-banner:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 0 22%,#ebf6fa29 23%,#0000 25% 68%,#00d5ff1a 69%,#0000 71%);position:absolute;inset:0}.planet-banner span,.planet-banner small{z-index:1;color:#e0eef2b8;text-transform:uppercase;font-size:.56rem;font-weight:950;line-height:1;position:relative}.planet-banner strong{z-index:1;color:#edf7fa;letter-spacing:.08em;text-align:center;text-transform:uppercase;text-shadow:0 0 9px #dcf1f761,0 2px #0000007a;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:1.15rem;font-weight:900;line-height:1;position:relative}.battle-flow{background:radial-gradient(circle at 14%,#00d5ff29,#0000 28%),linear-gradient(#112638f2,#091827f5);border:1px solid #59a4d42e;border-radius:12px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:0;padding:5px 10px;display:grid;box-shadow:inset 0 1px #ffffff12,0 8px 18px #00000038}.battle-flow span{color:#62dbff;text-transform:uppercase;font-size:.58rem;font-weight:950;line-height:1}.battle-flow strong{color:#f4fbff;text-align:center;background:#030c147a;border-radius:999px;min-width:42px;padding:4px 7px;font-size:.74rem;font-weight:950;line-height:1}.battle-flow p{color:#ecf8ffcc;text-overflow:ellipsis;white-space:normal;min-width:0;margin:0;font-size:.62rem;font-weight:800;line-height:1.1;overflow:hidden}.battle-rule-hint{background:linear-gradient(90deg,#00d5ff21,#050e186b);border:1px solid #62dbff29;border-radius:9px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:5px 8px;display:grid}.battle-rule-hint span{color:#62dbffd6;font-size:.54rem}.battle-rule-hint strong{color:#ecf8ffe0;text-align:left;background:0 0;border-radius:0;min-width:0;padding:0;font-size:.6rem;line-height:1.12}.battle-flow-return{color:#f3fbff;letter-spacing:0;text-transform:uppercase;background:linear-gradient(#0f79a4f2,#054b70f2);border:1px solid #54d9ff85;border-radius:12px;grid-column:1/-1;min-height:38px;padding:9px 15px;font-size:.78rem;font-weight:950;box-shadow:inset 0 1px #ffffff24,0 0 20px #00b8ff2e}.battle-flow-return:active{transform:translateY(1px)}.action-timer{color:#fff1b8;background:radial-gradient(circle at 18%,#ffce6738,#0000 30%),linear-gradient(#382b16eb,#10161cf0);border:1px solid #ffce6766;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:28px;padding:5px 10px;display:flex;box-shadow:inset 0 1px #ffffff14,0 0 14px #ffb93d1f}.action-timer span{color:#fff1b8c2;text-transform:uppercase;font-size:.56rem;font-weight:950;line-height:1}.action-timer strong{color:#fff8d8;text-align:center;background:#090c0e9e;border-radius:999px;min-width:42px;padding:3px 7px;font-size:.72rem;font-weight:950;line-height:1}.duel-action-timer{grid-column:1/-1;min-height:24px;margin-left:0;padding-block:3px}.action-timer-urgent{background:radial-gradient(circle at 18%,#ff594a4d,#0000 32%),linear-gradient(#521817f5,#170c10f5);border-color:#ff594ab3;animation:.72s ease-in-out infinite timerStress}.mobile-tabbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 50% 0,#44b2eb26,#0000 62%),linear-gradient(#0d2030f0,#050e18fa);border:1px solid #59a4d433;border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-height:0;padding:5px;display:grid;box-shadow:inset 0 1px #ffffff14,0 -8px 22px #00000038}.tab-item{color:#c5e1f0a3;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:13px;place-items:center;gap:2px;min-width:0;min-height:46px;padding:4px 2px 3px;font-size:.56rem;font-weight:900;line-height:1;transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s;display:grid;position:relative}.tab-item:after{content:"";pointer-events:none;background:0 0;border-radius:999px;height:2px;position:absolute;bottom:3px;left:16px;right:16px}.tab-item:disabled{color:#c5e1f057;opacity:1;box-shadow:none;background:0 0}.tab-item-available{color:#eefbff}.tab-item-active{color:#eafaff;background:radial-gradient(circle at 50% 0,#54d3ff4d,#0000 58%),linear-gradient(#104665f0,#071d30f5);border-color:#00beff7a;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff1f,0 0 18px #00b2ff38}.tab-item-active:after{background:#45d5ff;box-shadow:0 0 10px #45d5ffb3}.tab-item em{color:#fff;background:#ff3f34;border:1px solid #ffffff80;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 5px;font-size:.58rem;font-style:normal;font-weight:950;line-height:1;display:grid;position:absolute;top:5px;right:8px;box-shadow:0 0 12px #ff3f3470}.tab-item-alert{animation:1.25s ease-in-out infinite defenseAlert}.tab-icon{background:radial-gradient(circle at 30% 22%, #ffffff6b, transparent 27%), linear-gradient(145deg, #4fb0cf, var(--human) 64%, #235d78);color:#fff;border-radius:999px;width:24px;height:24px;display:block;position:relative;box-shadow:inset 0 3px 7px #ffffff3d,inset 0 -10px 16px #00000024,0 8px 15px #2f7a9b2e}.tab-lobby{background:radial-gradient(circle at 30% 22%,#fff6,#0000 27%),linear-gradient(145deg,#67a5c3,#214c68);border-radius:7px}.tab-lobby:before,.tab-lobby:after{content:"";background:currentColor;position:absolute}.tab-lobby:before{height:2px;top:7px;left:6px;right:6px;box-shadow:0 5px,0 10px}.tab-lobby:after{opacity:.72;width:2px;height:15px;top:5px;left:6px;box-shadow:5px 0,10px 0}.tab-map{border:0}.tab-map:before,.tab-map:after{content:"";background:currentColor;position:absolute}.tab-map:before{width:2px;height:14px;top:6px;left:12px}.tab-map:after{width:14px;height:2px;top:12px;left:6px}.tab-sword:before,.tab-sword:after{content:"";background:currentColor;border-radius:2px;width:3px;height:17px;position:absolute;top:5px;left:11px}.tab-sword:before{transform:rotate(45deg)}.tab-sword:after{transform:rotate(-45deg)}.tab-rank{background:radial-gradient(circle at 30% 22%,#ffffff57,#0000 27%),linear-gradient(145deg,#c8beb0,#8f8579);border-bottom:0}.tab-rank:before,.tab-rank:after{content:"";background:currentColor;border-radius:4px 4px 0 0;width:5px;position:absolute;bottom:0}.tab-rank:before{height:11px;bottom:6px;left:7px}.tab-rank:after{height:15px;bottom:6px;right:7px}.board-wrap{place-items:center;min-height:0;display:grid;overflow:visible}.board-stage{--board-size:min(100%, 394px, calc(100dvh - 288px));--board-frame:calc(var(--board-size) * .086);--board-gap:calc(var(--board-size) * .0235);width:var(--board-size);height:var(--board-size);flex:0 0 var(--board-size);padding:var(--board-frame);background:linear-gradient(180deg, #0000000d, #00000014), var(--board-grid) center / 100% 100%;border-radius:12px;position:relative;box-shadow:0 0 0 1px #6d8ea42e,0 0 24px #00b4ff1a,0 14px 28px #00000057}.board-stage-finished{--board-size:min(100%, 360px, calc(100dvh - 340px));width:var(--board-size);height:var(--board-size);margin:0}.board{gap:var(--board-gap);grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);place-items:stretch stretch;width:100%;height:100%;display:grid;position:relative}.front-waiting-overlay{z-index:26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center;pointer-events:none;background:radial-gradient(circle at 50% 0,#ffc44c2e,#0000 55%),#050d16db;border:1px solid #ffc44c57;border-radius:14px;place-content:center;justify-items:center;gap:6px;padding:14px;display:grid;position:absolute;inset:10%;box-shadow:inset 0 1px #ffffff14,0 16px 32px #0000005c}.front-waiting-overlay span{color:#ffe09bb8;text-transform:uppercase;font-size:.58rem;font-weight:950;line-height:1}.front-waiting-overlay strong{color:#fff3c4;font-size:.96rem;font-weight:950;line-height:1.05}.front-waiting-overlay small{color:#ecf8ffbd;max-width:210px;font-size:.68rem;font-weight:800;line-height:1.18}.board-control-lines{z-index:20;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.board-control-line{animation:.52s ease-out both controlLineReveal}.board-control-line line{vector-effect:non-scaling-stroke;stroke:currentColor;stroke-linecap:round}.board-control-line-glow{stroke-width:13px;opacity:.18}.board-control-line-core{stroke-width:4.6px;opacity:.64}.board-control-line-human{color:#4ad6fff2}.board-control-line-ai{color:#ff6858eb}.opponent-purple .board-control-line-ai{color:#ca7cffeb}.opponent-orange .board-control-line-ai{color:#ff8a18f2}.opponent-green .board-control-line-ai{color:#5bff9fe6}.opponent-white .board-control-line-ai{color:#f5fcffdb}.opponent-yellow .board-control-line-ai{color:#ffd82ef0}.board-control-line-neutral{color:#e8dccaad}.board-control-line-neutral .board-control-line-glow{opacity:.08}.board-control-line-neutral .board-control-line-core{stroke-width:3.4px;opacity:.32}.duel-shell-thinking .board{filter:saturate(.95)}.duel-shell-thinking .board-stage:after{content:"";z-index:4;background:var(--ai);pointer-events:none;border-radius:999px;width:12px;height:12px;animation:.78s ease-in-out infinite thinkingDots;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:-22px 0 #c466576b,22px 0 #c466576b}.line-badges{z-index:22;pointer-events:none;gap:7px;display:grid;position:absolute}.line-badges-top{grid-template-columns:repeat(4,1fr);justify-items:center;width:100%;top:-31px;left:0}.line-badges-right{grid-template-rows:repeat(4,1fr);align-items:center;height:100%;top:0;right:-38px}.line-badges-diagonal{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch;bottom:-36px;left:0;right:0}.line-badges-diagonal .line-badge:first-child{justify-self:start}.line-badges-diagonal .line-badge:last-child{justify-self:end}.line-badge{color:#ecf8ffc7;background:radial-gradient(circle at 50% 0,#ffffff24,#0000 54%),#08141fdb;border:1px solid #d3e3ec33;border-radius:8px;place-items:center;min-width:34px;height:24px;padding:0 5px;font-size:.66rem;font-weight:950;line-height:1;animation:.28s ease-out both scoreBadgeReveal;display:grid;box-shadow:inset 0 1px #ffffff14,0 0 10px #00000047}.line-badge-human{color:#fff;background:radial-gradient(circle at 50% 0,#ffffff2e,#0000 54%),linear-gradient(#0089c4f5,#003a5ef0);border-color:#4ad6ff94;box-shadow:inset 0 1px #ffffff1f,0 0 12px #00d5ff42}.line-badge-ai{color:#fff;background:radial-gradient(circle at 50% 0,#ffffff29,#0000 54%),linear-gradient(#9a312ef5,#471519f0);border-color:#ff7f6f94;box-shadow:inset 0 1px #ffffff1a,0 0 12px #ff5f5033}.line-badge-neutral{color:#ecf8ff8a;border-color:#e2d8c638}.line-badge-visible-human{color:#fff;background:radial-gradient(circle at 50% 0,#ffffff2e,#0000 54%),linear-gradient(#0089c4f5,#003a5ef0);border-color:#4ad6ff94;box-shadow:inset 0 1px #ffffff1f,0 0 12px #00d5ff42}.line-badge-visible-empty{color:#ecf8ff75;border-color:#e2d8c62e}.cell{z-index:1;aspect-ratio:1;color:#edf9ff;touch-action:manipulation;background:radial-gradient(circle,#00d5ff05,#0000 58%),linear-gradient(145deg,#ffffff06,#0000000f);border:1px solid #7d99a929;border-radius:7px;place-items:center;width:100%;min-width:0;height:100%;min-height:0;transition:transform .13s,border-color .13s,background .13s;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0a,inset 0 -10px 14px #00000014}.cell:enabled:active{border-color:#2f7a9b70;transform:scale(.95);box-shadow:inset 0 0 0 2px #00d5ff33,0 0 18px #00d5ff29,0 5px 12px #0000004d}.cell:enabled{cursor:pointer}.cell:disabled{opacity:1}.duel-shell-thinking .cell:enabled{cursor:wait}.cell-human{background:radial-gradient(circle,#00d5ff2b,#0000 55%),linear-gradient(145deg,#10334a3d,#08172629);border-color:#0000}.cell-ai{background:radial-gradient(circle,#ff4e402b,#0000 55%),linear-gradient(145deg,#421c1e3d,#180c1229);border-color:#0000}.opponent-purple .cell-ai{background:radial-gradient(circle,#c269ff33,#0000 55%),linear-gradient(145deg,#3219463d,#140b1f29);border-color:#0000}.opponent-orange .cell-ai{background:radial-gradient(circle,#ff8a1838,#0000 55%),linear-gradient(145deg,#4322093d,#1e0e0629);border-color:#0000}.opponent-green .cell-ai{background:radial-gradient(circle,#4aff942e,#0000 55%),linear-gradient(145deg,#0d38223d,#08191129);border-color:#0000}.opponent-white .cell-ai{background:radial-gradient(circle,#f5fcff33,#0000 55%),linear-gradient(145deg,#4b575e3d,#171c2129);border-color:#0000}.opponent-yellow .cell-ai{background:radial-gradient(circle,#ffd82e38,#0000 55%),linear-gradient(145deg,#42360b3d,#1c160529);border-color:#0000}.cell-fresh{animation:.26s ease-out pieceDrop;box-shadow:0 0 18px #00d5ff33,0 12px 22px #0000003d}.cell-icon{color:#fff;background:0 0;border-radius:0;place-items:center;width:68%;height:68%;font-size:clamp(1rem,6.2vw,1.65rem);font-weight:800;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cell-hidden-token{--hidden-glow:#ff5d4e8c;--hidden-light:#ff907f;--hidden-core:#bd3f35;border:1px solid color-mix(in srgb, var(--hidden-light) 72%, transparent);background:radial-gradient(circle at 50% 22%, #ffffff2e, transparent 28%), radial-gradient(circle at 50% 68%, color-mix(in srgb, var(--hidden-core) 26%, transparent), transparent 58%), linear-gradient(160deg, #200e12f5, color-mix(in srgb, var(--hidden-core) 54%, #15080a));color:#0000;isolation:isolate;width:54%;height:54%;box-shadow:inset 0 1px 0 #ffffff24, inset 0 -9px 16px #00000057, 0 0 18px color-mix(in srgb, var(--hidden-glow) 48%, transparent), 0 9px 16px #00000042;border-radius:18px 18px 21px 21px;font-size:0;overflow:hidden}.cell-hidden-token:before{content:"";z-index:1;background:radial-gradient(circle at 42% 34%, color-mix(in srgb, var(--hidden-light) 92%, white), transparent 7%), radial-gradient(circle at 58% 34%, color-mix(in srgb, var(--hidden-light) 92%, white), transparent 7%), linear-gradient(180deg, color-mix(in srgb, var(--hidden-light) 24%, #111927), #06090ef0 62%);clip-path:polygon(50% 0%,88% 35%,75% 100%,25% 100%,12% 35%);filter:drop-shadow(0 0 8px var(--hidden-glow));border-radius:50% 50% 42% 42%;position:absolute;inset:13% 20% 20%}.cell-hidden-token:after{content:"";z-index:0;background:radial-gradient(ellipse at center, color-mix(in srgb, var(--hidden-glow) 72%, transparent), transparent 66%);opacity:.72;border-radius:999px;height:24%;position:absolute;bottom:12%;left:8%;right:8%}.hidden-sigil{position:absolute;inset:0}.hidden-sigil:before,.hidden-sigil:after{content:"";z-index:2;background:color-mix(in srgb, var(--hidden-light) 90%, white);width:29%;height:3px;box-shadow:0 0 8px var(--hidden-glow);border-radius:999px;position:absolute;top:44%}.hidden-sigil:before{left:19%;transform:rotate(18deg)}.hidden-sigil:after{right:19%;transform:rotate(-18deg)}.opponent-purple .cell-hidden-token{--hidden-glow:#c269ff8f;--hidden-light:var(--rival-b-light);--hidden-core:var(--rival-b)}.opponent-orange .cell-hidden-token{--hidden-glow:#ff8a188a;--hidden-light:var(--rival-c-light);--hidden-core:var(--rival-c)}.opponent-green .cell-hidden-token{--hidden-glow:#4aff947a;--hidden-light:var(--rival-d-light);--hidden-core:var(--rival-d)}.opponent-white .cell-hidden-token{--hidden-glow:#f5fcff6b;--hidden-light:#f5fcff;--hidden-core:#8796a0}.opponent-yellow .cell-hidden-token{--hidden-glow:#ffd82e8a;--hidden-light:var(--rival-e-light);--hidden-core:var(--rival-e)}.unit-token{box-shadow:0 7px 14px #0000002e}.unit-svg{fill:currentColor;filter:drop-shadow(0 1px 1px #25312c2e);width:80%;height:80%;display:block}.unit-art{object-fit:contain;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 0 8px #00d5ff29)drop-shadow(0 9px 10px #00000061);width:100%;height:100%;display:block;transform:translate(0)}.cell .unit-token-soldier .unit-art,.cell .unit-token-spy .unit-art{transform:translate(-1%,1%)}.cell .unit-token-tower .unit-art{width:104%;height:104%;transform:translateY(1%)}.unit-art-red{filter:drop-shadow(0 0 8px #ff1c1c42)drop-shadow(0 9px 10px #00000061)}.unit-art-purple{filter:drop-shadow(0 0 8px #713dff47)drop-shadow(0 9px 10px #00000061)}.unit-art-orange{filter:drop-shadow(0 0 8px #ff8a1847)drop-shadow(0 9px 10px #00000061)}.unit-art-green{filter:drop-shadow(0 0 8px #00eb6842)drop-shadow(0 9px 10px #00000061)}.unit-art-yellow{filter:sepia(.9)saturate(2.1)hue-rotate(2deg)drop-shadow(0 0 8px #ffd82e52)drop-shadow(0 9px 10px #00000061)}.unit-art-white{filter:drop-shadow(0 0 8px #f5fcff38)drop-shadow(0 9px 10px #00000061)}.unit-cut{fill:none;stroke:var(--piece-cut);stroke-linecap:round;stroke-linejoin:round;stroke-width:3.2px}.unit-hole{fill:var(--piece-hole)}.unit-eye{fill:#fff}.unit-shadow{fill:#00000024;transform:translate(1px,1.5px)}.cell-human .unit-hole,.choice .unit-hole{fill:var(--human)}.cell-ai .unit-hole{fill:var(--ai)}.cell-power{z-index:24;color:#edf9ffd6;font-size:.82rem;font-weight:800;position:absolute;bottom:5px;right:6px}.choices{grid-template-columns:repeat(3,1fr);align-self:end;gap:8px;display:grid}.choice{color:#eefbff;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 0,#4abfff2e,#0000 52%),linear-gradient(#12283af5,#081523fa);border:1px solid #59a4d429;border-radius:15px;grid-template-rows:58px 20px minmax(24px,1fr);place-items:start center;gap:2px;min-height:118px;padding:5px 5px 7px;transition:border-color .15s,box-shadow .15s,transform .15s,filter .15s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,inset 0 -9px 16px #0000002e,0 8px 17px #00000052}.choice:after{content:"";pointer-events:none;border:1px solid #ffffff0e;border-radius:12px;position:absolute;inset:7px}.choice:active{transform:translateY(1px)scale(.985)}.choice:disabled{opacity:.74;transform:none}.choice>span{aspect-ratio:1;color:#fff;width:70px;height:58px;box-shadow:none;background:0 0;border-radius:0;place-items:center;font-weight:800;display:grid;overflow:hidden}.choice .unit-svg{width:74%;height:74%}.choice .unit-art,.drag-ghost .unit-art{object-fit:contain;width:90%;height:90%}.choice strong{color:#eefbff;text-shadow:0 2px 5px #00000073;font-size:clamp(.78rem,3.4vw,.92rem);font-weight:950;line-height:1.05}.choice-detail{color:#c4e0f1b3;text-align:center;white-space:normal;gap:1px;max-width:100%;font-size:.58rem;font-weight:800;line-height:1.16;display:grid;overflow:hidden}.choice-detail span{width:auto;height:auto;box-shadow:none;background:0 0;display:block}.choice-selected{filter:saturate(1.08);border-color:#00d5ffc2;transform:translateY(-2px);box-shadow:inset 0 0 0 1px #00d5ff57,inset 0 1px #ffffff1f,0 0 20px #00b2ff4d,0 11px 22px #00000061}.choice-selected:before{content:"";filter:blur(6px);background:#00d5ff42;border-radius:999px;height:7px;position:absolute;bottom:-7px;left:16px;right:16px}.result{place-items:center;min-height:0;display:grid;overflow:visible}.result-visible{background:radial-gradient(circle at 50% 0,#4abfff24,#0000 52%),linear-gradient(#122739f5,#081624f5);border:1px solid #59a4d42e;border-radius:16px;min-height:54px;padding:7px 10px 6px;box-shadow:inset 0 1px #ffffff14,0 9px 18px #0000004d}.result-human{background:radial-gradient(circle at 50% 0,#ffffffeb,#0000 52%),linear-gradient(#f5fff9f5,#e1f4e8db);border-color:#23a66557}.result-ai{background:radial-gradient(circle at 50% 0,#ffffffeb,#0000 52%),linear-gradient(#fff8f5f5,#f7e2dce0);border-color:#c4665761}.result-neutral{background:radial-gradient(circle at 50% 0,#ffffffe6,#0000 52%),linear-gradient(#faf8f4f5,#e7e3dcdb);border-color:#7c746a47}.result div{text-align:center;justify-self:center;justify-items:center;gap:1px;display:grid}.result span{color:var(--muted);font-size:.8rem;font-weight:800;line-height:1}.result strong{color:var(--ink);font-size:1.25rem;line-height:1}.result-human strong{color:var(--rival-d)}.result-ai strong{color:var(--ai)}.result-neutral strong{color:var(--neutral-dark)}.result small{color:var(--muted);font-size:.72rem;font-weight:750;line-height:1}.result-modal,.match-end-modal{z-index:35;padding:max(14px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:radial-gradient(circle at 50% 42%,#24709c33,#0000 36%),#01080f9e;place-items:center;animation:.18s ease-out both resultBackdrop;display:grid;position:fixed;inset:0}.match-end-modal{z-index:38}.attack-confirm-modal{--owner-rgb:0, 184, 255;--owner-light-rgb:74, 232, 255;z-index:34;padding:max(14px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 42%, rgba(var(--owner-rgb), .18), transparent 36%), #01080f99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);place-items:center;animation:.18s ease-out both resultBackdrop;display:grid;position:fixed;inset:0}.attack-confirm-card{border:1px solid rgba(var(--owner-light-rgb), .34);background:radial-gradient(circle at 50% 0%, rgba(var(--owner-rgb), .18), transparent 52%), linear-gradient(180deg, #12283afa, #06111dfa);color:#f4fbff;text-align:center;width:min(100%,360px);box-shadow:inset 0 1px 0 #ffffff17, 0 0 34px rgba(var(--owner-rgb), .16), 0 22px 42px #00000075;border-radius:16px;gap:10px;padding:18px;animation:.22s cubic-bezier(.2,.8,.2,1) both resultCardIn;display:grid}.attack-confirm-card>strong{color:#f4fbff;font-size:1.24rem;font-weight:950;line-height:1}.attack-confirm-card p{color:#ecf8ffd6;margin:0;font-size:.82rem;font-weight:850;line-height:1.25}.attack-confirm-facts{gap:5px;display:grid}.attack-confirm-facts span{border:1px solid rgba(var(--owner-light-rgb), .18);color:#ecf8ffc7;text-transform:uppercase;background:#ecf8ff0f;border-radius:8px;min-height:30px;padding:8px 9px;font-size:.65rem;font-weight:900;line-height:1}.attack-confirm-actions{grid-template-columns:.8fr 1fr;gap:8px;display:grid}.attack-confirm-actions button{color:#f4fbff;background:radial-gradient(circle at 50% 0,#ffffff3d,#0000 44%),linear-gradient(#007baefa,#004671fa);border:1px solid #00d5ff7a;border-radius:12px;min-height:42px;font-size:.82rem;font-weight:950}.attack-confirm-actions .ghost-button{background:#07121fc7;border-color:#ffffff24}.result-card{color:#f4fbff;text-align:center;background:radial-gradient(circle at 50% 0,#4abfff2e,#0000 52%),linear-gradient(#12283afa,#06111dfa);border:1px solid #59a4d442;border-radius:18px;justify-items:center;gap:5px;width:min(100%,366px);padding:18px 18px 16px;animation:.22s cubic-bezier(.2,.8,.2,1) both resultCardIn;display:grid;box-shadow:inset 0 1px #ffffff17,0 0 34px #00b2ff2e,0 22px 42px #00000075}.match-end-card{--winner-rgb:0, 184, 255;--winner-light-rgb:74, 232, 255;border:1px solid rgba(var(--winner-light-rgb), .36);background:radial-gradient(circle at 50% 0%, rgba(var(--winner-rgb), .22), transparent 52%), linear-gradient(180deg, #12283afa, #06111dfa);color:#f4fbff;text-align:center;width:min(100%,380px);box-shadow:inset 0 1px 0 #ffffff17, 0 0 38px rgba(var(--winner-rgb), .22), 0 22px 46px #00000080;border-radius:18px;justify-items:center;gap:10px;padding:18px;animation:.22s cubic-bezier(.2,.8,.2,1) both resultCardIn;display:grid}.match-end-card>strong{color:#f4fbff;overflow-wrap:anywhere;max-width:100%;text-shadow:0 0 14px rgba(var(--winner-light-rgb), .28);font-size:1.42rem;font-weight:950;line-height:1}.match-end-card p{color:#ecf8ffc7;margin:0;font-size:.82rem;font-weight:850;line-height:1.18}.victory-type-badge{color:#ffe7a3;text-transform:uppercase;background:radial-gradient(circle at 50% 0,#ffebb72e,#0000 60%),#3f2b1380;border:1px solid #ffd9825c;border-radius:999px;padding:5px 9px;font-size:.62rem;font-weight:950;line-height:1}.victory-type-annihilation{color:#ffc3ba;background:radial-gradient(circle at 50% 0,#ff85692e,#0000 60%),#3e181980;border-color:#ff76656b}.match-end-table{gap:6px;width:100%;display:grid}.match-end-row{text-align:left;background:#ecf8ff0f;border:1px solid #7c97a638;border-radius:10px;grid-template-columns:12px minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;min-height:44px;padding:7px 8px;display:grid}.match-end-row-winner{border-color:rgba(var(--winner-light-rgb), .42);background:linear-gradient(90deg, rgba(var(--winner-rgb), .2), #ecf8ff0f)}.match-end-color{background:rgba(var(--owner-rgb), .9);width:10px;height:28px;box-shadow:0 0 12px rgba(var(--owner-rgb), .44);border-radius:999px}.match-end-row div{gap:2px;min-width:0;display:grid}.match-end-row strong{color:#f4fbfff0;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.76rem;font-weight:950;line-height:1;overflow:hidden}.match-end-row small,.match-end-row span,.match-end-row em{color:#c4e0f1b8;white-space:nowrap;text-transform:uppercase;font-size:.62rem;font-style:normal;font-weight:900;line-height:1}.match-end-row em{color:#fff1b8e0}.match-end-card button{color:#f4fbff;background:radial-gradient(circle at 50% 0,#ffffff3d,#0000 44%),linear-gradient(#007baefa,#004671fa);border:1px solid #00d5ff7a;border-radius:13px;width:100%;min-height:42px;font-size:.86rem;font-weight:950;box-shadow:inset 0 1px #ffffff2e,0 0 20px #00b2ff47}.result-line-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;margin-top:8px;display:grid}.result-line{text-align:left;background:#ece6da14;border:1px solid #7c97a638;border-radius:8px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:5px;min-width:0;min-height:30px;padding:5px 7px;display:grid}.result-line span{color:#ecf8ff8f;font-size:.58rem;font-weight:950;line-height:1}.result-line strong{color:#f4fbffe0;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.68rem;font-weight:950;line-height:1;overflow:hidden}.result-line small{color:#ecf8ffad;font-size:.62rem;font-weight:950;line-height:1}.result-line-human{background:linear-gradient(90deg,#32d17e47,#32d17e14);border-color:#32d17e66}.result-line-ai{background:linear-gradient(90deg,#ff7f6f47,#ff7f6f14);border-color:#ff7f6f6b}.result-line-neutral{background:linear-gradient(90deg,#f3e7d029,#f3e7d00d);border-color:#f3e7d047}.result-card.result-human{border-color:#23a6657a;box-shadow:inset 0 1px #ffffff1a,0 0 34px #23a66538,0 22px 42px #00000075}.result-card.result-ai{border-color:#c4665785;box-shadow:inset 0 1px #ffffff1a,0 0 34px #c466573d,0 22px 42px #00000075}.result-card.result-neutral{border-color:#f3e7d06b}.result-kicker{color:#c4e0f1ad;text-transform:uppercase;font-size:.62rem;font-weight:900;line-height:1}.result-card strong{color:#f4fbff;font-size:1.45rem;font-weight:950;line-height:1}.result-card.result-human strong{color:#32d17e}.result-card.result-ai strong{color:#ff7f6f}.result-card.result-neutral strong{color:#f3e7d0}.result-card p{color:#ecf8ffe6;margin:2px 0 0;font-size:.9rem;font-weight:850;line-height:1.12}.result-card small{color:#c4e0f1b8;font-size:.76rem;font-weight:800;line-height:1}.result-rule-note{text-align:left;background:linear-gradient(90deg,#00d5ff1f,#050e1885);border:1px solid #62dbff29;border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;width:100%;margin-top:8px;padding:7px 8px;display:grid}.result-rule-note span{color:#62dbffd6;text-transform:uppercase;font-size:.56rem;font-weight:950;line-height:1}.result-rule-note strong{color:#ecf8ffd6;min-width:0;font-size:.62rem;font-weight:850;line-height:1.12}.result-card .result-rule-note strong{color:#ecf8ffd6;white-space:normal;font-size:.62rem;overflow:visible}.result-card button{color:#f4fbff;background:radial-gradient(circle at 50% 0,#ffffff3d,#0000 44%),linear-gradient(#007baefa,#004671fa);border:1px solid #00d5ff7a;border-radius:13px;width:100%;min-height:42px;margin-top:10px;font-size:.86rem;font-weight:950;box-shadow:inset 0 1px #ffffff2e,0 0 20px #00b2ff47}.result-card .result-line span{color:#ecf8ff8f;font-size:.58rem}.result-card .result-line strong{color:#f4fbffe0;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.result-card .result-line small{color:#ecf8ffad;font-size:.62rem}.board-line-flash{animation:.52s ease-out lineControl}.drag-ghost{left:var(--drag-x);top:var(--drag-y);z-index:30;pointer-events:none;filter:drop-shadow(0 16px 22px #25312c38);width:66px;height:66px;position:fixed;transform:translate(-50%,-50%)scale(1.04)}.drag-ghost span{background:radial-gradient(circle at 30% 22%, #ffffff6b, transparent 27%), linear-gradient(145deg, #4fb0cf, var(--human) 64%, #235d78);color:#fff;border-radius:999px;place-items:center;width:100%;height:100%;display:grid}.update-shell{padding:max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));grid-template-rows:1fr;place-items:center}.update-card{text-align:center;background:radial-gradient(circle at 50% 0,#5dcdff33,#0000 42%),linear-gradient(#0a263bfa,#050e18fa);border:1px solid #00d5ff59;border-radius:18px;width:min(100%,360px);padding:22px;box-shadow:inset 0 1px #ffffff1f,0 24px 48px #00000052}.update-kicker{color:#62dbff;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:950;line-height:1}.update-card h1{color:#f4fbff;margin:10px 0 12px;font-size:1.64rem;line-height:1}.update-card p{color:#dcf0fcd6;margin:0;font-size:.92rem;font-weight:650;line-height:1.35}.update-versions{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0;display:grid}.update-versions div{background:#ffffff0d;border:1px solid #a0d2eb29;border-radius:12px;min-width:0;padding:10px 8px}.update-versions dt{color:#c3dff0ad;text-transform:uppercase;font-size:.62rem;font-weight:850;line-height:1}.update-versions dd{color:#fff;margin:6px 0 0;font-size:.78rem;font-weight:950;line-height:1}.update-button{color:#f4fbff;background:radial-gradient(circle at 50% 0,#ffffff40,#0000 44%),linear-gradient(#0087bafa,#004a79fa);border:1px solid #00d5ff80;border-radius:14px;place-items:center;min-height:46px;font-size:.9rem;font-weight:950;text-decoration:none;display:grid;box-shadow:0 0 22px #00b2ff47}@keyframes pieceDrop{0%{transform:scale(.86)}72%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes lineControl{0%{filter:drop-shadow(0 0 #2f7a9b00)}35%{filter:drop-shadow(0 0 18px #2f7a9b6b)}to{filter:drop-shadow(0 0 #2f7a9b00)}}@keyframes scoreBadgeReveal{0%{opacity:.28;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes controlLineReveal{0%{opacity:0;transform:scale(.985)}to{transform:scale(1)}}@keyframes resultBackdrop{0%{opacity:0}to{opacity:1}}@keyframes resultCardIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes thinkingDots{0%,to{opacity:.7;transform:translate(-50%,-50%)scale(.82)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.12)}}@keyframes defenseAlert{0%,to{border-color:#ff68585c;box-shadow:inset 0 1px #ffffff14,0 0 10px #ff483c29}50%{border-color:#ff6858f0;box-shadow:inset 0 0 0 1px #ff685852,0 0 22px #ff483c7a}}@keyframes territoryDefenseAlert{0%,to{filter:saturate(1.18)brightness(1.08);box-shadow:inset 0 0 0 2px #ff6858b8,inset 0 0 24px #ff685847,0 0 8px #ff483c38,0 3px 9px #0000005c}50%{filter:saturate(1.34)brightness(1.18);box-shadow:inset 0 0 0 3px #ff6858f5,inset 0 0 30px #ff68586b,0 0 22px #ff483cad,0 3px 9px #0000005c}}@keyframes territoryAttackAlert{0%,to{filter:saturate(1.16)brightness(1.08);box-shadow:inset 0 0 0 2px #00d5ffb3,inset 0 0 24px #00d5ff42,0 0 8px #00d5ff33,0 3px 9px #0000005c}50%{filter:saturate(1.32)brightness(1.18);box-shadow:inset 0 0 0 3px #00d5fff5,inset 0 0 30px #00d5ff6b,0 0 22px #00d5ff9e,0 3px 9px #0000005c}}@keyframes territoryRemoteOrder{0%,to{filter:saturate(1.12)brightness(1.05)}50%{filter:saturate(1.24)brightness(1.13);box-shadow:inset 0 0 0 3px #ffd16ddb,inset 0 0 24px #ffb74342,0 0 18px #ffb7436b,0 3px 9px #0000005c}}@keyframes timerStress{0%,to{transform:scale(1);box-shadow:inset 0 1px #ffffff14,0 0 10px #ff594a38}50%{transform:scale(1.018);box-shadow:inset 0 1px #ffffff1a,0 0 22px #ff594a73}}@keyframes dominationBeat{0%,to{transform:scale(1);box-shadow:inset 0 1px #ffffff14,0 0 12px #ffc44b2e}50%{transform:scale(1.025);box-shadow:inset 0 1px #ffffff1f,0 0 24px #ffc44b6b}}@keyframes combatPrepCardIn{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes combatPrepPulse{0%,to{transform:scale(1);box-shadow:inset 0 1px #ffffff1a,0 0 14px #ffc44b33}50%{transform:scale(1.028);box-shadow:inset 0 1px #ffffff24,0 0 30px #ffc44b80}}@keyframes combatPrepUrgent{0%,to{transform:scale(1);box-shadow:inset 0 1px #ffffff1f,0 0 22px #ff58585c}50%{transform:scale(1.05);box-shadow:inset 0 1px #ffffff29,0 0 38px #ff58589e}}@keyframes territoryPulse{0%,to{filter:saturate(1.14)contrast(1.06)brightness(1.07)}50%{filter:saturate(1.28)contrast(1.1)brightness(1.15)}}@keyframes territoryAttackZoom{0%{filter:brightness();transform:scale(1)}42%{filter:brightness(1.36);transform:scale(1.72)}to{filter:brightness(1.12);transform:scale(1.34)}}@keyframes captureBurst{0%{filter:brightness(1.45);transform:scale(.86)}55%{filter:brightness(1.24);transform:scale(1.17)}to{filter:brightness();transform:scale(1)}}@media (height>=760px){.game-shell{gap:8px;padding-top:18px;padding-bottom:18px}.map-shell{grid-template-rows:40px 36px 64px minmax(0,1fr) 60px}}
