:root{color-scheme:dark;--space: #05070c;--surface: rgba(13, 18, 28, .88);--surface-strong: rgba(18, 24, 36, .96);--surface-soft: rgba(255, 255, 255, .055);--stroke: rgba(148, 163, 184, .2);--stroke-strong: rgba(148, 163, 184, .34);--text: #eef4fc;--muted: #9daabd;--faint: #6f7d92;--accent: #4d8dff;--accent-soft: rgba(77, 141, 255, .18);--selection: #22ff88;--warning: #f5bd4f;--danger: #ff6b7a;--orbit: #a855f7;--panel-radius: 16px;--control-radius: 10px;--shadow: 0 18px 48px rgba(0, 0, 0, .46);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;background:var(--space)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:2px solid #8bb5ff;outline-offset:2px}.app{position:relative;width:100%;height:100%;min-height:520px;overflow:hidden;background:var(--space);color:var(--text)}.map,.map-globe{position:absolute;top:0;right:0;bottom:0;left:0}.map-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--space);color:var(--muted);font-size:11px;letter-spacing:.06em}.mission-hud{position:absolute;top:18px;left:18px;z-index:35;display:flex;align-items:center;gap:14px}.brand-lockup,.catalog-state,.time-hud,.observer-label,.count-pill{border:1px solid var(--stroke);background:var(--surface);box-shadow:0 8px 30px #00000047;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.brand-lockup{display:flex;align-items:center;gap:10px;min-height:48px;padding:7px 12px 7px 8px;border-radius:12px}.brand-mark{display:grid;width:32px;height:32px;place-items:center;border:1px solid rgba(77,141,255,.35);border-radius:9px;background:var(--accent-soft);color:#9fc1ff}.brand-lockup>span:last-child,.catalog-state>span:last-child,.time-hud>span:first-of-type,.controls-header>span{display:flex;min-width:0;flex-direction:column}.brand-lockup strong{font-size:12px;line-height:1.15;letter-spacing:.12em}.brand-lockup small,.catalog-state small,.time-hud small,.controls-header small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.2;letter-spacing:.08em}.catalog-state{display:flex;align-items:center;gap:9px;min-height:48px;padding:8px 12px;border-radius:12px}.catalog-state strong{color:#b8ffd9;font-size:9.5px;line-height:1.2;letter-spacing:.12em}.catalog-state small{white-space:nowrap}.live-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--selection);box-shadow:0 0 0 4px #22ff881a,0 0 12px #2f89}.state-syncing .live-dot{background:var(--warning);box-shadow:0 0 0 4px #f5bd4f1a,0 0 12px #f5bd4f80;animation:status-pulse 1.2s ease-in-out infinite}.state-syncing strong,.state-stale strong,.state-cached strong,.state-unknown strong{color:#ffd886}.state-cached .live-dot,.state-unknown .live-dot,.state-stale .live-dot{background:var(--warning);box-shadow:0 0 0 4px #f5bd4f1a,0 0 12px #f5bd4f80}.state-offline strong{color:#ff9aa5}.state-offline .live-dot{background:var(--danger);box-shadow:0 0 0 4px #ff6b7a1a,0 0 12px #ff6b7a80}@keyframes status-pulse{50%{opacity:.35}}.time-hud{position:absolute;top:18px;left:50%;z-index:34;display:flex;align-items:center;gap:9px;min-height:48px;padding:8px 10px 8px 12px;transform:translate(-50%);border-radius:12px;color:#a9b9cf}.time-hud strong{color:var(--text);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.15;letter-spacing:.04em}.time-mode{margin-left:4px;padding:4px 7px;border-radius:6px;background:#22ff881c;color:#9effc7;font-size:8.5px;font-weight:750;letter-spacing:.1em}.time-mode.paused{background:#f5bd4f21;color:#ffd886}.dock{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:6px;max-width:calc(100vw - 24px);padding:7px;transform:translate(-50%);border:1px solid var(--stroke);border-radius:14px;background:#0c111ae6;box-shadow:var(--shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:dock-in .36s cubic-bezier(.2,.8,.2,1) both}@keyframes dock-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dock-item,.search-clear,.control-icon,.panel-close{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;color:#b6c1d1;cursor:pointer}.dock-item{height:40px;min-width:40px;gap:7px;padding:0 11px;border-radius:var(--control-radius);background:var(--surface-soft);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.dock-item:hover,.dock-item:focus-visible{border-color:var(--stroke-strong);background:#ffffff1a;color:#fff}.dock-item:active{transform:translateY(1px)}.dock-item:disabled{border-color:transparent;background:#ffffff06;color:#596579;cursor:default;opacity:.62;transform:none}.dock-item.active{border-color:#4d8dff7a;background:var(--accent-soft);color:#b8d1ff}.icon-button{padding:0}.dock-item[data-tooltip]{position:relative}.dock-item[data-tooltip]:after{position:absolute;left:50%;bottom:calc(100% + 12px);z-index:60;padding:5px 7px;transform:translate(-50%,3px);border:1px solid var(--stroke-strong);border-radius:7px;background:#080c14f5;box-shadow:0 8px 22px #00000061;color:#e7eef9;content:attr(data-tooltip);font-size:10px;font-weight:600;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .1s ease,transform .1s ease}.dock-item[data-tooltip]:not(:disabled):hover:after,.dock-item[data-tooltip]:not(:disabled):focus-visible:after{opacity:1;transform:translate(-50%)}.simulation-button span{font-size:11px;font-weight:650}.dock-divider{width:1px;height:24px;margin:0 1px;background:var(--stroke)}.dock-search-wrap{display:flex;align-items:center;width:min(250px,26vw);height:40px;gap:8px;padding:0 8px 0 11px;border:1px solid transparent;border-radius:var(--control-radius);background:#ffffff0b;color:var(--faint);transition:width .18s ease,background .16s ease,border-color .16s ease}.dock-search-wrap:focus-within{width:min(300px,32vw);border-color:#4d8dff73;background:#ffffff13;color:#9dbcf3}.dock-search{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}.dock-search::placeholder{color:#657187}.search-clear{width:24px;height:24px;flex:0 0 auto;padding:0;border-radius:7px;background:transparent}.search-clear:hover{background:#ffffff14;color:#fff}.controls{position:absolute;left:50%;bottom:80px;z-index:39;display:flex;width:344px;max-width:calc(100vw - 28px);flex-direction:column;gap:14px;padding:16px;transform:translate(-50%);transform-origin:bottom center;overflow:hidden;border:1px solid var(--stroke);border-radius:var(--panel-radius);background:var(--surface-strong);box-shadow:var(--shadow);transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility .18s ease}.controls.open{visibility:visible;opacity:1;transform:translate(-50%) translateY(0) scale(1)}.controls.closed{visibility:hidden;opacity:0;pointer-events:none;transform:translate(-50%) translateY(8px) scale(.98)}.controls-header,.panel-header,.section-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.controls-title{color:var(--text);font-size:13px;font-weight:700;letter-spacing:.01em}.header-actions{display:flex;gap:6px}.control-icon,.panel-close{width:32px;height:32px;padding:0;border-color:var(--stroke);border-radius:9px;background:var(--surface-soft)}.control-icon:hover,.panel-close:hover{border-color:var(--stroke-strong);background:#ffffff1a;color:#fff}.control-icon:disabled{opacity:.5;cursor:wait}.spinning{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.segmented{position:relative;display:flex;padding:3px;border:1px solid rgba(148,163,184,.13);border-radius:10px;background:#ffffff09}.seg-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border:1px solid rgba(148,163,184,.19);border-radius:7px;background:#ffffff17;transition:transform .18s ease}.segmented[data-mode=type] .seg-thumb{transform:translate(100%)}.seg-btn{position:relative;z-index:1;flex:1;padding:7px 8px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;font-weight:650}.seg-btn[aria-checked=true]{color:var(--text)}.filter-section{display:flex;flex-direction:column;gap:10px;animation:surface-in .18s ease both}@keyframes surface-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.section-title,.panel-kicker{color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.section-actions{display:flex;gap:10px}.section-actions button{padding:0;border:0;background:transparent;color:#8bb5ff;cursor:pointer;font-size:10px;font-weight:650}.section-actions button:hover{color:#c2d7ff}.chip-row{display:flex;flex-wrap:wrap;gap:7px}.chip{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--stroke);border-radius:9px;background:#ffffff09;color:#b7c2d2;cursor:pointer;font-size:10px;-webkit-user-select:none;user-select:none;transition:background .14s ease,border-color .14s ease,color .14s ease}.chip:hover{border-color:var(--stroke-strong);background:#ffffff12}.chip.checked{border-color:#4d8dff6b;background:#4d8dff1a;color:#e4edff}.chip input{position:absolute;width:1px;height:1px;opacity:0}.chip:has(input:focus-visible){outline:2px solid #8bb5ff;outline-offset:2px}.chip-swatch{width:6px;height:6px;border-radius:50%;box-shadow:0 0 8px currentColor}.chip-label{font-weight:700;letter-spacing:.05em}.constellation-label{text-transform:capitalize}.chip-count{min-width:18px;padding:1px 5px;border-radius:5px;background:#ffffff0e;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:9px;text-align:center}.panel{position:absolute;top:82px;right:18px;z-index:36;width:318px;max-width:calc(100vw - 36px);padding:15px;overflow:hidden;border:1px solid var(--stroke);border-radius:var(--panel-radius);background:var(--surface-strong);box-shadow:var(--shadow);color:var(--text);animation:panel-in .24s cubic-bezier(.2,.8,.2,1) both}@keyframes panel-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.panel h2{max-width:220px;margin:2px 0 0;overflow:hidden;color:#fff;font-size:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.panel-title{display:flex;min-width:0;align-items:center;gap:9px}.panel-title>span:last-child{min-width:0}.status-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;box-shadow:0 0 10px currentColor}.position-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:14px 0 8px;overflow:hidden;border:1px solid var(--stroke);border-radius:10px;background:var(--stroke)}.position-readout div{display:flex;min-width:0;flex-direction:column;gap:4px;padding:9px;background:#0c111af5}.position-readout small{color:var(--faint);font-size:8px;font-weight:750;letter-spacing:.1em}.position-readout strong{overflow:hidden;color:#dbe8ff;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.sat-rows{display:flex;flex-direction:column}.row{display:flex;justify-content:space-between;gap:10px}.sat-rows .row{padding:6px 1px;border-bottom:1px solid rgba(148,163,184,.1);font-size:11px}.sat-rows .row:last-child{border-bottom:0}.sat-rows .row span:first-child{color:var(--muted)}.sat-rows .row span:last-child{max-width:58%;overflow:hidden;color:#dbe3ef;font-family:SFMono-Regular,Consolas,monospace;font-weight:550;text-align:right;text-overflow:ellipsis;white-space:nowrap}.val-ok{color:#7fffb2!important}.val-warn{color:#ffd886!important}.panel-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:11px}.action-btn{display:inline-flex;min-width:0;align-items:center;justify-content:center;gap:5px;padding:8px 6px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface-soft);color:#c3ccda;cursor:pointer;font-size:10px;font-weight:650}.action-btn:hover{border-color:var(--stroke-strong);background:#ffffff17;color:#fff}.action-btn.active{border-color:#4d8dff80;background:var(--accent-soft);color:#c7d9ff}.passes{margin-top:13px;padding-top:11px;border-top:1px solid var(--stroke)}.passes .section-title{display:flex;align-items:center;gap:6px}.passes-list{display:flex;flex-direction:column;gap:7px;margin-top:9px}.pass-row{display:grid;grid-template-columns:72px 1fr 27px;align-items:center;gap:7px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.pass-time{color:#b8c3d2}.pass-elev{color:var(--muted);text-align:right}.pass-bar-track{height:3px;overflow:hidden;border-radius:3px;background:#ffffff12}.pass-bar{display:block;height:100%;border-radius:inherit;background:var(--orbit)}.results-list{top:auto;right:50%;bottom:80px;width:380px;max-height:min(430px,calc(100vh - 180px));padding:8px;transform:translate(50%);overflow-y:auto;animation-name:results-in}@keyframes results-in{0%{opacity:0;transform:translate(50%) translateY(7px)}to{opacity:1;transform:translate(50%) translateY(0)}}.results-list>.panel-kicker{display:block;padding:7px 9px 8px}.result-row{display:grid;width:100%;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:8px;padding:8px;border:1px solid transparent;border-radius:10px;background:transparent;color:#9facbd;cursor:pointer;text-align:left}.result-row:hover,.result-row.active{border-color:#4d8dff42;background:#4d8dff17;color:#bcd2ff}.result-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:#ffffff0e;color:#8eb4fb}.result-row>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:2px}.result-row strong{overflow:hidden;color:#e7eef9;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.result-row small{color:var(--muted);font-size:9px;letter-spacing:.03em}.results-more{padding:9px;color:var(--faint);font-size:10px;text-align:center}.observer-label,.count-pill{position:absolute;bottom:18px;z-index:32;min-height:35px;border-radius:10px;color:var(--muted);font-size:11px}.observer-label{left:18px;display:flex;align-items:center;gap:7px;padding:8px 10px}.observer-label span{color:#d4deeb;font-family:SFMono-Regular,Consolas,monospace}.observer-label small{padding-left:7px;border-left:1px solid var(--stroke);color:var(--faint);font-size:9px}.count-pill{right:18px;display:flex;align-items:center;gap:6px;padding:8px 10px}.count-value{color:#c8dbff;font-family:SFMono-Regular,Consolas,monospace;font-weight:700}.count-separator{color:var(--faint)}.interaction-hint{position:absolute;left:50%;bottom:82px;z-index:34;display:flex;align-items:center;gap:9px;padding:9px 12px;transform:translate(-50%);border:1px solid rgba(77,141,255,.25);border-radius:11px;background:#0a0f18d1;box-shadow:0 10px 28px #0000004d;color:#9fc1ff;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);pointer-events:none}.interaction-hint>span{display:flex;flex-direction:column;gap:2px}.interaction-hint strong{color:#e7eef9;font-size:11px;line-height:1.2}.interaction-hint small{color:var(--muted);font-size:10px;line-height:1.2;white-space:nowrap}.passes .section-title small{margin-left:auto;color:var(--muted);font-size:9px;letter-spacing:.08em}.banner{position:absolute;left:50%;bottom:84px;z-index:45;display:flex;align-items:center;gap:9px;max-width:calc(100vw - 28px);padding:10px 12px;transform:translate(-50%);border:1px solid var(--stroke);border-radius:10px;background:var(--surface-strong);box-shadow:var(--shadow);color:#c8d2df;font-size:11px}.banner-error{border-color:#ff6b7a57;color:#ffc0c7}.banner button{padding:4px 8px;border:1px solid rgba(255,107,122,.3);border-radius:7px;background:#ff6b7a1a;color:#ffd5da;cursor:pointer;font-size:10px}.loading-banner svg{color:#8bb5ff;animation:status-pulse 1.2s ease-in-out infinite}.globe-tooltip{position:absolute;z-index:50;max-width:240px;padding:7px 9px;transform:translateY(3px);border:1px solid var(--stroke-strong);border-radius:8px;background:#080c14f0;box-shadow:0 8px 22px #0006;color:#e6eef9;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;opacity:0;pointer-events:none;overflow-wrap:anywhere;white-space:normal;transition:opacity 90ms ease,transform 90ms ease}.globe-tooltip.visible{opacity:1;transform:translateY(0)}.selected-map-label{position:absolute;z-index:48;display:none;max-width:180px;padding:5px 8px;transform:translate(10px,-50%);overflow:hidden;border:1px solid rgba(34,255,136,.38);border-radius:7px;background:#070e13e0;box-shadow:0 0 16px #22ff8829;color:#d9ffe9;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:650;letter-spacing:.02em;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.maplibregl-ctrl-group{overflow:hidden;border:1px solid var(--stroke)!important;border-radius:10px!important;background:var(--surface-strong)!important;box-shadow:var(--shadow)!important}.maplibregl-ctrl-group button{background-color:transparent!important}@media (max-width: 900px){.mission-hud{top:12px;left:12px}.brand-lockup{min-height:42px}.brand-lockup small{display:none}.catalog-state{min-height:42px}.catalog-state small{display:none}.time-hud{top:12px;min-height:42px}.panel{top:66px;right:12px}.dock-search-wrap{width:190px}.dock-search-wrap:focus-within{width:220px}.observer-label{left:12px;bottom:12px}.count-pill{right:12px;bottom:12px}}@media (max-width: 720px){.app{min-height:0}.mission-hud{right:10px;justify-content:space-between}.brand-lockup{padding-right:9px}.brand-lockup strong{font-size:10px}.brand-mark{width:29px;height:29px}.catalog-state{padding:7px 9px}.catalog-state strong{font-size:9px}.time-hud{top:62px;min-height:36px;padding:6px 8px}.time-hud svg,.time-hud small{display:none}.time-hud strong{font-size:10px}.time-mode{font-size:8px}.dock{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100vw - 16px);gap:4px;justify-content:center;padding:6px;border-radius:13px}.dock-item{width:44px;height:44px;min-width:44px;padding:0}.simulation-button span,.dock-divider{display:none}.dock-search-wrap,.dock-search-wrap:focus-within{width:min(176px,calc(100vw - 242px));height:44px}.dock-search{font-size:11px}.controls{bottom:calc(60px + env(safe-area-inset-bottom));width:calc(100vw - 16px);max-height:min(58vh,460px);overflow-y:auto;border-radius:14px}.panel,.results-list{top:auto;right:8px;bottom:calc(60px + env(safe-area-inset-bottom));left:8px;width:auto;max-width:none;max-height:min(61vh,500px);transform:none;overflow-y:auto;border-radius:14px;animation-name:mobile-panel-in}@keyframes mobile-panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.observer-label,.count-pill{bottom:calc(58px + env(safe-area-inset-bottom));min-height:29px;padding:6px 8px}.observer-label{left:8px}.observer-label small{display:none}.count-pill{right:8px}.interaction-hint{bottom:calc(104px + env(safe-area-inset-bottom))}.banner{top:110px;bottom:auto}}@media (max-width: 430px){.mission-hud{gap:6px}.brand-lockup{border-color:transparent;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.brand-mark{background:#0d121cd9}.brand-lockup>span:last-child{display:none}.catalog-state{margin-left:auto}.reset-button{display:none}.dock-search-wrap,.dock-search-wrap:focus-within{width:min(126px,calc(100vw - 210px));padding-left:8px}.search-clear,.observer-label{display:none}.count-pill{left:8px;right:auto}.interaction-hint{max-width:calc(100vw - 24px)}.interaction-hint small{display:none}.position-readout div{padding:8px 6px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.visualization-stage{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;min-height:0;overflow:hidden;transition:right .24s cubic-bezier(.2,.8,.2,1),bottom .24s cubic-bezier(.2,.8,.2,1)}.mission-hud{top:14px;right:14px;left:14px;gap:8px;pointer-events:none}.mission-hud>*{pointer-events:auto}.mission-hud .catalog-state{margin-left:auto}.view-switch{display:flex;min-height:48px;align-items:center;gap:3px;padding:4px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface);box-shadow:0 8px 30px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.view-switch button{display:inline-flex;height:38px;align-items:center;gap:6px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:650}.view-switch button[aria-pressed=true]{border-color:#4d8dff52;background:var(--accent-soft);color:#d8e5ff}.time-hud{position:static;min-height:48px;transform:none}.catalog-state strong,.time-mode{font-size:11px}.brand-lockup small,.catalog-state small,.time-hud small,.controls-header small{font-size:11px;letter-spacing:.03em}.panel{top:76px;right:14px;width:340px;max-height:calc(100vh - 166px);overflow-y:auto}.selection-open .visualization-stage{right:0}.sat-panel{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.35) transparent}.panel h2{font-size:17px}.panel-kicker,.section-title{font-size:11px}.position-readout small{font-size:10px}.position-readout strong{font-size:12px}.position-readout{grid-template-columns:repeat(2,minmax(0,1fr))}.ground-position{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px}.ground-position span{color:#dbe3ef;font-family:SFMono-Regular,Consolas,monospace}.sat-rows .row{padding:8px 1px;font-size:12px}.action-btn{min-height:40px;font-size:12px}.prediction-note,.pass-explainer{margin:8px 1px 10px;color:var(--muted);font-size:12px;line-height:1.45}.reveal-notice,.observer-summary,.observer-setup,.display-disclosure,.empty-filter,.search-empty{border:1px solid var(--stroke);border-radius:10px;background:#ffffff09}.reveal-notice{margin:8px 0;padding:8px 10px;border-color:#4d8dff4d;color:#bfd4ff;font-size:12px}.observer-summary{padding:10px}.observer-summary>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.observer-summary small{display:block;margin-top:5px;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.observer-change{margin-top:7px;padding:0;border:0;background:transparent;color:#9fc1ff;cursor:pointer;font-size:11px;font-weight:650}.observer-setup{margin-top:10px;padding:10px}.observer-prompt{display:flex;align-items:center;justify-content:space-between;gap:10px}.observer-prompt>span{display:flex;min-width:0;flex-direction:column;gap:2px}.observer-prompt strong{font-size:12px}.observer-prompt small,.observer-options>small{color:var(--muted);font-size:11px;line-height:1.4}.observer-prompt>button{flex:0 0 auto;min-height:34px;padding:0 9px;border:1px solid var(--stroke);border-radius:8px;background:var(--surface-soft);color:#bcd2ff;cursor:pointer;font-size:11px;font-weight:650}.observer-options{display:flex;flex-direction:column;gap:9px;margin-top:10px;padding-top:10px;border-top:1px solid var(--stroke)}.observer-actions{display:flex;flex-wrap:wrap;gap:7px}.observer-actions button,.coordinate-form button,.empty-filter button,.search-empty button,.details-toggle,.map-loading button{min-height:36px;padding:0 10px;border:1px solid var(--stroke);border-radius:8px;background:var(--surface-soft);color:#d6e3f6;cursor:pointer;font-size:12px;font-weight:650}.coordinate-form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.coordinate-form label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:11px}.coordinate-form input{width:100%;height:36px;padding:0 8px;border:1px solid var(--stroke);border-radius:8px;outline:0;background:#04080f99;color:var(--text);font-size:12px}.coordinate-form button{grid-column:1 / -1}.coordinate-error{grid-column:1 / -1;color:#ffabb5;font-size:11px;line-height:1.4}.details-toggle{display:flex;width:100%;align-items:center;justify-content:center;gap:6px;margin-top:8px;background:transparent;color:var(--muted)}.details-toggle:hover{border-color:var(--stroke-strong);color:var(--text)}.technical-details{animation:surface-in .18s ease both}.display-disclosure{margin-top:10px;padding:9px 10px;color:var(--muted);font-size:12px;line-height:1.45}.pass-explainer{margin-bottom:8px}.pass-row{grid-template-columns:104px 1fr 52px;font-size:11px}.pass-elev:after{content:" elev.";color:var(--faint);font-family:Inter,sans-serif;font-size:10px}.passes-empty{padding:8px 0 2px;color:var(--muted);font-size:12px}.empty-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;color:var(--muted);font-size:12px}.search-empty{display:flex;min-height:160px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;color:var(--muted);text-align:center}.search-empty strong{color:var(--text);font-size:13px}.search-empty small{font-size:12px}.orbit-legend{position:absolute;bottom:66px;left:18px;z-index:31;display:flex;gap:10px;padding:7px 9px;border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:650;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.orbit-legend span{display:inline-flex;align-items:center;gap:5px}.orbit-legend i{width:7px;height:7px;border-radius:50%}.globe-tooltip{z-index:24;font-size:12px}.selected-map-label{z-index:23;font-size:12px}.map-loading{z-index:2;display:flex;flex-direction:column;gap:12px;padding:24px;font-size:13px;text-align:center}.map-loading>div{max-width:360px}.map-loading p{margin:0 0 12px;line-height:1.5}@media (max-width: 899px){.mission-hud{top:10px;right:10px;left:10px}.brand-lockup,.view-switch,.catalog-state,.time-hud{min-height:44px}.brand-lockup small,.catalog-state small,.time-hud small{display:none}.panel{top:66px;right:10px}.selection-open .visualization-stage{right:0}}@media (max-width: 719px){.mission-hud{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.brand-lockup{min-width:0}.brand-lockup>span:last-child{display:flex}.brand-lockup strong{font-size:11px;white-space:nowrap}.brand-mark{width:30px;height:30px}.catalog-state{margin-left:0}.view-switch{grid-row:2;padding:3px}.view-switch button{height:36px;flex:1;justify-content:center}.time-hud{grid-row:2;justify-content:flex-end}.time-hud strong{font-size:11px}.time-mode{font-size:10px}.selection-open .visualization-stage{right:0;bottom:0}.dock{z-index:44}.dock:focus-within .dock-item{display:none}.dock:focus-within .dock-search-wrap,.dock-search-wrap:focus-within{width:100%}.dock-search-wrap,.dock-search-wrap:focus-within{height:44px}.search-clear{display:inline-flex;width:32px;height:32px}.controls,.panel,.results-list{z-index:42}.panel,.results-list{top:auto;bottom:calc(66px + env(safe-area-inset-bottom));max-height:min(52vh,440px);padding:14px}.sat-panel.expanded{max-height:min(72vh,610px)}.position-readout{margin-top:11px}.position-readout div{padding:8px}.panel-actions{padding-top:2px}.observer-label,.count-pill{display:none}.orbit-legend{bottom:calc(66px + env(safe-area-inset-bottom));left:8px}.interaction-hint{bottom:calc(112px + env(safe-area-inset-bottom))}.pass-row{grid-template-columns:98px 1fr 50px}}@media (max-width: 430px){.brand-lockup{border-color:var(--stroke);background:var(--surface);box-shadow:0 8px 30px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.catalog-state strong{font-size:10px}.dock-search-wrap,.dock-search-wrap:focus-within{width:min(174px,calc(100vw - 166px));padding-left:9px}.dock:focus-within .dock-search-wrap{width:100%}.orbit-legend span{font-size:10px}.coordinate-form{grid-template-columns:1fr}.coordinate-form button,.coordinate-error{grid-column:1}}.map-mode .atlas-map{background:#193e5c}.map-mode .map-loading{background:#0c1928}.atlas-navigation{position:absolute;z-index:8;top:82px;left:14px;display:grid;padding:4px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.atlas-navigation button{display:grid;place-items:center;width:36px;height:38px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.atlas-navigation button:hover:not(:disabled){background:var(--accent-soft);color:var(--text)}.atlas-navigation button:disabled{opacity:.35;cursor:default}.atlas-navigation button:last-child{border-top:1px solid var(--stroke);margin-top:3px}.atlas-selected-label,.atlas-tooltip{position:absolute;z-index:7;max-width:220px;padding:6px 9px;border:1px solid var(--stroke-strong);border-radius:7px;background:#070e17f0;color:var(--text);box-shadow:0 8px 22px #00000059;font:11px/1.4 SFMono-Regular,Consolas,monospace;pointer-events:none;overflow-wrap:anywhere}.atlas-selected-label{transform:translate(16px,-50%);border-color:#22ff8861;color:#d6ffeb}.atlas-tooltip{z-index:9}.map-mode .maplibregl-ctrl-attrib{background:#070e17e0;color:var(--muted);font-size:10px}.map-mode .maplibregl-ctrl-attrib a{color:#b4c5db}.map-mode .maplibregl-ctrl-attrib-button{filter:invert(1)}.map-mode .maplibregl-ctrl-bottom-right{right:6px;bottom:0}.map-mode .count-pill,.map-mode .orbit-legend{bottom:36px}@media (min-width: 720px){.map-mode.selection-open .visualization-stage{right:0}.map-mode .sat-panel{width:304px}}@media (max-width: 719px){.atlas-navigation{top:120px;left:10px}.atlas-navigation button{width:36px;height:40px}.map-mode .orbit-legend{bottom:calc(66px + env(safe-area-inset-bottom))}.atlas-selected-label{max-width:145px;font-size:10px}}@media (max-width: 719px){.map-mode .sat-panel{left:8px;right:8px;width:auto}.selection-open .orbit-legend{display:none}.map-mode .maplibregl-ctrl-bottom-right{top:120px;bottom:auto;right:10px}}.observer-placement{position:absolute;z-index:10;left:50%;bottom:100px;transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;padding:12px 16px;border:1px solid #41617a;border-radius:12px;background:#101f30;color:#e4edf5;font-size:13px}.observer-placement button{color:inherit;background:transparent;border:1px solid #41617a;border-radius:6px;padding:6px 10px;cursor:pointer}.globe-observer-marker{width:18px;height:18px;pointer-events:auto;cursor:help}.globe-observer-marker:before{content:"";position:absolute;left:6px;top:6px;width:6px;height:6px;border-radius:50%;background:#d8bd88;box-shadow:0 0 0 1px #081723}.globe-observer-marker span{visibility:hidden;pointer-events:none;position:absolute;top:21px;left:50%;transform:translate(-50%);padding:3px 7px;border-radius:4px;background:#081723e6;color:#f2dbaf;font:600 10px/1.4 sans-serif;letter-spacing:.08em}.globe-observer-marker:hover span,.globe-observer-marker:focus-visible span{visibility:visible}
