:root{
 --bg:#000205;--bg2:#02070b;--panel:rgba(2,6,10,.96);--panel2:rgba(3,9,14,.96);--line:#142b3a;--line2:#25495f;
 --text:#e8f5ff;--muted:#86a5bb;--cyan:#74d7ff;--cyan2:#21b7ed;--amber:#ffca67;--green:#7df0bd;--red:#ff6d7e;
 --shadow:0 18px 60px rgba(0,0,0,.55);--radius:6px;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -10%,#040b10 0,#010508 30%,#000102 74%);color:var(--text);font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}.stars{position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.55}.stars-a{background-image:radial-gradient(circle at 15% 12%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 73% 18%,#b7e9ff 0 1px,transparent 1.2px),radial-gradient(circle at 46% 67%,#fff 0 1px,transparent 1.3px),radial-gradient(circle at 84% 76%,#fff 0 1px,transparent 1.1px);background-size:180px 180px,240px 240px,210px 210px,160px 160px}.stars-b{background-image:radial-gradient(circle at 36% 29%,rgba(255,255,255,.8) 0 1px,transparent 1.2px),radial-gradient(circle at 63% 54%,rgba(116,215,255,.7) 0 1px,transparent 1.4px);background-size:320px 320px,280px 280px;opacity:.32}.topbar{position:sticky;top:0;z-index:30;height:74px;padding:0 max(18px,calc((100vw - 1480px)/2));display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;border-bottom:1px solid rgba(74,134,174,.35);background:rgba(0,3,6,.96);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:13px;color:var(--text);text-decoration:none;min-width:0}.brand strong{display:block;font:800 22px/1 var(--mono);letter-spacing:.12em}.brand small{display:block;margin-top:5px;font:700 10px/1 var(--mono);color:var(--cyan);letter-spacing:.18em}.brand-mark{position:relative;width:45px;height:45px;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#0b2740,#020812);box-shadow:inset 0 0 18px rgba(116,215,255,.14)}.brand-mark .orbit{position:absolute;width:48px;height:18px;border:1px solid var(--cyan);border-radius:50%;transform:rotate(-20deg);opacity:.65}.star-core{font-size:21px;color:#fff;text-shadow:0 0 18px var(--cyan)}.top-status{font:700 11px/1 var(--mono);color:var(--muted);letter-spacing:.09em;display:flex;align-items:center;gap:8px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:4px;background:#02090e;color:var(--text);font-size:20px;cursor:pointer}.icon-btn:hover,.btn:hover{border-color:var(--cyan);transform:translateY(-1px)}.shell{max-width:1480px;margin:0 auto;padding:22px 18px 40px}.panel{background:linear-gradient(180deg,rgba(3,10,15,.97),rgba(1,5,9,.98));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden}.panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(116,215,255,.025),transparent);mix-blend-mode:screen}.eyebrow{display:block;color:var(--cyan);font:800 10px/1.1 var(--mono);letter-spacing:.18em;text-transform:uppercase}.location-console{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(480px,1.7fr) auto;gap:18px;align-items:center;padding:15px 16px;margin-bottom:18px}.location-meta strong{display:block;margin:5px 0 1px;font-size:17px}.location-meta>span:last-child{color:var(--muted);font:12px/1 var(--mono)}.location-controls{display:flex;gap:10px;min-width:0}.search-wrap{position:relative;flex:1}.search-wrap input,.mail-row input,.alert-options select,.admin-input{width:100%;height:42px;border:1px solid var(--line);background:#01070c;color:var(--text);border-radius:4px;padding:0 13px;outline:0}.search-wrap input:focus,.mail-row input:focus,.alert-options select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(116,215,255,.08)}.search-results{position:absolute;left:0;right:0;top:48px;z-index:50;background:#02080d;border:1px solid var(--line2);border-radius:5px;padding:6px;box-shadow:var(--shadow);max-height:330px;overflow:auto}.search-results button{width:100%;text-align:left;border:0;border-radius:3px;background:transparent;color:var(--text);padding:10px 11px;cursor:pointer}.search-results button:hover{background:#071721}.search-results small{display:block;color:var(--muted);margin-top:2px}.btn{min-height:42px;border:1px solid var(--line2);border-radius:4px;background:#06121b;color:var(--text);padding:0 15px;font:800 11px/1 var(--mono);letter-spacing:.08em;cursor:pointer;transition:.18s ease}.btn-primary{background:linear-gradient(180deg,#1b7ca9,#0c5f86);border-color:#43b5e8;color:white}.btn-ghost{background:#030b11}.btn-danger{background:#2a111a;border-color:#653044;color:#ff9aaa}.btn-scan{background:linear-gradient(180deg,#11344e,#0a2337);border-color:#2f6688;width:100%;margin-top:14px}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.location-clock{text-align:right}.location-clock span{display:block;color:var(--muted);font:11px/1 var(--mono)}.location-clock strong{display:block;margin-top:5px;font:800 20px/1 var(--mono);letter-spacing:.05em}.hero-grid{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(320px,.85fr);gap:18px}.sky-panel{padding:18px 20px 20px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.section-head h1,.section-head h2,.section-title h2,.subscription-copy h2{margin:6px 0 0;font:800 clamp(22px,2vw,34px)/1.06 var(--mono);letter-spacing:.02em}.section-head.compact h2{font-size:20px}.segmented{display:flex;border:1px solid var(--line);padding:3px;border-radius:4px;background:#01070c}.segmented button{border:0;background:transparent;color:var(--muted);border-radius:3px;padding:8px 10px;font:800 10px/1 var(--mono);cursor:pointer}.segmented button.active{background:#12314a;color:#fff}.sky-layout{display:grid;grid-template-columns:minmax(330px,.98fr) minmax(230px,.62fr);gap:25px;align-items:center;margin-top:10px}.sky-map-wrap{position:relative;max-width:600px;margin:auto;width:100%}.sky-map-wrap svg{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 35px rgba(0,0,0,.3))}.cardinals text{fill:#77a4bf;font:800 13px var(--mono);text-anchor:middle}.sky-center-label{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.sky-center-label span{display:block;color:#4b7894;font:700 9px var(--mono);letter-spacing:.1em}.sky-center-label strong{font:700 11px var(--mono);color:#78a4bd}.altitude-labels text{fill:#355c73;font:700 8px var(--mono);letter-spacing:.05em}.sky-object{cursor:pointer;outline:none}.sky-object .sky-hit{fill:transparent;stroke:none;pointer-events:all}.sky-object .sky-marker{stroke-width:2;transition:transform .14s ease,filter .14s ease}.sky-object:hover .sky-marker,.sky-object:focus .sky-marker{transform:scale(1.6);filter:drop-shadow(0 0 6px var(--cyan))}.sky-object text{fill:#eaf7ff;font:800 10px var(--mono);text-anchor:middle;paint-order:stroke;stroke:#020710;stroke-width:4px;pointer-events:none}.sky-map-explainer{margin:5px 14px 9px;padding:9px 11px;border-left:2px solid var(--cyan);background:#040e17}.sky-map-explainer strong{display:block;color:#d9effb;font:800 9px var(--mono);letter-spacing:.09em}.sky-map-explainer span{display:block;margin-top:4px;color:#7899ad;font-size:11px;line-height:1.45}.sky-map-legend{display:flex;flex-wrap:wrap;gap:5px;padding:0 14px 7px}.sky-legend-item{display:grid;grid-template-columns:auto auto;column-gap:6px;align-items:center;border:1px solid #17384f;border-radius:3px;background:#030c13;color:#cbe0ed;padding:5px 7px;cursor:pointer;text-align:left;min-height:36px}.sky-legend-item:hover,.sky-legend-item:focus{border-color:var(--cyan);background:#071724;outline:none}.sky-legend-item>span{grid-row:1/3;font:800 15px var(--mono);color:#edf9ff}.sky-legend-item strong{font:800 10px var(--mono);white-space:nowrap}.sky-legend-item small{color:#6f92a8;font:700 8px var(--mono);white-space:nowrap}.sky-map-empty{color:var(--muted);font-size:11px}.hero-summary{padding-right:4px}.big-number strong{display:block;font:900 74px/.9 var(--mono);color:#fff;text-shadow:0 0 28px rgba(116,215,255,.18)}.big-number span{display:block;color:var(--muted);font:700 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-top:8px}.condition-score{margin-top:24px}.condition-score>span{font:700 10px var(--mono);color:var(--muted);letter-spacing:.15em}.condition-score>strong{float:right;font:800 13px var(--mono)}.score-bars{display:flex;gap:4px;margin-top:8px}.score-bars i{height:6px;flex:1;border-radius:2px;background:#123049}.score-bars i.on{background:var(--cyan);box-shadow:0 0 8px rgba(116,215,255,.4)}.hero-message{margin-top:20px;border-left:2px solid var(--cyan);padding:10px 0 10px 13px;color:#a9c2d5;line-height:1.55}.mission-panel{padding:18px}.status-chip{display:inline-flex;min-height:28px;align-items:center;border:1px solid #31536b;background:#0b1d2d;padding:0 9px;border-radius:4px;color:#9fc8df;font:800 9px var(--mono);letter-spacing:.08em}.mission-times{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.mission-times div,.quad-stats div{border:1px solid #18384f;background:#06131f;border-radius:4px;padding:10px}.mission-times span,.quad-stats span{display:block;color:var(--muted);font:700 9px var(--mono);letter-spacing:.11em}.mission-times strong,.quad-stats strong{display:block;margin-top:5px;font:800 15px var(--mono)}.moon-visual{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center;margin-top:16px;border-top:1px solid #16364b;padding-top:16px}.moon-disc{width:78px;height:78px;border-radius:50%;background:#e8edf0;position:relative;overflow:hidden;box-shadow:0 0 25px rgba(230,245,255,.2)}.moon-disc span{position:absolute;inset:0;background:#071321;border-radius:50%;transform:translateX(45%)}.moon-visual strong{display:block;margin-top:7px;font:800 22px var(--mono)}.moon-visual small{color:var(--muted)}.next-event-mini{margin-top:16px;padding:13px;border:1px solid #284f6a;border-radius:4px;background:linear-gradient(180deg,#0b2235,#071723)}.next-event-mini strong{display:block;margin-top:6px}.next-event-mini small{display:block;color:var(--amber);margin-top:4px;font:700 11px var(--mono)}.section-block{margin-top:26px}.section-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:12px;padding:0 2px}.section-title h2{font-size:24px}.section-title>span{color:var(--muted);font:11px var(--mono)}.object-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.object-card,.loading-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(9,27,45,.94),rgba(5,15,26,.96));border-radius:6px;padding:14px;min-height:160px;position:relative;overflow:hidden}.object-card:after{content:"";position:absolute;right:-18px;bottom:-20px;width:100px;height:100px;border:1px solid rgba(116,215,255,.12);border-radius:50%}.object-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.object-head .symbol{font-size:30px;line-height:1;color:#f4fbff}.object-head .quality{font:800 10px var(--mono);color:var(--green)}.object-card h3{margin:12px 0 2px;font:800 18px var(--mono)}.object-card .sub{color:var(--muted);font-size:12px}.object-bearing{display:flex;align-items:flex-end;justify-content:space-between;margin-top:13px}.object-bearing strong{font:900 21px var(--mono);color:var(--cyan)}.object-bearing span{color:#abc2d2;font:700 12px var(--mono)}.object-card .find-btn{position:relative;z-index:2;margin-top:12px;border:0;background:transparent;color:var(--cyan);padding:0;font:800 10px var(--mono);letter-spacing:.08em;cursor:pointer}.object-card.dim{opacity:.58}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}.data-panel{padding:17px}.track-row{display:grid;grid-template-columns:58px 1fr;gap:13px;align-items:center;margin-top:15px}.track-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:27px;border:1px solid #31536b;background:#08192a}.sun-icon{color:#ffd06f;box-shadow:inset 0 0 18px rgba(255,196,77,.1)}.moon-icon{color:#d9efff}.track-main strong{display:block;font:800 14px var(--mono)}.track-main span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.alt-track{height:5px;background:#102d42;border-radius:5px;margin-top:9px;position:relative}.alt-track i{position:absolute;top:-4px;width:12px;height:12px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px rgba(116,215,255,.7);left:0}.quad-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px}.weather-current,.iss-live{display:grid;grid-template-columns:70px 1fr;gap:13px;align-items:center;margin-top:16px}.weather-radar,.iss-orbit-icon{width:64px;height:64px;border:1px solid #315b77;border-radius:50%;display:grid;place-items:center;font:800 24px var(--mono);background:radial-gradient(circle,#0e2b43,#06111e);color:var(--cyan)}.iss-orbit-icon span{font-size:12px;letter-spacing:.08em}.weather-current strong,.iss-live strong{display:block;font-size:16px}.weather-current span,.iss-live span,.iss-live small{display:block;color:var(--muted);margin-top:3px}.best-window,.iss-pass{margin-top:14px;padding:12px;border:1px solid #21465f;background:#061725;border-radius:4px}.best-window span,.iss-pass span{display:block;color:var(--muted);font:700 9px var(--mono);letter-spacing:.11em}.best-window strong,.iss-pass strong{display:block;margin-top:5px}.best-window small,.iss-pass small{display:block;margin-top:3px;color:#7596ab}.iss-panel .btn{margin-top:12px;width:100%}.zodiac-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.zodiac-card{border:1px solid var(--line);border-radius:5px;background:#061421;padding:12px}.zodiac-card strong{display:block;font:800 14px var(--mono)}.zodiac-card span{display:block;color:var(--cyan);font:800 12px var(--mono);margin-top:7px}.zodiac-card small{display:block;color:var(--muted);margin-top:3px}.zodiac-card.below{opacity:.45}.events-list{display:grid;gap:10px}.event-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--line);border-radius:13px;background:linear-gradient(90deg,#06131f,#081a2a);padding:14px}.event-date{font:800 12px var(--mono);color:var(--cyan)}.event-date strong{display:block;font-size:26px;color:#fff}.event-copy strong{font:800 16px var(--mono)}.event-copy p{margin:5px 0 0;color:var(--muted)}.event-meta{text-align:right}.event-meta span{display:block;color:var(--amber);font:800 10px var(--mono)}.event-meta small{display:block;color:var(--muted);margin-top:4px}.safety{color:#ffb3bd!important}.subscription-panel{margin-top:26px;padding:24px;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;background:linear-gradient(110deg,#07182a,#0c2a42)}.subscription-copy h2{font-size:30px}.subscription-copy p{max-width:760px;color:#a4bfd1;margin:10px 0 0}.subscription-actions{display:flex;gap:9px;flex-wrap:wrap}.open-data{margin-top:20px;padding:18px 4px;display:grid;grid-template-columns:1fr auto;gap:20px;border-top:1px solid #19384d}.open-data strong{display:block;margin-top:6px;font:800 14px var(--mono)}.open-data p{max-width:920px;color:#7898ad;margin:6px 0 0;font-size:12px}.support-links{display:flex;gap:8px;align-items:center}.support-button{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border-radius:9px;text-decoration:none;background:#12314a;border:1px solid #2a698d;color:#e9f7ff;font:800 10px var(--mono);letter-spacing:.07em}.support-button.secondary{background:#0a1826}.footer{border-top:1px solid #19384d;padding:17px 2px 5px;color:#617f93;font:10px var(--mono);display:grid;grid-template-columns:1fr auto 1fr;gap:15px}.footer nav{display:flex;gap:14px}.footer a{color:#7ca8c0;text-decoration:none}.footer>span:last-child{text-align:right}.modal{width:min(760px,calc(100vw - 28px));max-height:90vh;border:1px solid #315c79;border-radius:16px;background:linear-gradient(180deg,#071828,#030c16);color:var(--text);padding:0;box-shadow:0 30px 100px rgba(0,0,0,.65);overflow:auto}.modal::backdrop{background:rgba(0,3,8,.78);backdrop-filter:blur(6px)}.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:17px 18px;border-bottom:1px solid #1d4057;background:rgba(6,19,32,.96)}.modal-head h2{margin:5px 0 0;font:800 22px var(--mono)}.close-modal{font-size:26px}.finder-stage{padding:22px}.compass-ring{position:relative;width:min(360px,82vw);aspect-ratio:1;border:2px solid #3b6d8d;border-radius:50%;margin:0 auto;background:radial-gradient(circle,#0b2941,#030b15 72%);box-shadow:inset 0 0 50px rgba(0,0,0,.6)}.compass-ring:before,.compass-ring:after{content:"";position:absolute;inset:16%;border:1px dashed #1d4a65;border-radius:50%}.compass-ring:after{inset:32%}.north-mark,.east-mark,.south-mark,.west-mark{position:absolute;color:#7fa7be;font:800 11px var(--mono)}.north-mark{top:8px;left:50%;transform:translateX(-50%);color:var(--red)}.south-mark{bottom:8px;left:50%;transform:translateX(-50%)}.east-mark{right:10px;top:50%;transform:translateY(-50%)}.west-mark{left:10px;top:50%;transform:translateY(-50%)}.finder-center{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);font-size:25px;color:white;text-shadow:0 0 18px var(--cyan)}.target-bearing{position:absolute;left:50%;top:50%;width:3px;height:44%;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(0deg);background:linear-gradient(transparent,var(--cyan));filter:drop-shadow(0 0 8px var(--cyan))}.target-bearing span{position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-size:20px;color:var(--cyan)}.finder-readout{text-align:center;margin-top:16px}.finder-readout span{display:block;color:var(--muted);font:700 10px var(--mono);letter-spacing:.12em}.finder-readout strong{display:block;font:900 36px var(--mono);color:var(--cyan)}.finder-readout small{color:#718fa4}.tilt-gauge{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;margin-top:20px;padding:15px;border:1px solid #224960;border-radius:5px;background:#061421}.tilt-sky{height:130px;position:relative;border-left:2px solid #31566e;border-bottom:2px solid #31566e}.tilt-sky:after{content:"HORIZONT";position:absolute;bottom:-19px;left:0;color:#58758a;font:8px var(--mono)}.tilt-sky i{position:absolute;left:0;bottom:0;width:76%;height:1px;background:var(--cyan);transform-origin:left center;transform:rotate(-30deg);box-shadow:0 0 8px var(--cyan)}.tilt-sky span{position:absolute;font-size:22px;color:#fff;left:72%;bottom:50%;transform:translate(-50%,50%);text-shadow:0 0 14px var(--cyan)}.tilt-copy span{display:block;color:var(--muted);font:700 10px var(--mono)}.tilt-copy strong{display:block;margin-top:6px;font:900 31px var(--mono)}.tilt-copy small{color:#708da1}.sensor-delta{margin-top:15px;text-align:center;color:#9bb7c9;font:700 12px var(--mono)}.modal-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:16px 18px;border-top:1px solid #1d4057}.settings-grid{padding:17px;display:grid;gap:10px}.toggle-row,.settings-button{min-height:68px;border:1px solid #1d4057;border-radius:5px;background:#061522;color:var(--text);display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 14px;text-align:left}.toggle-row input{display:none}.toggle-row i{width:42px;height:23px;border-radius:20px;background:#152c3e;position:relative;border:1px solid #2b5067}.toggle-row i:after{content:"";position:absolute;width:17px;height:17px;left:2px;top:2px;border-radius:50%;background:#7794a6;transition:.18s}.toggle-row input:checked+i{background:#0c668f}.toggle-row input:checked+i:after{left:20px;background:#dff7ff}.toggle-row strong,.settings-button strong{display:block}.toggle-row small,.settings-button small{display:block;color:var(--muted);margin-top:3px}.settings-button{width:100%;cursor:pointer}.settings-button b{font-size:20px;color:var(--cyan)}.alert-location{margin:17px 18px 0;border:1px solid #2a5069;border-radius:11px;padding:12px;background:#071827}.alert-location span{display:block;color:var(--muted);font:700 9px var(--mono)}.alert-location strong{display:block;margin-top:4px}.alert-location small{display:block;color:#718fa3;margin-top:3px}.channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 18px}.channel-grid section{border:1px solid #1d4057;border-radius:5px;padding:14px;background:#061421}.channel-grid h3{margin:0;font:800 14px var(--mono)}.channel-grid p{color:var(--muted);font-size:12px}.button-row{display:flex;gap:6px;flex-wrap:wrap}.button-row .btn{min-height:36px;padding:0 10px;font-size:9px}.channel-grid small{display:block;margin-top:8px;color:#7f9fb4}.mail-row{display:flex;gap:6px}.mail-row .btn{min-height:40px}.rule-title{padding:0 18px;margin:4px 0 9px;font:800 12px var(--mono)}.alert-rules{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 18px}.alert-rules label{border:1px solid #1d4057;border-radius:4px;background:#061421;padding:10px;display:flex;gap:9px;align-items:flex-start}.alert-rules input{accent-color:#21b7ed;margin-top:3px}.alert-rules b{display:block;font:700 12px var(--mono)}.alert-rules small{display:block;color:var(--muted);margin-top:2px}.alert-options{display:flex;gap:9px;padding:12px 18px}.alert-options label{flex:1;color:var(--muted);font:700 9px var(--mono);letter-spacing:.08em}.alert-options select{margin-top:5px}.toast{position:fixed;right:18px;bottom:18px;z-index:100;background:#092137;border:1px solid #35749a;color:#eaf8ff;border-radius:11px;padding:12px 14px;box-shadow:var(--shadow);max-width:360px;font-weight:700}.night-vision{--cyan:#ff544d;--cyan2:#ff3b35;--amber:#ff746d;--green:#ff6a64;--text:#ffb4af;--muted:#a8524e;--line:#632b2a;--line2:#8a3a37;filter:saturate(.78)}.night-vision body{background:#050000}.night-vision .panel,.night-vision .object-card,.night-vision .zodiac-card,.night-vision .event-card{background:#0d0202}.night-vision .stars{opacity:.1}.night-vision img{filter:grayscale(1) sepia(1) hue-rotate(315deg) saturate(3)}
@media(max-width:1120px){.hero-grid{grid-template-columns:1fr}.mission-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.mission-panel .section-head{grid-column:1/-1}.mission-times{display:contents}.mission-times div{min-width:0}.moon-visual{grid-column:1/3;margin-top:0;border-top:0;padding-top:0}.next-event-mini{grid-column:3/5;margin-top:0}.object-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.iss-panel{grid-column:1/-1}.zodiac-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.topbar{height:64px;padding:0 12px;gap:10px}.brand strong{font-size:18px}.brand small{font-size:8px}.brand-mark{width:38px;height:38px}.top-status{display:none}.shell{padding:13px 10px 26px}.location-console{grid-template-columns:1fr;gap:10px}.location-meta{padding-right:0}.location-controls{display:grid;grid-template-columns:1fr auto}.location-clock{position:absolute;right:13px;top:13px}.location-clock span{display:none}.location-clock strong{font-size:13px}.hero-grid{gap:10px}.sky-panel{padding:15px 12px}.section-head{align-items:center}.section-head h1{font-size:22px}.sky-layout{grid-template-columns:1fr}.sky-map-wrap{max-width:480px}.hero-summary{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.big-number strong{font-size:55px}.condition-score{margin-top:0}.hero-message,.btn-scan{grid-column:1/-1;margin-top:0}.mission-panel{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.mission-panel .section-head{grid-column:1/-1}.mission-times{display:contents}.moon-visual{grid-column:1/-1}.next-event-mini{grid-column:1/-1}.object-grid{grid-template-columns:1fr 1fr;gap:8px}.dashboard-grid{grid-template-columns:1fr;gap:10px}.iss-panel{grid-column:auto}.zodiac-grid{grid-template-columns:1fr 1fr}.event-card{grid-template-columns:90px 1fr;gap:10px}.event-meta{grid-column:2;text-align:left}.subscription-panel{grid-template-columns:1fr;padding:18px}.open-data{grid-template-columns:1fr}.support-links{justify-content:flex-start}.footer{grid-template-columns:1fr;gap:9px}.footer>span:last-child{text-align:left}.channel-grid,.alert-rules{grid-template-columns:1fr}.alert-options{flex-direction:column}.tilt-gauge{grid-template-columns:120px 1fr}.finder-stage{padding:16px}.modal-actions .btn{flex:1}.section-title{align-items:flex-start}.section-title>span{display:none}}
@media(max-width:470px){.location-controls{grid-template-columns:1fr}.location-clock{display:none}.object-grid{grid-template-columns:1fr}.sky-map-wrap{width:108%;margin-left:-4%}.hero-summary{grid-template-columns:1fr 1fr}.zodiac-grid{grid-template-columns:1fr 1fr}.event-card{grid-template-columns:1fr}.event-meta{grid-column:auto}.mail-row{flex-direction:column}.brand small{display:none}.subscription-actions{display:grid}.subscription-actions .btn{width:100%}}

/* Standalone confirmation / legal surfaces */
.standalone,.legal-shell{min-height:100vh;padding:clamp(24px,6vw,70px);background:radial-gradient(circle at 50% 0,#0d2b40 0,transparent 38%)}
.standalone{display:grid;place-items:center}.standalone-card,.legal-card{width:min(760px,100%);border:1px solid var(--line);background:linear-gradient(180deg,#0b1925ee,#07111add);box-shadow:0 30px 100px #0008;border-radius:5px;padding:clamp(25px,5vw,54px)}
.standalone-card h1,.legal-card h1{font-size:clamp(30px,6vw,58px);margin:.2em 0}.standalone-card p{font-size:17px;color:var(--muted);max-width:580px}.legal-shell{display:grid;gap:15px;justify-items:center}.legal-card h1{font-size:42px}.legal-card h2{margin-top:32px;font-size:18px;color:#cfeeff}.legal-card p{color:#a9c0cf;max-width:70ch}.legal-card a{color:var(--accent)}.legal-date{margin-top:40px!important;border-top:1px solid var(--line);padding-top:18px;font-size:12px}.back-link{width:min(760px,100%);color:#8eb3c9;text-decoration:none}.primary-btn{display:inline-flex;margin-top:18px;text-decoration:none}
.event-local{display:block;margin:8px 0;color:#7adfff!important;font-size:11px!important;line-height:1.45}


/* 1.1.0: location autocomplete must float above every dashboard panel. */
.location-console.panel{overflow:visible;z-index:90;position:relative}
.location-console.panel:before{border-radius:inherit}
.location-controls,.search-wrap{position:relative;z-index:110}
.search-results{z-index:1000}
.hero-grid,.section-block,.dashboard-grid,.zodiac-section,.events-section{position:relative;z-index:1}
.search-message{padding:10px 11px;color:var(--muted);font:12px/1.4 var(--mono)}
.search-message.error{color:var(--red)}
.mail-actions{margin-top:9px}
.install-copy{color:#a9c2d5;line-height:1.6}.install-steps{display:grid;gap:8px;margin:15px 0}.install-steps div{border:1px solid var(--line);background:#02080d;padding:12px}.install-steps strong{display:block;color:var(--text);font:800 12px var(--mono)}.install-steps span{display:block;color:var(--muted);margin-top:4px}.install-copy>small{display:block;color:var(--muted)}
.support-button.coffee{border-color:#3a4d23}
.zodiac-card em{display:block;margin-top:4px;color:var(--muted);font:normal 9px/1.3 var(--mono)}

/* TRUE RED-LIGHT MODE: no blue/green/white UI accents are retained. */
html.night-vision{--bg:#000000;--bg2:#000000;--panel:#000000;--panel2:#050000;--line:#360000;--line2:#680000;--text:#ff3434;--muted:#a41414;--cyan:#ff1919;--cyan2:#ff2222;--amber:#ff2a2a;--green:#ff2020;--red:#ff3030;color-scheme:dark;filter:none;background:#000!important}
html.night-vision body{background:#000!important;color:#ff3434!important}
html.night-vision body *{background-color:#000!important;background-image:none!important}
html.night-vision body *,html.night-vision body *::before,html.night-vision body *::after{color:#ff3434!important;border-color:#4d0000!important;box-shadow:none!important;text-shadow:none!important;accent-color:#ff2020}
html.night-vision .panel,html.night-vision .object-card,html.night-vision .loading-card,html.night-vision .zodiac-card,html.night-vision .event-card,html.night-vision .mission-times div,html.night-vision .quad-stats div,html.night-vision .next-event-mini,html.night-vision .search-results,html.night-vision .search-wrap input,html.night-vision .mail-row input,html.night-vision select,html.night-vision dialog,html.night-vision .channel-grid section,html.night-vision .alert-location,html.night-vision .install-steps div{background:#000!important}
html.night-vision .btn,html.night-vision .icon-btn,html.night-vision .segmented,html.night-vision .segmented button,html.night-vision .settings-button,html.night-vision .support-button,html.night-vision .card-find{background:#050000!important}
html.night-vision .btn-primary,html.night-vision .segmented button.active{background:#350000!important}
html.night-vision .btn-danger{background:#210000!important}
html.night-vision .live-dot,html.night-vision .score-bars i.on{background:#ff2020!important}
html.night-vision .score-bars i,html.night-vision .alt-track{background:#200000!important}
html.night-vision .alt-track i{background:#ff2020!important}
html.night-vision .moon-disc{background:#ff3030!important}
html.night-vision .moon-disc span{background:#000!important}
html.night-vision .stars{opacity:.32!important;background-image:radial-gradient(circle at 18% 20%,#660000 0 1px,transparent 1.3px),radial-gradient(circle at 72% 58%,#3d0000 0 1px,transparent 1.3px)!important}
html.night-vision svg .sky-stop-a{stop-color:#170000!important}html.night-vision svg .sky-stop-b{stop-color:#000!important}
html.night-vision #skyMap circle{stroke:#570000!important}html.night-vision #skyMap text{fill:#ff3030!important;stroke:#000!important}html.night-vision .sky-object circle{fill:#ff2525!important;stroke:#7a0000!important}
html.night-vision .sky-object.sun circle,html.night-vision .sky-object.moon circle{fill:#ff3838!important}
html.night-vision dialog::backdrop{background:rgba(0,0,0,.92)!important}
html.night-vision img{filter:grayscale(1) sepia(1) saturate(20) hue-rotate(315deg) brightness(.65)!important}

/* 1.1.0 final geometry pass: darker/angular UI and strict red/black night optics. */
.support-button,.toast,.modal,.alert-location{border-radius:5px}
.segmented button,.search-results button{border-radius:3px}
html.night-vision body *::before,html.night-vision body *::after{background-image:none!important;background-color:transparent!important}
html.night-vision .panel:before{background:linear-gradient(90deg,transparent,rgba(255,25,25,.025),transparent)!important;mix-blend-mode:screen!important}
html.night-vision .topbar,html.night-vision .brand-mark,html.night-vision .compass-ring,html.night-vision .finder-stage,html.night-vision .tilt-gauge,html.night-vision .tilt-sky,html.night-vision .sensor-delta,html.night-vision .weather-radar,html.night-vision .iss-orbit-icon,html.night-vision .event-date,html.night-vision .best-window,html.night-vision .track-row,html.night-vision .footer,html.night-vision .open-data,html.night-vision .subscription-panel,html.night-vision .standalone,html.night-vision .legal-shell,html.night-vision .standalone-card,html.night-vision .legal-card{background:#000!important}
html.night-vision .brand-mark .orbit,html.night-vision .compass-ring:before,html.night-vision .compass-ring:after{background:transparent!important;border-color:#650000!important}
html.night-vision .target-bearing{background:linear-gradient(transparent,#ff2020)!important;filter:none!important}
html.night-vision .tilt-sky i{background:#ff2020!important}
html.night-vision .toggle-row i{background:#190000!important}html.night-vision .toggle-row input:checked+i{background:#4b0000!important}html.night-vision .toggle-row i:after{background:#8d0000!important}html.night-vision .toggle-row input:checked+i:after{background:#ff2828!important}
html.night-vision .stars-a,html.night-vision .stars-b{background-image:radial-gradient(circle at 18% 20%,#5a0000 0 1px,transparent 1.3px),radial-gradient(circle at 72% 58%,#2d0000 0 1px,transparent 1.3px)!important}

/* 1.2.1 sky map interaction */
@media(max-width:760px){.sky-map-explainer{margin-left:5px;margin-right:5px}.sky-map-legend{padding-left:5px;padding-right:5px}.sky-legend-item{flex:1 1 135px}}
html.night-vision .sky-map-explainer,html.night-vision .sky-legend-item{background:#000!important;border-color:#520000!important}html.night-vision .sky-legend-item:hover,html.night-vision .sky-legend-item:focus{border-color:#ff2020!important}html.night-vision .sky-map-explainer strong,html.night-vision .sky-legend-item>span,html.night-vision .sky-legend-item strong{color:#ff3030!important}html.night-vision .sky-map-explainer span,html.night-vision .sky-legend-item small,html.night-vision .altitude-labels text{color:#9d0000!important;fill:#9d0000!important}

/* 1.2.1 clarity pass: collapsible main lists + exact-detail popups */
.section-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;text-align:right}.section-title-actions>span{color:var(--muted);font:700 10px/1.35 var(--mono)}
.collapse-toggle{width:36px;height:36px;flex:0 0 36px;border:1px solid var(--line2);border-radius:3px;background:#020a10;color:var(--text);font:800 23px/1 var(--mono);cursor:pointer;display:grid;place-items:center}.collapse-toggle:hover,.collapse-toggle:focus{border-color:var(--cyan);color:var(--cyan);outline:none}.collapsible-section.is-collapsed .collapse-content{display:none}.collapsible-section.is-collapsed{padding-bottom:4px}.collapsible-section.is-collapsed .section-title{margin-bottom:0}
.info-card,.info-trigger{cursor:pointer}.info-card{transition:border-color .15s ease,background .15s ease,transform .15s ease}.info-card:hover,.info-card:focus,.info-trigger:hover,.info-trigger:focus{border-color:var(--cyan);outline:none}.info-card:focus-visible,.info-trigger:focus-visible{box-shadow:0 0 0 2px rgba(116,215,255,.18)}
.info-status-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:15px 18px 0}.info-status-row>span{display:inline-flex;min-height:29px;align-items:center;border:1px solid var(--line);background:#03101a;padding:0 9px;color:var(--muted);font:800 9px/1 var(--mono);letter-spacing:.06em}.info-status{border-color:var(--line2)!important;color:var(--text)!important}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 18px}.info-grid>div{border:1px solid var(--line);background:#020b12;padding:11px;min-height:68px}.info-grid span{display:block;color:var(--muted);font:700 8px/1.2 var(--mono);letter-spacing:.1em}.info-grid strong{display:block;margin-top:6px;font:800 13px/1.35 var(--mono);overflow-wrap:anywhere}.info-copy{margin:0 18px 14px;padding:13px 14px;border-left:2px solid var(--cyan);background:#030e16;color:#9db9ca;line-height:1.58}.info-source-link{display:inline-flex;margin:0 18px 14px;color:var(--cyan);font:800 10px var(--mono);text-decoration:none;letter-spacing:.07em}.info-source-link:hover{text-decoration:underline}.info-safety{margin:0 18px 14px}.info-modal .modal-actions{margin-top:2px}
html.night-vision .collapse-toggle,html.night-vision .info-status-row>span,html.night-vision .info-grid>div,html.night-vision .info-copy{background:#000!important;border-color:#520000!important}html.night-vision .collapse-toggle:hover,html.night-vision .collapse-toggle:focus,html.night-vision .info-card:hover,html.night-vision .info-card:focus,html.night-vision .info-trigger:hover,html.night-vision .info-trigger:focus{border-color:#ff2020!important}html.night-vision .info-copy{border-left-color:#ff2020!important}html.night-vision .info-source-link{color:#ff3030!important}
@media(max-width:760px){.section-title-actions{gap:7px}.section-title-actions>span{display:none}.collapse-toggle{width:34px;height:34px;flex-basis:34px}.info-grid{grid-template-columns:1fr 1fr}.info-status-row{align-items:stretch}.info-status-row>span{flex:1}}
@media(max-width:470px){.info-grid{grid-template-columns:1fr}.info-status-row{display:grid}.info-copy{font-size:13px}}
.info-source-link[hidden],.info-modal .btn[hidden]{display:none!important}


/* 1.2.2: larger popup aiming action + strict red placeholders. */
.info-modal .info-actions{display:block;padding:18px}.info-modal .info-find-large{width:100%;min-height:64px;padding:0 22px;font-size:15px;letter-spacing:.12em}
html.night-vision #placeSearch::placeholder,html.night-vision #mailAddress::placeholder,html.night-vision #placeSearch::-webkit-input-placeholder,html.night-vision #mailAddress::-webkit-input-placeholder{color:#a90000!important;opacity:1!important}
@media(max-width:760px){.info-modal .info-find-large{min-height:68px;font-size:16px}}

/* 1.2.3: true red scrollbars + Airwatch-style visible database reconnect. */
html.night-vision,html.night-vision body,html.night-vision *{scrollbar-color:#ff2020 #000!important;scrollbar-width:auto}
html.night-vision ::-webkit-scrollbar{width:12px;height:12px;background:#000!important}
html.night-vision ::-webkit-scrollbar-track,html.night-vision ::-webkit-scrollbar-corner{background:#000!important}
html.night-vision ::-webkit-scrollbar-thumb{background:#cf0000!important;border:2px solid #000!important;border-radius:0!important}
html.night-vision ::-webkit-scrollbar-thumb:hover{background:#ff2020!important}
.toast.reconnect-toast{display:grid;width:min(94vw,690px);max-width:690px;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;background:#10080a;border-color:#7a2631;border-left:3px solid #ff6d7e;border-radius:4px;padding:13px 14px;box-shadow:0 20px 60px rgba(0,0,0,.7);font-family:var(--mono)}
.reconnect-message{min-width:0;color:#f0b3bc;font:700 10px/1.45 var(--mono);overflow-wrap:anywhere}
.reconnect-display{display:flex;min-width:190px;flex-direction:column;align-items:flex-end;justify-content:center;padding-left:14px;border-left:1px solid #59303a}
.reconnect-title{margin-bottom:6px;color:#a9c6d8;font:800 8px/1 var(--mono);letter-spacing:.15em}
.reconnect-sequence{display:flex;align-items:center;justify-content:flex-end;min-height:29px}.reconnect-step{display:grid;place-items:center;width:27px;height:27px;border:1px solid #394e5d;background:#061019;color:#587080;font:800 13px/1 var(--mono);transition:.16s}.reconnect-step.active{border-color:#ff6d7e;background:#381018;color:#ffd6dc;box-shadow:0 0 16px rgba(255,109,126,.3);animation:skyReconnectPulse .75s ease-in-out infinite alternate}.reconnect-step.done{border-color:#355c4b;background:#0a1813;color:#78bf9f}.reconnect-step.pending{opacity:.45}.reconnect-separator{margin:0 5px;color:#72505a;font:800 8px/1 var(--mono)}
.reconnect-connecting{display:flex;align-items:center;gap:8px;color:#ffb4bf;font:800 11px/1 var(--mono);letter-spacing:.1em}.reconnect-dots{display:flex;gap:4px}.reconnect-dots i{display:block;width:4px;height:4px;background:#ff6d7e;opacity:.2;animation:skyReconnectDot 1s infinite}.reconnect-dots i:nth-child(2){animation-delay:.18s}.reconnect-dots i:nth-child(3){animation-delay:.36s}
.toast.reconnect-toast.resolved{background:#07130d;border-color:#2b7553;border-left-color:#7df0bd}.toast.reconnect-toast.resolved .reconnect-message{color:#a9d9c4}.toast.reconnect-toast.resolved .reconnect-display{border-left-color:#28543f}.toast.reconnect-toast.resolved .reconnect-title{color:#b7daca}.reconnect-resolved{color:#7df0bd;font:800 11px/1 var(--mono);letter-spacing:.1em}
@keyframes skyReconnectPulse{from{transform:scale(1)}to{transform:scale(1.08)}}@keyframes skyReconnectDot{0%,70%,100%{opacity:.2;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}
@media(max-width:560px){.toast.reconnect-toast{grid-template-columns:1fr;gap:9px;right:10px;bottom:10px}.reconnect-display{width:100%;min-width:0;padding:9px 0 0;border-left:0;border-top:1px solid #59303a;align-items:center}.toast.reconnect-toast.resolved .reconnect-display{border-top-color:#28543f}}
html.night-vision .toast.reconnect-toast,html.night-vision .toast.reconnect-toast.resolved{background:#000!important;border-color:#8d0000!important;border-left-color:#ff2020!important}
html.night-vision .reconnect-message,html.night-vision .reconnect-title,html.night-vision .reconnect-connecting,html.night-vision .reconnect-resolved{color:#ff3030!important}
html.night-vision .reconnect-display{border-color:#650000!important}html.night-vision .reconnect-step{background:#000!important;border-color:#560000!important;color:#8d0000!important}html.night-vision .reconnect-step.active{background:#290000!important;border-color:#ff2020!important;color:#ff3030!important}html.night-vision .reconnect-step.done{background:#0d0000!important;border-color:#850000!important;color:#c60000!important}html.night-vision .reconnect-separator{color:#730000!important}html.night-vision .reconnect-dots i{background:#ff2020!important}
/* 1.2.3: larger, explicitly colored zodiac glyphs at the left of each card. */
.zodiac-card{display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-areas:"symbol name" "symbol status" "symbol star";column-gap:11px;align-items:center;min-height:86px}
.zodiac-card .zodiac-symbol{grid-area:symbol;display:grid!important;place-items:center;align-self:stretch;width:54px;margin:0!important;color:var(--cyan)!important;font:400 40px/1 "Segoe UI Symbol","Noto Sans Symbols 2","DejaVu Sans",sans-serif!important;text-shadow:0 0 14px currentColor;opacity:1!important}
.zodiac-card strong{grid-area:name;align-self:end}.zodiac-card small{grid-area:status;align-self:center}.zodiac-card em{grid-area:star;align-self:start}
html.night-vision .zodiac-card .zodiac-symbol{color:#ff2020!important;text-shadow:0 0 14px #820000!important}
@media(max-width:470px){.zodiac-card{grid-template-columns:48px minmax(0,1fr);column-gap:9px;padding:10px}.zodiac-card .zodiac-symbol{width:48px;font-size:36px!important}}

/* 1.2.4: steadier live finder + strict monochrome normal display. */
.target-bearing{transition:transform .13s ease-out;will-change:transform}
.north-mark,.east-mark,.south-mark,.west-mark{z-index:3;transition:left .13s ease-out,top .13s ease-out;will-change:left,top}
.aim-zone{position:absolute;z-index:1;left:50%;top:9px;width:70px;height:30px;transform:translateX(-50%);display:grid;place-items:start center;border-top:3px solid var(--cyan);border-left:1px solid var(--line2);border-right:1px solid var(--line2);border-radius:50% 50% 0 0;color:var(--cyan);font:900 14px/1 var(--mono);padding-top:4px;pointer-events:none;opacity:.72;transition:border-color .15s ease,color .15s ease,opacity .15s ease}
.compass-ring.compass-live .aim-zone{opacity:1}.compass-ring.is-aligned{border-color:var(--cyan)!important;box-shadow:inset 0 0 0 2px var(--line2)!important}.compass-ring.is-aligned .aim-zone{border-color:var(--text)!important;color:var(--text)!important}.compass-ring.is-aligned .target-bearing{filter:none!important}.compass-ring.is-aligned .finder-center{transform:translate(-50%,-50%) scale(1.14)}
.sensor-delta{min-height:30px;font-size:16px!important;line-height:1.45!important;font-weight:900!important;letter-spacing:.025em}.sensor-delta.is-aligned{font-size:17px!important;color:var(--text)!important}
@media(max-width:760px){.sensor-delta{font-size:17px!important}.sensor-delta.is-aligned{font-size:18px!important}.aim-zone{width:76px;height:32px}}
html.night-vision .aim-zone{background:#000!important;border-color:#700000!important;color:#ff2020!important}html.night-vision .compass-ring.is-aligned,html.night-vision .compass-ring.is-aligned .aim-zone{border-color:#ff2020!important;color:#ff3030!important}html.night-vision .sensor-delta.is-aligned{color:#ff3030!important}

/* Normal display intentionally mirrors the red-light geometry, but only in black / white / grey. */
html:not(.night-vision){--bg:#000;--bg2:#000;--panel:#000;--panel2:#050505;--line:#303030;--line2:#686868;--text:#f4f4f4;--muted:#909090;--cyan:#f4f4f4;--cyan2:#d8d8d8;--amber:#ededed;--green:#f4f4f4;--red:#f4f4f4;color-scheme:dark;background:#000!important}
html:not(.night-vision) body{background:#000!important;color:#f4f4f4!important}
html:not(.night-vision) body *{background-color:#000!important;background-image:none!important;color:#f4f4f4!important;border-color:#444!important;box-shadow:none!important;text-shadow:none!important;accent-color:#fff}
html:not(.night-vision) .panel,html:not(.night-vision) .object-card,html:not(.night-vision) .loading-card,html:not(.night-vision) .zodiac-card,html:not(.night-vision) .event-card,html:not(.night-vision) .mission-times div,html:not(.night-vision) .quad-stats div,html:not(.night-vision) .next-event-mini,html:not(.night-vision) .search-results,html:not(.night-vision) .search-wrap input,html:not(.night-vision) .mail-row input,html:not(.night-vision) select,html:not(.night-vision) dialog,html:not(.night-vision) .channel-grid section,html:not(.night-vision) .alert-location,html:not(.night-vision) .install-steps div{background:#000!important}
html:not(.night-vision) .btn,html:not(.night-vision) .icon-btn,html:not(.night-vision) .segmented,html:not(.night-vision) .segmented button,html:not(.night-vision) .settings-button,html:not(.night-vision) .support-button,html:not(.night-vision) .card-find{background:#050505!important}
html:not(.night-vision) .btn-primary,html:not(.night-vision) .segmented button.active{background:#242424!important}
html:not(.night-vision) .btn-danger{background:#111!important}
html:not(.night-vision) .live-dot,html:not(.night-vision) .score-bars i.on{background:#f4f4f4!important}
html:not(.night-vision) .score-bars i,html:not(.night-vision) .alt-track{background:#202020!important}html:not(.night-vision) .alt-track i{background:#f4f4f4!important}
html:not(.night-vision) .moon-disc{background:#f4f4f4!important}html:not(.night-vision) .moon-disc span{background:#000!important}
html:not(.night-vision) .stars{opacity:.32!important;background-image:radial-gradient(circle at 18% 20%,#666 0 1px,transparent 1.3px),radial-gradient(circle at 72% 58%,#3d3d3d 0 1px,transparent 1.3px)!important}
html:not(.night-vision) svg .sky-stop-a{stop-color:#171717!important}html:not(.night-vision) svg .sky-stop-b{stop-color:#000!important}
html:not(.night-vision) #skyMap circle{stroke:#606060!important}html:not(.night-vision) #skyMap text{fill:#f4f4f4!important;stroke:#000!important}html:not(.night-vision) .sky-object circle{fill:#f4f4f4!important;stroke:#777!important}
html:not(.night-vision) .sky-object.sun circle,html:not(.night-vision) .sky-object.moon circle{fill:#fff!important}
html:not(.night-vision) dialog::backdrop{background:rgba(0,0,0,.92)!important}
html:not(.night-vision) img{filter:grayscale(1) brightness(.72)!important}
html:not(.night-vision) body *::before,html:not(.night-vision) body *::after{background-image:none!important;background-color:transparent!important}
html:not(.night-vision) .panel:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.025),transparent)!important;mix-blend-mode:screen!important}
html:not(.night-vision) .topbar,html:not(.night-vision) .brand-mark,html:not(.night-vision) .compass-ring,html:not(.night-vision) .finder-stage,html:not(.night-vision) .tilt-gauge,html:not(.night-vision) .tilt-sky,html:not(.night-vision) .sensor-delta,html:not(.night-vision) .weather-radar,html:not(.night-vision) .iss-orbit-icon,html:not(.night-vision) .event-date,html:not(.night-vision) .best-window,html:not(.night-vision) .track-row,html:not(.night-vision) .footer,html:not(.night-vision) .open-data,html:not(.night-vision) .subscription-panel,html:not(.night-vision) .standalone,html:not(.night-vision) .legal-shell,html:not(.night-vision) .standalone-card,html:not(.night-vision) .legal-card{background:#000!important}
html:not(.night-vision) .brand-mark .orbit,html:not(.night-vision) .compass-ring:before,html:not(.night-vision) .compass-ring:after{background:transparent!important;border-color:#666!important}
html:not(.night-vision) .target-bearing{background:linear-gradient(transparent,#f4f4f4)!important;filter:none!important}
html:not(.night-vision) .tilt-sky i{background:#f4f4f4!important}
html:not(.night-vision) .toggle-row i{background:#191919!important}html:not(.night-vision) .toggle-row input:checked+i{background:#4b4b4b!important}html:not(.night-vision) .toggle-row i:after{background:#8d8d8d!important}html:not(.night-vision) .toggle-row input:checked+i:after{background:#f4f4f4!important}
html:not(.night-vision) .stars-a,html:not(.night-vision) .stars-b{background-image:radial-gradient(circle at 18% 20%,#5a5a5a 0 1px,transparent 1.3px),radial-gradient(circle at 72% 58%,#2d2d2d 0 1px,transparent 1.3px)!important}
html:not(.night-vision) .sky-map-explainer,html:not(.night-vision) .sky-legend-item{background:#000!important;border-color:#525252!important}html:not(.night-vision) .sky-legend-item:hover,html:not(.night-vision) .sky-legend-item:focus{border-color:#f4f4f4!important}html:not(.night-vision) .sky-map-explainer strong,html:not(.night-vision) .sky-legend-item>span,html:not(.night-vision) .sky-legend-item strong{color:#f4f4f4!important}html:not(.night-vision) .sky-map-explainer span,html:not(.night-vision) .sky-legend-item small,html:not(.night-vision) .altitude-labels text{color:#8d8d8d!important;fill:#8d8d8d!important}
html:not(.night-vision) .collapse-toggle,html:not(.night-vision) .info-status-row>span,html:not(.night-vision) .info-grid>div,html:not(.night-vision) .info-copy{background:#000!important;border-color:#525252!important}html:not(.night-vision) .collapse-toggle:hover,html:not(.night-vision) .collapse-toggle:focus,html:not(.night-vision) .info-card:hover,html:not(.night-vision) .info-card:focus,html:not(.night-vision) .info-trigger:hover,html:not(.night-vision) .info-trigger:focus{border-color:#f4f4f4!important}html:not(.night-vision) .info-copy{border-left-color:#f4f4f4!important}html:not(.night-vision) .info-source-link{color:#f4f4f4!important}
html:not(.night-vision) #placeSearch::placeholder,html:not(.night-vision) #mailAddress::placeholder,html:not(.night-vision) #placeSearch::-webkit-input-placeholder,html:not(.night-vision) #mailAddress::-webkit-input-placeholder{color:#8d8d8d!important;opacity:1!important}
html:not(.night-vision),html:not(.night-vision) body,html:not(.night-vision) *{scrollbar-color:#d8d8d8 #000!important;scrollbar-width:auto}
html:not(.night-vision) ::-webkit-scrollbar{width:12px;height:12px;background:#000!important}html:not(.night-vision) ::-webkit-scrollbar-track,html:not(.night-vision) ::-webkit-scrollbar-corner{background:#000!important}html:not(.night-vision) ::-webkit-scrollbar-thumb{background:#bdbdbd!important;border:2px solid #000!important;border-radius:0!important}html:not(.night-vision) ::-webkit-scrollbar-thumb:hover{background:#fff!important}
html:not(.night-vision) .toast.reconnect-toast,html:not(.night-vision) .toast.reconnect-toast.resolved{background:#000!important;border-color:#666!important;border-left-color:#f4f4f4!important}html:not(.night-vision) .reconnect-message,html:not(.night-vision) .reconnect-title,html:not(.night-vision) .reconnect-connecting,html:not(.night-vision) .reconnect-resolved{color:#f4f4f4!important}html:not(.night-vision) .reconnect-display{border-color:#666!important}html:not(.night-vision) .reconnect-step{background:#000!important;border-color:#555!important;color:#8d8d8d!important}html:not(.night-vision) .reconnect-step.active{background:#292929!important;border-color:#f4f4f4!important;color:#fff!important}html:not(.night-vision) .reconnect-step.done{background:#0d0d0d!important;border-color:#858585!important;color:#d0d0d0!important}html:not(.night-vision) .reconnect-separator{color:#737373!important}html:not(.night-vision) .reconnect-dots i{background:#f4f4f4!important}
html:not(.night-vision) .zodiac-card .zodiac-symbol{color:#f4f4f4!important;text-shadow:none!important}
html:not(.night-vision) .aim-zone{background:#000!important;border-color:#666!important;color:#f4f4f4!important}html:not(.night-vision) .compass-ring.is-aligned,html:not(.night-vision) .compass-ring.is-aligned .aim-zone{border-color:#fff!important;color:#fff!important}html:not(.night-vision) .sensor-delta.is-aligned{color:#fff!important}

/* 1.3.0: white normal theme, improved branding, compact inline finder, map chips/search, mobile DB status. */
.top-actions{display:flex;align-items:center;gap:10px}.lang-switch{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.lang-btn{min-width:38px;height:36px;border:0;background:transparent;color:var(--muted);font:800 10px/1 var(--mono);cursor:pointer}.lang-btn.active{background:var(--text);color:var(--bg)}
.image-mark{border:0;background:transparent;box-shadow:none;width:54px;height:54px}.brand-logo,.brand-title{display:none;max-width:100%;height:auto}.brand-title-wrap{display:block;min-width:220px}.brand-title{height:42px;width:auto}.brand-logo{width:54px;height:54px;object-fit:contain}.brand-logo-dark,.brand-title-dark{display:block}html.night-vision .brand-logo-dark,html.night-vision .brand-title-dark,html.night-vision .brand-logo-light,html.night-vision .brand-title-light{display:none}html.night-vision .brand-logo-night,html.night-vision .brand-title-night{display:block}
html:not(.night-vision) .brand-logo-light,html:not(.night-vision) .brand-title-light,html:not(.night-vision) .brand-logo-night,html:not(.night-vision) .brand-title-night{display:none}html:not(.night-vision) .brand-logo-dark,html:not(.night-vision) .brand-title-dark{display:block}
.sky-map-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;align-items:center}.sky-search-wrap{flex:1 1 280px;max-width:420px}.map-filter-chips{display:flex;flex-wrap:wrap;gap:7px}.map-chip{min-height:34px;border:1px solid var(--line2);background:transparent;color:var(--muted);border-radius:999px;padding:0 12px;font:800 10px/1 var(--mono);cursor:pointer}.map-chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.sky-search-hit strong{display:block}.sky-search-hit small{display:block}
.info-hero{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1fr);gap:14px;padding:0 18px 8px}.info-hero-media{border:1px solid var(--line);background:rgba(0,0,0,.04);min-height:220px;display:grid;place-items:center}.info-hero-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}.compact-finder{padding:12px 0 0}.compact-finder .compass-ring{width:240px;height:240px;margin:0 auto}.compact-finder .tilt-gauge{margin-top:10px}.compact-finder .sensor-delta{margin-top:10px}.compact-tilt .tilt-copy span{font-size:13px!important}.info-modal .info-actions{display:flex;gap:10px;padding:18px}.info-modal .info-actions .btn,.info-modal .info-actions a.btn{flex:1;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.finder-modal .finder-readout small,.compact-finder .finder-readout small{font-size:13px}.compact-finder .sensor-delta{font-size:18px!important}
html.night-vision input[type="checkbox"],html.night-vision input[type="radio"]{accent-color:#000}
@media(max-width:980px){.info-hero{grid-template-columns:1fr}.info-hero-media{min-height:180px}.brand-title{height:34px}.brand-title-wrap{min-width:0}}
@media(max-width:760px){.topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'brand actions' 'status status';height:auto;padding-top:10px;padding-bottom:10px}.brand{grid-area:brand}.top-actions{grid-area:actions}.top-status{grid-area:status;display:flex!important;padding-left:2px}.info-modal .info-actions{flex-direction:column}.compact-finder .compass-ring{width:220px;height:220px}.location-console{grid-template-columns:1fr;align-items:stretch}.location-clock{text-align:left}.sky-layout{grid-template-columns:1fr}}
@media(max-width:560px){.sky-map-toolbar{flex-direction:column;align-items:stretch}.sky-search-wrap{max-width:none}.top-status{font-size:10px}.brand-logo{width:46px;height:46px}}

/* 1.3.1: exact black/white inversion for the light layout + invisible sky-map hit targets. */
html:not(.night-vision){filter:invert(1);background:#000!important;color-scheme:dark}
html:not(.night-vision) .sky-object .sky-hit{fill:transparent!important;stroke:none!important;opacity:0!important;visibility:visible!important;pointer-events:all!important}
html:not(.night-vision) .brand-logo,html:not(.night-vision) .brand-title{filter:none!important}
html:not(.night-vision) .info-hero-media img{filter:invert(1)!important}
html:not(.night-vision) input[type="checkbox"],html:not(.night-vision) input[type="radio"]{accent-color:#fff!important}
html:not(.night-vision) #placeSearch::placeholder,html:not(.night-vision) #mailAddress::placeholder,html:not(.night-vision) #skyObjectSearch::placeholder,html:not(.night-vision) input::placeholder{color:#8d8d8d!important;opacity:1!important}
html:not(.night-vision) dialog::backdrop{background:rgba(255,255,255,.92)!important}
.settings-language{min-height:68px;border:1px solid var(--line);border-radius:5px;background:#061522;color:var(--text);display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 14px}.settings-language strong{display:block}.settings-language small{display:block;color:var(--muted);margin-top:3px}.settings-language .lang-switch{flex:0 0 auto}.settings-language .lang-btn.active{background:var(--text);color:var(--bg)}
html.night-vision .settings-language{background:#000!important;border-color:#520000!important}.night-vision .settings-language .lang-btn.active{background:#ff2020!important;color:#000!important}
@media(max-width:470px){.settings-language{align-items:flex-start;flex-direction:column}.settings-language .lang-switch{width:100%}.settings-language .lang-btn{flex:1}}
/* Keep invisible SVG touch targets invisible in every theme; only the visible marker/glyph is rendered. */
.sky-object .sky-hit{fill:transparent!important;stroke:none!important;opacity:0!important;pointer-events:all!important}
html:not(.night-vision) .settings-language .lang-btn.active,html:not(.night-vision) .map-chip.active{background:#fff!important;color:#000!important;border-color:#fff!important}

/* 1.3.2: exact supplied header artwork + repaired dialogs + themed sky search and alert checks. */
/* Header: use only the user's standalone logo plus the user's SKYWATCH wordmark. */
.brand{gap:14px}.image-mark{width:56px;height:56px;flex:0 0 56px}.brand-logo{width:56px;height:56px;object-fit:contain}.brand-title-wrap{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}.brand-title{height:31px;width:auto;max-width:min(330px,44vw);object-fit:contain;object-position:left center}.brand-subtitle{display:block!important;margin:0!important;color:#fff!important;font:700 7px/1.1 var(--mono)!important;letter-spacing:.13em!important}
/* Light mode uses the exact black supplied assets. Because 1.3.1 inverts the document, counter-invert only the artwork. */
html:not(.night-vision) .brand-logo-dark,html:not(.night-vision) .brand-title-dark{display:block!important;filter:invert(1)!important}
html:not(.night-vision) .brand-logo-light,html:not(.night-vision) .brand-title-light,html:not(.night-vision) .brand-logo-night,html:not(.night-vision) .brand-title-night{display:none!important}
html:not(.night-vision) .brand-subtitle{color:#fff!important}
/* Red mode uses the exact supplied red artwork without any recoloring/filtering. */
html.night-vision .brand-logo-night,html.night-vision .brand-title-night{display:block!important;filter:none!important}
html.night-vision .brand-logo-dark,html.night-vision .brand-title-dark,html.night-vision .brand-logo-light,html.night-vision .brand-title-light{display:none!important}
html.night-vision .brand-subtitle{color:#ff3434!important}

/* Dialogs live in the browser top layer, so explicitly invert them in the light layout as well. */
html:not(.night-vision) dialog.modal{filter:invert(1)!important;scrollbar-color:#000 #fff!important;color-scheme:light}
html:not(.night-vision) dialog.modal::backdrop{background:rgba(0,0,0,.48)!important;backdrop-filter:blur(5px)}
html:not(.night-vision) dialog.modal .info-hero-media img{filter:invert(1)!important}
html:not(.night-vision) dialog.modal::-webkit-scrollbar{width:12px;height:12px;background:#fff!important}
html:not(.night-vision) dialog.modal::-webkit-scrollbar-track,html:not(.night-vision) dialog.modal::-webkit-scrollbar-corner{background:#fff!important}
html:not(.night-vision) dialog.modal::-webkit-scrollbar-thumb{background:#000!important;border:2px solid #fff!important;border-radius:0!important}
/* Never let [hidden] be overridden by the grid/flex declarations. */
.info-hero-media[hidden],#infoFinderStage[hidden]{display:none!important}
.info-hero{grid-template-columns:1fr;align-items:start;padding:14px 18px 8px}
.info-hero.has-image{grid-template-columns:minmax(150px,240px) minmax(0,1fr)}
.info-hero-media{width:100%;min-height:0;aspect-ratio:1/1;overflow:hidden}
.info-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.compact-finder{width:100%;min-width:0;padding:0}
.compact-finder .compass-ring{width:min(240px,70vw);height:auto;aspect-ratio:1;margin:0 auto}
.compact-finder .tilt-gauge{grid-template-columns:minmax(120px,180px) minmax(0,1fr);width:100%}
.info-modal{width:min(820px,calc(100vw - 28px))}
.info-modal .modal-head{position:sticky;top:0}
@media(max-width:760px){.info-hero.has-image{grid-template-columns:1fr}.info-hero-media{width:min(260px,100%);margin:0 auto}.compact-finder .tilt-gauge{grid-template-columns:120px minmax(0,1fr)}}
@media(max-width:470px){.compact-finder .tilt-gauge{grid-template-columns:1fr}.compact-finder .tilt-sky{height:105px}}

/* New object/zodiac search field follows the active design exactly. */
html.night-vision #skyObjectSearch{background:#000!important;color:#ff3030!important;border-color:#850000!important;box-shadow:none!important;caret-color:#ff3030!important}
html.night-vision #skyObjectSearch:focus{border-color:#ff2020!important;box-shadow:0 0 0 2px #2b0000!important}
html.night-vision #skyObjectSearch::placeholder,html.night-vision #skyObjectSearch::-webkit-input-placeholder{color:#a90000!important;opacity:1!important}
/* Values below are intentionally pre-inversion so the visible light theme is white background / black text. */
html:not(.night-vision) #skyObjectSearch{background:#000!important;color:#fff!important;border-color:#555!important;caret-color:#fff!important}
html:not(.night-vision) #skyObjectSearch:focus{border-color:#fff!important;box-shadow:0 0 0 2px #222!important}
html:not(.night-vision) #skyObjectSearch::placeholder,html:not(.night-vision) #skyObjectSearch::-webkit-input-placeholder{color:#8d8d8d!important;opacity:1!important}

/* Alert checkboxes: visible light theme = white field / black border, checked black with white tick. Red mode = red field with black tick. */
.alert-rules input[type="checkbox"]{-webkit-appearance:none;appearance:none;width:17px;height:17px;min-width:17px;margin:2px 0 0;border:1px solid #fff;border-radius:2px;background:#000;display:grid;place-content:center;cursor:pointer;box-shadow:none}
.alert-rules input[type="checkbox"]:checked{background:#fff;border-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.2 6.3 11.5 13 4.8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");background-size:14px 14px;background-repeat:no-repeat;background-position:center}
.alert-rules input[type="checkbox"]:focus-visible{outline:2px solid #fff;outline-offset:2px}
html.night-vision .alert-rules input[type="checkbox"]{background:#000!important;border-color:#9b0000!important}
html.night-vision .alert-rules input[type="checkbox"]:checked{background:#ff2020!important;border-color:#ff2020!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.2 6.3 11.5 13 4.8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E")!important}
html.night-vision .alert-rules input[type="checkbox"]:focus-visible{outline-color:#ff2020!important}


/* 1.3.3 header cleanup: use one supplied transparent wordmark per theme */
.brand{display:flex;align-items:center;gap:0;min-width:0}
.image-mark,.brand-logo,.brand-logo-dark,.brand-logo-light,.brand-logo-night,.brand-title,.brand-title-dark,.brand-title-light,.brand-title-night,.brand-subtitle{display:none!important}
.brand-title-wrap.single-wordmark{display:flex!important;align-items:center;min-width:0}
.brand-wordmark{display:none;max-width:min(430px,46vw);height:auto;max-height:60px;object-fit:contain;object-position:left center}
html:not(.night-vision) .brand-wordmark-light{display:block!important}
html:not(.night-vision) .brand-wordmark-night{display:none!important}
html.night-vision .brand-wordmark-night{display:block!important}
html.night-vision .brand-wordmark-light{display:none!important}
@media(max-width:980px){.brand-wordmark{max-width:min(360px,50vw);max-height:54px}}
@media(max-width:560px){.brand-wordmark{max-width:min(260px,58vw);max-height:46px}}

/* 1.3.4 HEADER ONLY: restore logo + supplied wordmark + subtitle, exact theme colors. */
.brand{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important}
.brand .image-mark{display:grid!important;width:56px!important;height:56px!important;flex:0 0 56px!important;border:0!important;background:transparent!important;box-shadow:none!important;place-items:center!important}
.brand .brand-title-wrap{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:3px!important;min-width:0!important}
.brand .brand-logo{width:56px!important;height:56px!important;object-fit:contain!important;object-position:center!important}
.brand .brand-title{height:31px!important;width:auto!important;max-width:min(330px,44vw)!important;object-fit:contain!important;object-position:left center!important}
.brand .brand-subtitle{display:block!important;margin:0!important;font:700 7px/1.1 var(--mono)!important;letter-spacing:.13em!important;white-space:nowrap!important}
/* White/light design: black source PNGs are counter-inverted once because the whole page is inverted once. Result: BLACK on WHITE. */
html:not(.night-vision) .brand-logo-dark,html:not(.night-vision) .brand-title-dark{display:block!important;filter:invert(1)!important}
html:not(.night-vision) .brand-logo-night,html:not(.night-vision) .brand-title-night{display:none!important}
html:not(.night-vision) .brand-subtitle{color:#fff!important}
/* Red-light design: exact supplied red transparent PNGs, no filters. */
html.night-vision .brand-logo-night,html.night-vision .brand-title-night{display:block!important;filter:none!important}
html.night-vision .brand-logo-dark,html.night-vision .brand-title-dark{display:none!important}
html.night-vision .brand-subtitle{color:#ff3434!important}
@media(max-width:980px){.brand .brand-title{height:28px!important;max-width:min(290px,42vw)!important}}
@media(max-width:560px){.brand .image-mark{width:46px!important;height:46px!important;flex-basis:46px!important}.brand .brand-logo{width:46px!important;height:46px!important}.brand .brand-title{height:24px!important;max-width:min(215px,48vw)!important}.brand .brand-subtitle{font-size:6px!important}}

/* 1.3.5 — targeted map/header/finder corrections only. */
/* Header: light theme uses the supplied transparent WHITE source PNGs; the existing page inversion renders them BLACK on WHITE. No per-image invert/filter. */
.brand .image-mark,.brand .brand-title-wrap{background:transparent!important}
html:not(.night-vision) .brand-logo-light,html:not(.night-vision) .brand-title-light{display:block!important;filter:none!important;background:transparent!important}
html:not(.night-vision) .brand-logo-night,html:not(.night-vision) .brand-title-night,html:not(.night-vision) .brand-logo-dark,html:not(.night-vision) .brand-title-dark{display:none!important}
html.night-vision .brand-logo-night,html.night-vision .brand-title-night{display:block!important;filter:none!important;background:transparent!important}
html.night-vision .brand-logo-light,html.night-vision .brand-title-light,html.night-vision .brand-logo-dark,html.night-vision .brand-title-dark{display:none!important}

/* Red map category chips: unselected = red on black, selected = exact inverse. */
html.night-vision .map-chip{background:#000!important;color:#ff2020!important;border-color:#8d0000!important}
html.night-vision .map-chip.active{background:#ff2020!important;color:#000!important;border-color:#ff2020!important}
html.night-vision .map-chip:hover,html.night-vision .map-chip:focus-visible{border-color:#ff2020!important}

/* Sky-map labels: no label backgrounds. Light renders BLACK with WHITE outline after the page inversion; red renders RED with BLACK outline. */
.sky-map-wrap svg text{paint-order:stroke fill!important;stroke-linejoin:round!important;stroke-width:3px!important;background:transparent!important}
.sky-center-label,.sky-center-label span,.sky-center-label strong{background:transparent!important}
html:not(.night-vision) .sky-map-wrap svg text{fill:#fff!important;stroke:#000!important}
html:not(.night-vision) .sky-center-label span,html:not(.night-vision) .sky-center-label strong{color:#fff!important;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 -1px 0 #000,0 1px 0 #000,-1px 0 0 #000,1px 0 0 #000!important}
html.night-vision .sky-map-wrap svg text{fill:#ff2020!important;stroke:#000!important}
html.night-vision .sky-center-label span,html.night-vision .sky-center-label strong{color:#ff2020!important;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 -1px 0 #000,0 1px 0 #000,-1px 0 0 #000,1px 0 0 #000!important}

/* Angle diagram: one geometric origin/radius for line, object and angle label. */
.tilt-sky{aspect-ratio:1/1;height:auto!important;position:relative;overflow:visible}
.tilt-sky i{height:2px!important;transform-origin:left center!important}
.tilt-sky>span{transform:translate(-50%,50%)!important;z-index:3}
.tilt-angle-label{position:absolute;z-index:4;transform:translate(-50%,50%);padding:2px 5px;background:transparent!important;color:var(--text);font:900 13px/1 var(--mono);white-space:nowrap;pointer-events:none;text-shadow:0 0 4px var(--bg)}
html.night-vision .tilt-angle-label{color:#ff2020!important;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000!important}

/* The fullscreen finder is actually viewport fullscreen: only object name/X, large compass and angle diagram. */
dialog.finder-modal{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important}
.finder-modal .modal-head{height:86px!important;min-height:86px!important;padding:16px clamp(18px,3vw,42px)!important}
.finder-modal .modal-head .eyebrow{display:none!important}
.finder-modal .modal-head h2{font-size:clamp(24px,3vw,42px)!important;margin:0!important}
.finder-modal .close-modal{width:54px!important;height:54px!important;font-size:34px!important}
.finder-modal .finder-stage{height:calc(100dvh - 86px)!important;padding:clamp(20px,3vw,48px)!important;display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;align-items:center!important;justify-items:center!important;gap:clamp(28px,5vw,80px)!important;overflow:auto!important}
.finder-modal .compass-ring{width:min(70vh,58vw,720px)!important;height:auto!important;max-width:none!important;margin:0!important}
.finder-modal .finder-readout,.finder-modal .sensor-delta,.finder-modal>.modal-actions{display:none!important}
.finder-modal .tilt-gauge{width:min(440px,34vw)!important;margin:0!important;padding:0!important;display:grid!important;grid-template-columns:1fr!important;gap:18px!important;border:0!important;background:transparent!important}
.finder-modal .tilt-sky{width:100%!important;border-left-width:2px!important;border-bottom-width:2px!important}
.finder-modal .tilt-copy{text-align:center!important}
.finder-modal .tilt-copy span{font-size:14px!important;letter-spacing:.12em!important}
.finder-modal .tilt-copy strong{font-size:clamp(38px,5vw,68px)!important;margin-top:8px!important}
.finder-modal .tilt-copy small{font-size:12px!important}
.finder-modal .tilt-angle-label{font-size:16px!important}

@media(max-width:820px){
 dialog.finder-modal{height:100dvh!important}
 .finder-modal .modal-head{height:72px!important;min-height:72px!important;padding:10px 14px!important}
 .finder-modal .modal-head h2{font-size:clamp(20px,6vw,30px)!important}
 .finder-modal .close-modal{width:48px!important;height:48px!important;font-size:30px!important}
 .finder-modal .finder-stage{height:calc(100dvh - 72px)!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;align-content:center!important;gap:22px!important;padding:16px!important}
 .finder-modal .compass-ring{width:min(78vw,48vh,520px)!important}
 .finder-modal .tilt-gauge{width:min(88vw,360px)!important;grid-template-columns:minmax(130px,180px) 1fr!important;align-items:center!important;gap:16px!important}
 .finder-modal .tilt-copy{text-align:left!important}
 .finder-modal .tilt-copy strong{font-size:clamp(34px,10vw,52px)!important}
 .finder-modal .tilt-copy small{font-size:10px!important}
 .finder-modal .tilt-angle-label{font-size:13px!important}
}

/* 1.3.33: keep the page fixed behind every modal; only the active dialog scrolls. */
html.modal-open{
 overflow:hidden!important;
 overscroll-behavior:none!important;
}
body.modal-open{
 position:fixed!important;
 top:var(--modal-scroll-y,0)!important;
 left:0!important;
 right:0!important;
 width:100%!important;
 overflow:hidden!important;
 overscroll-behavior:none!important;
}
dialog.modal{
 overscroll-behavior:contain;
 -webkit-overflow-scrolling:touch;
 touch-action:pan-y;
}
dialog.modal::backdrop{touch-action:none}

/* Event icons sit above the date and use native vectors in the active design colour. */
.event-list-icon{display:grid;place-items:center;width:76px;height:56px;margin:0 0 7px;overflow:hidden;color:#fff}
.event-list-icon-svg{display:block;width:52px;height:52px;overflow:visible;color:inherit}
html.night-vision body .event-list-icon{color:#ff3030}

/* 1.3.34: mobile-safe spacecraft vectors and an unobstructed compass target. */
.sky-spacecraft-symbol{pointer-events:none;color:#fff;transform:translateY(-5px)}
.sky-spacecraft-symbol .sky-spacecraft-panel,.sky-spacecraft-symbol .sky-spacecraft-body{fill:currentColor;stroke:#000;stroke-width:1.5px;vector-effect:non-scaling-stroke}
.sky-spacecraft-symbol .sky-spacecraft-frame{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;vector-effect:non-scaling-stroke}
.sky-spacecraft-symbol .sky-spacecraft-core{fill:#000;stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke}
html.night-vision .sky-spacecraft-symbol{color:#ff2020}
.sky-object:hover .sky-spacecraft-symbol,.sky-object:focus .sky-spacecraft-symbol{filter:drop-shadow(0 0 5px currentColor)}

.compass-ring,.finder-stage,.finder-side-stack,.finder-modal .tilt-gauge,.compact-finder .tilt-gauge,.finder-modal .tilt-sky,.compact-finder .tilt-sky,.finder-modal .finder-constellation-sketch,.sensor-delta,.aim-zone{background:transparent!important;background-color:transparent!important;background-image:none!important}
.compass-ring{box-shadow:none!important;isolation:isolate;overflow:visible}
.compass-ring:before,.compass-ring:after{z-index:0;background:transparent!important}
.north-mark,.east-mark,.south-mark,.west-mark{z-index:2!important}
.aim-zone{z-index:3!important;box-shadow:none!important;filter:none;transition:border-color .15s ease,color .15s ease,opacity .15s ease,filter .15s ease,transform .15s ease}
.target-bearing{z-index:5!important}
.target-bearing span{z-index:6!important}
.finder-center{z-index:7!important}
.compass-ring.is-aligned{box-shadow:none!important}
.compass-ring.is-aligned .aim-zone{opacity:1!important;border-top-width:5px!important;filter:drop-shadow(0 0 7px currentColor);transform:translateX(-50%) scale(1.06);text-shadow:0 0 7px currentColor}
.compass-ring.is-aligned .target-bearing{filter:drop-shadow(0 0 7px var(--cyan))!important}

/* 1.3.6: center label is native SVG text only; absolutely no backdrop/background layer. */
.sky-center-label-svg{
 position:absolute!important;
 left:50%!important;
 top:50%!important;
 transform:translate(-50%,-50%)!important;
 width:124px!important;
 height:44px!important;
 max-width:none!important;
 display:block!important;
 overflow:visible!important;
 pointer-events:none!important;
 background:none!important;
 background-color:transparent!important;
 box-shadow:none!important;
 border:0!important;
 filter:none!important;
 opacity:1!important;
 z-index:3!important;
}
.sky-center-label-svg text{background:none!important;filter:none!important;font-family:var(--mono)!important;font-weight:900!important;letter-spacing:.08em!important;paint-order:stroke fill!important;stroke-linejoin:round!important}
.sky-center-label-svg .sky-center-title{font-size:9px!important}
.sky-center-label-svg .sky-center-angle{font-size:11px!important;letter-spacing:0!important}

/* 1.3.6: fullscreen finder is a fixed viewport experience; page and dialog cannot scroll until closed. */
html.finder-open,body.finder-open{
 overflow:hidden!important;
 height:100dvh!important;
 max-height:100dvh!important;
 overscroll-behavior:none!important;
}
dialog.finder-modal{overscroll-behavior:none!important;touch-action:manipulation!important}
.finder-modal .modal-head .eyebrow{
 display:block!important;
 margin-bottom:6px!important;
 font-size:clamp(9px,1.2vw,12px)!important;
 letter-spacing:.18em!important;
}
.finder-modal .modal-head>div{min-width:0!important}
.finder-modal .modal-head h2{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.finder-modal .finder-stage{
 min-height:0!important;
 overflow:hidden!important;
}
.finder-modal .compass-ring{max-height:100%!important}
.finder-modal .tilt-gauge{min-height:0!important}

@media(min-width:821px){
 .finder-modal .finder-stage{
  grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr)!important;
  gap:clamp(20px,4vw,64px)!important;
  padding:clamp(14px,2.4vh,34px) clamp(18px,3vw,42px)!important;
 }
 .finder-modal .compass-ring{
  width:min(68dvh,58vw,700px)!important;
 }
 .finder-modal .tilt-gauge{
  width:min(390px,31vw)!important;
 }
}

@media(max-width:820px){
 html.finder-open,body.finder-open{height:100dvh!important;max-height:100dvh!important}
 .finder-modal .modal-head .eyebrow{font-size:9px!important;margin-bottom:4px!important}
 .finder-modal .finder-stage{
  grid-template-columns:1fr!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  align-content:stretch!important;
  gap:clamp(8px,1.8vh,14px)!important;
  padding:clamp(8px,1.8vh,14px)!important;
 }
 .finder-modal .compass-ring{
  width:min(52dvh,88vw,450px)!important;
  align-self:center!important;
 }
 .finder-modal .tilt-gauge{
  width:min(92vw,390px)!important;
  grid-template-columns:minmax(100px,150px) minmax(0,1fr)!important;
  gap:10px!important;
  align-self:end!important;
 }
 .finder-modal .tilt-sky{width:min(150px,32vw)!important;justify-self:center!important}
 .finder-modal .tilt-copy strong{font-size:clamp(28px,8vw,46px)!important;margin-top:3px!important}
 .finder-modal .tilt-copy span{font-size:11px!important}
 .finder-modal .tilt-copy small{font-size:9px!important;line-height:1.25!important}
}

@media(max-height:620px) and (max-width:820px){
 .finder-modal .modal-head{height:64px!important;min-height:64px!important;padding:7px 12px!important}
 .finder-modal .modal-head h2{font-size:clamp(18px,5vw,26px)!important}
 .finder-modal .close-modal{width:44px!important;height:44px!important;font-size:28px!important}
 .finder-modal .finder-stage{height:calc(100dvh - 64px)!important;padding:7px 10px!important;gap:6px!important}
 .finder-modal .compass-ring{width:min(50dvh,74vw,320px)!important}
 .finder-modal .tilt-gauge{width:min(88vw,330px)!important;grid-template-columns:105px minmax(0,1fr)!important;gap:8px!important}
 .finder-modal .tilt-sky{width:100px!important}
 .finder-modal .tilt-copy strong{font-size:28px!important}
 .finder-modal .tilt-angle-label{font-size:11px!important}
}

/* 1.3.7: compass calibration + uploaded object symbols. */
.calibration-modal{width:min(720px,calc(100vw - 28px))}.calibration-body{padding:18px}.calibration-steps{display:grid;gap:6px;padding:14px;border:1px solid var(--line);background:var(--panel2)}.calibration-steps strong{font:800 12px/1.2 var(--mono);letter-spacing:.05em}.calibration-steps p{margin:0 0 10px;color:var(--muted)}.calibration-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.calibration-readout>div{border:1px solid var(--line);padding:12px;background:var(--panel2)}.calibration-readout span{display:block;color:var(--muted);font:700 9px/1.2 var(--mono);letter-spacing:.08em}.calibration-readout strong{display:block;margin-top:6px;font:900 20px/1 var(--mono)}.calibration-note{margin-top:12px;border-left:2px solid var(--cyan);padding:10px 12px;color:var(--muted);background:transparent}.object-icon-img,.zodiac-icon-img,.legend-icon-img,.search-hit-icon-img{display:block;width:100%;height:100%;object-fit:contain}.object-symbol .object-icon-img{width:32px;height:32px}.zodiac-symbol .zodiac-icon-img{width:44px;height:44px}.sky-legend-item .legend-icon-img{width:22px;height:22px}.search-hit-icon{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;vertical-align:middle}.search-hit-icon-img{width:22px;height:22px}.sky-icon-image{pointer-events:none}.sky-object:hover .sky-icon-image,.sky-object:focus .sky-icon-image{filter:drop-shadow(0 0 5px currentColor);transform:scale(1.12);transform-origin:center}.settings-button#openCompassCalibration b{font-size:22px}
html.night-vision .calibration-steps,html.night-vision .calibration-readout>div{background:#000!important;border-color:#650000!important}.calibration-modal .modal-actions .btn{flex:1}
@media(max-width:620px){.calibration-readout{grid-template-columns:1fr}.calibration-modal .modal-actions{display:grid;grid-template-columns:1fr}.calibration-modal .modal-actions .btn{width:100%}}

/* Live spacecraft network */
@media(min-width:1121px){.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.starlink-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:16px}
.starlink-summary>div{border:1px solid #18384f;background:#06131f;border-radius:4px;padding:10px;min-width:0}
.starlink-summary span{display:block;color:var(--muted);font:700 8px var(--mono);letter-spacing:.08em;line-height:1.35}
.starlink-summary strong{display:block;margin-top:5px;font:800 19px var(--mono)}
.starlink-current{margin-top:14px;padding:12px;border:1px solid #21465f;background:#061725;border-radius:4px;min-height:78px}
.starlink-current strong,.starlink-current small{display:block}.starlink-current strong{font:800 13px/1.45 var(--mono)}.starlink-current small{margin-top:5px;color:#7596ab}
.starlink-panel .btn{margin-top:12px;width:100%}
@media(max-width:1120px) and (min-width:761px){.iss-panel,.starlink-panel{grid-column:auto}}

/* 1.3.8 — definitive center-label + map-icon theme correction. */
.sky-center-label-group{pointer-events:none!important;background:none!important}
.sky-center-label-group text{background:none!important;filter:none!important;font-family:var(--mono)!important;font-weight:900!important;paint-order:stroke fill!important;stroke-linejoin:round!important}
.sky-center-label-group .sky-center-title{font-size:9px!important;letter-spacing:.08em!important}
.sky-center-label-group .sky-center-angle{font-size:11px!important;letter-spacing:0!important}
/* Uploaded map icons are forced to the active design colour while preserving their alpha shape. */
html:not(.night-vision) .sky-icon-image{filter:brightness(0) saturate(100%) invert(1)!important}
html.night-vision .sky-icon-image{filter:brightness(0) saturate(100%) invert(17%) sepia(98%) saturate(6904%) hue-rotate(355deg) brightness(113%) contrast(121%)!important}
.sky-object:hover .sky-icon-image,.sky-object:focus .sky-icon-image{transform:scale(1.12);transform-origin:center}
.sky-object text{font-family:"Segoe UI Symbol","Noto Sans Symbols 2","DejaVu Sans",sans-serif!important}


/* 1.3.9 — map symbols replace dots, center label is path-only, no possible text background. */
.sky-center-label-group,.sky-center-label-group text,.sky-center-label,.sky-center-label-svg{display:none!important}
.sky-center-path-group{pointer-events:none!important}
.sky-center-path-group path{paint-order:stroke fill!important;stroke-linejoin:round!important;stroke-width:1.7px!important;vector-effect:non-scaling-stroke}
html:not(.night-vision) .sky-center-path-group path{fill:#fff!important;stroke:#000!important}
html.night-vision .sky-center-path-group path{fill:#ff2020!important;stroke:#000!important}
.sky-object .sky-marker{display:none!important}
.sky-object .sky-hit{fill:transparent!important;stroke:none!important;opacity:0!important;pointer-events:all!important}
.sky-object .sky-symbol-text{font-family:"Segoe UI Symbol","Noto Sans Symbols 2","DejaVu Sans",sans-serif!important;font-size:25px!important;font-weight:700!important;text-anchor:middle!important;dominant-baseline:middle!important;paint-order:stroke fill!important;stroke-width:2.2px!important;pointer-events:none!important}
.sky-object .sky-object-name{font-family:var(--mono)!important;font-size:8px!important;font-weight:900!important;text-anchor:middle!important;paint-order:stroke fill!important;stroke-width:2.5px!important;stroke-linejoin:round!important;pointer-events:none!important}
.sky-icon-image{pointer-events:none!important;transform-origin:center;transition:transform .14s ease-out,filter .14s ease-out}
html:not(.night-vision) .sky-icon-image{filter:brightness(0)!important}
html.night-vision .sky-icon-image{filter:brightness(0) saturate(100%) invert(17%) sepia(98%) saturate(6904%) hue-rotate(355deg) brightness(113%) contrast(121%)!important}
html:not(.night-vision) .sky-object .sky-symbol-text,html:not(.night-vision) .sky-object .sky-object-name{fill:#000!important;stroke:#fff!important}
html.night-vision .sky-object .sky-symbol-text,html.night-vision .sky-object .sky-object-name{fill:#ff2020!important;stroke:#000!important}
.sky-object:hover .sky-symbol-text,.sky-object:focus .sky-symbol-text,.sky-object:hover .sky-icon-image,.sky-object:focus .sky-icon-image{transform:scale(1.16)}

/* 1.3.11 — both public search inputs use identical placeholder contrast in every theme. */
html.night-vision #placeSearch::placeholder,html.night-vision #skyObjectSearch::placeholder,html.night-vision #placeSearch::-webkit-input-placeholder,html.night-vision #skyObjectSearch::-webkit-input-placeholder{color:#a90000!important;opacity:1!important}
html:not(.night-vision) #placeSearch::placeholder,html:not(.night-vision) #skyObjectSearch::placeholder,html:not(.night-vision) #placeSearch::-webkit-input-placeholder,html:not(.night-vision) #skyObjectSearch::-webkit-input-placeholder{color:#8d8d8d!important;opacity:1!important}


/* 1.3.12 — unify ALL visible symbols/icons to the active theme colour. */
.object-symbol,.zodiac-symbol,.sky-legend-item>span,.search-hit-icon{display:inline-grid;place-items:center}
html:not(.night-vision) .object-symbol,html:not(.night-vision) .zodiac-symbol,html:not(.night-vision) .sky-legend-item>span,html:not(.night-vision) .search-hit-icon{color:#000!important}
html.night-vision .object-symbol,html.night-vision .zodiac-symbol,html.night-vision .sky-legend-item>span,html.night-vision .search-hit-icon{color:#ff2020!important}
html:not(.night-vision) .object-icon-img,html:not(.night-vision) .zodiac-icon-img,html:not(.night-vision) .legend-icon-img,html:not(.night-vision) .search-hit-icon-img{filter:brightness(0)!important}
html.night-vision .object-icon-img,html.night-vision .zodiac-icon-img,html.night-vision .legend-icon-img,html.night-vision .search-hit-icon-img{filter:brightness(0) saturate(100%) invert(17%) sepia(98%) saturate(6904%) hue-rotate(355deg) brightness(113%) contrast(121%)!important}
.object-symbol .object-icon-img,.zodiac-symbol .zodiac-icon-img,.sky-legend-item .legend-icon-img,.search-hit-icon .search-hit-icon-img{background:transparent!important}

/* 1.3.13 — force the same monochrome text-presentation symbols used by the sky map everywhere. */
.object-symbol,.zodiac-symbol,.sky-legend-item>span,.search-hit-icon{
  font-family:"DejaVu Sans","Segoe UI Symbol","Noto Sans Symbols 2",sans-serif!important;
  font-variant-emoji:text;
}

/* 1.3.15 — bilingual map centre + unit switch. No background layer behind centre labels. */
.sky-center-en{display:none;pointer-events:none!important}
.sky-center-en text{background:none!important;filter:none!important;font-family:var(--mono)!important;font-weight:900!important;text-anchor:middle!important;paint-order:stroke fill!important;stroke-linejoin:round!important;stroke-width:1.7px!important;vector-effect:non-scaling-stroke}
.sky-center-en-title{font-size:9px!important;letter-spacing:.08em!important}.sky-center-en-angle{font-size:11px!important;letter-spacing:0!important}
html[lang="en"] .sky-center-path-group{display:none!important}html[lang="en"] .sky-center-en{display:block!important}
html[lang="de"] .sky-center-path-group{display:block!important}html[lang="de"] .sky-center-en{display:none!important}
html:not(.night-vision) .sky-center-en text{fill:#fff!important;stroke:#000!important}
html.night-vision .sky-center-en text{fill:#ff2020!important;stroke:#000!important}
#distanceUnitSwitch .unit-btn.active{font-weight:900!important}


/* 1.3.15 final pass — every public symbol is monochrome in the active theme.
   The light theme globally inverts the page, so source-white renders black. */
html:not(.night-vision) .object-symbol,html:not(.night-vision) .zodiac-symbol,html:not(.night-vision) .sky-legend-item>span,html:not(.night-vision) .search-hit-icon{color:#fff!important;text-shadow:none!important}
html:not(.night-vision) .object-icon-img,html:not(.night-vision) .zodiac-icon-img,html:not(.night-vision) .legend-icon-img,html:not(.night-vision) .search-hit-icon-img{filter:brightness(0) invert(1)!important}
html.night-vision .object-symbol,html.night-vision .zodiac-symbol,html.night-vision .sky-legend-item>span,html.night-vision .search-hit-icon{color:#ff2020!important}
html.night-vision .object-icon-img,html.night-vision .zodiac-icon-img,html.night-vision .legend-icon-img,html.night-vision .search-hit-icon-img{filter:brightness(0) saturate(100%) invert(17%) sepia(98%) saturate(6904%) hue-rotate(355deg) brightness(113%) contrast(121%)!important}
/* Light-theme SVG/map assets pass through the page-level invert filter: use inverse source colours. */
html:not(.night-vision) .sky-object .sky-symbol-text,html:not(.night-vision) .sky-object .sky-object-name{fill:#fff!important;stroke:#000!important}
html:not(.night-vision) .sky-icon-image{filter:brightness(0) invert(1)!important}
html:not(.night-vision) .track-icon,html:not(.night-vision) .iss-orbit-icon,html:not(.night-vision) .finder-center{color:#fff!important;text-shadow:none!important}
html.night-vision .track-icon,html.night-vision .iss-orbit-icon,html.night-vision .finder-center{color:#ff2020!important}

/* 1.3.19 — help, legal pages and mobile detail actions. */
.help-modal{width:min(920px,calc(100vw - 24px));max-height:min(90vh,980px)}
.help-body{padding:18px;display:grid;gap:16px}
.help-intro,.help-note{border:1px solid var(--line);background:#061522;padding:15px 16px;line-height:1.6;color:var(--text)}
.help-intro{border-left:3px solid var(--cyan)}
.help-note{border-left:3px solid var(--amber);color:var(--muted)}
.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.help-grid section{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start;border:1px solid var(--line);background:#04101a;padding:14px;min-height:144px}
.help-grid section>b{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line2);color:var(--cyan);font:900 11px/1 var(--mono);letter-spacing:.08em;background:#02090e}
.help-grid h3{margin:1px 0 6px;font:900 14px/1.15 var(--mono);letter-spacing:.03em;color:var(--text)}
.help-grid p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
html.night-vision .help-intro,html.night-vision .help-note,html.night-vision .help-grid section,html.night-vision .help-grid section>b{background:#000!important}

.legal-page{min-height:100vh}
.legal-topbar{position:sticky}
.legal-home-btn{display:grid;place-items:center;text-decoration:none;font:900 20px/1 var(--mono)}
.legal-shell-wide{padding:clamp(18px,4vw,54px) 18px 60px;background:transparent;display:grid;justify-items:stretch;max-width:1120px;margin:0 auto;min-height:auto}
.legal-nav{width:100%;display:flex;justify-content:flex-end;gap:8px}
.legal-nav .support-button{min-height:38px;display:inline-flex;align-items:center;padding:0 12px;text-decoration:none;font:800 9px/1 var(--mono);letter-spacing:.09em;border:1px solid var(--line)}
.legal-card-wide{width:100%;max-width:none;padding:0;overflow:hidden;background:linear-gradient(180deg,rgba(4,14,23,.98),rgba(1,6,10,.99))}
.legal-hero{padding:clamp(24px,5vw,48px);border-bottom:1px solid var(--line);background:radial-gradient(circle at 80% 0,rgba(116,215,255,.09),transparent 40%)}
.legal-card .legal-hero h1{margin:8px 0 10px;font:900 clamp(34px,6vw,64px)/.98 var(--mono);letter-spacing:-.025em}
.legal-hero p{margin:0!important;font-size:15px;color:var(--muted)!important}
.privacy-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.privacy-summary>div{background:#030d16;padding:16px 18px}
.privacy-summary b{display:block;color:var(--cyan);font:900 11px/1 var(--mono);letter-spacing:.1em}
.privacy-summary span{display:block;margin-top:6px;color:var(--muted);font-size:11px}
.legal-section{display:grid;grid-template-columns:54px 1fr;gap:22px;padding:25px clamp(22px,5vw,48px);border-bottom:1px solid var(--line);align-items:start}
.legal-section:last-of-type{border-bottom:0}
.legal-number{display:grid;place-items:center;width:44px;height:34px;border:1px solid var(--line2);color:var(--cyan);font:900 10px/1 var(--mono);letter-spacing:.08em}
.legal-card .legal-section h2{margin:1px 0 10px;color:var(--text);font:900 18px/1.2 var(--mono);letter-spacing:.015em}
.legal-card .legal-section p{max-width:80ch;margin:8px 0;color:var(--muted);line-height:1.68}
.legal-card .legal-section strong{color:var(--text)}
.legal-card .legal-section a{color:var(--cyan)}
.legal-card .legal-section ul{max-width:80ch;margin:8px 0;padding-left:20px;color:var(--muted)}
.legal-card .legal-section li{padding:3px 0;line-height:1.6}
.legal-primary{background:linear-gradient(90deg,rgba(116,215,255,.055),transparent 55%)}
.legal-warning{background:linear-gradient(90deg,rgba(255,180,80,.06),transparent 55%)}
.legal-warning .legal-number{color:var(--amber);border-color:var(--amber)}
.legal-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.legal-data-grid>div{border:1px solid var(--line);background:#030d16;padding:13px}
.legal-data-grid b{display:block;color:var(--text);font:900 11px/1.2 var(--mono)}
.legal-data-grid span{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.5}
.legal-card-wide .legal-date{margin:0!important;padding:18px clamp(22px,5vw,48px);display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);color:var(--muted);font:700 9px/1.3 var(--mono);letter-spacing:.08em}
html.night-vision .legal-card-wide,html.night-vision .legal-hero,html.night-vision .privacy-summary>div,html.night-vision .legal-data-grid>div{background:#000!important}

@media(max-width:760px){
  .info-modal .info-actions .btn,.info-modal .info-actions a.btn{width:100%;flex:0 0 auto;justify-content:center;text-align:center;display:flex;align-items:center}
  .help-grid{grid-template-columns:1fr}
  .help-grid section{min-height:0}
  .legal-shell-wide{padding:14px 10px 34px}
  .legal-nav{justify-content:stretch}.legal-nav .support-button{flex:1;justify-content:center}
  .privacy-summary{grid-template-columns:1fr}
  .legal-section{grid-template-columns:38px 1fr;gap:13px;padding:20px 17px}
  .legal-number{width:36px;height:30px}
  .legal-data-grid{grid-template-columns:1fr}
  .legal-card-wide .legal-date{flex-direction:column}
}

/* 1.3.19: keep sky-map legend cards aligned to a clean responsive grid. */
.sky-map-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.sky-map-legend .sky-legend-item{width:100%;min-width:0;height:100%;margin:0}
@media(max-width:540px){.sky-map-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:350px){.sky-map-legend{grid-template-columns:1fr}}

/* 1.3.21: mobile sky controls, compass calibration, finder north lock and constellation sketches. */
.modal-head-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.modal-head-actions .icon-btn{flex:0 0 auto}
.quick-design-toggle.active{border-color:var(--cyan);background:#12314a;color:#fff}html.night-vision .quick-design-toggle.active{background:#350000!important;border-color:#ff2020!important}
.sky-map-toolbar{align-items:stretch}.sky-search-wrap{align-self:start}.map-filter-chips{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;flex:1 1 430px;align-items:stretch}.map-chip{width:100%;min-width:0;min-height:38px;height:100%;white-space:normal;line-height:1.25;padding:7px 9px}.sky-search-hit:disabled,.sky-search-hit.is-not-visible{opacity:.46;cursor:not-allowed}.search-results button:disabled:hover{background:transparent}
.constellation-sketch{border:1px solid var(--line);background:var(--panel2);color:var(--cyan);padding:10px 12px;border-radius:4px}.constellation-sketch[hidden]{display:none!important}.constellation-sketch svg{display:block;width:100%;height:auto;max-height:190px;color:inherit}.constellation-sketch .object-sketch-mask{display:block;width:100%;aspect-ratio:100/74;max-height:190px;background:currentColor;-webkit-mask-image:var(--sketch-image);mask-image:var(--sketch-image);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.constellation-sketch line{stroke:currentColor;stroke-width:1.7;stroke-linecap:round;opacity:.72}.constellation-sketch circle{fill:currentColor;filter:drop-shadow(0 0 2px currentColor)}.constellation-sketch small{display:block;margin-top:5px;color:var(--muted);font:800 8px/1.2 var(--mono);letter-spacing:.12em;text-align:center}.constellation-sketch-info{margin:0 18px 12px}.finder-side-stack{display:grid;gap:16px;width:min(440px,34vw);align-items:center}.finder-constellation-sketch{width:100%;padding:11px 14px}.finder-constellation-sketch svg{max-height:210px}.finder-modal .finder-side-stack .tilt-gauge{width:100%!important}.finder-north-lock{font:900 16px/1 var(--mono)!important}.finder-north-lock.is-latched{background:var(--cyan)!important;color:var(--bg)!important;border-color:var(--cyan)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--cyan) 22%,transparent)!important}html.night-vision .finder-north-lock.is-latched{background:#ff2020!important;color:#000!important;border-color:#ff2020!important}
.calibration-progress{margin-top:12px;border:1px solid var(--line);background:var(--panel2);padding:12px}.calibration-progress-track{height:8px;border:1px solid var(--line2);background:var(--bg);overflow:hidden}.calibration-progress-track i{display:block;width:0;height:100%;background:var(--cyan);transition:width .18s ease}.calibration-progress-copy{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:9px}.calibration-progress-copy strong{font:900 20px/1 var(--mono)}.calibration-progress-copy span{color:var(--muted);font:800 9px/1 var(--mono);letter-spacing:.1em}.calibration-modal .modal-actions{flex-wrap:wrap}.calibration-modal .modal-actions .btn{min-width:180px}
@media(max-width:760px){.map-filter-chips{grid-template-columns:repeat(2,minmax(0,1fr));flex:0 0 auto;width:100%}.sky-search-wrap{flex:0 0 auto!important;width:100%;max-width:none!important}.finder-modal .finder-side-stack{width:min(88vw,360px)!important;gap:10px}.finder-modal.has-constellation .compass-ring{width:min(72vw,41vh,460px)!important}.finder-modal .finder-constellation-sketch svg{max-height:120px}.finder-modal .modal-head-actions{gap:7px}.finder-modal .finder-north-lock,.finder-modal .close-modal{width:48px!important;height:48px!important}.constellation-sketch-info{margin:0 14px 10px}}
@media(max-width:560px){.sky-map-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}.sky-search-wrap{flex:0 0 auto!important;min-height:0!important;height:auto!important}.map-filter-chips{grid-template-columns:repeat(2,minmax(0,1fr));flex:0 0 auto!important}.map-chip{min-height:42px}.calibration-modal .modal-actions{display:grid!important;grid-template-columns:1fr!important}.calibration-modal .modal-actions .btn{width:100%;min-width:0}}
@media(max-width:350px){.map-filter-chips{grid-template-columns:1fr}}
html:not(.night-vision) .constellation-sketch{color:#fff!important}
html:not(.night-vision) .finder-north-lock.is-latched{background:#fff!important;color:#000!important;border-color:#fff!important}


/* 1.3.27: visible admin fallback previews, per-group asset specs and theme-coloured monochrome sketch masks. */
.calibration-compass-panel{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;margin-top:12px;padding:14px;border:1px solid var(--line);background:var(--panel2);isolation:isolate}
.calibration-compass-wrap>.eyebrow{position:relative;z-index:10;margin-bottom:9px}.calibration-compass{position:relative;z-index:1;width:150px;aspect-ratio:1;border:1px solid var(--line2);border-radius:50%;margin:auto;background:transparent;box-shadow:none}
.calibration-compass:after{content:"";position:absolute;inset:17px;border:1px solid var(--line);border-radius:50%;pointer-events:none}.calibration-compass-dial{position:absolute;z-index:1;inset:0;transition:transform .12s linear}.calibration-compass-dial span{position:absolute;color:var(--text);font:900 12px/1 var(--mono);text-shadow:none}.calibration-compass-dial .cal-north{left:50%;top:12px;transform:translateX(-50%);color:var(--cyan)}.calibration-compass-dial .cal-east{right:13px;top:50%;transform:translateY(-50%)}.calibration-compass-dial .cal-south{left:50%;bottom:12px;transform:translateX(-50%)}.calibration-compass-dial .cal-west{left:13px;top:50%;transform:translateY(-50%)}.calibration-compass-pointer{position:absolute;z-index:3;left:50%;top:-2px;transform:translateX(-50%);color:var(--cyan);font:900 18px/1 var(--mono);filter:drop-shadow(0 0 5px currentColor)}.calibration-compass-center{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line2);border-radius:50%;background:transparent;color:var(--cyan)}
.calibration-compass-copy{position:relative;z-index:10;min-width:0}.calibration-compass-copy>span{display:block;color:var(--muted);font:800 9px/1.2 var(--mono);letter-spacing:.1em}.calibration-compass-copy>strong{display:block;margin-top:8px;color:var(--text);font:900 clamp(20px,4vw,32px)/1.1 var(--mono);overflow-wrap:anywhere}.calibration-compass-copy>small{display:block;margin-top:8px;color:var(--muted);line-height:1.5}
.constellation-sketch .visual-outline{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;opacity:.96}.constellation-sketch .visual-fill{fill:currentColor;fill-opacity:.10;stroke:currentColor;stroke-width:1.55;stroke-linejoin:round}.constellation-sketch .visual-detail{fill:none;stroke:currentColor;stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round;opacity:.58}.constellation-sketch .visual-emphasis{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:1}.constellation-sketch ellipse.visual-emphasis,.constellation-sketch circle.visual-emphasis{fill:currentColor;fill-opacity:.22}.constellation-sketch path.visual-fill{fill-opacity:.13}.constellation-sketch rect.visual-fill{fill-opacity:.11}
@media(max-width:560px){.calibration-compass-panel{grid-template-columns:1fr;text-align:center}.calibration-compass-copy>small{max-width:34ch;margin:8px auto 0}}

/* 1.3.28 — one authoritative visibility control, correct lunar fill and transparent calibration/sketch layers. */
html:not(.night-vision) .sky-object.stars,html.night-vision .sky-object.stars{opacity:1!important}
html:not(.night-vision) body .moon-disc,html.night-vision body .moon-disc{background:#000!important}
html:not(.night-vision) body .moon-disc span{background:#f4f4f4!important}
html.night-vision body .moon-disc span{background:#ff3030!important}
.moon-disc span{top:0!important;bottom:0!important;height:100%!important}
.constellation-sketch .object-sketch-mask{background-color:currentColor!important;background-image:none!important}
html:not(.night-vision) body .calibration-compass-panel,html:not(.night-vision) body .calibration-compass-wrap,html:not(.night-vision) body .calibration-compass,html:not(.night-vision) body .calibration-compass-dial,html:not(.night-vision) body .calibration-compass-center,html.night-vision body .calibration-compass-panel,html.night-vision body .calibration-compass-wrap,html.night-vision body .calibration-compass,html.night-vision body .calibration-compass-dial,html.night-vision body .calibration-compass-center{background:transparent!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important}

/* 1.3.29 — reliable transparent sketch images, lunar outline and popup finder shortcut. */
.constellation-sketch .object-sketch-image{display:block;width:100%;height:auto;aspect-ratio:100/74;max-height:190px;object-fit:contain;background:transparent!important}
html:not(.night-vision) body .constellation-sketch .object-sketch-image{filter:brightness(0) invert(1)!important;opacity:1!important}
html.night-vision body .constellation-sketch .object-sketch-image{filter:brightness(0) saturate(100%) invert(18%) sepia(97%) saturate(7122%) hue-rotate(358deg) brightness(105%) contrast(118%)!important;opacity:1!important}
html:not(.night-vision) body .moon-disc{border:1px solid #f4f4f4!important}
html.night-vision body .moon-disc{border:1px solid #ff3030!important}
.info-header-finder[hidden]{display:none!important}
.info-header-finder{font:900 22px/1 var(--mono)}

/* 1.3.30 — invert only the light-design lunar fill; outline and night vision stay unchanged. */
html:not(.night-vision) body .moon-disc{background:#f4f4f4!important}
html:not(.night-vision) body .moon-disc span{background:#000!important}

/* Desktop-only fullscreen finder sizing: keep both compass and side stack inside the viewport. */
@media(min-width:821px){
 dialog.finder-modal .finder-stage{grid-template-columns:minmax(0,1.28fr) minmax(250px,.72fr)!important;align-items:center!important;overflow:hidden!important}
 dialog.finder-modal .compass-ring{width:min(68dvh,56vw,700px)!important;max-width:100%!important;max-height:100%!important}
 dialog.finder-modal .finder-side-stack{width:100%!important;max-width:440px!important;max-height:100%!important;min-height:0!important;grid-template-rows:auto auto!important;align-content:center!important;gap:clamp(10px,1.7vh,18px)!important}
 dialog.finder-modal .finder-constellation-sketch{max-height:min(24dvh,190px)!important;overflow:hidden!important;padding:8px 10px!important}
 dialog.finder-modal .finder-constellation-sketch svg,dialog.finder-modal .finder-constellation-sketch .object-sketch-image{max-height:min(20dvh,160px)!important}
 dialog.finder-modal .tilt-gauge{width:100%!important;grid-template-columns:minmax(120px,45%) minmax(0,1fr)!important;align-items:center!important;gap:clamp(12px,2vw,24px)!important}
 dialog.finder-modal .tilt-sky{width:min(100%,250px)!important;justify-self:center!important}
 dialog.finder-modal .tilt-copy{text-align:left!important;min-width:0!important}
 dialog.finder-modal .tilt-copy strong{font-size:clamp(34px,4vw,60px)!important}
}

/* 1.3.31 — black horizon label in both light-design pointing popups only. */
html:not(.night-vision) body .info-modal .tilt-sky:after,
html:not(.night-vision) body .finder-modal .tilt-sky:after{color:#000!important}

/* 1.3.38 — one background-free CSS needle; no child element can form a box. */
.compass-ring .target-bearing{width:0!important;color:var(--cyan)!important;background:transparent!important;background-color:transparent!important;background-image:none!important;border:0!important;border-left:3px solid currentColor!important;filter:none!important;box-shadow:none!important}
.compass-ring .target-bearing::before{content:""!important;position:absolute!important;left:-11px!important;top:-20px!important;width:0!important;height:0!important;border-style:solid!important;border-width:0 10px 20px!important;border-color:transparent transparent currentColor!important;background:transparent!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;filter:none!important}
html:not(.night-vision) body .compass-ring .target-bearing{color:#f4f4f4!important;border-left-color:#f4f4f4!important;background:transparent!important}
html:not(.night-vision) body .compass-ring .target-bearing::before{border-color:transparent transparent #f4f4f4!important;background:transparent!important}
html.night-vision body .compass-ring .target-bearing{color:#ff2020!important;border-left-color:#ff2020!important;background:transparent!important}
html.night-vision body .compass-ring .target-bearing::before{border-color:transparent transparent #ff2020!important;background:transparent!important}

/* Supplied satellite artwork on map, legend and object list. */
.satellite-icon-mask{display:block!important;background:currentColor!important;background-color:currentColor!important;background-image:none!important;-webkit-mask:url("satellite.png") center/contain no-repeat!important;mask:url("satellite.png") center/contain no-repeat!important;filter:none!important}
.object-symbol .satellite-icon-mask{width:38px!important;height:26px!important}
.sky-legend-item .satellite-icon-mask{width:26px!important;height:18px!important}
.search-hit-icon .satellite-icon-mask{width:26px!important;height:18px!important}
html:not(.night-vision) body .satellite-icon-mask{color:#fff!important;background:#fff!important;filter:none!important}
html.night-vision body .satellite-icon-mask{color:#ff2020!important;background:#ff2020!important;filter:none!important}
.sky-satellite-image{pointer-events:none!important;transform-box:fill-box!important;transform-origin:50% 50%!important;transition:transform .14s ease-out,filter .14s ease-out}
html:not(.night-vision) .sky-satellite-image{filter:none!important}
html.night-vision .sky-satellite-image{filter:brightness(0) saturate(100%) invert(17%) sepia(98%) saturate(6904%) hue-rotate(355deg) brightness(113%) contrast(121%)!important}
.sky-object:hover .sky-satellite-image,.sky-object:focus .sky-satellite-image{transform:scale(1.04)}

/* 1.3.39 — grouped next-day events, event icons beside dates, box-free calibration pointer. */
.next-event-mini #nextEventMini{display:grid!important;gap:0;margin-top:6px}
.event-date{display:grid!important;grid-template-columns:56px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:9px!important;align-items:center!important}
.event-date .event-list-icon{grid-column:1!important;grid-row:1/3!important;width:52px!important;height:52px!important;margin:0!important}
.event-date>strong{grid-column:2!important;grid-row:1!important;align-self:end!important}
.event-date>span:last-child{grid-column:2!important;grid-row:2!important;align-self:start!important}
@media(min-width:471px){.event-card{grid-template-columns:190px minmax(0,1fr)!important}}
@media(max-width:470px){.event-card{grid-template-columns:1fr!important}}
.calibration-compass .calibration-compass-pointer{position:absolute!important;z-index:3!important;left:50%!important;top:-2px!important;transform:translateX(-50%)!important;width:0!important;height:0!important;font-size:0!important;line-height:0!important;color:var(--cyan)!important;background:transparent!important;background-color:transparent!important;background-image:none!important;border-style:solid!important;border-width:0 8px 16px!important;border-color:transparent transparent currentColor!important;box-shadow:none!important;filter:none!important}
html:not(.night-vision) body .calibration-compass .calibration-compass-pointer{color:#f4f4f4!important;background:transparent!important;border-color:transparent transparent #f4f4f4!important}
html.night-vision body .calibration-compass .calibration-compass-pointer{color:#ff2020!important;background:transparent!important;border-color:transparent transparent #ff2020!important}

/* 1.3.40 — keep the map counter aligned to the fixed sky disc, not the variable legend. */
.sky-layout{align-items:center!important;column-gap:25px!important;row-gap:0!important}
.sky-map-wrap{grid-column:1;grid-row:1}
.hero-summary{grid-column:2;grid-row:1}
.sky-map-footer{grid-column:1;grid-row:2;min-width:0}
@media(max-width:760px){.sky-map-wrap{grid-column:1;grid-row:1}.sky-map-footer{grid-column:1;grid-row:2}.hero-summary{grid-column:1;grid-row:3;margin-top:25px}}

/* 1.3.41 — every event in the next-day summary opens its own details and shows its date. */
.next-event-button{appearance:none;display:block;width:100%;margin:0;padding:7px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.next-event-button.has-icon{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center}
.next-event-button:first-child{border-top:0;padding-top:2px}
.next-event-button:hover,.next-event-button:focus-visible{padding-left:7px;border-left:2px solid var(--cyan);outline:none}
.next-event-title{font:800 14px/1.25 var(--mono)}
.next-event-mini .next-event-meta{display:block;margin:0;color:var(--muted);font:700 9px/1.3 var(--mono);letter-spacing:.04em}

/* 1.3.44 — render supplied transparent event PNGs directly; no browser-dependent CSS masks. */
.event-icon-mask{display:block!important;object-fit:contain!important;object-position:center!important;background:transparent!important;background-color:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important}
.event-list-icon-mask{width:52px;height:52px;color:inherit}
.next-event-icon{width:24px;height:24px;color:#fff}
.event-search-icon{width:22px;height:22px;color:inherit}
html:not(.night-vision) body img.event-icon-mask{filter:none!important;background:transparent!important;background-color:transparent!important}
html.night-vision body img.event-icon-mask{filter:brightness(0) saturate(100%) invert(17%) sepia(98%) saturate(6904%) hue-rotate(355deg) brightness(113%) contrast(121%)!important;background:transparent!important;background-color:transparent!important}

/* 1.3.45 — remembered collapsible dashboard panels and compact target cards. */
.panel-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.mission-panel-content{display:contents}
.dashboard-grid{align-items:start}
.data-panel-content{min-width:0}
.mission-panel.is-collapsed{padding-bottom:18px}
.data-panel.is-collapsed{padding-bottom:17px}
.subscription-panel.is-collapsed{grid-template-columns:1fr;padding-bottom:24px}
.mission-panel.is-collapsed .section-head,.data-panel.is-collapsed .section-head{margin-bottom:0}
.subscription-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.subscription-title-row .collapse-toggle{margin-left:auto}

.sky-map-explainer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.sky-map-explainer>div{min-width:0}
.sky-map-explainer .collapse-toggle{margin:-1px -2px -1px 8px}
.sky-map-footer.is-collapsed .sky-map-explainer{margin-bottom:7px}
.sky-map-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(166px,1fr));gap:6px;padding:0 14px 7px}
.sky-legend-item{width:100%;grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;min-width:0;min-height:49px;padding:6px 8px}
.sky-legend-item>span{width:24px;grid-row:1/3}
.sky-legend-item .legend-icon-img{width:22px;height:22px}
.sky-legend-item .satellite-icon-mask{width:24px!important;height:17px!important}
.sky-legend-item strong,.sky-legend-item small{min-width:0;overflow:hidden;text-overflow:ellipsis}

.popup-calibration-button{font:900 21px/1 var(--mono)}
.info-modal .modal-head-actions{gap:6px}
.info-modal .modal-head-actions .icon-btn{width:37px;height:37px}

@media(max-width:760px){
  .subscription-panel.is-collapsed{padding-bottom:18px}
  .subscription-title-row{gap:10px}
}
@media(max-width:470px){
  .sky-map-legend{grid-template-columns:1fr}
  .panel-head-actions{gap:6px}
  .panel-head-actions .status-chip{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .info-modal .modal-head{gap:8px}
  .info-modal .modal-head-actions{gap:4px}
  .info-modal .modal-head-actions .icon-btn{width:34px;height:34px;font-size:18px}
}

/* 1.3.46 — keep every collapse control anchored to a stable header position. */
.collapsible-section>.section-title,
.collapsible-section>.section-head.compact{align-items:center}
.subscription-panel{position:relative}
.subscription-title-row{display:block;padding-right:58px}
.subscription-title-row .collapse-toggle{position:absolute;top:24px;right:24px;margin:0}
@media(max-width:760px){
  .subscription-title-row{padding-right:50px}
  .subscription-title-row .collapse-toggle{top:18px;right:18px}
}
