.sat-app{--sat-accent:#8fa7ff;--sat-cyan:#5be7e0;--sat-gold:#ffd166;--sat-pink:#ff74d4;--sat-green:#7cff6b;--sat-panel:#040c10eb;--sat-line:#ffffff14;--sat-muted:#ffffff73;--sat-faint:#ffffff0a;height:100dvh}:where(.sat-app) button{font:inherit;cursor:pointer}.sat-app button:focus-visible,.sat-app input:focus-visible,.sat-app summary:focus-visible{outline:2px solid var(--sat-accent);outline-offset:2px}.sat-location-button{max-width:230px;height:38px;color:var(--sat-accent);letter-spacing:.12em;white-space:nowrap;background:#8fa7ff0f;border:1px solid #8fa7ff40;border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-size:10px;font-weight:600;display:flex}.sat-location-button b{text-overflow:ellipsis;font-weight:600;overflow:hidden}.sat-location-button.is-set span{color:var(--sat-green);text-shadow:0 0 10px #7cff6b99}.sat-location-button:hover{background:#8fa7ff1f}.sat-main{flex:1;min-height:0;position:relative}.sat-map,.sat-map-leaflet{position:absolute;inset:0}.sat-map-leaflet{background:#050b0d}.sat-map-canvas{z-index:450;pointer-events:none;width:100%;height:100%;transition:opacity .12s;position:absolute;inset:0}.sat-map-tooltip{z-index:900;border:1px solid var(--sat-line);pointer-events:none;white-space:nowrap;background:#040c10f2;border-radius:6px;gap:2px;padding:6px 9px;display:grid;position:absolute;top:0;left:0;translate:-50% -100%}.sat-map-tooltip strong{font-size:11px}.sat-map-tooltip span{color:var(--sat-muted);letter-spacing:.06em;font-size:9px}.sat-observer-wrapper{background:0 0;border:0}.sat-observer{align-items:center;gap:5px;display:flex}.sat-observer span{border:2px solid var(--sat-green);background:#7cff6b40;border-radius:50%;width:14px;height:14px;box-shadow:0 0 14px #7cff6bb3}.sat-observer b{color:var(--sat-green);letter-spacing:.12em;background:#040c10d9;border-radius:4px;padding:1px 5px;font-size:9px}.sat-main:has(.sat-panel-left) .leaflet-top.leaflet-left{margin-left:312px}.sat-panel{z-index:1001;border:1px solid var(--sat-line);background:var(--sat-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;flex-direction:column;min-height:0;display:flex;position:absolute;top:12px;bottom:12px;box-shadow:0 12px 40px #00000059}.sat-panel-left{gap:14px;width:300px;padding:14px;bottom:78px;left:12px}.sat-panel-right{width:370px;right:12px}.sat-panel-body{flex:1;min-height:0;padding:14px;overflow-y:auto}.sat-panel-close{border:1px solid var(--sat-line);width:28px;height:28px;color:var(--sat-muted);background:0 0;border-radius:6px;flex-shrink:0;margin-left:auto;font-size:16px;line-height:1}.sat-panel-left>.sat-panel-close{z-index:1;position:absolute;top:10px;right:10px}.sat-panel-close:hover{color:#fff}.sat-panel-reopen{z-index:1001;border:1px solid var(--sat-line);background:var(--sat-panel);color:var(--sat-accent);letter-spacing:.14em;border-radius:8px;padding:9px 14px;font-size:10px;font-weight:700;position:absolute;top:12px}.sat-panel-reopen-left{left:60px}.sat-panel-reopen-right{right:12px}.sat-tabs{border-bottom:1px solid var(--sat-line);align-items:center;gap:4px;padding:8px;display:flex}.sat-list .sat-tabs{padding:0 0 8px}.sat-tabs button[role=tab]{color:var(--sat-muted);letter-spacing:.12em;background:0 0;border:1px solid #0000;border-radius:6px;padding:8px 10px;font-size:10px;font-weight:700}.sat-tabs button[role=tab] em{color:var(--sat-accent);margin-left:4px;font-style:normal}.sat-tabs button.is-active{color:#fff;background:#8fa7ff1a;border-color:#8fa7ff4d}.sat-section-title{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;padding-right:34px;display:flex}.sat-section-title strong{letter-spacing:.16em;font-size:11px}.sat-section-title span{color:var(--sat-muted);font-size:10px}.sat-note,.sat-footnote{color:var(--sat-muted);margin:8px 0 0;font-size:11px;line-height:1.5}.sat-footnote{color:#ffffff52;font-size:10px}.sat-link-button{color:var(--sat-accent);background:0 0;border:0;padding:0;text-decoration:underline}.sat-primary,.sat-secondary{color:#fff;letter-spacing:.14em;background:#8fa7ff24;border:1px solid #8fa7ff59;border-radius:8px;width:100%;min-height:40px;padding:0 14px;font-size:11px;font-weight:700}.sat-secondary{color:var(--sat-accent);background:0 0}.sat-primary:disabled,.sat-secondary:disabled{opacity:.6}.sat-network-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.sat-network{border:1px solid var(--sat-line);background:var(--sat-faint);min-height:36px;color:var(--sat-muted);text-align:left;border-radius:7px;align-items:center;gap:8px;padding:0 10px;display:flex}.sat-network b{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:600;overflow:hidden}.sat-network small{font-variant-numeric:tabular-nums;font-size:10px}.sat-network-dot{opacity:.45;border-radius:50%;flex-shrink:0;width:8px;height:8px}.sat-network.is-on{color:#fff;background:#8fa7ff14;border-color:#8fa7ff59}.sat-network.is-on .sat-network-dot{opacity:1;box-shadow:0 0 8px}.sat-network.is-failed small{color:var(--sat-pink);font-weight:700}.sat-list{flex-direction:column;flex:1;min-height:0;display:flex}.sat-list-filter,.sat-dialog input{border:1px solid var(--sat-line);background:var(--sat-faint);color:#fff;border-radius:7px;outline:none;width:100%;height:36px;padding:0 12px;font-size:12px}.sat-list-rows{flex:1;min-height:0;margin-top:8px;overflow-y:auto}.sat-row{border-bottom:1px solid var(--sat-line);align-items:center;display:flex}.sat-row.is-selected{background:#ff74d414}.sat-row-main{color:#fff;text-align:left;background:0 0;border:0;flex:1;gap:2px;min-width:0;padding:8px 6px;display:grid}.sat-row-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.sat-row-main small{color:var(--sat-muted);font-size:10px}.sat-row-main:hover strong{color:var(--sat-accent)}.sat-star{width:36px;height:36px;color:var(--sat-muted);background:0 0;border:0;flex-shrink:0;font-size:16px}.sat-star.is-on{color:var(--sat-gold)}.sat-empty{color:var(--sat-muted);text-align:center;padding:40px 18px}.sat-empty b{color:var(--sat-accent);font-size:34px}.sat-empty h3{color:#fff;letter-spacing:.18em;margin:10px 0;font-size:13px}.sat-empty p{font-size:12px;line-height:1.6}.sat-hint{color:var(--sat-gold)}.sat-details{gap:12px;display:grid}.sat-details-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sat-details-head span{color:var(--sat-accent);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:700}.sat-details-head h2{margin:4px 0;font-size:19px;line-height:1.2}.sat-details-head p{color:var(--sat-muted);margin:0;font-size:11px}.sat-iss-badge{background:var(--sat-gold);color:#061012;letter-spacing:.1em;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:800}.sat-score{border:1px solid var(--sat-line);text-align:center;border-radius:8px;min-width:76px;padding:6px 8px;display:grid}.sat-score b{font-size:20px}.sat-score span{color:var(--sat-muted);letter-spacing:.12em;font-size:8px}.sat-score-excellent b,.sat-score-good b{color:var(--sat-green)}.sat-score-fair b{color:var(--sat-gold)}.sat-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sat-actions button{border:1px solid var(--sat-line);background:var(--sat-faint);color:#fff;letter-spacing:.12em;border-radius:7px;min-height:32px;padding:0 12px;font-size:10px;font-weight:700}.sat-actions button.is-on{color:var(--sat-gold);border-color:#ffd16666}.sat-actions small{color:var(--sat-green);font-size:11px}.sat-metrics,.sat-look-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.sat-look-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sat-metrics div,.sat-look-grid div{border:1px solid var(--sat-line);background:var(--sat-faint);border-radius:7px;gap:3px;padding:8px 10px;display:grid}.sat-metrics small,.sat-look-grid small,.sat-pass small{color:var(--sat-muted);letter-spacing:.14em;font-size:8px}.sat-metrics strong{font-variant-numeric:tabular-nums;font-size:15px}.sat-look-grid b{font-variant-numeric:tabular-nums;font-size:12px}.sat-globe-card{border:1px solid var(--sat-line);background:radial-gradient(circle at 50% 45%,#285a8c40,#01050af2 70%);border-radius:10px;overflow:hidden}.sat-globe{width:100%;display:block}.sat-globe-stars circle{fill:#ffffffb3}.sat-globe-atmo-ring{fill:none;stroke:#73dcff2e;stroke-width:1px}.sat-globe-edge{fill:none;stroke:#96e1ff73;stroke-width:.8px}.sat-globe-grid{fill:none;stroke:#ffffff12;stroke-width:.6px}.sat-globe-orbit-rear{fill:none;stroke:#5be7e040;stroke-width:1.2px;stroke-dasharray:3 4}.sat-globe-orbit-front{fill:none;stroke:var(--sat-cyan);stroke-width:1.6px}.sat-globe-sat-glow{fill:#ff74d440}.sat-globe-sat-dot{fill:var(--sat-pink)}.sat-globe-sat-label{fill:#fff;font-size:9px;font-weight:600}.sat-globe-caption{justify-content:space-between;gap:10px;padding:8px 12px 10px;font-size:10px;display:flex}.sat-globe-caption strong{letter-spacing:.14em}.sat-globe-caption span{color:var(--sat-muted)}.sat-orbit-data{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.sat-orbit-data div{border-bottom:1px solid var(--sat-line);justify-content:space-between;padding:6px 0;font-size:11px;display:flex}.sat-orbit-data span{color:var(--sat-muted)}.sat-orbit-data .is-warning b{color:var(--sat-gold)}.sat-visibility{border:1px solid var(--sat-line);background:var(--sat-faint);border-radius:10px;padding:12px}.sat-visibility.is-visible{border-color:#7cff6b4d}.sat-visibility-head{letter-spacing:.12em;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:10px;display:flex}.sat-visibility-head span{color:var(--sat-muted)}.sat-visibility.is-visible .sat-visibility-head span{color:var(--sat-green)}.sat-meter{background:#ffffff14;border-radius:2px;height:4px;margin-bottom:10px;overflow:hidden}.sat-meter i{background:linear-gradient(90deg, var(--sat-accent), var(--sat-green));height:100%;display:block}.sat-pass-list{margin-top:12px}.sat-pass-list-head{letter-spacing:.12em;justify-content:space-between;margin-bottom:6px;font-size:10px;display:flex}.sat-pass-list-head small{color:var(--sat-muted);letter-spacing:0}.sat-pass{border-top:1px solid var(--sat-line);grid-template-columns:70px repeat(3,minmax(0,1fr)) 56px;align-items:center;gap:6px;padding:7px 0;font-size:11px;display:grid}.sat-pass>span{color:var(--sat-muted);font-size:10px}.sat-pass div{display:grid}.sat-pass em{color:var(--sat-muted);letter-spacing:.1em;text-align:right;font-size:9px;font-style:normal}.sat-pass.is-optical em{color:var(--sat-green);font-weight:700}.sat-links{flex-wrap:wrap;gap:12px;display:flex}.sat-links a{color:var(--sat-accent);letter-spacing:.12em;font-size:10px;font-weight:600;text-decoration:none}.sat-alerts{border:1px solid var(--sat-line);background:var(--sat-faint);width:100%;min-height:34px;color:var(--sat-muted);letter-spacing:.14em;border-radius:7px;margin-bottom:6px;font-size:10px;font-weight:700}.sat-alerts.is-on{color:var(--sat-green);border-color:#7cff6b66}.sat-pass-rows{margin-top:8px}.sat-pass-row{border:0;border-bottom:1px solid var(--sat-line);color:#fff;text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;gap:8px;width:100%;padding:9px 4px;display:grid}.sat-pass-row span{min-width:0;display:grid}.sat-pass-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sat-pass-row span small,.sat-pass-row>small{color:var(--sat-muted);font-size:10px}.sat-pass-row>small{text-align:right;grid-column:2/4;margin-top:-6px}.sat-pass-row span{grid-row:span 2}.sat-pass-row em{color:var(--sat-accent);font-size:11px;font-style:normal}.sat-pass-row .sat-pass-none{color:var(--sat-muted);grid-column:2/4}.sat-pass-row.is-optical>small{color:var(--sat-green);font-weight:700}.sat-status-rows{gap:4px;display:grid}.sat-status-row{border:1px solid var(--sat-line);border-radius:7px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:7px 10px;font-size:11px;display:grid}.sat-status-row b{color:var(--sat-green);letter-spacing:.1em;font-size:10px}.sat-status-row.is-stale b{color:var(--sat-gold)}.sat-status-row.is-error b{color:var(--sat-pink)}.sat-status-row small{color:var(--sat-muted);word-break:break-word;grid-column:1/-1;font-size:10px}.sat-status-row button{border:1px solid var(--sat-line);color:var(--sat-accent);letter-spacing:.1em;background:0 0;border-radius:5px;padding:4px 8px;font-size:9px}.sat-status .sat-section-title+.sat-daylight,.sat-status .sat-footnote+.sat-section-title{margin-top:18px}.sat-daylight{border-radius:8px;width:100%;display:block}.sat-daylight-day{fill:#ffd16638}.sat-daylight-twilight{fill:#8fa7ff29}.sat-daylight-night{fill:#050a19e6}.sat-daylight-line{stroke:#ffffff1f;stroke-width:.5px}.sat-daylight-sun{fill:var(--sat-gold)}.sat-daylight-observer{fill:var(--sat-green)}.sat-bar{z-index:1000;border:1px solid var(--sat-line);background:var(--sat-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:calc(100% - 720px);padding:6px;display:flex;position:absolute;bottom:12px;left:50%;translate:-50%}.sat-clock{padding:2px 8px;display:grid}.sat-clock small{color:var(--sat-muted);letter-spacing:.14em;font-size:8px}.sat-clock b{font-variant-numeric:tabular-nums;font-size:12px}.sat-view-toggles{gap:6px;display:flex}.sat-view-toggles button{border:1px solid var(--sat-line);min-height:32px;color:var(--sat-muted);letter-spacing:.12em;background:0 0;border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-size:10px;font-weight:700;display:flex}.sat-view-toggles span{background:#fff3;border-radius:50%;width:8px;height:8px}.sat-view-toggles .is-on{color:#fff}.sat-view-toggles .is-on span{background:var(--sat-cyan);box-shadow:0 0 8px var(--sat-cyan)}.sat-bar-count{color:var(--sat-gold);letter-spacing:.1em;padding:0 8px;font-size:10px}.sat-section-title a{color:var(--sat-accent);text-decoration:none}.sat-bar-credit{color:var(--sat-muted);letter-spacing:.12em;white-space:nowrap;padding:0 8px;font-size:9px;text-decoration:none}.sat-bar-credit:hover{color:var(--sat-accent)}.sat-bar-warning{min-height:32px;color:var(--sat-pink);letter-spacing:.1em;background:#ff74d414;border:1px solid #ff74d459;border-radius:7px;padding:0 10px;font-size:10px;font-weight:700}.sat-dialog-backdrop{z-index:3000;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sat-dialog{border:1px solid var(--sat-line);background:#061015;border-radius:14px;gap:12px;width:min(420px,100%);max-height:calc(100dvh - 32px);padding:18px;display:grid;overflow-y:auto;box-shadow:0 20px 60px #00000080}.sat-dialog p{color:var(--sat-muted);margin:0;font-size:12px;line-height:1.5}.sat-dialog-head{justify-content:space-between;align-items:flex-start;display:flex}.sat-dialog-head div{gap:2px;display:grid}.sat-dialog-head small{color:var(--sat-muted);letter-spacing:.16em;font-size:9px}.sat-dialog-head strong{letter-spacing:.14em;font-size:14px}.sat-dialog-head button{border:1px solid var(--sat-line);color:#fff;background:0 0;border-radius:7px;width:32px;height:32px;font-size:18px}.sat-dialog-search{gap:6px;display:flex}.sat-dialog-search button{color:var(--sat-accent);letter-spacing:.12em;background:#8fa7ff1a;border:1px solid #8fa7ff59;border-radius:7px;padding:0 14px;font-size:10px;font-weight:700}.sat-dialog-results{gap:4px;display:grid}.sat-dialog-results button{border:1px solid var(--sat-line);background:var(--sat-faint);color:#fff;text-align:left;border-radius:7px;gap:2px;padding:9px 10px;display:grid}.sat-dialog-results button:hover{border-color:#8fa7ff66}.sat-dialog-results strong{font-size:12px}.sat-dialog-results small{color:var(--sat-muted);font-size:10px}.sat-dialog-advanced summary{color:var(--sat-accent);cursor:pointer;font-size:11px}.sat-dialog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0;display:grid}.sat-dialog-grid label{gap:4px;display:grid}.sat-dialog-grid span{color:var(--sat-muted);letter-spacing:.12em;font-size:8px}.sat-dialog-message{color:var(--sat-green);background:#7cff6b14;border-radius:7px;padding:9px 10px;font-size:11px}@media (max-width:1280px){.sat-clock{display:none}.sat-panel-right{width:330px}.sat-bar{max-width:calc(100% - 680px)}}.sat-app.is-mobile .radar-header{gap:8px;height:58px;padding:0 10px}.sat-app.is-mobile .radar-brand div{font-size:15px}.sat-app.is-mobile .radar-brand small,.sat-app.is-mobile .back-button,.sat-app.is-mobile .fullscreen-button,.sat-app.is-mobile .sat-location-button b{display:none}.sat-app.is-mobile .radar-search input{min-width:0;font-size:14px}.sat-app.is-mobile .radar-search button{padding:0 10px}.sat-app.is-mobile .sat-location-button{justify-content:center;width:42px;padding:0;font-size:16px}.sat-app.is-mobile .leaflet-control-zoom{display:none}.sat-app.is-mobile .leaflet-bottom{bottom:52px}.sat-app.is-mobile~.radar-mode-switch{inset:66px 10px auto auto}.sat-sheet{z-index:1100;border-top:1px solid var(--sat-line);background:var(--sat-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding-bottom:env(safe-area-inset-bottom);border-radius:14px 14px 0 0;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 40px #0006}.sat-sheet-tabs{scrollbar-width:none;display:flex;overflow-x:auto}.sat-sheet-tabs button{min-height:48px;color:var(--sat-muted);letter-spacing:.12em;background:0 0;border:0;border-bottom:2px solid #0000;flex:1 0 auto;padding:0 12px;font-size:10px;font-weight:700;position:relative}.sat-sheet-tabs button.is-active{border-bottom-color:var(--sat-accent);color:#fff}.sat-dot-warning{background:var(--sat-pink);border-radius:50%;width:6px;height:6px;position:absolute;top:12px;right:6px}.sat-sheet-body{border-top:1px solid var(--sat-line);overscroll-behavior:contain;flex-direction:column;gap:14px;max-height:48dvh;padding:14px;display:flex;overflow-y:auto}.sat-sheet-body .sat-list{min-height:42dvh}.sat-sheet-body .sat-view-toggles button{flex:1;justify-content:center;min-height:40px}.sat-sheet-body .sat-section-title{padding-right:0}.sat-sheet-body .sat-network,.sat-sheet-body .sat-row-main,.sat-sheet-body .sat-pass-row{min-height:44px}.sat-sheet-body .sat-star{width:44px;height:44px}@media (max-width:420px){.sat-look-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sat-pass{grid-template-columns:60px repeat(3,minmax(0,1fr))}.sat-pass em{text-align:left;grid-column:1/-1}.sat-dialog-grid{grid-template-columns:1fr 1fr}}
