:root{--color-bg: #05070d;--surface-0: rgba( 5, 7, 13, 1);--surface-1: rgba( 10, 14, 22, .62);--surface-1-solid: rgba( 10, 14, 22, .78);--surface-2: rgba(255, 255, 255, .04);--surface-2-hover: rgba(255, 255, 255, .08);--surface-3: rgba(255, 255, 255, .1);--color-text: #d8dde7;--color-text-dim: #8d96a8;--color-text-muted: rgba(255, 255, 255, .45);--color-text-strong: rgba(255, 255, 255, .95);--color-accent: #6ea4ff;--color-accent-soft: rgba(110, 164, 255, .18);--color-accent-hover: rgba(110, 164, 255, .32);--color-accent-border: rgba(110, 164, 255, .5);--color-accent-glow: rgba(110, 164, 255, .1);--color-danger: rgba(255, 110, 110, .45);--color-success: rgba(110, 220, 150, .75);--color-warning: rgba(255, 200, 110, .8);--color-main-world: rgba(170, 220, 255, .95);--color-main-world-star: rgba(255, 220, 120, .95);--border-panel: rgba(255, 255, 255, .07);--border-control: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--border-divider: rgba(255, 255, 255, .05);--rail: rgba(255, 255, 255, .1);--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 10px;--space-6: 14px;--space-7: 18px;--space-8: 24px;--type-xs: 10px;--type-sm: 11px;--type-body: 12px;--type-base: 13px;--type-lg: 14px;--type-xl: 18px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 14px;--motion-fast: .14s;--motion-base: .16s;--motion-medium: .2s;--motion-slow: .28s;--motion-ease: cubic-bezier(.22, 1, .36, 1);--shadow-panel: 0 16px 48px rgba(0, 0, 0, .55);--shadow-button: 0 4px 16px rgba(0, 0, 0, .35);--focus-ring: 0 0 0 2px rgba(110, 164, 255, .65);--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--backdrop-blur: blur(18px) saturate(140%);--bg: var(--color-bg);--panel: var(--surface-1);--panel-border: var(--border-panel);--text: var(--color-text);--text-dim: var(--color-text-dim);--accent: var(--color-accent);--accent-soft: var(--color-accent-soft)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}:focus-visible{outline:none;box-shadow:var(--focus-ring)}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}.app{position:relative;width:100%;height:100%}.planet-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}.planet-canvas:active{cursor:grabbing}.panel{position:fixed;top:68px;right:16px;width:308px;max-height:calc(100vh - 84px);overflow-y:auto;padding:18px 18px 14px;background:var(--panel);border:1px solid var(--panel-border);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-radius:14px;box-shadow:0 16px 48px #0000008c;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;z-index:8;touch-action:pan-y}.panel::-webkit-scrollbar{width:6px}.panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.panel-closed{transform:translate(calc(100% + 24px));opacity:0;pointer-events:none}.panel-toggle{position:fixed;top:16px;right:16px;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#0a0e16c7;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);color:#fff;font-size:18px;font-weight:500;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #00000059;transition:background .16s,transform .16s,border-color .16s;z-index:10}.panel-toggle:hover{background:#141c2ce0;border-color:#ffffff47}.panel-toggle:active{transform:scale(.95)}.panel-toggle-open{font-size:14px}.view-toggle{position:fixed;top:16px;right:68px;height:40px;padding:0 14px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#0a0e16c7;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);color:#fff;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;box-shadow:0 4px 16px #00000059;transition:background .16s,transform .16s,border-color .16s;z-index:10}.view-toggle:hover{background:#141c2ce0;border-color:#ffffff47}.view-toggle:active{transform:scale(.95)}.sys-meta{display:grid;grid-template-columns:minmax(96px,auto) 1fr;gap:var(--space-2) var(--space-5);margin:0 0 var(--space-4);font-size:var(--type-body);line-height:1.5}.sys-meta-row{display:contents}.sys-meta-row dt{color:var(--text-dim);font-weight:500;letter-spacing:.2px}.sys-meta-row dd{margin:0;color:var(--color-text)}.sys-meta-bar dd{display:flex;align-items:center}.sys-actions{display:flex;align-items:center;gap:10px;margin-top:10px}.sys-seed{font-size:11px;color:#ffffff73;font-variant-numeric:tabular-nums}.sys-table{width:100%;border-collapse:collapse;font-size:var(--type-sm);color:var(--color-text);font-variant-numeric:tabular-nums}.sys-table th{text-align:left;font-weight:500;color:var(--text-dim);padding:var(--space-3) var(--space-3) var(--space-3) 0;border-bottom:1px solid var(--border-control);letter-spacing:.3px}.sys-table th.sys-col-num{text-align:right}.sys-table td{padding:var(--space-3) var(--space-3) var(--space-3) 0;white-space:nowrap;border-bottom:1px solid var(--border-divider)}.sys-table td.sys-col-num{text-align:right;font-variant-numeric:tabular-nums}.sys-table td.sys-col-action{padding-right:0;text-align:right}.sys-row{transition:background var(--motion-fast)}.sys-row:hover{background:#ffffff0a}.sys-row:hover .sys-reroll{opacity:1}.sys-table tr.sys-main{color:var(--color-main-world);background:linear-gradient(90deg,rgba(110,164,255,.1),transparent)}.sys-table tr.sys-main:hover{background:linear-gradient(90deg,#6ea4ff2e,#6ea4ff05)}.sys-main-marker{color:var(--color-main-world-star);margin-right:var(--space-2);font-size:.95em}.sys-unit{margin-left:3px;color:var(--text-dim);font-size:.85em}.sys-reroll{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;background:transparent;color:var(--text-dim);border-radius:var(--radius-md);cursor:pointer;opacity:.55;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),opacity var(--motion-fast)}.sys-reroll:hover{background:var(--color-accent-soft);border-color:var(--color-accent-border);color:var(--color-text-strong);opacity:1}.sys-reroll:disabled{opacity:.25;cursor:default}.sys-belt{font-size:var(--type-body);color:var(--color-text);padding:var(--space-2) 0;display:flex;align-items:center;gap:var(--space-4)}.sys-belt-dots{color:var(--text-dim);letter-spacing:2px}.hab-bar{position:relative;width:100%;max-width:140px;height:14px;border-radius:var(--radius-sm);background:#ffffff0f;overflow:hidden}.hab-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:var(--radius-sm);transition:width var(--motion-medium) var(--motion-ease)}.hab-bar-good .hab-bar-fill{background:linear-gradient(90deg,#6edc968c,#6edc96d9)}.hab-bar-fair .hab-bar-fill{background:linear-gradient(90deg,#ffc86e8c,#ffc86ed9)}.hab-bar-poor .hab-bar-fill{background:linear-gradient(90deg,#ff6e6e73,#ff6e6ebf)}.hab-bar-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--type-xs);color:var(--color-text-strong);font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgba(0,0,0,.4)}.trade-codes{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}.trade-codes-label{font-size:var(--type-sm);color:var(--color-text-dim);flex-shrink:0}.trade-codes-list{display:inline-flex;flex-wrap:wrap;gap:var(--space-2)}.trade-chip{display:inline-block;padding:1px var(--space-3);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-text-strong);font:600 var(--type-sm)/1.4 var(--font-mono);letter-spacing:.6px;text-decoration:none;cursor:help;transition:background var(--motion-fast),border-color var(--motion-fast)}.trade-chip:hover,.trade-chip:focus-visible{background:var(--color-accent-hover);outline:none}.panel-header{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.panel-header h1{font-size:18px;font-weight:600;letter-spacing:.5px;margin:0}.panel-actions{display:flex;gap:6px}.panel-actions button{flex:1;padding:8px 10px;border-radius:8px;border:1px solid var(--panel-border);background:var(--accent-soft);color:var(--text);font:inherit;cursor:pointer;transition:background .14s}.panel-actions button:hover{background:#6ea4ff52}.panel-actions button.ghost{background:transparent}.panel-actions button.ghost:hover{background:#ffffff0f}section{margin-bottom:14px}section h2{font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-dim);margin:0 0 8px}.slider{margin:8px 0}.slider-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.slider label{font-size:12px;color:var(--text)}.slider-value{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:18px;background:transparent;touch-action:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:var(--rail);border-radius:2px}input[type=range]::-moz-range-track{height:3px;background:var(--rail);border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);margin-top:-5.5px;box-shadow:0 0 0 4px #6ea4ff1a;transition:transform .12s}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--accent)}.uwp-row{display:flex;gap:6px;margin-bottom:4px}.uwp-input{flex:1;padding:8px 10px;border-radius:8px;border:1px solid var(--panel-border);background:#ffffff0a;color:var(--text);font:13px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px;outline:none;transition:border-color .14s,background .14s}.uwp-input:focus{border-color:#6ea4ff80;background:#6ea4ff0f}.uwp-input.invalid{border-color:#ff6e6e73}.uwp-row button{padding:8px 12px;border-radius:8px;border:1px solid var(--panel-border);background:var(--accent-soft);color:var(--text);font:inherit;cursor:pointer;transition:background .14s}.uwp-row button:hover{background:#6ea4ff52}.uwp-legend{font-size:10px;color:var(--text-dim);margin-top:4px;letter-spacing:.4px;line-height:1.4}.starport-row{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.starport-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 4px;border-radius:8px;border:1px solid var(--panel-border);background:#ffffff08;color:var(--text);font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;transition:background .14s,border-color .14s,color .14s}.starport-btn:hover{background:#ffffff14}.starport-btn.active{background:var(--accent-soft);border-color:#6ea4ff80;color:#bedcff}.starport-btn .icon{opacity:.75}.starport-btn.active .icon{opacity:1}.starport-btn-label{font-size:11px;letter-spacing:.4px}.icon{flex:none;vertical-align:middle;display:inline-block}.body-type{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.body-type .icon{opacity:.7}tr.sys-main .body-type .icon{opacity:.95}.body-type-label{font-size:12px}.uwp-slider{margin:10px 0}.uwp-slider-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.uwp-slider-label{font-size:12px;color:var(--text)}.uwp-slider-code{font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent);background:var(--accent-soft);padding:1px 7px;border-radius:4px;letter-spacing:1px}.uwp-slider-desc{font-size:11px;color:var(--text-dim);margin-top:2px;line-height:1.4;min-height:14px}.perf-fps{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--border-panel);background:var(--surface-2);font-variant-numeric:tabular-nums}.perf-fps-number{display:inline-flex;align-items:baseline;gap:var(--space-2)}.perf-fps-value{font-size:22px;font-weight:600;letter-spacing:.4px;color:var(--color-text-strong);transition:color var(--motion-medium)}.perf-fps-unit{font-size:var(--type-sm);color:var(--text-dim);letter-spacing:.6px}.perf-fps-meta{display:flex;flex-direction:column;gap:2px;text-align:right;font-size:var(--type-xs);color:var(--text-dim)}.perf-fps-good{border-color:#6edc9666}.perf-fps-good .perf-fps-value{color:#b4f5c8}.perf-fps-fair{border-color:#ffc86e73}.perf-fps-fair .perf-fps-value{color:#ffdca0}.perf-fps-poor{border-color:#ff6e6e73}.perf-fps-poor .perf-fps-value{color:#ffb4b4}.perf-fps-idle{opacity:.7}.perf-profile{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--color-accent-glow);border:1px solid var(--color-accent-soft);font-size:var(--type-body)}.perf-profile-label{color:var(--text-dim);letter-spacing:.3px}.perf-profile-value{color:var(--color-text-strong);font-weight:600;letter-spacing:.4px}.perf-profile-auto{color:var(--text-dim);font-weight:400}.quality-segments{display:inline-flex;width:100%;margin-bottom:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--border-panel);background:var(--surface-2);overflow:hidden}.quality-segment{flex:1 1 0;min-width:0;appearance:none;padding:7px 4px;border:none;border-right:1px solid var(--border-panel);background:transparent;color:var(--text-dim);font-family:inherit;font-size:11px;font-weight:500;letter-spacing:.3px;line-height:1.2;cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast)}.quality-segment:last-child{border-right:none}.quality-segment:hover{background:var(--surface-2-hover);color:var(--color-text)}.quality-segment.active{background:var(--color-accent-soft);color:var(--color-text-strong)}.quality-segment:disabled{opacity:.45;cursor:default}.quality-row,.quality-btn{display:none}.perf-grid{display:grid;grid-template-columns:minmax(64px,1fr) minmax(0,1.5fr);gap:5px 10px;font-size:11px;line-height:1.25;font-variant-numeric:tabular-nums}.perf-grid span{color:var(--text-dim)}.perf-grid strong{min-width:0;color:#ffffffe0;font-weight:500;text-align:right;overflow-wrap:anywhere}label.color{display:flex;align-items:center;justify-content:space-between;margin:6px 0;font-size:12px}label.color input[type=color]{width:36px;height:22px;padding:0;border:1px solid var(--panel-border);border-radius:6px;background:transparent;cursor:pointer}label.color input[type=color]::-webkit-color-swatch-wrapper{padding:2px}label.color input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}.panel-footer{margin-top:10px;padding-top:12px;border-top:1px solid var(--panel-border);color:var(--text-dim);font-size:11px;text-align:center;display:flex;align-items:center;justify-content:center;gap:var(--space-4)}.panel-footer .link{background:none;border:none;padding:0;color:var(--color-accent);font:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.panel-footer .link:hover{color:var(--color-text-strong)}.panel-footer .link:disabled{color:var(--text-dim);cursor:default;text-decoration:none}.about-modal .about-lede{color:var(--color-text);font-size:var(--type-base);line-height:1.6;margin:0 0 var(--space-6)}.about-modal a{color:var(--color-accent);text-decoration:underline dotted;text-underline-offset:3px}.about-modal a:hover{color:var(--color-text-strong)}.error-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:var(--space-8);background:radial-gradient(ellipse at center,#1e080cd9,#05070df2);z-index:10}.error-card{max-width:520px;padding:28px 32px;border-radius:var(--radius-2xl);border:1px solid var(--border-panel);background:var(--surface-1-solid);backdrop-filter:var(--backdrop-blur);box-shadow:var(--shadow-panel)}.error-card h2{font-size:var(--type-xl);margin:0 0 var(--space-4);color:var(--color-text-strong)}.error-card p{color:var(--text-dim);line-height:1.55;margin:0 0 var(--space-5)}.error-card .hint{margin-top:var(--space-6);font-size:var(--type-body)}.error-card code{background:#ffffff0f;padding:1px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.92em}.error-checklist{text-align:left;margin:0 0 var(--space-6);padding-left:var(--space-7);color:var(--color-text);line-height:1.7}.error-checklist li{margin-bottom:var(--space-2)}.error-detail{text-align:left;margin:var(--space-5) 0;font-size:var(--type-body)}.error-detail summary{cursor:pointer;color:var(--text-dim);margin-bottom:var(--space-3)}.error-detail pre{margin:0;padding:var(--space-4) var(--space-5);background:#00000059;border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--type-sm);color:var(--color-text);white-space:pre-wrap;word-break:break-word;max-height:180px;overflow:auto}.error-reload{margin-top:var(--space-5);padding:var(--space-4) var(--space-7);border-radius:var(--radius-md);border:1px solid var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-text-strong);font-size:var(--type-base);cursor:pointer;transition:background var(--motion-fast)}.error-reload:hover{background:var(--color-accent-hover)}.glossary-trigger{flex:0 0 auto!important;width:32px;padding:0!important;font-weight:700;font-size:var(--type-base);margin-left:auto}.glossary-backdrop{position:fixed;inset:0;background:#020408b3;backdrop-filter:blur(4px) saturate(120%);-webkit-backdrop-filter:blur(4px) saturate(120%);display:flex;align-items:center;justify-content:center;padding:var(--space-7);z-index:20;animation:glossary-fade-in var(--motion-fast) var(--motion-ease)}.glossary-modal{width:min(560px,100%);max-height:calc(100vh - 64px);display:flex;flex-direction:column;background:var(--surface-1-solid);border:1px solid var(--border-panel);border-radius:var(--radius-2xl);box-shadow:var(--shadow-panel);overflow:hidden}.glossary-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-7);border-bottom:1px solid var(--border-divider)}.glossary-header h2{margin:0;font-size:var(--type-xl);color:var(--color-text-strong)}.glossary-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid var(--border-panel);background:var(--surface-2);color:var(--color-text);cursor:pointer;font-size:var(--type-base);transition:background var(--motion-fast)}.glossary-close:hover{background:var(--surface-2-hover)}.glossary-body{overflow-y:auto;padding:var(--space-5) var(--space-7) var(--space-7)}.glossary-list{margin:0;display:grid;gap:var(--space-6)}.glossary-entry{margin:0}.glossary-entry dt{font-size:var(--type-base);font-weight:600;color:var(--color-accent);letter-spacing:.4px;margin-bottom:var(--space-2)}.glossary-entry dd{margin:0;color:var(--color-text);line-height:1.55;font-size:var(--type-body)}@keyframes glossary-fade-in{0%{opacity:0}to{opacity:1}}.subsector-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000;padding:72px var(--space-7) var(--space-7);z-index:5;overflow:auto}.subsector-overlay.panel-open{padding-right:340px}.subsector-map{width:100%;max-width:760px;color:var(--color-text)}.subsector-map svg{width:100%;height:auto;display:block}.subsector-empty{color:var(--text-dim);font-size:var(--type-body);text-align:center}.hex-cell .hex-shape{stroke:#ffffff38;stroke-width:.8;fill:transparent;transition:stroke var(--motion-fast)}.hex-cell.hex-occupied{cursor:pointer}.hex-cell.hex-occupied:hover .hex-shape{stroke:#ffffff8c}.hex-cell.hex-occupied:focus-visible .hex-shape{stroke:var(--color-accent);stroke-width:1.6;outline:none}.hex-cell.hex-selected .hex-shape{stroke:var(--color-accent);stroke-width:1.8}.hex-zone-ring{fill:none;pointer-events:none}.zone-ring-amber{stroke:#ffc43cf2;stroke-width:1.6}.zone-ring-red{stroke:#e63838f2;stroke-width:1.8}.jump-route{fill:none;stroke-linecap:round}.jump-route-1{stroke:#4ec866d9;stroke-width:1.6}.jump-route-2{stroke:#ffc86e8c;stroke-width:1.1;stroke-dasharray:3 3}.toggle-label{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;user-select:none}.toggle-label input[type=checkbox]{accent-color:var(--color-accent)}.hex-system-dot{fill:var(--color-text-strong)}.hex-cell.port-a .hex-system-dot{fill:#fff}.hex-cell.port-b .hex-system-dot{fill:#ebf5ff}.hex-cell.port-c .hex-system-dot{fill:#c8dcffe6}.hex-cell.port-d .hex-system-dot{fill:#b4c3d7d9}.hex-cell.port-e .hex-system-dot{fill:#aab4c3b3}.hex-cell.port-x .hex-system-dot{fill:transparent;stroke:#c85050e6;stroke-width:1}.hex-label{font-family:Helvetica Neue,-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-size:7px;fill:#ffffff6b;pointer-events:none;letter-spacing:.4px}.hex-starport{font-family:Helvetica Neue,-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-size:11px;font-weight:700;fill:#fff;pointer-events:none}.hex-starport-warn{fill:#ff6e6e}.hex-name{font-family:Helvetica Neue,-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-size:8px;font-weight:500;letter-spacing:.2px;fill:#fff;pointer-events:none}.hex-cell.hex-hipop .hex-name{font-weight:700;letter-spacing:.6px;font-size:8.5px}.hex-name-warn{fill:#ff6e6e}.hex-gas-giant{fill:transparent;stroke:#ffffffd9;stroke-width:.9}.hex-belt-glyph circle{fill:#ffffffa6}.hex-base{font-size:9px;font-weight:700;pointer-events:none}.base-naval{fill:#fff}.base-scout{fill:#ffd78c}.base-research{fill:#aae6ff}.base-tas{fill:#ffc8e6}.surface-map{width:100%;max-width:880px;color:var(--color-text)}.surface-map svg{width:100%;height:auto;display:block}.surface-empty{color:var(--text-dim);font-size:var(--type-body);text-align:center;padding:var(--space-7)}.surface-hex{cursor:pointer}.surface-hex-shape{stroke:#0000008c;stroke-width:.5;transition:filter var(--motion-fast),stroke var(--motion-fast)}.surface-hex:hover .surface-hex-shape{filter:brightness(1.15);stroke:#fff6}.surface-hex:focus-visible .surface-hex-shape{stroke:var(--color-accent);stroke-width:1.4;outline:none}.surface-selected .surface-hex-shape{stroke:var(--color-accent);stroke-width:1.6}.surface-marker{font-size:11px;fill:#ffe6a0;text-shadow:0 1px 2px rgba(0,0,0,.5);pointer-events:none}.surface-starport{font-weight:700}.surface-city{fill:#ffffffeb;stroke:#00000080;stroke-width:.5;pointer-events:none}.surface-city-3{fill:#ffe6a0}.surface-city-2{fill:#ffffffeb}.surface-city-1{fill:#dcdce6d9}.surface-city-0{fill:#b4b4c8b3}.sys-empty{color:var(--text-dim);font-style:italic}.hex-detail-uwp{font-family:var(--font-mono);font-size:var(--type-base);color:var(--color-text-strong);letter-spacing:.6px}.zone-tag{display:inline-block;padding:1px var(--space-3);border-radius:var(--radius-sm);font-size:var(--type-xs);font-weight:600;letter-spacing:.6px;text-transform:uppercase}.zone-tag-green{background:#6edc962e;color:#b4f5c8}.zone-tag-amber{background:#ffc86e38;color:#ffdca0}.zone-tag-red{background:#ff6e6e38;color:#ffb4b4}.export-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.export-btn{flex:1 1 0;padding:8px 0;border-radius:var(--radius-md);border:1px solid var(--border-control);background:var(--surface-2);color:var(--color-text);font:500 var(--type-body) inherit;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast)}.export-btn:hover{background:var(--color-accent-soft);border-color:var(--color-accent-border)}.export-btn:disabled{opacity:.45;cursor:default}.export-status{min-height:1.2em;margin:0;color:var(--text-dim);font-size:var(--type-sm);letter-spacing:.2px}.export-status-ok{color:#b4f5c8}.export-status-error{color:#ffb4b4}.export-status-busy{color:var(--color-accent)}.hover-tooltip{position:fixed;pointer-events:none;z-index:9;padding:8px 12px 10px;border-radius:var(--radius-md);border:1px solid var(--color-accent-border);background:#080c16eb;backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);color:var(--color-text-strong);font-size:var(--type-body);letter-spacing:.2px;box-shadow:0 4px 16px #00000080;max-width:240px}.hover-tooltip-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:4px}.hover-tooltip-head .icon{color:var(--color-accent)}.hover-tooltip-idx{margin-left:auto;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--type-sm)}.hover-tooltip-class{margin-bottom:4px;color:var(--text-dim);font-size:var(--type-sm);letter-spacing:.3px}.hover-tooltip-meta{display:flex;gap:6px;color:var(--text-dim);font-size:var(--type-sm);font-variant-numeric:tabular-nums}.hover-tooltip-tag{margin-top:4px;font-size:var(--type-xs);color:#b4f5c8;letter-spacing:.4px}.breadcrumb{position:fixed;top:20px;left:16px;max-width:calc(100vw - 460px);display:inline-flex;align-items:center;gap:var(--space-3);padding:6px 14px;border-radius:999px;border:1px solid var(--border-panel);background:var(--surface-1-solid);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);color:var(--color-text);font-size:var(--type-body);letter-spacing:.2px;box-shadow:var(--shadow-button);z-index:6;pointer-events:auto;overflow:hidden}.breadcrumb-item{display:inline-flex;align-items:center;gap:var(--space-3);min-width:0}.breadcrumb-sep{color:var(--text-dim)}.breadcrumb-crumb{appearance:none;background:transparent;border:none;padding:2px 4px;color:var(--text-dim);font:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:color var(--motion-fast),background var(--motion-fast);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-crumb:hover{color:var(--color-text-strong);background:var(--surface-2)}.breadcrumb-crumb.active{color:var(--color-text-strong)}.breadcrumb-crumb.muted{color:var(--color-text-muted)}.breadcrumb-crumb.muted:hover{color:var(--text-dim)}@media(max-width:640px){.breadcrumb{font-size:var(--type-sm);top:64px;left:8px;padding:4px 10px;max-width:calc(100vw - 16px)}}.view-mode-toggle{position:fixed;top:16px;right:68px;display:inline-flex;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#0a0e16c7;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);overflow:hidden;box-shadow:var(--shadow-button);z-index:10}.view-mode-segment{appearance:none;border:none;background:transparent;color:var(--color-text);font-size:var(--type-body);font-family:inherit;padding:0 14px;cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast);border-right:1px solid rgba(255,255,255,.08)}.view-mode-segment:last-child{border-right:none}.view-mode-segment:hover{background:#ffffff0f}.view-mode-segment.active{background:var(--color-accent-soft);color:var(--color-text-strong)}.view-mode-segment:disabled{color:var(--text-dim);cursor:not-allowed;opacity:.55}@media(max-width:640px){.view-mode-toggle{top:12px;right:64px;height:44px}.view-mode-segment{padding:0 10px;font-size:var(--type-sm)}.subsector-overlay{padding:var(--space-6)}}.view-transition{position:absolute;inset:0;background:#02040a;opacity:0;pointer-events:none;z-index:6}.view-transition-active{animation:view-transition-wash .24s ease-out}@keyframes view-transition-wash{0%{opacity:0}35%{opacity:.85}to{opacity:0}}@media(prefers-reduced-motion:reduce){.view-transition-active{animation:none}}.onboarding-hint{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:flex;gap:var(--space-6);padding:10px 16px;border-radius:999px;border:1px solid var(--border-panel);background:var(--surface-1-solid);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);color:var(--color-text);font-size:var(--type-body);letter-spacing:.3px;box-shadow:var(--shadow-button);z-index:7;pointer-events:none;animation:onboarding-hint-in var(--motion-medium) var(--motion-ease)}.onboarding-hint-row{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--text-dim);white-space:nowrap}.onboarding-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#ffffff14;color:var(--color-text-strong);font-family:var(--font-mono);font-size:var(--type-sm);line-height:1}@keyframes onboarding-hint-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:640px){.onboarding-hint{gap:var(--space-5);padding:8px 12px;font-size:var(--type-sm)}}.loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-7);background:radial-gradient(ellipse at center,#080c168c,#020408eb);z-index:9;pointer-events:none}.loading-orbit{position:relative;width:96px;height:96px}.loading-star{position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:radial-gradient(circle,#ffe9a8 0%,#f5b850 60%,transparent 75%);box-shadow:0 0 18px 4px #ffc86e73}.loading-planet{position:absolute;top:50%;left:50%;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;border:1px solid rgba(110,164,255,.18);animation:loading-orbit-spin 2.4s linear infinite}.loading-planet:after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 10px 2px #6ea4ff8c}@keyframes loading-orbit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-label{color:var(--text-dim);font-size:var(--type-base);letter-spacing:.4px;margin:0}@media(prefers-reduced-motion:reduce){.loading-planet{animation:none}}@media(max-width:640px){.panel{width:calc(100% - 16px);right:8px;top:64px;max-height:calc(100vh - 80px);border-radius:12px}.panel-closed{transform:translateY(calc(-100% - 80px))}.panel-toggle{top:12px;right:12px;width:44px;height:44px}.view-toggle{top:12px;right:64px;height:44px;padding:0 12px;font-size:var(--type-body)}.glossary-modal{width:100%;max-height:calc(100vh - 32px);border-radius:var(--radius-xl)}.glossary-backdrop{padding:var(--space-4)}.starport-row{grid-template-columns:repeat(6,1fr);gap:6px}.starport-btn{padding-top:8px;padding-bottom:6px;min-height:44px}.sys-table th,.sys-table td{padding-top:var(--space-4);padding-bottom:var(--space-4)}.sys-reroll{width:34px;height:34px;opacity:.8}}@media(pointer:coarse){input[type=range]{height:36px}input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-9.5px}input[type=range]::-moz-range-thumb{width:22px;height:22px}.starport-btn{min-height:44px}.sys-reroll{width:36px;height:36px;opacity:.85}.panel-actions button,.quality-btn,button.link{min-height:36px}}
