:root{--bg: #182033;--panel: rgba(16, 23, 38, .92);--panel-strong: rgba(11, 17, 29, .97);--panel-border: rgba(144, 178, 226, .24);--text: #edf2fc;--muted: #98a8c5;--accent: #70d5ff;--gold: #ffd66e;--danger: #ff756b;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text)}button{font:inherit}canvas{touch-action:none}button{touch-action:manipulation}#overlay,.modal,.techGraphPanel,.techDetailsPanel,#contextPanel,#combatPanel{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#contextPanel button,#combatPanel button,.techGraphPanel button,.techDetailsPanel button{touch-action:pan-y}#stage{position:fixed;top:0;right:0;bottom:0;left:0}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}#hud>*{pointer-events:auto}#gameHud.hidden{display:none}.hudCard,.panel{background:var(--panel);border:1px solid var(--panel-border);box-shadow:0 12px 32px #0000005c}.scrollSkin,#contextPanel,#combatPanel,.techGraphPanel,.techDetailsPanel,.modal{scrollbar-width:thin;scrollbar-color:rgba(112,213,255,.52) rgba(7,14,25,.55)}.scrollSkin::-webkit-scrollbar,#contextPanel::-webkit-scrollbar,#combatPanel::-webkit-scrollbar,.techGraphPanel::-webkit-scrollbar,.techDetailsPanel::-webkit-scrollbar,.modal::-webkit-scrollbar{width:8px;height:8px}.scrollSkin::-webkit-scrollbar-track,#contextPanel::-webkit-scrollbar-track,#combatPanel::-webkit-scrollbar-track,.techGraphPanel::-webkit-scrollbar-track,.techDetailsPanel::-webkit-scrollbar-track,.modal::-webkit-scrollbar-track{background:#070e198a;border-radius:999px}.scrollSkin::-webkit-scrollbar-thumb,#contextPanel::-webkit-scrollbar-thumb,#combatPanel::-webkit-scrollbar-thumb,.techGraphPanel::-webkit-scrollbar-thumb,.techDetailsPanel::-webkit-scrollbar-thumb,.modal::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#70d5ff9e,#3f6ab0a8);border-radius:999px}.hudCard{position:absolute;top:18px;border-radius:12px}.hudLabel,.modeLabel,.actionTitle{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}#resourceHud{left:18px;min-width:184px;padding:12px 15px}#goldInfo{margin-top:3px;color:var(--gold);font-size:15px}.goldNextTurn{color:#91e8ac;font-size:18px;font-weight:850}#incomeInfo{margin-top:2px;color:#91e8ac;font-size:12px}#turnHud{left:50%;transform:translate(-50%);min-width:210px;padding:10px 18px;text-align:center}#turnInfo{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:3px;font-size:13px}#turnInfo strong{font-size:22px}.turnTimer{display:inline-flex;align-items:center;justify-content:center;margin-top:5px;padding:3px 9px;color:#cdefff;background:#70d5ff1c;border:1px solid rgba(112,213,255,.24);border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.3px}.turnTimer.hidden{display:none}.turnTimer.own{color:#9ff3c6;border-color:#61da9947}.turnTimer.urgent{color:#ffd66e;border-color:#ffd66e61;animation:timerPulse .8s ease-in-out infinite}@keyframes timerPulse{50%{transform:scale(1.04);filter:brightness(1.25)}}.dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 10px currentColor}#utilityHud{position:absolute;top:18px;right:18px;display:flex;gap:8px}#connectionHud{position:absolute;top:76px;left:50%;padding:6px 10px;transform:translate(-50%);color:#cdefff;background:#0f1a2de6;border:1px solid var(--panel-border);border-radius:999px;font-size:11px;font-weight:700}#connectionHud.hidden{display:none}#connectionHud.reconnecting,#connectionHud.error{color:#ffd66e}#connectionHud.pending{color:var(--accent)}.turnBanner{--banner-accent: var(--accent);position:absolute;top:92px;left:50%;width:min(520px,calc(100vw - 36px));padding:13px 22px 15px;overflow:hidden;color:var(--text);background:linear-gradient(90deg,rgba(112,213,255,.12),transparent 36%),#0a111ef0;border:1px solid rgba(144,178,226,.34);border-radius:16px;box-shadow:0 20px 46px #0000006b,0 0 28px #70d5ff1f;pointer-events:none;text-align:center;transform:translate(-50%,-150%);opacity:0;z-index:7;transition:transform .42s cubic-bezier(.2,.9,.18,1),opacity .28s ease}.turnBanner.hidden{display:none}.turnBanner.show{transform:translate(-50%);opacity:1}.turnBanner:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--banner-accent);box-shadow:0 0 18px var(--banner-accent)}.turnBannerSheen{position:absolute;inset:-45% auto -45% -30%;width:42%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);animation:bannerSheen 1.15s ease-out both}.turnBannerKicker{position:relative;color:var(--banner-accent);font-size:10px;font-weight:900;letter-spacing:1.9px;text-transform:uppercase}.turnBannerTitle{position:relative;display:flex;align-items:baseline;justify-content:center;gap:9px;margin-top:2px;font-size:24px;font-weight:900;line-height:1.08}.turnBannerTitle span{color:#c8d6ee;font-size:13px;font-weight:800}.turnBannerText{position:relative;margin-top:5px;color:#aebbd3;font-size:12.5px;font-weight:700}.turnBanner.opponent{background:linear-gradient(90deg,rgba(255,117,107,.1),transparent 38%),#0e1320f0}@keyframes bannerSheen{0%{left:-34%;opacity:0}20%{opacity:1}to{left:112%;opacity:0}}.eventBanner{--event-accent: var(--gold);position:absolute;top:92px;left:50%;width:min(520px,calc(100vw - 36px));padding:14px 24px;text-align:center;color:var(--text);background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--event-accent) 22%,transparent),transparent 70%),#0a101cf2;border:1px solid var(--event-accent);border-radius:14px;box-shadow:0 18px 50px #00000080,0 0 30px -6px var(--event-accent);pointer-events:none;transform:translate(-50%,-150%) scale(.96);opacity:0;z-index:8;transition:transform .4s cubic-bezier(.2,.9,.18,1),opacity .3s ease}.eventBanner.hidden{display:none}.eventBanner.show{transform:translate(-50%) scale(1);opacity:1}.eventBannerTitle{font-size:clamp(22px,6vw,34px);font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--event-accent);text-shadow:0 2px 14px color-mix(in srgb,var(--event-accent) 40%,transparent)}.eventBannerText{margin-top:6px;color:#c8d6ee;font-size:13px;font-weight:700}.emoteTray{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;padding:6px;background:#0a111ed1;border:1px solid var(--panel-border);border-radius:999px;z-index:6}.emoteTray.hidden{display:none}.emoteBtn{min-width:34px;height:34px;padding:0 8px;color:var(--text);background:#30436899;border:1px solid var(--panel-border);border-radius:999px;cursor:pointer;font-size:16px;font-weight:800;line-height:1}.emoteStage{position:absolute;left:18px;bottom:30%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none;z-index:7}.emoteBubble{display:grid;justify-items:center;gap:2px;min-width:72px;padding:8px 12px 7px;font-weight:900;color:#f3f8ff;background:linear-gradient(180deg,color-mix(in srgb,var(--emote-accent, #70d5ff) 24%,rgba(10,17,30,.92)),#0a111eeb);border:1px solid color-mix(in srgb,var(--emote-accent, #70d5ff) 58%,rgba(144,178,226,.22));border-radius:16px;box-shadow:0 10px 26px #00000073,0 0 22px -12px var(--emote-accent, #70d5ff);animation:emotePop 1.8s ease-out forwards}.emoteGlyph{font-size:30px;line-height:1}.emoteSender{max-width:126px;overflow:hidden;color:#d7e3f8;font-size:9px;font-weight:900;letter-spacing:.6px;line-height:1.05;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.emoteBubble.rival{color:#ffd0c8;border-color:color-mix(in srgb,var(--emote-accent, #ff756b) 52%,rgba(255,117,107,.38))}@keyframes emotePop{0%{transform:translateY(14px) scale(.6);opacity:0}15%{transform:translateY(0) scale(1.1);opacity:1}30%{transform:scale(1)}80%{opacity:1}to{transform:translateY(-26px) scale(.95);opacity:0}}@media(max-width:760px){.emoteTray{right:8px;top:44%;padding:4px}.emoteBtn{min-width:30px;height:30px;font-size:14px}}.quickMatchTimer{display:inline-flex;justify-content:center;min-width:96px;margin:4px auto 12px;padding:7px 11px;color:var(--accent);background:#378ebc24;border:1px solid rgba(112,213,255,.28);border-radius:999px;font-size:12px;font-weight:800}.betaTrialNotice{margin:8px 0 12px;color:#d7f3ff;font-size:12px;font-weight:700}.onlinePlayerCount{display:inline-flex;align-items:center;gap:7px;margin:4px auto 14px;padding:6px 12px;color:#9ff3c6;background:#42946524;border:1px solid rgba(97,218,153,.32);border-radius:999px;font-size:12px;font-weight:800}.onlineDot{width:8px;height:8px;border-radius:50%;background:#5ccf8c;box-shadow:0 0 8px #5ccf8c;animation:onlinePulse 1.8s ease-in-out infinite}@keyframes onlinePulse{50%{opacity:.4}}.reconnectBtn{color:#d7f3ff;border-color:#70d5ff57!important;background:#2d567ab8!important}.factionTraitLine{margin:10px 0;padding:9px 11px;color:#ffe9b8;background:#ffc6601a;border-left:3px solid var(--gold);border-radius:6px;font-size:12.5px;font-weight:700;line-height:1.4}#utilityHud button,.contextAction,.trainBtn,#closeOverlayBtn,#againBtn,#mainMenuBtn,#soundToggleBtn,.menuActions button,.combatActions button,.techCard,#skipTutorialBtn{color:var(--text);background:#304368d1;border:1px solid var(--panel-border);border-radius:9px;cursor:pointer;font-weight:700;transition:filter .15s,transform .08s,background .15s}#utilityHud button{padding:10px 13px;font-size:12px}#utilityHud .surrenderBtn{color:#ffc2bd;background:#743039b8;border-color:#ff756b4d}button:hover:not(:disabled){filter:brightness(1.16);transform:translateY(-1px)}button:disabled{cursor:default;opacity:.42}.panel{position:absolute;border-radius:14px}#contextPanel{top:138px;left:18px;width:310px;max-height:calc(100vh - 292px);overflow-y:auto;padding:18px}#combatPanel{top:104px;right:18px;width:300px;padding:18px}#combatPanel.hidden,#tutorialPanel.hidden{display:none}#combatPanel h2{margin:5px 0 12px;font-size:18px}#combatPanel>p{margin:11px 0;color:var(--muted);font-size:12px}.panelCloseBtn{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:26px;height:26px;padding:0;color:var(--muted);background:#536c992e;border-color:#86a8e23d;border-radius:999px;font-size:18px;line-height:1}.panelCloseBtn:hover:not(:disabled){color:var(--text);background:#536c9957}.sheetGrabber{display:none}.combatants{display:grid;grid-template-columns:1fr 1fr;gap:8px}.combatants div,.combatDamage span{display:flex;flex-direction:column;gap:3px;padding:9px;background:#506a9924;border-radius:8px;font-size:11px}.combatants span,.combatDamage{color:var(--muted)}.combatants strong{color:var(--text)}.combatDamage{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.combatDamage strong{color:var(--danger);font-size:15px}.combatActions{display:flex;gap:8px}.combatActions button{flex:1;padding:9px}.dangerBtn{background:#ae393ee6!important}#tutorialPanel{top:50%;right:18px;width:258px;padding:13px 14px;transform:translateY(-50%);text-align:left;border-color:#70d5ff80}.tutorialProgress{margin-bottom:4px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}#tutorialPanel p{margin:5px 0 10px;color:var(--muted);font-size:11.5px;line-height:1.4}#skipTutorialBtn{padding:6px 10px;font-size:11px}.tutorialFocus{animation:tutorialPulse 1s ease-in-out infinite;outline:2px solid var(--accent);outline-offset:3px}@keyframes tutorialPulse{50%{filter:brightness(1.35);box-shadow:0 0 24px #70d5ff99}}#contextPanel.hidden{display:none}#contextPanel h2{display:flex;align-items:center;gap:9px;margin:5px 0 2px;font-size:22px}.enemyTag{color:var(--danger);border:1px solid rgba(255,117,107,.42);border-radius:5px;padding:2px 6px;font-size:10px;text-transform:uppercase}.factionLine,.coordLine{color:var(--accent);font-size:12px;font-weight:700}.description{margin:12px 0;color:var(--muted);font-size:13px;line-height:1.45}.stats{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.stats span{padding:5px 7px;background:#6885b824;border-radius:6px;font-size:11px;font-weight:700}.guidance{padding:10px 11px;color:#d7f3ff;background:#378ebc29;border-left:3px solid var(--accent);border-radius:6px}.guidance p{margin:0;font-size:12.5px;line-height:1.45}.guidance p+p{margin-top:5px}.contextActions{margin-top:14px}.contextAction,.navalBtn{width:100%;padding:10px 12px;color:var(--text);background:linear-gradient(180deg,#314874eb,#1d2f50f0);border:1px solid rgba(144,178,226,.28);border-radius:9px;box-shadow:inset 0 1px #ffffff0f}.contextAction:not(:disabled):hover,.navalBtn:not(:disabled):hover{border-color:#70d5ff80;background:linear-gradient(180deg,#395a91f5,#223f6cf5)}.contextAction:disabled,.navalBtn:disabled{color:#dce8fa8f;background:#202f4d94;border-color:#90b2e229;opacity:.72}.navalGrid{display:grid;gap:8px}.navalBtn{display:grid;gap:3px;text-align:left}.navalBtn strong{font-size:12px}.navalBtn span{color:var(--gold);font-weight:850}.navalBtn small{color:var(--muted);font-size:10px;line-height:1.25}.actionTitle{margin-bottom:8px}.requirementText,.upgradeText{margin:7px 0 0;color:var(--muted);font-size:10.5px;line-height:1.35}.tileBuildingLine{margin:8px 0 2px;padding:8px 10px;border:1px solid rgba(120,160,210,.24);border-radius:10px;background:#0b132273;color:var(--muted);font-size:12px}.tileBuildingLine strong{color:var(--text)}.cityDetails{display:grid;grid-template-columns:1fr 1fr;gap:7px}.cityDetails div{display:flex;flex-direction:column;gap:2px;padding:8px;background:#5a78aa1f;border-radius:7px}.cityDetails span{color:var(--muted);font-size:9px;text-transform:uppercase}.cityDetails strong{font-size:12px}.populationBar{height:6px;margin-top:9px;overflow:hidden;background:#ffffff14;border-radius:8px}.populationBar i{display:block;height:100%;background:linear-gradient(90deg,#5ccf8c,#91e8ac)}.trainGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.cityRewardGrid{display:grid;grid-template-columns:1fr;gap:7px}.cityRewardGrid{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(120,160,210,.18)}.cityRewardGrid .requirementText{margin:-2px 0 5px}.trainBtn{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:8px 9px;font-size:12px;gap:2px}.trainBtn strong{color:var(--text)}.trainBtn span{color:var(--gold)}.trainBtn small,.trainBtn em{color:var(--muted);font-size:10px;font-style:normal;line-height:1.2;text-align:left}.trainBtn em{color:#8fd5ff}#logPanel{bottom:18px;left:18px;width:310px;max-height:112px;overflow:hidden;padding:10px 13px;color:var(--muted);font-size:12px;line-height:1.55}#logPanel>div:first-child{color:var(--text)}#logPanel .muted{color:var(--muted)}#logPanel .latest{margin-bottom:3px;padding-left:7px;color:#fff;border-left:2px solid var(--accent)}#rotationHud{position:absolute;left:50%;bottom:20px;display:flex;gap:8px;transform:translate(-50%)}#rotationHud button{min-width:118px;padding:10px 13px;color:var(--text);background:#18233aeb;border:1px solid var(--panel-border);border-radius:9px;box-shadow:0 8px 22px #0000004d;cursor:pointer;font-size:12px;font-weight:750}#rotationHud span{margin-left:6px;padding:2px 5px;color:var(--accent);background:#70d5ff1a;border-radius:4px;font-size:10px}#endTurnBtn{position:absolute;right:22px;bottom:22px;min-width:144px;padding:14px 22px;color:#fff;background:linear-gradient(180deg,#3d8be5,#2762b8);border:1px solid rgba(145,202,255,.45);border-radius:11px;box-shadow:0 8px 24px #1953a670;cursor:pointer;font-size:15px;font-weight:800}#endTurnBtn:disabled{background:#46536a}#endTurnBtn.endTurnPrompt:not(:disabled){outline:2px solid var(--accent);outline-offset:4px;box-shadow:0 0 0 6px #70d5ff1a,0 12px 34px #286ed2a3;animation:tutorialPulse 1s ease-in-out infinite}#overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));background:#070b14d1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#overlay.hidden{display:none}.modal,.result,.mainMenu{width:min(620px,calc(100vw - 40px));max-height:none;overflow:visible;margin-block:auto;padding:28px;text-align:center;background:var(--panel-strong);border:1px solid var(--panel-border);border-radius:16px;box-shadow:0 24px 70px #0000008c}.modal h1,.result h1{margin:5px 0 12px}.modalBody,.result p{color:var(--muted);line-height:1.5}#closeOverlayBtn,#againBtn,#mainMenuBtn,#soundToggleBtn{margin-top:18px;padding:10px 24px}.modalStats{display:grid;grid-template-columns:1fr 1fr;gap:9px}.modalStats span{padding:10px;background:#5a78aa1f;border-radius:8px}.mainMenu{position:relative;padding:44px;text-align:center;background:radial-gradient(circle at 50% 10%,rgba(70,160,194,.2),transparent 45%),var(--panel-strong);border:1px solid var(--panel-border);border-radius:18px;box-shadow:0 28px 80px #0009}.mainMenu h1{margin:5px 0 0;font-size:clamp(48px,10vw,82px);letter-spacing:8px;background:linear-gradient(180deg,#fff,#70d5ff);-webkit-background-clip:text;background-clip:text;color:transparent}.mainMenu p{margin:5px 0 26px;color:var(--muted)}.onlineEntry h1,.waitingRoom h1{font-size:clamp(30px,6vw,48px);letter-spacing:0}.onlineField{display:grid;gap:6px;margin:0 auto 12px;text-align:left}.onlineField span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.onlineField input,.inviteRow input{min-width:0;padding:11px 12px;color:var(--text);background:#040a148c;border:1px solid var(--panel-border);border-radius:9px;outline:none;user-select:text;-webkit-user-select:text}.onlineField input:focus{border-color:var(--accent)}.inviteRow{display:grid;grid-template-columns:1fr auto;gap:7px;margin:12px 0 18px}.inviteRow button,#leaveOnlineBtn{padding:10px 14px;color:var(--text);background:#304368d1;border:1px solid var(--panel-border);border-radius:9px;cursor:pointer;font-weight:700}.onlineError{margin:-8px 0 12px;color:#ffc2bd;font-size:12px}.connectionLine{display:inline-block;padding:6px 10px;color:#91e8ac;background:#42946524;border-radius:999px;font-size:11px;font-weight:700;text-transform:capitalize}.connectionLine.reconnecting,.connectionLine.error{color:var(--gold)}.versionLabel{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.menuActions{display:grid;gap:9px;width:min(280px,100%);margin:auto}.menuActions button{padding:12px 18px}.setupMenu{width:min(520px,calc(100vw - 32px))}.setupMenu h1{margin-bottom:10px}.onlineField select{width:100%;padding:12px 14px;color:#eef5ff;background:#0d1626eb;border:1px solid rgba(145,196,255,.26);border-radius:12px;font:inherit}.setupHint{width:min(390px,100%);margin:6px auto 16px;padding:10px 12px;color:#b9c9df;background:#70d5ff14;border:1px solid rgba(112,213,255,.2);border-radius:12px;font-size:12px;line-height:1.35}.quickModeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(430px,100%);margin:16px auto}.quickModeCard{display:grid;gap:5px;padding:13px;cursor:pointer;background:#0d1626b3;border:1px solid rgba(145,196,255,.22);border-radius:14px;text-align:left}.quickModeCard.selected{border-color:#ffd66ebf;box-shadow:0 0 0 1px #ffd66e2e inset}.quickModeCard input{position:absolute;opacity:0;pointer-events:none}.quickModeCard strong{color:#eef5ff;font-size:14px}.quickModeCard span{color:#9fb0ca;font-size:12px;line-height:1.35}.primaryBtn{color:#fff!important;background:linear-gradient(180deg,#3d8be5,#2762b8)!important}.launchMenu{width:min(1160px,calc(100vw - 48px));min-height:min(700px,calc(100vh - 48px));height:auto;max-height:none;overflow:visible;display:grid;grid-template-columns:minmax(330px,.9fr) minmax(340px,1fr);grid-template-rows:1fr auto;gap:28px 34px;padding:34px;text-align:left;position:relative;isolation:isolate;background:linear-gradient(180deg,#1c2a4670,#0a101d85);border:1px solid rgba(150,190,240,.16);border-radius:22px;box-shadow:0 40px 120px #0000008c,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15);animation:launchRise .7s cubic-bezier(.22,1,.36,1) both}#overlay:has(.launchMenu),#overlay:has(.setupMenu),#overlay:has(.factionSelect){background:radial-gradient(115% 85% at 82% 6%,rgba(112,213,255,.2),transparent 46%),radial-gradient(120% 95% at 8% 98%,rgba(76,215,150,.17),transparent 52%),radial-gradient(85% 70% at 50% 42%,rgba(44,72,118,.55),transparent 72%),linear-gradient(180deg,#0d1626,#0a1020 56%,#05080f)}#overlay:has(.launchMenu):after,#overlay:has(.setupMenu):after,#overlay:has(.factionSelect):after{content:"";position:fixed;top:-12%;right:-12%;bottom:-12%;left:-12%;z-index:0;pointer-events:none;background:radial-gradient(34% 40% at 28% 32%,rgba(76,215,150,.2),transparent 60%),radial-gradient(38% 44% at 74% 64%,rgba(112,213,255,.18),transparent 62%);animation:glowDrift 28s ease-in-out infinite alternate;will-change:transform}#overlay:has(.launchMenu):before,#overlay:has(.setupMenu):before,#overlay:has(.factionSelect):before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(135% 115% at 50% 44%,transparent 52%,rgba(0,0,0,.62) 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:cover,160px 160px;opacity:.5;mix-blend-mode:soft-light}#overlay:has(.launchMenu)>.launchMenu,#overlay:has(.setupMenu)>.setupMenu,#overlay:has(.factionSelect)>.factionSelect{z-index:1}@keyframes launchRise{0%{opacity:0;transform:translateY(18px) scale(.992)}to{opacity:1;transform:none}}@keyframes glowDrift{0%{transform:translate3d(-2.5%,-1.5%,0) scale(1.02)}to{transform:translate3d(3%,2.5%,0) scale(1.09)}}@media(prefers-reduced-motion:reduce){.launchMenu{animation:none}#overlay:has(.launchMenu):after,#overlay:has(.setupMenu):after,#overlay:has(.factionSelect):after{animation:none}}.setupMenu,.factionSelect{position:relative;isolation:isolate;background:linear-gradient(180deg,#1c2a4680,#0a101d94);border:1px solid rgba(150,190,240,.16);border-radius:20px;box-shadow:0 40px 120px #0000008c,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15);animation:launchRise .6s cubic-bezier(.22,1,.36,1) both}.menuBrandMark{display:flex;justify-content:center;margin-bottom:6px}.menuBrandMark .brandEmblem{width:46px;filter:drop-shadow(0 4px 16px rgba(76,215,150,.35))}@media(prefers-reduced-motion:reduce){.setupMenu,.factionSelect{animation:none}}.launchCopy{align-self:center;min-width:0}.launchTopline{display:flex;align-items:center;gap:8px;min-height:30px}.buildBadge{padding:6px 11px;color:#aee8ff;background:#70d5ff1a;border:1px solid rgba(112,213,255,.28);border-radius:999px;font-size:10px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase}.launchMenu h1{margin:10px 0 0;font-size:clamp(46px,5.6vw,88px);line-height:.9;letter-spacing:.5px;white-space:nowrap;filter:drop-shadow(0 0 26px rgba(112,213,255,.42)) drop-shadow(0 2px 12px rgba(76,215,150,.28))}.brandLockup,.brandLockup h1{min-width:0}.launchMenu .launchTagline{margin:16px 0 26px;color:#b7c5dd;font-size:clamp(16px,1.7vw,21px);line-height:1.35}.launchPrimary,.launchSecondary,.launchUtility{width:min(390px,100%)}.launchPrimary button{width:100%;min-height:74px;display:flex;align-items:center;gap:16px;padding:15px 22px;border:1px solid rgba(145,196,255,.42);border-radius:14px;box-shadow:0 14px 38px #2662b86b;cursor:pointer;text-align:left}.launchPrimary .btnText{display:block;min-width:0}.launchPrimary .dailyChallengeBtn{min-height:58px;margin-top:10px;color:#ffe9b8;background:linear-gradient(135deg,#ffc7544d,#2b4a7ae6),#1c2b48eb;border-color:#ffd66e8c;box-shadow:0 10px 26px #00000047,0 0 22px -8px #ffc75480;cursor:pointer}.launchPrimary .dailyChallengeBtn:hover{border-color:#ffd66ed9;filter:brightness(1.1)}.launchPrimary .dailyChallengeBtn strong{font-size:18px;color:#ffdf9a}.launchPrimary .dailyChallengeBtn span{color:#d8c9a4}.launchPrimary .dailyChallengeBtn.cleared{color:#c9ecd6;background:linear-gradient(135deg,#5ccf8c29,#223e5ce6),#18283eeb;border-color:#5ccf8c73;box-shadow:0 10px 26px #00000047}.launchPrimary .dailyChallengeBtn.cleared strong{color:#9ff3c6}.launchPrimary .dailyChallengeBtn.cleared span{color:#9db8ab}.launchPrimary strong{display:block;font-size:24px;line-height:1.1}.launchPrimary span{display:block;margin-top:4px;color:#ffffffc7;font-size:12px;font-weight:800}.launchSecondary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.launchUtility{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.launchUtility:has(.reconnectBtn){grid-template-columns:repeat(2,minmax(0,1fr))}.launchSecondary button,.launchUtility button{min-width:0;display:flex;align-items:center;gap:10px;padding:11px 14px;color:#e7efff;border:1px solid rgba(144,178,226,.24);border-radius:10px;cursor:pointer;font-weight:850;text-align:left;transition:filter .15s,transform .08s,border-color .15s,background .15s}.launchSecondary button>span,.launchUtility button>span{min-width:0}.launchSecondary button{min-height:52px;background:linear-gradient(180deg,#3b4f78db,#233252e6);box-shadow:inset 0 1px #ffffff0d,0 9px 22px #0000003d}.launchUtility button{font-size:12px;background:#1f2d4ba8}.launchSecondary button:hover,.launchUtility button:hover{border-color:#70d5ff80;background:#364c77eb;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff14,0 12px 26px #00000052,0 0 18px -6px #70d5ff80}.launchSecondary button:active,.launchUtility button:active{transform:translateY(0)}.launchMenu .equippedFactionLine,.launchMenu .menuStatsLine,.launchMenu .dailyStatusLine{text-align:left}.launchMenu .dailyStatusLine{color:var(--muted);font-size:13px}.launchHero{position:relative;display:grid;align-content:end;min-height:0;overflow:hidden;padding:24px;background:radial-gradient(circle at 70% 20%,rgba(112,213,255,.16),transparent 36%),linear-gradient(160deg,#1d2f4cad,#080e1ab8);border:1px solid rgba(144,178,226,.22);border-radius:20px}.previewWindow{position:relative;min-height:390px;margin-bottom:16px;overflow:hidden;touch-action:pan-y;background:radial-gradient(circle at 50% 24%,rgba(112,213,255,.13),transparent 42%),linear-gradient(180deg,#0e192a4d,#060a1359);border:1px solid rgba(144,178,226,.16);border-radius:18px}.menuPreviewBoard{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;touch-action:pan-y}.menuPreviewBoard canvas{display:block;width:100%!important;height:100%!important;pointer-events:none;touch-action:pan-y}.previewCallout{position:absolute;left:14px;right:14px;bottom:14px;padding:9px 14px;text-align:center;color:#dce9ff;background:#080e1ac7;border:1px solid rgba(144,178,226,.22);border-radius:12px;font-size:13px;font-weight:800;z-index:2;pointer-events:none}.previewBoard{position:absolute;left:50%;top:44%;width:480px;height:312px;transform:translate(-50%,-50%) rotateX(58deg) rotate(-15deg);transform-style:preserve-3d}.previewHex{position:absolute;width:124px;height:108px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border:1px solid rgba(255,255,255,.14);box-shadow:0 17px #151d1be6,0 28px 34px #00000040}.previewHex.field{background:#6f9849}.previewHex.forest{background:#326d38}.previewHex.water{background:#2e7186;box-shadow:0 9px #122d38e6,0 22px 26px #0003}.previewHex.mountain{background:#6b707c;box-shadow:0 28px #2f323aeb,0 34px 32px #00000047}.previewHexA{left:178px;top:86px}.previewHexB{left:83px;top:141px}.previewHexC{left:273px;top:141px}.previewHexD{left:83px;top:31px}.previewHexE{left:178px;top:196px}.previewHexF{left:178px;top:31px}.previewHexG{left:273px;top:31px}.previewCity{position:absolute;left:211px;top:94px;width:58px;height:56px;transform:rotate(15deg) rotateX(-58deg) translateZ(44px);animation:previewCityCapture 12s ease-in-out infinite}.previewCity:before{content:"";position:absolute;top:12px;right:4px;bottom:0;left:4px;background:linear-gradient(180deg,#d9d1b9,#8c8c83);border:2px solid rgba(40,50,60,.72);border-radius:5px 5px 3px 3px;box-shadow:0 10px #060c1459}.previewCity span{position:absolute;left:16px;top:0;width:28px;height:24px;background:linear-gradient(180deg,#d0d7df,#7b8797);border-radius:4px 4px 1px 1px;animation:previewFlagCapture 12s ease-in-out infinite}.previewUnit{position:absolute;width:26px;height:42px;border-radius:999px 999px 8px 8px;transform:rotate(15deg) rotateX(-58deg) translateZ(50px);box-shadow:0 7px #02090a73,0 0 22px #68f0a942}.playerUnit{left:124px;top:174px;background:linear-gradient(180deg,#68f0a9,#2c9b69);animation:previewPlayerMove 12s ease-in-out infinite}.trainedUnit{left:224px;top:118px;opacity:0;background:linear-gradient(180deg,#9df6c2,#36a876);animation:previewTrainUnit 12s ease-in-out infinite}.enemyUnit{left:318px;top:104px;background:linear-gradient(180deg,#ffac8d,#b54e45);box-shadow:0 7px #02090a73,0 0 22px #ff756b3d;animation:previewEnemyHit 12s ease-in-out infinite}.previewSlash{position:absolute;left:304px;top:94px;width:70px;height:8px;opacity:0;background:linear-gradient(90deg,transparent,#ffe184,transparent);border-radius:999px;transform:rotate(32deg) rotateX(-58deg) translateZ(62px);animation:previewAttackSlash 12s ease-in-out infinite}.previewGold,.previewCapture{position:absolute;padding:5px 9px;color:#ffe8a5;background:#080e1adb;border:1px solid rgba(255,214,110,.28);border-radius:999px;font-size:12px;font-weight:900;transform:rotate(15deg) rotateX(-58deg) translateZ(76px)}.previewGold{left:216px;top:64px;opacity:0;animation:previewGoldPop 12s ease-in-out infinite}.previewCapture{left:188px;top:166px;opacity:0;animation:previewCapturePop 12s ease-in-out infinite}.previewCallouts{position:absolute;left:18px;right:18px;bottom:16px;min-height:38px;display:grid;place-items:center;padding:9px 12px;color:#d8e7ff;background:#070d19c2;border:1px solid rgba(144,178,226,.18);border-radius:999px;font-size:13px;font-weight:850;text-align:center}.previewCallouts span{grid-area:1 / 1;opacity:0;transform:translateY(5px);transition:opacity .25s ease,transform .25s ease}.previewCallouts span.active{opacity:1;transform:translateY(0)}@keyframes previewPlayerMove{0%,12%{left:124px;top:174px}22%,48%{left:224px;top:118px}58%,78%{left:276px;top:108px}88%,to{left:124px;top:174px}}@keyframes previewCityCapture{0%,22%{filter:none}28%,to{filter:drop-shadow(0 0 12px rgba(104,240,169,.28))}}@keyframes previewFlagCapture{0%,22%{background:linear-gradient(180deg,#d0d7df,#7b8797)}28%,to{background:linear-gradient(180deg,#68f0a9,#2c9b69)}}@keyframes previewGoldPop{0%,31%,44%,to{opacity:0;transform:rotate(15deg) rotateX(-58deg) translateY(10px) translateZ(76px)}34%,40%{opacity:1;transform:rotate(15deg) rotateX(-58deg) translateY(-6px) translateZ(76px)}}@keyframes previewTrainUnit{0%,43%{opacity:0;transform:rotate(15deg) rotateX(-58deg) scale(.55) translateZ(50px)}50%,to{opacity:1;transform:rotate(15deg) rotateX(-58deg) scale(1) translateZ(50px)}}@keyframes previewAttackSlash{0%,61%,70%,to{opacity:0;transform:rotate(32deg) rotateX(-58deg) scaleX(.3) translateZ(62px)}64%,67%{opacity:1;transform:rotate(32deg) rotateX(-58deg) scaleX(1.05) translateZ(62px)}}@keyframes previewEnemyHit{0%,61%,to{opacity:1;transform:rotate(15deg) rotateX(-58deg) translate(0) translateZ(50px)}65%{opacity:1;transform:rotate(15deg) rotateX(-58deg) translate(10px) translateZ(50px)}76%,86%{opacity:.25;transform:rotate(15deg) rotateX(-58deg) scale(.75) translateZ(50px)}}@keyframes previewCapturePop{0%,20%,33%,to{opacity:0;transform:rotate(15deg) rotateX(-58deg) translateY(8px) translateZ(76px)}24%,29%{opacity:1;transform:rotate(15deg) rotateX(-58deg) translateY(-5px) translateZ(76px)}}.heroBoard{position:absolute;left:50%;top:39%;width:470px;height:300px;transform:translate(-50%,-50%) rotateX(58deg) rotate(-15deg);transform-style:preserve-3d}.heroHex{position:absolute;width:128px;height:112px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:#5f8f42;border:1px solid rgba(255,255,255,.16);box-shadow:0 18px #18211ce0,0 28px 30px #0000003d}.heroHexA{left:171px;top:82px;background:#6f9849}.heroHexB{left:75px;top:138px;background:#2e7186}.heroHexC{left:267px;top:138px;background:#316d39}.heroHexD{left:171px;top:194px;background:#69707b}.heroHexE{left:171px;top:26px;background:#7ca056}.heroHexF{left:75px;top:26px;background:#5d8741}.heroHexG{left:267px;top:26px;background:#3b793f}.heroCity{position:absolute;left:205px;top:94px;width:58px;height:56px;transform:rotate(15deg) rotateX(-58deg) translateZ(42px)}.heroCity:before{content:"";position:absolute;top:12px;right:4px;bottom:0;left:4px;background:linear-gradient(180deg,#d9d1b9,#8c8c83);border:2px solid rgba(40,50,60,.7);border-radius:5px 5px 3px 3px;box-shadow:0 10px #060c1459}.heroCity span{position:absolute;left:16px;top:0;width:28px;height:24px;background:linear-gradient(180deg,#68d9b6,#338b78);border-radius:4px 4px 1px 1px}.heroUnit{position:absolute;width:26px;height:42px;border-radius:999px 999px 8px 8px;background:linear-gradient(180deg,#68f0a9,#2c9b69);box-shadow:0 7px #02090a73,0 0 22px #68f0a947;transform:rotate(15deg) rotateX(-58deg) translateZ(46px)}.heroUnitOne{left:306px;top:104px}.heroUnitTwo{left:124px;top:168px;background:linear-gradient(180deg,#ffac8d,#b54e45)}.heroSpark{position:absolute;width:34px;height:8px;border-radius:999px;background:#ffd66e73;transform:rotate(15deg) rotateX(-58deg) translateZ(40px);filter:blur(.2px)}.heroSparkOne{left:115px;top:215px}.heroSparkTwo{left:344px;top:74px;background:#70d5ff61}.heroCopy{position:relative;max-width:390px;margin:0 auto;padding:18px;background:#080e1abd;border:1px solid rgba(144,178,226,.24);border-radius:16px;box-shadow:0 -12px 40px #0003}.heroCopy h2{margin:5px 0 9px;font-size:clamp(22px,2.5vw,31px);line-height:1.05}.heroCopy p{margin:0;color:var(--muted);line-height:1.45}.brandLockup{display:flex;align-items:center;gap:clamp(12px,1.4vw,18px);margin-top:8px}.brandEmblem{flex:0 0 auto;width:clamp(46px,5.4vw,72px);height:auto;filter:drop-shadow(0 4px 16px rgba(76,215,150,.35))}.brandLockup h1{margin:0}.btnIcon{flex:0 0 auto;width:20px;height:20px;opacity:.9}.launchSecondary button .btnIcon,.launchUtility button .btnIcon{color:#9fd3ee}.launchSecondary button:hover .btnIcon,.launchUtility button:hover .btnIcon{color:#bfeaff;opacity:1}.primaryIcon{width:30px;height:30px;padding:6px;border-radius:10px;background:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff1f;opacity:1}.dailyChallengeBtn .primaryIcon{background:#ffd66e29;color:#ffdf9a;box-shadow:inset 0 0 0 1px #ffd66e4d}.loopStrip{display:flex;gap:8px;margin:14px 0 0;padding:0;list-style:none}.loopStrip li{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:11px 6px;background:#70d5ff0f;border:1px solid rgba(144,178,226,.16);border-radius:12px;font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#c3d3ea}.loopIcon{width:22px;height:22px;color:#6fe0c0}.loopStrip li:nth-child(2) .loopIcon{color:#7cc9ff}.loopStrip li:nth-child(3) .loopIcon{color:#ffd66e}.launchFooter{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px}.socialLinks{display:flex;align-items:center;gap:8px}.socialLinks a+a:before{content:"·";margin-right:8px;color:#b7c5dd7a}.socialLinks a{color:#b7c5dd;text-decoration:none;font-size:12px;font-weight:900}.socialLinks a:hover{color:var(--accent)}.equippedFactionLine{margin-top:16px;color:var(--muted);font-size:.95rem}.menuStatsLine{margin-top:6px;color:var(--muted);font-size:.85rem}.menuStatsLine strong{color:var(--accent)}.scoreLine{margin-top:4px;color:var(--accent);font-size:11px;font-weight:700}.factionSelect{width:min(980px,calc(100vw - 32px))}.factionSelectLayout{display:grid;grid-template-columns:minmax(210px,.82fr) minmax(320px,1.18fr);gap:18px;margin-top:18px;text-align:left}.factionList{display:grid;gap:8px}.factionListItem{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;text-align:left;color:var(--text);background:#1e2c468c;border:1px solid var(--panel-border);border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;transition:background .15s,border-color .15s,transform .08s}.factionListItem:hover:not(.selected){background:#304368b3;transform:translateY(-1px)}.factionListItem.selected{background:#304368d9;border-color:#6fd5ffe6;box-shadow:0 0 0 1px #6fd5ff40,0 0 18px -6px #6fd5ff80}.factionListItem small{color:var(--muted);font-weight:700;white-space:nowrap}.factionDetail{border:1px solid var(--faction-accent, rgba(101, 142, 205, .45));background:#08111fb8;border-radius:18px;padding:18px;box-shadow:0 0 32px -12px var(--faction-accent, transparent)}.factionDetailHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.factionDetail h2{margin:4px 0 0}.factionStatus{border:1px solid rgba(101,142,205,.45);border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.factionStatus.free{color:#9ff3c6;border-color:#61da996b}.factionStatus.premium{color:#ffd282;border-color:#ffc16973}.factionTags{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:10px 0 2px}.playStyleTag{padding:4px 11px;color:#06121f;background:var(--faction-accent, var(--accent));border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.factionIdentity{color:var(--muted);font-size:.95rem}.unitShowcase{margin:14px 0}.unitPreview{position:relative;width:100%;height:220px;border-radius:14px;overflow:hidden;border:1px solid rgba(101,142,205,.22);background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--faction-accent, #70d5ff) 16%,transparent),transparent 62%),linear-gradient(180deg,#141e30eb,#080e1aeb)}.unitPreviewCanvas{display:block;width:100%;height:100%}.unitShowcaseBar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.unitCycleBtn{width:38px;height:38px;flex:none;color:var(--text);background:#304368b3;border:1px solid var(--panel-border);border-radius:50%;cursor:pointer;font-size:20px;font-weight:800;line-height:1}.unitPreviewLabel{flex:1;text-align:center;font-size:.95rem;font-weight:800;color:#e7efff}.modalIntro{margin:-4px 0 15px;color:var(--muted);font-size:12px}.techTreeModal{position:relative;width:min(1280px,calc(100vw - 32px));max-height:calc(100vh - 44px);overflow:hidden}.modalCloseX{position:absolute;top:18px;right:20px;z-index:4;width:34px;height:34px;padding:0;display:grid;place-items:center;color:var(--muted);background:#536c992e;border:1px solid rgba(144,178,226,.2);border-radius:999px;font-size:24px;line-height:1}.modalCloseX:hover:not(:disabled){color:var(--text);background:#536c9957}.techTreeShell{display:grid;grid-template-columns:190px minmax(520px,1fr) 300px;gap:14px;height:min(610px,calc(100vh - 190px));min-height:0;margin-top:16px;text-align:left}.techBranchSidebar,.techGraphPanel,.techDetailsPanel{background:#070e1994;border:1px solid rgba(144,178,226,.2);border-radius:12px}.techBranchSidebar{display:grid;align-content:start;gap:9px;padding:10px;overflow:hidden}.techBranchTab{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;padding:10px;color:#dce8fa;background:#1f2d4b8a;border:1px solid rgba(144,178,226,.18);border-radius:10px;cursor:pointer;text-align:left}.techBranchTab.selected{background:#1f799a47;border-color:#70d5ff7a}.techBranchIcon,.techBadge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(144,178,226,.32);color:#b7c5dd;font-weight:900}.techBranchIcon{width:38px;height:38px}.techBranchTab strong{display:block;font-size:12px;letter-spacing:.4px;text-transform:uppercase}.techBranchTab small{display:block;margin-top:4px;color:var(--muted)}.techGraphPanel{overflow:auto;padding:18px 20px;touch-action:pan-y}.techBranchGraph+.techBranchGraph{margin-top:22px;padding-top:22px;border-top:1px solid rgba(144,178,226,.12)}.techBranchHeading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.techBranchHeading strong{color:#edf4ff;font-size:12px;letter-spacing:1px;text-transform:uppercase}.techBranchHeading span{color:var(--accent);font-size:11px;font-weight:800}.techSplit{display:grid;grid-template-columns:210px 1fr;align-items:center;gap:18px}.techRootColumn{display:grid;align-items:center}.techPathStack{display:grid;gap:14px}.techPath{display:flex;align-items:center;min-width:max-content}.techConnector{display:inline-block;width:58px;height:2px;background:#90b2e224}.techConnector.complete{background:#91e8ac;box-shadow:0 0 12px #91e8ac5c}.techConnector.available{background:var(--accent);box-shadow:0 0 12px #70d5ff52}.techNode{display:grid;grid-template-columns:42px minmax(116px,1fr);align-items:center;gap:10px;min-width:190px;min-height:62px;padding:10px 12px;color:#e5eefc;background:#1f232ddb;border:1px solid rgba(144,178,226,.18);border-radius:8px;cursor:pointer;text-align:left}.techNode.selected{border-color:#ffd66ecc;box-shadow:0 0 24px -10px #ffd66eb8}.techNode.researched{background:#175247bd;border-color:#91e8ac85}.techNode.available{background:#112b38e0;border-color:#70d5ff8c}.techNode.unaffordable{border-color:#70d5ff40}.techNode.locked{opacity:.58}.techBadge{width:34px;height:34px;color:var(--accent)}.techNode.researched .techBadge{color:#91e8ac;border-color:#91e8ac7a}.techNodeText strong,.techNodeText small{display:block}.techNodeText strong{font-size:13px}.techNodeText small{margin-top:4px;color:var(--muted);font-size:10px}.techDetailsPanel{display:grid;align-content:start;gap:14px;padding:20px;overflow-y:auto;min-height:0}.techDetailsPanel h2{margin:0;font-size:24px;letter-spacing:.4px}.techDetailsPanel p{margin:0;color:var(--muted);line-height:1.35}.techDetailStats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.techDetailStats div{padding:9px;background:#1f2d4b6b;border-radius:8px}.techDetailStats span{display:block;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.techDetailStats strong{display:block;margin-top:4px;color:#edf4ff;font-size:12px;text-transform:capitalize}.techUnlockList{display:grid;gap:6px;color:#dbe6f6;font-size:12px}.techResearchBtn{min-height:44px;border:1px solid rgba(145,196,255,.42);border-radius:10px;cursor:pointer;font-weight:900}.resultStats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.resultStats span{display:flex;flex-direction:column;gap:5px;padding:12px;color:var(--muted);background:#5a78aa1f;border-radius:8px;font-size:11px}.resultStats strong{color:var(--text);font-size:18px}.dailyResultCard{margin-top:12px;padding:13px 15px;color:var(--muted);background:linear-gradient(135deg,#ffd66e1f,#5a78aa1f);border:1px solid rgba(255,214,110,.24);border-radius:10px}.dailyResultCard strong,.dailyResultCard span{display:block}.dailyResultCard strong{margin-top:3px;color:var(--text);font-size:18px}.dailyResultCard span{margin-top:4px;font-size:12px}.resultActions{display:flex;justify-content:center;gap:8px}.surrenderModal{width:min(460px,calc(100vw - 40px))}.surrenderActions{display:flex;justify-content:center;gap:9px;margin-top:20px}.surrenderActions button{min-width:120px;padding:10px 18px;color:var(--text);background:#304368d1;border:1px solid var(--panel-border);border-radius:9px;cursor:pointer;font-weight:700}#stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 78% 78% at 50% 44%,transparent 52%,rgba(4,8,16,.52) 100%)}button:active:not(:disabled){transform:translateY(0) scale(.985);filter:brightness(.95)}#endTurnBtn{letter-spacing:.3px;transition:filter .15s,transform .08s,box-shadow .2s}#endTurnBtn:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 12px 32px #286ed29e}.btnIcon{width:14px;height:14px;flex:none}#utilityHud button,#endTurnBtn{display:inline-flex;align-items:center;gap:7px;justify-content:center}#goldInfo .coinIcon{width:15px;height:15px;vertical-align:-2px;margin-right:2px}.settingsModal{width:min(560px,calc(100vw - 40px));text-align:left}.settingsModal h1{text-align:center}.settingsSection{margin:16px 0}.settingsSection .actionTitle{margin-bottom:9px}.settingsBtn{padding:10px 18px}.volumeGrid{display:grid;gap:9px;margin-top:12px}.volumeControl{display:grid;gap:6px;color:var(--muted);font-size:12px}.volumeControl span{display:flex;justify-content:space-between;gap:10px}.volumeControl strong{color:var(--text)}.volumeControl input{width:100%;accent-color:var(--accent)}.presetRow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}.presetChip{padding:8px 15px;color:var(--text);background:#3043688c;border:1px solid var(--panel-border);border-radius:999px;cursor:pointer;font-weight:700;font-size:12px;transition:filter .15s,background .15s,border-color .15s,transform .08s}.presetChip.active{color:#fff;background:linear-gradient(180deg,#3d8be5,#2762b8);border-color:#91caff99}.qualityToggles{display:grid;grid-template-columns:1fr 1fr;gap:7px}.qualityToggle{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;color:var(--text);background:#506a991f;border:1px solid var(--panel-border);border-radius:9px;cursor:pointer;font-size:12px;font-weight:650;transition:background .15s,border-color .15s,transform .08s}.qualityToggle b{font-size:11px;font-weight:800;color:var(--muted)}.qualityToggle.on{background:#347e5b38;border-color:#5ccf8c73}.qualityToggle.on b{color:#91e8ac}.settingsHint{margin-top:11px;color:var(--muted);font-size:11px;line-height:1.45}@media(max-width:760px){.hudCard{top:8px}.qualityToggles{grid-template-columns:1fr}#resourceHud{left:8px;min-width:126px;padding:8px 10px}#goldInfo strong{font-size:18px}#turnHud{top:8px;min-width:145px;padding:7px 9px}#turnInfo{gap:5px;font-size:10px}#turnInfo strong{font-size:18px}.turnTimer{margin-top:3px;padding:2px 7px;font-size:9px}#utilityHud{top:66px;right:8px;left:auto;display:grid;grid-template-columns:repeat(3,max-content);justify-content:flex-end;gap:4px}#utilityHud button{padding:8px;font-size:10px}#utilityHud .surrenderBtn{grid-column:3;grid-row:1}#utilityHud button[data-menu=tech]{grid-column:1;grid-row:2}#utilityHud button[data-menu=stats]{grid-column:2;grid-row:2}#utilityHud button[data-menu=settings]{grid-column:3;grid-row:2}#connectionHud{top:105px;max-width:calc(100vw - 16px);white-space:nowrap}.turnBanner,.eventBanner{top:118px;width:calc(100vw - 18px);padding:10px 13px 12px;border-radius:13px}.turnBannerKicker{font-size:9px;letter-spacing:1.4px}.turnBannerTitle{flex-wrap:wrap;gap:4px 7px;font-size:18px}.turnBannerTitle span{font-size:11px}.turnBannerText{margin-top:4px;font-size:11px;line-height:1.35}#contextPanel,#combatPanel{top:auto;left:6px;right:6px;bottom:58px;width:auto;max-height:38vh;overflow-y:auto;padding:24px 13px 11px;border-radius:14px 14px 10px 10px;background:#0b111df2;transform:translateY(var(--sheet-drag, 0));transition:transform .12s ease}#contextPanel.draggingSheet,#combatPanel.draggingSheet{transition:none}.sheetGrabber{position:sticky;top:-18px;z-index:2;display:flex;justify-content:center;width:100%;height:20px;margin:-18px 0 2px;cursor:grab;touch-action:none}.sheetGrabber span{width:42px;height:4px;margin-top:8px;background:#afcbf273;border-radius:999px}.panelCloseBtn{top:8px;right:10px;width:28px;height:28px}#contextPanel h2,#combatPanel h2{font-size:18px}#contextPanel .description{margin:7px 0;font-size:12px}#contextPanel .stats{gap:5px;margin-bottom:8px}#tutorialPanel{top:104px;right:8px;left:8px;width:auto;transform:none}#logPanel{display:none}#rotationHud{bottom:12px;left:8px;transform:none}#rotationHud button{min-width:0;padding:9px 10px;font-size:11px}#rotationHud span{display:none}#endTurnBtn{right:8px;bottom:12px;min-width:112px;padding:11px 14px}.modal,.result,.mainMenu{width:calc(100vw - 24px);padding:20px}.launchMenu{width:calc(100vw - 16px);height:auto;min-height:calc(100vh - 16px);overflow:visible;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:14px;padding:16px}.launchCopy{align-self:start}.launchMenu h1{margin:6px 0 0;font-size:clamp(40px,13vw,56px);letter-spacing:3px}.launchMenu .launchTagline{margin:8px 0 12px;font-size:13px}.launchPrimary,.launchSecondary,.launchUtility{width:100%}.launchPrimary button{min-height:58px;padding:12px 16px}.launchPrimary strong{font-size:20px}.launchUtility{grid-template-columns:repeat(2,minmax(0,1fr))}.quickModeGrid{grid-template-columns:1fr}.launchHero{min-height:0;padding:14px}.previewWindow{min-height:230px;margin-bottom:10px}.previewCallout{left:8px;right:8px;bottom:8px;padding:7px 10px;font-size:11px}.heroCopy{max-width:none;margin-left:0;padding:12px}.heroCopy h2{font-size:20px}.heroCopy p{font-size:12px}.launchFooter{align-items:flex-start;flex-direction:column;gap:6px;font-size:11px}.socialLinks{gap:10px}.factionSelectLayout{grid-template-columns:1fr}.factionDetailHeader{flex-direction:column}.unitPreview{height:180px}.techTreeShell{grid-template-columns:1fr;min-height:auto}.techBranchSidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.techGraphPanel{max-height:52vh}.techSplit{grid-template-columns:1fr;gap:10px}.techPath{padding-left:4px}.techConnector{width:28px}.resultStats{grid-template-columns:1fr}.surrenderActions button{min-width:105px}.mainMenu{padding:30px 20px}}@media(max-height:720px)and (min-width:761px){#overlay{padding-top:12px;padding-bottom:12px}.modal,.result,.mainMenu{margin-block:0}.launchMenu{min-height:auto;gap:18px 24px;padding:24px}.launchCopy{align-self:start}.launchMenu h1{font-size:clamp(50px,6.8vw,86px)}.launchMenu .launchTagline{margin:10px 0 16px}.launchPrimary button{min-height:62px}.previewWindow{min-height:300px}}.tribeRule{margin:6px 0;padding:6px 9px;color:#ffe9b8;background:#ffc6601a;border-left:3px solid var(--gold);border-radius:6px;font-size:12px;line-height:1.35}.unitConditions{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.unitConditions span{padding:2px 7px;border-radius:999px;background:#78beff29;font-size:11px;font-weight:700}.trainBtn.tribeUnit strong{color:var(--gold)}:root{--bg: #134153;--panel: rgba(12, 40, 52, .97);--panel-strong: #0c2834;--panel-border: #185067;--text: #c4dde7;--muted: #69aec9;--accent: #b3d3e0;--gold: #dcbf89;--danger: #ab5548;font-family:Segoe UI,system-ui,sans-serif;font-synthesis:none}body{background:#134153}button,input,select{font:inherit}button{min-height:44px;border-radius:10px;transition:background .18s,border-color .18s,transform .18s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #dcbe89;outline-offset:4px}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){filter:none;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}.primaryBtn,#endTurnBtn{background:linear-gradient(180deg,#f6d27a,#e4ae45)!important;color:#2a1d05!important;border:1px solid #f6d27a!important;font-weight:700;box-shadow:0 5px 14px #e4ae4538!important}.primaryBtn:hover:not(:disabled),#endTurnBtn:hover:not(:disabled){background:linear-gradient(180deg,#ffe08f,#efba55)!important}.hidden{display:none!important}input,select,.onlineField input,.onlineField select{min-height:48px;color:var(--text);background:#0f3341;border:1px solid #19546b;border-radius:9px;padding:12px 14px}input{user-select:text;-webkit-user-select:text}input::placeholder{color:#409ec3}select option{background:#0c2834;color:#c4dde7}.hudLabel,.modeLabel,.actionTitle,.versionLabel{color:#63acc8;letter-spacing:1.6px;font-weight:650}#overlay{padding:28px;background:#c6dee83b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#overlay:has(.launchMenu),#overlay:has(.setupMenu),#overlay:has(.factionSelect),#overlay:has(.onlineEntry){background:radial-gradient(ellipse at 76% 44%,#174e64 0,transparent 55%),#103645;-webkit-backdrop-filter:none;backdrop-filter:none}#overlay:has(.launchMenu):before,#overlay:has(.launchMenu):after,#overlay:has(.setupMenu):before,#overlay:has(.setupMenu):after,#overlay:has(.factionSelect):before,#overlay:has(.factionSelect):after{display:none}.modal,.result,.mainMenu{color:var(--text);background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;box-shadow:0 24px 80px #c6dee816;-webkit-backdrop-filter:none;backdrop-filter:none}.modal h1,.modal h2,.result h1,.mainMenu h1,.factionDetail h2{color:var(--text);font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.8px;text-shadow:none;background:none;-webkit-text-fill-color:currentColor}.mainMenu p,.modalBody,.description,.settingsHint{color:var(--muted);line-height:1.65}.mainMenu button:not(.primaryBtn),.modal button:not(.primaryBtn),.result button:not(.primaryBtn),.panel button{color:var(--text);background:#113848;border:1px solid #184f65;box-shadow:none}.mainMenu button:not(.primaryBtn):hover,.modal button:not(.primaryBtn):hover,.panel button:hover{background:#144254;border-color:#297fa0}.mainMenu .dangerBtn,.modal .dangerBtn,.panel .dangerBtn{color:#924638;background:#f7e5dc;border-color:#e9c3b3}.launchMenu{width:min(1320px,calc(100vw - 96px));height:auto;min-height:min(820px,calc(100dvh - 56px));max-height:none;padding:0;display:grid;grid-template-columns:minmax(340px,.92fr) minmax(390px,1.15fr);grid-template-rows:78px 1fr auto;gap:20px 36px;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation:none;overflow:visible}.studioHeader{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #bcd9e420}.studioBrand{display:flex;align-items:center;gap:10px;color:#bfdae5;font-size:19px;font-weight:750;letter-spacing:3px}.brandEmblem{width:35px;height:39px;flex-shrink:0;filter:none}.brandEmblem path:first-of-type{fill:#b7d5e2;stroke:#b7d5e2}.brandEmblem path:nth-of-type(2),.brandEmblem rect{fill:#1a566e;stroke:none}.studioHeaderRight{display:flex;align-items:center;gap:22px}.betaLabel{color:#62abc8;font-size:11px;letter-spacing:1.4px;text-transform:uppercase}.studioHeader button{width:44px;padding:11px;background:transparent!important;border-color:#1f6986!important}.studioHeader .btnIcon{width:19px;height:19px}.launchCopy{grid-row:2;align-self:center;padding:24px 0 28px;max-width:470px}.studioEyebrow{display:flex;align-items:center;gap:10px;color:#61abc8;font-size:10px;font-weight:700;letter-spacing:2.6px;text-transform:uppercase}.studioEyebrow:before{content:"";width:26px;height:1px;background:#d4c291}.launchMenu h1{margin:21px 0 22px;font:400 clamp(48px,5.4vw,79px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-3.5px;color:#c3dde7;text-shadow:none;white-space:normal;background:none;-webkit-text-fill-color:currentColor}.launchMenu h1 em{color:#69aec9;font-weight:400}.launchMenu .launchTagline{max-width:345px;margin:0 0 26px;color:#5ea9c7;font-size:15px;line-height:1.75}.launchPrimary{display:flex;flex-direction:column;gap:10px;width:100%;max-width:340px}.launchPrimary button{min-height:62px;padding:15px 20px;display:flex;align-items:center;justify-content:flex-start;gap:15px;text-align:left;border-radius:11px}.launchPrimary .btnText{display:flex;flex:1;flex-direction:column;gap:4px}.launchPrimary strong{font-size:16px;font-weight:650;letter-spacing:.1px}.launchPrimary .btnText>span{font-size:11px;font-weight:400;color:inherit;opacity:.77}.launchPrimary .primaryIcon{width:21px;height:21px}.buttonArrow{margin-left:auto;font-size:21px;font-weight:400}.launchSecondary{display:flex;flex-wrap:wrap;gap:9px;max-width:340px;margin-top:10px}.launchSecondary button{flex:1;display:flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-size:11px;font-weight:600;border-color:#1b5971!important;background:#0b242d50!important}.launchSecondary .btnIcon{width:16px;height:16px}.launchDaily{margin-top:24px;max-width:340px;padding-top:18px;border-top:1px solid #bcd9e420}.launchDaily .dailyChallengeBtn{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:13px;padding:0;border:0!important;background:none!important;text-align:left;min-height:52px}.launchDaily .dailyChallengeBtn>.btnIcon{width:38px;height:38px;padding:10px;background:#144355;border-radius:9px;color:#74b2cb}.launchDaily .btnText{display:flex;flex-direction:column;gap:5px}.launchDaily strong{font-size:13px;color:#bad7e3;font-weight:650}.launchDaily .btnText span{color:#56a6c6;font-size:11px}.dailyStatusLine,.equippedFactionLine,.menuStatsLine{margin-top:12px;color:#54a6c6;font-size:10px}.equippedFactionLine strong,.menuStatsLine strong{color:#8cbdd0}.launchHero{position:relative;grid-row:2;display:flex;flex-direction:column;justify-content:center;align-self:stretch;min-width:0;padding:0;background:none;border:0;box-shadow:none;overflow:visible}.previewWindow{position:relative;height:490px;min-height:390px;margin:0;border:none;border-radius:0;overflow:visible;background:none}.previewWindow:before{content:"";position:absolute;width:94%;aspect-ratio:1;max-height:94%;border-radius:50%;top:3%;left:3%;background:radial-gradient(circle,#1953698c 20%,#15465966 60%,transparent 71%);border:1px solid #3897bd30}.menuPreviewBoard{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.menuPreviewBoard canvas{width:100%!important;height:100%!important}.mapEdition{position:absolute;top:15px;left:22px;color:#45a0c4;font-size:9px;font-weight:650;letter-spacing:2px}.mapCompass{position:absolute;top:17px;right:19px;width:42px;height:42px;display:grid;place-items:center;border:1px solid #318db160;border-radius:50%;color:#46a0c4;font:12px Georgia,serif}.mapCompass:after{content:"";position:absolute;width:1px;height:55px;background:#318db150;transform:rotate(40deg);z-index:-1}.previewCallout{position:absolute;bottom:8px;left:50%;right:auto;transform:translate(-50%);width:max-content;max-width:94%;padding:10px 17px;color:#85bacf;background:#0e2d3ad9;border:1px solid #1a5770;border-radius:30px;box-shadow:none;font-size:11px;font-weight:500;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mapLegend{display:flex;justify-content:center;gap:22px;margin-top:18px;color:#4ea3c5;font-size:10px}.mapLegend span{display:flex;align-items:center;gap:7px}.legendSwatch{display:inline-block;width:7px;height:7px;border-radius:50%;background:#62abc8}.legendSwatch.rival{background:#c47962}.legendSwatch.neutral{background:#2f88ac}.launchFooter{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 0 6px;border-top:1px solid #bcd9e420;color:#4fa4c5;font-size:10px}.modeLinks{display:flex;flex-wrap:wrap;align-items:center;gap:3px}.modeLinks button{padding:6px 12px;min-height:36px;border:0!important;background:none!important;color:#74b2cb!important;font-size:11px;font-weight:500}.modeLinks button:hover{color:#bdd9e4!important;background:#16495d!important}.socialLinks{gap:12px}.socialLinks a{color:#4fa4c5}.hudCard,.panel{background:var(--panel);border:1px solid #1b5972;box-shadow:0 8px 28px #bfdae512}.hudCard{top:22px;border-radius:13px}#resourceHud{left:24px;min-width:164px;padding:12px 17px}#goldInfo{color:#d4bf91;font-size:12px;margin-top:5px}#goldInfo strong{font-size:25px;font-weight:600}.goldNextTurn{color:#6fb0ca;font-size:12px;margin-left:5px}#incomeInfo{color:#51a4c5;font-size:10px}#turnHud{left:212px;transform:none;min-width:194px;padding:12px 16px;text-align:left}#turnInfo{justify-content:flex-start;font-size:11px;margin-top:5px;gap:7px}#turnInfo strong{font-size:23px;font-weight:500}.dot{width:7px;height:7px;box-shadow:none;border:1px solid #bed9e430}#utilityHud{top:26px;right:24px;gap:7px;align-items:center}#utilityHud button,#rotationHud button{color:#88bbcf;background:#0d2c39ed;border:1px solid #1b5b74;border-radius:9px;min-height:44px;font-size:11px;font-weight:550;box-shadow:none}#utilityHud button{padding:11px 13px;gap:6px}#utilityHud .surrenderBtn{color:#a37560;background:#0f3240;border-color:#1b5a73}#utilityHud .btnIcon{width:16px;height:16px}#objectiveHud{position:absolute;left:50%;bottom:30px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}#objectiveHud strong{color:#8cbdd0;font-size:12px;font-weight:600}#objectiveHud span{color:#67adc9;font-size:10px}#rotationHud{left:24px;bottom:24px;transform:none;gap:7px}#rotationHud button{padding:11px 14px;min-width:0}#rotationHud button span{color:#46a0c4;background:#144355;border:0;border-radius:4px;padding:2px 5px;margin-left:5px}#endTurnBtn{bottom:24px;right:24px;padding:15px 23px;min-width:166px;min-height:52px;border-radius:11px;font-size:14px;font-weight:650;animation:none}.endTurnPrompt{box-shadow:0 0 0 4px #3f9ec350!important}#connectionHud{color:#8cbdd0;background:var(--panel);border-color:var(--panel-border);top:102px}.turnBanner,.eventBanner{top:106px;width:min(410px,calc(100vw - 40px));padding:12px 18px;background:#0c2a35f5!important;border:1px solid #1d617c;border-radius:11px;box-shadow:0 8px 25px #bbd8e312}.turnBannerSheen{display:none}.turnBannerKicker{color:#54a5c6;font-size:8px;letter-spacing:1.8px}.turnBannerTitle{color:#b4d4e0;font-size:18px;font-weight:650}.turnBannerTitle span{color:#54a6c6;font-size:10px}.turnBannerText,.eventBannerText{color:#56a6c6;font-size:11px;font-weight:400}.eventBannerTitle{color:#85b9ce;text-shadow:none;font:italic 24px Georgia,serif;text-transform:none;letter-spacing:0}.emoteTray{top:auto;bottom:92px;right:24px;transform:none;flex-direction:row;padding:3px;background:#0d2a36d9;border-color:#1a576f;border-radius:9px;gap:2px}.emoteBtn{color:#85b9ce;background:transparent;border:0;border-radius:6px;min-width:32px;width:32px;min-height:32px;height:32px;padding:0;font-size:14px}#logPanel{left:24px;bottom:82px;max-width:250px;max-height:65px;border:0;box-shadow:none;background:transparent;opacity:.68;font-size:10px;color:#87bacf;padding:0;pointer-events:none}#contextPanel,#combatPanel{top:122px;left:24px;width:285px;max-height:calc(100dvh - 240px);padding:18px;border-radius:14px}#combatPanel{left:auto;right:24px}.panel h2{color:#bdd9e4;font:400 25px Georgia,serif;margin-top:9px}.panel .description{font-size:12px;line-height:1.65}.panel .stats{padding:10px 0;border-block:1px solid #174e63;gap:10px;background:none;border-radius:0}.panel .stats span{color:#74b2cb;font-size:10px}.guidance{background:#123d4e;border-color:#1c5e78;color:#78b4cc;font-size:12px;border-radius:8px}.panelCloseBtn,.modalCloseX{background:#113949!important;color:#6fb0ca!important;border:1px solid #1a576f!important;min-width:36px;min-height:36px}.cityDetails div,.tileBuildingLine{background:#113a4a;border-color:#174c61}.cityDetails strong,.tileBuildingLine strong{color:#97c2d3}.populationBar{background:#184f64}.populationBar i{background:#54a6c6}.requirementText,.upgradeText,.factionLine{color:#5ba8c7;font-size:11px}.combatants>div,.combatDamage{background:#113949;border-color:#195369}#tutorialPanel{top:auto;bottom:100px;left:50%;right:auto;transform:translate(-50%);width:330px;padding:17px 20px;border:1px solid #216e8c;border-radius:13px}.tutorialProgress{color:#55a6c6;font-size:9px;letter-spacing:1.4px}#tutorialPanel>strong{display:block;color:#b4d4e0;font:22px Georgia,serif;margin:7px 0 4px}#tutorialPanel p{color:#69aec9;font-size:12px;line-height:1.55;margin:0}#tutorialPanel button{margin-top:12px;min-height:32px;padding:5px 0;font-size:10px;background:none;border:0;color:#439fc4}.tutorialFocus{outline:3px solid #d7c28e!important;outline-offset:4px;animation:none!important}.trainBtn.tutorialGlow{outline:3px solid #ffd66e;outline-offset:3px;animation:tutorialGlowPulse 1s ease-in-out infinite}@keyframes tutorialGlowPulse{50%{box-shadow:0 0 22px 4px #ffd66ebf;filter:brightness(1.25)}}@media(prefers-reduced-motion:reduce){.trainBtn.tutorialGlow{animation:none}}#endTurnBtn.tutorialLocked{opacity:.4;filter:grayscale(.5)}.setupMenu{width:min(580px,calc(100vw - 40px));text-align:left;padding:32px}.setupMenu h1{font-size:39px;margin:13px 0}.setupMenu p{font-size:13px}.menuBrandMark{display:inline-flex}.menuBrandMark .brandEmblem{width:29px}.onlineField>span{color:#69aec9;font-size:10px;letter-spacing:1px}.setupHint{color:#66acc8;background:#123a4b;border:1px solid #185167;border-radius:9px;padding:13px;font-size:11px;line-height:1.6}.menuActions{gap:9px}.menuActions button{min-height:46px;padding:12px 18px;font-size:12px}.onlineEntry h1{font-size:38px}.onlineEntry p{font-size:13px}.onlinePlayerCount{color:#67adc9;font-size:11px;background:#113847;border-color:#174e64}.onlineDot{background:#46a0c4;box-shadow:none}.quickModeCard{color:#8abcd0;background:#0f3342;border-color:#185168}.quickModeCard.selected{background:#134052;border-color:#3b9cc2}.quickModeCard span{color:#56a6c6}.factionSelect{width:min(1020px,calc(100vw - 40px));padding:30px}.factionSelect h1{font-size:42px}.factionSelect p{font-size:12px}.factionDetail{background:#113848;border:1px solid #195369;border-radius:15px}.factionListItem.selected{background:#15465a!important;border-color:#3897bd!important}.factionListItem small{color:#53a5c6}.unitPreview{background:radial-gradient(ellipse,#185168,#113a4a);border-color:#195369}.techTreeModal{width:min(1160px,calc(100vw - 40px))}.techTreeModal h1{font-size:32px}.techBranchBtn,.techNode{background:#103644!important;border-color:#195369!important;color:#8cbdd0!important}.techNode.unlocked,.techBranchBtn.active{background:#164a5f!important;border-color:#3a9ac0!important}.techNode.available{border-color:#2f89ad!important}.techNode.selected{outline:2px solid #5aa8c7}.techNode small,.techNode span,.techBranchBtn small{color:#57a7c6}.techConnector{background:#1d607b}.techDetailsPanel,.techGraphPanel{background:#0e303d;border-color:#174d62}.techDetailsPanel h2{color:#b2d3df}.techDetailsPanel p{color:#5ca9c7}.presetChip.active,.qualityToggle.on{background:#15485b!important;border-color:#318cb0!important}.qualityToggle.on b{color:#80b8cd}.resultStats>div{background:#113949;border-color:#19536a}.resultStats strong{color:#b3d3e0}.scrollSkin,#contextPanel,#combatPanel,.techGraphPanel,.techDetailsPanel,.modal{scrollbar-color:#206c8a #103644}@media(max-width:1050px)and (min-width:761px){.launchMenu{width:calc(100vw - 56px);gap:16px;grid-template-columns:minmax(310px,.92fr) minmax(330px,1fr)}.launchMenu h1{font-size:57px}.previewWindow{height:420px;min-height:320px}#utilityHud button span{display:none}#utilityHud button{width:44px;padding:12px}#turnHud{min-width:175px}}@media(max-width:760px){#overlay{padding:14px;align-items:flex-start}.launchMenu{width:100%;min-height:calc(100dvh - 28px);height:auto;grid-template-columns:1fr;grid-template-rows:58px auto auto auto;gap:0;padding:0 8px}.studioHeader{grid-row:1;gap:10px}.studioBrand{font-size:16px;letter-spacing:2px}.brandEmblem{width:29px;height:32px}.studioHeaderRight{gap:10px}.betaLabel{font-size:8px}.studioHeader button{min-height:36px;width:36px;padding:8px}.launchCopy{grid-row:2;padding:28px 7px 0;max-width:100%}.studioEyebrow{font-size:8px;letter-spacing:2px}.launchMenu h1{font-size:clamp(43px,11.5vw,65px);letter-spacing:-2px;margin:16px 0;line-height:1.03}.launchMenu .launchTagline{font-size:12px;margin:0 0 20px;max-width:270px}.launchPrimary,.launchSecondary,.launchDaily{max-width:none;width:100%}.launchPrimary button{min-height:58px;padding:12px 17px}.launchPrimary strong{font-size:15px}.launchDaily{margin-top:16px;padding-top:9px}.dailyStatusLine{display:none}.equippedFactionLine{font-size:9px;margin-top:10px}.launchHero{grid-row:3;margin-top:10px}.previewWindow{min-height:0;height:clamp(250px,75vw,380px)}.mapEdition{top:8px;left:7px;font-size:7px}.mapCompass{top:10px;right:7px;width:30px;height:30px}.previewCallout{bottom:0;font-size:9px;padding:8px 12px}.mapLegend{margin:12px 0 18px;font-size:8px;gap:18px}.launchFooter{grid-row:4;padding:12px 0;gap:8px;align-items:center;flex-direction:row}.modeLinks{gap:0}.modeLinks button{font-size:10px;padding:5px 8px}.launchFooter .socialLinks{display:none}.launchFooter>span{font-size:9px}.hudCard{top:12px}.hudLabel{font-size:8px;letter-spacing:1.2px}#resourceHud{left:12px;min-width:118px;padding:10px 12px}#goldInfo strong{font-size:22px}#goldInfo{font-size:10px}#incomeInfo{font-size:8px}.goldNextTurn{font-size:10px}#turnHud{left:140px;right:12px;min-width:0;padding:10px 12px}#turnInfo{font-size:10px}#turnInfo strong{font-size:22px}#utilityHud{left:12px;right:12px;top:103px;display:flex;justify-content:space-between;gap:5px}#utilityHud button{width:44px;height:44px;min-height:44px;padding:12px;display:grid;place-items:center}#utilityHud button span{display:none}#utilityHud .surrenderBtn{margin-left:auto;order:10}#utilityHud [data-menu=tech]{width:auto;display:flex;padding:11px}#utilityHud [data-menu=tech] span{display:inline;font-size:10px}#objectiveHud{bottom:80px;left:12px;right:12px;transform:none;gap:4px}#objectiveHud strong{font-size:10px}#objectiveHud span{font-size:9px}#rotationHud{left:12px;bottom:18px;gap:5px}#rotationHud button{min-height:44px;padding:10px 12px;font-size:10px}#rotationHud span{display:none}#endTurnBtn{right:12px;bottom:18px;min-width:128px;min-height:44px;padding:12px 14px;font-size:12px}#connectionHud{top:154px;font-size:9px}.turnBanner,.eventBanner{top:157px;width:calc(100vw - 28px);padding:10px 13px}.turnBannerTitle{font-size:16px}.turnBannerText{font-size:10px}.eventBannerTitle{font-size:21px}.emoteTray{right:12px;bottom:115px;flex-direction:column;gap:0;padding:0;opacity:.8}.emoteBtn{width:36px;min-width:36px;height:36px;min-height:36px;font-size:13px}#contextPanel,#combatPanel{top:auto;left:8px;right:8px;bottom:115px;width:auto;max-height:36dvh;padding:23px 16px 14px}#tutorialPanel{top:158px;bottom:auto;left:12px;right:12px;width:auto;transform:none;padding:12px 15px}#tutorialPanel>strong{font-size:19px}#tutorialPanel p{font-size:11px}#tutorialPanel button{position:absolute;top:8px;right:12px;margin:0}.panelCloseBtn{width:36px;height:36px}.panel h2{font-size:23px}.modal,.result,.mainMenu:not(.launchMenu){width:100%;padding:24px 20px;margin:auto;max-height:none}.setupMenu h1,.onlineEntry h1{font-size:34px}.setupMenu p{font-size:12px}.factionSelect h1{font-size:34px}.factionSelectLayout,.techTreeShell,.techSplit{grid-template-columns:1fr}.techTreeModal{max-height:calc(100dvh - 28px)!important}.techGraphPanel{max-height:45dvh}.techBranchSidebar{grid-template-columns:repeat(3,minmax(0,1fr))}.techBranchBtn{font-size:10px;padding:9px}.techDetailsPanel{padding:14px}}@media(max-height:720px)and (min-width:761px){#overlay{padding:16px 28px}.launchMenu{min-height:calc(100dvh - 32px);grid-template-rows:56px 1fr auto;gap:8px 25px}.launchCopy{padding:10px 0}.launchMenu h1{font-size:54px;margin:14px 0}.launchMenu .launchTagline{margin-bottom:17px;font-size:13px}.launchPrimary button{min-height:55px}.launchDaily{margin-top:14px;padding-top:10px}.previewWindow{height:365px;min-height:300px}.launchFooter{padding-top:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#stage:after{display:none}.launchSecondary button .btnIcon,.launchSecondary button:hover .btnIcon{color:#6aaec9}.equippedFactionLine .factionShortcut{min-height:24px;padding:2px 7px;margin-left:7px;font-size:9px;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;color:#75b3cb}#saveStatus{position:absolute;left:50%;top:99px;transform:translate(-50%);max-width:min(520px,90vw);padding:9px 14px;background:#113847;border:1px solid #dfc58d;color:#dcbd89;font-size:11px;border-radius:8px;z-index:20}@media(min-width:761px){#tutorialPanel{top:130px;right:24px;left:auto;bottom:auto;transform:none;width:265px}}@media(max-width:1200px)and (min-width:761px){#utilityHud button span{display:none}#utilityHud button{width:44px;padding:12px}}.boardStatus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.techBranchSidebar{background:#113847;border-color:#19556c}.techBranchTab{background:#0e2f3c!important;border-color:#1a556d!important;color:#85bacf!important}.techBranchTab.selected{background:#164a5e!important;border-color:#3b9bc1!important}.techBranchTab strong,.techBranchHeading strong,.techNodeText strong{color:#b1d2df}.techBranchTab small,.techBranchHeading span{color:#4ea3c5}.techBranchIcon,.techBadge{color:#76b3cb;background:#144254;border-color:#1c5d77}.techNode.researched{background:#16485c!important;border-color:#308aae!important}.techNode.researched .techBadge{color:#93c0d2;background:#1d627d}.techBranchGraph{background:#0d2c38;border-color:#174c61}.techDetailStats div,.techUnlockList{background:#123a4b;border-color:#195269}.techDetailStats strong{color:#8abcd0}.techDetailStats span,.techUnlockList div{color:#52a5c6}.techModalSubtitle{color:#58a7c6}.techTreeModal{padding:26px}.techTreeShell{grid-template-columns:150px minmax(0,1fr) 235px;gap:12px}.techTreeShell>*{min-width:0}.techBranchSidebar{padding:8px;gap:6px}.techBranchTab{grid-template-columns:28px minmax(0,1fr);gap:7px;padding:9px 7px}.techBranchIcon{width:28px;height:28px;font-size:12px}.techBranchTab strong,.techBranchTab small{font-size:10px}.techDetailsPanel{padding:17px;gap:12px;overflow-wrap:anywhere}.techDetailsPanel p{font-size:12px;line-height:1.6}.techDetailsPanel .techResearchBtn{min-width:0;width:100%;font-size:12px;padding:12px}.techDetailStats strong{font-size:11px}@media(max-width:760px){.techTreeModal{overflow-y:auto;padding:22px 16px!important}.techTreeShell{height:auto;grid-template-columns:1fr}.techBranchSidebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.techBranchTab{grid-template-columns:22px minmax(0,1fr);padding:8px 5px}.techBranchIcon{width:22px;height:22px;font-size:9px}.techBranchTab strong{font-size:8px;letter-spacing:0}.techGraphPanel{height:230px;max-height:32dvh}.techDetailsPanel{overflow:visible}.techDetailStats{grid-template-columns:repeat(4,minmax(0,1fr))}.techDetailStats div{padding:8px 5px}.techDetailStats span{font-size:8px}.techSplit{grid-template-columns:140px 1fr}}@media(max-width:760px){.techSplit{grid-template-columns:210px 1fr}}.launchPrimary button:not(.primaryBtn){color:#b4d4e0!important;background:#123d4e!important;min-height:44px;padding:10px 18px}.launchPrimary button:not(.primaryBtn) .btnText,.launchPrimary button:not(.primaryBtn) .btnText *,.launchPrimary button:not(.primaryBtn) .buttonArrow{color:#b4d4e0!important}@media(max-height:720px)and (min-width:761px){.launchMenu{grid-template-rows:48px 1fr auto}.launchCopy{padding:2px 0}.launchMenu h1{font-size:48px;margin:10px 0}.launchFooter{padding-top:8px}}.factionDetail{box-shadow:none}.factionList{align-content:start;grid-auto-rows:min-content;gap:8px}.factionListItem{min-height:56px;padding:14px}.factionStatus,.factionStatus.free,.factionStatus.free_trial{color:#91bfd1;background:#144356;border-color:#2f89ad}.factionTraitLine{color:#d9bd8c;background:#133f50;border-color:#d5bd90}.unitPreviewLabel{color:#b4d4e0}.playStyleTag{color:#b4d4e0;background:#195269}#overlay{z-index:100}.inviteRow input{color:#b4d4e0;background:#0f3341}.turnTimer.own{color:#b2d3df;background:#144254;border-color:#227190}.turnTimer.opponent{color:#92bfd2;background:#134052;border-color:#206b88}.turnTimer.urgent{color:#913e2f;background:#fae2d7;border-color:#cf8b72;animation:none;font-weight:750}@media(max-height:500px)and (min-width:761px){#overlay{padding:12px 16px}.techTreeModal{max-height:calc(100dvh - 24px)!important;overflow-y:auto}.techTreeShell{height:auto}.techGraphPanel{height:300px;max-height:none}.techBranchSidebar{align-content:start}.techDetailsPanel{overflow:visible}}.techTreeModal .hexTechShell{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;align-items:start}.techTreeModal .hexTechBoardWrap{min-width:0}.techTreeModal .hexTechBoard{position:relative;width:min(100%,540px);margin:0 auto;aspect-ratio:12.124 / 11;container-type:inline-size}.techTreeModal .hexTechNode{--c1: #297ea0;--c2: var(--c1);--hex-edge: #195269;--hex-fill: #123c4d;--hex-ink: #3390b4;position:absolute;width:calc(100% / 7);height:calc(100% * 2 / 11);min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;cursor:pointer;transform:translate(-50%,-50%);background:var(--hex-edge);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);transition:transform .15s ease}.techTreeModal .hexTechFace{position:absolute;top:3px;right:3px;bottom:3px;left:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0 7%;text-align:center;background:var(--hex-fill);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.techTreeModal .hexTechFace strong{font-size:clamp(8px,2.3cqw,12px);line-height:1.1;font-weight:700;color:var(--hex-ink);overflow-wrap:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual}.techTreeModal .hexTechFace small{font-size:clamp(7px,1.9cqw,10px);color:var(--hex-ink);opacity:.85}.hexTechNode[data-dir=field],.hexTechLegend [data-dir=field]{--c1: #e0c685}.hexTechNode[data-dir=forest],.hexTechLegend [data-dir=forest]{--c1: #6fb0ca}.hexTechNode[data-dir=mountain],.hexTechLegend [data-dir=mountain]{--c1: #868b98}.hexTechNode[data-dir=water],.hexTechLegend [data-dir=water]{--c1: #3b93c4}.hexTechNode[data-dir=road],.hexTechLegend [data-dir=road]{--c1: #b5744a}.hexTechNode[data-dir=sky],.hexTechLegend [data-dir=sky]{--c1: #8670cc}.hexTechNode[data-dir=root]{--c1: #73b2cb}.hexTechNode[data-dir2=field]{--c2: #e0c685}.hexTechNode[data-dir2=forest]{--c2: #6fb0ca}.hexTechNode[data-dir2=mountain]{--c2: #868b98}.hexTechNode[data-dir2=water]{--c2: #3b93c4}.hexTechNode[data-dir2=road]{--c2: #b5744a}.hexTechNode[data-dir2=sky]{--c2: #8670cc}.hexTechNode[data-dir2=root]{--c2: #73b2cb}.techTreeModal .hexTechNode.researched{--hex-edge: linear-gradient(135deg, var(--c1), var(--c2));--hex-fill: linear-gradient(135deg, var(--c1), var(--c2));--hex-ink: #0b242d}.techTreeModal .hexTechNode.available{--hex-edge: linear-gradient(135deg, var(--c1), var(--c2));--hex-fill: #0c2a35;--hex-ink: #bdd9e4}.techTreeModal .hexTechNode.unaffordable{--hex-edge: linear-gradient(135deg, var(--c1), var(--c2));--hex-fill: #123a4b;--hex-ink: #64acc8}.techTreeModal .hexTechNode.locked{opacity:.78}.techTreeModal .hexTechNode.selected{z-index:2;transform:translate(-50%,-50%) scale(1.12);filter:drop-shadow(0 3px 6px rgba(199,223,232,.35))}.techTreeModal .hexTechNode:hover{transform:translate(-50%,-50%) scale(1.06)}.techTreeModal .hexTechNode.selected:hover{transform:translate(-50%,-50%) scale(1.12)}.techTreeModal .hexTechNode:focus-visible{outline:none;filter:drop-shadow(0 0 4px #c7dfe8)}.hexTechLegend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;margin-top:10px;font-size:11px;color:#7cb6cd}.hexTechLegend span{display:inline-flex;align-items:center;gap:5px}.hexTechLegend i{width:10px;height:10px;border-radius:3px;background:var(--c1)}@media(max-width:760px){.techTreeModal .hexTechShell{grid-template-columns:1fr}.techTreeModal .hexTechFace{top:2px;right:2px;bottom:2px;left:2px}}.rotateGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.techTreeModal .techDetailStats .techTouches{grid-column:1 / -1}.crownNote{display:grid;gap:3px;margin:8px 0 4px;padding:9px 11px;border:1px solid #e3cf8a;border-radius:10px;background:#113949;color:#90bfd1;font-size:12px;line-height:1.45}.crownNote strong{color:#e0c485;font:400 15px Georgia,serif}.crownNote b{color:#c4dde7}#turnHud{position:relative}.seasonChip{position:absolute;top:8px;right:10px;display:inline-flex;align-items:baseline;gap:4px;min-height:0;padding:3px 8px;border:1px solid #19556c;border-radius:999px;background:#0f3341;color:#97c2d3;font:600 11px/1.2 inherit;cursor:pointer}.seasonChip small{color:#57a7c6;font-size:9px;font-weight:500}.seasonChip[data-season=spring]{background:#113747;border-color:#1d627d}.seasonChip[data-season=summer]{background:#123a4b;border-color:#ecd894}.seasonChip[data-season=autumn]{background:#fbeadc;border-color:#ebc39c;color:#7a4a1f}.seasonChip[data-season=winter]{background:#eaf4fa;border-color:#bcd9ea;color:#2f5670}@media(max-width:760px){.seasonChip{top:2px;right:0;padding:2px 7px;font-size:10px}.seasonChip small{display:none}#inspectorRail .eventBanner.season{display:block;position:fixed;top:calc(var(--match-header) + 8px);left:12px;right:12px;width:auto;z-index:40}}.tribeRule{color:#d9bd8c;background:#133f50;border-color:#d5bd90}.unitConditions span{color:#2f4a5c;background:#dcebf3}.trainBtn.tribeUnit strong{color:#e0bd85}body:has(#gameHud:not(.hidden)){--match-header: 72px;--match-footer: 66px;--match-rail: 286px;--match-dock: 0px;background:#22607e}body:has(#gameHud:not(.hidden)) #stage{inset:var(--match-header) var(--match-rail) var(--match-footer) 0;overflow:hidden;background:#22607e}#gameHud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#matchTopbar,#matchFooter,#inspectorRail{position:absolute;pointer-events:auto;background:#0e303d;color:#bedae5}#matchTopbar{inset:0 0 auto;height:var(--match-header);display:flex;align-items:center;gap:22px;padding:8px 18px;border-bottom:1px solid #185066}#matchTopbar .hudCard{position:relative;inset:auto;min-width:0;border:0;box-shadow:none;padding:0;background:none;transform:none;border-radius:0}#resourceHud{flex:0 0 132px;border-right:1px solid #185066!important}#resourceHud .hudLabel,#turnHud .hudLabel{font-size:8px;letter-spacing:1.6px}#goldInfo{margin-top:3px;font-size:11px}#goldInfo strong{font-size:22px}#incomeInfo{display:none}#turnHud{flex:1;text-align:left}#turnInfo{margin-top:3px;font-size:11px;gap:8px;flex-wrap:nowrap}#turnInfo strong{font-size:21px}#turnInfo>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#turnTimer{margin:0 0 0 8px;font-size:10px;padding:3px 7px;position:absolute;left:190px;top:11px;white-space:nowrap}#utilityHud{position:relative;inset:auto;display:flex;gap:5px}#utilityHud button{min-width:40px;width:40px;min-height:40px;padding:10px;background:none;border-color:transparent}#utilityHud button span{display:none}#utilityHud button:hover{background:#133f51}#inspectorRail{top:var(--match-header);bottom:var(--match-footer);right:0;width:var(--match-rail);display:flex;flex-direction:column;gap:12px;padding:18px 16px;border-left:1px solid #185066;overflow:hidden}.railHeading{flex:none;display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:1.7px;color:#5aa8c7;padding-bottom:12px;border-bottom:1px solid #185066}.railHeading span:last-child{color:#d1bd94}#inspectorRail .panel{position:relative;inset:auto;transform:none;width:auto;border:0;border-radius:0;box-shadow:none;background:none;padding:0;margin:0;max-height:none}#contextPanel,#combatPanel{flex:1;min-height:0;overflow-y:auto}#inspectorRail:has(#combatPanel:not(.hidden)) #contextPanel{display:none}#inspectorRail .panel h2{font-size:26px;margin:8px 0}#inspectorRail .panel .description{font-size:12px}#inspectorRail .panel .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px 4px;margin:10px 0;padding:12px 0}#inspectorRail .panel .stats span{font-size:10px}#inspectorRail .panelCloseBtn{position:absolute;right:0;top:0;min-height:30px;width:30px;height:30px;padding:0}#inspectorRail .sheetGrabber{display:none}#inspectorRail .guidance{font-size:11px;line-height:1.55}#tutorialPanel{flex:none;padding:12px!important;background:#133e4f!important;border:1px solid #1a576f!important;border-radius:10px!important}#tutorialPanel>strong{font:20px Georgia,serif;margin:6px 0}#tutorialPanel p{font-size:12px;line-height:1.5}#tutorialPanel button{margin:7px 0 0;min-height:30px;font-size:10px;padding:3px 0}#railIdle{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px}.railCompass{color:#ccbc99;width:54px;height:54px;border:1px solid #1d627d;border-radius:50%;display:grid;place-items:center;font:24px Georgia,serif}#railIdle h2{font:27px Georgia,serif;margin:0;color:#b4d4e0}#railIdle p{font-size:12px;line-height:1.7;color:#5ca9c7;margin:0}#inspectorRail:has(#tutorialPanel:not(.hidden),#contextPanel:not(.hidden),#combatPanel:not(.hidden)) #railIdle{display:none}#logPanel{flex:none;width:auto;color:#5aa8c7;font-size:10px;line-height:1.6;opacity:1;padding-top:12px!important;border-top:1px solid #164a5f!important;max-height:54px!important;overflow:hidden;pointer-events:none}#logPanel div:not(:first-child){display:none}#connectionHud{position:relative;inset:auto;transform:none;flex:none;padding:6px 8px;border-radius:6px;font-size:10px;text-align:left}#saveStatus{position:relative;inset:auto;transform:none;width:auto;max-width:none;font-size:10px;flex:none}#inspectorRail .turnBanner,#inspectorRail .eventBanner{position:relative;inset:auto;transform:none;width:100%;padding:8px 10px;flex:none;box-shadow:none}#inspectorRail .turnBannerTitle,#inspectorRail .eventBannerTitle{font-size:16px}#inspectorRail .turnBannerText{font-size:10px}#matchFooter{inset:auto 0 0;height:var(--match-footer);display:flex;align-items:center;gap:16px;padding:10px 18px;border-top:1px solid #185066}#rotationHud{position:relative;inset:auto;transform:none;display:flex;gap:5px;flex:none}#rotationHud button{min-width:40px;min-height:40px;height:40px;padding:8px;font-size:18px;display:grid;place-items:center;border-color:transparent;background:none}#rotationHud button span{display:none}#rotationHud #fitBoardBtn,#rotationHud #nextUnitBtn{font-size:10px;width:auto;padding:8px 10px;border:1px solid #185066}#objectiveHud{position:relative;inset:auto;transform:none;flex:1;gap:4px;align-items:flex-start}#objectiveHud strong{font-size:11px}#objectiveHud span{font-size:10px}#endTurnBtn{position:relative;inset:auto;min-width:144px;min-height:44px;padding:11px 18px;flex:none;font-size:12px}#reactionMenu{flex:none;border-top:1px solid #164a5f;padding-top:8px}#reactionMenu:has(.emoteTray.hidden){display:none}#reactionMenu summary{font-size:10px;color:#5aa8c7;cursor:pointer;min-height:24px}#reactionMenu .emoteTray{position:relative;inset:auto;transform:none;border:0;padding:0;display:flex;flex-direction:row;background:none;gap:3px}#reactionMenu .emoteBtn{min-height:32px;width:32px}#emoteStage{position:relative;inset:auto;height:0;z-index:0}#emoteStage .emoteBubble{position:relative;inset:auto;transform:none;margin:0;animation:none;font-size:18px;padding:6px}@media(max-width:760px){body:has(#gameHud:not(.hidden)){--match-header:104px;--match-footer:60px;--match-rail:0px;--match-dock:calc(70px + var(--reaction-space, 0px))}body:has(#tutorialPanel:not(.hidden)){--match-dock:calc(108px + var(--reaction-space, 0px))}body:has(#contextPanel:not(.hidden),#combatPanel:not(.hidden)){--match-dock:calc(218px + var(--reaction-space, 0px))}body:has(#gameHud:not(.hidden)) #stage{inset:var(--match-header) 0 calc(var(--match-footer) + 70px + var(--reaction-space, 0px))}#matchTopbar{display:grid;grid-template-columns:104px minmax(0,1fr);grid-template-rows:42px 44px;gap:3px 12px;padding:7px 12px}#resourceHud{flex:none}#turnHud{min-width:0}#resourceHud .hudLabel,#turnHud .hudLabel{font-size:7px}#goldInfo{margin:0;font-size:10px}#goldInfo strong{font-size:19px}.goldNextTurn{font-size:10px}#turnInfo{font-size:10px;margin:0;gap:6px}#turnInfo strong{font-size:18px}#turnTimer{font-size:8px;padding:2px 5px;position:relative;inset:auto;margin:1px 0 0;width:fit-content}#utilityHud{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px}#utilityHud button{min-width:44px;width:44px;height:40px;min-height:40px;padding:10px}#utilityHud [data-menu=tech]{width:auto;padding:8px 12px;display:flex}#utilityHud [data-menu=tech] span{display:inline;font-size:10px}#inspectorRail{inset:auto 0 var(--match-footer);width:auto;height:var(--match-dock);padding:10px 14px;border:0;border-top:1px solid #185066;gap:7px;border-radius:16px 16px 0 0;box-shadow:0 -6px 18px #14323c2e;transition:height .18s ease-out}.railHeading{display:none}#tutorialPanel{padding:0 62px 0 0!important;background:none!important;border:0!important;border-radius:0!important}#tutorialPanel .tutorialProgress{font-size:8px}#tutorialPanel>strong{font:17px Georgia,serif;margin:3px 0}#tutorialPanel p{font-size:11px;line-height:1.35}#tutorialPanel button{position:absolute;right:0;top:0;font-size:10px;padding:6px;margin:0;min-height:32px}#inspectorRail .panel h2{font-size:20px;margin:4px 0}#inspectorRail .panel .description{font-size:11px;line-height:1.4;margin:5px 0}#inspectorRail .panel .stats{grid-template-columns:repeat(5,1fr);margin:5px 0;padding:7px 0}#inspectorRail .panel .stats span{font-size:9px}#inspectorRail .modeLabel{font-size:8px}#inspectorRail .guidance{padding:7px 9px;margin:4px 0}#logPanel{display:none}#railIdle{flex-direction:row;align-items:center;justify-content:flex-start;gap:10px}.railCompass{display:none}#railIdle h2{font-size:18px;flex:none}#railIdle p{font-size:10px;line-height:1.4}#matchFooter{padding:8px 12px;gap:7px}#rotationHud{gap:0}#rotationHud button{min-width:38px}#rotationHud #fitBoardBtn,#rotationHud #nextUnitBtn{padding:8px}#objectiveHud{display:none}#endTurnBtn{margin-left:auto;min-width:134px;min-height:44px;font-size:12px}#connectionHud{padding:2px 0;font-size:9px}#inspectorRail .turnBanner,#inspectorRail .eventBanner{display:none}}@media(max-height:520px)and (max-width:1024px){body:has(#gameHud:not(.hidden)){--match-header:60px;--match-footer:54px;--match-rail:244px;--match-dock:0px}body:has(#gameHud:not(.hidden)) #stage{inset:var(--match-header) var(--match-rail) var(--match-footer) 0}#matchTopbar{display:flex;padding:6px 12px;gap:14px}#resourceHud{flex:0 0 104px}#turnHud{flex:1}#utilityHud{flex:none;gap:0}#utilityHud button,#utilityHud [data-menu=tech]{width:36px;min-width:36px;height:38px;min-height:38px;padding:9px}#utilityHud [data-menu=tech] span{display:none}#turnTimer{position:relative;inset:auto;margin:1px 0 0;width:fit-content;font-size:8px}#inspectorRail{inset:var(--match-header) 0 var(--match-footer) auto;width:var(--match-rail);height:auto;padding:10px 12px;gap:8px}.railHeading,#logPanel{display:none}#tutorialPanel{padding:0 48px 8px 0!important;background:none!important;border:0!important}#tutorialPanel>strong{font-size:17px;margin:3px 0}#tutorialPanel p{font-size:11px}#tutorialPanel button{position:absolute;right:0;top:0;margin:0}#inspectorRail .panel h2{font-size:21px;margin:5px 0}#matchFooter{padding:5px 12px}#endTurnBtn{min-height:40px}#objectiveHud{display:flex}#objectiveHud span{display:none}}#rotationHud{order:0}#objectiveHud{order:1}#endTurnBtn{order:2}@media(min-width:761px){#utilityHud .surrenderBtn{border-color:transparent;background:none}}#emoteStage{height:auto;flex:none}#emoteStage:empty{display:none}@media(max-width:760px),(max-height:520px)and (max-width:1024px){#contextPanel:has(.factionLine) .description{display:none}#contextPanel .requirementText{font-size:10px;line-height:1.35;margin:3px 0}#contextPanel .factionLine{font-size:10px;margin:3px 0}#contextPanel:has(.factionLine) .stats{grid-template-columns:repeat(5,1fr);margin:6px 0;padding:7px 0}#contextPanel:has(.factionLine) .stats span{font-size:9px}#contextPanel .guidance{margin:4px 0;padding:6px 8px;font-size:10px}#contextPanel .guidance p{margin:0}}@media(max-width:760px)and (min-height:521px){body:has(#gameHud:not(.hidden)):has(#emoteTray:not(.hidden)){--reaction-space:32px}body:has(#gameHud:not(.hidden)):has(#reactionMenu[open] #emoteTray:not(.hidden)){--reaction-space:72px}#reactionMenu{padding:0;border:0}}body[data-tutorial] #stage:after{content:"TUTORIAL · practice battle";position:absolute;left:12px;top:12px;z-index:3;pointer-events:none;padding:6px 12px;border-radius:999px;background:#97c2d3;color:#0b242d;font:700 11px/1 system-ui,sans-serif;letter-spacing:1.2px;box-shadow:0 2px 8px #e6f0f540}.lockedHint{margin:10px 0;padding:8px 11px;border-radius:8px;background:#4ba2c524;color:#76b3cb;font-size:12px;line-height:1.4}.lockedUnits{margin-top:10px}.lockedUnits summary{cursor:pointer;color:#60aac8;font-size:12px;padding:6px 0}.lockedUnits .trainGrid{margin-top:6px;opacity:.85}.trainBtn em.needGold{color:#e0be85}#overlay:has(.launchMenu){background:radial-gradient(ellipse 46% 62% at 72% 48%,#1f7a97 0,#124a60 34%,transparent 72%),radial-gradient(ellipse 90% 80% at 50% 50%,#0b2a38 0,#04111a)}#overlay:has(.launchMenu):before{display:block;content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:1;mix-blend-mode:normal;background:radial-gradient(130% 110% at 62% 48%,transparent 38%,#02080dcc 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100' viewBox='0 0 56 100'%3E%3Cpath d='M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100' fill='none' stroke='%23f0c46c' stroke-opacity='.075' stroke-width='1'/%3E%3C/svg%3E");background-size:cover,56px 100px}#overlay:has(.launchMenu){overflow-x:hidden}.launchMenu{position:relative;z-index:1}.studioHeader{border-bottom-color:#f0c46c26}.studioBrand{color:#e8f4f4}.betaLabel{color:#f0c46c;opacity:.85}.studioEyebrow{color:#f0c46c;font-size:11px;letter-spacing:2.2px}.studioEyebrow:before{background:#f0c46c}.launchMenu h1{color:#f1fafa;letter-spacing:-2.5px;font-weight:400;text-shadow:0 2px 30px #02101877}.launchMenu h1 em{color:#f0c46c;font-style:italic}.launchMenu .launchTagline{color:#9ccad8;max-width:380px}.launchSecondary button{color:#c4e2ea!important;border-color:#2a7791!important;background:#06161e99!important}.launchDaily{border-top-color:#f0c46c26}.launchDaily strong{color:#e1f0f2}.launchDaily .btnText span,.dailyStatusLine,.equippedFactionLine,.menuStatsLine{color:#86bfd3}.equippedFactionLine strong,.menuStatsLine strong{color:#f0c46c}.mapEdition,.mapCompass,.mapLegend{color:#f0c46c;opacity:.9}.mapCompass{border-color:#f0c46c55}.mapCompass:after{background:#f0c46c33}.previewWindow:before{background:radial-gradient(circle,#2c93b266 0,#19607a55 46%,transparent 70%);border:1px solid #f0c46c40;box-shadow:0 0 90px #3fb6d433,inset 0 0 60px #02101855}.previewWindow:after{content:"";position:absolute;width:100%;aspect-ratio:1;max-height:100%;left:0;top:0;border-radius:50%;border:1px dashed #f0c46c33;pointer-events:none}.previewCallout{color:#e6f3f4;background:#04141cdd;border-color:#f0c46c55}.launchFooter{border-top-color:#f0c46c26;color:#86bfd3}.modeLinks button{color:#b5d9e4!important}.modeLinks button:hover{color:#f0c46c!important;background:#0b2e3c!important}.socialLinks a{color:#86bfd3}@media(prefers-reduced-motion:no-preference){.previewWindow:after{animation:tableRing 160s linear infinite}.launchCopy>*{animation:tableRise .7s cubic-bezier(.2,.7,.2,1) both}.launchCopy>:nth-child(2){animation-delay:.08s}.launchCopy>:nth-child(3){animation-delay:.16s}.launchCopy>:nth-child(4){animation-delay:.24s}.launchCopy>:nth-child(5){animation-delay:.32s}.launchCopy>:nth-child(n+6){animation-delay:.4s}}@keyframes tableRing{to{transform:rotate(360deg)}}@keyframes tableRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:760px){.launchMenu h1{font-size:clamp(40px,12vw,54px);letter-spacing:-1.5px}}#overlay:has(.setupMenu),#overlay:has(.factionSelect),#overlay:has(.onlineEntry){background:radial-gradient(ellipse 50% 60% at 50% 40%,#1b6f8c 0,#0f4157 36%,transparent 74%),radial-gradient(ellipse 90% 80% at 50% 50%,#0b2a38 0,#04111a);overflow-x:hidden}#overlay:has(.setupMenu):before,#overlay:has(.factionSelect):before,#overlay:has(.onlineEntry):before{display:block;content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:1;mix-blend-mode:normal;background:radial-gradient(130% 110% at 50% 45%,transparent 38%,#02080dcc 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100' viewBox='0 0 56 100'%3E%3Cpath d='M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100' fill='none' stroke='%23f0c46c' stroke-opacity='.075' stroke-width='1'/%3E%3C/svg%3E");background-size:cover,56px 100px}.setupMenu,.factionSelect,.onlineEntry{position:relative;z-index:1;margin-block:auto}.setupMenu,.factionSelect,.onlineEntry{background:linear-gradient(180deg,#0a2430ee,#061a24f2);border:1px solid #f0c46c33;box-shadow:0 30px 90px #010a10aa,0 0 70px #2a8aa826,inset 0 1px #f0c46c1f}.setupMenu .versionLabel,.factionSelect .versionLabel,.onlineEntry .versionLabel{color:#f0c46c;font-size:11px;letter-spacing:2.2px;text-transform:uppercase}.setupMenu h1,.factionSelect h1,.onlineEntry h1{color:#f1fafa;font-weight:400;letter-spacing:-1.5px}.setupMenu h1 em,.factionSelect h1 em,.onlineEntry h1 em{color:#f0c46c;font-style:italic}.setupMenu p,.factionSelect p,.onlineEntry p,.setupHint{color:#9ccad8}.onlineField span{color:#86bfd3;letter-spacing:1.6px}.setupMenu select,.setupMenu input,.onlineEntry select,.onlineEntry input{background:#06161e;border-color:#226b86;color:#e6f3f4}.setupMenu select:focus,.onlineEntry input:focus,.onlineEntry select:focus{border-color:#f0c46c;outline:none;box-shadow:0 0 0 3px #f0c46c33}.setupHint{background:#0b2a36;border:1px solid #f0c46c26}.factionDetail{background:#082029cc;border:1px solid #f0c46c2e}.factionListItem{background:#082029aa!important;border-color:#1f5f78!important}.factionListItem:hover:not(.selected){border-color:#f0c46c66!important}.factionListItem.selected{background:#0f3a4c!important;border-color:#f0c46c!important;box-shadow:inset 3px 0 #f0c46c}.factionListItem small{color:#86bfd3}.factionDetail h2{color:#f1fafa}.factionTraitLine{color:#b5d9e4}.tribeUnitsLine b{color:#f0c46c}.menuBrandMark .brandEmblem path:first-of-type{fill:#b7d5e2}@media(prefers-reduced-motion:no-preference){.setupMenu,.factionSelect,.onlineEntry{animation:tableRise .6s cubic-bezier(.2,.7,.2,1) both}}#objectiveHud.hintActive span,#railIdle.hintActive p{color:#f6d27a}#objectiveHud.hintActive span{font-size:12px}#railIdle.hintActive p{font-weight:600;animation:hintPulse 1.6s ease-in-out 2}@keyframes hintPulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){#railIdle.hintActive p{animation:none}}.cityStats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.cityStats div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 2px;border-radius:9px;background:#113a4a;border:1px solid #174c61}.cityStats i{font-style:normal;font-size:17px;line-height:1}.cityStats strong{font-size:13px;color:#cfe6ef}.cityMore{margin-top:8px}.cityMore summary{cursor:pointer;color:#60aac8;font-size:11px;padding:4px 0}.rewardTitle{color:#f6d27a!important;letter-spacing:1px}.cityRewardBtn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-height:52px;padding:10px 12px;text-align:left;border:1px solid #c9a24a!important;background:linear-gradient(180deg,#4a3f1c,#2f2a16)!important;animation:rewardPulse 1.8s ease-in-out infinite}.cityRewardBtn strong{font-size:14px;color:#ffe9a8}.cityRewardBtn small{font-size:11px;line-height:1.3;color:#d9cfa8}@keyframes rewardPulse{50%{box-shadow:0 0 0 3px #f6d27a47}}@media(prefers-reduced-motion:reduce){.cityRewardBtn{animation:none}}.trainGrid .trainBtn{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;min-height:46px;padding:8px 10px;font-size:13px;gap:2px 8px}.trainGrid .trainBtn em{flex-basis:100%}.cityStats{margin-top:6px}#contextPanel .contextActions{margin-top:10px}#contextPanel .coordLine{display:none}@media(max-width:760px){.cityStats{gap:4px}.cityStats div{flex-direction:row;justify-content:center;gap:4px;padding:5px 2px}.cityStats i{font-size:13px}.cityStats strong{font-size:12px}#contextPanel .upgradeText{margin:4px 0;font-size:11px}}@media(max-width:760px){body:has(#contextPanel:not(.hidden) .cityStats){--match-dock: calc(min(330px, 46vh) + var(--reaction-space, 0px))}}
