:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.firebase-emulator-warning{display:none!important}.lobby[data-v-69e296fc]{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.screen[data-v-69e296fc]{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:520px;display:flex}.title[data-v-69e296fc]{letter-spacing:-.04em;color:var(--text-h);margin:0;font-size:56px;font-weight:500;line-height:1}.subtitle[data-v-69e296fc]{color:var(--text);opacity:.8;margin:0;font-size:18px}.name-screen[data-v-69e296fc]{gap:32px}.name-input[data-v-69e296fc]{text-align:center;text-transform:none;border:1px solid var(--border);background:var(--bg);width:100%;max-width:360px;color:var(--text-h);border-radius:12px;padding:16px 20px;font-size:24px}.name-input[data-v-69e296fc]:focus{outline:2px solid var(--accent-border)}.play-btn[data-v-69e296fc]{border-radius:12px;padding:16px 48px;font-size:22px;font-weight:600}.count-row[data-v-69e296fc]{gap:16px;display:flex}.count-btn[data-v-69e296fc]{border:1px solid var(--border);background:var(--bg);width:72px;height:72px;color:var(--text-h);cursor:pointer;border-radius:12px;font-size:28px;font-weight:600;transition:transform .1s,background .15s,border-color .15s}.count-btn[data-v-69e296fc]:hover{border-color:var(--accent-border);background:var(--accent-bg)}.count-btn[data-v-69e296fc]:active{transform:scale(.96)}.count-btn.selected[data-v-69e296fc]{background:var(--accent);color:#fff;border-color:var(--accent)}.share-row[data-v-69e296fc]{gap:8px;width:100%;max-width:360px;display:flex}input[data-v-69e296fc]{text-transform:uppercase;flex:1;padding:10px 12px;font-size:16px}.share-url[data-v-69e296fc]{text-transform:none;font-size:14px}.btn[data-v-69e296fc]{cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:10px 16px;font-size:16px}.btn[data-v-69e296fc]:disabled{opacity:.5;cursor:not-allowed}.btn.primary[data-v-69e296fc]{background:var(--accent);color:#fff;border-color:var(--accent)}.share-label[data-v-69e296fc]{margin:0;font-weight:600}.progress[data-v-69e296fc]{align-items:center;gap:6px;font-size:14px;display:flex}.progress .joined[data-v-69e296fc]{color:var(--accent);font-weight:700}.players[data-v-69e296fc]{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.players li[data-v-69e296fc]{background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;display:flex}.players li.me[data-v-69e296fc]{background:var(--accent-bg)}.dot[data-v-69e296fc]{border-radius:50%;width:12px;height:12px}.host[data-v-69e296fc],.me-tag[data-v-69e296fc]{border-radius:4px;padding:2px 6px;font-size:12px}.host[data-v-69e296fc]{color:var(--accent);background:var(--accent-bg)}.me-tag[data-v-69e296fc]{color:#3b82f6;background:#dbeafe}.error[data-v-69e296fc]{color:#ef4444}.build-icon-svg[data-v-6b62d6b4]{width:100%;height:100%;display:block}.board[data-v-e3d03249]{-webkit-user-select:none;user-select:none;background:#f8fafc;width:100%;height:100%;display:block}.board image[data-v-e3d03249]{filter:grayscale()opacity(.55)}.nodes circle[data-v-e3d03249]{fill:#334155;stroke:#475569;stroke-width:1px;cursor:pointer;pointer-events:all;transition:fill .15s,stroke .15s,r .15s}.nodes circle.legal[data-v-e3d03249]{stroke:#16a34a;stroke-width:2px;fill:#22c55e;fill-opacity:.35}.nodes circle.legal[data-v-e3d03249]:hover{fill-opacity:.55}.nodes circle.selected[data-v-e3d03249],.nodes circle.capitalSelected[data-v-e3d03249]{stroke:#facc15;stroke-width:3px;fill:#22c55e;fill-opacity:.45}.nodes circle.capitalLegal[data-v-e3d03249]{stroke:#facc15;stroke-width:2.5px;fill:#facc15;fill-opacity:.35}.nodes circle.capitalLegal[data-v-e3d03249]:hover{fill-opacity:.55}.active-lines line[data-v-e3d03249]{pointer-events:none}.placed-item[data-v-e3d03249]{cursor:default;pointer-events:none}.board.playing .placed-item[data-v-e3d03249]{pointer-events:all;cursor:pointer}.planet-placed[data-v-e3d03249]{pointer-events:none;transition:transform .2s ease-out}.board.playing .planet-placed[data-v-e3d03249],.board.playing .planet-placed.selected[data-v-e3d03249]{pointer-events:all;cursor:pointer}.planet-placed.selected .planet-body[data-v-e3d03249]{filter:drop-shadow(0 0 5px #00000059)}.planet-body[data-v-e3d03249]{fill:inherit}.planet-pop[data-v-e3d03249]{pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:700}.infra-arc[data-v-e3d03249]{pointer-events:none}.setup-artifact path[data-v-e3d03249]{fill:#64748b;stroke:#4b5563;stroke-width:2px}.setup-artifact.satisfied path[data-v-e3d03249]{fill:#facc15;stroke:#b45309;stroke-width:2px}.context-menu .menu-item[data-v-e3d03249]{cursor:pointer;transition:opacity .15s}.context-menu .menu-item:hover circle[data-v-e3d03249]:first-child{filter:brightness(.95)}.context-menu .capital-item:hover rect[data-v-e3d03249],.context-menu .capital-close:hover rect[data-v-e3d03249]{fill:#e2e8f0}.context-menu .capital-item text[data-v-e3d03249]{pointer-events:none;-webkit-user-select:none;user-select:none}.trimmed-grid[data-v-e3d03249]{pointer-events:none}.board.grayscale .setup-artifact path[data-v-e3d03249]{fill:#64748b;stroke:#4b5563;stroke-width:2px}.board.grayscale .setup-artifact.satisfied path[data-v-e3d03249]{fill:#facc15;stroke:#b45309;stroke-width:2px}.board.grayscale .planet-body[data-v-e3d03249]{fill:#94a3b8;stroke:none}.board.grayscale .planet-placed.capital .planet-body[data-v-e3d03249]{fill:var(--capital-color,#94a3b8);stroke:none}.board.grayscale .active-lines line[data-v-e3d03249]{stroke:#94a3b8;stroke-width:1.5px;opacity:.5}.board.grayscale .nodes circle[data-v-e3d03249]{fill:#64748b;stroke:#475569}.board.grayscale .nodes circle.legal[data-v-e3d03249]{fill:#94a3b8;stroke:#64748b}.board.grayscale .nodes circle.legal[data-v-e3d03249]:hover{fill-opacity:.55}.board.grayscale .trimmed-grid line[data-v-e3d03249]{stroke:#94a3b8;stroke-width:1.5px;opacity:.5}.board.grayscale .trimmed-grid circle[data-v-e3d03249]{fill:#64748b;opacity:.7}.fleet[data-v-e3d03249]{cursor:pointer;pointer-events:all;transition:opacity .15s}.fleet[data-v-e3d03249]:hover{opacity:.85}.fleet.disabled[data-v-e3d03249]{pointer-events:none}.fleet-icon-inner[data-v-e3d03249]{transform-origin:50%;transform-box:fill-box}.fleet-icon-pulse[data-v-e3d03249]{animation:1.2s ease-in-out infinite fleet-pulse-e3d03249}.fleet-tooltip[data-v-e3d03249]{pointer-events:none;-webkit-user-select:none;user-select:none}.fleet-tooltip text[data-v-e3d03249]{font-weight:700}.fleet-move-targets[data-v-e3d03249],.fleet-line-highlight[data-v-e3d03249]{pointer-events:none}.placed-item.pulsing-target .planet-body[data-v-e3d03249],.placed-item.pulsing-target .artifact-icon[data-v-e3d03249]{transform-box:fill-box;transform-origin:50%;animation:1.2s ease-in-out infinite target-pulse-e3d03249}@keyframes fleet-pulse-e3d03249{0%,to{transform:scale(.8)}50%{transform:scale(1.05)}}@keyframes target-pulse-e3d03249{0%,to{transform:scale(1)}50%{transform:scale(1.35)}}.planet-panel[data-v-0ea4a3ce]{color:#f8fafc;box-sizing:border-box;background:0 0;flex:none;align-items:center;gap:24px;width:max-content;min-width:100%;height:100%;margin:0;padding:0;display:flex;position:relative}.panel-col[data-v-0ea4a3ce]{flex-direction:column;justify-content:center;gap:8px;display:flex}.panel-col.info[data-v-0ea4a3ce]{flex:none;justify-content:center;min-width:0}.panel-col.buildable[data-v-0ea4a3ce]{flex:none;min-width:0}.header[data-v-0ea4a3ce]{align-items:center;gap:12px;display:flex}.header h2[data-v-0ea4a3ce]{letter-spacing:.02em;margin:0;font-size:22px;font-weight:700}.header h2 .bonus[data-v-0ea4a3ce]{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-size:14px;font-weight:700}.stats[data-v-0ea4a3ce]{flex-direction:column;gap:8px;display:flex}.stat[data-v-0ea4a3ce]{justify-content:space-between;gap:16px;font-size:13px;display:flex}.stat-label[data-v-0ea4a3ce]{color:#94a3b8}.stat-value[data-v-0ea4a3ce]{font-variant-numeric:tabular-nums;font-weight:700}.panel-col.production[data-v-0ea4a3ce]{flex:none;min-width:0}.slots-row[data-v-0ea4a3ce]{align-items:stretch;gap:8px;display:flex}.slot-block[data-v-0ea4a3ce]{flex-direction:column;gap:6px;width:56px;display:flex;position:relative}.slot-block.empty[data-v-0ea4a3ce]{opacity:.5}.slot-icons[data-v-0ea4a3ce]{flex:none;gap:8px;display:flex}.slot-square[data-v-0ea4a3ce]{box-sizing:border-box;background:#334155;border:1px solid #475569;border-radius:6px;justify-content:center;align-items:center;width:56px;height:56px;padding:6px;display:flex}.slot-square>svg[data-v-0ea4a3ce]{width:100%;height:100%}.slot-block.empty .slot-square[data-v-0ea4a3ce]{background:#475569;border:1px solid #fff}.progress-segments[data-v-0ea4a3ce]{flex-wrap:wrap;justify-content:flex-start;gap:2px;min-height:6px;padding:0;display:flex}.segment[data-v-0ea4a3ce]{background:#475569;border-radius:1px;width:9.6px;height:4px}.panel-divider[data-v-0ea4a3ce]{background:#ffffffb3;align-self:center;width:1px;height:60%}.slot-block.clickable[data-v-0ea4a3ce]{cursor:pointer}.slot-block:hover .item-overlay[data-v-0ea4a3ce]{opacity:1}.build-grid[data-v-0ea4a3ce]{flex-wrap:nowrap;gap:8px;display:flex}.fleet-list[data-v-0ea4a3ce]{gap:12px;display:flex}.fleet-item[data-v-0ea4a3ce]{cursor:pointer;flex-direction:column;align-items:center;gap:4px;display:flex}.fleet-icon[data-v-0ea4a3ce]{box-sizing:border-box;background:#1e293b;border:1px solid #334155;border-radius:6px;justify-content:center;align-items:center;width:56px;height:56px;padding:6px;display:flex;position:relative}.fleet-icon>svg[data-v-0ea4a3ce]{width:100%;height:100%}.fleet-chip[data-v-0ea4a3ce]{color:#0f172a;box-sizing:border-box;background:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.item-overlay[data-v-0ea4a3ce]{opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:opacity .15s;display:flex;position:absolute;inset:0}.item-overlay.visible[data-v-0ea4a3ce],.fleet-item.hovered .item-overlay[data-v-0ea4a3ce]{opacity:1}.overlay-label[data-v-0ea4a3ce]{color:#fff;text-transform:uppercase;background:#0f172abf;border-radius:3px;padding:1px 3px;font-size:10px;font-weight:700;line-height:1;position:relative}.build-tile[data-v-0ea4a3ce]{cursor:pointer;box-sizing:border-box;background:#1e293b;border:1px solid #334155;border-radius:6px;justify-content:center;align-items:center;width:56px;height:56px;padding:6px;transition:background .15s,border-color .15s,opacity .15s;display:flex;position:relative;overflow:hidden}.build-tile[data-v-0ea4a3ce]:hover:not(.disabled){background:#27354f;border-color:#475569}.build-tile.disabled[data-v-0ea4a3ce]{opacity:.35;cursor:not-allowed}.tile-icon[data-v-0ea4a3ce],.tile-icon>svg[data-v-0ea4a3ce]{width:100%;height:100%}.game[data-v-b293230d]{color:#0f172a;background:#f8fafc;flex-direction:column;display:flex;position:fixed;inset:0}.loading[data-v-b293230d],.error[data-v-b293230d]{padding:24px}.top-bar[data-v-b293230d]{z-index:20;background:#fff;border-bottom:1px solid #e2e8f0;flex:none;align-items:center;gap:24px;height:64px;padding:0 20px;display:flex;box-shadow:0 1px 3px #0000000d}.title[data-v-b293230d]{letter-spacing:.02em;font-size:18px;font-weight:700}.players[data-v-b293230d]{align-items:center;gap:16px;display:flex}.players span[data-v-b293230d]{opacity:.55;align-items:center;gap:6px;font-size:14px;display:inline-flex}.players span.current[data-v-b293230d]{opacity:1;font-weight:600}.players span.me[data-v-b293230d]{text-decoration:underline}.players.playing[data-v-b293230d]{flex-wrap:wrap;flex:auto;justify-content:flex-start;gap:12px}.players.playing .player-chip[data-v-b293230d]{white-space:nowrap;text-shadow:none;opacity:1;vertical-align:middle;background:#fff;border-radius:6px;padding:6px 12px;font-size:20px;font-weight:600;display:inline-block}.player-chip u[data-v-b293230d]{text-decoration:underline}.player-chip .you[data-v-b293230d]{opacity:.8;margin-left:6px;font-weight:400}.my-stats[data-v-b293230d]{color:#334155;font-variant-numeric:tabular-nums;white-space:nowrap;gap:16px;font-size:14px;font-weight:500;display:inline-flex}.end-turn-btn[data-v-b293230d]{color:#fff;cursor:not-allowed;background:#94a3b8;border:none;border-radius:6px;margin-left:auto;padding:8px 18px;font-size:14px;font-weight:600;transition:background .15s}.end-turn-btn.active[data-v-b293230d]{cursor:pointer;background:#16a34a}.end-turn-btn.active[data-v-b293230d]:hover{background:#15803d}.dot[data-v-b293230d]{border-radius:50%;flex-shrink:0;width:10px;height:10px}.status[data-v-b293230d]{align-items:center;gap:20px;margin-left:auto;font-size:14px;display:flex}.phase[data-v-b293230d]{background:#e2e8f0;border-radius:999px;padding:4px 10px;font-weight:600}.map-area[data-v-b293230d]{flex:auto;min-height:0;position:relative;overflow:hidden}.board-svg[data-v-b293230d]{width:100%;height:100%;display:block}.bottom-bar[data-v-b293230d]{color:#f8fafc;z-index:20;box-sizing:border-box;background:#1e293b;border-top:1px solid #334155;flex:none;align-items:center;gap:32px;height:96px;min-height:96px;max-height:96px;padding:8px 16px;display:flex;overflow:auto hidden}.bottom-bar.chat-bar[data-v-b293230d]{flex-direction:column;align-items:stretch;gap:6px;overflow:hidden}.map-area.dimmed .board-svg[data-v-b293230d]{opacity:.6;transition:opacity .2s}.chat-messages[data-v-b293230d]{flex-direction:column;flex:auto;gap:3px;min-height:0;font-size:13px;line-height:1.35;display:flex;overflow-y:auto}.chat-message[data-v-b293230d]{white-space:nowrap;gap:6px;display:flex}.chat-nick[data-v-b293230d]{color:#ff0;flex-shrink:0;font-weight:600}.chat-text[data-v-b293230d]{color:#fff}.chat-input-row[data-v-b293230d]{flex:none;gap:8px;display:flex}.chat-input[data-v-b293230d]{color:#f8fafc;background:#0f172a;border:1px solid #475569;border-radius:4px;flex:auto;min-width:0;padding:5px 10px;font-size:13px}.chat-input[data-v-b293230d]:focus{border-color:#22c55e;outline:none}.chat-send[data-v-b293230d]{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:4px;flex:none;padding:5px 14px;font-weight:600}.chat-send[data-v-b293230d]:hover{background:#15803d}.overlay[data-v-b293230d]{pointer-events:none;z-index:30;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay-text[data-v-b293230d]{color:#fff;text-shadow:0 2px 8px #00000080;background:#00000059;border-radius:12px;padding:16px 28px;font-size:28px;font-weight:700}.overlay.disconnect .overlay-text[data-v-b293230d]{color:#fecaca;background:#3c0a0a80}#app{text-align:left;width:100%;max-width:1280px;margin:0 auto}.loading{padding:24px}.error{color:#ef4444;padding:24px}
