.universe-map-container{position:relative;width:100%;height:100%;min-height:380px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#0d152a,#060913 72%,#03050a);border:1px solid rgba(56,189,248,.18);border-radius:14px;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.universe-map-svg{width:100%;height:100%;max-width:780px;max-height:780px;transition:transform .12s ease-out}.map-zoom-controls{position:absolute;top:12px;right:12px;z-index:10;display:flex;flex-direction:column;gap:6px}.map-ctrl-btn{width:34px;height:34px;border-radius:8px;border:1px solid rgba(148,163,184,.3);background:#0f172ad9;color:#e2e8f0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.map-ctrl-btn:hover{border-color:#38bdf8;color:#38bdf8;background:#0f172afa}.angle-ray-label{fill:#94a3b8;font-family:Orbitron,sans-serif;font-size:13px;font-weight:700}.center-hole-title{fill:#e2e8f0;font-family:Orbitron,sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em}.center-hole-spin{fill:#c084fc;font-family:Orbitron,sans-serif;font-size:11px;font-weight:800}.center-hole-mass{fill:#94a3b8;font-size:9px;font-weight:600}.spiral-space-node{cursor:pointer;transition:opacity .15s ease}.spiral-space-node:hover circle:first-of-type{filter:brightness(1.22)}.space-node-index{fill:#f8fafc;font-family:Orbitron,sans-serif;font-size:10px;font-weight:700;pointer-events:none}.space-node-obj-tag{fill:#ffffffeb;font-size:7.5px;font-weight:700;letter-spacing:.03em;pointer-events:none}.badge-micro-text{fill:#f8fafc;font-size:8px;font-weight:700;pointer-events:none}.pulse-ring-selected{animation:pulseRing 1.6s infinite ease-in-out}@keyframes pulseRing{0%,to{opacity:.95;stroke-width:3px}50%{opacity:.45;stroke-width:4.5px}}.universe-map-legend{position:absolute;bottom:8px;left:12px;right:12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;padding:5px 10px;border-radius:8px;background:#090d18d1;border:1px solid rgba(148,163,184,.18);font-size:11px;color:#cbd5e1;pointer-events:none}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.planet-dot{background:#38bdf8;border:1px solid #fff}.dwarf-dot{background:#64748b}.star-dot{background:#facc15}.bh-dot{background:#020617;border:1.5px solid #c084fc}.rad-dot{background:#dc2626}.app-root{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 0%,#0f172a,#050811 70%)}.btn-primary,.btn-secondary,.btn-success,.btn-warning,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .15s ease}.btn-primary{background:linear-gradient(135deg,#0284c7,#2563eb);color:#fff;border-color:#38bdf866}.btn-primary:hover:not(:disabled){filter:brightness(1.12)}.btn-secondary{background:#1e293bd9;color:#e2e8f0;border-color:#94a3b84d}.btn-secondary:hover:not(:disabled){border-color:#38bdf8;color:#38bdf8}.btn-success{background:linear-gradient(135deg,#059669,#10b981);color:#fff}.btn-warning{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff}.btn-danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff}button:disabled{opacity:.45;cursor:not-allowed}.btn-lg{padding:11px 18px;font-size:14px}.btn-sm{padding:6px 11px;font-size:12px}.btn-xs{padding:4px 8px;font-size:11px;border-radius:6px}.full-select,.compact-select,.text-input{background:#090e1a;color:#f8fafc;border:1px solid rgba(148,163,184,.3);border-radius:7px;padding:8px 10px;font-size:13px}.full-select{width:100%;margin-top:4px}.compact-select{padding:4px 8px;font-size:11.5px}.text-input{flex:1}.muted-text{color:var(--text-muted);font-size:12.5px}.main-screen-wrapper{max-width:1240px;width:100%;margin:0 auto;padding:20px}.main-nav-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--border-subtle)}.game-logo-title{font-size:26px;background:linear-gradient(90deg,#38bdf8,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.game-logo-sub{font-size:12px;color:var(--text-muted)}.nav-actions-row,.action-btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.main-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;margin-top:22px}.menu-panel{background:#0b1120eb;border:1px solid var(--border-subtle);border-radius:14px;padding:20px;box-shadow:0 12px 32px #00000073}.panel-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.panel-header h2{font-size:17px;flex:1}.accent-icon{color:var(--accent-blue)}.panel-cta-stack{display:flex;flex-direction:column;gap:10px}.conn-pill{font-size:11px;padding:3px 8px;border-radius:12px;font-weight:600}.conn-online{background:#10b9812e;color:#34d399}.conn-offline{background:#ef44442e;color:#f87171}.mp-create-box{background:#111827bf;border:1px solid var(--border-subtle);border-radius:10px;padding:14px}.mp-create-box h3{font-size:14px;margin-bottom:10px;color:#38bdf8}.mp-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkbox-row{display:flex;gap:16px;font-size:12.5px;color:#cbd5e1}.mp-join-code-row{display:flex;gap:8px}.lobby-cards-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto}.lobby-item-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#111827cc;border:1px solid var(--border-subtle);border-radius:8px;font-size:13px}.news-box{border-top:1px solid var(--border-subtle);padding-top:12px}.news-item{font-size:12px;margin-top:6px;color:#cbd5e1}.lobby-screen-wrapper{max-width:1120px;width:100%;margin:24px auto;padding:0 16px}.lobby-container-card{background:#0b1120f0;border:1px solid var(--border-subtle);border-radius:14px;padding:20px}.lobby-top-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.lobby-columns-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:16px}.participant-list{display:flex;flex-direction:column;gap:8px}.participant-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#111827d9;border:1px solid var(--border-subtle);border-radius:8px;font-size:13px}.lobby-alignment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:8px}.alignment-pick-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 10px;border-radius:8px;background:#111827d9;border:1px solid var(--border-subtle);color:#f8fafc;font-size:12px;cursor:pointer;text-align:left}.alignment-pick-btn.picked{border-color:#38bdf8;background:#38bdf824}.chat-messages-scroll{height:140px;overflow-y:auto;background:#070b14;border:1px solid var(--border-subtle);border-radius:8px;padding:8px 10px;font-size:12px;margin-bottom:8px}.chat-line{margin-bottom:4px}.chat-input-row{display:flex;gap:6px}.game-active-layout{height:100vh;overflow:hidden;display:flex;flex-direction:column}.game-top-hud{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;background:#090d18f5;border-bottom:1px solid var(--border-subtle)}.hud-left-cluster,.hud-right-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.turn-epoch-badge{display:flex;align-items:baseline;gap:8px;background:#1e293bcc;padding:5px 10px;border-radius:8px;border:1px solid var(--border-subtle)}.turn-num{font-family:Orbitron,sans-serif;font-weight:800;font-size:13px;color:#38bdf8}.epoch-sub{font-size:11px;color:#cbd5e1}.turn-status-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:700;background:#1e293bd9;color:#cbd5e1}.my-turn-glow{background:#10b98138;color:#34d399;border:1px solid #10b981;box-shadow:0 0 12px #10b98159}.timer-tag{display:inline-flex;align-items:center;gap:3px;color:#facc15}.players-ribbon{display:flex;overflow-x:auto;gap:8px;padding:6px 14px;background:#070a13e6;border-bottom:1px solid var(--border-subtle)}.player-chip{min-width:155px;padding:5px 10px;border-radius:7px;background:#111827e0;border:1px solid var(--border-subtle);font-size:11.5px}.active-player-chip{border-color:#38bdf8;background:#38bdf81f}.eliminated-chip{opacity:.45}.chip-top{display:flex;align-items:center;justify-content:space-between;gap:6px;font-weight:700}.first-p-badge{background:#f59e0b;color:#000;font-size:9px;padding:1px 4px;border-radius:3px;margin-right:4px}.chip-alignment{font-size:10px;color:#94a3b8}.chip-stats{display:flex;align-items:center;gap:10px;margin-top:3px;color:#cbd5e1}.passed-label{color:#f59e0b;font-size:9.5px;font-weight:700}.elim-label{color:#ef4444;font-size:9.5px;font-weight:700}.phase-prompt-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;font-size:13px;border-bottom:1px solid var(--border-subtle)}.colonize-banner{background:#10b9812e}.shift-banner{background:#a855f733}.gameover-banner{background:#f59e0b3d}.game-board-workspace{flex:1;min-height:0;display:grid;grid-template-columns:1fr 370px;gap:10px;padding:8px 12px;overflow:hidden}.board-stage{min-height:0;height:100%;display:flex}.side-inspector-stage{min-height:0;height:100%;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.inspector-panel{background:#0b1120f0;border:1px solid var(--border-subtle);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.inspector-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border-subtle);padding-bottom:8px}.inspector-title{font-size:14px;display:flex;align-items:center;gap:6px}.coord-badge{font-family:Inter,sans-serif;font-size:11px;font-weight:600;background:#38bdf829;color:#38bdf8;padding:2px 6px;border-radius:5px}.inspector-subtitle{font-size:11px;color:var(--text-muted);display:block;margin-top:2px}.inspector-section{display:flex;flex-direction:column;gap:6px}.section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#38bdf8;display:flex;align-items:center;gap:5px}.celestial-card,.unit-row,.ship-card-row{background:#111827d9;border:1px solid var(--border-subtle);border-radius:8px;padding:8px 10px;font-size:12px}.unit-row,.ship-card-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.unit-owner-badge,.ship-info{display:inline-flex;align-items:center;gap:6px}.color-pip{width:10px;height:10px;border-radius:50%;display:inline-block}.inline-actions{display:flex;flex-wrap:wrap;gap:5px}.hazard-alert{background:#dc262633;border:1px solid #ef4444;color:#fca5a5;padding:6px 8px;border-radius:6px;font-size:11.5px;font-weight:600}.inspector-action-box{background:#0f172ae6;border:1px solid rgba(56,189,248,.35);border-radius:9px;padding:10px;display:flex;flex-direction:column;gap:8px}.colonize-box{border-color:#10b981;background:#064e3b40}.box-title{font-size:12.5px;font-weight:700;color:#f8fafc;display:flex;align-items:center;gap:6px}.action-group-row{display:flex;flex-direction:column;gap:5px;padding-top:6px;border-top:1px solid rgba(148,163,184,.14)}.group-label{font-size:11.5px;color:#cbd5e1;display:flex;align-items:center;gap:5px}.inspector-footer{border-top:1px solid var(--border-subtle);padding-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.tag-row{display:flex;flex-wrap:wrap;gap:5px}.adj-jump-btn{background:#1e293bd9;border:1px solid var(--border-subtle);color:#38bdf8;padding:2px 7px;border-radius:5px;font-size:11px;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.mini-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:#334155cc;color:#e2e8f0;font-weight:600}.event-log-box{background:#0b1120f0;border:1px solid var(--border-subtle);border-radius:10px;padding:10px}.event-log-scroll{max-height:150px;overflow-y:auto;font-size:11.5px;margin-top:6px}.log-entry-line{padding:3px 0;border-bottom:1px solid rgba(148,163,184,.08)}.log-turn{color:#38bdf8;font-weight:700}.game-bottom-drawer{background:#080c16f7;border-top:1px solid var(--border-subtle);padding:6px 14px 8px}.hand-controls-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.hand-title-group{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:#38bdf8}.doctrine-selectors{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.doctrine-label{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:#cbd5e1}.hand-cards-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.empty-hand-msg{font-size:12px;color:var(--text-muted);padding:10px 0}.game-card-item{min-width:138px;max-width:150px;padding:7px 9px;border-radius:8px;background:#111827eb;border:1.5px solid rgba(148,163,184,.3);cursor:pointer;transition:all .14s ease;display:flex;flex-direction:column;gap:3px}.game-card-item:hover{transform:translateY(-2px);border-color:#38bdf8}.game-card-item.selected-card{border-color:#facc15;box-shadow:0 0 12px #facc1573;background:#1e293bfa}.deck-military{border-top:3px solid #ef4444}.deck-science{border-top:3px solid #38bdf8}.deck-culture{border-top:3px solid #a855f7}.deck-economy{border-top:3px solid #10b981}.card-top-bar{display:flex;justify-content:space-between;font-size:10px;font-weight:700}.card-val-badge{color:#facc15;font-family:Orbitron,sans-serif}.card-name{font-size:12px;font-weight:700;color:#f8fafc}.card-subtype-tag{font-size:9.5px;color:#38bdf8;font-weight:600}.card-desc{font-size:10px;color:#94a3b8;line-height:1.25}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{width:100%;max-width:540px;max-height:88vh;background:#0b1120;border:1px solid rgba(56,189,248,.35);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px #000000b3}.modal-lg{max-width:860px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}.header-title-row{display:flex;align-items:center;gap:8px}.header-title-row h2{font-size:16px}.icon-close-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer}.modal-body{padding:16px 18px;overflow-y:auto}.modal-footer-btns{display:flex;align-items:center;justify-content:flex-end;gap:8px}.alignment-status-banner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:10px 12px;background:#111827d9;border-radius:8px;font-size:12.5px;margin-bottom:12px}.alignment-wheel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.alignment-sector-card{background:#111827e6;border:1px solid var(--border-subtle);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;font-size:12px}.valid-shift-sector{cursor:pointer;border-color:#38bdf873}.locked-sector{opacity:.45}.sector-top-row{display:flex;justify-content:space-between;align-items:center}.sector-badges{display:flex;gap:4px}.core-tag{background:#f59e0b;color:#000}.current-tag{background:#10b981;color:#fff}.planned-tag{background:#38bdf8;color:#000}.sector-name{font-size:14px}.sector-desc{font-size:11px;color:#94a3b8;line-height:1.35}.search-input-wrap{display:flex;align-items:center;gap:8px;background:#070b14;border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px;margin-bottom:14px}.search-input-wrap input{background:transparent;border:none;color:#fff;width:100%;outline:none}.rule-section-block{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.rule-section-block h3{font-size:14px;color:#38bdf8;margin-bottom:6px}.rule-text-body{white-space:pre-line;font-size:12.5px;line-height:1.55;color:#cbd5e1}.cosmic-table{width:100%;border-collapse:collapse;font-size:12.5px}.cosmic-table th,.cosmic-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border-subtle)}.cosmic-table th{color:#38bdf8;font-family:Orbitron,sans-serif;font-size:11px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-box{background:#111827d9;border:1px solid var(--border-subtle);border-radius:8px;padding:10px;display:flex;flex-direction:column;align-items:center}.stat-val{font-family:Orbitron,sans-serif;font-size:18px;font-weight:700;color:#38bdf8}.stat-lbl{font-size:11px;color:var(--text-muted)}.tutorial-step-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}.step-dot{width:9px;height:9px;border-radius:50%;background:#94a3b859;cursor:pointer}.step-dot.active-dot{background:#38bdf8}.global-error-toast{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:200;background:#dc2626;color:#fff;padding:8px 16px;border-radius:8px;font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 8px 24px #00000080}@media(max-width:920px){.game-active-layout{height:auto;min-height:100vh;overflow-y:auto}.game-board-workspace{grid-template-columns:1fr;overflow:visible}.board-stage{min-height:390px}}:root{--bg-deep: #050811;--bg-panel: #0b1120;--bg-card: #111827;--border-subtle: rgba(148, 163, 184, .2);--border-accent: rgba(56, 189, 248, .45);--text-main: #f8fafc;--text-muted: #94a3b8;--accent-blue: #38bdf8;--accent-purple: #a855f7;--accent-green: #10b981;--accent-amber: #f59e0b;--accent-red: #ef4444}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100vh;background-color:var(--bg-deep);color:var(--text-main);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Orbitron,sans-serif;letter-spacing:.03em}button{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0f172a99}::-webkit-scrollbar-thumb{background:#64748b80;border-radius:3px}
