:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow-x:hidden}html{overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:1rem;text-align:center;width:100%;box-sizing:border-box}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.board-svg.svelte-jpc25w{width:100%;max-width:600px;height:auto;display:block;margin:0 auto;touch-action:manipulation}.hex-outline.svelte-jpc25w{fill:none;stroke:#ddd;stroke-width:.5}.hub-spoke-line.svelte-jpc25w{stroke:#ddd;stroke-width:.5}.edge-line.svelte-jpc25w{stroke:#ccc;stroke-width:1}.vertex.svelte-jpc25w{stroke:#555;stroke-width:.5;cursor:pointer}.vertex.center-vertex.svelte-jpc25w{stroke:#999;stroke-width:1}.vertex.center-active.svelte-jpc25w{stroke-width:.5}.vertex.obstacle.svelte-jpc25w{cursor:default}.vertex.preview.svelte-jpc25w{stroke:#1976d2;stroke-width:1.5}.vertex.animated.svelte-jpc25w{stroke:#1565c0;stroke-width:1.5}.obstacle-x.svelte-jpc25w{stroke:#fff;stroke-width:1.5;stroke-linecap:round;pointer-events:none}.vertex.enemy.svelte-jpc25w{stroke:#b71c1c;stroke-width:1.5;cursor:default}.vertex.kill-zone.svelte-jpc25w{stroke:#c62828;stroke-width:1}.kill-zone-overlay.svelte-jpc25w{fill:#c6282840;stroke:none;pointer-events:none}.enemy-direction.svelte-jpc25w{stroke:#c62828;stroke-width:2;stroke-linecap:round;pointer-events:none}.enemy-arrow-head.svelte-jpc25w{fill:#c62828;pointer-events:none}.destroyed-enemy.svelte-jpc25w{opacity:.1}.vertex.blackhole.svelte-jpc25w{stroke:#7b1fa2;stroke-width:1.5;cursor:default}.blackhole-ring.svelte-jpc25w{fill:none;stroke:#9c27b0;stroke-width:1;pointer-events:none}.blackhole-core.svelte-jpc25w{fill:#9c27b0;pointer-events:none}.preview-line.svelte-jpc25w{stroke:#64b5f6;stroke-width:2.5;stroke-dasharray:4 3;stroke-linecap:round;pointer-events:none;opacity:.7}.direction-arrow.svelte-jpc25w{stroke:#ff9800;stroke-width:2.5;stroke-linecap:round;pointer-events:none}.direction-arrow.selected.svelte-jpc25w{stroke:#f44336;stroke-width:3}.arrow-head.svelte-jpc25w{fill:#ff9800;pointer-events:none}.arrow-head.selected.svelte-jpc25w{fill:#f44336}.arrow-hit-area.svelte-jpc25w{fill:transparent;cursor:pointer;touch-action:manipulation}.player-token.svelte-jpc25w{fill:#2196f3;stroke:#0d47a1;stroke-width:1.5}.confirm-btn-slot.svelte-jpc25w{min-height:60px;display:flex;align-items:center;justify-content:center}.confirm-btn.svelte-jpc25w{display:block;margin:.5rem auto;padding:.75rem 2rem;font-size:1.1rem;background:#f44336;color:#fff;border:none;border-radius:8px;cursor:pointer;min-height:44px;min-width:120px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.confirm-btn.hidden.svelte-jpc25w{visibility:hidden}.confirm-btn.svelte-jpc25w:hover{background:#d32f2f}.confirm-btn.svelte-jpc25w:active{background:#b71c1c}@media(prefers-color-scheme:dark){.hex-outline.svelte-jpc25w,.hub-spoke-line.svelte-jpc25w{stroke:#444}.edge-line.svelte-jpc25w{stroke:#555}.vertex.svelte-jpc25w{stroke:#999}.vertex.center-vertex.svelte-jpc25w{stroke:#777}.vertex.enemy.svelte-jpc25w{stroke:#ef5350}.kill-zone-overlay.svelte-jpc25w{fill:#ef53504d}.enemy-direction.svelte-jpc25w{stroke:#ef5350}.enemy-arrow-head.svelte-jpc25w{fill:#ef5350}.vertex.blackhole.svelte-jpc25w,.blackhole-ring.svelte-jpc25w{stroke:#ce93d8}.blackhole-core.svelte-jpc25w{fill:#ce93d8}}.dice-container.svelte-10j74ol{display:flex;align-items:center;justify-content:center;width:90px;height:90px;margin:.75rem auto;padding:0;border-radius:14px;border:3px solid #555;background:#fafafa;cursor:pointer;transition:transform .15s,border-color .25s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.dice-container.svelte-10j74ol:hover:not(.disabled){border-color:#2196f3;transform:scale(1.05)}.dice-container.svelte-10j74ol:active:not(.disabled){transform:scale(.95)}.dice-container.disabled.svelte-10j74ol{opacity:.4;cursor:default}.dice-container.rolling.svelte-10j74ol{animation:svelte-10j74ol-shake .1s linear infinite}@keyframes svelte-10j74ol-shake{0%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}to{transform:rotate(-3deg)}}.die-face.svelte-10j74ol{width:72px;height:72px;display:flex;align-items:center;justify-content:center}.die-svg.svelte-10j74ol{width:100%;height:100%}.die-dot.svelte-10j74ol{fill:#333}.die-prompt.svelte-10j74ol{font-size:.7rem;color:#888;text-align:center;line-height:1.2}@media(prefers-color-scheme:dark){.dice-container.svelte-10j74ol{background:#333;border-color:#777}.dice-container.svelte-10j74ol:hover:not(.disabled){border-color:#64b5f6}.die-dot.svelte-10j74ol{fill:#eee}.die-prompt.svelte-10j74ol{color:#aaa}}.hud.svelte-1y9k209{display:flex;gap:1rem;justify-content:center;align-items:center;margin-top:.5rem;padding:.4rem .75rem;flex-wrap:wrap}.hud-item.svelte-1y9k209{display:flex;align-items:center;gap:.3rem;font-size:.95rem}.hud-label.svelte-1y9k209{color:#888;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.hud-value.svelte-1y9k209{font-weight:600;font-size:1.1rem;color:#333}.phase-item.svelte-1y9k209{font-style:italic}.phase-text.svelte-1y9k209{color:#555;font-size:.95rem}.end-phase.svelte-1y9k209 .phase-text:where(.svelte-1y9k209){font-weight:600;font-style:normal;font-size:1rem}.won.svelte-1y9k209 .end-phase:where(.svelte-1y9k209) .phase-text:where(.svelte-1y9k209){color:#2e7d32}.lost.svelte-1y9k209 .end-phase:where(.svelte-1y9k209) .phase-text:where(.svelte-1y9k209){color:#c62828}.status-badge.svelte-1y9k209{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:4px}.engine-damaged.svelte-1y9k209{background:#fff3e0;color:#e65100;border:1px solid #ffcc80}.stealth-dive.svelte-1y9k209{background:#e8eaf6;color:#283593;border:1px solid #9fa8da;text-transform:none}@media(prefers-color-scheme:dark){.hud-label.svelte-1y9k209{color:#999}.hud-value.svelte-1y9k209{color:#eee}.phase-text.svelte-1y9k209{color:#bbb}.won.svelte-1y9k209 .end-phase:where(.svelte-1y9k209) .phase-text:where(.svelte-1y9k209){color:#66bb6a}.lost.svelte-1y9k209 .end-phase:where(.svelte-1y9k209) .phase-text:where(.svelte-1y9k209){color:#ef5350}.engine-damaged.svelte-1y9k209{background:#3e2723;color:#ffab40;border-color:#6d4c41}.stealth-dive.svelte-1y9k209{background:#1a237e;color:#82b1ff;border-color:#3949ab}}@media(max-width:400px){.hud.svelte-1y9k209{gap:.6rem;padding:.3rem .5rem}.hud-item.svelte-1y9k209{font-size:.85rem}.hud-value.svelte-1y9k209{font-size:1rem}}.game-over.svelte-a13a20{display:flex;flex-direction:column;align-items:center;gap:.75rem}h2.svelte-a13a20{font-size:1.8rem;margin:0}h2.win.svelte-a13a20{color:#2e7d32}h2.lose.svelte-a13a20{color:#c62828}.message.svelte-a13a20{color:#666;font-size:1rem;margin:0}.stats.svelte-a13a20{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center;margin:.5rem 0}.stat.svelte-a13a20{display:flex;flex-direction:column;align-items:center;gap:.15rem}.stat-label.svelte-a13a20{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:#888}.stat-value.svelte-a13a20{font-size:1.2rem;font-weight:600;color:#333}.play-again-btn.svelte-a13a20{padding:.75rem 2.5rem;font-size:1.2rem;background:#1976d2;color:#fff;border:none;border-radius:8px;cursor:pointer;margin-top:.25rem;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.play-again-btn.svelte-a13a20:hover{background:#1565c0}.play-again-btn.svelte-a13a20:active{background:#0d47a1}@media(prefers-color-scheme:dark){h2.win.svelte-a13a20{color:#66bb6a}h2.lose.svelte-a13a20{color:#ef5350}.message.svelte-a13a20{color:#aaa}.stat-label.svelte-a13a20{color:#999}.stat-value.svelte-a13a20{color:#eee}}.combat-screen.svelte-f8e3b4{position:relative;max-width:480px;margin:0 auto;padding:.75rem;font-family:system-ui,-apple-system,sans-serif}.end-overlay.svelte-f8e3b4{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:10;border-radius:12px}.end-message.svelte-f8e3b4{font-size:2.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.end-message.victory.svelte-f8e3b4{color:#4caf50}.end-message.destroyed.svelte-f8e3b4{color:#f44336}.end-message.retreat.svelte-f8e3b4,.end-message.enemy-retreat.svelte-f8e3b4{color:#ff9800}.end-message.escaped.svelte-f8e3b4{color:#f9a825}.combat-header.svelte-f8e3b4{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;gap:.5rem;flex-wrap:wrap}.turn-info.svelte-f8e3b4{font-size:.9rem;font-weight:600;color:#555}.approach-badge.svelte-f8e3b4{font-size:.75rem;padding:.2rem .5rem;border-radius:4px;font-weight:600;text-transform:uppercase}.approach-info.svelte-f8e3b4{display:flex;flex-direction:column;align-items:center;gap:.15rem}.hit-threshold.svelte-f8e3b4{font-size:.65rem;color:#888;font-weight:500}.approach-badge.rear_ambush.svelte-f8e3b4{background:#e8f5e9;color:#2e7d32}.approach-badge.vision.svelte-f8e3b4{background:#fce4ec;color:#c62828}.approach-badge.simple.svelte-f8e3b4{background:#e3f2fd;color:#1565c0}.turn-indicator.svelte-f8e3b4{font-size:.95rem;font-weight:700;padding:.25rem .6rem;border-radius:6px}.turn-indicator.player-turn.svelte-f8e3b4{background:#e3f2fd;color:#1565c0}.turn-indicator.enemy-turn.svelte-f8e3b4{background:#fce4ec;color:#c62828}.ships-container.svelte-f8e3b4{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:.75rem}.ship-panel.svelte-f8e3b4{flex:1;padding:.5rem;border-radius:8px;border:2px solid #ddd;min-width:0}.player-panel.svelte-f8e3b4{border-color:#90caf9;background:#f5f9ff}.enemy-panel.svelte-f8e3b4{border-color:#ef9a9a;background:#fff5f5}.ship-title.svelte-f8e3b4{font-size:.8rem;margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.03em;color:#666}.components-list.svelte-f8e3b4{display:flex;flex-direction:column;gap:.35rem}.component-row.svelte-f8e3b4{display:flex;align-items:center;gap:.3rem;font-size:.8rem}.component-row.destroyed.svelte-f8e3b4{opacity:.4;text-decoration:line-through}.comp-name.svelte-f8e3b4{width:3.5rem;font-weight:500;font-size:.7rem;color:#444;flex-shrink:0}.hp-bar-container.svelte-f8e3b4{flex:1;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;min-width:30px}.hp-bar.svelte-f8e3b4{height:100%;border-radius:4px;transition:width .3s}.hp-bar.hp-full.svelte-f8e3b4{background:#4caf50}.hp-bar.hp-damaged.svelte-f8e3b4{background:#ff9800}.hp-bar.hp-dead.svelte-f8e3b4{background:#f44336}.hp-text.svelte-f8e3b4{font-size:.7rem;font-weight:600;color:#555;width:1.8rem;text-align:right;flex-shrink:0}.dice-area.svelte-f8e3b4{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:70px;flex-shrink:0}.combat-die.svelte-f8e3b4{width:60px;height:60px;border-radius:10px;border:2px solid #888;background:#fafafa;display:flex;align-items:center;justify-content:center}.combat-die.rolling.svelte-f8e3b4{animation:svelte-f8e3b4-shake .1s linear infinite}.combat-die.hit.svelte-f8e3b4{border-color:#4caf50}.combat-die.miss.svelte-f8e3b4{border-color:#f44336}.combat-die.empty.svelte-f8e3b4{border-style:dashed;border-color:#ccc}@keyframes svelte-f8e3b4-shake{0%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}to{transform:rotate(-3deg)}}.die-svg.svelte-f8e3b4{width:80%;height:80%}.die-dot.svelte-f8e3b4{fill:#333}.die-prompt.svelte-f8e3b4{font-size:.6rem;color:#aaa;text-align:center}.roll-result.svelte-f8e3b4{font-size:.85rem;font-weight:700;text-align:center}.roll-result.hit.svelte-f8e3b4{color:#2e7d32}.roll-result.miss.svelte-f8e3b4{color:#c62828}.target-label.svelte-f8e3b4{font-size:.65rem;color:#777;text-align:center}.target-buttons.svelte-f8e3b4{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.outcome-area.svelte-f8e3b4{min-height:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;margin-top:.5rem}.weapons-offline.svelte-f8e3b4{font-size:.85rem;font-weight:700;color:#f57f17;text-align:center}.target-btn.svelte-f8e3b4{padding:.6rem 1rem;min-width:44px;min-height:44px;border:2px solid #1565c0;border-radius:8px;background:#e3f2fd;color:#1565c0;font-weight:600;font-size:.85rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .1s}.target-btn.svelte-f8e3b4:hover:not(:disabled){background:#bbdefb;transform:scale(1.03)}.target-btn.svelte-f8e3b4:active:not(:disabled){transform:scale(.97)}.target-btn.svelte-f8e3b4:disabled{opacity:.35;cursor:default;border-color:#999;background:#eee;color:#999}.target-btn.destroyed.svelte-f8e3b4{text-decoration:line-through}.escape-row.svelte-f8e3b4{display:flex;justify-content:center;margin-top:.5rem}.escape-btn.svelte-f8e3b4{padding:.6rem 1.5rem;min-width:44px;min-height:44px;border:2px solid #f9a825;border-radius:8px;background:#fff8e1;color:#f57f17;font-weight:600;font-size:.85rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .1s}.escape-btn.svelte-f8e3b4:hover:not(:disabled){background:#ffecb3;transform:scale(1.03)}.escape-btn.svelte-f8e3b4:active:not(:disabled){transform:scale(.97)}.escape-btn.svelte-f8e3b4:disabled{opacity:.35;cursor:default;border-color:#999;background:#eee;color:#999}@media(prefers-color-scheme:dark){.hit-threshold.svelte-f8e3b4{color:#999}.turn-info.svelte-f8e3b4{color:#bbb}.approach-badge.rear_ambush.svelte-f8e3b4{background:#1b5e20;color:#a5d6a7}.approach-badge.vision.svelte-f8e3b4{background:#b71c1c;color:#ef9a9a}.approach-badge.simple.svelte-f8e3b4,.turn-indicator.player-turn.svelte-f8e3b4{background:#0d47a1;color:#90caf9}.turn-indicator.enemy-turn.svelte-f8e3b4{background:#b71c1c;color:#ef9a9a}.player-panel.svelte-f8e3b4{border-color:#1565c0;background:#0d1b2a}.enemy-panel.svelte-f8e3b4{border-color:#c62828;background:#2a0d0d}.ship-title.svelte-f8e3b4{color:#aaa}.comp-name.svelte-f8e3b4{color:#ccc}.hp-bar-container.svelte-f8e3b4{background:#444}.hp-text.svelte-f8e3b4{color:#bbb}.combat-die.svelte-f8e3b4{background:#333;border-color:#666}.combat-die.empty.svelte-f8e3b4{border-color:#555}.die-dot.svelte-f8e3b4{fill:#eee}.die-prompt.svelte-f8e3b4{color:#888}.target-label.svelte-f8e3b4{color:#999}.roll-result.hit.svelte-f8e3b4{color:#66bb6a}.roll-result.miss.svelte-f8e3b4{color:#ef5350}.target-btn.svelte-f8e3b4{background:#0d47a1;border-color:#1565c0;color:#90caf9}.target-btn.svelte-f8e3b4:hover:not(:disabled){background:#1565c0}.target-btn.svelte-f8e3b4:disabled{background:#333;border-color:#555;color:#666}.escape-btn.svelte-f8e3b4{background:#4a3800;border-color:#f9a825;color:#fdd835}.escape-btn.svelte-f8e3b4:hover:not(:disabled){background:#5c4a00}.escape-btn.svelte-f8e3b4:disabled{background:#333;border-color:#555;color:#666}.weapons-offline.svelte-f8e3b4{color:#fdd835}.end-overlay.svelte-f8e3b4{background:#000c}}.galaxy-screen.svelte-1xjb54a{display:flex;flex-direction:column;align-items:center;gap:1rem}.title.svelte-1xjb54a{font-size:1.5rem;color:#333;margin:0}.shipyard-btn.svelte-1xjb54a{padding:.65rem 1.5rem;min-width:44px;min-height:44px;border:2px solid #ff9800;border-radius:8px;background:#fff3e0;color:#e65100;font-weight:700;font-size:1rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .1s}.shipyard-btn.svelte-1xjb54a:hover{background:#ffe0b2;transform:scale(1.03)}.shipyard-btn.svelte-1xjb54a:active{transform:scale(.97)}.shipyard-btn.svelte-1xjb54a:focus-visible{outline:2px solid #ff9800;outline-offset:2px}.gate-message.svelte-1xjb54a{font-size:.85rem;color:#ff9800;font-weight:600;text-align:center}.grid.gated.svelte-1xjb54a{opacity:.4;pointer-events:none}.grid.svelte-1xjb54a{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:.5rem;width:100%;max-width:360px}.cell.svelte-1xjb54a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.75rem .5rem;border-radius:8px;border:2px solid #444;min-height:80px;min-width:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s}.cell-size.svelte-1xjb54a{font-weight:600;font-size:.9rem}.cell-difficulty.svelte-1xjb54a{font-size:.75rem;color:#888}.cell-status.svelte-1xjb54a{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.status-locked.svelte-1xjb54a{background:#2a2a2a;border-color:#444;color:#666;opacity:.5;cursor:default}.status-unlocked.svelte-1xjb54a{background:#1a1a2e;border-color:#4fc3f7;color:#e0e0e0;cursor:pointer;box-shadow:0 0 8px #4fc3f74d}.status-unlocked.svelte-1xjb54a:hover{border-color:#81d4fa;box-shadow:0 0 14px #4fc3f780}.status-unlocked.svelte-1xjb54a:focus-visible{outline:2px solid #4fc3f7;outline-offset:2px}.status-won.svelte-1xjb54a{background:#1b3a1b;border-color:#4caf50;color:#a5d6a7;cursor:default}.status-lost.svelte-1xjb54a{background:#3a1b1b;border-color:#e53935;color:#ef9a9a;cursor:default}@media(prefers-color-scheme:light){.title.svelte-1xjb54a{color:#333}.status-locked.svelte-1xjb54a{background:#e0e0e0;border-color:#bbb;color:#999}.status-unlocked.svelte-1xjb54a{background:#e3f2fd;border-color:#1976d2;color:#333;box-shadow:0 0 8px #1976d24d}.status-unlocked.svelte-1xjb54a:hover{border-color:#42a5f5;box-shadow:0 0 14px #1976d280}.status-won.svelte-1xjb54a{background:#e8f5e9;border-color:#4caf50;color:#2e7d32}.status-lost.svelte-1xjb54a{background:#ffebee;border-color:#e53935;color:#c62828}}.reset-btn.svelte-1xjb54a{padding:.5rem 1.25rem;min-height:44px;border:2px solid #b71c1c;border-radius:8px;background:transparent;color:#c62828;font-weight:600;font-size:.85rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s,transform .1s}.reset-btn.svelte-1xjb54a:hover{background:#b71c1c1a}.reset-btn.svelte-1xjb54a:active{transform:scale(.97)}.reset-btn.svelte-1xjb54a:focus-visible{outline:2px solid #b71c1c;outline-offset:2px}.reset-btn.confirming.svelte-1xjb54a{border-color:#e53935;color:#e53935;background:#e5393526}@media(prefers-color-scheme:dark){.title.svelte-1xjb54a{color:#eee}.shipyard-btn.svelte-1xjb54a{background:#3a2a1a;border-color:#ff9800;color:#ffb74d}.shipyard-btn.svelte-1xjb54a:hover{background:#4a3a2a}.gate-message.svelte-1xjb54a{color:#ffb74d}.reset-btn.svelte-1xjb54a{border-color:#c62828;color:#ef5350}.reset-btn.svelte-1xjb54a:hover{background:#e5393526}.reset-btn.confirming.svelte-1xjb54a{border-color:#ef5350;color:#ef5350;background:#e5393533}}@media(min-width:600px){.grid.svelte-1xjb54a{max-width:420px;gap:.75rem}.cell.svelte-1xjb54a{min-height:100px;padding:1rem}.cell-size.svelte-1xjb54a{font-size:1rem}.cell-difficulty.svelte-1xjb54a{font-size:.85rem}}.galaxy-complete.svelte-oq5l3p{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.title.svelte-oq5l3p{font-size:1.8rem;color:#ffd54f;margin:0}.stats.svelte-oq5l3p{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center}.stat.svelte-oq5l3p{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-value.svelte-oq5l3p{font-size:2rem;font-weight:700}.stat-label.svelte-oq5l3p{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#999}.stat.won.svelte-oq5l3p .stat-value:where(.svelte-oq5l3p){color:#4caf50}.stat.lost.svelte-oq5l3p .stat-value:where(.svelte-oq5l3p){color:#e53935}.stat.locked.svelte-oq5l3p .stat-value:where(.svelte-oq5l3p){color:#888}.new-galaxy-btn.svelte-oq5l3p{padding:.75rem 2.5rem;font-size:1.2rem;background:#ffd54f;color:#333;border:none;border-radius:8px;cursor:pointer;font-weight:600;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.new-galaxy-btn.svelte-oq5l3p:hover{background:#ffca28}.new-galaxy-btn.svelte-oq5l3p:active{background:#ffb300}@media(prefers-color-scheme:light){.title.svelte-oq5l3p{color:#f57f17}.stat.won.svelte-oq5l3p .stat-value:where(.svelte-oq5l3p){color:#2e7d32}.stat.lost.svelte-oq5l3p .stat-value:where(.svelte-oq5l3p){color:#c62828}.stat.locked.svelte-oq5l3p .stat-value:where(.svelte-oq5l3p){color:#999}.new-galaxy-btn.svelte-oq5l3p{background:#f57f17;color:#fff}.new-galaxy-btn.svelte-oq5l3p:hover{background:#ef6c00}.new-galaxy-btn.svelte-oq5l3p:active{background:#e65100}}.engagement-backdrop.svelte-1w9ms48{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0000008c;z-index:100}.engagement-modal.svelte-1w9ms48{background:#fff;border-radius:12px;padding:1.5rem;max-width:320px;width:90%;text-align:center;box-shadow:0 8px 32px #0000004d}.modal-title.svelte-1w9ms48{font-size:1.3rem;font-weight:700;margin:0 0 .5rem;color:#333}.modal-desc.svelte-1w9ms48{font-size:.9rem;color:#666;margin:0 0 .75rem}.approach-info.svelte-1w9ms48{font-size:.8rem;font-weight:600;color:#1565c0;background:#e3f2fd;padding:.3rem .6rem;border-radius:6px;margin-bottom:1rem;display:inline-block}.modal-buttons.svelte-1w9ms48{display:flex;gap:.75rem;justify-content:center}.engage-btn.svelte-1w9ms48{padding:.7rem 1.2rem;min-width:44px;min-height:44px;border:2px solid #1565c0;border-radius:8px;background:#1565c0;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .1s}.engage-btn.svelte-1w9ms48:hover{background:#0d47a1;transform:scale(1.03)}.engage-btn.svelte-1w9ms48:active{transform:scale(.97)}.avoid-btn.svelte-1w9ms48{padding:.7rem 1.2rem;min-width:44px;min-height:44px;border:2px solid #9e9e9e;border-radius:8px;background:#f5f5f5;color:#555;font-weight:600;font-size:.9rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .1s}.avoid-btn.svelte-1w9ms48:hover{background:#e0e0e0;transform:scale(1.03)}.avoid-btn.svelte-1w9ms48:active{transform:scale(.97)}@media(prefers-color-scheme:dark){.engagement-modal.svelte-1w9ms48{background:#1a1a2e;box-shadow:0 8px 32px #0009}.modal-title.svelte-1w9ms48{color:#eee}.modal-desc.svelte-1w9ms48{color:#aaa}.approach-info.svelte-1w9ms48{background:#0d47a1;color:#90caf9}.engage-btn.svelte-1w9ms48{background:#1565c0;border-color:#1565c0}.engage-btn.svelte-1w9ms48:hover{background:#1976d2}.avoid-btn.svelte-1w9ms48{background:#333;border-color:#555;color:#bbb}.avoid-btn.svelte-1w9ms48:hover{background:#444}}.shipyard-screen.svelte-cos2ae{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:480px;margin:0 auto;padding:.75rem;font-family:system-ui,-apple-system,sans-serif}.header-row.svelte-cos2ae{display:flex;align-items:center;gap:.75rem;width:100%}.back-btn.svelte-cos2ae{padding:.35rem .7rem;min-width:44px;min-height:44px;border:2px solid #666;border-radius:6px;background:#f5f5f5;color:#333;font-weight:600;font-size:.8rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .1s;flex-shrink:0}.back-btn.svelte-cos2ae:hover{background:#e0e0e0;transform:scale(1.03)}.back-btn.svelte-cos2ae:active{transform:scale(.97)}.title.svelte-cos2ae{font-size:1.5rem;color:#333;margin:0}.power-section.svelte-cos2ae{width:100%;display:flex;flex-direction:column;gap:.3rem}.power-label.svelte-cos2ae{font-size:.95rem;font-weight:600;color:#555;text-align:center}.power-bar-container.svelte-cos2ae{width:100%;height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden}.power-bar.svelte-cos2ae{height:100%;border-radius:6px;transition:width .3s,background .3s}.power-bar.power-low.svelte-cos2ae{background:#f44336}.power-bar.power-mid.svelte-cos2ae{background:#ff9800}.power-bar.power-high.svelte-cos2ae{background:#4caf50}.section.svelte-cos2ae{width:100%}.section-title.svelte-cos2ae{font-size:.9rem;font-weight:600;color:#666;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.03em}.empty-message.svelte-cos2ae{font-size:.85rem;color:#888;text-align:center;padding:.5rem}.component-list.svelte-cos2ae{display:flex;flex-direction:column;gap:.4rem}.component-row.svelte-cos2ae{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .6rem;background:#f5f9ff;border:1px solid #ddd;border-radius:8px}.comp-info.svelte-cos2ae{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.comp-name.svelte-cos2ae{font-weight:600;font-size:.85rem;color:#333}.comp-type.svelte-cos2ae{font-size:.7rem;padding:.1rem .35rem;border-radius:4px;background:#e3f2fd;color:#1565c0;font-weight:500;text-transform:uppercase}.comp-power.svelte-cos2ae{font-size:.7rem;font-weight:600;color:#ff9800}.comp-hp.svelte-cos2ae{font-size:.75rem;color:#555}.comp-bonus.svelte-cos2ae{font-size:.7rem;color:#888;font-style:italic}.remove-btn.svelte-cos2ae{padding:.35rem .7rem;min-width:44px;min-height:44px;border:2px solid #e53935;border-radius:6px;background:#ffebee;color:#c62828;font-weight:600;font-size:.75rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .1s;flex-shrink:0}.remove-btn.svelte-cos2ae:hover{background:#ffcdd2;transform:scale(1.03)}.remove-btn.svelte-cos2ae:active{transform:scale(.97)}.install-btn.svelte-cos2ae{padding:.35rem .7rem;min-width:44px;min-height:44px;border:2px solid #1976d2;border-radius:6px;background:#e3f2fd;color:#0d47a1;font-weight:600;font-size:.75rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .1s;flex-shrink:0}.install-btn.svelte-cos2ae:hover:not(:disabled){background:#bbdefb;transform:scale(1.03)}.install-btn.svelte-cos2ae:active:not(:disabled){transform:scale(.97)}.install-btn.svelte-cos2ae:disabled{opacity:.35;cursor:default;border-color:#999;background:#eee;color:#999}.confirm-btn.svelte-cos2ae{padding:.75rem 2rem;min-width:44px;min-height:44px;border:2px solid #4caf50;border-radius:8px;background:#e8f5e9;color:#2e7d32;font-weight:700;font-size:1rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .1s}.confirm-btn.svelte-cos2ae:hover:not(:disabled){background:#c8e6c9;transform:scale(1.03)}.confirm-btn.svelte-cos2ae:active:not(:disabled){transform:scale(.97)}.confirm-btn.svelte-cos2ae:disabled{opacity:.35;cursor:default;border-color:#999;background:#eee;color:#999}.confirm-hint.svelte-cos2ae{font-size:.75rem;color:#888;text-align:center}@media(prefers-color-scheme:dark){.title.svelte-cos2ae{color:#eee}.back-btn.svelte-cos2ae{background:#333;border-color:#666;color:#ccc}.back-btn.svelte-cos2ae:hover{background:#444}.power-label.svelte-cos2ae{color:#bbb}.power-bar-container.svelte-cos2ae{background:#444}.section-title.svelte-cos2ae{color:#aaa}.empty-message.svelte-cos2ae{color:#777}.component-row.svelte-cos2ae{background:#1a1a2e;border-color:#444}.comp-name.svelte-cos2ae{color:#e0e0e0}.comp-type.svelte-cos2ae{background:#0d47a1;color:#90caf9}.comp-power.svelte-cos2ae{color:#ffb74d}.comp-hp.svelte-cos2ae{color:#bbb}.comp-bonus.svelte-cos2ae{color:#999}.remove-btn.svelte-cos2ae{background:#3a1b1b;border-color:#e53935;color:#ef9a9a}.remove-btn.svelte-cos2ae:hover{background:#4a2020}.install-btn.svelte-cos2ae{background:#1a2a3a;border-color:#1976d2;color:#90caf9}.install-btn.svelte-cos2ae:hover:not(:disabled){background:#1a3a5a}.install-btn.svelte-cos2ae:disabled{background:#333;border-color:#555;color:#666}.confirm-btn.svelte-cos2ae{background:#1b3a1b;border-color:#4caf50;color:#a5d6a7}.confirm-btn.svelte-cos2ae:hover:not(:disabled){background:#2e5a2e}.confirm-btn.svelte-cos2ae:disabled{background:#333;border-color:#555;color:#666}.confirm-hint.svelte-cos2ae{color:#777}}@media(min-width:600px){.shipyard-screen.svelte-cos2ae{max-width:520px;padding:1rem}.title.svelte-cos2ae{font-size:1.75rem}}main.svelte-1n46o8q{text-align:center;padding:.5rem;font-family:system-ui,-apple-system,sans-serif;display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}h1.svelte-1n46o8q{font-size:1.5rem;color:#333;margin:.25rem 0}@media(prefers-color-scheme:dark){h1.svelte-1n46o8q{color:#eee}}@media(min-width:600px){main.svelte-1n46o8q{padding:1rem}h1.svelte-1n46o8q{font-size:2rem;margin-bottom:.25rem}}
