*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0d1a;--bg-panel: #12121e;--bg-surf: #18182a;--bg-hover: #1e1e32;--bg-sel: #24243c;--border: #202038;--border-hi: #32325a;--text: #d0d0ea;--muted: #58588a;--dim: #3a3a60;--power: #f5a623;--comms: #4fc3f7;--eclipse: #b388ff;--green: #4caf50;--red: #f44336;--orange: #ff9800;--input-bg: #0a0a14;--tl-inset: 28px}body{font-family:system-ui,-apple-system,sans-serif;font-size:13px;line-height:1.4;background:var(--bg);color:var(--text)}.app-shell{height:100dvh;display:flex;flex-direction:column}.layout{display:flex;flex:1;min-height:0;overflow:hidden}.sidebar{position:relative;background:var(--bg-panel);border-right:1px solid var(--border);overflow:hidden;flex-shrink:0;display:flex;flex-direction:column}.sb-resizer{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:50;background:transparent;transition:background .15s}.sb-resizer:hover,.sb-resizer--active{background:#4fc3f766}.sidebar>.sb-section:last-child{flex:1;min-height:0;display:flex;flex-direction:column;border-bottom:0}.sidebar>.sb-section:last-child>.sb-body{flex:1;min-height:0}.sb-top-bar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.sb-settings-btn{background:none;border:none;border-radius:4px;color:var(--muted);font-size:28px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:color .15s,background .15s}.sb-settings-btn:hover{color:var(--text);background:var(--bg-hover)}.sb-top-title{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100;display:flex;align-items:center;justify-content:center}.settings-modal{background:var(--bg-panel);border:1px solid var(--border-hi);border-radius:8px;width:420px;max-width:calc(100vw - 40px);max-height:calc(100vh - 60px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #00000080}.settings-modal-hdr{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.settings-modal-title{flex:1;font-size:13px;font-weight:600;color:var(--text)}.settings-close-btn{background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:3px}.settings-close-btn:hover{color:var(--text);background:var(--bg-hover)}.settings-modal-body{overflow-y:auto;flex:1}.settings-modal-footer{display:flex;justify-content:center;padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0}.settings-compare-btn{padding:8px 24px;font-size:13px;font-weight:600;color:var(--text);background:#3a3a80;border:1px solid #5050a0;border-radius:4px;cursor:pointer}.settings-compare-btn:hover:not(:disabled){background:#4a4a96}.settings-compare-btn:focus-visible{outline:2px solid var(--comms);outline-offset:2px}.settings-compare-btn:disabled{opacity:.45;cursor:default}.sb-section{border-bottom:1px solid var(--border)}.sb-hdr{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;background:none;border:none;color:var(--text);font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;cursor:pointer;text-align:left}.sb-hdr:hover{background:var(--bg-hover)}.sb-arrow{font-size:8px;color:var(--muted);display:inline-block;transition:transform .15s}.sb-arrow.open{transform:rotate(90deg)}.sb-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.sb-body{padding:6px 10px 12px;display:flex;flex-direction:column;gap:7px}.sb-field{display:flex;flex-direction:column;gap:3px;flex:1}.sb-field label{font-size:11px;color:var(--muted)}.sb-input{background:var(--input-bg);border:1px solid var(--border-hi);border-radius:3px;color:var(--text);font-size:12px;padding:4px 7px;width:100%;outline:none}.sb-input:focus{border-color:#4a4a90}.sb-row{display:flex;gap:8px}.sb-unit{display:flex;align-items:center;gap:4px}.sb-unit span{color:var(--muted);font-size:11px;flex-shrink:0}.sb-count{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.sb-sites{list-style:none;display:flex;flex-direction:column;gap:5px;flex:1;min-height:0;overflow-y:auto}.sb-site{display:flex;align-items:flex-start;gap:7px;cursor:pointer}.sb-site input[type=checkbox]{margin-top:2px;accent-color:#6868d0;flex-shrink:0}.sb-site-name{font-size:12px;font-weight:500}.sb-site-coords{font-size:11px;color:var(--muted)}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.main-hdr{display:flex;align-items:center;gap:10px;padding:7px 14px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0}.main-title{font-size:13px;font-weight:600;color:#c0c0f0;flex:1}.mock-btn{padding:3px 9px;background:none;border:1px solid var(--border-hi);border-radius:3px;color:var(--muted);font-size:11px;cursor:pointer}.mock-btn:hover{border-color:#5050a0;color:var(--text)}.main-score{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);margin-left:auto}.score-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}.main-body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px}.main-body>*{flex-shrink:0}.profiles-body{position:relative;overflow:hidden;padding-bottom:0}.profiles-body>.ct-wrap{flex:1 1 auto;min-height:0}.profiles-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:20px;background:#0c0c16a6}.profiles-loading-popup{width:min(360px,100%);padding:24px;border:1px solid var(--border-hi);border-radius:8px;background:var(--bg-panel);box-shadow:0 12px 40px #0006;text-align:center;font-size:14px}.profiles-loading-popup p{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.profiles-loading-spinner{display:block;width:26px;height:26px;margin:0 auto 14px;border:3px solid var(--border-hi);border-top-color:var(--comms);border-radius:50%;animation:profiles-loading-spin .8s linear infinite}@keyframes profiles-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.profiles-loading-spinner{animation:none}}.mock-banner,.api-banner{flex-shrink:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;background:#2a1a00;border-bottom:1px solid #503010;color:var(--power);font-size:12px;text-align:center;padding:7px 12px}.ct-wrap{display:flex;flex-direction:column;gap:10px}.ct-card{flex-shrink:0;background:var(--bg-panel);border:1px solid var(--border);border-radius:5px;overflow:hidden}.ct-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-bottom:10px}.ct-body>*{flex-shrink:0}.ct-topbar{position:relative;flex-shrink:0;display:flex;align-items:center;gap:14px;min-height:48px;padding:7px 12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:5px}.ct-topbar-slider{position:absolute;top:50%;transform:translateY(-50%);height:auto}.ct-tab{font-size:15px;font-weight:700;color:var(--text)}.ct-time{display:flex;align-items:center;gap:6px;font-size:13px;position:absolute;left:42%;top:50%;transform:translate(-50%,-50%)}.ct-time-label{color:var(--muted)}.ct-time-input{font-size:13px}.ct-btn{padding:2px 7px;background:var(--bg-surf);border:1px solid var(--border-hi);border-radius:3px;color:var(--text);font-size:11px;cursor:pointer}.ct-btn:hover{background:var(--bg-hover)}.ct-time-val{padding:2px 9px;background:var(--bg-surf);border:1px solid var(--border-hi);border-radius:3px;font-family:monospace;font-size:12px;color:#9090e0;letter-spacing:.5px}.ct-time-input{color-scheme:dark;min-width:0}.ct-time-input:focus-visible{outline:2px solid var(--comms);outline-offset:2px}.ts-wrapper{height:100%;display:flex;flex-direction:column;gap:2px}.ts-controls-row{display:grid;grid-template-columns:var(--tl-inset) 1fr var(--tl-inset);align-items:center;flex-shrink:0}.ts-nav-btn{width:100%;padding:3px 0;font-size:16px;line-height:1.2;text-align:center}.ts-custom-track{position:relative;height:26px;background:#4a4a7a;border-radius:3px;cursor:col-resize;padding-block:10px;margin-block:-10px;background-clip:content-box}.ts-custom-track--disabled{opacity:.4;cursor:default;pointer-events:none}.ts-thumb{position:absolute;top:50%;width:4px;height:18px;background:#e6e6ff;box-shadow:0 0 6px 1px #d2d2ffd9;transform:translate(-50%,-50%);pointer-events:none;border-radius:1px}.surface-stay-window{position:absolute;top:-3px;bottom:-3px;background:#aaaaff2e;border:1px solid rgba(190,190,255,.8);border-radius:2px;pointer-events:none}.surface-stay-window--continues{border-right-style:dashed}.ts-custom-track>.surface-stay-window{top:3px;bottom:3px}.surface-stay-key{display:inline-block;width:10px;height:7px;margin-right:4px;background:#aaaaff2e;border:1px solid rgba(190,190,255,.8);border-radius:1px}.ts-ticks-inset{position:relative;height:16px;margin:0 var(--tl-inset)}.ts-tick{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%)}.ts-tick-mark{width:1px;height:4px;background:var(--dim)}.ts-tick-label{font-size:9px;color:var(--dim);white-space:nowrap}.ts-wrap{display:flex;flex-direction:column;flex:1}.ts-date{display:flex;align-items:center;gap:8px;font-size:11px}.ts-date-label{color:var(--muted)}.ts-time{font-family:monospace;font-size:12px;color:#9090e0;letter-spacing:.5px}.ts-track-wrap{position:relative}.ts-range{width:100%;cursor:pointer;accent-color:var(--comms)}.ts-ticks{position:relative;height:16px;margin-top:auto}.ct-slider-cell{font-weight:400;text-align:left;vertical-align:middle;padding:5px 9px;min-width:300px;width:35%}.ct-scroll{overflow-x:auto}.ct thead{position:sticky;top:0;z-index:1}.ct{width:100%;border-collapse:collapse;font-size:12px}.ct th,.ct td{padding:5px 9px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}.ct th{background:var(--bg-surf);color:var(--muted);font-weight:500;font-size:11px}.ct-left{text-align:left!important}.th-sub{display:flex;align-items:center;gap:4px;font-weight:400;font-size:10px;color:var(--dim);margin-top:1px}.tl-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.tl-legend-dot--sun{background:var(--power)}.tl-legend-dot--earth{background:var(--comms)}.ct tbody tr{cursor:pointer}.ct tbody tr:hover{background:var(--bg-hover)}.ct tbody tr.row-sel{background:var(--bg-sel)}.ct-name{font-weight:500;color:var(--text)}.ct-empty{text-align:center!important;color:var(--muted);padding:20px 0}.warn{color:var(--orange)!important}.warn-icon{color:var(--orange);font-size:10px}.badge{display:inline-flex;align-items:center;gap:3px;padding:2px 5px;border-radius:3px;font-size:11px;font-weight:500}.badge--green{color:var(--green);background:#4caf501f}.badge--yellow{color:#e8c840;background:#e8c8401f}.badge--red{color:var(--red);background:#f443361f}.tl-wrap{min-width:160px;padding:0 var(--tl-inset)}.tl-ticks{position:relative;height:13px}.tl-tick-label{position:absolute;font-size:9px;color:var(--dim);transform:translate(-50%);white-space:nowrap;-webkit-user-select:none;user-select:none}.tl-tracks{position:relative;display:flex;flex-direction:column;gap:3px}.tl-tracks--interactive{cursor:col-resize}.tl-track{position:relative;height:8px;background:var(--border);border-radius:2px;overflow:hidden}.tl-track--empty{opacity:.4}.tl-seg{position:absolute;top:0;height:100%;border-radius:1px;min-width:2px}.tl-seg--power{background:var(--power)}.tl-seg--comms{background:var(--comms)}.tl-seg--eclipse{background:var(--eclipse);min-width:6px;box-shadow:0 0 4px 1px #b388ffb3}.tl-marker{position:absolute;top:0;bottom:0;width:3px;background:#e6e6ff;box-shadow:0 0 6px 1px #d2d2ffd9;transform:translate(-50%);pointer-events:none}.tl-marker--both{background:#00ff6a;box-shadow:0 0 8px 2px #00ff64e6}.ts-fit-point{position:absolute;top:50%;width:6px;height:6px;padding:0;margin:0;border-radius:50%;background:#00ff6a;border:none;box-shadow:none;transform:translate(-50%,-50%);cursor:pointer;z-index:4}.ts-fit-point:hover,.ts-fit-point:focus-visible{background:#c0ffd8;outline:none}.hz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex-shrink:0}@media(max-width:1100px){.hz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.hz-grid{grid-template-columns:minmax(0,1fr)}}.hz-wrap{min-width:0;cursor:pointer;transition:border-color .15s;background:var(--bg-panel);border:1px solid var(--border);border-radius:5px;overflow:hidden;display:flex;flex-direction:column}.hz-wrap:hover{border-color:var(--border-hi)}.hz-wrap--selected{border-color:var(--comms);box-shadow:0 0 0 1px #4fc3f740}.hz-hdr{display:flex;align-items:center;gap:4px 10px;padding:6px 10px;border-bottom:1px solid var(--border);font-size:12px;flex-shrink:0}.hz-title{font-weight:600}.hz-site{color:#8080b0}.hz-legend{margin-left:auto;display:flex;align-items:center;gap:4px 8px;font-size:10px;color:var(--muted)}.hz-dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle;margin-right:2px}.hz-dot--sun{background:var(--power)}.hz-dot--earth{background:var(--comms)}.hz-dot--earth-visible{background:var(--green)}.hz-dot--eclipse{background:var(--eclipse)}.hz-dot--off{background:transparent;box-shadow:inset 0 0 0 1px var(--muted, #888)}.hz-svg{width:100%;flex:1;display:block}.hz-time{width:100%;text-align:right}.hz-footer{display:flex;align-items:center;gap:4px 10px;padding:4px 10px;font-size:10px;color:var(--muted);flex-shrink:0}.hz-line{display:inline-block;width:18px;height:2px;vertical-align:middle;margin-right:3px}.hz-line--sun{background:var(--power)}.hz-line--earth{background:var(--comms)}.hz-muted{color:var(--dim)}.hz-circ{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle;margin-right:3px}.hz-circ--fill{background:var(--muted)}.hz-circ--empty{border:1.5px solid var(--muted)}.main{min-width:0}.request-status{padding:8px 12px;color:#99b;font-size:12px}.request-error{padding:9px 12px;color:#ffbc78;background:#2a1a14;overflow-wrap:anywhere}.ct-topbar,.hz-hdr,.hz-legend,.hz-footer{flex-wrap:wrap}.site-select{background:none;border:none;color:inherit;font:inherit;cursor:pointer;text-align:left;padding:3px 0}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--comms);outline-offset:3px}.workspace-tabs{display:flex;gap:4px;padding:0 14px;background:var(--bg-panel);border-bottom:1px solid var(--border-hi);flex-shrink:0}.workspace-tabs [role=tab]{border:0;border-bottom:2px solid transparent;background:none;color:#9292b3;padding:11px 18px;cursor:pointer;font:inherit}.workspace-tabs [aria-selected=true]{border-bottom-color:var(--comms);color:var(--text);background:#4fc3f70d}.main-body[hidden]{display:none}.map-body{padding:12px}.map-panel{display:flex;flex-direction:column;min-height:0;flex-shrink:0;gap:10px}.map-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 12px;background:var(--bg-panel);border:1px solid var(--border-hi);border-radius:5px}.map-toolbar-title{font-size:11px;font-weight:600;color:#a0a0bf;text-transform:uppercase;letter-spacing:.06em}.map-basemap-select{display:flex;align-items:center;gap:8px;padding-right:14px;border-right:1px solid var(--border-hi)}.map-basemap-select select{background:var(--input-bg);color:var(--text);border:1px solid var(--border-hi);border-radius:3px;padding:5px 7px;font:inherit;max-width:100%}.map-basemap-select select:focus-visible{outline:2px solid var(--comms);outline-offset:2px}.map-contours{fill:none;stroke:#1c2030;pointer-events:none}.map-contour-major{stroke-width:.8;opacity:.6}.map-contour-minor{stroke-width:.4;opacity:.45}.map-topography-legend{position:absolute;right:12px;top:12px;background:#fff;padding:7px;border-radius:4px;box-shadow:0 2px 10px #0005;pointer-events:none}.map-topography-legend img{display:block;margin:auto}.map-topography-legend figcaption{font-size:9px;color:#333;margin-top:4px}.map-layer-toggle{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:12px}.map-layer-toggle input{accent-color:var(--comms)}.map-opacity{margin-left:auto;display:flex;align-items:center;gap:8px;color:#9292b3;font-size:11px}.map-opacity input{width:85px;accent-color:var(--comms)}.map-heading{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.map-heading h2{font-size:15px;font-weight:500}.map-heading p,.map-hint,.map-attribution{color:#9292b3;font-size:11px}.map-heading-title{display:flex;align-items:center;gap:6px}.map-info-tip:after{white-space:pre-line;max-width:360px}.map-preamble{display:flex;flex-direction:column;gap:3px;line-height:1.25}.map-preamble-controls{display:flex;align-items:center;flex-wrap:wrap;gap:3px 14px}.map-preamble .map-reference-notice{padding:4px 8px}.map-preamble .map-site-legend{gap:10px}.map-preamble .request-status{padding:3px 8px}.map-zoom{display:flex;align-items:center;gap:9px;font-variant-numeric:tabular-nums}.map-zoom .ct-btn{min-height:28px}.map-viewport{position:relative;flex-shrink:0;border:1px solid var(--border-hi);border-radius:6px;overflow:hidden;background:radial-gradient(ellipse at center,#191b29,#0a0d17 75%)}.polar-map{display:block;width:100%;height:min(62dvh,720px);min-height:340px;cursor:crosshair}.polar-map--panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.map-grid{fill:none;stroke:#dce2f5;opacity:.27;pointer-events:none}.map-grid circle,.map-grid line{vector-effect:non-scaling-stroke;stroke-width:.7}.map-grid-labels,.map-feature-label,.map-compass{fill:#e1e5ed;pointer-events:none;paint-order:stroke;stroke:#111521;stroke-linejoin:round}.map-compass{fill:#aeb7cc}.map-feature-label{fill:#c3c8d2;opacity:.9}.map-waypoint{pointer-events:none}.map-waypoint circle{fill:#4fc3f7;stroke:#0b1020;stroke-width:1.5;vector-effect:non-scaling-stroke}.map-waypoint text{fill:#b6ecff;paint-order:stroke;stroke:#101523;stroke-linejoin:round}.map-waypoint--default circle{fill:#ff5252}.map-waypoint--default text{fill:#ffb3b3}.map-waypoint--custom{pointer-events:auto;cursor:pointer}.map-waypoint .map-waypoint-hit{fill:transparent;stroke:none}.map-waypoint--custom:focus-visible{outline:none}.map-waypoint--custom:focus-visible circle:not(.map-waypoint-hit){stroke:#fff;stroke-width:2.5}.map-site-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:#aeb7cc}.map-site-key:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.map-site-key--default:before{background:#ff5252}.map-site-key--custom:before{background:#4fc3f7}.map-waypoint--disabled{opacity:.45}.map-waypoint--disabled circle{fill:none;stroke:#a3adb9}.map-pick{fill:none;stroke:var(--power);stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.map-coordinate-bar{position:absolute;right:12px;bottom:12px;z-index:1;width:min(320px,calc(100% - 24px));display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:4px 8px;border:1px solid #424b67;padding:8px 10px;background:#0e111ef0;border-radius:4px;pointer-events:none;box-shadow:0 2px 12px #0005}.map-coordinate-label{width:42px;color:#9292b3;font-size:11px}.map-coordinates{display:inline-block;flex:0 0 26ch;width:26ch;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.map-hover-feature{grid-column:1 / -1;min-width:0;min-height:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#aeb7cc;font-size:12px}.map-tooltip{position:absolute;z-index:2;width:260px;max-width:calc(100% - 24px);display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid #4e6078;border-radius:6px;background:#141a28;box-shadow:0 8px 28px #0009}.map-tooltip p{font-family:ui-monospace,monospace;font-size:12px}.map-tooltip label{color:#aeb7cc;font-size:11px}.map-tooltip input{margin-top:4px}.map-tooltip .ct-btn{padding:6px 9px;margin-right:8px}.map-tooltip .map-add-button{background:#17384b;border-color:#38769a}.map-tooltip .map-delete-button{align-self:flex-start;color:#ffb3ab;border-color:#86483f}.map-tooltip small{font-size:10px;color:#9292b3}.map-announcement:empty{display:none}.map-announcement{color:#9ed6b9;font-size:12px}.map-reference-notice{border-left:3px solid #e0b75c;padding:7px 10px;background:#242016;color:#e0d4b5;font-size:11px}.map-gradient{width:100px;height:8px;border-radius:2px}.map-attribution a{color:#a5c9e8}.polar-map:focus-visible,[role=tab]:focus-visible{outline:2px solid var(--comms);outline-offset:-3px}@media(max-width:760px){.sidebar{width:220px;min-width:220px}.map-opacity{margin-left:0}.map-zoom{flex-wrap:wrap}.map-coordinates{font-size:11px}.map-coordinate-bar{gap:6px;padding:8px}}@media(max-width:560px){.app-shell{height:auto;min-height:100dvh}.layout{flex-direction:column;overflow:visible}.sidebar{width:100%;min-width:0;max-height:35dvh;border-right:0;border-bottom:1px solid var(--border-hi)}.main,.main-body{overflow:visible}.polar-map{min-height:330px}}.sb-section-heading{display:flex;align-items:center}.sb-section-heading .sb-hdr{flex:1;min-width:0;width:auto}.sb-section-action{padding-right:10px;flex-shrink:0}.sb-add-site{color:var(--comms);padding:3px 7px}.sb-site-form{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border-hi);border-radius:4px;background:var(--bg-surf)}.sb-site-form label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#aaaac4}.sb-site-form p,.sb-site-form small{font-size:10px;color:#9292b3}.sb-form-actions{display:flex;gap:7px}.sb-form-actions button{padding:4px 8px}.sb-site-announcement{font-size:11px;color:#9ed6b9}.sb-date-field input{color-scheme:dark}.sb-date-field input[aria-invalid=true]{border-color:#ff7979}.sb-mission-error{padding:10px;border:1px solid #ff7979;border-left-width:4px;border-radius:4px;background:#3b151b;color:#ffd2d2}.sb-mission-error strong{display:block;margin-bottom:4px;font-size:12px}.sb-mission-error p{font-size:11px;line-height:1.5}.map-heatmap-legends{position:absolute;top:12px;left:12px;z-index:1;width:min(235px,calc(100% - 24px));max-height:calc(100% - 100px);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;padding:10px 12px;border:1px solid #424b67;border-radius:5px;background:#0e111ef2;box-shadow:0 2px 12px #0005}.map-heatmap-legends>strong{font-size:12px;font-weight:600}.map-heatmap-legend{display:flex;flex-direction:column;gap:4px;padding-top:8px;border-top:1px solid var(--border-hi)}.map-heatmap-legend-name{font-size:12px;font-weight:500}.map-heatmap-legend-scale{display:flex;align-items:center;gap:7px;font-size:10px;font-variant-numeric:tabular-nums}.map-heatmap-legend-scale .map-gradient{flex:1;min-width:30px;width:auto}.map-heatmap-legend small{font-size:10px;color:#aeb7cc}.route-cta{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:16px;padding:14px 18px;flex-shrink:0;text-align:left;font:inherit;color:var(--text);background:linear-gradient(100deg,#00e67614,#4fc3f714 55%,#b388ff14);border:1px solid rgba(79,195,247,.35);border-radius:6px;cursor:pointer;transition:border-color .15s,background-color .15s,transform .15s}.route-cta:hover:not(:disabled){border-color:var(--comms);background-color:#4fc3f70f}.route-cta:hover:not(:disabled) .route-cta-arrow{transform:translate(4px)}.route-cta-main{font-size:14px;font-weight:600}.route-cta-sub{grid-column:1;font-size:11px;color:#9292b3}.route-cta-arrow{grid-column:2;grid-row:1 / span 2;font-size:20px;color:var(--comms);transition:transform .15s}.route-wrap{display:flex;flex-direction:column;flex-shrink:0;background:var(--bg-panel);border:1px solid var(--border-hi);border-radius:6px;overflow:hidden;animation:route-in .25s ease-out}@keyframes route-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.route-wrap{animation:none}.route-cta,.route-cta-arrow{transition:none}}.route-mock-banner{background:#6464b41f;border-bottom:1px solid var(--border);color:#9292b3;font-size:11px;padding:5px 12px}.route-hdr{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:10px 12px;border-bottom:1px solid var(--border)}.route-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}.route-title strong{font-size:14px}.route-kicker{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--comms)}.route-sub{font-size:11px;color:#9292b3}.route-stats{display:flex;flex-wrap:wrap;gap:6px;flex:1}.route-stat{font-size:11px;padding:2px 8px;background:var(--bg-surf);border:1px solid var(--border-hi);border-radius:10px;white-space:nowrap;font-variant-numeric:tabular-nums}.route-stat--eclipse{color:var(--eclipse);border-color:#b388ff4d;background:#b388ff14}.route-actions{display:flex;gap:6px;align-items:center;margin-left:auto}.route-primary-btn{font-size:13px;padding:8px 16px;font-weight:600}.route-calc-btn{background:#1b5e7a;border-color:var(--comms);color:#fff}.route-calc-btn:hover:not(:disabled){background:#23789c}.route-close{min-width:26px}.route-status{min-height:120px;display:flex;align-items:center;justify-content:center}.route-body{display:flex;min-height:0}.route-map-wrap{position:relative;flex:1 1 62%;min-width:0;height:clamp(380px,58vh,620px);display:flex;flex-direction:column;border-right:1px solid var(--border);background:#0b0b14}.route-svg{flex:1;width:100%;min-height:0;display:block;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.route-svg--panning{cursor:grabbing}.route-marker{cursor:pointer}.route-map-controls,.route-layers,.route-scale{position:absolute;z-index:1}.route-map-controls{top:10px;right:10px;display:flex;flex-direction:column;gap:4px}.route-map-controls .ct-btn{min-width:30px;min-height:28px;background:#12121ed9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.route-layers{top:10px;left:10px;display:flex;padding:2px;background:#12121ed9;border:1px solid var(--border-hi);border-radius:5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.route-layer{padding:4px 10px;border:0;border-radius:3px;background:none;color:#9292b3;font:inherit;font-size:11px;cursor:pointer}.route-layer:hover{color:var(--text)}.route-layer--on{background:var(--bg-sel);color:var(--text)}.route-scale{bottom:44px;left:12px;display:flex;align-items:center;gap:6px;font-size:11px;color:#fff;text-shadow:0 0 3px #000,0 0 3px #000;pointer-events:none}.route-scale-bar{height:6px;border:2px solid #fff;border-top:0;box-shadow:0 1px 2px #000c}.route-map-foot{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:6px 10px;border-top:1px solid var(--border);background:var(--bg-panel)}.route-legend{display:flex;flex-wrap:wrap;gap:10px;flex:1}.route-legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:#9292b3}.route-legend-dot{width:8px;height:8px;border-radius:50%}.route-credit{font-size:10px;color:var(--muted)}.route-table-wrap{flex:1 1 38%;min-width:0;height:clamp(380px,58vh,620px);overflow-y:auto}.route-table{width:100%;border-collapse:collapse;font-size:11px}.route-table th{position:sticky;top:0;z-index:1;background:var(--bg-surf);padding:6px;text-align:left;font-size:10px;font-weight:600;color:#9292b3;border-bottom:1px solid var(--border);white-space:nowrap}.route-table td{padding:6px;border-bottom:1px solid var(--border);vertical-align:top}.route-table tbody tr{cursor:pointer}.route-table tbody tr:hover td,.route-table tr.route-row--active td{background:var(--bg-hover)}.route-th-wide{min-width:120px}.route-table tr[data-wtype=base] td{background:#ffffff06}.route-idx{color:#9292b3;text-align:center;width:22px}.route-name-cell{display:flex;align-items:flex-start;gap:6px}.route-dot{width:7px;height:7px;border-radius:50%;margin-top:4px;flex-shrink:0}.route-note{display:block;color:#9292b3;font-size:10px;margin-top:1px}.route-time{white-space:nowrap;color:#9292b3;font-size:10px;font-variant-numeric:tabular-nums}.route-num{white-space:nowrap;font-variant-numeric:tabular-nums}.route-chip{display:inline-block;margin-left:6px;padding:0 5px;border:1px solid var(--border-hi);border-radius:8px;font-size:10px;line-height:15px;color:#b9b9d6}.route-chip--blocked{border-color:#ffbc788c;background:#2a1a14d9;color:#ffbc78}.route-snap{margin-left:6px;font-size:10px;padding:1px 6px}.vis-on{color:var(--green);text-align:center}.vis-off{color:var(--border-hi);text-align:center}.vis-eclipse{color:var(--eclipse);text-align:center}@media(max-width:900px){.route-body{flex-direction:column}.route-map-wrap{border-right:0;border-bottom:1px solid var(--border)}.route-table-wrap{height:auto;max-height:320px}}.ct-info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:6px;vertical-align:middle;border:1px solid var(--muted);border-radius:50%;color:var(--muted);font-size:10px;font-style:italic;font-weight:600;font-family:Georgia,serif;cursor:help}.ct-info:hover,.ct-info:focus-visible{color:var(--text);border-color:var(--comms)}.ct-info:after{content:attr(data-tip);position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:max-content;max-width:260px;padding:6px 9px;background:var(--bg-surf);border:1px solid var(--border-hi);border-radius:4px;color:var(--text);font:400 11px system-ui,sans-serif;font-style:normal;box-shadow:0 4px 14px #0008;pointer-events:none;opacity:0;visibility:hidden}.ct-info:hover:after,.ct-info:focus-visible:after{opacity:1;visibility:visible}.route-editor{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;font-size:12px;border-bottom:1px solid var(--border)}.route-editor p{flex-basis:100%;margin:0;color:var(--muted)}.route-svg{cursor:crosshair}.route-svg:focus-visible{outline:2px solid var(--comms);outline-offset:-2px}.ct-landing-badge{display:block;color:#00e676;font-size:10px;margin-top:3px}.route-marker--landing{filter:drop-shadow(0 0 4px #00e676)}.route-order-controls{display:flex;align-items:center;gap:4px}.route-drag-handle{cursor:grab;color:var(--muted)}.route-table tr[draggable=true]{cursor:grab}.route-table tr[draggable=true]:active{cursor:grabbing}.route-elevation-note{color:var(--muted);font-size:11px;line-height:1.4;padding:6px 12px;margin:0}.map-waypoint .map-landing-ring{fill:none;stroke:#00e676;stroke-width:2.5;filter:drop-shadow(0 0 4px #00e676)}.route-location-details{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px}.route-coordinates{color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.route-recs{border-top:1px solid var(--border-hi);font-size:11px}.route-recs-hdr{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px;background:var(--bg-surf);border-bottom:1px solid var(--border-hi)}.route-recs-title{color:#ffb74d;font-weight:600;letter-spacing:.02em}.route-recs-radius{display:flex;align-items:center;gap:6px;color:var(--muted)}.route-recs-radius select{background:var(--input-bg);color:var(--text);border:1px solid var(--border-hi);border-radius:3px;padding:2px 5px;font:inherit}.route-recs-list{list-style:none;margin:0;padding:0}.route-rec{display:flex;align-items:flex-start;gap:6px;padding:6px;border-bottom:1px solid var(--border)}.route-rec:hover{background:var(--bg-hover)}.route-rec--added{opacity:.6}.route-rec-text{flex:1;min-width:0;overflow-wrap:anywhere}.route-rec-btn{flex-shrink:0;min-width:62px}.route-rec--added .route-rec-btn{border-color:#ffb74d;color:#ffb74d}.route-recs-empty,.route-recs-foot{margin:0;padding:8px 6px;color:var(--muted);font-size:10px;line-height:1.4}.route-poi{cursor:pointer}.route-poi:hover path{fill:#2a2016}.route-hover-tip{position:absolute;z-index:4;pointer-events:none;padding:3px 7px;border-radius:6px;border:1px solid var(--border-hi);background:#090912eb;color:#d5d5ef;font-size:11px;line-height:1.3;white-space:nowrap;font-variant-numeric:tabular-nums}.route-hover-tip--snapped,.route-hover-tip--blocked{border-color:#ffbc78a6;color:#ffbc78}.route-hover-tip--checking{color:#9292b3}.route-ghost{pointer-events:none}
