.StarMapClient-module__KLUH9G__mapApp{display:flex;position:fixed;inset:56px 0 0;overflow:hidden}.StarMapClient-module__KLUH9G__panelLeft{background:var(--bg-panel);border-right:1px solid var(--border-subtle);width:240px;min-width:240px;transition:margin-left .35s var(--ease-out);z-index:100;animation:StarMapClient-module__KLUH9G__slideInLeft .5s var(--ease-out);flex-direction:column;display:flex;position:relative}.StarMapClient-module__KLUH9G__panelLeftCollapsed{margin-left:-240px}.StarMapClient-module__KLUH9G__panelLeftHeader{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:14px 16px 10px;display:flex}.StarMapClient-module__KLUH9G__panelLeftHeader svg{width:16px;height:16px;stroke:var(--primary);fill:none;stroke-width:2px;flex-shrink:0}.StarMapClient-module__KLUH9G__panelLeftTitle{font-family:var(--f-display);font-size:var(--t-2xs);letter-spacing:2px;text-transform:uppercase;color:var(--primary);font-weight:700}.StarMapClient-module__KLUH9G__panelLeftBody{flex:1;padding:16px;overflow-y:auto}.StarMapClient-module__KLUH9G__panelToggle{background:var(--bg-panel);border:1px solid var(--border-subtle);cursor:pointer;z-index:101;width:16px;height:48px;transition:all var(--dur-fast)ease;border-left:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:-16px;transform:translateY(-50%)}.StarMapClient-module__KLUH9G__panelToggle:hover{background:var(--bg-elevated);border-color:var(--border-med)}.StarMapClient-module__KLUH9G__panelToggle svg{width:10px;height:10px;stroke:var(--text-dim);fill:none;stroke-width:2px;transition:transform .3s}.StarMapClient-module__KLUH9G__panelLeftCollapsed .StarMapClient-module__KLUH9G__panelToggle svg{transform:rotate(180deg)}.StarMapClient-module__KLUH9G__field{margin-bottom:14px}.StarMapClient-module__KLUH9G__fieldLabel{font-family:var(--f-mono);font-size:var(--t-3xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:5px;display:block}.StarMapClient-module__KLUH9G__fieldInput{font-family:var(--f-mono);font-size:var(--t-sm);color:var(--text-bright);background:var(--bg-input);border:1px solid var(--border-subtle);transition:all var(--dur-fast)ease;outline:none;align-items:center;width:100%;padding:8px 12px;display:flex}.StarMapClient-module__KLUH9G__fieldInput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.StarMapClient-module__KLUH9G__fieldInput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.StarMapClient-module__KLUH9G__fieldInput[type=number]{-moz-appearance:textfield}.StarMapClient-module__KLUH9G__fieldInput:focus{border-color:var(--primary);box-shadow:0 0 10px hsla(var(--ph),var(--ps),50%,.12)}.StarMapClient-module__KLUH9G__fieldInputRow{align-items:center;gap:8px;display:flex}.StarMapClient-module__KLUH9G__fieldInputRow input{flex:1;min-width:0}.StarMapClient-module__KLUH9G__fieldUnit{font-family:var(--f-mono);font-size:var(--t-3xs);color:var(--text-muted);letter-spacing:.1em;flex-shrink:0}.StarMapClient-module__KLUH9G__sliderWrap{cursor:pointer;touch-action:none;margin-top:6px;padding:8px 0}.StarMapClient-module__KLUH9G__sliderTrack{cursor:pointer;background:#ffffff0f;border-radius:2px;width:100%;height:4px;position:relative}.StarMapClient-module__KLUH9G__sliderFill{background:linear-gradient(90deg,var(--primary-dim),var(--primary));height:100%;box-shadow:0 0 8px var(--primary-glow);transition:width .1s;position:absolute;top:0;left:0}.StarMapClient-module__KLUH9G__sliderThumb{background:var(--primary);border:2px solid var(--bg-deep);cursor:grab;width:14px;height:14px;box-shadow:0 0 10px var(--primary-glow);transition:box-shadow var(--dur-fast)ease;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.StarMapClient-module__KLUH9G__sliderThumb:hover{box-shadow:0 0 16px var(--primary-glow),0 0 4px var(--primary)}.StarMapClient-module__KLUH9G__fieldCheck{cursor:pointer;align-items:center;gap:8px;padding:6px 0;display:flex}.StarMapClient-module__KLUH9G__fieldCheck input[type=checkbox]{display:none}.StarMapClient-module__KLUH9G__checkBox{border:1px solid var(--border-med);background:var(--bg-input);width:16px;height:16px;transition:all var(--dur-fast)ease;flex-shrink:0;justify-content:center;align-items:center;display:flex}.StarMapClient-module__KLUH9G__fieldCheck input:checked~.StarMapClient-module__KLUH9G__checkBox{border-color:var(--primary);background:var(--primary-ghost)}.StarMapClient-module__KLUH9G__fieldCheck input:checked~.StarMapClient-module__KLUH9G__checkBox:after{content:"✓";color:var(--primary);font-size:10px}.StarMapClient-module__KLUH9G__checkLabel{font-family:var(--f-body);font-size:var(--t-sm);color:var(--text-dim)}.StarMapClient-module__KLUH9G__plotRouteBtn{width:100%;margin-top:6px;display:flex}.StarMapClient-module__KLUH9G__plotRouteBtn svg{stroke:currentColor;fill:none;stroke-width:2px;flex-shrink:0;width:14px;height:14px;margin-right:8px}.StarMapClient-module__KLUH9G__routeResult{border:1px solid hsla(var(--ph),var(--ps),50%,.25);background:var(--primary-ghost);margin-top:16px;padding:12px;position:relative;overflow:hidden}.StarMapClient-module__KLUH9G__routeResult:before{content:"";background:linear-gradient(90deg,transparent,var(--primary),transparent);height:1px;position:absolute;top:0;left:0;right:0}.StarMapClient-module__KLUH9G__routeResultHeader{align-items:center;gap:6px;margin-bottom:10px;display:flex}.StarMapClient-module__KLUH9G__routeResultHeader svg{width:14px;height:14px;stroke:var(--success);fill:none;stroke-width:2.5px}.StarMapClient-module__KLUH9G__routeResultTitle{font-family:var(--f-display);font-size:var(--t-3xs);letter-spacing:2px;text-transform:uppercase;color:var(--success);font-weight:700}.StarMapClient-module__KLUH9G__routeStats{grid-template-columns:1fr 1fr;gap:2px;display:grid}.StarMapClient-module__KLUH9G__routeStat{text-align:center;background:var(--primary-surface);padding:8px 4px}.StarMapClient-module__KLUH9G__routeStatVal{font-family:var(--f-display);font-size:var(--t-xl);color:var(--primary);font-weight:700;line-height:1}.StarMapClient-module__KLUH9G__routeStatLabel{font-family:var(--f-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;font-size:8px}.StarMapClient-module__KLUH9G__routeError{background:var(--danger-ghost);border:1px solid #ff335540;margin-top:16px;padding:12px;position:relative;overflow:hidden}.StarMapClient-module__KLUH9G__errorHeader{align-items:center;gap:6px;margin-bottom:10px;display:flex}.StarMapClient-module__KLUH9G__errorHeader svg{width:14px;height:14px;stroke:var(--danger);fill:none;stroke-width:2.5px}.StarMapClient-module__KLUH9G__errorTitle{font-family:var(--f-display);font-size:var(--t-3xs);letter-spacing:2px;text-transform:uppercase;color:var(--danger);font-weight:700}.StarMapClient-module__KLUH9G__noRoute{border:1px solid var(--border-subtle);background:var(--primary-surface);align-items:center;gap:8px;margin-top:14px;padding:10px 12px;display:flex}.StarMapClient-module__KLUH9G__noRoute svg{width:14px;height:14px;stroke:var(--text-dim);fill:none;stroke-width:2px;flex-shrink:0}.StarMapClient-module__KLUH9G__noRoute span{font-family:var(--f-body);font-size:var(--t-sm);color:var(--text-dim)}.StarMapClient-module__KLUH9G__routeSummary{border-top:1px solid var(--border-subtle);background:var(--bg-panel-header);font-family:var(--f-mono);font-size:var(--t-3xs);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;padding:12px 16px}.StarMapClient-module__KLUH9G__mapCenter{background:var(--bg-deep);flex:1;position:relative;overflow:hidden}.StarMapClient-module__KLUH9G__mapCanvas{position:absolute;inset:0}.StarMapClient-module__KLUH9G__mapCanvas canvas{width:100%;height:100%;display:block}.StarMapClient-module__KLUH9G__starField{background:radial-gradient(1px at 10% 15%,#fff9,transparent),radial-gradient(1px at 25% 45%,#fff6,transparent),radial-gradient(1.2px at 40% 10%,hsla(var(--ph),var(--ps),60%,.5),transparent),radial-gradient(1px at 55% 70%,#ffffff80,transparent),radial-gradient(1px at 70% 25%,#ffffff4d,transparent),radial-gradient(1.5px at 85% 55%,hsla(var(--ph),var(--ps),50%,.3),transparent),radial-gradient(1px at 15% 80%,#fff6,transparent),radial-gradient(1px at 90% 85%,#ffffff59,transparent),radial-gradient(1px at 50% 50%,#fff3,transparent),radial-gradient(1px at 35% 35%,#ffffff80,transparent);pointer-events:none;opacity:.4;position:absolute;inset:0}.StarMapClient-module__KLUH9G__mapNebula{pointer-events:none;background:radial-gradient(ellipse 800px 500px at 30% 40%,hsla(var(--ph),var(--ps),50%,.02),transparent 70%),radial-gradient(ellipse 600px 400px at 75% 65%,#9933cc04,transparent 70%);position:absolute;inset:0}.StarMapClient-module__KLUH9G__mapGrid{pointer-events:none;background:linear-gradient(90deg,hsla(var(--ph),var(--ps),50%,.012)1px,transparent 1px),linear-gradient(hsla(var(--ph),var(--ps),50%,.012)1px,transparent 1px);opacity:.5;background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 20%,#0000 70%);mask-image:radial-gradient(80% 80%,#000 20%,#0000 70%)}.StarMapClient-module__KLUH9G__mapCrosshair{pointer-events:none;position:absolute;inset:0}.StarMapClient-module__KLUH9G__mapCrosshair:before{content:"";background:linear-gradient(180deg,transparent 20%,hsla(var(--ph),var(--ps),50%,.04)50%,transparent 80%);width:1px;position:absolute;top:0;bottom:0;left:50%}.StarMapClient-module__KLUH9G__mapCrosshair:after{content:"";background:linear-gradient(90deg,transparent 20%,hsla(var(--ph),var(--ps),50%,.04)50%,transparent 80%);height:1px;position:absolute;top:50%;left:0;right:0}.StarMapClient-module__KLUH9G__compass{pointer-events:none;font-family:var(--f-display);letter-spacing:6px;opacity:.06;color:var(--primary);font-size:clamp(28px,4vw,48px);font-weight:900;position:absolute}.StarMapClient-module__KLUH9G__compassN{top:20px;left:50%;transform:translate(-50%)}.StarMapClient-module__KLUH9G__compassS{bottom:20px;left:50%;transform:translate(-50%)}.StarMapClient-module__KLUH9G__compassE{top:50%;right:24px;transform:translateY(-50%)}.StarMapClient-module__KLUH9G__compassW{top:50%;left:24px;transform:translateY(-50%)}.StarMapClient-module__KLUH9G__hudCorner{pointer-events:none;width:40px;height:40px;position:absolute}.StarMapClient-module__KLUH9G__tl{border-top:1px solid hsla(var(--ph),var(--ps),50%,.1);border-left:1px solid hsla(var(--ph),var(--ps),50%,.1);top:12px;left:12px}.StarMapClient-module__KLUH9G__tr{border-top:1px solid hsla(var(--ph),var(--ps),50%,.1);border-right:1px solid hsla(var(--ph),var(--ps),50%,.1);top:12px;right:12px}.StarMapClient-module__KLUH9G__bl{border-bottom:1px solid hsla(var(--ph),var(--ps),50%,.1);border-left:1px solid hsla(var(--ph),var(--ps),50%,.1);bottom:12px;left:12px}.StarMapClient-module__KLUH9G__br{border-bottom:1px solid hsla(var(--ph),var(--ps),50%,.1);border-right:1px solid hsla(var(--ph),var(--ps),50%,.1);bottom:12px;right:12px}.StarMapClient-module__KLUH9G__hudCoord{font-family:var(--f-mono);font-size:var(--t-3xs);letter-spacing:.1em;color:var(--text-muted);pointer-events:none;position:absolute}.StarMapClient-module__KLUH9G__hudCoordTl{top:16px;left:58px}.StarMapClient-module__KLUH9G__hudCoordBr{bottom:16px;right:58px}.StarMapClient-module__KLUH9G__mapStatus{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--border-subtle);pointer-events:none;z-index:10;background:#07090eb3;justify-content:center;align-items:center;gap:24px;height:28px;display:flex;position:absolute;bottom:0;left:0;right:0}.StarMapClient-module__KLUH9G__mapStatus span{font-family:var(--f-mono);font-size:var(--t-3xs);letter-spacing:.1em;color:var(--text-muted)}.StarMapClient-module__KLUH9G__mapStatus kbd{font-family:var(--f-mono);border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-dim);padding:1px 5px;font-size:8px}.StarMapClient-module__KLUH9G__panelRight{background:var(--bg-panel);border-left:1px solid var(--border-subtle);width:280px;min-width:280px;transition:margin-right .35s var(--ease-out);z-index:100;animation:StarMapClient-module__KLUH9G__slideInRight .5s var(--ease-out).1s both;flex-direction:column;display:flex;position:relative}.StarMapClient-module__KLUH9G__panelRightCollapsed{margin-right:-280px}.StarMapClient-module__KLUH9G__panelRightHeader{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:14px 16px 10px;display:flex}.StarMapClient-module__KLUH9G__panelRightHeader svg{width:16px;height:16px;stroke:var(--primary);fill:none;stroke-width:2px;flex-shrink:0}.StarMapClient-module__KLUH9G__panelRightTitle{font-family:var(--f-display);font-size:var(--t-2xs);letter-spacing:2px;text-transform:uppercase;color:var(--primary);font-weight:700}.StarMapClient-module__KLUH9G__panelRightBody{flex:1;padding:0;overflow-y:auto}.StarMapClient-module__KLUH9G__waypoint{cursor:pointer;transition:background var(--dur-fast)ease;border-bottom:1px solid #ffffff05;align-items:flex-start;gap:12px;padding:12px 16px;display:flex;position:relative}.StarMapClient-module__KLUH9G__waypoint:hover{background:var(--primary-surface)}.StarMapClient-module__KLUH9G__wpNum{border:1.5px solid var(--primary-dim);width:24px;height:24px;font-family:var(--f-display);color:var(--primary);z-index:2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:flex;position:relative}.StarMapClient-module__KLUH9G__waypointStart .StarMapClient-module__KLUH9G__wpNum{border-color:var(--success);color:var(--success);box-shadow:0 0 8px var(--success-glow)}.StarMapClient-module__KLUH9G__waypointEnd .StarMapClient-module__KLUH9G__wpNum{border-color:var(--danger);color:var(--danger);box-shadow:0 0 8px var(--danger-glow)}.StarMapClient-module__KLUH9G__waypoint:before{content:"";background:var(--primary-dim);opacity:.3;width:1.5px;position:absolute;top:36px;bottom:-1px;left:27px}.StarMapClient-module__KLUH9G__waypoint:last-child:before,.StarMapClient-module__KLUH9G__waypointEnd:before{display:none}.StarMapClient-module__KLUH9G__wpInfo{flex:1;min-width:0}.StarMapClient-module__KLUH9G__wpName{font-family:var(--f-body);font-size:var(--t-base);color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.StarMapClient-module__KLUH9G__wpDist{font-family:var(--f-mono);font-size:var(--t-3xs);color:var(--text-muted);letter-spacing:.05em}.StarMapClient-module__KLUH9G__wpAction{opacity:.4;cursor:pointer;width:20px;height:20px;transition:opacity var(--dur-fast)ease;flex-shrink:0;justify-content:center;align-items:center;display:flex}.StarMapClient-module__KLUH9G__wpAction:hover{opacity:1}.StarMapClient-module__KLUH9G__wpAction svg{width:14px;height:14px;stroke:var(--text-dim);fill:none;stroke-width:2px}.StarMapClient-module__KLUH9G__waypointStart .StarMapClient-module__KLUH9G__wpAction svg{stroke:var(--success)}.StarMapClient-module__KLUH9G__waypointEnd .StarMapClient-module__KLUH9G__wpAction svg{stroke:var(--danger)}.StarMapClient-module__KLUH9G__routeEmpty{text-align:center;padding:24px 16px}.StarMapClient-module__KLUH9G__routeEmpty svg{width:32px;height:32px;stroke:var(--text-muted);fill:none;stroke-width:1.5px;margin-bottom:8px}.StarMapClient-module__KLUH9G__routeEmpty p{font-family:var(--f-body);font-size:var(--t-sm);color:var(--text-muted)}.StarMapClient-module__KLUH9G__floatToolbar{z-index:50;flex-direction:column;gap:4px;animation:.6s .3s both StarMapClient-module__KLUH9G__fadeIn;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.StarMapClient-module__KLUH9G__floatBtn{border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;width:36px;height:36px;transition:all var(--dur-fast)ease;background:#07090ecc;justify-content:center;align-items:center;display:flex}.StarMapClient-module__KLUH9G__floatBtn:hover{background:var(--bg-elevated);border-color:var(--border-med)}.StarMapClient-module__KLUH9G__floatBtn:hover svg{stroke:var(--primary)}.StarMapClient-module__KLUH9G__floatBtn svg{width:16px;height:16px;stroke:var(--text-dim);fill:none;stroke-width:1.8px;transition:stroke var(--dur-fast)ease}.StarMapClient-module__KLUH9G__floatBtnActive{background:var(--primary-ghost);border-color:var(--primary-dim)}.StarMapClient-module__KLUH9G__floatBtnActive svg{stroke:var(--primary)}.StarMapClient-module__KLUH9G__floatSep{background:var(--border-subtle);width:20px;height:1px;margin:2px auto}.StarMapClient-module__KLUH9G__loadingOverlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:500;background:#07090ed9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.StarMapClient-module__KLUH9G__loadingContent{font-family:var(--f-display);font-size:var(--t-xs);letter-spacing:2px;text-transform:uppercase;color:var(--primary);flex-direction:column;align-items:center;gap:12px;display:flex}.StarMapClient-module__KLUH9G__loadingSpinner{border:2px solid var(--primary-dim);border-top-color:var(--primary);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite StarMapClient-module__KLUH9G__spin;display:inline-block}@keyframes StarMapClient-module__KLUH9G__spin{to{transform:rotate(360deg)}}@keyframes StarMapClient-module__KLUH9G__fadeIn{0%{opacity:0}to{opacity:1}}@keyframes StarMapClient-module__KLUH9G__slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes StarMapClient-module__KLUH9G__slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (max-width:1024px){.StarMapClient-module__KLUH9G__panelRight{width:240px;min-width:240px}.StarMapClient-module__KLUH9G__panelRightCollapsed{margin-right:-240px}}@media (max-width:768px){.StarMapClient-module__KLUH9G__mapApp{top:56px}.StarMapClient-module__KLUH9G__panelLeft{z-index:200;width:100%;min-width:100%;position:absolute;top:0;bottom:0;left:0}.StarMapClient-module__KLUH9G__panelLeftCollapsed{margin-left:0;transform:translate(-100%)}.StarMapClient-module__KLUH9G__panelRight{z-index:200;width:100%;min-width:100%;position:absolute;top:0;bottom:0;right:0}.StarMapClient-module__KLUH9G__panelRightCollapsed{margin-right:0;transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.StarMapClient-module__KLUH9G__panelLeft,.StarMapClient-module__KLUH9G__panelRight,.StarMapClient-module__KLUH9G__floatToolbar{animation:none}.StarMapClient-module__KLUH9G__panelLeft,.StarMapClient-module__KLUH9G__panelRight{transition:none}.StarMapClient-module__KLUH9G__loadingSpinner{animation-duration:1.6s}}
