:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#eef3f6;--page-bg-soft:#e7eff3;--panel-bg:#fff;--panel-bg-raised:#fbfdfe;--panel-bg-subtle:#f8fbfc;--panel-border:#cad6dd;--panel-border-strong:#b9ccd5;--board-bg:#d3e0e6;--board-bg-muted:#cbd9df;--tile-bg:#f7fbfc;--tile-hover-bg:#e2f1f5;--tile-border:#7f9baa;--tile-muted-bg:#e8f0f4;--tile-muted-border:#a9bec9;--tile-empty-bg:#f0f6f8;--text-primary:#17202a;--text-heading:#16232b;--text-heading-soft:#1d2c36;--text-muted:#526371;--text-soft:#667986;--accent:#2d667c;--accent-strong:#245d82;--accent-soft:#2d667c24;--button-bg:#2d667c;--button-hover:#245d82;--button-text:#fff;--button-secondary-bg:#fff;--button-secondary-border:#9db4c0;--button-secondary-text:#243743;--button-disabled:#9badb7;--focus-ring:#31739c57;--selected:#c7962b;--selected-bg:#fff6df;--player-unit:#2d667c;--player-unit-ready:#237a59;--rival-unit:#a63b32;--rival-unit-strong:#7d201b;--alien-unit:#263449;--alien-glow:#9fd4e6;--alien-threat:#5a6fba;--asteroid-emblem:#d8b965;--asteroid-emblem-stroke:#9e7d2d;--asteroid-chip:#fff1bd;--asteroid-chip-text:#694f13;--danger:#8b312b;--danger-border:#b84d43;--danger-bg:#fff7f5;--success:#327d61;--success-bg:#eef9f2;--warning:#c7962b;--warning-bg:#fff8e7;--koth-flag:#cf6f22;--koth-flag-soft:#cf6f222e;--koth-flag-ring:#cf6f2275;--seat-player-1:#237a59;--seat-player-2:#a63b32;--seat-player-3:#8b6d1d;--seat-player-4:#5a58a7;--tutorial-highlight:#c78318;--tutorial-highlight-soft:#c7831838;--tutorial-highlight-glow:#c7831875;--preview-highlight:#2d7896;--preview-highlight-soft:#2d789629;--preview-highlight-glow:#2d78965c;--legal-highlight:#2d8a66;--legal-highlight-soft:#2d8a662e;--legal-highlight-glow:#2d8a663d;--attack-highlight:#c54d2c;--attack-highlight-soft:#c54d2c2e;--attack-highlight-glow:#c54d2c66;--danger-highlight:#b63e32;--danger-highlight-soft:#b63e322e;--danger-highlight-glow:#b63e326b;--shadow-soft:#25374614;--shadow-strong:#18273138;color:var(--text-primary);background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#0f1720;--page-bg-soft:#111c26;--panel-bg:#172430;--panel-bg-raised:#1c2b37;--panel-bg-subtle:#14212c;--panel-border:#314553;--panel-border-strong:#3e5665;--board-bg:#101b25;--board-bg-muted:#13212c;--tile-bg:#1b2b37;--tile-hover-bg:#243946;--tile-border:#526c7c;--tile-muted-bg:#15232e;--tile-muted-border:#314653;--tile-empty-bg:#162530;--text-primary:#e6eef2;--text-heading:#f4f8fa;--text-heading-soft:#dce8ed;--text-muted:#b1c1cb;--text-soft:#97aab5;--accent:#7bb4ca;--accent-strong:#9fd4e6;--accent-soft:#7bb4ca2e;--button-bg:#5b99b0;--button-hover:#79b5c8;--button-text:#061018;--button-secondary-bg:#22323e;--button-secondary-border:#587180;--button-secondary-text:#e4eef3;--button-disabled:#536673;--focus-ring:#8bcde66b;--selected:#d4aa4b;--selected-bg:#332b18;--player-unit:#6faec3;--player-unit-ready:#65bc93;--rival-unit:#d27a6f;--rival-unit-strong:#ffb2a9;--alien-unit:#202d42;--alien-glow:#9fd4e6;--alien-threat:#b3c5ff;--asteroid-emblem:#caa650;--asteroid-emblem-stroke:#f0d184;--asteroid-chip:#3f3419;--asteroid-chip-text:#ffe7a0;--danger:#f0a098;--danger-border:#d27a6f;--danger-bg:#35211f;--success:#65bc93;--success-bg:#172f27;--warning:#d4aa4b;--warning-bg:#302818;--koth-flag:#ffb257;--koth-flag-soft:#ffb25733;--koth-flag-ring:#ffb2578a;--seat-player-1:#65bc93;--seat-player-2:#f08f84;--seat-player-3:#d7b64f;--seat-player-4:#a6a1ff;--tutorial-highlight:#8fe2bc;--tutorial-highlight-soft:#8fe2bc3d;--tutorial-highlight-glow:#8fe2bc8a;--preview-highlight:#7bb4ca;--preview-highlight-soft:#7bb4ca2e;--preview-highlight-glow:#7bb4ca5c;--legal-highlight:#65bc93;--legal-highlight-soft:#65bc932e;--legal-highlight-glow:#65bc9347;--attack-highlight:#f0a098;--attack-highlight-soft:#f0a0982b;--attack-highlight-glow:#f0a0986b;--danger-highlight:#ff8f7f;--danger-highlight-soft:#ff8f7f2e;--danger-highlight-glow:#ff8f7f73;--shadow-soft:#0000003d;--shadow-strong:#0000006b}}*{box-sizing:border-box}html,#root{min-height:100%}body{background:var(--page-bg);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.72}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.appShell{width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:20px}.topBar{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.topBar>div:first-child{min-width:0}.eyebrow{color:var(--success);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:700}h1,h2,p{margin:0}h1{color:var(--text-heading);letter-spacing:0;font-size:1.7rem;line-height:1.1}h2{color:var(--text-heading-soft);letter-spacing:0;font-size:.96rem;line-height:1.2}.connectionPanel{min-width:0;color:var(--text-muted);align-items:center;gap:10px;font-size:.92rem;display:flex}.connectionPanel>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.elapsedStatus{color:var(--text-muted);font-variant-numeric:tabular-nums}.connectionPanel button,.primaryButton,.secondaryButton{border:1px solid var(--button-bg);background:var(--button-bg);min-height:36px;color:var(--button-text);border-radius:6px;padding:0 14px;font-weight:700}.primaryButton:hover{border-color:var(--button-hover);background:var(--button-hover);color:var(--button-text)}.connectionPanel button:hover,.secondaryButton:hover{border-color:var(--accent);background:var(--panel-bg-subtle);color:var(--text-heading)}.secondaryButton{border-color:var(--button-secondary-border);background:var(--button-secondary-bg);color:var(--button-secondary-text)}.primaryButton:disabled,.secondaryButton:disabled,.connectionPanel button:disabled{border-color:var(--button-secondary-border);background:color-mix(in srgb, var(--button-secondary-bg) 78%, var(--tile-muted-bg));color:var(--text-soft);box-shadow:none}.compactButton{min-height:30px;padding:0 10px}.connectionPanel button{border-color:var(--panel-border-strong);background:var(--button-secondary-bg);min-height:34px;color:var(--button-secondary-text)}.legalInfoBanner{border-top:1px solid var(--panel-border);color:var(--text-soft);justify-content:center;align-items:center;gap:12px;margin-top:auto;padding:6px 0 0;font-size:.72rem;line-height:1.1;display:flex}.legalInfoBanner nav{flex-wrap:wrap;justify-content:center;gap:8px 12px;display:flex}.legalInfoBanner a{color:var(--accent);border-radius:4px;font-weight:800;text-decoration:none}.legalInfoBanner a:hover,.legalInfoBanner a:focus-visible{color:var(--accent-strong);text-decoration:underline}.legalInfoBanner a[aria-current=page]{color:var(--text-primary)}.legalPage{gap:16px;width:min(900px,100%);min-height:0;margin:0 auto;display:grid}.legalPageHeader{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:14px;display:flex}.legalPageHeader h2{color:var(--text-heading);font-size:1.42rem}.legalDocument{gap:18px;padding-bottom:24px;display:grid}.legalDocument section{border-top:1px solid var(--panel-border);gap:8px;padding-top:14px;display:grid}.legalDocument p,.legalDocument li{color:var(--text-muted);font-size:.95rem;line-height:1.55}.legalDocument ul{gap:6px;margin:0;padding-left:20px;display:grid}.legalDocument code{border:1px solid var(--panel-border);background:var(--panel-bg-subtle);color:var(--text-heading-soft);border-radius:4px;padding:1px 4px;font-size:.9em}.lobbySections{gap:12px;width:100%;min-height:0;display:grid}.inLobby{background:radial-gradient(circle at 24% 18%,#6944a033 0 190px,#0000 420px),radial-gradient(circle at 78% 20%,#2d667c33 0 210px,#0000 460px),linear-gradient(#09111d 0%,#0d1420 56%,#080e17 100%);width:min(1500px,100%)}.inLobby .lobbySections{flex:auto}.inLobby .topBar{z-index:4;border-color:#97bed238;position:relative}.inLobby .topBar h1,.inLobby .connectionPanel{color:#f6fbff}.inLobby .connectionPanel button{color:#edf8ff;background:#122030b8;border-color:#97bed257;box-shadow:inset 0 0 0 1px #ffffff0d}.inLobby .connectionPanel button:hover,.inLobby .connectionPanel button:focus-visible{background:#21374ed1;border-color:#8fd6ebb3}.homeHero{background:radial-gradient(circle at 26% 20%,#8657be5c 0 110px,#0000 280px),radial-gradient(circle at 82% 26%,#348d973d 0 80px,#0000 260px),linear-gradient(#0c1424fa,#080d19fa 68%,#070b12fa);border:1px solid #97bed23d;border-radius:8px;align-content:center;justify-items:center;gap:18px;min-height:min(760px,100dvh - 64px);padding:clamp(36px,7vw,92px) 18px 26px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a,0 20px 60px #0000003d}.homeHero:after{content:"";opacity:.62;pointer-events:none;background-color:#0000;background-image:linear-gradient(60deg,#0000 0 48%,#3a79b038 49% 51%,#0000 52%),linear-gradient(-60deg,#0000 0 48%,#3a79b033 49% 51%,#0000 52%),linear-gradient(0deg,#0000 0 48%,#3a79b024 49% 51%,#0000 52%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:74px 43px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:min(640px,72%);height:42%;position:absolute;bottom:-12px;right:-30px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20% 78%,#0000);mask-image:linear-gradient(90deg,#0000,#000 20% 78%,#0000)}.nebulaWash,.hexGridWash,.asteroidField,.spaceBoardMotif,.starField{pointer-events:none;position:absolute}.nebulaWash{opacity:.86;background:radial-gradient(circle at 22% 28%,#6a41a37a 0 64px,#0000 220px),radial-gradient(circle at 64% 16%,#2c629b52 0 48px,#0000 240px),radial-gradient(circle at 46% 74%,#41306c5c 0 78px,#0000 260px);inset:0}.hexGridWash{opacity:.6;transform-origin:bottom;background-color:#0000;background-image:linear-gradient(60deg,#0000 0 49%,#3c86bf57 50%,#0000 51%),linear-gradient(-60deg,#0000 0 49%,#3c86bf47 50%,#0000 51%),linear-gradient(0deg,#0000 0 49%,#3c86bf2e 50%,#0000 51%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:88px 51px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;height:34%;bottom:12%;left:15%;right:8%;transform:perspective(600px)rotateX(52deg)}.asteroidField{filter:drop-shadow(0 10px 18px #00000038);border-radius:999px}.asteroidFieldLeft{opacity:.9;background:radial-gradient(circle at 32% 34%,#d7b861 0 14px,#0000 15px),radial-gradient(circle at 72% 20%,#b38b45 0 10px,#0000 11px),radial-gradient(circle at 68% 72%,#805f34 0 8px,#0000 9px);width:180px;height:130px;top:23%;left:8%}.asteroidFieldRight{opacity:.68;background:radial-gradient(circle at 18% 40%,#8b7045 0 11px,#0000 12px),radial-gradient(circle at 72% 30%,#c19a50 0 15px,#0000 16px),radial-gradient(circle at 88% 72%,#7c5d36 0 8px,#0000 9px);width:250px;height:130px;bottom:22%;right:8%}.homeHeroCopy{z-index:2;color:#f8fbff;text-align:center;justify-items:center;gap:8px;min-width:0;display:grid;position:relative}.homeHeroTitle{color:#fff;text-shadow:0 8px 28px #00000057;font-size:clamp(3rem,8vw,5.7rem);font-weight:950;line-height:.95}.homeHeroCopy h2{color:#f1f6ff;text-shadow:0 4px 18px #00000052;max-width:680px;font-size:clamp(1.08rem,2.2vw,1.55rem);font-weight:800;line-height:1.22}.landingActions{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070d18a8;border:1px solid #7aa1c62e;border-radius:8px;justify-items:stretch;gap:10px;width:min(320px,100%);padding:12px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff0a,0 16px 40px #00000042}.landingChoice{color:#eff8ff;text-align:left;background:#12222edb;border:1px solid #6a9cb76b;border-radius:6px;justify-content:flex-start;align-items:center;min-height:48px;padding:0 18px;font-weight:900;display:flex;box-shadow:inset 0 0 0 1px #ffffff0a}.landingChoice:hover,.landingChoice:focus-visible{background:#1e3748f0;border-color:#8fd6ebb8}.landingChoicePrimary{background:linear-gradient(#2d9b63 0%,#1f744d 100%);border-color:#57be7c94}.landingChoiceAlien{background:linear-gradient(#76419a 0%,#563074 100%);border-color:#b16bcb99}.landingChoiceParty{background:linear-gradient(#9a6326 0%,#67451e 100%);border-color:#e8a752a3}.landingFormShell{gap:10px;display:grid}.homeSecondaryControls{z-index:3;flex-wrap:wrap;justify-content:center;gap:8px;width:min(520px,100%);margin-top:clamp(24px,7vh,86px);display:flex;position:relative}.homeSecondaryControls button{color:#edf8ff;background:#0e1a2ab8;border:1px solid #97bed257;border-radius:999px;min-height:40px;padding:0 15px;font-size:.82rem;font-weight:900;box-shadow:inset 0 0 0 1px #ffffff0d}.homeSecondaryControls button:hover,.homeSecondaryControls button:focus-visible{color:#fff;background:#1e3748e0;border-color:#8fd6ebbd}.homeShareStatus{z-index:3;color:#cce6f4;text-align:center;max-width:min(520px,100%);font-size:.82rem;font-weight:800;line-height:1.3;position:relative}.modeBackButton{color:#b9ddf1;background:0 0;border:0;justify-self:start;min-height:30px;padding:0;font-size:.78rem;font-weight:900}.modeBackButton:hover,.modeBackButton:focus-visible{color:#fff}.panel.lobbyModeForm{color:#edf8ff;box-shadow:none;background:#0d1825db;border-color:#7aa1c647}.panel.lobbyModeForm h3,.panel.lobbyModeForm label{color:#edf8ff}.panel.lobbyModeForm .quietText{color:#bfd0de}.panel.lobbyModeForm input,.panel.lobbyModeForm select{color:#fff;background:#0b1723db;border-color:#82b0cd6b}.panel.lobbyModeForm .primaryButton{min-height:44px}.partyModeForm{gap:12px}.partyModeBrief{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.partyModeBrief span{color:#ffe4bd;text-align:center;white-space:nowrap;background:#cf6f2224;border:1px solid #e8a75257;border-radius:999px;min-width:0;padding:5px 7px;font-size:.72rem;font-weight:900}.spaceBoardMotif{z-index:1;inset:12% 6% 10%}.spaceBoardMotif svg,.starField{position:absolute;inset:0}.spaceBoardMotif svg{width:100%;height:100%;overflow:visible}.starField{opacity:.72;background:radial-gradient(circle at 12% 24%,#9fd4e6 0 1px,#0000 2px),radial-gradient(circle at 78% 18%,#d4aa4b 0 1px,#0000 2px),radial-gradient(circle at 45% 76%,#79b5c8 0 1px,#0000 2px),radial-gradient(circle at 31% 12%,#ffffffc7 0 1px,#0000 2px),radial-gradient(circle at 68% 61%,#ffffff94 0 1px,#0000 2px)}.orbitArc{fill:none;stroke:var(--panel-border-strong);stroke-dasharray:5 7;stroke-linecap:round;stroke-width:1.8px}.motifAsteroid path{fill:var(--asteroid-emblem);stroke:var(--asteroid-emblem-stroke);stroke-linejoin:round;stroke-width:2px}.motifAsteroid circle{fill:var(--asteroid-chip)}.motifRover rect,.motifRover path{fill:var(--player-unit);stroke:var(--button-secondary-bg);stroke-linejoin:round;stroke-width:2px}.motifRover circle{fill:var(--panel-bg);stroke:var(--player-unit);stroke-width:2px}.motifAlienShip ellipse,.motifAlienShip path{fill:#111b2c;stroke:#9fd4e6;stroke-linejoin:round;stroke-width:2px}.motifAlienShip circle,.motifStar{fill:#9fd4e6}.lobbySection{gap:8px;display:grid}.lobbySectionTitle{color:var(--accent-strong);text-transform:uppercase;font-size:.9rem}.lobbyGrid{grid-template-columns:repeat(auto-fit,minmax(260px,400px));gap:16px;width:100%;display:grid}.lobbyGrid .panel h3{color:var(--text-heading-soft);text-transform:none;font-size:.96rem}.gameLayout{grid-template-columns:minmax(0,1fr) minmax(292px,340px);align-items:stretch;gap:14px;min-width:0;display:grid}.sidePanel{gap:8px;min-width:0;display:grid}.gameInspector{align-content:start;max-height:calc(100dvh - 112px);padding-right:2px;overflow:auto}.playArea{gap:10px;min-width:0;display:grid}.mobileControlDock{display:none}.boardFocusStage{min-height:0;display:grid;position:relative}.boardFocusStage>.boardPanel{grid-area:1/1}.topGameStatus{border:1px solid var(--panel-border-strong);background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 64%, transparent), transparent 62%), var(--panel-bg-raised);box-shadow:0 14px 32px var(--shadow-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.turnBannerCopy{gap:4px;min-width:240px;display:grid}.topGameStatus h2{color:var(--text-heading);font-size:1.08rem}.topStatusActions{flex:none;justify-content:flex-end;align-items:center;display:flex}.topStatusFeedback{border:1px solid color-mix(in srgb, var(--accent) 46%, var(--panel-border));background:color-mix(in srgb, var(--accent-soft) 68%, var(--panel-bg));max-width:min(460px,34vw);color:var(--text-heading);border-radius:7px;padding:8px 10px;font-size:.84rem;font-weight:900;line-height:1.2;box-shadow:inset 0 0 0 1px #ffffff0a}.topStatusFeedback-error{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.phasePrompt{max-width:520px;color:var(--text-muted);font-size:.84rem;font-weight:700;line-height:1.25}.victoryStatus{border-color:var(--success);background:var(--success-bg)}.defeatStatus{border-color:var(--danger-border);background:var(--danger-bg)}.statusSummary{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0;display:flex}.statusSummary div{border:1px solid var(--panel-border);background:color-mix(in srgb, var(--panel-bg-raised) 86%, var(--page-bg-soft));border-radius:8px;min-width:128px;padding:6px 8px}.statusSummary div:first-child{border-color:color-mix(in srgb, var(--success) 44%, var(--panel-border));background:var(--success-bg)}.statusSummary div:nth-child(2){border-color:color-mix(in srgb, var(--warning) 48%, var(--panel-border));background:var(--warning-bg)}.statusSummary div:nth-child(3){border-color:color-mix(in srgb, var(--alien-threat) 42%, var(--panel-border));background:color-mix(in srgb, var(--alien-threat) 12%, var(--panel-bg))}.kothTopStatus{border-color:color-mix(in srgb, var(--koth-flag) 48%, var(--panel-border-strong));background:linear-gradient(135deg, color-mix(in srgb, var(--koth-flag-soft) 54%, transparent), transparent 58%), var(--panel-bg-raised);align-items:stretch}.kothTopStatus .turnBannerCopy{min-width:min(300px,100%)}.kothTopStatus h2{font-size:1.04rem}.kothScoreboard{grid-template-columns:repeat(4,minmax(94px,1fr));align-items:stretch;gap:7px;min-width:min(520px,100%);display:grid}.kothScorePlayer{border:1px solid color-mix(in srgb, var(--seat-color,var(--accent)) 46%, var(--panel-border));background:color-mix(in srgb, var(--seat-color,var(--accent)) 10%, var(--panel-bg));border-left-width:4px;border-radius:7px;align-content:center;gap:2px;min-width:0;padding:7px 8px;display:grid;position:relative}.kothScorePlayer span,.sidebarKothScore span{color:var(--text-heading-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:900;overflow:hidden}.kothScorePlayer strong,.sidebarKothScore strong{color:var(--text-heading);font-size:.95rem}.kothScorePlayer small,.sidebarKothScore .kothAsteroids{color:var(--text-muted);white-space:nowrap;font-size:.74rem;font-weight:900}.kothScorePlayer em{border:1px solid color-mix(in srgb, var(--success) 52%, var(--panel-border));background:var(--success-bg);color:var(--success);box-shadow:0 6px 16px var(--shadow-soft);border-radius:999px;padding:1px 6px;font-size:.72rem;font-style:normal;font-weight:950;position:absolute;top:-9px;right:7px}.currentKothPlayer{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--seat-color,var(--accent)) 26%, transparent), 0 8px 22px var(--shadow-soft)}.kothStatusPanel .statusSummary{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sidebarKothScores{gap:6px;display:grid}.sidebarKothScore{border:1px solid color-mix(in srgb, var(--seat-color,var(--accent)) 42%, var(--panel-border));background:color-mix(in srgb, var(--seat-color,var(--accent)) 9%, var(--panel-bg));border-left-width:4px;border-radius:7px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;padding:7px 8px;display:grid}.player_1{--seat-color:var(--seat-player-1)}.player_2{--seat-color:var(--seat-player-2)}.player_3{--seat-color:var(--seat-player-3)}.player_4{--seat-color:var(--seat-player-4)}.victoryStatus{box-shadow:0 12px 28px var(--shadow-soft), inset 0 0 0 1px color-mix(in srgb, var(--success) 28%, transparent)}.victoryStatus h2{color:var(--success)}.inviteCodeActions{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.inviteCodeLabel{color:var(--text-soft);text-transform:uppercase;font-size:.66rem;font-weight:800}.inviteCodeText{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;font-weight:800;line-height:1}.topBarInvite{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:6px;flex-wrap:nowrap;flex:0 auto;max-width:min(440px,44vw);padding:4px 5px 4px 7px;overflow:hidden}.topBarInvite .inviteCodeText{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;max-width:96px;overflow:hidden}.inviteButton{white-space:nowrap;min-height:30px;padding:0 10px;font-size:.78rem}.inviteStatusText{color:var(--text-muted);flex-basis:100%;font-size:.72rem;font-weight:800;line-height:1.2}.topBarInvite .inviteStatusText{text-overflow:ellipsis;white-space:nowrap;flex:0 120px;overflow:hidden}.postGameActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.unitActionsPanel,.surveyPanel,.upgradePanel,.engineSummaryPanel{gap:8px}.upgradeChoiceList{gap:8px;display:grid}.upgradeChoice{border:1px solid var(--panel-border);background:var(--panel-bg-subtle);border-radius:8px;gap:8px;padding:9px;display:grid}.upgradeChoiceHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.upgradeChoiceHeader span{border:1px solid var(--tutorial-highlight);background:var(--tutorial-highlight-soft);color:var(--text-heading);border-radius:999px;flex:none;padding:2px 7px;font-size:.66rem;font-weight:900;line-height:1.2}.recommendedUpgradeChoice{border-color:var(--tutorial-highlight);background:linear-gradient(180deg, var(--tutorial-highlight-soft), transparent 58%), var(--panel-bg-subtle);box-shadow:0 0 0 3px var(--tutorial-highlight-soft)}.upgradeChoice p{color:var(--text-muted);font-size:.82rem;line-height:1.3}.upgradeChoice .secondaryButton{width:100%}.upgradeFocusPanel{z-index:3;width:min(640px,100% - 32px);max-height:calc(100% - 40px);box-shadow:0 24px 64px var(--shadow-strong);position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.upgradeFocusPanel h2{font-size:1.22rem}.upgradeFocusPanel .upgradeChoiceList{grid-template-columns:repeat(3,minmax(0,1fr))}.botActivityPanel,.selectedObjectPanel{gap:8px}.selectedObjectSummary{gap:6px;display:grid}.selectedObjectSummary p{color:var(--text-muted);font-size:.88rem;line-height:1.35}.dangerText{color:var(--danger);font-weight:800}.botActionList{gap:6px;margin:0;padding:0;list-style:none;display:grid}.botActionList li{border-left:3px solid var(--rival-unit);color:var(--text-muted);padding-left:8px;font-size:.84rem;line-height:1.3}.botActionList li.majorEvent{border-left-color:var(--warning);color:var(--text-heading);font-weight:800}.actionButtonGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.actionList,.finishAction{gap:6px;display:grid}.finishAction{border-top:1px solid var(--panel-border);padding-top:8px}h3{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.74rem;line-height:1.2}.actionButtonRow{gap:4px;display:grid}.actionButtonRow .secondaryButton{white-space:normal;width:100%;padding-block:3px}.actionReason,.actionReadyText{min-width:0;color:var(--text-soft);font-size:.78rem;line-height:1.25}.actionReadyText{color:var(--success);font-weight:700}.endTurnBlock{gap:6px;display:grid}.waitingTurnText{border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text-soft);border-radius:8px;padding:12px 14px;font-size:.86rem;font-weight:700}.panel{border:1px solid var(--panel-border);background:var(--panel-bg);box-shadow:0 14px 32px var(--shadow-soft);border-radius:8px;gap:8px;padding:10px;display:grid}label{color:var(--text-muted);gap:6px;font-size:.88rem;font-weight:700;display:grid}.inlineOption{align-items:center;gap:8px;display:flex}.inlineOption input{width:18px;min-height:18px;padding:0}input,select{border:1px solid var(--panel-border-strong);width:100%;min-height:42px;color:var(--text-primary);background:var(--panel-bg-raised);border-radius:6px;padding:0 10px}.factList{gap:5px;margin:0;display:grid}.factList div{grid-template-columns:minmax(72px,.9fr) minmax(0,1.1fr);align-items:baseline;gap:8px;display:grid}dt{color:var(--text-soft);text-transform:uppercase;font-size:.74rem;font-weight:700}dd{min-width:0;color:var(--text-heading-soft);overflow-wrap:anywhere;margin:0;font-size:.88rem}.quietText{color:var(--text-soft);font-size:.92rem}.lobbyHelpText{margin-top:-4px}.boardPanel{border:1px solid color-mix(in srgb, var(--panel-border) 72%, var(--accent));background:linear-gradient(180deg, color-mix(in srgb, var(--board-bg-muted) 64%, transparent), transparent 42%), var(--board-bg);min-height:clamp(520px,100dvh - 170px,760px);box-shadow:inset 0 0 0 1px #ffffff2e, 0 18px 42px var(--shadow-soft);border-radius:10px;grid-template-rows:auto minmax(0,1fr);place-items:center;gap:8px;padding:14px;display:grid;position:relative;overflow:hidden}.selectedRoverTargeting{--move-target-fill:var(--legal-highlight-soft);--move-target-stroke:var(--legal-highlight);--move-target-glow:var(--legal-highlight-glow)}.boardViewport{overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-drag:none;width:min(100%,900px);height:100%;min-height:0;position:relative;overflow:hidden}.boardCanvas{transform-origin:0 0;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%}.upgradeFocusBoard{background:var(--board-bg-muted)}.upgradeFocusBoard .boardLegend{opacity:.48}.upgradeFocusBoard .boardCoachPrompt{display:none}.upgradeFocusBoard .boardSvg{opacity:.38;filter:saturate(.55)contrast(.92);pointer-events:none}.upgradeFocusBoard .hexCell{cursor:default}.boardSvg{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:min(100%,900px);min-width:0;height:auto;display:block}.boardSvg *,.hexCell,.actionReplayBoard .hexCell,.targetReticle,.buildGhostMarker{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-drag:none}.boardLegend{width:min(100%,900px);color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:6px 10px;font-size:.76rem;font-weight:700;line-height:1.25;display:flex}.boardLegend b{color:var(--text-heading)}.modeLegend{color:var(--accent-strong)}.attackLegend{color:var(--danger)}.legendItem{align-items:center;gap:5px;min-height:18px;display:inline-flex}.legendItem i{border:2px solid var(--tile-border);background:var(--panel-bg);width:14px;height:14px;box-shadow:inset 0 0 0 2px var(--panel-bg);border-radius:50%}.legendItem-own i{border-color:var(--accent);background:var(--success-bg)}.legendItem-rival i{border-color:var(--rival-unit-strong);background:var(--danger-bg);clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}.legendItem-alien i{border-color:var(--alien-threat);background:var(--alien-unit)}.legendItem-asteroid i{border-color:var(--asteroid-emblem-stroke);background:var(--asteroid-emblem);border-radius:5px}.legendItem-flag i{border-color:var(--koth-flag);background:var(--koth-flag-soft)}.legendItem-hidden i{background:var(--tile-muted-bg);border-style:dashed}.legendItem-target i{border-color:var(--danger-border);box-shadow:0 0 0 2px color-mix(in srgb, var(--danger-border) 24%, transparent);background:0 0}.boardModePrompt{z-index:5;border:1px solid color-mix(in srgb, var(--danger-border) 42%, var(--panel-border));background:color-mix(in srgb, var(--panel-bg-raised) 88%, var(--danger-bg));width:fit-content;max-width:min(100%,900px);color:var(--text-heading);box-shadow:0 8px 20px var(--shadow-soft);pointer-events:auto;border-radius:999px;justify-content:center;align-items:center;gap:8px;margin:0;padding:4px 6px 4px 11px;font-size:.78rem;font-weight:900;display:flex;position:absolute;top:44px;left:50%;transform:translate(-50%)}.boardModePrompt .compactButton{border-radius:999px;min-height:26px;padding:0 9px;font-size:.72rem}.boardCoachPrompt{border-color:color-mix(in srgb, var(--accent) 42%, var(--panel-border));background:color-mix(in srgb, var(--panel-bg-raised) 90%, var(--accent-soft));color:var(--accent-strong)}.hexCell{cursor:pointer;touch-action:manipulation;outline:none}.hexPolygon{fill:var(--panel-bg-subtle);stroke:var(--tile-border);stroke-width:1.4px;transition:fill .12s,stroke .12s,stroke-width .12s}.hexCell:hover .hexPolygon,.hexCell:focus-visible .hexPolygon{fill:var(--tile-hover-bg);stroke:var(--accent);stroke-width:2.2px}.tileRevealed .hexPolygon{fill:var(--tile-empty-bg);stroke:var(--tile-muted-border)}.tileHidden .hexPolygon{fill:var(--tile-muted-bg);stroke:var(--tile-muted-border);stroke-dasharray:3 6;stroke-width:1.55px}.kothFlagTile .hexPolygon{stroke:color-mix(in srgb, var(--koth-flag) 58%, var(--tile-border));stroke-width:2px}.kothFlagCenterTile .hexPolygon{stroke:var(--koth-flag);stroke-width:3.2px;filter:drop-shadow(0 0 9px var(--koth-flag-ring))}.owner-player_1 .hexPolygon{--owner-tile-color:var(--seat-player-1)}.owner-player_2 .hexPolygon{--owner-tile-color:var(--seat-player-2)}.owner-player_3 .hexPolygon{--owner-tile-color:var(--seat-player-3)}.owner-player_4 .hexPolygon{--owner-tile-color:var(--seat-player-4)}.ownContent.owner-player_1 .hexPolygon,.ownContent.owner-player_2 .hexPolygon,.ownContent.owner-player_3 .hexPolygon,.ownContent.owner-player_4 .hexPolygon,.rivalContent.owner-player_1 .hexPolygon,.rivalContent.owner-player_2 .hexPolygon,.rivalContent.owner-player_3 .hexPolygon,.rivalContent.owner-player_4 .hexPolygon{stroke:color-mix(in srgb, var(--owner-tile-color,var(--accent)) 72%, var(--tile-border));stroke-width:2.4px}.asteroidContent .hexPolygon{stroke:var(--asteroid-emblem-stroke);stroke-width:2.1px}.selectedRoverTargeting .nonTargetVisibleTile .hexPolygon{stroke:var(--tile-muted-border);opacity:.68}.selectedRoverTargeting .nonTargetVisibleTile.asteroidContent .hexPolygon{stroke:var(--asteroid-emblem-stroke);opacity:.78}.selectedRoverTargeting .nonTargetVisibleTile .asteroidBadge,.selectedRoverTargeting .ownContent .roverToken,.selectedRoverTargeting .ownContent .structureToken,.selectedRoverTargeting .rivalContent .roverToken,.selectedRoverTargeting .rivalContent .structureToken,.selectedRoverTargeting .objectiveContent .objectiveToken{opacity:.72}.selectedRoverTargeting .selectedOriginTile .roverToken,.selectedRoverTargeting .selectedOriginTile .structureToken,.selectedRoverTargeting .legalMoveTile .asteroidBadge{opacity:1}.scanOverlayMode .tileRevealed .hexPolygon{stroke:var(--accent)}.scanTargetMode .hexCell{cursor:crosshair}.scanTargetTile .hexPolygon{stroke:var(--accent);stroke-width:2.6px}.scanTargetTile:hover .hexPolygon,.scanTargetTile:focus-visible .hexPolygon{stroke:var(--accent-strong);stroke-width:3px}.readyRoverTile .hexPolygon{stroke:var(--player-unit-ready);stroke-width:2.8px}.ownRover.ready>circle,.ownRover.ready>rect,.ownRover.ready>polygon{stroke:var(--panel-bg-raised);stroke-width:3px}.activatedRoverTile .hexPolygon{stroke:var(--warning);stroke-width:2.2px}.inactiveOwnRoverTile .hexPolygon{stroke:var(--tile-muted-border)}.inactiveOwnRoverTile .roverToken{opacity:.56}.exhaustedRoverTile .hexPolygon,.activatedRoverTile .hexPolygon{stroke:var(--tile-muted-border)}.exhaustedRoverTile .roverToken,.activatedRoverTile .roverToken{opacity:.58}.actionReplayBoard .inactiveOwnRoverTile .hexPolygon,.actionReplayBoard .activatedRoverTile .hexPolygon,.actionReplayBoard .exhaustedRoverTile .hexPolygon{stroke:var(--tile-border)}.actionReplayBoard .boardSvg{opacity:1;filter:saturate(1.28)brightness(1.12)contrast(1.04)}.actionReplayBoard .ownContent .hexPolygon{stroke:var(--player-unit-ready);stroke-width:2.8px}.actionReplayBoard .rivalContent .hexPolygon{stroke:var(--danger-border)}.actionReplayBoard .alienContent .hexPolygon{stroke:var(--alien-threat)}.actionReplayBoard .asteroidContent .hexPolygon{stroke:var(--asteroid-emblem-stroke)}.actionReplayBoard .hexPolygon,.actionReplayBoard .asteroidBadge,.actionReplayBoard .roverToken,.actionReplayBoard .structureToken,.actionReplayBoard .objectiveToken,.actionReplayBoard .ownershipMarker,.actionReplayBoard .alienThreatRing,.actionReplayBoard .inactiveOwnRoverTile .roverToken,.actionReplayBoard .activatedRoverTile .roverToken,.actionReplayBoard .exhaustedRoverTile .roverToken{opacity:1}.legalMoveTile .hexPolygon{stroke:var(--move-target-stroke,var(--legal-highlight));stroke-dasharray:none;stroke-width:2.4px;filter:drop-shadow(0 0 5px var(--move-target-glow,#327d612e))}.legalMoveTile:hover .hexPolygon,.legalMoveTile:focus-visible .hexPolygon{stroke:var(--legal-highlight);stroke-width:3.1px}.buildTargetTile .hexPolygon{stroke:var(--legal-highlight);stroke-dasharray:4 3;stroke-width:2.7px;filter:drop-shadow(0 0 7px var(--legal-highlight-glow))}.legalActionTargetTile:not(.legalMoveTile) .hexPolygon{stroke-width:3.1px;filter:drop-shadow(0 0 6px #5b99b047)}.networkConnectedTile .hexPolygon{stroke:var(--success);stroke-width:2.6px}.networkDisconnectedTile .hexPolygon{stroke:var(--warning);stroke-dasharray:5 3;stroke-width:2.6px}.attackTargetMode .hexPolygon{transition:fill .12s,opacity .12s,stroke .12s,stroke-width .12s}.attackCombatRoverTile .hexPolygon{stroke:var(--warning);stroke-width:4px;filter:drop-shadow(0 0 9px #d4aa4b6b)}.attackTargetTile .hexPolygon{stroke:var(--attack-highlight);stroke-width:4.2px;filter:drop-shadow(0 0 12px var(--attack-highlight-glow))}.attackTargetTile:hover .hexPolygon,.attackTargetTile:focus-visible .hexPolygon{stroke:var(--danger);stroke-width:3.4px}.enemyRoverTile .hexPolygon{stroke:var(--danger-border)}.dimmedForAttack .hexPolygon,.dimmedForAttack .asteroidBadge,.dimmedForAttack .roverToken,.dimmedForAttack .structureToken,.dimmedForAttack .objectiveToken{opacity:.38}.targetReticle{pointer-events:none}.targetReticle circle{fill:none;stroke:var(--attack-highlight);stroke-dasharray:5 4;stroke-width:2px;filter:drop-shadow(0 0 7px var(--attack-highlight-glow))}.targetReticle path{fill:none;stroke:var(--attack-highlight);stroke-linecap:round;stroke-width:2.2px}.buildGhostMarker{opacity:.72;pointer-events:none}.buildGhostMarker rect{fill:color-mix(in srgb, var(--legal-highlight-soft) 72%, transparent);stroke:var(--legal-highlight);stroke-dasharray:4 3;stroke-width:1.8px}.buildGhostMarker path{fill:none;stroke:var(--legal-highlight);stroke-linecap:round;stroke-width:1.8px}.kothFlagMarker{pointer-events:none}.kothFlagMarker circle{fill:var(--koth-flag-soft);stroke:color-mix(in srgb, var(--koth-flag) 72%, var(--panel-bg));stroke-dasharray:4 4;stroke-width:1.8px;filter:drop-shadow(0 0 8px var(--koth-flag-ring))}.kothFlagCenterMarker circle{fill:color-mix(in srgb, var(--koth-flag-soft) 78%, transparent);stroke:var(--koth-flag);stroke-dasharray:none;stroke-width:2.4px}.kothFlagMarker path{fill:var(--koth-flag);stroke:var(--panel-bg);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px}.actionGuidanceOriginTile .hexPolygon{stroke:var(--selected);stroke-width:4.2px}.actionGuidanceTargetTile .hexPolygon{stroke:var(--success);stroke-dasharray:7 4;stroke-width:3.5px;filter:drop-shadow(0 0 8px #327d6147)}.selectedTile .hexPolygon{stroke:var(--selected);stroke-width:4.8px;filter:drop-shadow(0 0 11px #c7962b9e)}.selectedOriginTile .hexPolygon{stroke:var(--selected);stroke-dasharray:none;stroke-width:4.8px;filter:drop-shadow(0 0 11px #d4aa4b8f)}.actionPresentationSourceTile .hexPolygon{stroke:var(--selected);stroke-width:3.4px;animation:.9s ease-out actionPresentationPulse}.actionPresentationTargetTile .hexPolygon{stroke:var(--accent-strong);stroke-width:3.4px;filter:drop-shadow(0 0 8px #5b99b057);animation:.9s ease-out actionPresentationPulse}.actionPresentationImpactTile .hexPolygon{stroke:var(--danger);stroke-width:3.8px;filter:drop-shadow(0 0 9px #ad4a4a66);animation:.95s ease-out actionPresentationImpact}.actionPresentationDoneTile .hexPolygon{stroke:var(--tile-muted-border);stroke-width:2.8px;animation:.65s ease-out actionPresentationPulse}.selectedTile .roverToken{opacity:1}.sectorClaimedBoard{background:radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--success) 14%, transparent), transparent 48%), var(--board-bg)}.sectorClaimedBoard .boardSvg{filter:saturate(1.06)}.sectorClaimedBoard .objectiveToken{opacity:.82}@keyframes actionPresentationPulse{0%{stroke-width:1.8px;filter:none}45%{stroke-width:4.4px;filter:drop-shadow(0 0 10px #d4aa4b61)}to{stroke-width:inherit}}@keyframes actionPresentationImpact{0%{stroke-width:2px;filter:none}45%{stroke-width:5px;filter:drop-shadow(0 0 12px #ad4a4a70)}to{stroke-width:inherit}}@media (prefers-reduced-motion:reduce){.actionPresentationSourceTile .hexPolygon,.actionPresentationTargetTile .hexPolygon,.actionPresentationImpactTile .hexPolygon,.actionPresentationDoneTile .hexPolygon,.tutorialHighlightTile .hexPolygon{animation:none}}.coordinate{fill:var(--text-soft);text-align:center;pointer-events:none;text-anchor:middle;font-size:.58rem;font-weight:700}.activatedMarker,.doneMarker{pointer-events:none}.activatedMarker circle:first-child{fill:var(--panel-bg);stroke:var(--warning);stroke-width:1.5px}.activatedMarker circle:last-child{fill:var(--warning);stroke:none}.doneMarker circle{fill:var(--panel-bg);stroke:var(--tile-border);stroke-width:1.4px}.doneMarker path{fill:none;stroke:var(--accent-strong);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.fogQuestionMark{pointer-events:none}.fogQuestionMark text{fill:var(--text-soft);opacity:.56;text-anchor:middle;font-size:.92rem;font-weight:900}.asteroidBadge{pointer-events:none;text-anchor:middle;font-size:.66rem;font-weight:800}.asteroidEmblem path{fill:var(--asteroid-emblem);stroke:var(--asteroid-emblem-stroke);stroke-linejoin:round;stroke-width:1.2px}.asteroidEmblem circle{fill:var(--asteroid-chip);stroke:var(--asteroid-emblem-stroke);stroke-width:.7px}.asteroidBadge .asteroidValueChip{fill:var(--asteroid-chip);stroke:var(--asteroid-emblem-stroke);stroke-width:1px}.asteroidBadge text{fill:var(--asteroid-chip-text);paint-order:stroke;stroke:var(--asteroid-chip);stroke-width:1.2px}.objectiveToken{pointer-events:none;text-anchor:middle;font-size:.64rem;font-weight:900}.alienThreatRing{pointer-events:none}.alienThreatRing ellipse:first-child{fill:color-mix(in srgb, var(--alien-threat) 12%, transparent);stroke:var(--alien-threat);stroke-width:2.2px}.alienThreatRing ellipse:last-child{fill:none;stroke:color-mix(in srgb, var(--alien-threat) 72%, transparent);stroke-dasharray:4 5;stroke-width:1.5px}.objectiveToken>ellipse{fill:var(--alien-unit);stroke:var(--alien-glow);stroke-width:2px;filter:drop-shadow(0 5px 8px #15202847)}.objectiveToken>text{fill:var(--panel-bg);paint-order:stroke;stroke:var(--alien-unit);stroke-width:1.5px}.objectiveGlyph{fill:none;stroke:var(--alien-glow);stroke-linecap:round;stroke-width:2px}.objectiveCore{fill:var(--alien-glow);stroke:none}.structureToken{pointer-events:none;text-anchor:middle;font-size:.68rem;font-weight:900}.ownershipMarker{pointer-events:none}.ownershipMarker circle:first-child{fill:none;stroke-width:2.6px}.ownershipMarker-own circle:first-child{stroke:var(--accent)}.ownershipMarker-rival circle:first-child{stroke:var(--rival-unit-strong);stroke-dasharray:7 3}.ownershipMarker path{fill:none;stroke:var(--rival-unit-strong);stroke-linecap:round;stroke-width:2.5px}.ownershipPip{fill:var(--accent);stroke:var(--panel-bg);stroke-width:1px}.structureToken rect{fill:var(--panel-bg-raised);stroke:var(--accent-strong);stroke-width:1.8px;filter:drop-shadow(0 3px 5px #1520282e)}.structureToken text{fill:var(--text-heading-soft)}.structureGlyph{fill:none;stroke:var(--text-heading-soft);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.structureGlyph circle{fill:var(--text-heading-soft);stroke:none}.survey_scannerGlyph circle{fill:var(--text-heading-soft)}.structureToken.asteroid_drill rect{fill:var(--asteroid-chip);stroke:var(--asteroid-emblem-stroke)}.structureToken.survey_scanner rect{fill:var(--tile-hover-bg);stroke:var(--accent)}.structureToken.connection_node rect{fill:var(--success-bg);stroke:var(--success)}.enemyStructure rect{fill:color-mix(in srgb, var(--danger-bg) 76%, var(--panel-bg-raised));stroke:var(--rival-unit-strong);stroke-width:2.6px}.disconnectedStructure{opacity:.58}.connectedStructure rect{stroke:var(--success)}.disconnectedStructure rect{stroke:var(--warning);stroke-dasharray:4 3;filter:drop-shadow(0 0 6px #b0713547)}.disconnectedStructureBadge circle{fill:var(--warning);stroke:var(--panel-bg);stroke-width:2px}.disconnectedStructureBadge path{stroke:var(--panel-bg);stroke-linecap:round;stroke-width:2.2px}.depletedAsteroid rect{fill:var(--tile-muted-bg);stroke:var(--tile-muted-border)}.depletedAsteroid text{fill:var(--text-soft)}.roverToken{pointer-events:none;text-anchor:middle;font-size:.82rem;font-weight:800}.roverToken.operations_hub{font-size:.92rem}.roverToken>circle,.roverToken>rect,.roverToken>polygon{stroke:var(--panel-bg);stroke-width:2px;filter:drop-shadow(0 4px 7px #15202840)}.roverToken>text{fill:var(--panel-bg)}.unitGlyph{fill:none;stroke:var(--panel-bg);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px}.unitGlyph circle,.combatRoverGlyph path:first-child{fill:var(--panel-bg);stroke:none}.stackCountBadge{pointer-events:none;text-anchor:middle;font-size:.5rem;font-weight:900}.stackCountBadge rect{fill:var(--panel-bg-raised);stroke:var(--accent-strong);stroke-width:1.2px}.stackCountBadge text{fill:var(--accent-strong)}.roverToken.player_1,.structureToken.player_1{--seat-token-color:var(--seat-player-1)}.roverToken.player_2,.structureToken.player_2{--seat-token-color:var(--seat-player-2)}.roverToken.player_3,.structureToken.player_3{--seat-token-color:var(--seat-player-3)}.roverToken.player_4,.structureToken.player_4{--seat-token-color:var(--seat-player-4)}.roverToken.player_1>circle,.roverToken.player_1>rect,.roverToken.player_1>polygon,.roverToken.player_2>circle,.roverToken.player_2>rect,.roverToken.player_2>polygon,.roverToken.player_3>circle,.roverToken.player_3>rect,.roverToken.player_3>polygon,.roverToken.player_4>circle,.roverToken.player_4>rect,.roverToken.player_4>polygon{fill:var(--seat-token-color);stroke:var(--panel-bg)}.enemyRover.player_1>circle,.enemyRover.player_1>rect,.enemyRover.player_1>polygon,.enemyRover.player_2>circle,.enemyRover.player_2>rect,.enemyRover.player_2>polygon,.enemyRover.player_3>circle,.enemyRover.player_3>rect,.enemyRover.player_3>polygon,.enemyRover.player_4>circle,.enemyRover.player_4>rect,.enemyRover.player_4>polygon{stroke:color-mix(in srgb, var(--seat-token-color) 74%, var(--panel-bg))}.structureToken.player_1 rect,.structureToken.player_2 rect,.structureToken.player_3 rect,.structureToken.player_4 rect{stroke:var(--seat-token-color);stroke-width:2.5px}.ownRover>circle,.ownRover>rect,.ownRover>polygon{fill:var(--accent)}.enemyRover>circle,.enemyRover>rect,.enemyRover>polygon{fill:var(--rival-unit);stroke:var(--rival-unit-strong);stroke-width:2.8px}.enemyRover:not(.operations_hub){opacity:.94}.destroyedRover>circle,.destroyedRover>rect,.destroyedRover>polygon{fill:var(--button-disabled)}.healthIndicator{pointer-events:none;text-anchor:middle;font-size:.46rem;font-weight:900}.healthIndicator .healthTrack{fill:var(--tile-muted-bg);stroke:var(--panel-bg);stroke-width:1.1px}.healthIndicator .healthFill{stroke:none}.roverHealth text,.operations_hubHealth text,.structureHealth text,.objectiveHealth text{fill:var(--text-heading);paint-order:stroke;stroke:var(--panel-bg);stroke-width:2px}.healthFull .healthFill{fill:var(--success)}.healthDamaged .healthFill{fill:var(--warning)}.healthCritical .healthFill{fill:var(--danger-border)}.healthDestroyed .healthFill{fill:var(--button-disabled)}@media (width>=769px){html,body,#root{height:100%}body{overflow:hidden}.appShell{flex-direction:column;height:100vh;min-height:0;padding:14px 16px;display:flex}.topBar{flex:none;margin-bottom:14px;padding-bottom:12px}.gameLayout{flex:auto;align-items:stretch;min-height:0}.legalPage{flex:auto;padding-right:6px;overflow:auto}.legalInfoBanner{flex:none}.sidePanel{align-content:start;gap:6px;min-height:0;max-height:100%;padding-right:2px;overflow:auto}.sidePanel .panel{gap:7px;padding:8px}.sidePanel .quietText{font-size:.84rem;line-height:1.25}.sidePanel .actionList,.sidePanel .finishAction{gap:4px}.sidePanel .finishAction{padding-top:6px}.sidePanel .primaryButton,.sidePanel .secondaryButton{min-height:32px;padding:0 10px}.sidePanel .actionButtonRow .secondaryButton{padding-block:2px}.playArea{grid-template-rows:auto minmax(0,1fr);min-height:0}.boardPanel{height:100%;min-height:0;padding:12px}.boardSvg{width:100%;max-width:900px;height:100%}}.gameModalOverlay{z-index:30;background:#121f287a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.gameModalCard{overscroll-behavior:contain;border:1px solid var(--panel-border-strong);background:var(--panel-bg-raised);width:min(520px,100%);max-height:min(720px,100dvh - 40px);color:var(--text-primary);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;padding:18px;display:grid;overflow:hidden;box-shadow:0 28px 80px #0d192157}.gameModalCard:focus{outline:3px solid var(--focus-ring);outline-offset:3px}.gameModalHeader h2{color:var(--text-heading);font-size:1.22rem}.gameModalBody{overscroll-behavior:contain;gap:12px;min-height:0;display:grid;overflow:auto}.gameModalBody p,.gameModalBody li{color:var(--text-muted);font-size:.92rem;line-height:1.45}.gameModalActions{border-top:1px solid var(--panel-border);background:var(--panel-bg-raised);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.gameToast{z-index:35;border:1px solid var(--danger-border);background:var(--danger-bg);width:min(420px,100vw - 40px);color:var(--danger);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 16px 40px #381d1929}.gameToast p{margin:0;font-size:.88rem;font-weight:700;line-height:1.35}.gameToast-info{border-color:var(--accent);background:var(--panel-bg-subtle);color:var(--accent-strong)}.gameToast-warning{border-color:var(--asteroid-emblem-stroke);background:var(--warning-bg);color:var(--warning)}.tutorialPopup{border-color:var(--accent)}.tutorialControlRow{z-index:1;border-top:1px solid var(--panel-border);background:var(--panel-bg);flex-wrap:wrap;grid-template-columns:1fr;gap:8px;padding-top:8px;display:grid;position:sticky;bottom:0}.tutorialActionsPanel{grid-template-rows:minmax(0,1fr) auto;gap:9px;min-height:0;display:grid;overflow:hidden}.tutorialCoachBody{overscroll-behavior:contain;gap:9px;min-height:0;display:grid;overflow:auto}.tutorialCoachHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.tutorialActionName{border:1px solid var(--tutorial-highlight-soft);background:var(--tutorial-highlight-soft);width:fit-content;color:var(--text-heading);text-transform:uppercase;border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:900;line-height:1.15}.tutorialHintButton{white-space:nowrap}.tutorialHintContent{gap:10px;display:grid}.tutorialHintMeta{flex-wrap:wrap;gap:6px;display:flex}.tutorialHintMeta span{border:1px solid var(--tutorial-highlight-soft);background:var(--tutorial-highlight-soft);color:var(--text-heading);text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:900;line-height:1.15}.tutorialScoreGrid,.guideScoreGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.scoreBlock{border:1px solid var(--panel-border);background:var(--panel-bg-subtle);border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:4px 7px;min-height:58px;padding:8px;display:grid}.scoreBlock i{border:1px solid var(--panel-border-strong);background:var(--panel-bg);width:30px;height:30px;color:var(--accent-strong);border-radius:50%;grid-row:span 2;place-items:center;font-size:.64rem;font-style:normal;font-weight:900;line-height:1;display:inline-grid}.scoreBlock span{color:var(--text-muted);font-size:.74rem;font-weight:800;line-height:1.2}.scoreBlock strong{color:var(--accent-strong);font-size:1rem}.tutorialPreviewTile .hexPolygon{fill:color-mix(in srgb, var(--preview-highlight-soft) 74%, var(--panel-bg-subtle));stroke:var(--preview-highlight);stroke-dasharray:5 4;stroke-width:2.4px;filter:drop-shadow(0 0 7px var(--preview-highlight-glow))}.tutorialDangerTile .hexPolygon{fill:color-mix(in srgb, var(--danger-highlight-soft) 78%, var(--panel-bg-subtle));stroke:var(--danger-highlight);stroke-dasharray:7 3;stroke-width:3.2px;filter:drop-shadow(0 0 10px var(--danger-highlight-glow))}.tutorialAttackTile .hexPolygon{fill:color-mix(in srgb, var(--attack-highlight-soft) 78%, var(--panel-bg-subtle));stroke:var(--attack-highlight);stroke-width:3.3px;filter:drop-shadow(0 0 10px var(--attack-highlight-glow))}.tutorialHighlightTile .hexPolygon{stroke:var(--tutorial-highlight);stroke-width:4.8px;filter:drop-shadow(0 0 4px var(--panel-bg)) drop-shadow(0 0 12px var(--tutorial-highlight-glow));animation:1.35s ease-in-out infinite tutorialTargetPulse}.tutorialHighlightTile .roverToken>circle,.tutorialHighlightTile .roverToken>rect,.tutorialHighlightTile .roverToken>polygon,.tutorialHighlightTile .structureToken>rect,.tutorialHighlightTile .structureToken>polygon,.tutorialHighlightTile .objectiveToken>ellipse,.tutorialHighlightTile .objectiveToken>path{stroke:var(--tutorial-highlight);stroke-width:3px;filter:drop-shadow(0 0 3px var(--panel-bg)) drop-shadow(0 0 9px var(--tutorial-highlight-glow))}.tutorialGlow{box-shadow:0 0 0 3px var(--tutorial-highlight-soft), 0 10px 24px #1f493329;animation:.9s ease-out tutorialGlowPulse}.boardPathPreview{pointer-events:none}.boardPathPreview path{fill:none;stroke-linecap:round;stroke-width:3.2px;stroke-dasharray:7 5;filter:drop-shadow(0 0 7px var(--preview-highlight-glow))}.boardPathPreview polygon{filter:drop-shadow(0 0 7px var(--preview-highlight-glow))}.boardPathPreview-move path,.boardPathPreview-move polygon{fill:var(--legal-highlight);stroke:var(--legal-highlight)}.boardPathPreview-danger path,.boardPathPreview-danger polygon{fill:var(--danger-highlight);stroke:var(--danger-highlight)}.boardPathPreview-attack path,.boardPathPreview-attack polygon{fill:var(--attack-highlight);stroke:var(--attack-highlight)}.boardCallout{pointer-events:none}.boardCallout rect{fill:color-mix(in srgb, var(--panel-bg-raised) 94%, var(--tutorial-highlight-soft));stroke:var(--tutorial-highlight);stroke-width:1.4px;filter:drop-shadow(0 8px 14px var(--shadow-soft))}.boardCallout text{fill:var(--text-heading);text-anchor:middle;font-size:.68rem;font-weight:900}.boardCallout-info rect{fill:color-mix(in srgb, var(--panel-bg-raised) 92%, var(--preview-highlight-soft));stroke:var(--preview-highlight)}.boardCallout-danger rect{fill:color-mix(in srgb, var(--panel-bg-raised) 88%, var(--danger-highlight-soft));stroke:var(--danger-highlight)}.boardCallout-attack rect{fill:color-mix(in srgb, var(--panel-bg-raised) 88%, var(--attack-highlight-soft));stroke:var(--attack-highlight)}.tutorialActionControlHighlight .secondaryButton{border-color:var(--tutorial-highlight);box-shadow:0 0 0 3px var(--tutorial-highlight-soft), 0 8px 18px var(--shadow-soft)}.guideModal{width:min(980px,100%)}.guideContent{gap:18px;display:grid}.guideHub{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.guideCategoryButton{border:1px solid var(--panel-border);background:var(--panel-bg);min-height:82px;color:var(--text-heading-soft);text-align:left;border-radius:8px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;padding:10px;font-weight:900;display:grid}.guideCategoryButton:hover,.guideCategoryButton:focus-visible{border-color:var(--accent);background:var(--panel-bg-subtle)}.guideBackButton{justify-self:start}.guideCategoryPage{gap:12px}.guideSection{gap:10px;display:grid}.guideTermGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.guideTerm{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:8px;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:10px;min-height:84px;padding:8px;display:grid}.guideTerm h4{color:var(--text-heading-soft);margin:0 0 3px;font-size:.9rem}.guideTerm p{font-size:.82rem;line-height:1.35}.guideVisualSvg,.guideCardVisual{width:66px;height:66px}.guideVisualSvg{display:block;overflow:visible}.guideCardVisual{border:2px solid var(--accent);background:linear-gradient(180deg, var(--panel-bg-subtle) 0%, var(--tile-hover-bg) 100%);color:var(--accent-strong);border-radius:7px;place-items:center;font-weight:900;display:grid}.guideColumns{grid-template-columns:repeat(2,minmax(0,1fr))}.guideRuleSection{border-top:1px solid var(--panel-border);align-content:start;gap:7px;padding-top:10px;display:grid}.guideRuleSection ul{gap:5px;margin:0;padding-left:18px;display:grid}@keyframes tutorialGlowPulse{0%{box-shadow:0 0 0 0 var(--tutorial-highlight-glow)}to{box-shadow:0 0 0 3px var(--tutorial-highlight-soft), 0 10px 24px #1f493329}}@keyframes tutorialTargetPulse{0%,to{filter:drop-shadow(0 0 4px var(--panel-bg)) drop-shadow(0 0 8px var(--tutorial-highlight-glow))}50%{filter:drop-shadow(0 0 5px var(--panel-bg)) drop-shadow(0 0 16px var(--tutorial-highlight-glow))}}@media (width<=768px){html,body,#root{height:100%;min-height:100%}body{background:var(--page-bg-soft);overflow:hidden}.appShell{flex-direction:column;width:100%;height:100dvh;min-height:0;padding:0;display:flex;overflow:hidden}.legalRoute,.inLobby{padding:12px;overflow:auto}.inLobby{min-height:100dvh}.inLobby .lobbySections{flex:1 0 auto}.legalRoute .topBar{flex-direction:column;align-items:flex-start}.inLobby .topBar{flex-flow:wrap;align-items:flex-start}.inLobby .connectionPanel{flex-flow:wrap;flex:100%;align-items:center}.legalRoute .topBar,.inLobby .topBar{margin-bottom:12px;padding-bottom:12px}.legalPageHeader{flex-direction:column;align-items:flex-start}.legalInfoBanner{padding:5px 0 calc(5px + env(safe-area-inset-bottom));text-align:center;flex-flow:wrap;gap:4px 8px;margin-top:auto}.inLobby .legalInfoBanner nav{display:none}.inGame .topBar{border-bottom:1px solid var(--panel-border-strong);background:var(--panel-bg-raised);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin:0;padding:5px 8px;display:grid}.inGame .topBar .eyebrow{display:none}.inGame .topBar h1{flex:none;font-size:.96rem}.inGame .connectionPanel{flex-flow:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:6px;margin-left:auto;font-size:.76rem;overflow:visible}.inGame .connectionPanel>.connectionStatusText{text-align:right;white-space:nowrap;flex:0 auto;order:1;min-width:0;line-height:1.15;overflow:hidden}.inGame .connectionPanel>.longStatusText{text-align:right;white-space:normal;flex:1 0 100%;order:2;min-width:0;line-height:1.15;overflow:hidden}.inGame .connectionPanel .elapsedStatus,.inGame .connectionPanel button,.inGame .connectionPanel .inviteCodeActions{order:1}.inGame .connectionPanel button{flex:none;min-height:30px;padding:0 8px;font-size:.76rem}.topBarInvite{max-width:min(240px,100%);padding:3px 4px 3px 6px}.topBarInvite .inviteCodeLabel{display:none}.topBarInvite .inviteCodeText{max-width:76px}.topBarInvite .inviteStatusText{max-width:82px}.homeHero{gap:14px;min-height:min(720px,100dvh - 52px);padding:42px 12px 34px}.homeHeroTitle{font-size:clamp(2.6rem,13vw,3.25rem)}.homeHeroCopy h2{max-width:300px;font-size:1.04rem}.landingActions{width:min(310px,100%)}.landingChoice{min-height:48px}.homeSecondaryControls{gap:7px;margin-top:clamp(18px,4vh,36px)}.homeSecondaryControls button{flex:104px;min-height:44px;padding:0 10px;font-size:.78rem}.homeShareStatus{font-size:.76rem}.spaceBoardMotif{opacity:.86;inset:10% -18% 16%}.hexGridWash{opacity:.46;height:34%;bottom:10%;left:-16%;right:-18%}.asteroidFieldLeft{top:25%;left:-20px;transform:scale(.7)}.asteroidFieldRight{bottom:20%;right:-48px;transform:scale(.7)}.lobbyModeForm{padding:10px}.lobbyModeForm .primaryButton,.lobbyModeForm input,.lobbyModeForm select{min-height:46px}.gameLayout{flex:auto;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;align-items:stretch;gap:0;height:100%;min-height:0;overflow:hidden}.desktopSidePanel{display:none}.mobileControlDock{z-index:8;overscroll-behavior:contain;border-top:1px solid color-mix(in srgb, var(--panel-border-strong) 72%, var(--accent));background:linear-gradient(180deg, color-mix(in srgb, var(--panel-bg-raised) 92%, transparent), var(--panel-bg) 100%), var(--panel-bg);width:100%;min-height:0;max-height:min(48dvh,390px);padding:6px 10px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -18px 40px var(--shadow-strong);gap:8px;display:grid;position:relative;overflow:auto}.mobileStateControls{max-height:none;overflow:visible}.mobileStatePill{border:1px solid var(--panel-border-strong);background:color-mix(in srgb, var(--panel-bg-raised) 94%, transparent);max-width:none;color:var(--text-heading);text-align:center;box-shadow:0 10px 24px var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;margin:0 auto;padding:11px 16px;font-size:.84rem;font-weight:950}.playArea{grid-template-rows:auto minmax(0,1fr);gap:0;min-height:0;overflow:hidden}.topGameStatus{z-index:2;box-shadow:none;border-left:0;border-right:0;border-radius:0;flex-direction:column;align-items:flex-start;gap:5px;padding:5px 8px;position:relative}.topGameStatus h2{font-size:.9rem;line-height:1.15}.topStatusFeedback{width:100%;max-width:none;padding:6px 8px;font-size:.78rem}.phasePrompt{max-width:none;color:var(--text-muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.74rem;line-height:1.2;display:none;overflow:hidden}.statusSummary,.postGameActions{justify-content:flex-start}.statusSummary{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;display:grid}.statusSummary div{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:6px;min-width:0;padding:4px 5px}.kothTopStatus .turnBannerCopy{min-width:0}.kothScoreboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;min-width:0}.kothScorePlayer{min-height:48px;padding:5px 6px}.kothScorePlayer span{text-overflow:clip;white-space:normal;font-size:.72rem;line-height:1.05;overflow:visible}.kothScorePlayer strong{font-size:.86rem}.kothScorePlayer small{font-size:.66rem}dt{font-size:.58rem}dd{font-size:.7rem;line-height:1.15}.boardFocusStage{min-height:0;overflow:hidden}.boardPanel{touch-action:none;border-left:0;border-right:0;border-radius:0;justify-items:center;height:100%;min-height:0;padding:4px}.boardLegend{gap:3px 7px;max-height:none;font-size:.58rem;line-height:1.15;overflow:visible}.boardModePrompt{max-width:calc(100vw - 20px);padding:3px 5px 3px 9px;font-size:.68rem;top:30px}.boardModePrompt .compactButton{min-height:24px;padding:0 7px;font-size:.64rem}.boardViewport{contain:paint;touch-action:none;width:100%;height:100%}.boardViewport *,.boardViewport .hexCell{touch-action:none}.boardSvg{width:100%;height:100%;max-height:100%}.mobileDockHandle{background:color-mix(in srgb, var(--text-soft) 48%, transparent);border-radius:999px;justify-self:center;width:54px;height:4px}.mobileDockSection{min-width:0}.mobileDockLabelRow{border:1px solid var(--panel-border-strong);background:color-mix(in srgb, var(--tile-hover-bg) 68%, var(--panel-bg));border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:28px;padding:3px 8px;display:flex}.mobileDockLabelRow span{color:var(--text-soft);text-transform:uppercase;font-size:.58rem;font-weight:800}.mobileDockLabelRow strong{min-width:0;color:var(--text-heading);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.mobileControlDock .panel,.mobileControlDock .endTurnBlock,.mobileControlDock .waitingTurnText{border-color:var(--panel-border-strong);box-shadow:none;border-radius:8px;padding:6px}.mobileControlDock .primaryButton,.mobileControlDock .secondaryButton{width:100%;min-height:44px;padding:0 8px;font-size:.76rem}.mobileControlDock .actionList,.mobileControlDock .finishAction{gap:4px}.mobileControlDock .actionList{grid-template-columns:repeat(2,minmax(0,1fr))}.mobileControlDock .finishAction{border-top:0;padding-top:0}.mobileControlDock .roverActionsPanel{gap:4px}.mobileControlDock .roverActionsPanel h2,.mobileControlDock .roverActionInstruction{display:none}.mobileControlDock .exhaustedActionsPanel h2,.mobileControlDock .exhaustedActionsPanel .roverActionInstruction{display:block}.mobileControlDock .actionButtonRow .secondaryButton{min-height:42px;padding:0 5px;font-size:.68rem;line-height:1.05}.mobileControlDock .actionReason{display:none}.mobileSelectedDock{gap:6px;display:grid}.mobileSelectedDock .selectedObjectPanel{gap:6px;padding:6px}.mobileSelectedDock .selectedObjectPanel h2{display:none}.mobileSelectedDock .factList{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.mobileSelectedDock .factList div{border:1px solid var(--panel-border);background:color-mix(in srgb, var(--panel-bg-raised) 78%, var(--page-bg-soft));border-radius:7px;grid-template-columns:1fr;gap:1px;padding:4px 5px;display:grid}.mobileSelectedDock .factList dt{font-size:.52rem}.mobileSelectedDock .factList dd{font-size:.72rem}.mobileActionDock{gap:6px;display:grid}.mobileTurnDock:empty{display:none}.mobileActionHint{color:var(--text-muted);font-size:.74rem;font-weight:800;line-height:1.25}.mobileWaitingTurn{box-shadow:none;border-radius:8px}.mobileDrawerStack{display:none}.mobileDrawer{border:1px solid var(--panel-border-strong);background:var(--panel-bg);border-radius:8px;overflow:hidden}.mobileDrawerSummary{min-height:42px;color:var(--text-heading-soft);cursor:pointer;touch-action:manipulation;justify-content:space-between;align-items:center;gap:10px;padding:0 10px;font-weight:800;list-style:none;display:flex}.mobileDrawerSummary::-webkit-details-marker{display:none}.mobileDrawerSummary:after{content:"Open";color:var(--text-soft);text-transform:uppercase;font-size:.68rem}.mobileDrawer[open] .mobileDrawerSummary:after{content:"Close"}.mobileDrawerSummary small{color:var(--text-soft);margin-left:auto;font-size:.7rem;font-weight:800}.mobileDrawerBody{border-top:1px solid var(--panel-border);gap:8px;max-height:22dvh;padding:9px 10px 10px;display:grid;overflow:auto}.mobileDrawerBody .panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.mobileDrawerBody .panel+.panel{border-top:1px solid var(--panel-border);padding-top:9px}.upgradeFocusPanel{width:calc(100% - 32px);max-height:calc(100% - 32px);top:16px;left:16px;transform:none}.upgradeFocusPanel .upgradeChoiceList{grid-template-columns:1fr}.gameModalOverlay{align-items:end;padding:10px}.gameModalCard{width:100%;max-height:calc(100dvh - 20px);padding:14px}.gameModalActions{justify-content:stretch}.gameModalActions .primaryButton,.gameModalActions .secondaryButton{flex:140px;min-height:44px}.tutorialActionsPanel{gap:4px;max-height:min(60dvh,520px)}.mobileControlDock .tutorialActionsPanel{grid-template-rows:auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;max-height:min(15dvh,112px);padding:6px 8px}.mobileControlDock .tutorialCoachBody{gap:2px;overflow:hidden}.mobileControlDock .tutorialCoachHeader{justify-content:flex-start;gap:0}.mobileControlDock .tutorialCoachHeader .eyebrow{display:none}.mobileControlDock .tutorialCoachHeader span{border:1px solid var(--tutorial-highlight-soft);background:var(--tutorial-highlight-soft);width:fit-content;color:var(--text-heading);border-radius:999px;padding:2px 7px;font-size:.68rem;font-weight:900;line-height:1.05}.mobileControlDock .tutorialActionsPanel h2{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.08;overflow:hidden}.mobileControlDock .tutorialActionName,.mobileControlDock .tutorialScoreGrid,.mobileControlDock .tutorialCoachBody .actionReason{display:none}.mobileControlDock .tutorialActionsPanel .tutorialCompactInstruction{-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.72rem;line-height:1.15;display:-webkit-box;overflow:hidden}.mobileControlDock .tutorialControlRow{background:0 0;border-top:0;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));align-self:center;gap:4px;min-width:64px;max-width:148px;margin-top:0;padding-top:0;position:static}.mobileControlDock .tutorialActionsPanel .primaryButton,.mobileControlDock .tutorialControlRow .secondaryButton{min-height:32px;padding:0 7px;font-size:.68rem;line-height:1.05}.tutorialHintModal{border-radius:12px 12px 8px 8px;max-height:min(60dvh,520px)}.guideHub,.guideTermGrid,.guideColumns{grid-template-columns:1fr}.guideCategoryButton{min-height:76px}.guideTerm{grid-template-columns:58px minmax(0,1fr);min-height:76px}.guideVisualSvg,.guideCardVisual{width:56px;height:56px}.gameToast{right:10px;bottom:calc(76px + env(safe-area-inset-bottom));grid-template-columns:1fr;width:auto;padding:10px 12px;font-size:.84rem;left:10px}}
