@font-face{font-family:Instrument;src:url('../../assets/fonts/instrument-sans-latin-400-normal.woff2')}@font-face{font-family:Anybody;src:url('../../assets/fonts/anybody-var.woff2')}
:root{--app-accent:#ff8a1f;--orange:#ff9e42;--bg:#0a1018;--panel:#101923;--raised:#192431;--line:#27323f;--muted:#9aa9b9;--font:Instrument,system-ui,sans-serif;--display:Anybody,system-ui,sans-serif;--mono:ui-monospace,Consolas,monospace}html{scroll-padding-top:20px}:root[data-theme=light]{--orange:#a74700;--bg:#f4f2ec;--panel:#fffefa;--raised:#eeeae1;--line:#dcd8ce;--muted:#596575;--fg:#1e2834}button,input,select,textarea{border-radius:7px}button.primary{background:var(--app-accent);color:#1b1008}.app-header{padding:16px 3%;height:74px;gap:12px}.app-header nav a{font-weight:400;font-size:12px;letter-spacing:0}.app-header nav a:before{display:none}.app-header .header-label{margin-right:auto;margin-left:24px;letter-spacing:.13em}.observatory-main{max-width:1800px;margin:auto;padding:38px 3% 24px}.intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:36px}.intro h1{font-size:clamp(32px,3.4vw,60px);letter-spacing:-.055em;line-height:1.12;font-weight:600}.intro h1 em{font-style:normal;color:var(--orange)}.intro>div>p:last-child{margin-top:12px;color:var(--muted);font-size:14px}.eyebrow{font-size:10px;color:var(--orange);letter-spacing:.14em}.atlas-stats{display:flex;gap:28px;border-left:1px solid var(--line);padding-left:28px}.atlas-stats strong{display:block;font:500 25px/1.4 var(--mono);color:var(--fg)}.atlas-stats span{font:10px var(--mono);color:var(--muted);white-space:nowrap}.observatory{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel)}.view-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.view-tabs button{position:relative;border:0;border-right:1px solid var(--line);border-radius:0;text-align:left;padding:17px 23px;background:transparent}.view-tabs button:last-child{border-right:0}.view-tabs button[aria-pressed=true]{background:color-mix(in srgb,var(--app-accent) 8%,var(--panel))}.view-tabs button[aria-pressed=true]:after{content:'';position:absolute;bottom:0;left:20px;right:20px;height:2px;background:var(--app-accent)}.view-tabs span{display:block;font:9px var(--mono);letter-spacing:.12em;color:var(--muted);margin-bottom:7px}.view-tabs strong{font-size:15px;font-weight:600}.view-tabs button[aria-pressed=true] span{color:var(--orange)}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px}.map-column{min-width:0}.map-toolbar{padding:10px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.map-toolbar>button{background:transparent;font-size:11px;min-height:36px;padding:6px 10px}.map-switches{display:flex;gap:15px;align-items:center;margin-left:auto}.map-switches label{display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap}.map-switches input{accent-color:var(--app-accent);width:14px;height:14px}.space-stage{position:relative;height:clamp(440px,57vh,760px);min-height:440px;background:radial-gradient(ellipse at 42% 50%,#111a2c,#050a13 70%);overflow:hidden}.space-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none}.space-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.observatory-label{position:absolute;pointer-events:auto;background:transparent;border:0;min-height:26px;padding:4px 6px;font:11px/1.25 var(--mono);color:#b7c6db;text-shadow:0 1px 6px #000,0 1px 2px #000;white-space:nowrap;transform:translate(-50%,-50%)}.observatory-label:hover,.observatory-label.is-selected{background:#0b1427d9;color:#ffab58;border:1px solid #ff8a1f88}.map-heading{position:absolute;top:24px;left:24px;display:flex;align-items:flex-start;gap:10px;pointer-events:none;color:#f2eee7;max-width:calc(100% - 48px)}.map-heading p{font:9px var(--mono);letter-spacing:.17em;color:#a7b6cb;margin-bottom:7px}.map-heading h2{font:500 clamp(17px,1.5vw,24px)/1.2 var(--display);letter-spacing:-.035em}.live-dot{width:5px;height:5px;border-radius:50%;background:#ff8a1f;box-shadow:0 0 12px #ff8a1f;margin-top:2px}.map-controls{position:absolute;bottom:39px;left:20px;display:flex;gap:5px;z-index:3}.map-controls button{background:#0b1320df;border-color:#314057;color:#d8e2ef;font:10px var(--mono);min-height:36px;padding:7px 11px;backdrop-filter:blur(10px)}.map-controls button[aria-pressed=true]{color:#ffac61;border-color:#ff8a1f}.map-coordinate{position:absolute;bottom:14px;left:23px;right:15px;color:#8191a8;font:9px var(--mono);letter-spacing:.06em;pointer-events:none}.map-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 18px;border-top:1px solid var(--line)}.map-foot p{font-size:11px;color:var(--muted);max-width:600px}.map-foot label{display:grid;grid-template-columns:auto 80px auto;align-items:center;gap:9px;font-size:10px;white-space:nowrap}.map-foot input[type=range]{min-height:26px}.map-foot output{font-size:10px;color:var(--orange)}.quick-objects{display:flex;gap:6px;flex-wrap:wrap;padding:0 18px 13px}.quick-objects button{font-size:11px;min-height:32px;padding:5px 10px;border-radius:30px;background:transparent}.inspector{border-left:1px solid var(--line);padding:22px;min-width:0;display:flex;flex-direction:column;align-items:stretch}.inspector-top{display:flex;align-items:center;justify-content:space-between}.inspector-top p{margin:0}.inspector-top button{background:transparent;border:0;font-size:26px;padding:0;width:38px;color:var(--orange)}.inspector h2{font-size:29px;font-weight:500;letter-spacing:-.04em;margin:11px 0 14px;overflow-wrap:anywhere}.inspector>p{font-size:13px;color:var(--muted);line-height:1.75}.object-readings{display:grid;grid-template-columns:1fr 1fr;gap:17px 12px;margin:22px 0;padding-bottom:20px;border-bottom:1px solid var(--line)}.object-readings dt{font:9px/1.6 var(--mono);color:var(--muted)}.object-readings dd{margin:4px 0 0;font:14px/1.4 var(--font);color:var(--orange);overflow-wrap:anywhere}.object-readings>div:first-child{grid-column:1/-1}.object-readings>div:first-child dd{font-size:23px;letter-spacing:-.02em}.object-facts{padding-left:14px;margin:0 0 20px;color:var(--muted);font-size:12px}.object-facts li{margin-bottom:9px}.object-facts li::marker{color:var(--orange)}.inspector-actions{display:flex;gap:6px;margin-top:auto}.inspector-actions button{font-size:11px;padding:9px;flex:1}#objectSource{font:10px var(--mono);color:var(--muted);margin:15px 0;align-self:flex-start}.units-field{border-top:1px solid var(--line);padding-top:14px}.units-field label{font-size:10px;margin-bottom:5px}.units-field select{font-size:11px;min-height:35px;padding:7px}.inspector .inspector-tip{font-size:10px;line-height:1.6;margin-top:12px}.workspace-status{padding:10px 18px;font:10px/1.5 var(--mono);color:var(--muted);border-top:1px solid var(--line)}.object-browser{position:absolute;z-index:6;top:12px;left:12px;width:min(340px,calc(100% - 24px));max-height:calc(100% - 100px);display:flex;flex-direction:column;padding:15px;background:#101a2bf7;border:1px solid #43506a;border-radius:9px;box-shadow:0 15px 60px #0007;color:#eef3fa;backdrop-filter:blur(18px)}.browser-heading{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:8px}.browser-heading h3{font-size:13px}.browser-heading button{min-height:30px;width:30px;padding:0;background:transparent;border:0;color:#fff;font-size:23px}.object-browser input,.object-browser select{background:#080f1e;color:#eaf1fc;border:1px solid #34435d;border-radius:6px;width:100%;min-height:40px;padding:8px;font-size:13px}.browser-filters{display:flex;align-items:center;gap:10px;margin-top:10px}.browser-filters label{font-size:10px;color:#9aa9bc}.browser-filters select{font-size:11px;min-height:32px}.object-browser>p{font:9px/1.5 var(--mono);color:#b2c0d5;margin:10px 0}.search-results{overflow-y:auto;min-height:0}.search-results button{width:100%;border:0;border-bottom:1px solid #26324a;background:transparent;color:#eaf1fc;border-radius:0;display:flex;justify-content:space-between;align-items:center;padding:11px 4px;text-align:left;font-size:12px}.search-results button small{font:9px var(--mono);color:#9baac2}.search-results button:hover{color:#ffa958}.map-loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:20px;padding:30px;color:#c7d3e6;background:#080e1cdd;z-index:5}.map-loading h3{color:#ffab58}.map-loading p{max-width:380px;font-size:13px}.orbit-loader{width:45px;height:45px;border:1px solid #ff8a1f55;border-top-color:#ff8a1f;border-radius:50%;margin:auto;animation:orbit 1.3s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading h2{font-size:clamp(23px,2.2vw,33px);letter-spacing:-.04em;font-weight:500}.section-heading>p{color:var(--muted);font:10px/1.5 var(--mono)}.section-heading .eyebrow{margin-bottom:8px}.section-intro{font-size:13px;color:var(--muted);margin:14px 0 20px}.learn-section{padding-top:48px}.lesson-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.lesson-card{text-align:left;position:relative;padding:23px 20px;border:1px solid var(--line);background:var(--panel);border-radius:9px;min-height:160px;display:flex;flex-direction:column;align-items:flex-start}.lesson-card:hover{transform:translateY(-2px)}.lesson-card .lesson-number{font:10px var(--mono);color:var(--orange);letter-spacing:.1em;margin-bottom:24px}.lesson-card strong{font:500 17px/1.35 var(--font);margin-bottom:8px}.lesson-card small{font:10px/1.6 var(--font);font-weight:400;color:var(--muted)}.lesson-card .lesson-done{position:absolute;right:16px;top:18px;color:var(--orange);font-size:17px}.panel{padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0}.lesson-workspace{margin-top:16px;max-width:1000px}.lesson-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.lesson-heading h3{font-size:23px}.lesson-heading button{font-size:23px;background:transparent;border:0;align-self:flex-start;padding:0;width:40px}.lesson-workspace>p{font-size:15px;line-height:1.85;max-width:800px;color:var(--muted)}.lesson-workspace>.primary{margin:18px 0}.lesson-workspace fieldset{border:0;border-top:1px solid var(--line);padding:18px 0 0;margin:14px 0}.lesson-workspace legend{font-size:14px;font-weight:600;padding-right:12px}#quizOptions{display:flex;flex-wrap:wrap;gap:8px}#quizOptions button{max-width:100%;font-size:12px;text-align:left}#quizOptions button.correct{border-color:#73c9a1;background:#3b9e6e22}#quizOptions button.incorrect{border-color:var(--orange);background:#ff8a1f15}.lesson-navigation{display:flex;justify-content:space-between;margin-top:22px}.lesson-sources{font-size:10px;color:var(--muted);margin-top:20px}.lesson-sources a{margin-right:14px}.tools-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-top:40px}.tools-grid h2{font-size:26px;letter-spacing:-.03em;font-weight:500}.observer-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.observer-fields label,.notebook label{font-size:11px}.observer-fields input,.observer-fields select{min-height:40px;font-size:12px;width:100%;margin-top:5px;border:1px solid var(--line);color:var(--fg);background:var(--bg);padding:8px}.small-note{font-size:10px!important;color:var(--muted);line-height:1.8!important;margin-top:14px}.altitude-chart svg{width:100%;height:auto;display:block}.altitude-chart{margin-top:15px}#horizonReadout{font-size:12px;color:var(--orange);margin-top:17px}.saved-objects{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0;min-height:40px}.saved-objects p{font-size:12px;color:var(--muted)}.saved-objects button{font-size:11px;min-height:33px}.notebook textarea{margin:7px 0 12px;min-height:120px;font-family:var(--font)}.glossary-section{margin-top:42px}.glossary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px;margin-top:20px}.glossary-grid details{padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.glossary-grid summary{cursor:pointer}.glossary-grid p{margin-top:13px;color:var(--muted);line-height:1.8}.scope-panel{margin-top:32px;border-top:1px solid var(--line);padding-top:20px;font-size:12px;color:var(--muted)}.scope-panel summary{cursor:pointer;color:var(--fg)}.scope-panel p{margin:16px 0;max-width:1100px}.scope-panel a{color:var(--orange)}.comparison{margin-top:20px}.compare-cards{display:flex;gap:20px;margin-top:22px}.compare-cards article{flex:1;min-width:0}.compare-cards h3{font-size:16px}.compare-cards p{font-size:12px;color:var(--muted);margin:7px 0}.compare-cards strong{color:var(--orange);font:17px var(--mono)}.compare-cards .distance-bar{height:5px;margin:12px 0;background:var(--app-accent);min-width:2px;max-width:100%}.comparison-caption{font-size:12px;color:var(--muted);margin-top:16px}.observatory.expanded .map-layout{grid-template-columns:1fr}.observatory.expanded .inspector{display:none}.observatory.expanded .space-stage{height:78vh}.app-footer{font-size:10px}
@media(min-width:1600px){.map-layout{grid-template-columns:minmax(0,1fr) 340px}.inspector{padding:28px}.space-stage{height:640px}}
@media(max-width:1100px){.atlas-stats{gap:17px;padding-left:20px}.atlas-stats strong{font-size:20px}.atlas-stats span{font-size:8px}.map-layout{grid-template-columns:minmax(0,1fr) 260px}.inspector{padding:17px}.map-switches{gap:8px}.map-switches label{font-size:10px}.map-foot{flex-wrap:wrap;gap:5px}.map-foot label{margin-left:auto}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.space-stage{min-height:490px}.map-toolbar{gap:7px;padding-inline:10px}.map-toolbar>button{font-size:10px;padding-inline:7px}}
@media(max-width:800px){.app-header .header-label{display:none}.observatory-main{padding-top:25px}.intro{display:block}.intro h1{font-size:36px}.atlas-stats{border:0;padding:0;margin-top:23px;gap:32px}.atlas-stats span{font-size:9px}.map-layout{grid-template-columns:1fr}.inspector{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.inspector-top,.inspector h2,.inspector>p,.object-facts{grid-column:1/-1}.inspector h2{margin:0 0 12px}.object-readings{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.object-readings>div:first-child{grid-column:auto}.object-readings>div:first-child dd{font-size:17px}.inspector-actions{grid-column:1/-1}.units-field{grid-column:2;grid-row:6/8;border:0;padding-top:0}#objectSource{grid-column:1}.inspector .inspector-tip{grid-column:1/-1;margin-bottom:0}.tools-grid{grid-template-columns:1fr}.glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.view-tabs button{padding:15px}.view-tabs strong{font-size:13px}.view-tabs span{font-size:8px}.section-heading{align-items:flex-start}.space-stage{height:520px;min-height:440px}.learn-section{padding-top:32px}}
@media(max-width:480px){.app-header{height:65px;padding:10px 15px}.app-header>a{font-size:10px}.app-header nav a{font-size:10px}.app-header nav{gap:7px}.observatory-main{padding:25px 12px}.intro h1{font-size:29px}.intro>div>p:last-child{font-size:12px;max-width:290px}.intro .eyebrow{font-size:9px}.intro{margin-bottom:25px}.atlas-stats{gap:25px}.atlas-stats span{font-size:8px}.view-tabs button{padding:14px 7px}.view-tabs span{font-size:6.7px;letter-spacing:.02em}.view-tabs strong{font-size:11px}.view-tabs button[aria-pressed=true]:after{left:8px;right:8px}.map-toolbar{flex-wrap:wrap;gap:5px}.map-switches{gap:11px;margin-left:0;order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:9px;margin-top:4px}.map-toolbar>button:last-child{margin-left:auto}.map-heading{left:17px;top:20px}.map-heading p{font-size:8px}.map-heading h2{font-size:17px}.space-stage{height:440px}.map-controls{left:12px;gap:4px}.map-controls button{font-size:8px;padding-inline:8px;min-height:36px}.map-coordinate{font-size:7px;left:15px}.map-foot{padding:11px 13px}.map-foot p{font-size:10px}.quick-objects{padding-inline:12px;gap:5px}.quick-objects button{font-size:10px}.inspector{padding:19px 16px;gap:0 12px}.object-readings{gap:12px}.object-readings dt{font-size:8px}.object-readings dd{font-size:12px}.object-readings>div:first-child dd{font-size:15px}.lesson-grid{gap:8px}.lesson-card{padding:16px 13px;min-height:180px}.lesson-card strong{font-size:15px}.lesson-card small{font-size:10px}.lesson-card .lesson-number{margin-bottom:17px}.section-heading{display:block}.section-heading>p{margin-top:12px}.panel{padding:20px 16px}.observer-fields{gap:10px}.observer-fields input,.observer-fields select{font-size:11px}.glossary-grid{gap:0 18px}.glossary-grid details{font-size:11px}.comparison .section-heading button{margin-top:12px}.compare-cards{gap:15px}.compare-cards strong{font-size:14px}.compare-cards h3{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.lesson-card:hover{transform:none}}
.object-photo{margin:18px 0 0;grid-column:1/-1}.object-photo img{display:block;width:100%;height:150px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.object-photo figcaption{font:8px/1.6 var(--mono);color:var(--muted);margin-top:6px}.inspector:has(.object-photo:not([hidden])) .object-readings{margin-top:16px}@media(max-width:800px){.units-field{grid-row:auto}.object-photo img{height:200px}}
.object-photo img{object-fit:contain;background:#03070d}.object-photo figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* Touch devices and phones: 44px targets and 16px editable text (prevents iOS focus zoom). */
@media (pointer:coarse),(max-width:800px){
.map-toolbar>button,.map-controls button,.quick-objects button,.saved-objects button,.inspector-actions button,.lesson-navigation button,#quizOptions button,.observer-fields input,.observer-fields select,.button-row button,.units-field select,.browser-filters select,.object-browser input,.comparison .section-heading button{min-height:44px}
.map-controls button#zoomIn,.map-controls button#zoomOut{min-width:44px}
.map-switches label{min-height:44px;padding-inline:4px;cursor:pointer}.map-switches input{width:20px;height:20px}
.inspector-top button,.browser-heading button,.lesson-heading button{min-width:44px;min-height:44px}
.observer-fields input,.observer-fields select,.units-field select,.object-browser input,.object-browser select,.notebook textarea{font-size:16px!important}
.map-foot input[type=range]{min-height:44px}.map-foot label{grid-template-columns:auto minmax(90px,1fr) auto}
.glossary-grid details{padding:0}.glossary-grid summary,.scope-panel summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 0}.glossary-grid details[open]>p{padding-bottom:14px}
#objectSource{display:inline-flex;align-items:center;min-height:44px;margin:4px 0}
.map-coordinate{bottom:8px}.map-controls{bottom:30px}
}
@media (max-width:480px){.map-controls button{padding-inline:7px}.units-field select{width:100%;font-size:16px}}

/* Touch: grow the floating labels' tap area to 44px without changing how they look (audit 2026-10-21) */
@media (pointer:coarse){.observatory-label::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;min-width:44px;transform:translateY(-50%)}}
