:root{color-scheme:dark;--bg:#080d17;--panel:#101824;--line:#ffffff16;--muted:#8b9aaf;--text:#e8edf3;--accent:#eac08b;--blue:#a6c8df}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#121b29db;border-radius:7px;min-height:42px;padding:9px 14px;transition:background .18s,border-color .18s}button:hover{background:#233044db;border-color:#73849c}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button.active{background:#29313cdb;color:var(--accent);border-color:#eac08b55}button[aria-pressed=true]{color:var(--accent)}button:disabled{opacity:.45;cursor:default}a{color:var(--blue)}[hidden]{display:none!important}#app{min-height:620px;overflow:hidden;position:relative}#space{position:absolute;inset:80px 0 105px 0;touch-action:none}#space canvas{width:100%;height:100%;display:block}.vignette{position:absolute;inset:80px 0 105px;pointer-events:none;background:linear-gradient(90deg,#080d1744,transparent 30%,transparent 75%,#080d1766)}header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);position:relative;z-index:5;background:#080d17e8}.brand{font-size:20px;letter-spacing:4px;display:flex;align-items:center;color:var(--text);text-decoration:none;gap:12px}.brandmark{font-size:36px;font-weight:normal;color:var(--accent);line-height:1}.edition{font-size:8px;letter-spacing:2px;color:var(--muted);border-left:1px solid #ffffff26;padding-left:17px;margin-left:8px;max-width:110px;line-height:1.8}nav{display:flex;gap:6px}nav button{background:transparent;border-color:transparent;padding:12px 23px}nav button.active{background:transparent;border-color:transparent;color:var(--accent)}nav button.active:after{content:'';display:block;height:2px;background:var(--accent);position:relative;top:22px}.icon{border-radius:50%;padding:0;min-width:34px;min-height:34px;background:transparent;font-size:19px}#planetnav{position:absolute;left:16px;top:106px;bottom:130px;width:77px;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:1px;z-index:4}#planetnav button{border-color:transparent;background:transparent;padding:6px 0;min-height:55px;font-size:10px;color:var(--muted);flex-shrink:0}#planetnav button.active{background:#ffffff08;color:var(--text);border-left:2px solid var(--accent);border-radius:0 8px 8px 0}.mini{display:block;width:25px;height:25px;border-radius:50%;background-size:auto 100%;box-shadow:inset -7px -3px 7px #0009;margin:0 auto 5px}main{pointer-events:none;position:absolute;inset:113px 360px 130px 120px}.view-heading h1,.section-title h1{font-family:var(--ui-font);font-weight:400;letter-spacing:-1.5px;line-height:1.08;font-size:48px;margin:16px 0;color:#f2f1ed}em{font-weight:400;color:var(--accent)}.eyebrow{letter-spacing:2px;font-size:9px;font-weight:600;color:var(--muted)}.view-heading p,.section-title p{color:var(--muted);font-size:13px;line-height:1.7}.view-heading{max-width:420px}#mapTools{position:absolute;bottom:50px;left:0;pointer-events:auto}.segmented{display:inline-flex;border:1px solid #ffffff20;border-radius:8px;background:#0d1421ee;padding:4px;gap:4px}.segmented button{border:0;background:none;font-size:11px}.segmented button.active{background:#28313cdb}.mapOptions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.mapOptions button{font-size:10px;background:#101825c9;min-height:34px;padding:7px 10px}#sceneNote{position:absolute;bottom:0;font-size:10px;color:#b3bdcc;line-height:1.7}.tiny-dot{display:inline-block;border:1px solid var(--accent);border-radius:50%;width:6px;height:6px;margin-right:7px}#interactionHint{display:block;color:#6e7d91;font-size:10px}.planet-label{position:absolute;z-index:2;background:transparent!important;border:0!important;padding:6px 8px;font-size:10px;min-height:30px;color:#bac6d8;text-shadow:0 2px 5px black;transform:translate(-50%,0);pointer-events:auto;white-space:nowrap}.planet-label.selected{color:var(--accent)}#labels{position:absolute;inset:80px 0 105px;pointer-events:none;overflow:hidden}#card{position:absolute;right:24px;top:105px;bottom:129px;width:298px;background:linear-gradient(160deg,#142032e8,#0d1420f5);border:1px solid #ffffff18;border-radius:14px;overflow:auto;scrollbar-width:thin;z-index:4;box-shadow:0 20px 70px #0003}.cardtop{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-size:9px;color:var(--muted);letter-spacing:1.6px}.cardtop .icon{min-height:26px;min-width:26px;font-size:17px}#portrait{height:122px;width:122px;border-radius:50%;margin:2px auto 18px;background-size:auto 100%;box-shadow:inset -31px -8px 30px #000b,0 0 50px #4d7b9b15}.cardcontent{padding:0 22px 22px}.cardcontent h2{font:40px var(--ui-font);letter-spacing:-1px;margin:9px 0}.tag{color:var(--accent);font-size:12px;margin:0 0 15px}#bodyText{color:#a9b6c9;font-size:12px;line-height:1.8}.stats{display:grid;grid-template-columns:1fr 1fr;gap:17px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;margin:20px 0}.stat span{font-size:9px;display:block;color:var(--muted);margin-bottom:6px}.stat strong{font-size:13px;font-weight:400}.insight span{font-size:8px;letter-spacing:1.5px;color:var(--accent)}.insight p{font-size:11px;line-height:1.7;color:#abb8c9}.primary{background:#d8b88fdb;color:#152030;width:100%;font-size:11px;border:0;display:flex;justify-content:space-between;margin-top:18px}.primary:hover{background:#efcfa7db}#zoomTools{position:absolute;right:341px;bottom:153px;display:flex;flex-direction:column;gap:6px;z-index:4}#zoomTools button{width:38px;padding:0;font-size:20px;background:#0d1421cc}:is(#timeline,.exploration-clock){position:absolute;bottom:0;left:0;right:0;height:105px;z-index:5;border-top:1px solid var(--line);background:#0c121eea;display:flex;justify-content:space-between;align-items:center;padding:20px 32px;gap:20px}.time-label>div{display:flex;align-items:center;gap:7px;margin-top:8px}#date{background:none;border:0;color:var(--text);font-size:20px;padding:0;width:165px}.utc{font-size:9px;color:var(--muted)}.time-controls{display:flex;align-items:center;gap:10px}.time-controls button{font-size:11px;background:transparent}.time-controls .play{border:1px solid #dfc29477;background:#eac08b19;color:var(--accent);width:48px;height:48px;font-size:17px}select{background:#141d2b;border:1px solid #ffffff1b;color:#c2ccdb;border-radius:6px;padding:12px;font-size:11px}.timeline-right{text-align:right}#today{background:none;border:0;font-size:11px;min-height:30px}#offline{display:block;font-size:9px;color:var(--muted);margin-top:5px}#offline i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#d3b36f;margin-right:5px}#offline.ready i{background:#8cc7aa}#loading{position:absolute;inset:80px 0 105px;z-index:9;display:grid;place-items:center;background:#080d17;color:var(--accent)}#toast{position:absolute;bottom:123px;left:50%;transform:translateX(-50%);padding:12px 18px;border:1px solid #ffffff20;background:#263244;border-radius:8px;z-index:20;display:none;max-width:80%;font-size:12px}#learning,#comparison{position:absolute;inset:80px 0 105px;background:radial-gradient(ellipse at 25% 35%,#142237 0%,#080d17 70%);z-index:6;overflow:auto;padding:38px 6vw}.section-title h1{font-size:43px;margin:12px 0}.lesson-tabs{display:flex;gap:10px;margin-top:25px}.lesson-tabs button{background:transparent;font-size:12px;padding:12px 20px}.lesson-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:45px;margin-top:25px;align-items:center}.experiment{background:#080f1aaa;border:1px solid var(--line);border-radius:16px;padding:18px}#lessonCanvas{width:100%;height:255px;display:block}#experimentCaption{text-align:center;font-size:11px;color:var(--accent);height:25px}.slider-wrap{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:18px;font-size:10px;color:var(--muted)}input[type=range]{accent-color:var(--accent);flex:1;min-width:50px}output{min-width:42px;color:var(--text)}#lessonText h2{font:30px var(--ui-font);line-height:1.2}#lessonText p{font-size:13px;color:#a5b4c8;line-height:1.9}#lessonText .lesson-fact{border-left:2px solid var(--accent);padding:10px 18px;background:#eac08b06;color:var(--accent)}#lessonText small{font-size:10px;line-height:1.6;color:#7e8ea4;display:block}#sizeComparison{display:flex;gap:25px;align-items:flex-end;min-height:255px;padding:25px 10px}.size-body{flex-shrink:0;text-align:center;font-size:11px;color:#c0ccdc}.size-globe{border-radius:50%;background-size:auto 100%;box-shadow:inset -12px -5px 20px #000a;margin:0 auto 20px}.size-body small{display:block;color:var(--muted);font-size:9px;margin-top:8px}.compare-note{border-top:1px solid var(--line);padding-top:25px;margin-top:20px;font-size:13px}.compare-note strong{color:var(--accent);font-weight:400}.compare-note p{color:var(--muted);line-height:1.8}.compare-note label{font-size:11px}dialog{color:var(--text);background:#111c2b;border:1px solid #ffffff29;border-radius:16px;padding:35px;max-width:660px;width:90%;max-height:85dvh}dialog::backdrop{background:#02060bd9;backdrop-filter:blur(6px)}#closeAbout{float:right}dialog h2{font:30px var(--ui-font)}dialog h3{font-size:14px;color:var(--accent);margin-top:25px}dialog p,dialog li{font-size:12px;line-height:1.8;color:#b1bfd1}dialog li{margin-bottom:7px}.no-card main{right:70px}.no-card #zoomTools{right:25px}.detail .view-heading h1{font-size:40px}.detail #mapTools .segmented{display:none}
@media(min-height:900px){#portrait{height:155px;width:155px;margin-top:10px;margin-bottom:25px}.cardcontent{padding:0 24px 24px}.cardcontent h2{font-size:46px}#bodyText{font-size:13px}}
@media(max-width:1100px){header{padding:0 20px}.edition{display:none}main{left:105px;right:300px}#card{width:260px;right:18px}.view-heading h1{font-size:38px}#zoomTools{right:293px}.cardcontent{padding:0 17px 18px}#portrait{width:95px;height:95px}:is(#timeline,.exploration-clock){padding:18px 22px}.time-controls{gap:5px}.lesson-layout{gap:25px}#learning,#comparison{padding:25px 4vw}.section-title h1{font-size:36px}#lessonCanvas{height:220px}}
@media(max-width:760px){#app{min-height:540px}header{height:64px;padding:0 14px}.brand{font-size:15px;letter-spacing:2px;gap:6px}.brandmark{font-size:27px}nav{gap:0}nav button{font-size:10px;padding:10px 8px}nav button.active:after{top:17px}header>.icon{min-width:28px;min-height:28px;font-size:15px}#space,#labels,.vignette{top:64px;bottom:161px}#planetnav{top:auto;bottom:103px;left:0;right:0;width:auto;height:58px;flex-direction:row;background:#0c1422e8;border-top:1px solid var(--line);padding:2px 8px;gap:3px;overflow-x:auto;overflow-y:hidden}#planetnav button{min-width:60px;min-height:52px;font-size:9px;padding:3px}.mini{width:22px;height:22px;margin-bottom:3px}main{inset:88px 16px 177px 22px}.view-heading h1{font-size:32px;margin:10px 0}.view-heading p{font-size:11px}.eyebrow{font-size:8px;letter-spacing:1.4px}.view-heading{max-width:270px}#mapTools{bottom:43px}.mapOptions{gap:4px}.mapOptions button{font-size:9px;padding:6px 8px}.segmented button{min-height:30px;font-size:10px}#sceneNote{font-size:9px}#interactionHint{font-size:9px}#card{top:auto;bottom:176px;right:12px;width:230px;max-height:48dvh;border-radius:12px;box-shadow:0 10px 40px black}#portrait{width:65px;height:65px;margin:0 auto 10px}.cardtop{padding:8px 13px}.cardcontent h2{font-size:29px}.tag{font-size:10px}#bodyText{font-size:11px}.stats{gap:12px;padding:12px 0;margin:12px 0}.stat strong{font-size:11px}.insight{display:none}.primary{font-size:10px;margin-top:12px}.cardcontent{padding:0 14px 14px}#bodyIndex{display:none}#zoomTools{right:15px;bottom:230px}.no-card #zoomTools{right:15px}:is(#timeline,.exploration-clock){height:103px;padding:12px 16px;gap:8px;flex-wrap:wrap}.time-label .eyebrow{font-size:7px}#date{font-size:14px;width:132px}.time-controls{gap:4px}.time-controls button{font-size:9px;padding:6px;min-height:33px}.time-controls .play{width:36px;height:36px;font-size:13px}.time-controls select{font-size:9px;padding:8px;width:90px}.timeline-right{display:flex;align-items:center;justify-content:space-between;flex-direction:row-reverse;width:100%}#today{padding:0;min-height:20px;font-size:9px}#offline{margin:0;font-size:8px}#learning,#comparison{inset:64px 0 103px;padding:24px 18px}.section-title h1{font-size:31px}.lesson-tabs{gap:4px;margin-top:18px}.lesson-tabs button{font-size:10px;padding:8px;flex:1}.lesson-layout{display:flex;flex-direction:column;gap:12px;margin-top:15px}.experiment{width:100%;padding:12px}#lessonCanvas{height:205px}#lessonText h2{font-size:25px}#lessonText p{font-size:12px}#sizeComparison{gap:20px}#loading{inset:64px 0 103px}.slider-wrap{gap:8px;font-size:9px}#toast{bottom:170px}.detail .view-heading h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
#skyPanel{position:absolute;inset:80px 0 105px;z-index:7;background:#080d17;overflow:hidden}#skyCanvas{width:100%;height:100%;display:block;touch-action:none}.sky-title{position:absolute;top:35px;left:35px;pointer-events:none}.sky-title h1{font:40px/1.15 var(--ui-font);margin:14px 0;letter-spacing:-.7px}.sky-title p{color:#a7b8d0}.sky-settings{position:absolute;right:25px;top:25px;bottom:115px;width:260px;padding:20px;background:#0d1521de;border:1px solid #ffffff20;border-radius:12px;overflow:auto;scrollbar-width:thin;backdrop-filter:blur(10px)}.sky-settings label{font-size:10px;color:#9aacc4;display:block;margin-top:13px}.sky-settings select,.sky-settings input[type=number],.sky-settings input[type=time]{display:block;width:100%;margin-top:7px;background:#172334;border:1px solid #ffffff22;padding:10px;color:#dde7f4;border-radius:5px;min-width:0;font:11px Arial}.sky-settings button{font-size:10px;min-height:35px;padding:8px;background:#182539db;margin-top:8px}.sky-settings small{font-size:9px;color:#8192a9;line-height:1.6;display:block;margin-top:12px}.coord-row{display:flex;gap:10px}.coord-row label{flex:1;min-width:0}.sky-shortcuts{display:flex;gap:5px}#sunTimes{font-size:9px;line-height:1.7;color:#c3ad8c}.sky-checks{display:grid;grid-template-columns:1fr 1fr;margin:8px 0}.sky-checks label{font-size:9px;line-height:1.6;display:flex;align-items:center;gap:5px}.sky-checks input{accent-color:#eac08b}.sky-bottom{position:absolute;bottom:20px;left:35px;right:35px;pointer-events:none}.compass,.sky-look{display:flex;align-items:center;gap:8px;pointer-events:auto}.compass button{width:36px;padding:0;min-height:32px;font-size:11px;background:#111d2cbb}.compass span{font-size:10px;color:#a9bbd2;margin-left:7px}.sky-look{margin-top:10px;max-width:580px}.sky-look label{display:flex;align-items:center;gap:10px;color:#99adc8;font-size:10px;flex:1}.sky-look input{width:100px}#sensor{font-size:9px;padding:6px 8px;min-height:30px;background:#111d2cbb}#skyFootnote{font-size:9px;color:#8193ad;margin-bottom:0}.sky-settings-toggle{display:none}
@media(max-width:1100px){nav button{padding-left:13px;padding-right:13px}.sky-settings{width:235px;right:18px;padding:15px}.sky-title{left:24px}.sky-title h1{font-size:32px}.sky-bottom{left:24px;right:24px}.sky-look{max-width:510px}}
@media(max-width:760px){header{padding:0 9px}.brand{font-size:12px;letter-spacing:1.5px;gap:3px}.brandmark{font-size:24px}nav button{font-size:9px;padding:8px 5px}#skyPanel{inset:64px 0 103px}.sky-title{top:22px;left:18px}.sky-title h1{font-size:28px}.sky-title p{font-size:9px;max-width:210px}.sky-title .eyebrow{font-size:7px}.sky-settings{display:none;right:12px;top:65px;bottom:125px;width:245px;z-index:2}.settings-open .sky-settings{display:block}.sky-settings-toggle{display:block;position:absolute;right:12px;top:15px;font-size:10px;padding:8px;min-height:34px;background:#142033dd}.sky-bottom{left:18px;right:18px;bottom:18px}.compass{gap:4px}.compass span{font-size:8px}.compass button{width:31px}.sky-look{gap:10px;flex-wrap:wrap}.sky-look label{font-size:9px;gap:5px}.sky-look input{width:70px}#skyFootnote{font-size:8px;line-height:1.6}}
/* Observatory instruments — restrained motion, readable controls, generous touch targets. */
:root{--glass:linear-gradient(150deg,#182437ed,#0b1421ed)}button{transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}button:active{transform:scale(.96)}header{gap:12px}.instrument-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#ffffff05;border-color:#ffffff1b;font-size:11px;white-space:nowrap}.instrument-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}#journeysButton{margin-left:auto;color:#d7bd99}header nav{margin-left:auto}.sound-console{position:relative;order:3}#soundPanel{position:absolute;right:0;top:55px;width:270px;padding:22px;background:var(--glass);border:1px solid #ffffff24;border-radius:14px;box-shadow:0 20px 70px #0008;z-index:30}#soundPanel p{font:17px/1.4 var(--ui-font);color:#d9e2ee}#soundPanel label{display:flex;align-items:center;gap:10px;font-size:11px;color:#a9bbd2;margin:16px 0}#soundPanel input{accent-color:var(--accent)}#soundPanel input[type=range]{width:130px}#soundPanel small{font-size:10px;line-height:1.7;color:#8b9db4;display:block}#ambientButton{width:100%;font-size:11px;border-color:#d5b98b66;color:var(--accent)}.sounding{color:var(--accent);box-shadow:0 0 25px #eac08b13}:is(#timeline,.exploration-clock){background:linear-gradient(0deg,#0a111df5,#111c2bef);backdrop-filter:blur(20px)}.time-controls{gap:12px;position:relative}.time-controls .play{width:58px;height:58px;border-radius:50%;padding:0;display:grid;place-items:center;border:1px solid #eac08b77;background:radial-gradient(circle at 35% 25%,#394353,#182333 70%);box-shadow:inset 0 0 0 4px #080d1766,0 4px 20px #0004;position:relative}.play svg{width:29px;height:29px;fill:#eac08b;stroke:#eac08b;stroke-linecap:round;stroke-width:2}.play .pause-shape{display:none}.play.running .play-shape{display:none}.play.running .pause-shape{display:block}.play.running{box-shadow:inset 0 0 0 4px #080d1766,0 0 26px #eac08b19}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#timeState{position:absolute;bottom:-14px;left:57px;font-size:8px;letter-spacing:.5px;color:#8293aa;white-space:nowrap}#moonSystem{color:#d8c49d;border-color:#eac08b44;background:#eac08b0b}.moon-entry span{margin-left:6px}#moonMetrics{position:absolute;top:210px;left:0;display:flex;flex-wrap:wrap;gap:22px;max-width:400px;padding:17px 20px;border:1px solid #b5c7e91f;border-radius:11px;background:#0b1523b0;backdrop-filter:blur(10px);pointer-events:auto}#moonMetrics span{display:block;font-size:8px;letter-spacing:1px;color:#8298b6}#moonMetrics strong{display:block;font:22px var(--ui-font);margin-top:8px;color:#d6e7f4}#moonMetrics label{width:100%;font-size:10px;color:#9caec7;display:flex;gap:7px;align-items:center}#moonMetrics input{accent-color:#d3b589}.lunar-view #mapTools .segmented{display:none}#transitionCurtain{position:absolute;inset:80px 0 105px;background:#080d17;opacity:0;pointer-events:none;z-index:3}.scene-arriving #transitionCurtain{animation:arrive 850ms ease-out both}@keyframes arrive{from{opacity:.55}to{opacity:0}}#card{animation:card-in .45s ease-out both}@keyframes card-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#journeysDialog{max-width:820px}#closeJourneys{float:right}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}.journey-grid button{text-align:left;padding:23px;background:linear-gradient(130deg,#20324888,#101a2adb);border-color:#ffffff19;min-height:145px}.journey-grid button:hover{border-color:#eac08b77;background:linear-gradient(130deg,#304358aa,#172336db)}.journey-grid span{font-size:8px;letter-spacing:1.5px;color:#9aacc3;display:block}.journey-grid strong{font:23px var(--ui-font);display:block;color:#e0c8a2;margin:13px 0 9px}.journey-grid small{font-size:11px;color:#a5b6cd;line-height:1.7}.journey-note{margin-bottom:0!important;color:#8b9bb1!important}#leaveFocus{position:absolute;top:20px;right:22px;z-index:25;font-size:11px;background:#111d2caa;backdrop-filter:blur(12px);border-color:#ffffff20;color:#bdcce0}.immersive header,.immersive main,.immersive #card,.immersive #planetnav,.immersive #zoomTools{display:none!important}.immersive #space,.immersive #labels,.immersive .vignette,.immersive #skyPanel{top:0;bottom:105px}.immersive #skyPanel .sky-title,.immersive #skyPanel .sky-settings,.immersive #skySettingsToggle{display:none!important}.immersive #skyPanel .sky-bottom{opacity:.5;transition:opacity .3s}.immersive #skyPanel .sky-bottom:hover{opacity:1}.sky-title h1{font-size:32px}.sky-settings{background:var(--glass)}#lookGround,#lookHorizon{font-size:9px;min-height:32px;padding:6px 10px;background:#101a29c9}
@media(max-width:1100px){.edition{display:none}header{gap:7px;padding:0 17px}.brand{font-size:16px;letter-spacing:2px}header nav button{padding-left:10px;padding-right:10px}#journeysButton{font-size:10px;padding:8px}#focusButton{display:none}#soundButton span{display:none}#soundButton{padding:8px;min-width:36px}}
@media(max-width:760px){header{gap:4px;padding:0 8px}.brand{font-size:12px}.brandmark{font-size:20px}header nav{margin-left:auto}header nav button{font-size:8px;padding:8px 4px}#journeysButton{min-width:32px;font-size:0;padding:5px}#journeysButton span{font-size:20px}#soundButton{min-width:29px;min-height:32px;padding:5px}#soundButton svg{width:17px}header #about{min-width:25px;min-height:25px;font-size:13px}#soundPanel{right:-7px;top:45px;width:260px}.time-controls{gap:5px}.time-controls .play{width:42px;height:42px}.play svg{width:23px;height:23px}#timeState{font-size:7px;left:42px;bottom:-11px}#moonMetrics{top:157px;gap:18px;padding:12px 15px;max-width:285px}#moonMetrics strong{font-size:18px}#moonMetrics span{font-size:7px}.lunar-view .view-heading h1{font-size:28px}.lunar-view #card{max-height:36dvh;width:205px}.journey-grid{grid-template-columns:1fr}.journey-grid button{padding:18px;min-height:125px}.journey-grid strong{font-size:22px}#transitionCurtain{inset:64px 0 161px}.immersive #space,.immersive #labels,.immersive .vignette,.immersive #skyPanel{bottom:103px}#leaveFocus{top:12px;right:12px}#focusButton{display:inline-block;min-width:24px;min-height:24px;font-size:15px}.sky-look{max-width:100%}.sky-look #sensor{display:none}}
@media(prefers-reduced-motion:reduce){.scene-arriving #transitionCurtain,#card{animation:none}button:active{transform:none}}
@media(max-width:760px){header{height:104px;padding-bottom:40px;gap:9px}.brand{font-size:14px;letter-spacing:2px}.brandmark{font-size:26px}header nav{position:absolute;left:0;right:0;bottom:0;height:42px;display:flex;justify-content:center;border-top:1px solid #ffffff0d;background:#0b1421aa}header nav button{font-size:11px;padding:9px 20px}nav button.active:after{top:10px}#journeysButton{margin-left:auto;font-size:10px;padding:7px 10px}#journeysButton span{font-size:14px}#soundButton{min-width:31px}#space,#labels,.vignette{top:104px}main{top:128px}#skyPanel,#learning,#comparison,#loading{top:104px}#transitionCurtain{top:104px}#soundPanel{top:40px}.lunar-view #moonMetrics{top:150px}.immersive #space,.immersive #labels,.immersive .vignette,.immersive #skyPanel{top:0}}
/* One visible action at a time: observation drawer, local clock and quiet scene. */
.sky-settings{display:none;bottom:190px;width:292px;z-index:12;box-shadow:0 25px 90px #0009}.settings-open .sky-settings{display:block}.sky-settings-toggle{display:block;position:absolute;right:25px;top:25px;min-height:40px;padding:10px 15px;background:#0d1826d9;border-color:#ffffff24;border-radius:25px;backdrop-filter:blur(15px);font-size:11px;z-index:13}.sky-settings-toggle span{margin-left:15px;color:#c3aa86}.sky-title h1{display:none}.sky-title{top:30px;left:30px}.sky-title .eyebrow{font-size:8px;letter-spacing:1.5px}.sky-title p{max-width:500px;font-size:11px}.sky-view :is(#timeline,.exploration-clock){display:none}.sky-view #skyPanel{bottom:0}.sky-time-dock{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 40px));border:1px solid #c2d2e126;border-radius:19px;padding:18px 23px 12px;background:linear-gradient(160deg,#152233eb,#0b1422ee);backdrop-filter:blur(24px);box-shadow:0 18px 80px #0007;z-index:8}.clock-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.clock-value{display:flex;align-items:center;gap:15px;margin-top:7px}#clockReadout{font:35px/1 var(--ui-font);color:#e5d3b6;min-width:93px;letter-spacing:-.5px}#localDate{font:11px Arial;background:transparent;color:#aebed3;border:0;width:125px}.clock-actions{display:flex;align-items:center;gap:7px}.clock-actions button{font-size:10px;background:transparent;min-height:35px;border-color:#ffffff12}#skyPlay{border:1px solid #d6b98866;background:#eac08b0d;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;padding:0}#skyPlay svg{width:25px;height:25px;fill:#eac08b;stroke:#eac08b;stroke-width:2}#skyPlay .pause-shape{display:none}#skyPlay.running .play-shape{display:none}#skyPlay.running .pause-shape{display:block}.clock-slider-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#nightSlider{margin:18px 0 4px;height:22px;accent-color:#e2c294}#nightSlider::-webkit-slider-runnable-track{border-radius:4px;background:linear-gradient(90deg,#263653 0%,#4b5979 20%,#c59c69 30%,#bfaf8d 50%,#c4996a 70%,#534363 81%,#263653 100%)}#nightSlider::-webkit-slider-thumb{margin-top:-5px;box-shadow:0 0 18px #ffe1a744}#nightSlider::-moz-range-track{border-radius:4px;background:linear-gradient(90deg,#263653,#ad9271,#263653)}.clock-ticks{display:flex;justify-content:space-between;font-size:8px;color:#7c90ae;letter-spacing:.7px}.clock-hint{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:9px;color:#7c90a9;border-top:1px solid #ffffff0c;padding-top:8px}.clock-hint select{background:transparent;border:0;padding:4px;font-size:9px;color:#adbed2}.advanced-look{border-top:1px solid #ffffff15;margin-top:15px;padding-top:14px}.advanced-look summary{font-size:11px;color:#c4b390;cursor:pointer;min-height:30px}.advanced-look .compass{flex-wrap:wrap}.advanced-look .compass span{width:100%;margin:7px 0}.advanced-look .sky-look{flex-direction:column;align-items:stretch;gap:10px}.advanced-look .sky-look label{margin:0}.advanced-look .sky-look input{width:100%}.advanced-look #sensor{display:block}.drawer-done{width:100%;border-color:#bda47d55!important;color:#dac4a1!important;margin-top:18px!important}#planetPicker{position:absolute;top:111px;left:27px;border-radius:25px;min-height:38px;font-size:11px;background:#101b2cdb;z-index:6;backdrop-filter:blur(10px)}#planetPicker span{margin-left:20px;color:#cbb08b}#planetnav{display:none;top:160px;bottom:auto;max-height:calc(100% - 290px);left:25px;width:210px;gap:4px;padding:10px;background:#101b2cf2;border:1px solid #ffffff24;border-radius:15px;box-shadow:0 20px 70px #0008;z-index:8;backdrop-filter:blur(15px)}.planets-open #planetnav{display:grid}#planetnav button{border-radius:9px;min-height:64px}#planetnav button.active{border-left:0;border:1px solid #eac08b55;border-radius:9px}.sky-view #planetPicker,.immersive #planetPicker{display:none}main{left:32px;top:171px}.view-heading h1{font-size:30px;line-height:1.1;margin:10px 0}.view-heading p{font-size:11px}.view-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.view-heading{max-width:330px}#mapTools{display:flex;flex-direction:column;align-items:flex-start;gap:8px;bottom:49px}#exploreControls{pointer-events:auto;background:#0d1826e8;border:1px solid #ffffff20;border-radius:12px;max-width:380px;padding:0 12px;backdrop-filter:blur(14px)}#exploreControls summary{list-style:none;cursor:pointer;padding:12px 2px;color:#c7d2e2;min-width:150px}#exploreControls summary::-webkit-details-marker{display:none}#exploreControls summary span{float:right;color:#cbb18c}#exploreControls .segmented{margin-top:3px}#exploreControls .mapOptions{margin-bottom:12px}.lunar-view #moonMetrics{top:142px}.lunar-view .view-heading h1{font-size:28px}.immersive #skyPanel .sky-time-dock{opacity:.35;transition:opacity .3s}.immersive #skyPanel .sky-time-dock:hover,.immersive #skyPanel .sky-time-dock:focus-within{opacity:1}
@media(max-width:760px){.sky-view #skyPanel{top:104px;bottom:0}.sky-time-dock{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);padding:15px 17px 10px;border-radius:17px}.clock-value{gap:8px}#clockReadout{font-size:28px;min-width:76px}#localDate{font-size:9px;width:101px}.clock-actions{gap:4px}.clock-actions button{font-size:0;padding:7px;min-width:30px}#clockSunset{font-size:9px}.clock-actions #clockNow{display:none}#skyPlay{width:37px;height:37px}.clock-hint{font-size:8px}.clock-hint select{font-size:8px}.sky-settings-toggle{top:15px;right:14px;font-size:10px;padding:9px 12px}.sky-title{top:70px;left:19px}.sky-title .eyebrow{font-size:7px}.sky-title p{max-width:270px;font-size:9px}.sky-settings{top:65px;right:13px;bottom:185px;width:min(310px,calc(100% - 26px));padding:17px}.settings-open .sky-title{visibility:hidden}#planetPicker{top:122px;left:19px;min-height:34px;font-size:10px}#planetnav{top:164px;left:18px;bottom:auto;width:210px;height:auto;max-height:calc(100% - 295px);flex-direction:initial;overflow:auto}#planetnav button{min-width:0;min-height:64px}.mini{width:27px;height:27px;margin-bottom:6px}main{top:174px;left:22px}.view-heading h1{font-size:26px}.view-heading p{font-size:10px}.lunar-view .view-heading h1{font-size:25px}#moonMetrics{top:145px;max-width:270px}.lunar-view #moonMetrics{top:140px}#mapTools{bottom:44px}#sceneNote{font-size:8px;max-width:280px}#interactionHint{font-size:8px}#exploreControls{max-width:calc(100vw - 45px)}.sky-look #sensor{display:block}.immersive.sky-view #skyPanel{top:0}}
/* Direct exploration, optional side information; navigation never sits at the end of a scroll. */
#sceneActions{position:absolute;left:32px;bottom:143px;z-index:5;display:flex;gap:9px}#sceneActions button{border-radius:24px;font-size:11px;padding:11px 17px;background:#101c2bdb;backdrop-filter:blur(15px);border-color:#ffffff24}#sceneActions #bodyInfo{color:#dfc59e;border-color:#d3b58b44}.detail #mapTools,.lunar-view #mapTools{display:none}.detail .view-heading h1{font-size:28px}.detail .view-heading p{font-size:11px}.detail main{right:70px}#card #inspect{display:none}#card{background:var(--glass);border-radius:17px;width:300px;right:22px;box-shadow:0 15px 90px #0007;backdrop-filter:blur(20px)}#card .cardtop{position:sticky;top:0;z-index:1;background:#121f30f2;padding:14px 20px;border-bottom:1px solid #ffffff10}#card #portrait{width:78px;height:78px;margin:22px auto 16px}#card .cardcontent h2{font-size:34px}#card .stats{padding:14px 0;margin:15px 0}#card .insight{display:block}.immersive #sceneActions{display:none}.lunar-view #sceneActions{bottom:145px}.lunar-view #zoomTools{bottom:155px}
@media(max-width:760px){#sceneActions{left:18px;right:18px;bottom:120px;justify-content:center;gap:7px}#sceneActions button{font-size:10px;padding:10px 14px;min-height:40px}.detail .view-heading h1{font-size:26px}.lunar-view #sceneActions{bottom:120px}#card,.lunar-view #card{top:auto;left:12px;right:12px;width:auto;bottom:174px;max-height:55dvh;display:block;border-radius:18px}.cardcontent{padding:0 20px 20px}#card #portrait{display:none}#card .cardcontent h2{font-size:30px;margin-top:18px}#card #bodyText{font-size:12px;line-height:1.75}#card .stats{grid-template-columns:1fr 1fr}#card .insight p{font-size:11px}.lunar-view #moonMetrics{max-width:245px}.detail #zoomTools,.lunar-view #zoomTools{bottom:177px}}
/* Shared HUD language: etched outlines, restrained brass, large touch targets. */
:root{--hud-ink:#cad8e8;--hud-brass:#d7bc91;--hud-edge:#adc5df28;--hud-bg:#101d2bdc}button,summary,select,input{-webkit-tap-highlight-color:transparent}button{background:linear-gradient(150deg,#24364b38,#0c172638);border-color:var(--hud-edge);color:var(--hud-ink);font-weight:400}button:hover{border-color:#d7bc9170;background:#59708e1a}button.active,button[aria-pressed=true]{background:#d7bc9112;border-color:#d7bc9180;color:#eed8b5}button:active{transform:scale(.975);background:#d7bc911c}button:focus-visible,summary:focus-visible{outline:1px solid #e1cba3;outline-offset:5px}#moonSystem{display:flex;align-items:center;gap:14px;border:0;border-radius:0;background:none;padding:9px 4px;color:var(--hud-brass);font-size:12px;letter-spacing:.5px;box-shadow:none}#moonSystem:before{content:'';display:block;width:27px;height:27px;border:1px solid #d7bc9166;border-radius:50%;background:radial-gradient(circle at 28% 35%,#a6c4d0db 0 17%,transparent 20%),radial-gradient(circle at 78% 69%,#dfd0badb 0 7%,transparent 10%);box-shadow:0 0 24px #dfc39b0a}#moonSystem span{font-size:17px;opacity:.65}#exploreControls{border:0;border-radius:0;background:none;padding:0;box-shadow:none;backdrop-filter:none}#exploreControls summary{padding:12px 4px;color:#9eb1c9;border-bottom:1px solid #a6c2de22;font-size:11px;min-width:158px}#exploreControls[open]{background:var(--hud-bg);border:1px solid var(--hud-edge);border-radius:17px;padding:0 16px 15px;backdrop-filter:blur(20px)}#exploreControls .mapOptions{gap:6px}#exploreControls .mapOptions button{min-height:44px;padding:10px 15px;border-radius:12px;font-size:10px;background:#b7cde606}#planetPicker,.instrument-button,.sky-settings-toggle{border-radius:50px;background:linear-gradient(140deg,#23354b8a,#0d1929c9);border-color:#adc6de26;box-shadow:inset 0 1px 0 #d9e5f008,0 4px 20px #0002}#sceneActions{left:auto;right:27px;bottom:140px;display:grid;grid-template-columns:auto auto;gap:7px;background:#0b1723c9;border:1px solid #c8d9ec20;padding:13px;border-radius:18px;backdrop-filter:blur(18px)}#selectionName{grid-column:1/-1;font:20px var(--ui-font);color:#e5d1b0;padding:0 7px 4px}#sceneActions button{font-size:10px;border-radius:11px;background:#bdd4ec06;box-shadow:none;padding:10px 14px}#sceneActions #viewBody{color:#f0d5aa;border-color:#e0c29966;background:#d4b6890b}#returnSystem{grid-column:1/-1}.detail #selectionName,.lunar-view #selectionName{display:none}#sceneActions #bodyInfo{color:#a9bbd0;border-color:#b5cce022}.lunar-view #sceneActions{bottom:140px}.time-controls button:not(.play){border:0;color:#91a6c0;background:none}.segmented{border-color:#b4cee028;background:#07111c55}.segmented button{border-radius:7px}.segmented button.active{background:#c5ac8520;color:#edcf9f}
/* Explicitly sized range track and thumb: no dependence on WebKit's disappearing native thumb. */
#nightSlider{-webkit-appearance:none;appearance:none;display:block;position:relative;z-index:3;width:100%;height:44px;margin:9px 0 0;padding:0;border:0;border-radius:0;outline:0;background:transparent;touch-action:none;pointer-events:auto;cursor:ew-resize;min-width:0}#nightSlider::-webkit-slider-runnable-track{height:5px;border-radius:5px;background:linear-gradient(90deg,#394e73 0%,#697392 22%,#c5a87b 45%,#d4b98a 55%,#75637e 80%,#394e73 100%)}#nightSlider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;margin-top:-9.5px;border-radius:50%;border:5px solid #172435;background:#f2d5a0;box-shadow:0 0 0 1px #e6c99cbb,0 0 20px #e6c99c33}#nightSlider::-moz-range-track{height:5px;border-radius:5px;background:linear-gradient(90deg,#394e73,#c5a87b,#394e73)}#nightSlider::-moz-range-thumb{width:16px;height:16px;border:4px solid #172435;border-radius:50%;background:#f2d5a0;box-shadow:0 0 0 1px #e6c99cbb}.clock-ticks{margin-top:-3px;pointer-events:none}#nightSlider:focus-visible{outline:1px solid #d7bc91;border-radius:10px;outline-offset:0}
/* Observation pages have bounded tasks, without a nested scrollable widget. */
.sky-settings{width:344px;top:76px;bottom:auto;max-height:none;padding:0;overflow:visible;border:1px solid #acc5df2b;border-radius:22px;background:linear-gradient(155deg,#1a2a3cf5,#0d1928f5);box-shadow:0 24px 100px #0008}.console-head{display:flex;align-items:center;justify-content:space-between;padding:22px 23px 14px}.console-head h2{font:26px var(--ui-font);margin:6px 0 0;color:#e6d6bd}.console-head button{border:0;background:none;width:36px;height:36px;border-radius:50%;padding:0;margin:0;font-size:25px;color:#9db0c8}.console-tabs{display:flex;gap:5px;padding:0 19px 15px;border-bottom:1px solid #b0c6df16}.console-tabs button{flex:1;min-height:38px;font-size:11px;border:0;background:none;color:#869db9;border-radius:9px;margin:0}.console-tabs button[aria-selected=true]{background:#d7bc9110;color:#e1c8a1;box-shadow:inset 0 -1px 0 #d7bc9177}.console-page{padding:20px 22px 12px;min-height:290px}.observer-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.observer-choices button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:78px;margin:0;background:#c8d9ed03;border-color:#a7bfd919;border-radius:13px;font-size:10px}.observer-choices button[aria-pressed=true]{border-color:#d7bc9180;background:#d7bc910b}.observer-globe{width:28px;height:28px;display:block;border-radius:50%;background-size:auto 100%;box-shadow:inset -8px -2px 9px #0009;background-color:#14243c;background-image:radial-gradient(circle at 30% 30%,#fff 0 1px,transparent 2px),radial-gradient(circle at 65% 70%,#e1caa0 0 1px,transparent 2px)}#earthSettings{display:flex;align-items:center;gap:8px;margin-top:16px}.location-button{display:block;width:100%;text-align:left;padding:13px 15px;position:relative;border:1px solid #adc6de22;border-radius:13px;background:#020c1655!important;margin:0!important;min-height:63px!important}.location-button>span{display:block;font-size:7px;letter-spacing:1.2px;color:#7f97b7;margin-bottom:7px}.location-button strong{display:block;font-size:12px;font-weight:400;color:#d9e0eb;padding-right:20px}.location-button i{position:absolute;right:15px;top:23px;color:#d7bc91;font-size:16px;font-style:normal}#earthSettings #locate{width:42px;min-width:42px;min-height:54px;border-radius:12px;margin:0;font-size:24px;border-color:#adc6de22}.console-link{width:100%;font-size:10px!important;border:0!important;color:#b5a17e!important;min-height:35px!important;padding:10px 0!important;background:none!important;text-align:left;margin-top:10px!important}.console-link span{float:right}#coordinateEditor p{font-size:12px;color:#a9b9ce;line-height:1.7}.console-note{font-size:10px!important;color:#7e94af!important;line-height:1.8!important;margin-top:18px}#coordinateEditor input{min-height:48px;background:#020c1666;border-color:#a6bed924;border-radius:10px;padding:12px;color:#d7e2ee;font-size:13px}.console-footer{padding:0 22px 18px}.console-footer .drawer-done{min-height:40px;width:100%;border:0!important;border-top:1px solid #b0c6de1c!important;border-radius:0!important;background:none!important;color:#9bafc8!important;font-size:10px;margin-top:0!important}#lookFields .compass{gap:6px;justify-content:space-between;margin:16px 0 10px}#lookFields .compass button{min-height:35px;width:43px;border-radius:10px;font-size:10px;margin:0}#lookFields .compass span{display:none}#lookFields .console-range{display:flex;align-items:center;gap:12px;flex-direction:row;margin-top:10px;font-size:10px;color:#8da6c3}#lookFields .console-range input{flex:1;width:100px;height:30px;accent-color:#d7bc91}.look-shortcuts{display:flex;gap:7px;margin-top:12px}.look-shortcuts button{flex:1;min-height:37px;border-radius:10px;font-size:9px;margin:0}#lookFields #sensor{display:block;border:0;background:none;margin:14px 0 0;font-size:9px;color:#9aabc2}#skyFields .sky-checks{display:grid;grid-template-columns:1fr;gap:0;margin:0}#skyFields .sky-checks label{display:flex;justify-content:space-between;flex-direction:row-reverse;margin:0;padding:14px 0;border-bottom:1px solid #a6c4de14;font-size:11px;color:#b3c4d9;gap:15px}#skyFields input[type=checkbox]{-webkit-appearance:none;appearance:none;position:relative;width:33px;height:19px;flex:0 0 33px;border-radius:20px;background:#050e19;border:1px solid #8ba8c833;margin:0}#skyFields input[type=checkbox]:before{content:'';position:absolute;width:11px;height:11px;left:3px;top:3px;border-radius:50%;background:#667d9b;transition:transform .18s,background .18s}#skyFields input[type=checkbox]:checked{border-color:#d7bc9170;background:#d7bc9110}#skyFields input[type=checkbox]:checked:before{transform:translateX(14px);background:#d7bc91}.choice-dialog{max-width:530px;padding:0;background:linear-gradient(150deg,#1b2b40,#0a1626);border-color:#afc5dd29;border-radius:23px}.choice-dialog .console-head{position:sticky;top:0;background:#152338;z-index:1}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px 22px 25px}.choice-grid button{min-height:55px;padding:12px;font-size:11px;text-align:left;background:#adc4df04;border-color:#a7bfd91c;border-radius:12px}.choice-dialog::backdrop{background:#02080edb;backdrop-filter:blur(12px)}
@media(max-width:760px){#sceneActions,.lunar-view #sceneActions{left:auto;right:16px;bottom:121px;padding:10px;max-width:calc(100% - 32px)}#selectionName{font-size:19px}.sky-settings{position:absolute;top:auto;bottom:190px;left:12px;right:12px;width:auto;border-radius:22px;max-height:none;overflow:visible}.console-head{padding:17px 20px 11px}.console-head h2{font-size:24px}.console-tabs{padding:0 16px 12px}.console-page{padding:16px 20px 8px;min-height:275px}.observer-choices button{min-height:72px}.console-footer{padding:0 20px 13px}#earthSettings{margin-top:13px}#moonSystem{font-size:11px;gap:10px}.choice-grid{gap:7px}.console-head .eyebrow{font-size:7px}}
@media(max-height:760px){.console-page{min-height:225px;padding-top:12px;padding-bottom:5px}.observer-choices button{min-height:58px;gap:4px;padding:7px}.observer-globe{width:23px;height:23px}.console-head{padding-top:12px;padding-bottom:8px}.console-tabs{padding-bottom:8px}.console-footer{padding-bottom:9px}#earthSettings{margin-top:10px}.location-button{min-height:51px!important;padding:10px 13px}.console-note{margin-top:10px!important}.console-head h2{font-size:22px}.console-tabs button{min-height:32px}#skyFields .sky-checks label{padding:11px 0}}
#zoomTools{display:none!important}.planet-label{touch-action:none}.console-tabs button,.observer-choices button,.choice-grid button{touch-action:manipulation}#skyFields input:disabled{opacity:.3}
/* Instrument surface: app gestures, compact type and persistent controls. */
html,body{height:100%;overflow:hidden;touch-action:manipulation;-webkit-text-size-adjust:100%}#app{min-height:0!important;height:100dvh;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,textarea{user-select:text;-webkit-user-select:text}button,a,input,select{touch-action:manipulation}input,select{font-size:16px!important}button{font-weight:600;letter-spacing:.035em;border-radius:14px;background:linear-gradient(145deg,#253347db,#111b2bdb);box-shadow:inset 0 1px #ffffff10,0 4px 14px #0002}button:active{transform:translateY(1px);background:#415169db}h1,h2,.view-heading h1,.section-title h1,.cardcontent h2,dialog h2{font-family:'Avenir Next','Trebuchet MS',sans-serif!important;font-weight:500!important;letter-spacing:-.04em}em{font-style:normal}#comparison{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:20px 4vw;gap:10px}#comparison .section-title h1{font-size:clamp(22px,3vw,36px)}#comparison .section-title p{margin:6px 0}#sizeComparison{min-height:0;padding:6px 8px;overflow-x:auto;overflow-y:hidden}.size-body{min-width:55px}.size-globe{margin-bottom:12px;flex-shrink:0}.compare-note{margin:0;padding:12px 0 0}.compare-note p{margin:6px 0;font-size:11px}.compare-note label{display:flex;align-items:center;gap:10px;min-height:42px}#skyPanel .sky-time-dock{width:min(590px,calc(100% - 28px));padding:12px 18px}.clock-ticks,.clock-hint>span{display:none}.clock-slider-label{font-size:9px}.time-wheel{margin-top:4px}.wheel-caption{display:flex;justify-content:space-between;font-size:8px;color:#94a7be;letter-spacing:.15em}.wheel-drum{height:40px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;touch-action:none;cursor:ew-resize;border-radius:12px;border:1px solid #8295b74a;background:linear-gradient(90deg,#0a1422,#27364c,#0a1422);padding:0 12px;color:#eac08b}.wheel-drum i{position:absolute;inset:10px 30px;background:repeating-linear-gradient(90deg,#a6bbd977 0 1px,transparent 1px 12px);background-position-x:var(--wheel-offset,0px);mask-image:linear-gradient(90deg,transparent,black 20%,black 80%,transparent)}.wheel-drum b{z-index:1;font-size:28px}.wheel-scales{display:flex;justify-content:center;gap:10px}.wheel-scales button{min-height:28px;font-size:10px;padding:3px 14px;border:0;background:none;box-shadow:none}.wheel-scales button[aria-pressed=true]{background:#eac08b16}.discovery-control{position:absolute;left:24px;top:90px;z-index:5}.discovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.discovery-grid button{text-align:left;padding:18px}.discovery-grid strong,.discovery-grid small{display:block}.discovery-grid small{margin-top:10px;font-size:11px;color:#a5b5cb;line-height:1.5}.sky-effects{display:grid;gap:12px}.sky-effects label{display:flex;align-items:center;justify-content:space-between;gap:12px}.discovery-dialog{max-height:85dvh;overflow:auto}#worldLocation{min-height:36px}#soundPanel{max-height:75dvh}#soundPanel select{width:100%}@media(max-height:700px){#skyPanel .sky-time-dock{padding:8px 14px}.clock-slider-label,#nightSlider{display:none}.clock-value{font-size:20px}.wheel-drum{height:32px}#comparison .section-title p,.compare-note p{display:none}}@media(max-width:760px){.discovery-control{left:14px;top:70px}.discovery-control button{font-size:11px}.sky-title{display:none}.discovery-grid{gap:8px}.discovery-grid button{padding:12px}}
@font-face{font-family:Oxanium;src:url(assets/oxanium.ttf) format('truetype');font-weight:200 800;font-display:swap}body,button,input,select,h1,h2,.view-heading h1,.section-title h1,.cardcontent h2,dialog h2{font-family:Oxanium,'Avenir Next',sans-serif!important}.moon-marker{position:absolute;transform:translateX(-50%);z-index:2;pointer-events:auto;min-height:32px;padding:4px 6px;border:0;background:transparent!important;box-shadow:none;font-size:9px;color:#b3c4d7;text-shadow:0 1px 4px black}.satellite-filter{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px}.clock-value input{max-width:155px}.sky-effects select{max-width:190px}
/* Scene-first controls: translucent HUD fades after three seconds. */
header,.sky-title,.discovery-control,.sky-settings-toggle,.sky-view-tools,.sky-time-dock,:is(#timeline,.exploration-clock),#planetPicker,#sceneActions,main,#leaveFocus{transition:opacity .65s,transform .4s}.hud-idle .planet-label,.hud-idle .moon-marker{opacity:.45}
.sky-view-tools{position:absolute;right:24px;bottom:22px;gap:6px;z-index:10}.sky-view-tools button{background:#122033d9;min-height:44px}.sky-time-dock{transition:opacity .65s,transform .4s}.clock-folded .sky-time-dock{transform:translate(-50%,calc(100% + 35px))}.render-settings{width:min(550px,94vw);overflow:auto}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0}.setting-row input{max-width:220px}.setting-row select{max-width:220px}.render-settings small{display:block;color:#9faec2;line-height:1.6}.discovery-control{display:flex;gap:8px}.sky-time-dock{bottom:78px}#clockReadout,#selectionName{font-family:Oxanium,sans-serif}.sky-view #skyPanel .sky-time-dock{bottom:78px}.sky-view-tools{left:50%;right:auto;transform:translateX(-50%);white-space:nowrap}@media(max-height:650px){.sky-view #skyPanel .sky-time-dock{bottom:67px}.sky-view-tools{bottom:12px}}@media(prefers-reduced-motion:reduce){header,.sky-time-dock,.sky-view-tools{transition:none}}
.tracking-reticle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:4;width:72px;height:72px;display:grid;place-items:center}.tracking-reticle i{width:60px;height:60px;border:1px solid #dfcda388;border-radius:50%;position:relative}.tracking-reticle i:before,.tracking-reticle i:after{content:'';position:absolute;background:#e8d3a6aa}.tracking-reticle i:before{width:80px;height:1px;left:-11px;top:29px}.tracking-reticle i:after{height:80px;width:1px;top:-11px;left:29px}.tracking-reticle span{position:absolute;top:86px;white-space:nowrap;color:#e9d4ae;font-size:11px;text-shadow:0 1px 5px black}.choice-grid{max-height:55dvh;overflow:auto}.sky-view-tools{max-width:calc(100% - 20px);flex-wrap:wrap;justify-content:center}.sky-view-tools button{padding:8px 12px}.tracking-reticle i{mask-image:radial-gradient(circle,transparent 27px,black 28px)}
#catalogDialog{width:min(1100px,95vw);max-width:1100px;height:min(820px,90dvh);padding:26px;overflow:hidden}#catalogDialog .console-head{margin-bottom:15px}#catalogFilters{display:flex;gap:8px;overflow-x:auto;padding:0 0 15px;white-space:nowrap}#catalogFilters button{min-height:38px;font-size:11px}.catalog-layout{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,1.3fr);gap:26px;height:calc(100% - 140px);min-height:0}#catalogList,#catalogDetail{overflow:auto;scrollbar-width:thin;scrollbar-color:#8e9bad #17202c;padding-right:10px}#catalogList{display:flex;flex-direction:column;gap:10px}.poi-tile{display:flex;align-items:center;gap:16px;min-height:115px;text-align:left;padding:12px;flex-shrink:0}.poi-tile img{width:74px;height:74px;object-fit:cover;border-radius:50%}.poi-tile strong{display:block;font-size:15px;font-weight:500;margin:7px 0}.poi-tile p{margin:0;line-height:1.6;font-size:11px}#catalogDetail .discovery-body>img{height:220px;border-radius:18px;margin-bottom:20px}#catalogDetail p{font-size:14px;line-height:1.8}.open-poi{width:100%;min-height:48px;background:#dfc9a8db;color:#162030;margin-top:15px}.catalog-global .catalog-layout{display:block}.catalog-global #catalogList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:100%;align-items:start}.catalog-global .poi-tile{display:block;padding:0;overflow:hidden;min-height:340px}.catalog-global .poi-tile img{width:100%;height:145px;border-radius:0;object-fit:cover}.catalog-global .poi-tile>div{padding:17px}.poi-open{display:block;color:#e6cba5;margin-top:14px;font-size:12px}#moduleDiscover{position:absolute;top:110px;right:28px;z-index:9;min-height:42px;font-size:11px}.sky-view #moduleDiscover,.immersive #moduleDiscover{display:none}@media(max-width:760px){#catalogDialog{padding:18px;height:90dvh}.catalog-layout{grid-template-columns:1fr;grid-template-rows:160px minmax(0,1fr);gap:12px}.catalog-global #catalogList{grid-template-columns:1fr 1fr}.catalog-global .poi-tile{min-height:350px}.catalog-global .poi-tile img{height:110px}#catalogDetail .discovery-body>img{height:130px}#moduleDiscover{top:122px;right:14px;font-size:10px}.poi-tile img{width:50px;height:50px}}
@font-face{font-family:Manrope;src:url(assets/manrope.ttf) format('truetype');font-weight:200 800;font-display:swap}body,button,input,select,h1,h2,.view-heading h1,.section-title h1,.cardcontent h2,dialog h2,#clockReadout,#selectionName{font-family:Manrope,'Avenir Next',sans-serif!important}body{font-weight:400}button{font-weight:500;letter-spacing:0}h1,h2{font-weight:400!important}.eyebrow{font-weight:500;letter-spacing:.13em}.brand{width:38px;padding:0;margin:0;flex-shrink:0}.brand img{border-radius:10px}.personal-audio{border-top:1px solid #ffffff16;padding-top:16px}.personal-audio>button{width:100%}.personal-audio small a{display:block;margin-top:10px}#personalPlayer>div{display:flex;gap:6px;flex-wrap:wrap}#audioName{font:12px Manrope!important;overflow-wrap:anywhere}#pageBack{position:absolute;left:24px;top:102px;z-index:15;border-radius:30px;background:#152233db;min-height:44px;padding:10px 20px}.detail #planetPicker,.lunar-view #planetPicker{top:158px}.detail main,.lunar-view main{top:210px}#returnSystem{display:none!important}#articlePage{position:absolute;inset:0;z-index:30;overflow:auto;background:radial-gradient(ellipse at 15% 0,#24364c,#0b1420 65%);scroll-behavior:smooth}.article-toolbar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:20px 5vw;background:#0b1420eb;backdrop-filter:blur(20px);z-index:1;border-bottom:1px solid #ffffff14}#articleBody{max-width:920px;margin:auto;padding:28px 40px 100px;user-select:text;-webkit-user-select:text}.article-hero{display:flex;gap:40px;align-items:center;margin:25px 0 40px}.article-hero>div:last-child{min-width:0}.article-hero h1{font-size:clamp(32px,5vw,56px);line-height:1.15;margin:10px 0;text-wrap:balance;overflow-wrap:break-word}.article-hero p{font-size:18px;color:#c6c6c6}.article-planet{width:170px;height:170px;flex-shrink:0;border-radius:50%;background-size:auto 100%;box-shadow:inset -40px -12px 45px #000b,0 0 80px #b7c6e31a}#articleBody p{font-size:16px;line-height:1.95;color:#c0cbda}#articleBody .article-intro{font-size:20px;color:#e0e5ec}.article-contents{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 45px}#articleBody section{scroll-margin-top:100px;margin-bottom:45px}#articleBody h2{font-size:27px;color:#e2cdb0}#articleBody footer{border-top:1px solid #ffffff22;padding-top:25px}#articleBody footer a{display:inline-block;margin:8px 20px 8px 0}.article-open #pageBack{display:none}.article-open header{visibility:hidden}@media(max-width:760px){#pageBack{top:116px;left:16px}.detail #planetPicker,.lunar-view #planetPicker{top:170px}.detail main,.lunar-view main{top:216px}.article-hero{gap:16px;margin:12px 0 24px}.article-hero h1{font-size:clamp(25px,7vw,36px)}.article-hero .eyebrow{font-size:9px;letter-spacing:.09em}.article-planet{width:72px;height:72px}#articleBody{padding:20px 24px 80px}.article-hero p{font-size:14px}}
/* A single sheet system replaces overlapping floating widgets. */
.side-dock{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:min(440px,100vw);max-width:100vw;border-radius:24px 0 0 24px;padding:30px;overflow:auto;box-shadow:-20px 0 80px #0008}.side-dock::backdrop{background:#02061080;backdrop-filter:blur(4px)}#soundPanel{top:0;right:0;bottom:0;height:100dvh;max-height:100dvh;width:min(390px,100vw);border-radius:24px 0 0 24px;padding:35px 26px;z-index:50}.sound-console{position:static}#soundButton{position:relative}.sky-settings{position:fixed!important;top:0!important;bottom:0!important;height:100dvh!important;max-height:100dvh!important;width:min(390px,100vw)!important;border-radius:24px 0 0 24px!important;z-index:50!important;padding:30px 24px!important}.sky-settings-toggle{z-index:14!important}.sky-settings .console-footer{margin-top:auto}.sky-settings .console-page{flex:1}.sky-settings.settings-open{display:flex}#planetnav{position:fixed!important;inset:0 0 0 auto!important;height:100dvh!important;max-height:100dvh!important;width:min(320px,90vw)!important;grid-template-columns:1fr 1fr;align-content:start;padding:80px 22px 24px!important;border-radius:24px 0 0 24px!important;z-index:50!important;overflow:auto!important}#planetnav:before{content:'Choisir un astre';position:absolute;top:30px;left:24px;font-size:20px}#planetnav button{min-height:86px}#dockScrim{display:none;position:fixed;inset:0;width:100%;height:100%;background:#02061077;backdrop-filter:blur(3px);z-index:40;border:0;border-radius:0}body.planets-open #dockScrim,body:has(#soundPanel:not([hidden])) #dockScrim,body:has(.settings-open) #dockScrim{display:block}body:has(#soundPanel:not([hidden])) header{z-index:51}body:has(#soundPanel:not([hidden])) #soundButton{z-index:52}body:has(.settings-open) #skyPanel{z-index:51}#soundPanel> .eyebrow{display:block;margin-bottom:25px}.choice-dialog .choice-grid{max-height:calc(100dvh - 150px)}.render-settings .sky-effects{padding-top:20px}.settings-open .sky-settings{display:flex!important;flex-direction:column}.settings-open .sky-time-dock,.settings-open .sky-view-tools,.settings-open .discovery-control{opacity:0;pointer-events:none}
header{position:absolute;top:12px;left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);height:46px;padding:0 10px;background:#0b1420a8;border:1px solid #ffffff14;border-radius:28px;backdrop-filter:blur(18px);gap:6px;z-index:20}header .brand{display:none}header nav{margin:0;height:auto;background:none;border:0}header nav button{font-size:11px;padding:10px 13px;min-height:36px}header nav button.active{background:#ffffff0a;border-radius:20px}#journeysButton{font-size:11px;min-height:34px;padding:8px 12px}#soundButton{min-height:34px;padding:7px 9px}#soundButton span{display:none}header>.icon{min-width:28px;min-height:28px}#skyPanel,.sky-view #skyPanel{top:0!important}#space,#labels,.vignette{top:0!important}#loading{top:0!important}#planetPicker,#pageBack{top:78px!important}.detail #planetPicker,.lunar-view #planetPicker{top:132px!important}#moduleDiscover{top:78px!important}.sky-title,.discovery-control{display:none!important}.sky-view-tools{bottom:18px!important;display:flex;flex-wrap:nowrap;gap:5px;padding:6px;background:#111c2acc;border:1px solid #ffffff20;backdrop-filter:blur(20px);border-radius:24px}.sky-view-tools button{position:static!important;font-size:11px;min-height:42px;padding:9px 13px;border:0;background:none;box-shadow:none;white-space:nowrap}.sky-view-tools .sky-settings-toggle{border-radius:14px;backdrop-filter:none}:is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){position:absolute;bottom:83px;left:50%;transform:translateX(-50%);background:#0c1725a8;border-radius:16px;font-size:10px;color:#c1cede;min-height:28px;padding:6px 14px;max-width:95%;z-index:7}.sky-view #skyPanel .sky-time-dock{bottom:121px}.clock-folded .sky-time-dock{opacity:0;pointer-events:none;transform:translate(-50%,70px)}#releaseTracking{position:absolute;left:50%;top:calc(50% + 110px);transform:translateX(-50%);z-index:6;font-size:10px;min-height:32px;background:#102034a8}.body-layers{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.body-layers h3{grid-column:1/-1}.body-layers label{display:flex;gap:8px;align-items:center}.render-settings>.sky-checks{margin:30px 0;gap:15px}.render-settings>.sky-checks label{font-size:12px}.personal-audio{margin-bottom:25px}#soundPanel{z-index:55}.sky-settings-toggle span{display:none}.side-dock .console-head{position:sticky;top:-30px;background:#111c2b;padding:15px 0;z-index:2}@media(max-width:760px){header{top:8px;padding:0 6px;gap:2px;height:43px}header nav button{font-size:9px;padding:8px 7px}#journeysButton{font-size:9px;padding:7px 8px}header>#about{display:none}.sky-view-tools{gap:0;bottom:max(12px,env(safe-area-inset-bottom))!important;padding:5px;width:calc(100% - 20px);justify-content:space-evenly}.sky-view-tools button{font-size:10px;padding:9px 7px}:is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){font-size:9px}#learning,#comparison{top:66px!important}}
:is(#placeSearch,.place-picker){width:min(1000px,96vw);max-width:1000px;height:min(760px,90dvh)}:is(#placeSearch,.place-picker).side-dock{width:min(1000px,100vw);max-width:1000px;border-radius:24px 0 0 24px}:is(#placeForm,.placeForm){display:flex;gap:10px}:is(#placeQuery,.placeQuery){flex:1;min-width:0;border:1px solid #ffffff24;border-radius:14px;background:#1a293b;color:#e6edf6;padding:12px}.place-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:20px;margin:20px 0}:is(#placeResults,.placeResults){display:flex;flex-direction:column;gap:8px;max-height:380px;overflow:auto}:is(#placeResults,.placeResults) button{text-align:left;min-height:52px;font-size:12px}:is(#placeMap,.placeMap){height:340px;border-radius:18px;background:#142332;z-index:0}:is(#confirmPlace,.confirmPlace){background:#dec7a3;color:#162032;min-height:48px}:is(#placeSearch,.place-picker) small{display:block;color:#a9b9cf;line-height:1.8;font-size:11px}.leaflet-container{font-family:Manrope,sans-serif!important;touch-action:none}:is(#placeSelected,.placeSelected){line-height:1.6}@media(max-width:760px){.place-layout{grid-template-columns:1fr}:is(#placeResults,.placeResults){max-height:140px}:is(#placeMap,.placeMap){height:260px}:is(#placeForm,.placeForm) button{padding:8px;font-size:11px}}
/* Stable instrument shapes and one visible settings entry in every module. */
#viewSettings{position:absolute;top:78px;right:24px;z-index:21;width:44px;height:44px;min-width:44px;min-height:44px;max-height:44px;padding:0;display:grid;place-items:center;border-radius:50%;background:#132132db;flex:0 0 44px}
#viewSettings svg,#renderSettingsButton svg{flex:none;display:block}#moduleDiscover{right:80px!important}#viewSettingsDock small{color:#9aaac0;line-height:1.7;display:block}#viewSettingsDock input[type=checkbox]{width:22px;height:22px;accent-color:#eac08b}.destination-heading{grid-column:1/-1;font-size:15px;font-weight:500;color:#cbb899;margin:22px 0 6px}#planetnav:before{content:'Choisir une destination'}#planetnav .observer-destination{min-height:60px;font-size:12px}#renderSettingsButton{display:flex;align-items:center;gap:7px}.article-open #viewSettings{display:none}
button.icon,#soundButton,#play,#closeConsole,#closeCatalog,#closeRender,#viewSettingsDock .console-head button{aspect-ratio:1/1;width:44px;height:44px;min-width:44px;min-height:44px;max-height:44px;padding:0!important;flex:0 0 44px;display:inline-grid;place-items:center;border-radius:50%}header button.icon,header #soundButton{width:36px;height:36px;min-width:36px;min-height:36px;max-height:36px;flex-basis:36px}.mini,.observer-globe{aspect-ratio:1/1;flex-shrink:0}.detail #selectionName,.lunar-view #selectionName{display:block}.choice-dialog .console-head button{width:auto;min-width:80px;flex-shrink:0;height:44px;border-radius:12px;font-size:12px;padding:0 12px}.sky-view-tools button{border-radius:12px}.place-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.place-presets button{text-align:left;min-height:46px;font-size:11px}.place-presets strong{grid-column:1/-1;font-size:12px;font-weight:500;margin:4px 0;color:#afbdce}
@media(max-width:760px){#viewSettings{right:14px}#moduleDiscover{right:68px!important;font-size:10px}.sky-view-tools #renderSettingsButton{gap:4px}.sky-view-tools #renderSettingsButton svg{width:17px;height:17px}}
/* The camera and labels share the complete viewport, underneath floating controls. */
#space,#labels,.vignette,.immersive #space,.immersive #labels,.immersive .vignette{inset:0!important}#planetnav #moonSystem{grid-column:1/-1;display:block;min-height:52px;padding:12px;border:1px solid #c7b18c35;border-radius:12px;font-size:12px;background:#c7b18c09}#planetnav #moonSystem:before{display:none}#levelView{position:absolute;right:24px;top:133px;z-index:13;min-height:40px;padding:8px 12px;border-radius:12px;font-size:11px;background:#132132cc}.sky-view #levelView,body:has(#learning:not([hidden])) #levelView,body:has(#comparison:not([hidden])) #levelView,.article-open #levelView{display:none}@media(max-width:760px){#levelView{right:14px}}
/* Selection is a circle; tracking is four brackets. Both follow the projected body size. */
.selection-marker,.tracking-reticle{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:4;display:block;box-sizing:border-box}
.selection-marker i{display:block;position:absolute;inset:0;border:1px solid #dbe7f7bb;border-radius:50%;width:100%;height:100%}
.tracking-reticle i{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;mask-image:none;background:linear-gradient(#eac08b,#eac08b) left top/14px 2px no-repeat,linear-gradient(#eac08b,#eac08b) left top/2px 14px no-repeat,linear-gradient(#eac08b,#eac08b) right top/14px 2px no-repeat,linear-gradient(#eac08b,#eac08b) right top/2px 14px no-repeat,linear-gradient(#eac08b,#eac08b) left bottom/14px 2px no-repeat,linear-gradient(#eac08b,#eac08b) left bottom/2px 14px no-repeat,linear-gradient(#eac08b,#eac08b) right bottom/14px 2px no-repeat,linear-gradient(#eac08b,#eac08b) right bottom/2px 14px no-repeat}
.tracking-reticle i:before,.tracking-reticle i:after{display:none}.selection-marker span,.tracking-reticle span{position:absolute;left:50%;top:-26px;bottom:auto;transform:translateX(-50%);font-size:10px;white-space:nowrap;color:#eac08b;text-shadow:0 1px 5px #000;background:#08132199;border-radius:6px;padding:3px 7px}.selection-marker span{color:#dbe7f7}
/* One infinite time wheel, at the bottom centre, visible on every screen touch. */
.sky-view #skyPanel .sky-time-dock.compact-clock{bottom:max(14px,env(safe-area-inset-bottom))!important;width:min(610px,calc(100% - 28px));max-width:none;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:20px;transform:translateX(-50%);height:64px;min-height:0;background:#101c2de8;backdrop-filter:blur(18px)}.compact-clock .time-wheel{flex:1;min-width:70px;margin:0}.compact-clock .wheel-drum{height:42px}.compact-clock #skyPlay{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;flex:0 0 44px;border-radius:50%}.compact-clock #skyPlay svg{width:28px;height:28px}.compact-clock #compactClockReadout{display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:none;border:0;padding:0 4px;min-width:105px;min-height:44px}.compact-clock #clockReadout{font-size:21px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.15}.compact-clock #compactClockDate{font-size:9px;color:#9caec6;white-space:nowrap}.compact-clock #clockOptions{width:36px;min-width:36px;min-height:40px;padding:0;background:none;border:0}.sky-view-tools{bottom:88px!important}.sky-view-tools #releaseTracking{position:static!important;transform:none;min-height:42px;font-size:10px}.sky-view :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){bottom:150px}.sky-view #skyPanel .sky-view-tools{width:auto;max-width:calc(100% - 20px)}#timeSettingsFields>.eyebrow{display:block;margin:24px 0}#timeSettingsFields>button{margin:4px}#timeSettingsFields .wheel-scales{margin-top:25px;gap:3px}@media(max-width:520px){.compact-clock #clockOptions{display:none}.sky-view #skyPanel .sky-time-dock.compact-clock{gap:6px;padding:7px 9px}.compact-clock #compactClockReadout{min-width:96px}.compact-clock .wheel-drum{padding:0 7px}.compact-clock .wheel-drum i{inset:10px 20px}}
.object-card{position:absolute;z-index:24;width:230px;padding:16px;background:#111e30ed;border:1px solid #d6c09b45;backdrop-filter:blur(18px);border-radius:16px;box-shadow:0 12px 36px #0005;pointer-events:auto}.object-card strong{display:block;font-size:16px;padding-right:22px;color:#ebd6b5}.object-card p{font-size:11px;line-height:1.6;color:#aebed1;margin:8px 0 12px}.object-card>div{display:flex;flex-wrap:wrap;gap:6px}.object-card>div button{min-height:40px;border-radius:10px;background:#d6c09b12}.object-card .object-card-close{position:absolute;right:7px;top:7px;width:32px;height:32px;min-height:32px;padding:0;background:none;border:0;border-radius:50%;font-size:20px}@media(max-width:520px){.object-card{width:200px;padding:13px}}
/* Compact HUD: one left navigation group, one right view group, no duplicate rails. */
#navigationCluster,#viewCluster{position:absolute;top:68px;z-index:22;display:flex;align-items:center;gap:6px;pointer-events:none}#navigationCluster{left:12px}#viewCluster{right:12px}#navigationCluster>button,#viewCluster>button{position:static!important;inset:auto!important;transform:none!important;pointer-events:auto;margin:0;min-height:44px;height:44px;padding:0 12px;background:#101d2bd9;border:1px solid #d7e0f11c;border-radius:14px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:6px}#navigationCluster #pageBack,#viewCluster>button{width:44px;min-width:44px;padding:0}#navigationCluster svg,#viewCluster svg,header .hud-control svg{width:22px;height:22px;min-width:22px;flex:none}#navigationCluster #skySettingsToggle{display:none}.sky-view #navigationCluster #skySettingsToggle{display:flex}.sky-view #planetPicker{display:none!important}.sky-view #viewCluster #reset,.sky-view #viewCluster #levelView{display:none}body:has(#learning:not([hidden])) #viewCluster #reset,body:has(#comparison:not([hidden])) #viewCluster #reset{display:none}
main,#moduleDiscover,#sceneActions,.sky-view-tools{display:none!important}.sky-view :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){top:119px;bottom:auto;left:12px;transform:none;max-width:calc(100% - 24px);min-height:22px;padding:3px 7px;background:none;text-align:left;font-size:10px;pointer-events:none}header{top:8px;height:46px;gap:2px;padding:0 5px}header nav button{font-size:12px;min-height:40px;padding:8px 10px}#journeysButton{font-size:12px;min-height:40px;padding:8px 10px}header .icon,header #soundButton{width:40px;height:40px;min-width:40px;min-height:40px;max-height:40px;flex-basis:40px}.article-open #navigationCluster,.article-open #viewCluster{display:none}.hud-control{display:inline-flex;align-items:center;justify-content:center;gap:6px}.sky-settings-toggle span{display:inline}#catalogDialog{padding:18px}.catalog-layout{gap:16px}.poi-tile{padding:10px;gap:10px}.console-page{padding:14px 0 8px}.sky-settings{padding:20px!important}.console-head{padding:12px 0!important}.console-tabs{padding:0 0 12px}.console-footer{padding:0}.observer-choices button{min-height:72px}.observer-globe{width:36px;height:36px}
@media(max-width:600px){header nav button,#journeysButton{font-size:10px;padding:8px 7px}header #focusButton,header #about{display:none}#navigationCluster,#viewCluster{top:62px;gap:4px}#navigationCluster{left:8px}#viewCluster{right:8px}#navigationCluster>button{padding:0 8px}.sky-view :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){top:110px;left:8px}}
@media(max-width:400px){#navigationCluster #planetPicker span{display:none}#navigationCluster #planetPicker{width:44px;min-width:44px;padding:0}}#orbitSettings>#top{width:100%;margin-top:12px;min-height:44px}
/* Canvas fills exactly the same box as its projected overlays; no inline size drift. */
#space>canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;margin:0;padding:0;border:0;transform:none}
#appToolbar{position:absolute;top:62px;left:12px;right:12px;height:44px;z-index:22;display:flex;align-items:center;gap:12px;pointer-events:none}#appToolbar #navigationCluster,#appToolbar #viewCluster{position:static;top:auto;left:auto;right:auto;flex-shrink:0}#appToolbar #viewCluster{margin-left:auto}#orbitCenter{pointer-events:auto;border:0;background:#0b152199;font-size:11px;color:#abbcd0;padding:6px 10px;min-height:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.sky-view #orbitCenter,body:has(#learning:not([hidden])) #orbitCenter,body:has(#comparison:not([hidden])) #orbitCenter,.article-open #appToolbar{display:none}#appToolbar .hud-control{border-radius:11px}header{border-radius:15px}.sky-view :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){top:112px}@media(max-width:600px){#appToolbar{left:8px;right:8px;top:60px;gap:4px}#orbitCenter{font-size:9px;padding:4px;max-width:120px}}@media(max-width:420px){#orbitCenter{position:absolute;left:0;top:48px;max-width:calc(100vw - 16px)}}
/* The solar-system clock uses the same compact app toolbar proportions. */
:is(#timeline,.exploration-clock){left:50%;right:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(740px,calc(100% - 24px));height:64px;min-height:0;padding:8px 12px;gap:10px;border:1px solid #d7e0f11c;border-radius:16px;background:#101d2be8;backdrop-filter:blur(16px)}:is(#timeline,.exploration-clock) .time-label>.eyebrow,:is(#timeline,.exploration-clock) #timeState,:is(#timeline,.exploration-clock) #offline{display:none}:is(#timeline,.exploration-clock) .time-label>div{margin:0}:is(#timeline,.exploration-clock) #date{font-size:14px;width:135px}:is(#timeline,.exploration-clock) .time-controls{gap:6px}:is(#timeline,.exploration-clock) #speed{padding:7px;font-size:12px;max-width:135px;min-height:40px}:is(#timeline,.exploration-clock) .time-controls button{min-height:44px;min-width:38px;padding:6px}:is(#timeline,.exploration-clock) #today{font-size:11px;min-height:44px;padding:5px}:is(#timeline,.exploration-clock) .timeline-right{flex-shrink:0}:is(#timeline,.exploration-clock) .utc{font-size:8px}@media(max-width:650px){:is(#timeline,.exploration-clock){gap:4px;padding:7px;width:calc(100% - 16px)}:is(#timeline,.exploration-clock) #date{width:114px;font-size:12px}:is(#timeline,.exploration-clock) .utc,:is(#timeline,.exploration-clock) #backDay,:is(#timeline,.exploration-clock) #nextDay,:is(#timeline,.exploration-clock) .timeline-right{display:none}:is(#timeline,.exploration-clock) .time-controls{flex:1;justify-content:flex-end}:is(#timeline,.exploration-clock) #speed{max-width:125px;font-size:11px}}
/* The time wheel remains reachable while the other HUD controls fade away. */
:is(#timeline,.exploration-clock){width:min(820px,calc(100% - 24px))}:is(#timeline,.exploration-clock) .time-label{order:0}:is(#timeline,.exploration-clock)>.time-wheel{order:1;flex:1;min-width:90px;margin:0}:is(#timeline,.exploration-clock) .time-controls{order:2}:is(#timeline,.exploration-clock) .timeline-right{order:3}:is(#timeline,.exploration-clock) .wheel-caption,:is(#timeline,.exploration-clock) .wheel-scales,:is(#timeline,.exploration-clock) #backDay,:is(#timeline,.exploration-clock) #nextDay,:is(#timeline,.exploration-clock) .timeline-right{display:none}:is(#timeline,.exploration-clock) .wheel-drum{height:44px}@media(max-width:650px){:is(#timeline,.exploration-clock) #speed{max-width:95px}:is(#timeline,.exploration-clock) #date{width:108px}:is(#timeline,.exploration-clock)>.time-wheel{min-width:60px}:is(#timeline,.exploration-clock) .time-controls{gap:3px}}
:is(#timeline,.exploration-clock) .time-label>div{display:flex;flex-direction:column;align-items:center;gap:1px}:is(#timeline,.exploration-clock) .utc{display:block!important;font-size:10px;font-variant-numeric:tabular-nums}
.tracking-status{display:flex;align-items:center;pointer-events:auto;background:#0b1521dd;border:1px solid #d7e0f11c;border-radius:12px;overflow:hidden;max-width:310px}.tracking-status>button{position:static!important;transform:none!important;min-height:44px;border:0;background:none;box-shadow:none;font-size:11px;padding:6px 10px}.tracking-status>button:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tracking-status>#releaseOrbit,.tracking-status>#releaseTracking{font-size:22px;flex:0 0 44px;min-width:44px;border-left:1px solid #ffffff14}.sky-view #orbitCenterGroup,body:not(.sky-view) #skyCenter,body:has(#learning:not([hidden])) .tracking-status,body:has(#comparison:not([hidden])) .tracking-status{display:none}#orbitCenter{position:static;max-width:none}@media(max-width:650px){.tracking-status{position:absolute;top:50px;left:0;max-width:calc(100vw - 24px)}.sky-view :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){top:162px}}
/* Keep the tracking status, but dismiss the scene reticle after an outside touch. */
.tracking-marker-muted .tracking-reticle{opacity:0;pointer-events:none}
.article-open :is(#timeline,.exploration-clock),.article-open .compact-clock,body:has(#catalogDialog[open]) :is(#timeline,.exploration-clock),body:has(#catalogDialog[open]) .compact-clock{display:none!important}
/* Section-specific navigation; discovery uses the available screen, not a small modal. */
body:has(#learning:not([hidden])) #navigationCluster,body:has(#comparison:not([hidden])) #navigationCluster,body:has(#catalogDialog[open]) #appToolbar{display:none!important}
#catalogDialog{inset:8px;margin:0;width:calc(100vw - 16px);max-width:none;height:calc(100dvh - 16px);max-height:none;padding:16px;border-radius:16px;background:#101824;box-sizing:border-box}
#catalogDialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px}#catalogDialog::backdrop{background:#080d17}#catalogDialog .console-head{margin:0;padding:0!important}#catalogDialog .console-head h2{margin:4px 0}#catalogDialog #catalogFilters{padding:0;gap:6px}#catalogDialog .catalog-layout{height:auto;min-height:0}#catalogDialog .catalog-layout>div,#catalogDialog .catalog-layout>article{min-height:0}#catalogDialog.catalog-global .catalog-layout{height:100%}#catalogDialog.catalog-global #catalogList{height:100%;align-content:start}@media(max-width:600px){#catalogDialog{inset:4px;width:calc(100vw - 8px);height:calc(100dvh - 8px);padding:12px;border-radius:12px}#catalogDialog .catalog-layout{gap:10px}}

#skyCenter #releaseTracking:not([hidden]){display:inline-flex!important;align-items:center;justify-content:center;opacity:1;pointer-events:auto}
/* One fade for the complete exploration HUD; a touch restores it promptly. */
header,#appToolbar,:is(#timeline,.exploration-clock),.sky-time-dock.compact-clock,:is(#skyContext,#orbitContext,#stellarContext,#galaxyContext),.object-card{transition:opacity .2s ease}
@media(prefers-reduced-motion:reduce){}
/* Edge-to-edge navigation and safe areas, shared by phone and tablet. */
:root{--nav-height:calc(48px + env(safe-area-inset-top,0px));--edge-left:max(8px,env(safe-area-inset-left,0px));--edge-right:max(8px,env(safe-area-inset-right,0px))}
header{top:0;left:0;right:0;transform:none;width:100%;max-width:100%;height:var(--nav-height);padding:env(safe-area-inset-top,0px) var(--edge-right) 0 var(--edge-left);border:0;border-bottom:1px solid #ffffff12;border-radius:0;justify-content:center;gap:8px}
header nav{position:static;transform:none;display:flex;min-width:0;gap:2px;width:auto;overflow:visible}header nav button{min-height:44px;white-space:nowrap}header nav button svg,.nav-short{display:none}header nav button.active:after{display:none}header .sound-console{flex:0 0 44px}header #soundButton{width:44px;height:44px;max-height:44px;min-height:44px;min-width:44px}.brand{display:none}
#appToolbar{top:calc(var(--nav-height) + 6px);left:var(--edge-left);right:var(--edge-right)}.sky-view :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){top:calc(var(--nav-height) + 56px);left:var(--edge-left)}
#learning,#comparison{top:var(--nav-height)!important;bottom:0;padding:16px var(--edge-right) max(16px,env(safe-area-inset-bottom,0px)) var(--edge-left)}
#viewSettingsDock>#about{display:block;width:100%;min-height:44px;margin-top:16px;font-size:14px}:is(#timeline,.exploration-clock),.sky-view #skyPanel .sky-time-dock.compact-clock{bottom:max(8px,env(safe-area-inset-bottom,0px))!important;max-width:calc(100% - var(--edge-left) - var(--edge-right))}
.side-dock,:is(#placeSearch,.place-picker).side-dock,.sky-settings{padding-top:max(16px,env(safe-area-inset-top,0px))!important;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))!important;overflow-y:auto!important;overscroll-behavior:contain;min-width:0}
.sky-settings{left:auto!important;right:0!important;max-width:100vw!important}.console-page,.setting-row{min-width:0}.setting-row{flex-wrap:wrap;gap:10px}.setting-row input,.setting-row select{max-width:100%;min-width:0}.console-head button,.article-toolbar button,.object-card .object-card-close{min-width:44px;min-height:44px}.side-dock .console-head{top:calc(-1 * max(16px,env(safe-area-inset-top,0px)))}
#soundPanel{position:fixed;top:var(--nav-height);right:var(--edge-right);width:min(340px,calc(100vw - var(--edge-left) - var(--edge-right)));max-height:calc(100dvh - var(--nav-height) - env(safe-area-inset-bottom,0px) - 8px);overflow:auto}
.article-toolbar{padding: max(8px,env(safe-area-inset-top,0px)) var(--edge-right) 8px var(--edge-left)}#articleBody{padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}.object-card{max-width:calc(100% - 24px);max-height:calc(100dvh - var(--nav-height) - 110px);overflow:auto;overscroll-behavior:contain}
#catalogDialog{padding-top:max(12px,env(safe-area-inset-top,0px));padding-bottom:max(12px,env(safe-area-inset-bottom,0px));padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
@media(max-width:650px){
 :root{--nav-height:calc(58px + env(safe-area-inset-top,0px))}
 header{gap:2px;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}header nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:1;gap:0;width:0}header nav button,header #journeysButton{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;height:56px;padding:4px 0;font-size:10px;letter-spacing:0;border-radius:10px;line-height:1.1}header nav button svg{display:block;width:20px;height:20px;flex-shrink:0}.nav-wide{display:none}.nav-short{display:block}header #soundButton{width:40px;min-width:40px}header .sound-console{flex-basis:40px}
 #appToolbar{gap:4px}.tracking-status{top:50px;max-width:calc(100vw - var(--edge-left) - var(--edge-right))}.sky-view :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){top:calc(var(--nav-height) + 106px)}
 :is(#timeline,.exploration-clock){width:calc(100% - 16px);padding:6px;gap:4px;height:64px}:is(#timeline,.exploration-clock) .time-label{flex:0 0 94px;min-width:0}:is(#timeline,.exploration-clock) #date{width:94px;padding:0;font-size:16px!important}:is(#timeline,.exploration-clock)>.time-wheel{min-width:40px}:is(#timeline,.exploration-clock) .time-controls{flex:none;gap:4px}:is(#timeline,.exploration-clock) :is(#play,[data-play]){width:44px;min-width:44px;height:44px;padding:0}:is(#timeline,.exploration-clock) #speed{width:78px;max-width:78px;min-width:0;padding:4px 1px;font-size:16px!important}:is(#timeline,.exploration-clock) .wheel-drum{padding:0 5px}:is(#timeline,.exploration-clock) .wheel-drum i{inset:10px 10px}:is(#timeline,.exploration-clock) .wheel-drum>span{display:none}
 .sky-view #skyPanel .sky-time-dock.compact-clock{width:calc(100% - 16px);padding:6px;gap:6px}.compact-clock #compactClockReadout{min-width:102px}.compact-clock .time-wheel{min-width:40px}.compact-clock #clockOptions{display:none}
 .side-dock,:is(#placeSearch,.place-picker).side-dock,.sky-settings{width:100vw!important;max-width:100vw!important;border-radius:0!important;padding-left:var(--edge-left)!important;padding-right:var(--edge-right)!important}.console-tabs>button{min-height:44px}.choice-grid{max-height:none}.observer-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.observer-choices button{min-width:0}.console-page{flex:none!important}
 #learning .section-title h1,#comparison .section-title h1{font-size:26px;margin:8px 0}.lesson-tabs{display:flex;overflow-x:auto;gap:6px}.lesson-tabs button{flex:1;white-space:nowrap;padding:8px;min-height:44px}.lesson-layout{display:block}.experiment{min-width:0}#lessonCanvas{height:clamp(180px,32dvh,300px);width:100%}#lessonText{padding-top:16px}.slider-wrap{flex-wrap:wrap;gap:8px}.slider-wrap input{min-width:120px;max-width:100%}#sizeComparison{gap:12px}.size-body{min-width:48px}
 #catalogDialog.catalog-global #catalogList{grid-template-columns:1fr}#catalogDialog .catalog-layout{grid-template-columns:1fr;grid-template-rows:minmax(100px,25%) minmax(0,1fr)}#catalogDialog.catalog-global .catalog-layout{display:block}#catalogDetail .discovery-body>img{height:140px}.poi-tile{min-height:88px}.poi-tile img{width:56px;height:56px;flex-shrink:0}#catalogFilters button{min-height:44px}.place-layout{display:flex;flex-direction:column;gap:12px}:is(#placeResults,.placeResults){max-height:25dvh;overflow:auto}:is(#placeMap,.placeMap){height:28dvh;min-height:160px}:is(#placeForm,.placeForm){display:flex;flex-wrap:wrap;gap:8px}:is(#placeQuery,.placeQuery){width:0;flex:1;min-width:140px}:is(#confirmPlace,.confirmPlace){width:100%;min-height:44px}
}
@media(max-height:500px) and (orientation:landscape){.side-dock,.sky-settings{width:min(440px,100vw)!important}:is(#timeline,.exploration-clock),.sky-view #skyPanel .sky-time-dock.compact-clock{height:56px}.tracking-status{top:0;left:auto;position:static;max-width:220px}.sky-view :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){top:calc(var(--nav-height) + 54px)}.lesson-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}#learning .section-title p{display:none}#lessonCanvas{height:190px}#catalogDetail .discovery-body>img{height:110px}}
/* Direct observation setup: date, place, then display settings. */
#timeSettingsFields,#directPlaceSettings{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid #ffffff18;scroll-margin-top:76px}#timeSettingsFields h3,#directPlaceSettings h3{margin:12px 0}#timeSettingsFields>#clockZone{margin:8px 0 14px;line-height:1.5}.inline-date{padding:10px;background:#080f1b77;border-radius:16px}.calendar-heading{display:grid;grid-template-columns:44px 1fr 80px 44px;gap:4px;align-items:center}.calendar-heading button{padding:0;font-size:26px;min-height:44px}.calendar-heading select,.calendar-heading input{width:100%;min-width:0;font-size:16px;padding:6px 3px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}.calendar-week{font-size:11px;color:#9caec6;padding:12px 0 6px}.calendar-days button{min-width:0;min-height:44px;padding:0;background:transparent;border:1px solid transparent;border-radius:12px;font-size:15px;font-variant-numeric:tabular-nums}.calendar-days button[aria-pressed="true"]{color:#fff0d1;background:#d9b47726;border-color:#d9b477}.inline-hour{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.inline-hour label{font-size:11px;color:#9caec6;display:flex;flex-direction:column;gap:4px;text-align:center}.inline-hour input{width:90px;min-height:48px;text-align:center;font-size:26px;font-variant-numeric:tabular-nums;padding:4px}.inline-hour>span{padding-top:18px;font-size:24px}.date-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.date-shortcuts button{min-height:44px;flex:1;padding:8px}#directPlaceSettings .coord-row{display:flex;gap:8px}#directPlaceSettings .coord-row label{min-width:0;flex:1}#directPlaceSettings .coord-row input{width:100%;min-width:0;font-size:16px}#directPlaceSettings .setting-row select{max-width:70%}#timeSettingsFields .wheel-scales{margin-top:10px}

#timeSettingsFields .wheel-scales{display:flex;flex-wrap:wrap;gap:6px}.wheel-sensitivity-label{flex-basis:100%;font-size:12px;color:#aebcd0;margin-bottom:4px}#timeSettingsFields .wheel-scales button{flex:1;min-height:44px;font-size:12px;padding:8px 4px}#timeSettingsFields .wheel-scales button[aria-pressed="true"]{background:#d9b47726;border-color:#d9b477;color:#fff0d1}

.object-card{width:250px;padding:14px 16px;background:rgba(8,17,29,.64);border:1px solid rgba(205,220,239,.16);border-radius:14px;box-shadow:0 8px 28px #0003;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.object-card strong{font-size:15px;font-weight:500;color:#f1eee6;padding-right:30px}.object-card p{font-size:11px;line-height:1.5;margin:5px 0 10px;color:#b7c4d4}.object-card dl{display:grid;grid-template-columns:1fr auto;gap:6px 14px;margin:10px 0 14px}.object-card dt{color:#a7b7ca}.object-card dd{margin:0;text-align:right;color:#e1e8f2;font-variant-numeric:tabular-nums}.object-card>div button{background:transparent;border:1px solid #dbe5f21c;color:#e3d2b6;min-height:44px;font-size:11px;padding:8px 10px}.object-card>div button:active{background:#ffffff12}.object-card .object-card-close{color:#adbacb;right:2px;top:2px}@media(max-width:520px){.object-card{width:220px;padding:12px}}

.update-info{margin-top:24px;padding-top:16px;border-top:1px solid #ffffff18;font-size:12px;color:#b5c4d8}.update-info button{min-height:44px}.update-info code{color:#ead5af}#updateNotice{bottom:max(88px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);width:max-content;padding:12px 18px;border-radius:14px;background:#132034ee;border:1px solid #cdddf533;color:#e9edf4;font-size:13px}
/* Shared tactile clocks: speed and time are separate controls. */
.speed-wheel{width:158px;flex:0 0 158px;min-width:0;text-align:center;align-self:center}.speed-wheel>span{display:block;font-size:9px;color:#a5b5c9;line-height:12px}.speed-wheel [role=slider]{height:34px;display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:2px;cursor:ew-resize;border-bottom:1px solid #dec49b55;background:repeating-linear-gradient(90deg,transparent 0 11px,#c8d6e52b 11px 12px) bottom/100% 5px no-repeat}.speed-wheel strong{font-size:12px;color:#f1d4a8;white-space:nowrap;font-weight:500}.speed-wheel small{font-size:8px;color:#92a6be;white-space:nowrap}.compact-clock>.speed-wheel{order:4}:is(#timeline,.exploration-clock)>.speed-wheel{order:3}#speed[hidden],#skyTimeSpeed[hidden]{display:none!important}:is(#timeline,.exploration-clock) .time-controls{flex:none}:is(#timeline,.exploration-clock) :is(#play,[data-play]){width:44px;min-width:44px}#skyPanel .sky-time-dock.compact-clock{width:min(780px,calc(100% - 24px))}#clockOptions{display:none!important}
.inline-hour{display:block}.inline-hour label{flex-direction:row;align-items:center;justify-content:space-between;font-size:13px}.inline-hour output{font-size:24px;color:#ead2ad;font-variant-numeric:tabular-nums}.inline-hour #preciseTime{width:100%;min-height:44px;margin:4px 0;padding:0;accent-color:#e5c18f;touch-action:pan-y}.hour-ticks{display:flex;justify-content:space-between;font-size:10px;color:#98abc2}
@media(max-width:650px) and (orientation:portrait){
 :is(#timeline,.exploration-clock),.sky-view #skyPanel .sky-time-dock.compact-clock{display:grid!important;grid-template-columns:minmax(80px,1fr) 44px minmax(130px,1.2fr);grid-template-rows:48px 44px;height:112px;padding:8px;gap:4px 6px;width:calc(100% - 16px)}
 :is(#timeline,.exploration-clock) .time-label,#skyPanel #compactClockReadout{grid-column:1;grid-row:1;min-width:0;width:auto;padding:0;margin:0}:is(#timeline,.exploration-clock) #date{width:100%;font-size:11px}:is(#timeline,.exploration-clock) .time-controls{display:contents}:is(#timeline,.exploration-clock) :is(#play,[data-play]),#skyPanel #skyPlay{grid-column:2;grid-row:1;margin:0;width:44px;height:44px;min-width:44px}
 :is(#timeline,.exploration-clock)>.speed-wheel,#skyPanel .compact-clock>.speed-wheel{grid-column:3;grid-row:1;width:100%;min-width:0}
 :is(#timeline,.exploration-clock)>.time-wheel,#skyPanel .compact-clock>.time-wheel{grid-column:1/-1;grid-row:2;width:100%;min-width:0;margin:0}.compact-clock .wheel-drum,:is(#timeline,.exploration-clock) .wheel-drum{height:44px}#compactClockReadout #clockReadout{font-size:20px}#compactClockDate{font-size:9px}
}
/* One quiet navigation surface, without nested outlined pills. */
body>header{border:0;border-radius:0;box-shadow:none;background:linear-gradient(#080e18e8,#080e1870);backdrop-filter:blur(12px)}body>header nav{background:none;border:0;box-shadow:none;border-radius:0}body>header nav button,body>header #journeysButton,body>header .icon,body>header #soundToggle{border:0;border-radius:0;background:none;box-shadow:none;font-weight:400;letter-spacing:0}body>header nav button.active{background:none;border-radius:0;box-shadow:inset 0 -2px #e4c296;color:#f0d4ab}body>header nav button:hover{background:#ffffff08}.comparison-zoom{display:flex;align-items:center;justify-content:center;gap:12px}.comparison-zoom button{min-width:44px;min-height:44px;padding:6px 12px;background:#ffffff08;box-shadow:none;border-color:#ffffff18}.comparison-zoom output{min-width:40px;text-align:center;font-variant-numeric:tabular-nums}#sizeComparison{overflow:auto;touch-action:none;align-items:flex-start}#sizeComparison .size-body{flex-shrink:0;padding-top:6px}.size-globe{max-width:none!important;max-height:none!important}#sizeComparison.zoomed{justify-content:flex-start}
.satellite-categories{border:0;padding:0;margin:12px 0;display:grid;gap:3px}.satellite-categories legend{font-size:14px;padding:8px 0}.satellite-categories label{display:flex;align-items:center;justify-content:flex-start!important;gap:10px;min-height:40px;font-size:12px}.satellite-categories input{accent-color:#b4c5d3;width:18px;height:18px}.satellite-categories i{width:6px;height:6px;border-radius:50%}.satellite-categories small{color:#8fa0b6;font-size:11px;line-height:1.5;margin-top:6px}
.speed-wheel [role=slider]{background-position-x:var(--speed-offset,0px)}.speed-wheel small{font-size:16px;color:#aab9ca}.speed-wheel>span{font-size:8px}#speedChoice{width:min(360px,calc(100vw - 32px));padding:20px;border:1px solid #d5deed26;background:#111e2bed;border-radius:20px;backdrop-filter:blur(20px);color:#e6edf5}#speedChoice::backdrop{background:#02071188}#speedChoice h2{font-size:20px;margin:0}#speedChoice p{font-size:12px;color:#9fb0c6;line-height:1.5}.speed-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.speed-choices button{min-height:48px;background:#ffffff06;box-shadow:none;border-color:#ffffff18}.speed-choices button[aria-pressed=true]{border-color:#d9b783;color:#f1d5ae;background:#d9b78316}
#speedChoice{max-height:88dvh;overflow:auto}.speed-choices .speed-stop{grid-column:1/-1}.speed-choices>small{text-align:center;color:#94a8bf;padding:6px}
:is(#placeSearch,.place-picker){width:min(960px,calc(100vw - 20px));max-width:none;max-height:94dvh;padding:16px;border-radius:20px;overflow:auto}:is(#placeSearch,.place-picker) .console-head{padding:0!important;margin:0 0 12px}:is(#placeSearch,.place-picker) h2{margin:4px 0;font-size:24px}:is(#placeSearch,.place-picker) :is(#placeForm,.placeForm){display:flex;gap:8px}:is(#placeSearch,.place-picker) :is(#placeQuery,.placeQuery){flex:1;min-width:0;font-size:16px;min-height:46px}:is(#placeSearchStatus,.placeSearchStatus){font-size:12px;color:#a6b7cc;margin:10px 0}:is(#placeSearch,.place-picker) .place-layout{display:flex;flex-direction:column;gap:12px}:is(#placeSearch,.place-picker) .place-layout>div:last-child{order:0}:is(#placeSearch,.place-picker) :is(#placeResults,.placeResults){order:1;display:flex;gap:8px;overflow:auto;max-height:100px;padding:2px 0 8px;scroll-snap-type:x proximity}:is(#placeSearch,.place-picker) :is(#placeResults,.placeResults) button{flex:0 0 160px;min-height:52px;text-align:left;font-size:12px;padding:10px 12px;background:#ffffff06;border-color:#ffffff12;box-shadow:none;scroll-snap-align:start}:is(#placeSearch,.place-picker) :is(#placeMap,.placeMap){height:clamp(240px,43dvh,470px);min-height:0;border:1px solid #ffffff16;border-radius:14px;overflow:hidden;background:#142638}:is(#placeSelected,.placeSelected){font-size:12px;color:#c5d1df;margin:10px 0;line-height:1.5}:is(#placeSearch,.place-picker) :is(#confirmPlace,.confirmPlace){min-height:46px;width:100%;background:#cbaa7520;border-color:#cbaa7540}:is(#placeSearch,.place-picker)>small{display:block;font-size:10px;color:#8e9fb4;line-height:1.5;margin-top:12px}.place-pin{width:18px;height:18px;border:3px solid #fff5df;border-radius:50%;background:#bd8238;box-shadow:0 0 0 6px #c7944244,0 3px 12px #0008}:is(#placeMap,.placeMap) .leaflet-container{background:#142638}@media(max-width:600px){:is(#placeSearch,.place-picker){padding:12px;width:calc(100vw - 12px);max-height:96dvh}:is(#placeSearch,.place-picker) .eyebrow{display:none}:is(#placeSearch,.place-picker) :is(#placeMap,.placeMap){height:40dvh;min-height:230px}:is(#placeSearch,.place-picker) :is(#placeResults,.placeResults) button{flex-basis:140px}:is(#placeSearch,.place-picker) :is(#placeResults,.placeResults){max-height:82px}}
/* Identical player order in both observing views: readout, time, speed, Play. */
:is(#timeline,.exploration-clock) .time-label,#skyPanel .compact-clock #compactClockReadout{order:0}:is(#timeline,.exploration-clock)>.time-wheel,#skyPanel .compact-clock>.time-wheel{order:1;flex:1;min-width:60px}:is(#timeline,.exploration-clock)>.speed-wheel,#skyPanel .compact-clock>.speed-wheel{order:2}:is(#timeline,.exploration-clock) .time-controls,#skyPanel .compact-clock>#skyPlay{order:3;flex:none}:is(#timeline,.exploration-clock) :is(#play,[data-play]),#skyPanel .compact-clock>#skyPlay{width:44px;height:44px;min-width:44px;border:1px solid #d6b98866;border-radius:50%;background:#eac08b0d;box-shadow:none;padding:0;display:grid;place-items:center;aspect-ratio:1}:is(#timeline,.exploration-clock) :is(#play,[data-play]) svg,#skyPanel #skyPlay svg{width:25px;height:25px}
@media(max-width:650px) and (orientation:portrait){:is(#timeline,.exploration-clock),.sky-view #skyPanel .sky-time-dock.compact-clock{grid-template-columns:minmax(82px,1fr) minmax(130px,1.2fr) 44px}:is(#timeline,.exploration-clock)>.speed-wheel,#skyPanel .compact-clock>.speed-wheel{grid-column:2;grid-row:1}:is(#timeline,.exploration-clock) :is(#play,[data-play]),#skyPanel #skyPlay{grid-column:3;grid-row:1}:is(#timeline,.exploration-clock)>.time-wheel,#skyPanel .compact-clock>.time-wheel{grid-column:1/-1;grid-row:2}}
#skyRenderSettings:not(.settings-with-done){overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;touch-action:pan-y;box-sizing:border-box;max-width:100vw}#skyRenderSettings>*{min-width:0;max-width:100%;box-sizing:border-box}#skyRenderSettings .setting-row{min-width:0;gap:12px;overflow-wrap:anywhere}#skyRenderSettings .setting-row>select{min-width:0;max-width:65%;width:auto}#skyRenderSettings input[type=number]{min-width:0;max-width:100%}#skyRenderSettings .calendar-heading{grid-template-columns:36px minmax(0,1fr) 70px 36px}#skyRenderSettings .calendar-heading input,#skyRenderSettings .calendar-heading select{width:100%;max-width:100%;min-width:0}#skyRenderSettings .coord-row{min-width:0;max-width:100%}#skyRenderSettings .coord-row label{min-width:0;flex:1}#currentObserverPlace{line-height:1.7;font-size:12px;color:#dac7a9;overflow-wrap:anywhere}#skyRenderSettings input[type=range]{max-width:100%;min-width:0}#skyRenderSettings .setting-row input[type=range]{width:40%;flex:0 1 40%}

/* Three destinations, one local discovery entry. */
header nav [hidden],#skySettingsToggle,#moduleDiscover{display:none!important}
#discoverSky{position:static!important;margin:0!important;min-height:44px}
.selection-caption{display:block;letter-spacing:.12em;font-size:9px;opacity:.6;margin-bottom:5px}
.object-card{max-height:min(65dvh,480px);overflow-y:auto;overflow-x:hidden}.object-card dl{font-size:11px}.object-card dt{max-width:125px}

.learning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.learning-grid button{text-align:left;padding:22px;display:flex;flex-direction:column;gap:10px;background:#15213188;border:1px solid #b5c7dc22;border-radius:16px}.learning-grid strong{font-size:19px}.learning-grid small{color:#d9b782}.learning-grid span{color:#a7b6c8;font-size:14px}.learning-filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.learning-filters button,.learning-back{padding:12px 16px}.learning-filters [aria-pressed=true]{color:#edc48a;background:#233044}.learning-reading{max-width:760px;margin:24px auto;line-height:1.8}.learning-reading h2{margin:28px 0 8px;font-size:20px}.learning-reading p{color:#bfcbd9}.article-lead{font-size:22px}.learning-back{margin-bottom:12px}.article-source{font-size:12px}#learning .lesson-tabs[hidden],#learning .lesson-layout[hidden]{display:none!important}#learning{padding:24px!important;overflow-x:hidden}#learning .section-title{margin:0!important;padding:0!important}#learning .section-title h1{font-size:clamp(26px,4vw,42px)}

.sky-view-tools #renderSettingsButton{display:none!important}
#soundPanel{max-height:calc(100dvh - 100px);overflow-y:auto;overflow-x:hidden}#soundPanel select{max-width:100%;min-width:0}#soundPanel label:has(#soundScore){display:flex;flex-direction:column;align-items:stretch}#soundPanel a{display:block;margin-top:14px;font-size:12px;color:#d9b782}

header nav{grid-template-columns:repeat(3,minmax(0,1fr))}

.learning-grid .lesson-thumbnail{aspect-ratio:640/340;object-fit:contain;border-radius:10px}.difficulty{display:inline-block;align-self:flex-start;padding:5px 10px;border-radius:8px;font-size:11px;letter-spacing:.02em;background:#a3c9b51a;color:#a3c9b5}.difficulty.level-1{background:#b5c9ed1a;color:#b5c9ed}.difficulty.level-2{background:#dfba861a;color:#dfba86}.lesson-figure{margin:22px 0}.lesson-figure img{width:100%;height:auto}.lesson-figure figcaption{font-size:12px;line-height:1.5;color:#8da2ba;margin-top:6px}

/* Discovery is a labelled action, not a square icon control. */
#appToolbar #viewCluster #discoverSky{width:auto;min-width:116px;max-width:none;padding:0 14px;gap:8px;flex:0 0 auto;white-space:nowrap;border-radius:22px;border:1px solid #e8c89535;background:linear-gradient(140deg,#283442db,#142230db);color:#f0d4a6;font-size:13px;font-weight:500;letter-spacing:.01em;box-shadow:0 3px 14px #0002;transition:background .2s,border-color .2s}
#appToolbar #viewCluster #discoverSky svg{width:20px;height:20px;min-width:20px;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
#appToolbar #viewCluster #discoverSky span{display:block;line-height:1;flex:none}
#appToolbar #viewCluster #discoverSky:hover{border-color:#e8c89570;background:#293949db}
#appToolbar #viewCluster #discoverSky:active{background:#364656db}
#appToolbar #viewCluster #discoverSky:focus-visible{outline:2px solid #e8c895;outline-offset:3px}
@media(max-width:380px){#appToolbar #viewCluster #discoverSky{min-width:106px;padding:0 11px;gap:6px}}
:is(#timeline,.exploration-clock) #orbitDateReadout{padding:0 3px;min-height:28px;background:transparent;border:0;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text)}
#orbitDateSettings{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
@media(max-width:650px){:is(#timeline,.exploration-clock) #orbitDateReadout{font-size:11px}}
/* One compact discovery catalogue; phones use list -> detail -> back. */
#catalogDialog{width:min(1000px,calc(100vw - 16px));height:min(820px,calc(100dvh - 16px));inset:0;margin:auto}
#catalogScope{margin:3px 0 0;font-size:11px}
#catalogDialog #catalogFilters{flex-wrap:wrap;white-space:normal;overflow:visible;gap:5px}
#catalogFilters button{padding:5px 10px;min-height:36px;border-radius:18px}
#catalogDialog .catalog-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr);gap:16px;overflow:hidden}
#catalogList{gap:7px;padding:0 5px 0 0;overflow-x:hidden;overscroll-behavior:contain}
#catalogDialog .poi-tile{display:flex;min-height:86px;padding:9px;gap:10px;border-radius:12px;border:1px solid #ffffff12;background:#ffffff03;width:100%}
#catalogDialog .poi-tile[aria-pressed=true]{border-color:#eac08b66;background:#eac08b09}
#catalogDialog .poi-tile img{width:66px;height:66px;border-radius:9px;flex:none}
#catalogDialog .poi-tile>div{min-width:0;flex:1;padding:0}
#catalogDialog .poi-tile .eyebrow{font-size:8px;letter-spacing:.7px;line-height:1.4}
#catalogDialog .poi-tile strong{font-size:13px;line-height:1.3;margin:4px 0;overflow-wrap:anywhere}
#catalogDialog .poi-tile p{font-size:11px;line-height:1.35;color:var(--muted)}
.poi-chevron{font-size:22px;color:var(--muted);flex:none}
#catalogDetail{overflow-x:hidden;padding:0 6px 12px 0;overscroll-behavior:contain}
#catalogDetail .discovery-body>img{height:160px;border-radius:12px;margin-bottom:12px}
#catalogDetail h2{font-size:21px;line-height:1.2;margin:9px 0}
#catalogDetail h3{font-size:14px;margin-bottom:6px}
#catalogDetail p{font-size:13px;line-height:1.55}
.catalog-back,.mobile-camera-actions{display:none}
@media(max-width:650px){
 #appToolbar #viewCluster #levelView{display:none}
 #appToolbar #navigationCluster #planetPicker{width:44px;min-width:44px;padding:0}
 #appToolbar #navigationCluster #planetPicker span{display:none}
 .mobile-camera-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
 #catalogDialog{width:calc(100vw - 8px);height:calc(100dvh - 8px)}
 #catalogDialog .catalog-layout{display:block;height:100%;min-height:0}
 #catalogDialog #catalogList{height:100%;padding-right:0}
 #catalogDialog #catalogDetail{display:none;height:100%;padding:0 0 12px}
 #catalogDialog.catalog-detail-open #catalogList{display:none}
 #catalogDialog.catalog-detail-open #catalogDetail{display:block}
 #catalogDialog.catalog-detail-open #catalogFilters{display:none}
 #catalogDialog.catalog-detail-open{grid-template-rows:auto minmax(0,1fr)}
 #catalogDialog .catalog-back{display:block;margin:0 0 12px;min-height:44px;background:transparent;border-color:#ffffff20}
 #catalogDialog #catalogFilters button{min-height:40px;font-size:10px;padding:5px 9px}
 #catalogDialog .poi-tile img{width:60px;height:60px}
 #catalogDetail .discovery-body>img{height:145px}
}
@media(max-height:500px) and (orientation:landscape){#catalogDialog #catalogFilters button{min-height:32px}#catalogDetail .discovery-body>img{height:95px}}
#appToolbar #planetPicker{display:none!important}
#catalogDialog .poi-planet{width:62px;height:62px;flex:none;border-radius:50%;background-size:auto 100%;background-position:center;box-shadow:inset -15px -5px 18px #000b,inset 2px 1px 4px #ffffff20;margin:2px}
@media(max-width:650px){#catalogDialog .poi-planet{width:56px;height:56px}}
#catalogDialog #catalogFilters{flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;overflow-y:hidden;min-width:0;max-width:100%;scrollbar-width:thin;overscroll-behavior-x:contain;padding-bottom:4px;touch-action:pan-x}
#catalogDialog #catalogFilters button{flex:0 0 auto;min-height:36px;padding:5px 11px;font-size:11px;border-radius:18px}
html,body{overscroll-behavior:none;touch-action:pan-x pan-y}input,select,textarea{font-size:16px!important}button,a{touch-action:manipulation}canvas,#space,#sizeComparison,.time-wheel,.speed-wheel{touch-action:none}
.date-dials>label,.inline-hour>label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin:12px 0;color:var(--muted);font-size:12px}.date-dials output,.inline-hour output{color:var(--text);font-size:16px;font-variant-numeric:tabular-nums}.date-dials input,.inline-hour input{width:100%;min-height:32px;margin:0;accent-color:var(--accent)}.year-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.year-steps button{font-size:11px;min-height:44px;padding:4px;border-radius:10px;background:#ffffff05}
.speed-wheel [role=slider]{position:relative;overflow:hidden;background:#0b1420;isolation:isolate}.shuttle-ticks{position:absolute;inset:7px 8px;background:repeating-linear-gradient(90deg,#b8c8db33 0 1px,transparent 1px 7px);background-position-x:var(--speed-offset,0px);z-index:-1;opacity:.6}.shuttle-center{position:absolute;width:2px;top:3px;bottom:3px;left:50%;background:#eac08b88;z-index:-1}.speed-wheel strong{background:#101d2bd9;padding:3px 5px;border-radius:5px}.speed-wheel>span{font-size:9px!important}
header .sound-console,#soundButton{display:none!important}#audioSettingsDialog #soundPanel{position:static;inset:auto;width:100%;max-width:none;max-height:none;overflow:visible;padding:0;border:0;background:transparent;box-shadow:none;transform:none}#audioSettingsDialog{overflow-y:auto}.settings-audio{width:100%;margin-top:14px;min-height:44px}
.sky-view #appToolbar #viewCluster #reset{display:flex!important}.settings-reset{width:100%;min-height:44px;margin-top:16px;background:#ffffff05}.tracking-status[hidden]{display:none!important}
@media(max-width:650px){#appToolbar #viewCluster #discoverSky{min-width:100px;padding:0 10px}#appToolbar #viewCluster{gap:5px}}
.planet-label,.moon-marker{transition:opacity .25s ease}.comparison-zoom{display:none!important}#comparison{grid-template-rows:auto auto minmax(0,1fr) auto;padding-bottom:max(12px,env(safe-area-inset-bottom))}#sizeComparison{height:100%;min-height:180px;width:100%;align-items:center;justify-content:flex-start;padding:12px 18px;gap:20px;overscroll-behavior:contain}#sizeComparison .size-body{min-width:35px;flex:none;position:relative;text-align:center;font-size:11px}#comparison .section-title{margin:0;padding:0}#comparison .section-title h1{font-size:25px;margin:8px 0}#comparisonFact{font-size:11px;line-height:1.4;max-height:3em;overflow:auto;margin:6px 0}
.city-map-label.leaflet-tooltip{background:transparent;border:0;box-shadow:none;color:#dce6ea;font-size:11px;text-shadow:0 1px 3px #000}.city-map-label:before{display:none}.leaflet-container{background:#101d2b!important}.leaflet-control-attribution{font-size:8px!important;background:#101d2be0!important;color:#adb9c6}:is(#confirmPlace,.confirmPlace){width:100%;border:1px solid #eac08b55;background:#eac08b16;color:#f1d4a7;min-height:44px;border-radius:14px}.place-layout{min-width:0}:is(#placeResults,.placeResults){min-width:0;overflow-x:hidden}:is(#placeMap,.placeMap){touch-action:none}
.lesson-formula{padding:18px;border-left:2px solid var(--gold,#dec49c);font-size:1.2rem;overflow-wrap:anywhere;background:#ffffff05}.lesson-exercise{margin:28px 0;padding:20px;border:1px solid #ffffff18;border-radius:16px}.lesson-exercise summary{min-height:44px;display:flex;align-items:center;color:#e7c89b;cursor:pointer}.lesson-exercise details[open] summary{opacity:.65}
#birthSkyDialog{overflow-x:hidden;overflow-y:auto}#birthSkyDialog h2{font-size:24px}#birthTimeOptions{display:flex;flex-wrap:wrap;gap:8px}#birthTimeOptions p{width:100%;margin:4px 0}#birthTimeOptions button{flex:1;min-height:44px;font-size:12px}#birthTimeOptions [aria-pressed=true]{border-color:#eac08b80;background:#eac08b16}.birth-place,.birth-open{width:100%;min-height:48px;line-height:1.5;padding:12px;white-space:normal}.birth-place{text-align:left;margin-top:16px}#birthFacts{display:grid;gap:10px;margin:18px 0}#birthFacts>div{padding:12px 14px;border-radius:12px;background:#ffffff05;border:1px solid #ffffff0c}#birthFacts small{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}#birthFacts strong{font-size:14px;font-weight:400;line-height:1.5}.birth-open{background:#eac08b20;color:#efcf9c;border-color:#eac08b55}#birthError{color:#efc39c}
#measurementOverlay{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden}#measurementOverlay path{fill:none;stroke:#ead2a1;stroke-width:1;stroke-dasharray:4 5;opacity:.7}#measurementOverlay circle{fill:#ead2a1;stroke:#111b28;stroke-width:2}#measurementPanel{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:8;display:flex;align-items:center;gap:8px;width:min(520px,calc(100% - 24px));max-width:calc(100% - 24px);border:1px solid #dce6f01c;border-radius:14px;background:#101a27ed;padding:9px 10px 9px 14px;transition:opacity 1.8s}#measurementPanel>div{min-width:0;flex:1}#measurementPanel small,#measurementPanel strong,#measurementPanel span{display:block}#measurementPanel small{font-size:11px;color:#c7b899;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#measurementPanel strong{overflow-wrap:anywhere;font-size:16px;font-weight:400;line-height:1.6;font-variant-numeric:tabular-nums}#measurementPanel span{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:10px;line-height:1.5;color:var(--muted);max-width:420px}#measurementPanel button{flex:none;min-width:44px;min-height:44px;padding:5px;font-size:11px;background:transparent;border-color:transparent}#measurementPanel #measureDistance{color:#e4cfaa;font-size:12px}#measurementPanel #measureAgain{width:6.8em;min-width:44px;white-space:normal;overflow-wrap:anywhere;line-height:1.35}#measurementPanel #measureClose{width:44px;font-size:23px}.settings-measure{width:100%;margin-top:14px;min-height:44px}@media(max-width:650px){#measurementPanel{bottom:calc(108px + env(safe-area-inset-bottom,0px));gap:3px;width:calc(100% - 24px)}#measurementPanel>div{flex:1}#measurementPanel strong{font-size:14px}#measurementPanel span{font-size:9px}}@media(max-height:500px) and (orientation:landscape){#measurementPanel{bottom:76px;max-width:65%;padding:5px 10px}#measurementPanel strong{font-size:14px}}

.learning-lab{margin:28px 0;padding:20px;border:1px solid #c6d6e323;border-radius:20px;background:#10202b66}.learning-lab h2{margin:6px 0 12px}.learning-lab svg{display:block;width:100%;height:auto;max-height:300px}.learning-lab svg text{font:13px sans-serif;fill:#c7d6df}.lab-orbit{fill:none;stroke:#9eb9ca;stroke-width:1.2}.lab-guide{fill:none;stroke:#a7bccb66;stroke-dasharray:4 5}.lab-controls{display:grid;gap:14px}.lab-controls label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px;font-size:13px}.lab-controls input{grid-column:1/-1;width:100%;min-width:0;min-height:44px;accent-color:#d4bb8e;touch-action:pan-y}.lab-controls output{color:#ecd1a0}.lab-result{display:block;margin:16px 0;color:#eed4a5;font-size:15px}.learning-lab small,.lab-source{display:block;font-size:12px;line-height:1.6;color:#a4b4c2}.lab-source{margin-top:12px;min-height:44px;padding:10px 0}.learning-filters button{min-width:44px;min-height:44px}@media(max-width:430px){.learning-lab{padding:12px;margin:20px 0}.learning-lab svg text{font-size:15px}.lab-controls label{font-size:12px}}
/* Guided missions share the ordinary viewport, clock and navigation. */
:is(#missionSteps,.journey-steps){padding:0 12px;min-width:60px;white-space:nowrap}
.mission-label{position:absolute;transform:translate(-50%,5px);padding:12px 9px;background:transparent;border:0;color:#c6e2df;font-size:12px;white-space:nowrap;text-shadow:0 1px 5px #000;pointer-events:auto}
.mission-label[hidden],:is(#missionSteps,.journey-steps)[hidden]{display:none!important}
.mission-stages{display:grid;gap:0;margin:18px 0;padding:0;list-style:none}.mission-stages>li{position:relative;padding:0 0 14px 26px;min-width:0}.mission-stages>li::before{content:"";position:absolute;left:7px;top:22px;bottom:-22px;width:1px;background:#c9b18a40}.mission-stages>li:last-child::before{display:none}.mission-stages>li::after{content:"";position:absolute;left:3px;top:21px;width:9px;height:9px;box-sizing:border-box;border:1px solid #c9b18a88;border-radius:50%;background:#15202d}.mission-stages>li:has([aria-current=step])::after{background:#e6c695;border-color:#e6c695;box-shadow:0 0 0 3px #e6c69514}
.mission-stages button{display:grid;gap:5px;text-align:left;width:100%;padding:14px;border:1px solid #bed5d51c;border-radius:14px;background:#b9c8dc06;white-space:normal;min-width:0;min-height:44px}
.mission-stages button[aria-current=step]{border-color:#b7d3d367;background:#b7d3d312}
.mission-stages small,.mission-limits,.mission-future{font-size:12px;color:#a6b3c4;line-height:1.6}
.mission-stages strong{font-size:17px;font-weight:500}.mission-stages span{font-size:13px;color:#afbed0;line-height:1.5}
.mission-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mission-metrics span{display:grid;gap:4px;padding:10px;background:#bed5d508;border-radius:10px}.mission-metrics small{font-size:11px;color:#9aabbd}.mission-metrics strong{font-size:15px;font-weight:500}
.mission-actions{display:grid;gap:8px}.mission-actions button,.mission-exit{min-height:44px;padding:10px 14px}.mission-future{display:flex;align-items:center;gap:10px;margin-top:16px;min-height:44px}.mission-source{display:block;margin:16px 0;color:#b5d1d8;font-size:13px}.mission-exit{width:100%;color:#bcc9d5}
:is(#missionDialog,.journey-dialog){overflow-x:hidden}:is(#missionDialog,.journey-dialog)>*{min-width:0;max-width:100%}.mission-intro{line-height:1.6;color:#bac7d4}:is(#missionSteps,.journey-steps){transition:opacity 1.4s}
@media(max-width:430px){:is(#missionSteps,.journey-steps){padding:0 8px;min-width:52px;font-size:12px}.mission-stages button{padding:12px}.mission-metrics{gap:6px}}
.gravity-settings{margin-top:22px;padding-top:10px;border-top:1px solid #b9d1df18}.gravity-settings small{font-size:12px;line-height:1.6;color:#96a9bd}.gravity-target{color:#bfccd8;font-size:13px}.gravity-readout{font-size:13px;line-height:1.6;color:#c8bca7}.gravity-settings input[type=range]{max-width:46%}
.article-deeper{margin:24px 0;padding:16px 18px;border:1px solid #a9c1d225;border-radius:14px;background:#b5c8dd04}.article-deeper summary{cursor:pointer;min-height:44px;display:flex;align-items:center;line-height:1.5;color:#d8c49d}.article-deeper p{line-height:1.8}.learning-reading .lesson-formula{overflow-wrap:anywhere}.learning-lab svg text{font-size:16px}
.article-explore{width:100%;min-height:48px;margin:24px 0;padding:12px 18px;background:#b5cbb312;border-color:#c8d1b847;color:#dce4d3}

/* Compact place chooser: one vertical flow, no sideways list. */
:is(#placeHere,.placeHere){width:100%;min-height:44px;margin-bottom:8px;background:#bcded51a;border:1px solid #bcded544}
:is(#placeSearch,.place-picker) :is(#placeResults,.placeResults){display:grid;grid-template-columns:1fr;max-height:150px;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none}
:is(#placeSearch,.place-picker) :is(#placeResults,.placeResults) button{min-width:0;min-height:44px;flex:auto;overflow-wrap:anywhere}
:is(#placeSearch,.place-picker) .place-layout{margin:10px 0}:is(#placeSearch,.place-picker) :is(#placeSelected,.placeSelected){overflow-wrap:anywhere}
@media(max-width:600px){:is(#placeSearch,.place-picker){box-sizing:border-box;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px)}:is(#placeSearch,.place-picker) :is(#placeMap,.placeMap){height:29dvh;min-height:160px}:is(#placeSearch,.place-picker) :is(#placeResults,.placeResults){max-height:110px}:is(#placeSearch,.place-picker) :is(#confirmPlace,.confirmPlace){position:sticky;bottom:0;background:#263840}:is(#placeSearch,.place-picker)>small{font-size:10px}#teachingScale{min-width:100px}}

#directPlaceSettings .date-shortcuts{display:grid;grid-template-columns:minmax(70px,1fr) minmax(0,2fr);gap:8px}#directPlaceSettings #locate{width:auto;min-width:70px;min-height:46px;border-radius:12px;font-size:16px}#directPlaceSettings select{min-width:0;max-width:65%;font-size:16px}#directPlaceSettings .setting-row{min-width:0}#surfaceSettings input{min-width:0;max-width:100%;box-sizing:border-box}

:is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){left:max(10px,env(safe-area-inset-left));right:auto;top:auto;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 90px);max-width:min(220px,50vw);min-height:44px;padding:4px 9px;border:0;background:transparent;box-shadow:none;font-size:11px;font-weight:400;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}#skyStatus{display:none!important}@media(max-width:600px){:is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){font-size:10px;max-width:45vw;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 112px)}}

#updateNotice{position:fixed;inset:0 0 auto 0;transform:none;width:100%;max-width:none;height:3px;padding:0;border:0;border-radius:0;background:transparent;z-index:1000;pointer-events:none;opacity:.75}#updateNotice .download-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#updateNotice progress{display:block;width:100%;height:3px;border:0;accent-color:#aacbc7;background:#ffffff08}#updateNotice progress::-webkit-progress-bar{background:#ffffff08}#updateNotice progress::-webkit-progress-value{background:#aacbc7}
.organized-settings{overflow-x:hidden!important;scrollbar-width:thin}.organized-settings .settings-group,.organized-settings #orbitSatelliteControls,.organized-settings .gravity-settings,.organized-settings #satelliteControls{margin:14px 0 0;padding:12px 0 0;border-top:1px solid #ffffff12;min-width:0}.organized-settings h3{font-size:12px;letter-spacing:.04em;color:#d8e2e9;margin:0 0 10px}.organized-settings .setting-row{min-height:44px;margin:0;gap:12px;font-size:13px}.organized-settings .setting-row select{max-width:60%;min-width:0}.organized-settings .settings-info{margin:2px 0 8px;border:0;background:none;padding:0}.organized-settings .settings-info>summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;list-style:none;cursor:pointer;color:#9eb2c3;font:italic 15px var(--ui-font);border:0;background:none}.organized-settings .settings-info>summary::-webkit-details-marker{display:none}.organized-settings .settings-info>summary::after{content:none}.organized-settings .settings-info[open]{border-left:1px solid #aec7d133;padding-left:10px}.organized-settings .settings-info small,.organized-settings .settings-info p{font-size:12px;line-height:1.6;color:#9faebd;margin:0 0 8px}.organized-settings .body-layers h3{display:none}.organized-settings .settings-reset{margin-top:20px;width:100%;background:transparent;color:#a9b8c6}.organized-settings .sky-effects{display:grid;gap:8px}

/* A gesture starting on a moving label belongs to the 3D viewport, not page scrolling. */
#labels,.planet-label,.moon-marker,.mission-label{touch-action:none}

/* Compact selection card: actions first, scientific details on demand. */
.object-card{width:280px;background:rgba(9,17,27,.88)}
.object-card .selection-caption{font-size:9px;letter-spacing:.1em;color:#93a4b6;margin-bottom:4px}
.object-card strong{font-size:17px;padding-right:38px}
.object-card p{margin:4px 38px 12px 0;font-size:12px}
.object-card>.object-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.object-card>.object-actions button{width:100%;min-height:44px;margin:0;padding:8px;font-size:12px;border-radius:10px;line-height:1.3;background:#dbe5f206}
.object-card>.object-actions button:first-child{background:#dec49b12;border-color:#dec49b36}
.object-card .object-facts{margin-top:10px;border-top:1px solid #dbe5f215}
.object-card .object-facts h3{margin:12px 0;font-size:12px;font-weight:500;color:#aab9c9}
.object-card .object-facts dl{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:9px 12px;margin:0 0 4px;line-height:1.5}
.object-card .object-facts dt,.object-card .object-facts dd{max-width:none;min-width:0;overflow-wrap:anywhere}
@media(max-width:520px){.object-card{width:min(320px,calc(100% - 24px));padding:12px 14px;border-radius:16px}.object-card strong{font-size:16px}.object-card .object-facts dl{font-size:12px}}


#orbitCenterGroup,#skyCenter{margin-left:auto;background:#0b142080;border:1px solid #dce6f014;border-radius:12px;max-width:45vw}
#orbitCenterGroup button,#skyCenter button{min-height:44px;font-size:11px;padding:5px 8px;background:transparent;border:0}
#orbitCenterGroup #releaseOrbit,#skyCenter #releaseTracking{min-width:36px;padding:0;font-size:18px}
.hud-control{box-shadow:none!important}.hud-control svg{width:20px;height:20px}
#appToolbar #orbitCenterGroup,#appToolbar #skyCenter{position:absolute;left:auto;right:0;top:50px;max-width:min(300px,75vw)}

.learning-back{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:8px;min-height:44px;margin:0 0 12px;padding:8px 12px;border:0;border-radius:12px;background:#0c1524ed;backdrop-filter:blur(12px);font-size:13px}.learning-back svg{flex:none}.learning-family{font-size:18px;font-weight:400;margin:26px 0 12px}.related-concept{border-top:1px solid #dbe5f220;margin-top:28px;padding-top:12px}.learning-grid .lesson-thumbnail{object-fit:contain;background:#101d2d;padding:6px}.learning-grid>button{overflow:hidden}

body:has(#learning:not([hidden])) #viewSettings,body.article-open #viewSettings,body:has(#comparison:not([hidden])) #viewSettings{display:none!important}
#learning .learning-back:not([hidden]),#comparison .learning-back{display:flex!important;opacity:1!important;pointer-events:auto!important}
.article-toolbar #articleBack{display:flex;align-items:center;gap:8px;min-height:44px;border:0;background:transparent;font-size:13px}
.article-toolbar{z-index:5}.article-toolbar svg{flex:none}
/* A light, event-driven stellar view{display:none!important}
.stellar-top{position:absolute;top:calc(var(--header-height,64px) + env(safe-area-inset-top) + 12px);left:16px;display:flex;gap:8px;align-items:center;pointer-events:none}.stellar-top button{pointer-events:auto}.stellar-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.stellar-top .hud-control{display:flex;align-items:center;gap:8px}.stellar-back{width:44px;justify-content:center}.stellar-settings{width:min(460px,calc(100vw - 28px));max-height:calc(100dvh - 40px);padding:22px;border-radius:22px;background:#101c2df5;backdrop-filter:blur(16px);color:#dce6ef;border:1px solid #b4c5db23}.stellar-settings::backdrop{background:#03081280}.stellar-settings h2{font-size:21px;margin:0}.stellar-settings p{font-size:12px;line-height:1.65;color:#9fadc0}.stellar-settings summary{font-size:12px;cursor:pointer;padding:12px 0}.stellar-choices{display:grid;gap:16px;margin:20px 0}.stellar-choices label{display:grid;gap:6px;font-size:12px;color:#b0bfce;min-width:0}.stellar-choices select{min-height:44px;width:100%;font-size:16px;color:#e4cfaa;background:#101c29;border:1px solid #b7c6d52a;border-radius:10px;padding:0 10px;min-width:0}.stellar-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.stellar-foot button{font-size:12px;padding:4px 10px;min-height:44px;background:transparent;border:1px solid #aebdce26;border-radius:10px}.stellar-foot label{display:flex;align-items:center;gap:4px;min-height:44px}.stellar-star{position:absolute;top:35%;left:50%;transform:translateX(-50%);display:grid;gap:6px;padding:12px 16px;border:1px solid #b4c5db23;border-radius:14px;background:#0d1926ed;font-size:12px}.stellar-star[hidden]{display:none}.stellar-star strong{font-size:15px;font-weight:500}
@media(max-width:520px){.stellar-top{top:calc(78px + env(safe-area-inset-top));left:12px}.stellar-top .hud-control span{font-size:12px}}
@media(max-height:500px){.stellar-top{top:60px}}
.stellar-top{transition:opacity 1.4s ease}
/* One quiet lock-and-name marker shared by space and sky navigation. */
/* Reserve the close button before measuring the name; flex intrinsic sizing
   could shrink even short labels such as Earth on Safari. */
#orbitCenterGroup,#skyCenter{display:grid;grid-template-columns:minmax(0,1fr) 44px;width:max-content}
#orbitCenterGroup #releaseOrbit,#skyCenter #releaseTracking{width:44px;min-width:44px;box-sizing:border-box}
#orbitCenterGroup #orbitCenter,#skyCenter #skyCenterLabel{max-width:none;width:auto;min-width:0}

#orbitCenter,#skyCenterLabel{display:inline-flex;align-items:center;gap:7px;min-width:0;text-align:left}
.tracking-lock{width:15px;height:15px;flex:0 0 15px;opacity:.75}
.tracking-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Pre-rendered, contextual discovery scenes: consistent crop in list and detail. */
#catalogDialog .poi-tile img{width:96px;height:60px;object-fit:contain;background:#080e18db;border-radius:8px}
#catalogDetail .discovery-body>img{max-height:230px;object-fit:contain;background:#080e18}
@media(max-width:420px){#catalogDialog .poi-tile{gap:9px;padding:8px}#catalogDialog .poi-tile img{width:80px;height:50px}#catalogDialog .poi-tile .eyebrow{font-size:8px}#catalogDialog .poi-tile strong{font-size:13px}}

/* Device orientation belongs to the sky toolbar, between Discover and Settings. */
#appToolbar #viewCluster #sensor{display:none;width:44px;min-width:44px;height:44px;flex:0 0 44px;padding:0;position:relative!important}
.sky-view #appToolbar #viewCluster #sensor{display:flex}
#appToolbar #sensor[aria-pressed=true]{color:#eac08b;border-color:#eac08b66;background:#a47f3926}
#appToolbar #sensor:after{content:'';position:absolute;right:6px;top:6px;width:4px;height:4px;border-radius:50%;background:transparent}
#appToolbar #sensor[aria-pressed=true]:after{background:#eac08bdb}
#appToolbar #sensor[aria-busy=true]:after{border:1px solid #b8c6d3}
#appToolbar #sensor:focus-visible{outline:2px solid #eac08b;outline-offset:3px}
@media(max-width:400px){.sky-view #appToolbar #viewCluster #discoverSky{min-width:94px;font-size:12px;gap:5px;padding:0 8px}}

/* Stellar actions and the shared measuring tool remain accessible above the sky. */
.stellar-star{pointer-events:auto;max-width:calc(100% - 32px)}
.stellar-star button{min-height:44px;font-size:12px}

/* A compact reset chooser; scene gestures retain ownership of their contacts. */
#resetDialog{inset:0;margin:auto;width:min(390px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid #b4c5db35;padding:22px;background:#101c2a;color:var(--text)}
#resetDialog h2{font:25px var(--ui-font)}#resetDialog p{color:var(--muted);line-height:1.5;font-size:13px}.reset-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.reset-choices button{min-height:52px;white-space:normal;overflow-wrap:anywhere}.reset-choices button[aria-pressed=true]{background:#eac08b1c;border-color:#eac08b88}.reset-choices button[aria-pressed=true]:before{content:'✓ ';}#resetDialog footer{display:flex;justify-content:flex-end;gap:10px}#resetDialog button[value=confirm]{background:#dfbf94db;color:#152030}#resetDialog::backdrop{background:#02071188}
#space canvas,#skyCanvas,.planet-label{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

.learning-step{display:inline-grid;place-items:center;font:12px Arial,sans-serif;width:27px;height:27px;border:1px solid #eac08b66;border-radius:50%;margin-right:10px;vertical-align:middle;color:#eac08b}.learning-progressive>section{margin:30px 0}.learning-progressive .lesson-formula{white-space:normal;overflow-wrap:anywhere;line-height:1.8}.learning-exercise{margin-top:22px}.learning-exercise h3{font-size:14px;color:#e4c38d}.learning-exercise summary,.related-concept>summary{cursor:pointer;min-height:44px;padding:12px 0;line-height:1.6}.related-concept>summary{font-size:18px;color:#e4c38d}.related-concept>summary .difficulty{display:block;font-size:11px}.learning-progressive footer a{display:inline-block;min-height:44px;padding:10px 0}.learning-progressive details p{padding:10px 14px;border-left:2px solid #eac08b66}

/* A light orbital waiting scene; animation ends as soon as the app is ready. */
#loading{inset:0!important;background:radial-gradient(ellipse at 50% 42%,#17283a 0,#0b1422 35%,#080d17 72%)}
.loading-observatory{display:flex;align-items:center;flex-direction:column;gap:18px;text-align:center;padding:24px}
.loading-orbits{width:min(48vw,240px);overflow:visible;stroke:#a9c9df26;stroke-width:.8}
.loading-orbits .loading-sun{fill:#efd0a0;stroke:none;filter:drop-shadow(0 0 12px #efc37b80)}
.loading-orbits g{transform-origin:120px 120px;animation:observatory-orbit 9s linear infinite;fill:#bed6e5;stroke:none}
.loading-orbits .orbit-mid{animation-duration:16s;fill:#e4bc85}.loading-orbits .orbit-far{animation-duration:27s}
.loading-observatory strong{font-size:16px;letter-spacing:.38em;font-weight:400;padding-left:.38em;color:#ecdfc9}
.loading-observatory span{font-size:11px;letter-spacing:.04em;color:#9fafc3}
.loading-observatory>i{width:32px;height:1px;background:#e4bc8588;animation:observatory-breathe 2.2s ease-in-out infinite}
@keyframes observatory-orbit{to{transform:rotate(360deg)}}@keyframes observatory-breathe{50%{opacity:.25;transform:scaleX(.5)}}
#toast{pointer-events:none;max-width:min(420px,calc(100% - 32px));padding:9px 14px;border:1px solid #b8cce41c;border-radius:18px;background:#101d2be8;color:#cbd5e2;font-size:11px;line-height:1.5;box-shadow:0 5px 24px #0002;animation:notice-enter .22s ease-out}
@keyframes notice-enter{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
.object-card>.object-actions{gap:1px 4px;grid-template-columns:repeat(auto-fit,minmax(min(68px,100%),1fr))}
.object-card>.object-actions button,.object-card>.object-actions button:first-child{position:relative;isolation:isolate;min-height:44px;padding:7px 3px;font-size:10.5px;line-height:1.25;overflow-wrap:anywhere;border:0;background:transparent}
.object-card>.object-actions button::before{content:'';position:absolute;z-index:-1;inset:5px 0;border:1px solid #dbe5f21c;border-radius:9px;background:#dbe5f206}
.object-card>.object-actions button:hover::before,.object-card>.object-actions button:active::before{background:#dec49b15;border-color:#dec49b40}
@media(prefers-reduced-motion:reduce){.loading-orbits g,.loading-observatory>i,#toast{animation:none}}

/* Constant-size Voyager silhouette, with a generous touch target. */
.mission-label{gap:5px;transform:translate(-11px,-22px);padding:0 8px 0 0;height:44px;min-height:44px}.mission-label svg{width:22px;height:22px;fill:#0c1826;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #000)}.mission-label span{font-size:11px}

#objectSearch{width:44px;min-width:44px;padding:0}#objectSearch svg{width:21px;height:21px}#objectSearchDialog{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:20px;background:#101c2df5;border:1px solid #b4c5db23;border-radius:22px;color:#dce6ef}#objectSearchDialog::backdrop{background:#03081280}#objectSearchDialog h2{font-size:21px;margin:0}#objectSearchDialog input{width:100%;min-height:48px;margin:16px 0 6px;padding:10px 12px;border-radius:12px;border:1px solid #b7c6d53a;background:#080f1b;color:inherit}#objectSearchDialog p,#objectSearchDialog>small{font-size:12px;line-height:1.5;color:#9fadc0}.object-search-results{max-height:50dvh;overflow:auto;margin:12px 0;display:grid;gap:4px}.object-search-results button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 12px;border:0;border-radius:10px;background:#ffffff05;text-align:left}.object-search-results button:focus-visible{outline:2px solid #e4c38d}.object-search-results strong{font-weight:500;font-size:14px}.object-search-results span{font-size:10px;color:#9fadc0;max-width:48%;text-align:right}@keyframes stellar-lift{0%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){}

.stellar-top [aria-pressed="false"]{opacity:.55}.stellar-background{width:44px;justify-content:center}.stellar-step{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;font-size:12px;color:#b0bfce}.stellar-step select{min-height:44px;max-width:65%;background:#101c29;color:#e4cfaa;border:1px solid #b7c6d52a;border-radius:10px;padding:0 8px}
.stellar-settings.side-dock{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:min(1000px,100vw);max-width:1000px;border-radius:24px 0 0 24px;padding:30px;overflow:auto;box-shadow:-20px 0 80px #0008}
.stellar-settings .setting-row input[type=range]{min-width:80px;max-width:50%}

.object-search-results .search-item-icon{width:24px;min-width:24px;max-width:none;display:flex;color:#d2b782}.search-item-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.object-search-results strong{flex:1}.object-search-results button>span:last-child{flex-shrink:0}
/* Community controls use the existing quiet, translucent instrument palette. */
.community-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 22px}.community-actions p,.community-actions label{width:100%;font-size:12px}.community-actions button,.community-reminder button{min-height:44px;border:1px solid #60758d66;border-radius:12px;background:#22324680;color:#dbe7f2;padding:9px 14px;font:inherit}.community-actions button:hover,.community-reminder button:hover{background:#344b6480}.community-reminder{position:absolute;z-index:120;bottom:calc(115px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(420px,calc(100% - 28px));padding:18px;border:1px solid #8ba8c64d;border-radius:18px;background:#142130f5;color:#dae6f1;box-shadow:0 16px 50px #0005;font:14px/1.5 system-ui}.community-reminder p{margin:8px 0 14px}.community-reminder>div{display:flex;gap:8px;flex-wrap:wrap}.community-link{max-width:90vw}.community-link input{width:min(500px,75vw)}.share-poi{margin-top:8px}

/* Shared help hub: visible in Learn, compact in each settings header. */
.learning-about-bar{position:sticky;top:0;z-index:8;display:flex;gap:4px;flex-wrap:wrap;margin:-16px 0 18px;padding:8px 0;background:#0b1420f5;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.learning-about-bar button,.about-sections button{border:0;border-radius:10px;background:transparent;color:var(--muted);min-height:44px;padding:8px 12px;font:inherit;font-size:13px}
.learning-about-bar button:first-child{color:var(--text);font-weight:600}.learning-about-bar button:hover,.about-sections button:hover{color:var(--accent);background:#ffffff08}
#learning .learning-back{top:70px}
.console-head .about-help{margin-left:auto;flex:0 0 36px;width:36px;min-height:44px;padding:4px;border:0;background:transparent;color:var(--muted);font:18px Arial;border-radius:50%}
.console-head .about-help:hover{color:var(--accent);background:#ffffff08}
#aboutDialog{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;scroll-padding-top:100px}
#aboutDialog #closeAbout{position:sticky;top:0;float:right;z-index:12;background:var(--panel);min-width:44px;min-height:44px}
.about-sections{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:2px;padding:8px 0;background:#101824fa;border-bottom:1px solid var(--line)}
.about-section{padding:12px 0 20px;border-bottom:1px solid var(--line);scroll-margin-top:110px}.about-section h2{font-size:23px}.about-section h3{font-size:16px}.about-section a{color:var(--blue)}
.about-section .donate-link{display:inline-block;min-height:44px;padding:10px 14px;border:1px solid #a6c8df55;border-radius:12px;text-decoration:none;background:#a6c8df10}
@media(max-width:420px){.learning-about-bar button{font-size:12px;padding:6px 8px}.about-sections button{font-size:12px;padding:6px 8px}}
.stellar-top [data-lines-toggle],.stellar-top .stellar-reset{width:44px;min-width:44px;padding:0;justify-content:center}.stellar-discover{min-height:44px;font-size:12px;padding:0 10px}
@media(prefers-reduced-motion:reduce){.stellar-top{transition:none}}

/* Full-width settings on tablets; preserve keyboard focus on controls. */
@media(max-width:760px){.side-dock,.sky-settings,.stellar-settings.side-dock{width:100vw!important;max-width:100vw!important;left:0!important;right:0!important;border-radius:0!important}}
#resetDialog h2:focus{outline:none}
#resetDialog button:focus:not(:focus-visible){outline:none;box-shadow:none}
#resetDialog button:focus-visible{outline:2px solid #e8c895;outline-offset:3px}
#shareView{width:44px;min-width:44px;padding:0}#shareView svg{width:21px;height:21px}
.share-sheet{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:22px;border:1px solid #afc3db33;border-radius:24px;background:#101c2d;color:#e4edf7}.share-sheet::backdrop{background:#030812aa;backdrop-filter:blur(6px)}.share-sheet h2{font-size:21px;margin:0}.share-sheet p{font-size:13px;line-height:1.6;color:#b5c4d6}.share-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.share-options button,.share-options a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px;border:1px solid #ffffff20;border-radius:14px;background:#ffffff09;color:inherit;text-decoration:none;font:inherit;font-size:14px}.share-options .share-native{grid-column:1/-1;background:#e5c89e;color:#142136}.share-options :focus-visible{outline:2px solid #e8c895;outline-offset:3px}.share-sheet [role=status]{min-height:1.5em}.share-sheet .share-manual{width:100%;padding:12px;color:inherit;background:#080f1b;border:1px solid #ffffff40;border-radius:12px}
@media(max-width:420px){#appToolbar #viewCluster #discoverSky{width:44px;min-width:44px;padding:0}#appToolbar #viewCluster #discoverSky span{display:none}}


/* Shared one-row toolbar: back/search/share, Discover/settings{display:none!important}

/* Stable touch controls and compact settings on tablets. */
#appToolbar .hud-control svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#appToolbar button{color:var(--text,#dce6ef);-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
#appToolbar #viewCluster #discoverSky{width:44px!important;min-width:44px!important;max-width:44px!important;flex:0 0 44px;padding:0!important;gap:0}
#appToolbar #viewCluster #discoverSky span{display:none}
#appToolbar,#appToolbar #navigationCluster,#appToolbar #viewCluster{gap:4px;flex-wrap:nowrap}
@media(min-width:761px){.settings-with-done,.sky-settings,.stellar-settings.side-dock{width:min(480px,calc(100vw - 24px))!important;max-width:480px!important;left:auto!important;right:0!important;border-radius:20px 0 0 20px!important}}
.settings-with-done[open]{display:grid!important;grid-template-rows:minmax(0,1fr) auto;position:fixed;top:0!important;bottom:0!important;height:100dvh!important;max-height:100dvh!important;min-height:0;margin:0;padding:0!important;overflow:hidden!important;box-sizing:border-box}
.settings-scroll{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;padding:24px;box-sizing:border-box}
.settings-done{position:relative;z-index:3;min-width:0;padding:12px 24px max(12px,env(safe-area-inset-bottom));border-top:1px solid #ffffff20;background:#101c2ddb}
.settings-done button{width:100%;min-height:48px;background:#e5c89edb;color:#142136;border-radius:14px;font-size:16px;font-weight:600}
.settings-with-done .console-head>button:not(.about-help){display:none!important}
.side-dock:focus,.settings-scroll:focus,.console-head h2:focus{outline:none}
.side-dock,.sky-settings,.console-head,.setting-row,.settings-info{user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
.side-dock input,.side-dock textarea{user-select:text;-webkit-user-select:text}
.side-dock button:focus:not(:focus-visible),.side-dock summary:focus:not(:focus-visible){outline:none;box-shadow:none}
.organized-settings .settings-info>summary{width:auto;height:auto;min-height:32px;justify-content:flex-start;font:inherit;font-size:12px}
.organized-settings .settings-info>summary[hidden]{display:none}
.organized-settings .setting-row>.settings-explain-trigger{flex:1;min-width:0;min-height:44px;padding:0;text-align:left;color:inherit;background:none;border:0;border-radius:0;font:inherit;letter-spacing:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}
.organized-settings .setting-row>input[type=checkbox]{flex:none;margin-left:auto}
.settings-explain-trigger:focus-visible,.settings-done button:focus-visible{outline:2px solid #e8c895;outline-offset:3px}

/* One control column for every settings section, with no legacy info gutter. */
.settings-with-done .settings-scroll{padding:20px 24px;scrollbar-gutter:stable}
.settings-with-done .sky-checks,.settings-with-done .body-layers,.settings-with-done .satellite-categories{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:8px 0;padding:0;min-width:0}
.settings-with-done .stellar-foot{display:flex;flex-wrap:wrap;gap:8px}
.settings-with-done label.settings-check-row{display:grid!important;grid-template-columns:minmax(0,1fr) 22px;align-items:center;column-gap:16px;row-gap:0;width:100%;min-height:44px;margin:0;padding:6px 0;box-sizing:border-box;font-size:13px;line-height:1.45}
.settings-with-done .settings-label{min-width:0;overflow-wrap:anywhere;line-height:1.45}
.settings-with-done .settings-check-row>.settings-label{display:flex;align-items:center;gap:8px;grid-column:1;grid-row:1}
.settings-with-done label.settings-check-row>input[type=checkbox]{grid-column:2;grid-row:1;justify-self:end;align-self:center;flex:none;width:22px;height:22px;min-width:22px;max-width:22px;margin:0;padding:0;accent-color:#eac08b}
.settings-with-done .settings-label .settings-explain-trigger{display:block;flex:1;min-width:0;width:100%;min-height:32px;margin:0;padding:0;text-align:left;color:inherit;background:none;border:0;border-radius:0;font:inherit;line-height:inherit;letter-spacing:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}
.settings-with-done .satellite-categories .settings-label>i{display:inline-block;flex:0 0 6px;width:6px;height:6px;border-radius:50%}
.settings-with-done label.settings-range-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;margin:8px 0;padding:4px 0;width:100%;min-width:0;box-sizing:border-box;font-size:13px}
.settings-with-done .settings-range-row>.settings-label{grid-column:1/-1}
.settings-with-done label.settings-range-row>input[type=range]{grid-column:1;grid-row:2;width:100%!important;min-width:0!important;max-width:none!important;min-height:36px;margin:0}
.settings-with-done .settings-range-row:not(:has(>output))>input[type=range]{grid-column:1/-1}
.settings-with-done .settings-range-row>output{grid-column:2;grid-row:2;min-width:48px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:#e4c38d}
.settings-with-done .settings-info{position:static;margin:0 0 8px;padding:0}
.settings-with-done .settings-info>summary{position:static;margin:0;min-height:36px;width:auto;text-align:left}
.settings-with-done .settings-info[open]{padding:8px 12px;margin:0 0 10px;border-left:1px solid #aec7d133}
.settings-with-done .settings-info:has(>summary[hidden]):not([open]){display:none}
@media(max-width:400px){.settings-with-done .settings-scroll{padding:16px}.settings-with-done .settings-done{padding-left:16px;padding-right:16px}}
.settings-with-done label.settings-check-row[hidden],.settings-with-done label.settings-range-row[hidden]{display:none!important}

/* Only the settings content scrolls; the action row stays inside the viewport. */
.settings-with-done>.settings-scroll{padding-top:max(20px,env(safe-area-inset-top,0px))}
.settings-with-done>.settings-done{margin:0;align-self:stretch}
.about-identity{line-height:1.8}.about-site-link,.about-donate-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 15px;margin:8px 10px 8px 0;border:1px solid #e5c89e55;border-radius:12px;color:#e5c89e;text-decoration:none}.about-donate-link{background:#e5c89edb;color:#142136}.about-copyright{display:block;margin-top:28px;color:#8a99ab;font-size:11px}
.share-options a,.share-options button{display:inline-flex;align-items:center;justify-content:center;gap:9px}.share-options .share-icon{display:block;width:20px;height:20px;flex:none}

/* A single idle state and one transition on each HUD root. Children never fade twice. */
body :is(header,#appToolbar,:is(#timeline,.exploration-clock),.sky-time-dock.compact-clock,:is(#skyContext,#orbitContext,#stellarContext,#galaxyContext),.object-card,#measurementPanel,.stellar-top){transition:opacity .2s ease 0s!important}
body.hud-idle :is(header,#appToolbar,:is(#timeline,.exploration-clock),.sky-time-dock.compact-clock,:is(#skyContext,#orbitContext,#stellarContext,#galaxyContext),.object-card,#measurementPanel,.stellar-top){opacity:0!important;pointer-events:none!important;transition:opacity .65s ease 0s!important}
body.hud-idle :is(header,#appToolbar,:is(#timeline,.exploration-clock),.sky-time-dock.compact-clock,.object-card,#measurementPanel,.stellar-top) *{pointer-events:none!important}
@media(prefers-reduced-motion:reduce){body :is(header,#appToolbar,:is(#timeline,.exploration-clock),.sky-time-dock.compact-clock,:is(#skyContext,#orbitContext,#stellarContext,#galaxyContext),.object-card,#measurementPanel,.stellar-top){transition:none!important}}

/* First-use guide stays above the time controls without blocking the scene. */
.first-run-guide{position:fixed;z-index:35;left:16px;bottom:calc(190px + env(safe-area-inset-bottom));width:min(360px,calc(100vw - 32px));box-sizing:border-box;background:#101d2bf2;border:1px solid #eac08b66;border-radius:18px;padding:18px;box-shadow:0 12px 40px #0008;backdrop-filter:blur(16px);color:#dce5ef;max-height:calc(100dvh - 320px);overflow:auto}.first-run-guide small{color:#eac08b}.first-run-guide h2{font-size:19px;margin:8px 0}.first-run-guide p{font-size:14px;line-height:1.5;margin:10px 0 16px}.first-run-guide>div{display:flex;justify-content:space-between;gap:12px}.first-run-guide button{min-height:44px;padding:10px 16px}.first-run-guide .tutorial-next{border-color:#eac08b88;color:#eac08b}.tutorial-target{outline:2px solid #eac08b!important;outline-offset:3px;box-shadow:0 0 18px #eac08b55!important}@media(max-height:600px){.first-run-guide{left:auto;right:16px;bottom:16px;max-height:calc(100dvh - 120px);width:min(320px,calc(100vw - 32px))}}
.share-link-kind{display:grid;gap:8px;margin:16px 0;color:#b9c8da;font-size:13px}.share-link-kind select{width:100%;min-height:44px;box-sizing:border-box}

/* Contextual quick menu: one gear, aligned monochrome actions. */
#quickMenu{position:fixed;inset:auto 12px auto auto;margin:0;width:min(310px,calc(100vw - 16px));max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:0;border:1px solid #b5c7dc33;border-radius:16px;background:#101b29f5;backdrop-filter:blur(24px);box-shadow:0 16px 60px #0008;overflow:auto;color:var(--text)}
#quickMenu::backdrop{background:#02061033}
.quick-menu-head{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 4px 16px;border-bottom:1px solid var(--line)}
#quickMenu button{background:none;border:0;box-shadow:none;border-radius:8px;min-height:44px;color:var(--text);text-align:left}
.quick-menu-head>button{width:44px;text-align:center!important;font-size:24px}
.quick-menu-items,.quick-menu-footer{padding:5px}.quick-menu-footer{border-top:1px solid var(--line)}
#quickMenu :is(.quick-menu-items,.quick-menu-footer)>button{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;font-size:14px}
#quickMenu button:hover,#quickMenu button:focus-visible{background:#ffffff09}
#quickMenu svg,#quickHelp svg,.learning-quick-menu svg{width:21px;height:21px;flex:0 0 21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.quick-switch{margin-left:auto;display:grid;place-items:center;width:26px;height:22px;flex:0 0 26px;border:1px solid #b5c7dc55;border-radius:6px;font-style:normal;color:var(--accent)}.quick-switch.on{background:#eac08b18;border-color:#eac08b88}
#appToolbar #sensor,.stellar-top [data-lines-toggle],.stellar-top [data-sky-toggle]{display:none!important}
#appToolbar #quickHelp{display:flex;align-items:center;justify-content:center;pointer-events:auto;width:44px;min-width:44px;height:44px;padding:0;order:8}
#appToolbar #viewSettings{order:6}#appToolbar #reset{order:9}
body:has(#learning:not([hidden])) #quickHelp,body:has(#comparison:not([hidden])) #quickHelp{display:none!important}
@media(max-width:380px){#appToolbar #navigationCluster,#appToolbar #viewCluster{gap:3px!important}#appToolbar #viewCluster{margin-left:auto}#appToolbar{gap:3px!important}}
/* About: edge-to-edge tabs and stationary close action, only body scrolls. */
#aboutDialog{width:min(680px,calc(100vw - 20px));height:min(760px,calc(100dvh - 28px));max-height:calc(100dvh - 28px);padding:0!important;overflow:hidden;border-radius:20px;border:1px solid #b5c7dc33;background:#101824}
#aboutDialog[open]{display:flex;flex-direction:column}
.about-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 8px 20px;flex:0 0 auto;border-bottom:1px solid var(--line)}.about-head strong{font-size:18px;font-weight:500}
#aboutDialog #closeAbout{position:static;float:none;background:transparent;border:0;box-shadow:none;font-size:24px;color:var(--muted)}
#aboutDialog .about-sections{position:static;flex:0 0 auto;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:0;padding:0 12px;margin:0;background:#101824;border-bottom:1px solid var(--line);scrollbar-width:thin}
#aboutDialog .about-sections button{flex:0 0 auto;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;box-shadow:none;padding:12px 10px;min-height:48px;white-space:nowrap;font-size:13px;color:var(--muted)}
#aboutDialog .about-sections button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent)}
#aboutContent{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 22px 24px;scroll-padding-top:12px}
#aboutContent .about-section{padding:0;border:0}#aboutContent .about-section[hidden]{display:none!important}
#aboutContent h2{font-size:23px;line-height:1.25;margin:20px 0 14px}#aboutContent h3{font-size:17px;line-height:1.4;margin:20px 0 10px}#aboutContent p{font-size:14px;line-height:1.7;color:#bbc8d8}
#aboutContent button{min-height:44px;border:0;border-radius:8px;background:#ffffff07;padding:10px 12px;box-shadow:none;text-align:left}
#aboutContent .community-actions{display:grid;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
#aboutContent .about-site-link,#aboutContent .about-donate-link{display:inline-flex;align-items:center;min-height:44px;margin:4px 14px 4px 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.about-footer{flex:0 0 auto;border-top:1px solid var(--line);padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:#101824}
.about-footer button{width:100%;min-height:44px;background:#eac08b14;border:1px solid #eac08b44;border-radius:10px;color:var(--accent)}
#learning .learning-about-bar{margin:-24px -24px 22px;padding:0 14px;top:0;gap:0;flex-wrap:nowrap;border-bottom:1px solid var(--line);background:#0b1420f5}
#learning .learning-about-bar button{border:0;border-radius:0;background:none;box-shadow:none;padding:10px;min-height:48px;font-size:13px;font-weight:400;color:var(--muted)}
#learning .learning-about-bar .learning-quick-menu{margin-left:auto;display:grid;place-items:center;width:44px;padding:0;color:var(--text)}

body:has(#comparison:not([hidden])) #appToolbar #quickHelp,body:has(#comparison:not([hidden])) #appToolbar #viewSettings{display:flex!important}

/* Compact journey chip below the main controls; name opens the stages. */
:is(#missionJourney,.journey-strip){position:absolute;top:50px;left:0;display:flex;align-items:center;gap:0;width:max-content;max-width:calc(100% - 8px);pointer-events:auto;border:1px solid #dce6f024;border-radius:12px;background:#0b142080;backdrop-filter:blur(16px);overflow:hidden}
:is(#missionJourney,.journey-strip)[hidden]{display:none!important}
:is(#missionJourney,.journey-strip) button{min-height:44px;border:0;background:transparent;font-size:11px;white-space:nowrap;padding:0 12px;border-radius:0}
:is(#missionJourney,.journey-strip) :is(#missionSteps,.journey-steps){width:auto;min-width:0;font-size:11px;transition:none}
:is(#missionJourney,.journey-strip) .mission-quick-exit{width:44px;min-width:44px;padding:0;font-size:20px}
body.sky-view :is(#missionJourney,.journey-strip),body:has(#learning:not([hidden])) :is(#missionJourney,.journey-strip),body:has(#comparison:not([hidden])) :is(#missionJourney,.journey-strip){display:none!important}

/* Direct contextual tools: navigation left, one quiet vertical rail right. */
body.tool-rail-layout #appToolbar{display:block!important}
body.tool-rail-layout #appToolbar #navigationCluster{position:absolute;left:0;top:0;right:auto;display:flex;gap:5px;flex-direction:row}
body.tool-rail-layout #appToolbar #navigationCluster>#discoverSky{display:flex!important;width:44px!important;min-width:44px!important;max-width:44px!important;padding:0!important;gap:0}
body.tool-rail-layout #navigationCluster #discoverSky span{display:none!important}
body.tool-rail-layout #appToolbar #viewCluster{position:absolute;top:0;right:0;left:auto;display:flex!important;flex-direction:column!important;align-items:center;gap:5px;margin:0;max-height:calc(100dvh - var(--nav-height,72px) - 78px - max(8px,env(safe-area-inset-bottom,0px)));width:44px}
body.tool-rail-layout #appToolbar #viewCluster>#contextTools{display:flex!important;flex-direction:column;gap:5px;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;pointer-events:auto;overscroll-behavior:contain;flex:0 1 auto}
body.tool-rail-layout #contextTools::-webkit-scrollbar{display:none}

body.tool-rail-layout #appToolbar #viewCluster>#viewSettings{display:flex!important;order:99;flex:0 0 44px}
body.tool-rail-layout #appToolbar #contextTools>button,body.tool-rail-layout #appToolbar #contextTools>#sensor,body.tool-rail-layout #appToolbar #contextTools>#quickHelp{display:flex!important;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;flex:0 0 44px;padding:0;position:static!important;pointer-events:auto;order:initial}
body.tool-rail-layout #appToolbar :is(#navigationCluster,#viewCluster) button{background:#10203038!important;border:1px solid #d7e0f11c;border-radius:11px;color:#ced9e5;box-shadow:none!important}
body.tool-rail-layout #appToolbar #contextTools button[aria-pressed=true]{background:#b58b4429!important;color:#efcc96;border-color:#eac08b55}
body.tool-rail-layout #appToolbar button:disabled{opacity:.35}
body.tool-rail-layout #retainedTools{display:none!important}
body.tool-rail-layout #appToolbar #orbitCenterGroup,body.tool-rail-layout #appToolbar #skyCenter{right:54px;top:50px;max-width:calc(100% - 60px)}
body.tool-rail-layout :is(#missionJourney,.journey-strip){max-width:calc(100% - 60px)}
body.tool-rail-layout:has(#learning:not([hidden])) #appToolbar,body.tool-rail-layout:has(#comparison:not([hidden])) #appToolbar{display:none!important}
/* Reserve only the actual clock height, its bottom inset and a small gap. */
@media(max-width:650px) and (orientation:portrait){body.tool-rail-layout #appToolbar #viewCluster{max-height:calc(100dvh - var(--nav-height,72px) - 120px - max(8px,env(safe-area-inset-bottom,0px)))}}
@media(max-height:500px) and (orientation:landscape){body.tool-rail-layout #appToolbar #viewCluster{max-height:calc(100dvh - var(--nav-height,60px) - 70px - max(8px,env(safe-area-inset-bottom,0px)))}}


/* Shared translucent controls, including playback in both time docks. */
body.tool-rail-layout :is(.hud-control,#play,#skyPlay){background:#10203038!important;border:1px solid #d7e0f11c!important;border-radius:11px!important;color:#ced9e5!important;box-shadow:none!important;backdrop-filter:blur(4px)}
body.tool-rail-layout :is(#play,#skyPlay){width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center}
body.tool-rail-layout :is(#play,#skyPlay) svg{width:24px!important;height:24px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
body.tool-rail-layout :is(.hud-control,#play,#skyPlay):focus-visible{outline:2px solid #eac08b;outline-offset:3px}
body.tool-rail-layout :is(.hud-control,#play,#skyPlay)[aria-pressed=true]{background:#b58b4429!important;color:#efcc96!important;border-color:#eac08b55!important}
body.tool-rail-layout #navigationCluster #discoverSky svg{display:block!important;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}
.context-help-steps{padding:0;list-style:none;counter-reset:help;display:grid;gap:12px}
.context-help-steps li{counter-increment:help;padding:14px 16px;border:1px solid #d7e0f11c;border-radius:12px;background:#10203085}
.context-help-steps h3{font-size:15px;margin:0 0 6px}.context-help-steps h3::before{content:counter(help) ' · ';color:#efcc96}
.context-help-steps p{margin:0;line-height:1.6;font-size:14px}
#replayTutorial{min-height:44px;border:1px solid #eac08b55;border-radius:11px;background:#10203085;color:#efcc96;padding:10px 16px}
.first-run-guide{max-height:calc(100dvh - 260px)}
.first-run-guide .tutorial-actions{display:flex;flex-wrap:wrap;gap:8px}.first-run-guide button{border-radius:11px;background:#10203085;border:1px solid #d7e0f11c;color:#ced9e5}.first-run-guide .tutorial-progress{display:flex;gap:5px;margin:12px 0}.tutorial-progress i{height:3px;flex:1;background:#d7e0f130;border-radius:3px}.tutorial-progress i[aria-current=true]{background:#eac08b}
@media(max-height:600px){.first-run-guide{max-height:calc(100dvh - 120px)}}
/* Shared left navigation remains available while learning. */
body.tool-rail-layout #appToolbar #navigationCluster>#shareView{display:flex!important;width:44px;min-width:44px;padding:0}
body.tool-rail-layout:has(#learning:not([hidden])) #appToolbar,
body.tool-rail-layout:not(.documentary-playing):has(#learning:not([hidden])) #appToolbar #navigationCluster,
body.tool-rail-layout:not(.documentary-playing):has(#learning:not([hidden])) #appToolbar #navigationCluster>#pageBack{display:flex!important}
body.tool-rail-layout #learning{top:calc(var(--nav-height,66px) + 56px)!important}
body.tool-rail-layout #learning>.learning-back{display:none!important}

/* Reset uses the settings panel spacing and pinned action footer. */
#resetDialog{width:min(440px,calc(100% - 32px));padding:0;border-radius:20px;overflow:hidden;background:#101c2af5}
#resetDialog form{display:flex;flex-direction:column;max-height:calc(100dvh - 48px);margin:0}
#resetDialog .reset-content{overflow:auto;min-height:0;padding:24px}
#resetDialog h2{font:600 22px/1.25 var(--font-ui,system-ui);letter-spacing:-.02em;margin:0 0 10px}
#resetDialog p{margin:0;font-size:14px}
#resetDialog .reset-choices{grid-template-columns:1fr;gap:8px;margin:20px 0 0}
#resetDialog .reset-choices button{display:flex;align-items:center;gap:12px;padding:12px;min-height:48px;text-align:left;border-radius:12px;color:var(--text);font-size:15px}
#resetDialog .reset-choices button:before{content:none}
#resetDialog svg{width:20px;height:20px;flex:0 0 20px}
#resetDialog .reset-label{flex:1;min-width:0}
#resetDialog .reset-check{display:flex;width:22px;height:22px;border:1px solid #b4c5db55;border-radius:6px;align-items:center;justify-content:center}
#resetDialog .reset-check svg{width:16px;height:16px;flex-basis:16px;visibility:hidden}
#resetDialog [aria-pressed=true] .reset-check{color:#e8c895;border-color:#e8c89599;background:#e8c89518}
#resetDialog [aria-pressed=true] .reset-check svg{visibility:visible}
#resetDialog footer{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 24px max(16px,env(safe-area-inset-bottom));border-top:1px solid #ffffff20}
#resetDialog footer button{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;min-height:48px;border-radius:14px}
body.tool-rail-layout .settings-done button,body.tool-rail-layout #resetDialog button[value=confirm]{background:#e5c89edb!important;color:#142136;border-color:#e5c89e66}
body.tool-rail-layout #resetDialog button[value=cancel]{background:#10203038!important;color:var(--text);border-color:#b4c5db35}

/* Action colors are a pair: HUD translucency must never override dialog actions. */
:root{--action-bg:#e5c89e}
body.tool-rail-layout :is(button.primary,button.open-poi,button:is(#confirmPlace,.confirmPlace),.share-options button.share-native,.settings-done button,#resetDialog button[value=confirm]){background:var(--action-bg)!important;color:var(--action-text)!important;border:1px solid var(--action-border);border-radius:14px;min-height:48px;font-weight:600;box-shadow:none}
body.tool-rail-layout :is(button.primary,button.open-poi,button:is(#confirmPlace,.confirmPlace),.share-options button.share-native,.settings-done button,#resetDialog button[value=confirm]):not(:disabled):hover{background:#f0d5b0!important;color:var(--action-text)!important}
body.tool-rail-layout :is(button.primary,button.open-poi,button:is(#confirmPlace,.confirmPlace),.share-options button.share-native,.settings-done button,#resetDialog button[value=confirm]):not(:disabled):active{background:#d5b487!important}
body.tool-rail-layout #resetDialog button[value=cancel]{background:#ffffff09!important;color:var(--text)!important;font-weight:500}
dialog button{min-height:44px}
dialog button:disabled{opacity:.5;cursor:not-allowed}
dialog button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
dialog .console-head>button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-height:44px;padding:0;border-radius:11px;color:var(--text);background:#ffffff09;font-size:22px}
/* Learn help sits flush below the tabs, beside the persistent navigation. */
body.tool-rail-layout #learning .learning-about-bar{position:fixed;top:var(--nav-height,66px);left:0;right:0;z-index:21;height:56px;margin:0;padding:0 max(8px,env(safe-area-inset-right)) 0 calc(var(--edge-left,8px) + 148px);justify-content:flex-end;gap:0;border-radius:0;background:#0b1420f5}
body.tool-rail-layout #learning .learning-about-bar button{min-width:0;padding:8px 6px;font-size:12px;white-space:nowrap;color:var(--text);background:transparent}

/* Discover is a restrained gold accent; learning controls never fade. */
body.tool-rail-layout #appToolbar #navigationCluster #discoverSky{background:#b58b4438!important;color:#f0ce99!important;border-color:#eac08b66}
body.tool-rail-layout:has(#learning:not([hidden])) #appToolbar,body.tool-rail-layout:has(#learning:not([hidden])) #appToolbar button{opacity:1!important;pointer-events:auto!important;visibility:visible!important}
/* One primary-action treatment, including tutorials and learning exercises. */
:root{--action-bg:#e5c89eeb;--action-text:#142136;--action-border:#e5c89e99}
body.tool-rail-layout :is(.tutorial-next,#replayTutorial,.tour-complete,.about-footer button,button[type=submit],button[value=confirm]){background:var(--action-bg)!important;color:var(--action-text)!important;border:1px solid var(--action-border)!important;border-radius:14px;min-height:48px;padding:10px 16px;font-weight:600;box-shadow:none}
body.tool-rail-layout :is(.tutorial-next,#replayTutorial,.tour-complete,.about-footer button):hover{background:#f0d5b0!important}
#aboutContent :is(#replayTutorial,.tour-complete){display:block;width:100%;margin:10px 0;text-align:center}
.first-run-guide{bottom:calc(136px + env(safe-area-inset-bottom));max-height:min(42dvh,360px);padding:16px;backdrop-filter:blur(10px)}
.first-run-guide.tour-in-dialog{position:sticky;bottom:0;left:auto;right:auto;width:100%;max-width:none;max-height:38dvh;margin:14px 0 0;z-index:60;background:#101d2bfa}
.first-run-guide .tutorial-actions{gap:6px}.first-run-guide .tutorial-actions button{flex:1;min-width:80px;padding:10px 8px}
.reset-app-actions{display:flex;gap:12px;align-items:center}.reset-app-actions button{flex:1;margin:0;justify-content:center}
.application-reset{width:100%;margin-top:20px;color:#e9c49c;border-color:#e9c49c55;min-height:48px}
#skyGuideSettings label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}#skyGuideSettings select{max-width:65%;min-width:0}#skyGuideSettings p{font-size:12px;line-height:1.6}
/* Shared translucent time dock: reserve the widest column for speed on phones. */
:is(#timeline,.exploration-clock),.sky-view #skyPanel .sky-time-dock.compact-clock{background:#101c2d70!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:#b4c5db30}
:is(#timeline,.exploration-clock) .wheel-drum,#skyPanel .wheel-drum .wheel-drum{background:linear-gradient(90deg,#0a142240,#27364c55,#0a142240);border-color:#b4c5db30}
.speed-wheel [role=slider]{background-color:#0a142235;border-radius:10px}
@media(max-width:650px) and (orientation:portrait){
 :is(#timeline,.exploration-clock),.sky-view #skyPanel .sky-time-dock.compact-clock{grid-template-columns:94px minmax(0,1fr) 44px!important;grid-template-rows:48px 40px;height:106px;gap:4px 6px;padding:6px 8px}
 :is(#timeline,.exploration-clock) .time-label,#skyPanel #compactClockReadout{width:94px;max-width:94px;padding:2px 0!important;min-width:0;border-radius:10px;background:#10203022}
 :is(#timeline,.exploration-clock) #date{font-size:12px!important;width:94px!important;min-width:0}:is(#timeline,.exploration-clock) .utc,:is(#timeline,.exploration-clock) .time-label>div{font-size:10px;margin-top:3px}
 #skyPanel #clockReadout{font-size:21px!important;line-height:1.1}#skyPanel #compactClockDate{font-size:9px!important;white-space:normal;line-height:1.25}
 :is(#timeline,.exploration-clock)>.speed-wheel,#skyPanel .compact-clock>.speed-wheel{width:100%;min-width:0;max-width:none}
 .speed-wheel>span{font-size:9px}.speed-wheel [role=slider]{height:36px}.speed-wheel strong{font-size:12px}
 :is(#timeline,.exploration-clock) .wheel-drum,#skyPanel .compact-clock .wheel-drum{height:40px}
}
/* Bounded speed slider: fixed scale, moving cursor, no endless strip or lower rule. */
.finite-speed [role=slider]{display:flex;align-items:flex-start;justify-content:center;border:0!important;border-bottom:0!important;background:#0a142230!important;background-image:none!important;padding:2px 8px 14px;overflow:visible}
.finite-speed .shuttle-ticks{inset:auto 8px 7px;height:6px;background:repeating-linear-gradient(90deg,#b8c8db44 0 1px,transparent 1px 6.25%);background-position:0!important;opacity:.7;z-index:0}
.finite-speed .shuttle-center{left:clamp(8px,var(--speed-position,50%),calc(100% - 8px));top:auto;bottom:3px;width:8px;height:14px;transform:translateX(-50%);border-radius:4px;background:#e8c895cc;box-shadow:0 0 0 2px #101c2d80;z-index:1}
.finite-speed strong{display:block;position:relative;z-index:1;margin:0;background:transparent;padding:0 2px;line-height:18px;font-variant-numeric:tabular-nums}
/* Selection card: one balanced action row, no nested button outlines. */
.object-card{width:min(360px,calc(100% - 24px));padding:14px;background:#0c1723d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.object-card .selection-caption{display:none}.object-card>strong{font-size:19px;line-height:1.3}.object-card>p{margin:3px 32px 10px 0;font-size:12px}
.object-card>.object-actions{display:grid;grid-template-columns:repeat(var(--action-count,5),minmax(0,1fr));gap:4px}
.object-card>.object-actions button,.object-card>.object-actions button:first-child{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:60px;padding:7px 1px;font-size:10px;line-height:1.15;border:1px solid #dbe5f21c;border-radius:10px;background:#ffffff06;color:#dce6f0;overflow-wrap:normal}
.object-card>.object-actions button:before{content:none}.object-actions svg{width:22px;height:22px;flex:0 0 22px}.object-actions span{max-width:100%;overflow-wrap:anywhere}
.object-card .object-facts{margin-top:12px}.object-card .object-facts h3{margin:10px 0 8px;font-size:11px}.object-card .object-facts dl{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:7px 10px;font-size:12px;line-height:1.35}
dialog.tour-host[open]{display:flex!important;flex-direction:column;overflow:auto;max-height:calc(100dvh - 24px)}
dialog.tour-host>.settings-scroll,dialog.tour-host>.catalog-layout{min-height:100px;flex:1 1 auto;overflow:auto}
dialog.tour-host>.first-run-guide{flex:0 0 auto;max-height:34dvh;position:sticky;bottom:0}
.finite-speed .shuttle-center{left:var(--speed-thumb,50%)}

/* Compact observation settings: moment, place, visible sky, advanced tools. */
.inline-date .date-dials>label,.inline-date .inline-hour>label{display:grid;grid-template-columns:48px 75px minmax(0,1fr);gap:6px;margin:2px 0;align-items:center;flex-wrap:nowrap;text-align:left}
.inline-date .date-dials input,.inline-date .inline-hour input,.inline-date .inline-hour #preciseTime{width:100%;min-width:0;min-height:36px;margin:0;padding:0}
.inline-date .date-dials output,.inline-date .inline-hour output{font-size:13px;text-align:right;overflow:hidden;text-overflow:ellipsis}
.inline-date .year-steps{display:none}.inline-date .inline-hour{margin-top:2px}.inline-date .hour-ticks{margin-left:135px;font-size:9px}
.inline-date .typed-date{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px}.typed-date input{width:160px;min-height:40px;text-align:center;font-variant-numeric:tabular-nums}.typed-date input[aria-invalid=true]{border-color:#ed9b87}
#timeSettingsFields,#directPlaceSettings{padding-bottom:12px;margin-bottom:12px}#timeSettingsFields h3,#directPlaceSettings h3{margin:8px 0}#timeSettingsFields>#clockZone{margin:4px 0;font-size:10px}
#directPlaceSettings .setting-row{min-height:40px;margin:4px 0}#directPlaceSettings .date-shortcuts{margin:6px 0}#directPlaceSettings .date-shortcuts button{min-height:40px;padding:6px}#currentObserverPlace{font-size:11px;line-height:1.4;margin:6px 0}#directPlaceSettings .coord-row label{font-size:11px;gap:4px}#directPlaceSettings .coord-row input{padding:6px;min-height:38px}
.compact-sky-layers .sky-checks,.compact-sky-layers .body-layers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.compact-sky-layers label{min-height:36px!important;margin:0!important;font-size:12px!important}.compact-sky-layers .body-layers>[hidden]{display:none!important}
#skyGuideSettings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}#skyGuideSettings h3,#skyGuideSettings>label:first-of-type,#skyGuideSettings .settings-info{grid-column:1/-1}#skyGuideSettings label{font-size:12px;min-height:36px;margin:0!important}
.sky-tools{font-size:12px;margin-top:12px}.sky-tools>summary{padding:12px 0;color:var(--muted);cursor:pointer}.sky-tools .settings-group{margin:6px 0;padding:6px 0}
@media(max-width:650px) and (orientation:portrait){:is(#timeline,.exploration-clock) #orbitDateReadout{width:94px;min-width:0;padding:4px;font-size:12px}}
.mission-label svg{width:44px;height:44px;flex:none;filter:drop-shadow(0 2px 3px #0008)}.mission-label{display:flex;align-items:center;gap:3px}.mission-label svg path{vector-effect:non-scaling-stroke}

/* Keep date rows intact when the generic settings dock is decorated. */
.settings-with-done .inline-date .date-dials>label,
.settings-with-done .inline-date .inline-hour>label{display:grid;grid-template-columns:44px minmax(0,1fr) 76px;gap:8px;min-height:40px;margin:0;padding:0;font-size:12px}
.settings-with-done .inline-date label>input[type=range]{grid-column:2!important;grid-row:1!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:36px}
.settings-with-done .inline-date label>output{grid-column:3!important;grid-row:1!important;min-width:0;font-size:12px;text-align:right;white-space:nowrap}
.settings-with-done .inline-date{padding:8px 10px;border-radius:12px}
.settings-with-done .inline-date .hour-ticks{margin:0 84px 0 52px;font-size:8px}
.settings-with-done .inline-date .typed-date{min-height:40px;margin:0 0 4px}
.settings-with-done .inline-date .typed-date input{background:#ffffff06;color:inherit;border:1px solid #d7e0f126;border-radius:9px;font-size:14px;min-height:36px}
.settings-with-done .scale-settings label.settings-range-row{grid-template-columns:minmax(76px,.65fr) minmax(0,1fr) auto;gap:8px;margin:2px 0;padding:0;min-height:44px}
.settings-with-done .scale-settings label.settings-range-row>.settings-label{grid-column:1;grid-row:1;font-size:12px}
.settings-with-done .scale-settings label.settings-range-row>input[type=range]{grid-column:2;grid-row:1}
.settings-with-done .scale-settings label.settings-range-row>output{grid-column:3;grid-row:1;min-width:34px;font-size:12px}
.settings-with-done .scale-settings label.settings-range-row:not(:has(>output))>input[type=range]{grid-column:2/-1}
body .settings-with-done .console-head>.about-help{width:44px;height:44px;min-height:44px;flex:0 0 44px;padding:0;border:1px solid #d7e0f11c!important;border-radius:11px;background:#10203038!important;color:#ced9e5;box-shadow:none!important;outline:none;font:20px Arial}
body .settings-with-done .console-head>.about-help:focus-visible{outline:2px solid #e8c895;outline-offset:2px}
.mission-label svg{width:33px;height:33px}
body.tool-rail-layout #appToolbar :is(#orbitCenterGroup,#skyCenter){left:0;right:auto;top:50px;margin:0;max-width:calc(100% - 58px);border-radius:11px}
body.tool-rail-layout :is(#missionJourney,.journey-strip){border-radius:11px;max-width:calc(100% - 58px)}
body.tool-rail-layout :is(#missionJourney,.journey-strip) button,body.tool-rail-layout #orbitCenterGroup button,body.tool-rail-layout #skyCenter button{border:0!important;box-shadow:none!important;border-radius:0;background:transparent!important;min-height:40px}
body.tool-rail-layout :is(#missionJourney,.journey-strip) :is(#missionSteps,.journey-steps){overflow:hidden;text-overflow:ellipsis;padding:0 12px}
body.tool-rail-layout :is(#orbitCenterGroup,#skyCenter) button:first-child{padding:0 12px;overflow:hidden;text-overflow:ellipsis}

/* Compact frosted tour; modal tours reserve space rather than cover controls. */
body .first-run-guide,body .first-run-guide.tour-in-dialog{width:min(310px,calc(100vw - 24px));padding:11px 12px;border-radius:14px;background:#102030ad;max-height:min(38dvh,280px)}
body .first-run-guide small{font-size:10px;line-height:1.3;display:block}
body .first-run-guide h2{font-size:15px;line-height:1.25;margin:6px 0}
body .first-run-guide p{font-size:12px;line-height:1.4;margin:6px 0 9px}
body.tool-rail-layout .first-run-guide .tutorial-actions button{min-height:34px!important;padding:5px 8px!important;font-size:12px;line-height:1.2;min-width:65px;border-radius:9px}
body dialog.tour-host>.first-run-guide.tour-in-dialog{position:relative;inset:auto;width:100%;margin:8px 0 0;max-height:32dvh;flex:0 0 auto}
body dialog.tour-host>form{min-height:0;overflow:auto;flex:1 1 auto}
body.tool-rail-layout #railRecenter:focus:not(:focus-visible){outline:none}
/* Film captions and controls remain separate from the scene gesture surface. */
#documentaryIntro{max-width:560px;padding:22px}#documentaryIntro h2{font:24px/1.2 system-ui}#documentaryIntro button{margin:6px;min-height:40px}
#documentaryPlayer{position:fixed;inset:0;z-index:32;pointer-events:none;font-family:system-ui;color:#edf2f8}
.film-heading{position:absolute;top:calc(12px + env(safe-area-inset-top));left:16px;right:16px;font-size:12px;text-align:center;text-shadow:0 2px 5px #000}
.film-controls{position:absolute;bottom:calc(116px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 20px);display:flex;align-items:center;gap:5px;padding:6px;border:1px solid #ffffff25;border-radius:13px;background:#10203055;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto}
.film-controls button,.film-controls select{min-height:36px;padding:5px 8px;font-size:12px;background:#10203066;border-radius:8px}.film-controls select{max-width:180px;min-width:0}.film-controls .manual{color:#eac08b;border-color:#eac08b}.film-controls button[aria-pressed=false]:not([data-play]){opacity:.55}
.film-subtitles,.journey-subtitles{position:fixed;bottom:calc(15px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:min(720px,calc(100vw - 30px));padding:8px 12px;margin:0;border-radius:9px;text-align:center;font:15px/1.45 system-ui;color:#fff;background:#07101b65;text-shadow:0 1px 4px #000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;z-index:31}
.journey-subtitles{bottom:calc(148px + env(safe-area-inset-bottom));font-size:12px}.hud-idle .journey-subtitles{bottom:calc(15px + env(safe-area-inset-bottom))}
.hud-idle .film-controls,.hud-idle .film-heading{opacity:0;pointer-events:none;transition:opacity .5s}.hud-idle .film-controls *{pointer-events:none}
.documentary-playing #toast,.documentary-playing .learning-about-bar,.documentary-playing .reading-header,.documentary-playing .lesson-exercise{display:none!important}
.documentary-playing #learning{padding-bottom:140px}.documentary-playing .learning-reading>.learning-prose,.documentary-playing .learning-reading>.lesson-depth{display:none}
.documentary-playing .learning-lab{margin:0 auto;max-width:850px}.documentary-playing .lab-image{transform-origin:center;overflow:hidden}
.film-illustration{position:absolute;right:12px;top:calc(90px + env(safe-area-inset-top));width:min(240px,45vw);padding:6px;background:#10203055;border-radius:12px;backdrop-filter:blur(10px)}.film-illustration svg{display:block;width:100%;height:auto}.film-illustration small{display:block;text-align:center;font-size:10px}
.mission-companion,.lagrange-label{position:absolute;pointer-events:none;transform:translate(-50%,-50%);font:11px system-ui;color:#c3d9ea;text-shadow:0 1px 4px #000}.lagrange-label:before{content:'+';display:block;text-align:center;color:#eac08b;font-size:17px}
@media(max-width:500px){.film-controls{gap:3px;padding:4px;width:calc(100vw - 20px)}.film-controls select{flex:1;max-width:130px}.film-controls button{padding:5px 7px;min-width:29px}.film-subtitles{font-size:13px}}
/* No text selection/callout while scrubbing; a larger, readable clock. */
.speed-wheel,.speed-wheel *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.speed-wheel [role=slider]{touch-action:none}
body .utc,body #skyClock,body .clock-date small,body .time-date small{font-size:14px!important;line-height:1.25}
body .first-run-guide,body .first-run-guide.tour-in-dialog{background:#10203038!important;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-color:#d7e0f12b}
body.tutorial-open .hud-control:focus-visible:not(.tutorial-target){outline:none}
body.tutorial-open .hud-control.tutorial-target{outline:2px solid #eac08b!important;outline-offset:3px}

/* A separate top-layer ring cannot be painted behind the target's children. */
body.tutorial-open .tutorial-target,body.tutorial-open .hud-control.tutorial-target{outline:none!important;box-shadow:none!important}
.tutorial-highlight{position:fixed!important;inset:auto;margin:0;padding:0;box-sizing:border-box;border:2px solid #eac08b;background:transparent;box-shadow:0 0 12px #eac08b55;pointer-events:none!important;z-index:2147483647;max-width:none;max-height:none;overflow:visible}
.tutorial-highlight::backdrop{background:transparent;pointer-events:none}
dialog.tour-host #catalogFilters,dialog.tour-host>.console-head{flex-shrink:0}

#captureDialog{width:min(440px,calc(100vw - 28px));box-sizing:border-box;max-height:85dvh;overflow:auto;background:#102030dc;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:22px;padding:20px}
#captureDialog p{font-size:13px;color:#acbbcb;line-height:1.5}.capture-shutters{display:flex;justify-content:center;gap:50px;margin:24px 0}.capture-shutters button{border:0;background:none;padding:0;display:grid;justify-items:center;gap:9px;font-size:12px}.capture-shutters i{display:block;width:58px;height:58px;border:3px solid #fff;border-radius:50%;padding:4px;box-sizing:border-box}.capture-shutters i:before{content:'';display:block;border-radius:50%;background:#fff;width:100%;height:100%}.capture-shutters [data-record] i:before{background:#ff4545}
.capture-stop{position:fixed;z-index:80;bottom:calc(30px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);gap:12px;background:#102030b0;border-radius:32px;padding:8px 16px;color:white}.capture-stop i{width:42px;height:42px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center}.capture-stop i:before{content:'';width:20px;height:20px;background:#ff4545;border-radius:4px}.capture-stop span{font-variant-numeric:tabular-nums}
#captureDialog [data-result] img,#captureDialog [data-result] video{max-width:100%;max-height:40dvh;object-fit:contain;display:block;margin:auto}#captureDialog [data-result] [hidden]{display:none}#captureDialog [data-save]{width:100%;margin:14px 0 8px}#captureDialog [data-download]{display:block;text-align:center;font-size:13px;color:#eac08b}.capture-floating{position:fixed;right:12px;top:calc(76px + env(safe-area-inset-top));z-index:22;width:44px;height:44px;padding:10px}.capture-launch svg{width:24px;height:24px}
#clockReadout .utc{font-size:16px!important}
body.documentary-playing #learning .learning-reading>:not(.learning-lab):not(h1):not(h2){display:none}
body.documentary-playing #learning .learning-reading .learning-lab{display:block;margin:12px auto;max-height:70dvh;overflow:auto}

.documentary-playing .film-heading{top:calc(67px + env(safe-area-inset-top));left:70px;right:70px;font-size:11px}
.documentary-playing.hud-idle .capture-floating{opacity:0;pointer-events:none}
.documentary-playing #lessonText{display:none!important}
.documentary-playing #learning .lesson-layout{display:block}
.documentary-playing #learning .learning-reading>h2{display:none}
.documentary-playing:not(.hud-idle) :is(#timeline,.exploration-clock),.documentary-playing:not(.hud-idle) .sky-time-dock{opacity:0;pointer-events:none}
.documentary-playing.hud-idle :is(#sceneActions,#leaveFocus,#moduleDiscover,.learning-back){opacity:0!important;pointer-events:none!important}
.documentary-playing.hud-idle .learning-lab :is(.eyebrow,p,small,a){display:none}
.documentary-playing.hud-idle .learning-lab{border-color:transparent;background:transparent}

/* Film controls: consistent vector icons, comfortable targets and a separate chapter row. */
#documentaryPlayer .film-controls{display:grid;grid-template-columns:repeat(6,44px);justify-content:center;gap:5px;width:max-content;padding:8px;border-radius:18px;background:#10203080;bottom:calc(100px + env(safe-area-inset-bottom))}
#documentaryPlayer .film-controls select{grid-column:1/-1;grid-row:1;width:100%;max-width:none;min-height:32px;padding:4px 10px;font-size:12px;border:0;background:transparent;color:#dce5ef}
#documentaryPlayer .film-controls button{display:grid;place-items:center;width:44px;height:40px;min-height:40px;padding:0;border:1px solid #d7e0f124;border-radius:12px;background:#d7e0f109;color:#dce5ef}
#documentaryPlayer .film-controls [data-play]{background:#eac08b26;color:#f0cea0;border-color:#eac08b66}
#documentaryPlayer .film-controls button:hover{background:#d7e0f120}#documentaryPlayer .film-controls button:focus-visible{outline:2px solid #eac08b;outline-offset:2px}
#documentaryPlayer .film-subtitles{white-space:pre-line;text-wrap:balance;box-sizing:border-box;width:max-content;max-width:min(720px,calc(100vw - 24px));font-size:clamp(13px,2.4vw,17px);line-height:1.5;padding:9px 12px}
/* Film player: a dedicated transport, with a reserved reading area. */
body.documentary-playing :is(:is(#timeline,.exploration-clock),.sky-time-dock,#timeWheel,#clockToggle,#clockOptions,.mission-quick-exit){display:none!important;pointer-events:none!important}
#documentaryPlayer .film-heading{display:none!important}
#documentaryPlayer .film-subtitles{font-size:clamp(17px,2.8vw,20px);line-height:1.35;bottom:calc(4px + env(safe-area-inset-bottom));margin:0;padding:5px 8px;max-width:calc(100vw - 12px)}
#documentaryPlayer .film-controls{width:min(580px,calc(100vw - 20px));box-sizing:border-box;grid-template-columns:repeat(3,38px) 1fr 38px 38px;gap:4px;bottom:calc(82px + env(safe-area-inset-bottom));padding:7px}
#documentaryPlayer .film-controls button{width:38px;height:34px;min-height:34px}
#documentaryPlayer [data-progress]{grid-column:1/-1;grid-row:1;width:100%;margin:0;height:22px;touch-action:pan-x}
#documentaryPlayer .film-markers{grid-row:1;grid-column:1/-1;position:relative;pointer-events:none;margin:0 8px}
.film-markers i{position:absolute;top:9px;width:3px;height:4px;background:#fff9}
#documentaryPlayer [data-chapter]{grid-column:1/5;grid-row:3;width:100%!important;text-align:left;justify-content:start;overflow:hidden;white-space:nowrap;font-size:12px;padding:0 8px!important}
#documentaryPlayer [data-time]{grid-row:3;grid-column:5/7;font-size:11px;align-self:center;text-align:center}
#documentaryPlayer [data-camera],#documentaryPlayer [data-subtitles]{display:none!important}
#documentaryPlayer [data-more]{grid-column:5}#documentaryPlayer [data-exit]{grid-column:6}
#filmMenu{width:min(420px,calc(100vw - 24px));max-height:75dvh;overflow:auto;padding:16px;border:1px solid #ffffff20;border-radius:20px;background:#101d2be0;backdrop-filter:blur(24px);color:#dce5ef}
#filmMenu button{display:block;width:100%;margin:5px 0;text-align:left;padding:10px 12px;background:#ffffff08;border:1px solid #ffffff15;border-radius:10px;color:inherit}
body.documentary-playing #learning{bottom:calc(205px + env(safe-area-inset-bottom))!important;height:auto!important;overflow:auto}
body.documentary-playing.hud-idle #learning{bottom:calc(90px + env(safe-area-inset-bottom))!important}
body.documentary-playing #learning .learning-reading .learning-lab{max-height:none;overflow:visible;margin:4px auto}
body.documentary-playing #learning .learning-lab svg{max-height:42dvh;width:100%;object-fit:contain}
.tracking-status>button,:is(#missionJourney,.journey-strip)>button{min-height:36px!important;padding-top:3px!important;padding-bottom:3px!important}
:is(#missionJourney,.journey-strip){gap:3px}.tracking-status{margin-top:3px}
#captureDialog{position:fixed;inset:auto 12px calc(18px + env(safe-area-inset-bottom)) auto;margin:0;width:auto;max-width:calc(100vw - 24px);padding:8px;border-radius:14px;background:#101d2b70;box-shadow:none;border:1px solid #ffffff20;backdrop-filter:blur(20px);z-index:55}
#captureDialog .console-head{position:absolute;right:4px;top:4px}#captureDialog [data-close]{width:28px;height:28px;min-height:28px;padding:0}
#captureDialog .capture-shutters{gap:6px;margin:0 32px 0 0}#captureDialog .capture-shutters button{width:40px;height:36px;min-height:36px;display:grid;place-items:center;border-radius:10px;background:#ffffff08}#captureDialog .capture-shutters svg{width:25px;height:25px}
#captureDialog [data-status]:empty{display:none}#captureDialog [data-result]:not([hidden]){max-width:320px}
.capture-stop{display:flex;gap:5px;align-items:center;background:#101d2b70;border:1px solid #ffffff20;backdrop-filter:blur(20px);padding:5px;border-radius:14px}.capture-stop[hidden]{display:none}.capture-stop button{width:36px;min-height:36px;padding:0;background:#ffffff08;border:0;border-radius:9px}.capture-stop [data-stop]{color:#ff6666}
#documentaryPlayer .film-controls [data-prev]{grid-row:2;grid-column:1}#documentaryPlayer .film-controls [data-play]{grid-row:2;grid-column:2}#documentaryPlayer .film-controls [data-next]{grid-row:2;grid-column:3}#documentaryPlayer .film-controls [data-more]{grid-row:2;grid-column:5}#documentaryPlayer .film-controls [data-exit]{grid-row:2;grid-column:6}
dialog#captureDialog{inset:auto 10px calc(12px + env(safe-area-inset-bottom)) auto!important;transform:none!important;width:max-content!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:65dvh!important;max-width:calc(100vw - 20px)!important;padding:8px!important;margin:0!important;border-radius:14px!important;background:#101d2b70!important}
dialog#captureDialog .console-head{padding:0!important;margin:0!important;background:none!important;border:0!important}dialog#captureDialog .capture-shutters{justify-content:start!important}dialog#captureDialog::backdrop{background:transparent!important}
body:has(:is(#timeline,.exploration-clock):not([hidden])) dialog#captureDialog:not(.capture-preview),body.sky-view dialog#captureDialog:not(.capture-preview){bottom:calc(210px + env(safe-area-inset-bottom))!important}
body.documentary-playing dialog#captureDialog:not(.capture-preview){bottom:calc(210px + env(safe-area-inset-bottom))!important}

#documentaryPlayer .film-controls button:disabled{opacity:.3;cursor:default}
body.documentary-playing [data-tool="clock"]{display:none!important;pointer-events:none!important}
#documentaryIntro .film-cover{display:block;width:calc(100% + 40px);max-width:none;margin:-20px -20px 18px;aspect-ratio:16/9;object-fit:cover;border-radius:20px 20px 0 0}
#documentaryIntro{overflow:auto}#documentaryIntro h2{font-size:clamp(24px,4vw,34px);line-height:1.1;letter-spacing:-.03em}#documentaryIntro ol{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;font-size:12px;line-height:1.4}
body.documentary-promotional:not(.film-paused) #documentaryPlayer .film-controls{opacity:0!important;pointer-events:none!important}
body.documentary-promotional .film-subtitles{font-weight:500;letter-spacing:.01em;font-size:clamp(19px,3vw,26px);background:#07101aa6}
.promo-focus{outline:1px solid #edc892!important;box-shadow:0 0 18px #edc89240!important}
/* A single timeline track, with chapter dots on the track itself. */
#documentaryPlayer .film-controls{row-gap:10px;padding:10px}
#documentaryPlayer .film-scrubber{grid-column:1/-1;grid-row:1;position:relative;height:24px;margin-bottom:3px}
#documentaryPlayer .film-scrubber [data-progress]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:24px;margin:0;padding:0;background:none;border:0;box-shadow:none;outline-offset:3px;cursor:pointer}
#documentaryPlayer [data-progress]::-webkit-slider-runnable-track{height:3px;border:0;border-radius:3px;background:linear-gradient(to right,#eac58f var(--progress,0%),#a5b3c44d var(--progress,0%))}
#documentaryPlayer [data-progress]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:13px;height:13px;margin-top:-5px;border:0;border-radius:50%;background:#efc993;position:relative;z-index:2}
#documentaryPlayer [data-progress]::-moz-range-track{height:3px;border:0;border-radius:3px;background:#a5b3c44d}#documentaryPlayer [data-progress]::-moz-range-progress{height:3px;background:#eac58f}#documentaryPlayer [data-progress]::-moz-range-thumb{width:13px;height:13px;border:0;background:#efc993;border-radius:50%}
#documentaryPlayer .film-scrubber .film-markers{position:absolute;inset:0 6.5px;margin:0;pointer-events:none}
#documentaryPlayer .film-markers i{position:absolute;top:50%;width:4px;height:4px;transform:translate(-50%,-50%);border-radius:50%;background:#e7edf5;box-shadow:0 0 0 1px #0d1724}
#documentaryPlayer .film-controls [data-chapter]{border:0!important;background:none!important;box-shadow:none!important;padding:0 2px!important;display:flex;gap:8px;align-items:center;font-size:12px;min-height:28px;height:28px;color:#cdd7e2}
#documentaryPlayer [data-chapter]:after{content:'⌄';color:#eac58f;font-size:15px;margin-left:auto;padding-right:8px}
dialog#filmMenu{position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important;width:min(380px,calc(100vw - 40px))!important;height:auto!important;min-height:0!important;max-height:72dvh!important;margin:0!important;padding:20px!important;box-sizing:border-box;border:1px solid #dce5f02b!important;border-radius:20px!important;background:#142231c9!important;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);box-shadow:0 18px 70px #0006}
dialog#filmMenu h2{margin:0 0 16px;font-size:22px;font-weight:400;line-height:1.25;letter-spacing:-.02em}
dialog#filmMenu[data-kind="exit"] h2{text-align:center;margin-bottom:20px}dialog#filmMenu[data-kind="exit"] button{display:inline-block;width:calc(50% - 5px);text-align:center;min-height:42px;margin:0;font-size:14px}dialog#filmMenu[data-kind="exit"] button+button{margin-left:10px}dialog#filmMenu[data-kind="exit"] button:first-of-type{background:#eac58f20;border-color:#eac58f50;color:#f3d7ae}
dialog#filmMenu::backdrop{background:#03081255;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
/* One frosted surface across floating cards and dialogs, including mobile. */
:root{--widget-blur:blur(22px)}
body :is(dialog,.side-dock,.sky-settings,#soundPanel,#planetnav,.object-card,.tracking-status,:is(#missionJourney,.journey-strip),#measurementPanel,:is(#timeline,.exploration-clock),.sky-time-dock,.first-run-guide,.capture-stop,#toast,.journey-subtitles),
body #documentaryPlayer .film-controls,
body dialog#filmMenu,body dialog#captureDialog{
 background:var(--widget-glass)!important;
 -webkit-backdrop-filter:var(--widget-blur)!important;backdrop-filter:var(--widget-blur)!important;
}
body :is(.settings-done,.side-dock .console-head){background:#10203050!important;-webkit-backdrop-filter:var(--widget-blur);backdrop-filter:var(--widget-blur)}
#documentaryPlayer .film-subtitles{background:#07101a50!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
/* Centered capture strip: the close control occupies its own full slot. */
body dialog#captureDialog{left:50%!important;right:auto!important;transform:translateX(-50%)!important;padding:8px!important;outline:none!important}
body dialog#captureDialog .console-head{position:absolute!important;inset:8px 8px auto auto!important;width:40px;height:40px}
body dialog#captureDialog .capture-shutters{display:flex;gap:8px;margin:0 48px 0 0!important}
body dialog#captureDialog :is(.capture-shutters button,[data-close]){box-sizing:border-box;width:40px;height:40px;min-height:40px;padding:8px;border:1px solid #d7e0f120!important;border-radius:11px!important;background:#d7e0f109!important;color:#dce5ef;box-shadow:none!important}
body dialog#captureDialog [data-close]{font-size:23px;line-height:22px}
body dialog#captureDialog button:focus:not(:focus-visible){outline:none!important}
body dialog#captureDialog button:focus-visible{outline:2px solid #eac58f;outline-offset:2px}
body.documentary-playing:not(.documentary-promotional) :is(header,#navigationCluster,#pageBack,#planetPicker,#moduleDiscover){display:none!important}
body.documentary-playing:not(.documentary-promotional) #contextTools>:not([data-tool="music"],[data-tool="ruler"],[data-tool="names"],[data-tool="orbit"],[data-tool="stars"],[data-tool="sky"],[data-tool="trail"]):not(#captureScene){display:none!important}
body.documentary-playing:not(.documentary-promotional) :is(#viewSettings,#quickHelp){display:none!important}
body.documentary-playing:not(.documentary-promotional) #viewCluster{top:10px!important}
body.tool-rail-layout.documentary-playing:not(.documentary-promotional) #appToolbar #viewCluster #viewSettings,
body.tool-rail-layout.documentary-playing:not(.documentary-promotional) #appToolbar #contextTools>:not([data-tool="music"],[data-tool="ruler"],[data-tool="names"],[data-tool="orbit"],[data-tool="stars"],[data-tool="sky"],[data-tool="trail"]):not(#captureScene){display:none!important}
body.tool-rail-layout.documentary-playing:not(.documentary-promotional) #appToolbar{top:10px!important}
body.tool-rail-layout.documentary-playing:not(.documentary-promotional) #appToolbar #viewCluster{top:0!important}
/* Cinema keeps optional overlays and measuring tools, never camera reset. */

body.tool-rail-layout.documentary-playing:not(.documentary-promotional) #appToolbar #contextTools>:is([data-tool="ruler"],[data-tool="names"],[data-tool="orbit"],[data-tool="stars"],[data-tool="sky"],[data-tool="trail"]){display:flex!important}
body.documentary-playing #measurementPanel{bottom:calc(225px + env(safe-area-inset-bottom))!important}
body.documentary-playing.hud-idle #measurementPanel{bottom:calc(100px + env(safe-area-inset-bottom))!important}
body.tool-rail-layout.documentary-playing:not(.documentary-promotional) #appToolbar #navigationCluster,
body.tool-rail-layout.documentary-playing:not(.documentary-promotional) #appToolbar :is(#pageBack,#shareView,#discoverSky){display:none!important;pointer-events:none!important}
/* Teaching controls are part of the demonstration, not disappearing HUD. */
body.documentary-playing #learning{top:12px!important;padding:8px 12px!important;bottom:calc(225px + env(safe-area-inset-bottom))!important}
body.documentary-playing.hud-idle #learning{bottom:calc(100px + env(safe-area-inset-bottom))!important}
body.documentary-playing #learning .learning-reading{margin:0 auto;line-height:1.4}
body.documentary-playing #learning .learning-lab{padding:8px 10px}
body.documentary-playing #learning .learning-lab>:is(.eyebrow,p,small,a){display:none!important}
body.documentary-playing #learning .learning-lab h2{font-size:17px;margin:0 0 6px}
body.documentary-playing #learning .learning-lab svg{max-height:min(28dvh,220px)}
body.documentary-playing #learning .lab-controls{display:grid!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;gap:5px;margin-top:6px}
body.documentary-playing #learning .lab-controls label{gap:0;line-height:1.3;font-size:12px}
body.documentary-playing #learning .lab-controls input{min-height:32px;height:32px;margin:0}
body.documentary-playing #learning .lab-result{font-size:12px;line-height:1.4;margin:7px 0 0}
body #documentaryPlayer .film-controls{background:#10203052!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important;border-color:#d7e0f12b;box-shadow:0 4px 20px #00000018}

/* Film options: explicit sound states and one compact speed row. */
dialog#filmMenu .film-option{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;min-height:48px}
dialog#filmMenu .film-option strong{font-size:12px;font-weight:500;color:#91a0af}
dialog#filmMenu .film-option[aria-pressed="true"] strong{color:#f3d7ae}
dialog#filmMenu .film-option small{display:block;font-size:11px;margin-top:3px;color:#91a0af}
dialog#filmMenu .film-option:disabled{opacity:.65}
dialog#filmMenu .film-speed-label{display:flex;align-items:center;gap:10px;margin:18px 0 8px;font-size:14px}
dialog#filmMenu .film-speed-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:16px}
dialog#filmMenu .film-speed-options button{width:100%;min-width:0;min-height:42px;padding:7px 2px;margin:0;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}
dialog#filmMenu .film-speed-options button[aria-pressed="true"]{background:#eac58f20;border-color:#eac58f70;color:#f3d7ae}

/* The reader is revealed deliberately, independently of cinematic tool cues. */
body.documentary-playing:not(.film-reader-open) #documentaryPlayer .film-controls{opacity:0!important;pointer-events:none!important;visibility:hidden}
body.documentary-playing.film-reader-open #documentaryPlayer .film-controls{opacity:1!important;pointer-events:auto!important;visibility:visible}
body.documentary-playing.film-reader-open #documentaryPlayer .film-controls *{pointer-events:auto!important}
#documentaryPlayer .film-subtitles{pointer-events:auto;cursor:pointer}
body.documentary-playing.film-reader-open .object-card{opacity:1!important;pointer-events:auto!important}
body.documentary-playing.film-reader-open .object-card *{pointer-events:auto!important}

body .first-run-guide,body .first-run-guide.tour-in-dialog{background:#10203052!important;-webkit-backdrop-filter:blur(22px)!important;backdrop-filter:blur(22px)!important}
body .first-run-guide .tutorial-close{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border-radius:11px;font-size:24px;line-height:1;background:#d7e0f109;border:1px solid #d7e0f120}
body .first-run-guide>h2,body .first-run-guide>small{padding-right:32px}

body #tutorialWidget.first-run-guide{background:#10203052!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important}

body dialog#captureDialog.capture-preview{top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(420px,calc(100vw - 24px))!important;max-height:calc(100dvh - 32px);overflow:auto;padding:14px!important;border-radius:20px!important}
body dialog#captureDialog.capture-preview .capture-shutters{margin-bottom:12px!important}
body dialog#captureDialog.capture-preview [data-result]{max-width:none}
body dialog#captureDialog.capture-preview [data-result] img,body dialog#captureDialog.capture-preview [data-result] video{width:100%;max-height:52dvh;border-radius:12px;background:#050b12}
body dialog#captureDialog.capture-preview [data-status]{font-size:12px;line-height:1.5;color:#b5c4d6;margin:8px 0}
body dialog#captureDialog.capture-preview :is([data-save],[data-download]){display:flex;align-items:center;justify-content:center;gap:9px;box-sizing:border-box;width:100%;min-height:44px;margin:12px 0 0;padding:10px 14px;border:1px solid #eac08b50;border-radius:12px;background:#eac08b18;color:#f0d3a7;text-decoration:none;font:inherit;font-size:14px}
body dialog#captureDialog.capture-preview [hidden]{display:none!important}

body dialog#captureDialog.capture-preview .capture-shutters,body dialog#captureDialog.capture-preview .console-head{display:none!important}
body dialog#captureDialog.capture-preview [data-result]{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body dialog#captureDialog.capture-preview [data-result] :is(img,video){grid-column:1/-1}
body dialog#captureDialog.capture-preview [data-discard]{display:flex;justify-content:center;align-items:center;min-height:44px;margin:12px 0 0;padding:10px 14px;border:1px solid #d7e0f125;border-radius:12px;background:#d7e0f109;color:#dce5ef;font:inherit;font-size:14px}

body .capture-stop{box-sizing:border-box;width:min(520px,calc(100vw - 24px));max-width:calc(100vw - 24px);gap:8px;padding:9px 10px 9px 14px;border-radius:14px;border:1px solid #dce6f01c;color:#dce5ef;background:#10203052!important;-webkit-backdrop-filter:blur(22px)!important;backdrop-filter:blur(22px)!important}
body .capture-stop button{flex:none;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #d7e0f120;border-radius:11px;background:#d7e0f109;font-size:22px}
body .capture-stop span{flex:1;order:-1;font-size:18px;letter-spacing:.04em}
body .capture-stop [data-stop]{color:#f09590}
body .capture-stop [data-dismiss]{background:transparent;border-color:transparent;font-size:24px}

body dialog#captureDialog.capture-preview{max-height:calc(100dvh - 32px)!important}body dialog#captureDialog.capture-preview [data-result] :is(img,video){max-height:48dvh}

/* The entire tool rail scrolls as one unit, including recenter/capture/settings. */
body.tool-rail-layout #appToolbar #viewCluster{overflow-y:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior:contain;pointer-events:auto}
body.tool-rail-layout #appToolbar #viewCluster>#contextTools{overflow:visible;flex:0 0 auto}
body.tool-rail-layout #appToolbar #viewCluster>button{flex:0 0 44px;position:static!important}

/* Discover joins the tabs; back is docked at the left edge of the header. */
body.tool-rail-layout header{justify-content:flex-start;gap:0}
body.tool-rail-layout header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;width:auto;min-width:0}
body.tool-rail-layout header #pageBack{position:static!important;transform:none!important;display:flex!important;align-items:center;justify-content:center;flex:0 0 36px;width:36px;min-width:36px;height:44px;min-height:44px;padding:0;margin:0;border:0;border-radius:0;background:transparent!important;box-shadow:none}
body.tool-rail-layout header #pageBack[hidden]{visibility:hidden}
body.tool-rail-layout:has(#learning:not([hidden])) header #pageBack{visibility:visible}
body.tool-rail-layout header #pageBack svg{width:22px;height:22px}
body.tool-rail-layout header nav #discoverSky{position:static;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 0;width:auto;min-width:0;height:56px;border:0;border-radius:10px;background:transparent!important;color:#eac58f}
body.tool-rail-layout header nav #discoverSky svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
body.tool-rail-layout header nav #discoverSky span{font-size:10px}
body.tool-rail-layout #appToolbar #navigationCluster{display:none!important}
body.tool-rail-layout:has(#learning:not([hidden])) #appToolbar #viewCluster{display:flex!important}
body.tool-rail-layout:has(#learning:not([hidden])) #appToolbar #railRecenter{display:none!important}
body.tool-rail-layout #learning{top:var(--nav-height,66px)!important}
body.documentary-playing:not(.documentary-promotional) #shareView{display:none!important}

/* Large touch surface; chapter dots must never intercept the time slider. */
body.documentary-playing #documentaryPlayer .film-scrubber{height:44px}
body.documentary-playing #documentaryPlayer .film-scrubber [data-progress]{height:44px;touch-action:none;position:relative;z-index:2}
body.documentary-playing #documentaryPlayer .film-markers,body.documentary-playing #documentaryPlayer .film-markers *{pointer-events:none!important}
#documentaryPlayer [data-progress]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-8.5px}
#documentaryPlayer [data-progress]::-moz-range-thumb{width:20px;height:20px}

/* Promotional cues expose the real tools independently of the movie reader. */
body:is(.documentary-promotional,.documentary-scripted-tools).promo-tools-visible #appToolbar,
body:is(.documentary-promotional,.documentary-scripted-tools).promo-tools-visible #appToolbar *,
body:is(.documentary-promotional,.documentary-scripted-tools).promo-tools-visible #measurementPanel,
body:is(.documentary-promotional,.documentary-scripted-tools).promo-tools-visible #measurementPanel *{opacity:1!important;pointer-events:auto!important}
body.documentary-promotional:not(.film-reader-open) #documentaryPlayer .film-controls{visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* Text comfort and clearly separated tablet tabs. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body #documentaryPlayer .film-subtitles{font-size:clamp(15.2px,2.4vw,18.4px);line-height:1.45}
body.documentary-promotional #documentaryPlayer .film-subtitles{font-size:clamp(16.8px,2.56vw,22.4px)}
body.tool-rail-layout header #pageBack{flex-basis:44px;width:44px;min-width:44px}
.text-size-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.text-size-setting select{min-height:44px;min-width:100px;font-size:16px;padding:6px 10px}
body.tool-rail-layout #learning .learning-about-bar{display:flex;justify-content:flex-start;align-items:center;flex-wrap:nowrap;gap:8px;text-align:left;width:auto;padding:0 8px;overflow-x:auto;scrollbar-width:none}
body.tool-rail-layout #learning .learning-about-bar button{flex:none;font-size:15px;min-height:44px;padding:8px 12px;text-align:left}
@media(min-width:700px){
 body.tool-rail-layout header{--nav-height:calc(78px + env(safe-area-inset-top,0px));height:var(--nav-height);padding-bottom:6px}
 :root{--nav-height:calc(78px + env(safe-area-inset-top,0px))}
 body.tool-rail-layout header nav{gap:8px}
 body.tool-rail-layout header nav button,body.tool-rail-layout header nav #discoverSky{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;height:64px;min-height:64px;padding:7px 14px;border:1px solid #d7e0f126;border-radius:14px;background:#10203038;line-height:1.2;font-size:16px}
 body.tool-rail-layout header nav button svg,body.tool-rail-layout header nav #discoverSky svg{display:block;width:25px;height:25px}
 body.tool-rail-layout header nav .nav-wide{display:block;font-size:16px}
 body.tool-rail-layout header nav .nav-short{display:none}
 body.tool-rail-layout header nav #discoverSky span{font-size:16px}
 body.tool-rail-layout header nav button.active{border-color:#eac58f70;background:#eac58f12}
 body.tool-rail-layout header #pageBack{flex-basis:54px;width:54px;min-width:54px}
}

/* Fill thumbnail frames with a centred crop, never a stretched illustration. */
.learning-grid .lesson-thumbnail{display:block;box-sizing:border-box;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center;padding:0}
#catalogDialog .poi-tile img{object-fit:cover;object-position:center;aspect-ratio:16/9}
#catalogDetail .discovery-body>img{width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:cover;object-position:center}

/* The tab bar shares the quiet glass treatment of the scene controls. */
body.tool-rail-layout header{background:#10203035!important;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-bottom:1px solid #dce6f012;gap:5px;padding-bottom:5px;padding-left:max(5px,env(safe-area-inset-left));padding-right:max(5px,env(safe-area-inset-right));box-shadow:none}
body.tool-rail-layout header nav{gap:5px;background:transparent;border:0;box-shadow:none}
body.tool-rail-layout header nav button,body.tool-rail-layout header nav #discoverSky,body.tool-rail-layout header #pageBack{height:48px;min-height:48px;border:1px solid #dce6f01c;border-radius:11px;background:#10203052!important;box-shadow:none;line-height:1.15;letter-spacing:0;font-weight:400;padding:4px 2px;text-shadow:none}
body.tool-rail-layout header nav button,body.tool-rail-layout header nav #discoverSky{gap:4px;color:#c7d3df}
body.tool-rail-layout header nav button.active{color:#eac58f;border-color:#eac58f50;background:#eac58f12!important}
body.tool-rail-layout header nav #discoverSky{color:#eac58f}
body.tool-rail-layout header nav button svg,body.tool-rail-layout header nav #discoverSky svg,body.tool-rail-layout header #pageBack svg{width:19px;height:19px;flex:none}
body.tool-rail-layout header #pageBack{flex:0 0 40px;width:40px;min-width:40px;color:#c7d3df}
body.tool-rail-layout header nav button span,body.tool-rail-layout header nav #discoverSky span{font-size:10px}
@media(min-width:700px){
 :root{--nav-height:calc(68px + env(safe-area-inset-top,0px))}
 body.tool-rail-layout header{--nav-height:calc(68px + env(safe-area-inset-top,0px));gap:8px;padding-bottom:6px}
 body.tool-rail-layout header nav{gap:8px}
 body.tool-rail-layout header nav button,body.tool-rail-layout header nav #discoverSky,body.tool-rail-layout header #pageBack{height:54px;min-height:54px}
 body.tool-rail-layout header nav button span,body.tool-rail-layout header nav #discoverSky span{font-size:14px}
 body.tool-rail-layout header nav button svg,body.tool-rail-layout header nav #discoverSky svg,body.tool-rail-layout header #pageBack svg{width:20px;height:20px}
 body.tool-rail-layout header #pageBack{flex-basis:46px;width:46px;min-width:46px}
}
body #catalogDialog .console-head>#closeCatalog.widget-close{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #dce6f01c;border-radius:11px;color:#dce5ef;background:#10203052;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:none}
.widget-close svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.widget-close:focus:not(:focus-visible){outline:none}

/* Back lives with the scene cartouches; tabs never reserve an empty back slot. */
body.tool-rail-layout header{justify-content:center}
body.tool-rail-layout header nav{margin-inline:auto}
body.tool-rail-layout #appToolbar>:is(#pageBack,#pageNext){position:absolute!important;left:0!important;top:0!important;transform:none!important;display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:40px;min-height:40px;padding:0;margin:0;border:1px solid #dce6f01c;border-radius:11px;color:#dce5ef;background:#10203052!important;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:none;pointer-events:auto;z-index:3}
body.tool-rail-layout #appToolbar>:is(#pageBack,#pageNext)[hidden]{display:none}
body.tool-rail-layout #appToolbar>:is(#pageBack,#pageNext) svg{width:20px;height:20px}
body.tool-rail-layout:not(.documentary-playing):has(#learning:not([hidden])) #appToolbar>#pageBack{display:flex!important;z-index:30}
body.tool-rail-layout:has(#learning:not([hidden])) #learning .learning-about-bar{padding-left:60px}
@media(min-width:700px){body.tool-rail-layout header nav{max-width:680px}}

/* Quiet chrome; keyboard focus remains on individual controls. */
body.tool-rail-layout header{border:0!important;box-shadow:none!important}
#catalogDialog{outline:none!important;user-select:none;-webkit-user-select:none}
body.tool-rail-layout:has(#learning:not([hidden])) #appToolbar #viewCluster{display:none!important}
body.documentary-playing.film-reader-open #appToolbar #viewCluster,
body.documentary-playing.film-reader-open #appToolbar #viewCluster *{opacity:1!important;pointer-events:auto!important;visibility:visible!important}

/* Keep the same fade in both directions; hidden controls cannot intercept taps. */
#documentaryPlayer .film-controls{transition:opacity .65s ease,visibility 0s linear .65s}
body.documentary-playing.film-reader-open #documentaryPlayer .film-controls{transition:opacity .2s ease,visibility 0s}
body.documentary-playing:not(.film-reader-open) #documentaryPlayer .film-controls *{pointer-events:none!important}

/* Film synopsis stays within the viewport, including long chapter titles. */
#documentaryIntro{width:min(560px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;overflow-wrap:anywhere}
#documentaryIntro .film-cover{width:100%;max-width:100%;margin:0 0 18px;border-radius:12px}
#documentaryIntro ol{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline-start:22px}
#documentaryIntro li{min-width:0}
#documentaryIntro button{max-width:100%;margin:6px 0;white-space:normal}
#documentaryIntro button+button{margin-left:8px}
@media(max-width:600px){#documentaryIntro{padding:18px}#documentaryIntro ol{grid-template-columns:minmax(0,1fr);gap:10px}}
/* One readable star matrix in each view; each cell is a full touch target. */
.star-settings-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px;margin:8px 0 12px}.star-settings-table th:first-child{width:39%;text-align:left}.star-settings-table thead th{font-size:10px;font-weight:500;color:#9db0c4;padding:8px 2px}.star-settings-table tbody th{font-weight:500;color:#d4dfe8;padding:10px 3px;font-size:12px;overflow-wrap:anywhere}.star-settings-table td{padding:0;text-align:center}.star-settings-table tr{border-bottom:1px solid #a3c1db15}.star-settings-table td label{display:flex!important;align-items:center;justify-content:center;margin:0!important;padding:0!important;cursor:pointer}.star-settings-table input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:0;accent-color:#d8b47b}.star-settings-table input:disabled{opacity:.28}.star-settings>details{font-size:11px;color:#9db0c4;line-height:1.5}.star-settings>details p{margin:8px 0}.star-settings .star-settings{padding:0;border:0;margin:0}.orbit-star-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.orbit-star-labels span{position:absolute;top:0;left:0;white-space:nowrap;font:11px system-ui;color:#becdde;text-shadow:0 1px 3px #000;pointer-events:none}.orbit-star-labels span[hidden]{display:none}

/* Scene status: a single flowing stack, measurement → lock → mission. */
body.tool-rail-layout #appToolbar #sceneStatusDock{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:min(350px,calc(100% - 56px));pointer-events:none}
body.tool-rail-layout #appToolbar:has(>#pageBack:not([hidden])) #sceneStatusDock{top:46px}
body.tool-rail-layout #appToolbar #sceneStatusDock>:is(#measurementPanel,#orbitCenterGroup,#skyCenter,:is(#missionJourney,.journey-strip)){position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;margin:0!important;max-width:100%!important;min-width:0;width:max-content;box-sizing:border-box;display:flex;align-items:center;gap:0;padding:0;pointer-events:auto;border:1px solid #dce6f024!important;border-radius:12px!important;background:#10203038!important;color:#dce5ef;box-shadow:none!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}
body.tool-rail-layout #appToolbar #sceneStatusDock>[hidden]{display:none!important}
body.tool-rail-layout #appToolbar #sceneStatusDock #measurementPanel{order:0;width:100%;padding:2px 4px 2px 10px}
body.tool-rail-layout #appToolbar #sceneStatusDock>:is(#orbitCenterGroup,#skyCenter){order:1}
body.tool-rail-layout #appToolbar #sceneStatusDock :is(#missionJourney,.journey-strip){order:2}
body.tool-rail-layout #appToolbar #sceneStatusDock button{min-height:40px!important;min-width:0;margin:0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit;font-size:13px;line-height:1.3}
body.tool-rail-layout #appToolbar #sceneStatusDock :is(#orbitCenter,#skyCenterLabel,:is(#missionSteps,.journey-steps)){padding:8px 10px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.tool-rail-layout #appToolbar #sceneStatusDock :is(#releaseOrbit,#releaseTracking,.mission-quick-exit,#measureAgain,#measureClose){flex:0 0 40px;min-width:40px;width:40px;min-height:40px!important;padding:8px!important;font-size:22px}
body.tool-rail-layout #appToolbar #sceneStatusDock #measureAgain svg{display:block;width:21px;height:21px}
body.tool-rail-layout #appToolbar #sceneStatusDock .measurement-readout{flex:1;min-width:0;max-width:none;width:auto;text-align:left;padding:5px 0!important;white-space:normal}
body.tool-rail-layout #appToolbar #sceneStatusDock #measureNames{font-size:11px;line-height:1.35;color:#afbed0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.tool-rail-layout #appToolbar #sceneStatusDock #measureValue{font-size:14px;font-weight:500;line-height:1.4;color:#ebd3ac}
body.tool-rail-layout #appToolbar #sceneStatusDock #measureDistance{font-size:12px;line-height:1.4;color:#cfdae8}
body.tool-rail-layout #appToolbar #sceneStatusDock #measureDetail{font-size:11px;line-height:1.4;margin-top:5px;max-width:none}
body.tool-rail-layout #appToolbar #sceneStatusDock #measurementPanel [hidden]{display:none!important}
body.tool-rail-layout.sky-view #appToolbar #sceneStatusDock #orbitCenterGroup,body.tool-rail-layout:not(.sky-view) #appToolbar #sceneStatusDock #skyCenter{display:none!important}

/* Readable catalogue and a longer time wheel when the viewport has room. */
@media(min-width:700px){
 body #catalogDialog .poi-tile{padding:12px;gap:14px;min-height:106px}
 body #catalogDialog .poi-tile strong{font-size:17px;line-height:1.35}
 body #catalogDialog .poi-tile p{font-size:14px;line-height:1.5}
 body #catalogDialog .poi-tile .eyebrow{font-size:11px;line-height:1.4}
 body #catalogDialog .poi-tile img{width:116px;height:74px}
 body #catalogDialog #catalogFilters button{font-size:14px;min-height:44px;padding:8px 14px}
 body #catalogDialog #catalogDetail{font-size:16px;line-height:1.6}
 body #catalogDialog #catalogDetail p,body #catalogDialog #catalogDetail li{font-size:16px;line-height:1.6}
 body :is(#timeline,.exploration-clock),body.sky-view #skyPanel .sky-time-dock.compact-clock{width:min(1000px,calc(100vw - 48px))!important;max-width:calc(100vw - 48px)!important}
 body :is(#timeline,.exploration-clock)>.time-wheel,body #skyPanel .compact-clock>.time-wheel{flex:1 1 auto;min-width:140px}
}

/* Chrome does not select text; reading surfaces and editable fields still do. */
body,body *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
body :is(#learning,#catalogDialog,#documentaryIntro,#aiScript,.first-run-guide),
body :is(#learning,#catalogDialog,#documentaryIntro,#aiScript,.first-run-guide) *{-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default}
body :is(input:not([type=range]),textarea,[contenteditable=true]){-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default}
body :is(button,input[type=range],[role=slider]){-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none}
body.tool-rail-layout #appToolbar #sceneStatusDock :is(#missionSteps,.journey-steps){display:flex;align-items:center;gap:7px}
body.tool-rail-layout #appToolbar #sceneStatusDock :is(#missionSteps,.journey-steps) svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.4}
body.tool-rail-layout #appToolbar #sceneStatusDock :is(#missionSteps,.journey-steps) span{min-width:0;overflow:hidden;text-overflow:ellipsis}
body.tool-rail-layout:has(#learning:not([hidden])) #appToolbar #sceneStatusDock,
body.tool-rail-layout:has(#comparison:not([hidden])) #appToolbar #sceneStatusDock{display:none!important}

/* Time controls share the light glass of the navigation buttons. */
body :is(#timeline,.exploration-clock),body #skyPanel .sky-time-dock.compact-clock{
 background:#10203038!important;border-color:#d7e0f11c!important;box-shadow:none!important;
 -webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;
}

/* Sharing is a primary scene action; educational pages use their text action bar. */
body.tool-rail-layout:not(.documentary-playing) #appToolbar #viewCluster>#shareView{display:flex!important;align-items:center;justify-content:center;order:-1;min-height:44px}

.public-site-link{display:inline-flex;align-items:center;min-height:44px;color:var(--accent,#eac08b);font-size:13px;text-decoration:none;border-radius:10px;padding:6px 10px;box-sizing:border-box}
.public-site-link:hover{text-decoration:underline}
.public-site-link:focus-visible{outline:2px solid var(--accent,#eac08b);outline-offset:2px}
#catalogDialog .console-head .public-site-link{padding:0;min-height:36px}
#learning .learning-about-bar .public-site-link{flex:none;white-space:nowrap;order:-1}
/* Lessons without an interactive lab retain their explanatory diagram in films. */
body.documentary-playing #learning .learning-reading:not(:has(.learning-lab))>.lesson-figure{display:block;margin:8px auto;max-width:850px}
body.documentary-playing #learning .learning-reading>.lesson-figure img{display:block;width:100%;max-height:48dvh;object-fit:contain}
body.documentary-playing #learning .learning-reading>.lesson-figure figcaption{font-size:12px;color:var(--muted)}
.lagrange-label{padding:3px 7px;border:1px solid #96b9d455;border-radius:8px;background:#102030a0;color:#e3d4b6;font-variant-numeric:tabular-nums;pointer-events:none}
.lagrange-note{font-size:10px;max-width:190px;white-space:normal;transform:translate(12px,18px);color:#d7b986;border:0;background:#10203080}
.lagrange-note:before{display:none}

/* Recenter belongs beside Back, above the scene status cards. */
body.tool-rail-layout #appToolbar>#railRecenter{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;border:1px solid #d7e0f11c;border-radius:11px;background:#10203038!important;color:#ced9e5;box-shadow:none;pointer-events:auto;z-index:3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
body.tool-rail-layout #appToolbar>#railRecenter svg{width:21px;height:21px}
body.tool-rail-layout:not(.article-open) #appToolbar:has(>#pageBack:not([hidden]))>#railRecenter{left:51px}
body.tool-rail-layout:not(.documentary-playing) #appToolbar #sceneStatusDock,
body.tool-rail-layout.documentary-promotional #appToolbar #sceneStatusDock{top:50px}
body.tool-rail-layout:has(#comparison:not([hidden])) #appToolbar>#railRecenter{display:none!important}

/* Actual point markers carry the position; separate the nearby L1/L2 labels. */
.lagrange-label:before{display:none}
.lagrange-label[data-point="L1"]{transform:translate(calc(-100% - 8px),-50%)}
.lagrange-label[data-point="L2"]{transform:translate(8px,-50%)}
.lagrange-note{transform:translate(12px,34px)}

body.tool-rail-layout.documentary-playing:not(.documentary-promotional) #appToolbar>#railRecenter{display:none!important}

#contextTools .hud-control.audio-silent{color:#89929e;background:rgba(35,42,52,.35);border-color:rgba(137,146,158,.25)}
#contextTools .audio-silent .audio-slash{stroke:currentColor;stroke-width:2.4}

/* A single observing-place label, above the clock on the left. */
body.sky-view :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext){top:auto;left:max(12px,env(safe-area-inset-left));right:auto;font-size:calc(12px * var(--app-text-scale,1));bottom:calc(max(12px,env(safe-area-inset-bottom)) + 112px);transform:none;text-align:left;max-width:min(320px,70vw);min-height:22px;pointer-events:none}

/* Temporary messages use the same light glass as scene controls. */
body #toast,body .journey-subtitles{background:#10203038!important;border:1px solid #dce6f024;border-radius:12px;box-shadow:none;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}
body .journey-subtitles{left:max(14px,env(safe-area-inset-left));transform:none;max-width:min(720px,calc(100vw - 88px - env(safe-area-inset-right)))}

/* Let empty toolbar space pass taps through to Learn navigation. */
body.tool-rail-layout:has(#learning:not([hidden])) #appToolbar{pointer-events:none!important}
body.tool-rail-layout:has(#learning:not([hidden])) #appToolbar button{pointer-events:auto!important}
body.tool-rail-layout #learning .learning-about-bar{pointer-events:auto}
/* The description scrolls; the launch action stays docked in view. */
.discovery-detail{display:flex;flex-direction:column;min-height:0;overflow:hidden!important}
.discovery-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 4px 12px 0}
.discovery-body>img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px}
.discovery-detail>.discovery-actions{flex:0 0 auto;position:sticky;bottom:0;margin:0;padding:8px 0 max(4px,env(safe-area-inset-bottom));background:#102030e6;border-top:1px solid #dce6f024;z-index:2}
.discovery-actions .open-poi{margin:0;min-height:48px}
#catalogDialog #catalogDetail{display:flex;height:100%;padding-bottom:0}
#catalogDialog.catalog-empty .catalog-layout{grid-template-columns:1fr}
.content-empty{margin:auto;text-align:center;max-width:460px;padding:16px}
.content-empty img{width:min(100%,340px);height:auto;max-height:24dvh;object-fit:contain}
.content-empty h3{font-size:22px;line-height:1.3;margin:12px 0}
.content-empty p{color:var(--muted);line-height:1.6;margin:12px 0 24px}
.content-empty button{min-height:48px;padding:12px 22px}
@media(max-width:760px){#catalogDialog:not(.catalog-detail-open) #catalogDetail{display:none}#catalogDialog.catalog-detail-open #catalogDetail{display:flex}}

/* Keep accessibility and tools directly available, with room for translated actions. */
.text-size-setting{display:block!important;padding:12px 8px 26px!important}
.text-size-setting input[type=range]{display:block;width:100%;margin:18px 0 10px}
.text-size-ticks{position:relative;margin:0 16px;font-size:10px;height:16px}
.text-size-ticks span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.text-size-ticks span:before{content:'';display:block;height:5px;border-left:1px solid currentColor;margin:0 auto 4px;width:0}
.sky-tools{padding-top:12px}.settings-measure{display:flex;align-items:center;justify-content:center;gap:8px}
.object-card{width:min(440px,calc(100% - 24px))}
.object-card>.object-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(72px * var(--app-text-scale,1))),1fr));gap:6px}
.object-card>.object-actions button{min-width:0;padding:8px 4px;white-space:normal;font-size:calc(11px * var(--app-text-scale,1))}
.object-card>.object-actions span{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:normal;hyphens:auto}

body.tool-rail-layout #appToolbar>:is(#pageBack,#pageNext,#railRecenter){box-sizing:border-box;width:44px!important;min-width:44px!important;max-width:44px;height:44px!important;min-height:44px!important;max-height:44px;padding:0!important;border-radius:11px;background:#10203038!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body.tool-rail-layout #appToolbar>:is(#pageBack,#pageNext,#railRecenter) svg{width:21px;height:21px}
body.tool-rail-layout:not(.article-open) #appToolbar:has(>#pageBack:not([hidden]))>#railRecenter{left:52px}
body.tool-rail-layout:not(.documentary-playing) #appToolbar #sceneStatusDock,body.tool-rail-layout.documentary-promotional #appToolbar #sceneStatusDock{top:52px;gap:8px}

/* Soft astronomical labels; selected targets retain a warm, legible accent. */
:root{--scene-label-boost:1}
@media (pointer:coarse) and (min-width:600px) and (min-height:600px){:root{--scene-label-boost:1.1}}
.planet-label,.moon-marker,.orbit-star-labels span{font-family:Arial,Helvetica,sans-serif;font-weight:400;text-shadow:0 1px 3px rgba(0,0,0,.65);color:#c2d3eb}
.planet-label{font-size:calc(10px * var(--app-text-scale,1) * var(--scene-label-boost))}
.moon-marker{font-size:calc(9px * var(--app-text-scale,1) * var(--scene-label-boost))}
.orbit-star-labels span{font-size:calc(11px * var(--app-text-scale,1) * var(--scene-label-boost))}
#skyLabelCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}

/* Film lessons use the entire stage; overlays reserve scrollable space inside it. */
body.documentary-playing #learning,body.documentary-playing.hud-idle #learning{top:0!important;bottom:0!important;height:100%!important;overflow:auto!important;padding:12px 12px var(--film-lesson-clearance,112px)!important;scroll-padding-bottom:var(--film-lesson-clearance,112px);box-sizing:border-box}
body.documentary-playing #learning .learning-reading{min-height:0;max-height:none;overflow:visible}

/* Ground detail is composited above the economical sky raster, below guides. */
#skyGroundCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
#skyLabelCanvas{z-index:2}


body>.object-card{position:fixed;z-index:10000;box-sizing:border-box;margin:0;max-width:none;overflow:auto}

/* Scene names stay unboxed, including hover/pressed states of label buttons. */
body .planet-label,body .moon-marker,body .mission-label{
 background:transparent!important;border:0!important;box-shadow:none!important;
 -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}

/* Shared UI finish: one type family, lightly frosted controls, readable rows. */
:root{--ui-font:Manrope,'Avenir Next',Arial,sans-serif;--control-radius:11px;--widget-glass:#10203080;--widget-blur:blur(4px);--control-glass:#10203038}
body :is(dialog,.side-dock,.object-card,:is(#missionJourney,.journey-strip),.tracking-status,#documentaryPlayer,#soundPanel) :is(h1,h2,h3,p,small,summary,label,output,span),body :is(button,input,select,textarea){font-family:var(--ui-font)!important}
body button:not(.planet-label):not(.moon-marker):not(.mission-label):not(.tracking-action){background:var(--control-glass)!important;border-radius:var(--control-radius)!important;-webkit-backdrop-filter:var(--widget-blur)!important;backdrop-filter:var(--widget-blur)!important;box-shadow:none!important}
body button:not(.planet-label):not(.moon-marker):not(.mission-label):not(.tracking-action):hover{background:#31465b55!important}
body button:is(.primary,.active,[aria-pressed=true]),body .settings-done button{color:var(--accent);border-color:#eac08b66}
body :is(.tracking-status,:is(#missionJourney,.journey-strip),.journey-subtitles,#toast),body #documentaryPlayer :is(.film-controls,.film-subtitles){border-radius:var(--control-radius)!important;-webkit-backdrop-filter:var(--widget-blur)!important;backdrop-filter:var(--widget-blur)!important}
body dialog::backdrop{-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important}
body :is(.side-dock,.sky-settings,.stellar-settings){font-size:14px;line-height:1.5}
body :is(.side-dock,.sky-settings,.stellar-settings) :is(label,button,select,input,output,summary,.settings-label){font-size:14px;line-height:1.45}
body :is(.side-dock,.sky-settings,.stellar-settings) :is(p,small,.console-note){font-size:12px;line-height:1.65}
body :is(.side-dock,.sky-settings,.stellar-settings) h2{font-size:21px;line-height:1.3;letter-spacing:0;margin:0}
body :is(.side-dock,.sky-settings,.stellar-settings) h3{font-size:14px;font-weight:650;line-height:1.45;margin:0 0 10px;letter-spacing:.015em}
body .settings-scroll{padding:20px clamp(16px,2.5vw,28px)}
body .settings-scroll .console-head{margin:0 0 18px;padding:0 0 12px;gap:12px}
body .settings-scroll :is(.settings-group,.audio-section){margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line)}
body .settings-scroll :is(label.setting-row,label:has(>select)){min-width:0;max-width:100%;margin:10px 0;padding:4px 0;gap:8px}
body .settings-scroll label:has(>select){display:flex!important;flex-direction:column;align-items:stretch!important;justify-content:flex-start}
body .settings-scroll label>select{position:static;width:100%!important;max-width:100%;min-width:0;flex:none;min-height:44px;margin:0;padding:10px 12px;border-radius:var(--control-radius);white-space:nowrap;text-overflow:ellipsis}
body .settings-scroll select option{background:#142030;color:#e8edf3}
body .settings-scroll :is(.settings-check-row,.settings-range-row){margin:6px 0;padding:6px 0}
body .settings-scroll .scale-settings label.settings-range-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
body .settings-scroll .scale-settings label.settings-range-row>.settings-label{grid-column:1/-1;grid-row:1;font-size:inherit}
body .settings-scroll .scale-settings label.settings-range-row>input[type=range]{grid-column:1;grid-row:2}
body .settings-scroll .scale-settings label.settings-range-row>output{grid-column:2;grid-row:2;font-size:inherit}
body .settings-scroll .scale-settings label.settings-range-row:not(:has(>output))>input[type=range]{grid-column:1/-1}
body .settings-scroll .settings-info{margin:4px 0 12px}
body .settings-scroll .settings-info>summary{font-style:normal;line-height:1.5}
body .settings-scroll button{min-height:44px;white-space:normal;overflow-wrap:break-word}
body .settings-scroll .settings-audio{width:100%;margin:0 0 14px;padding:12px;text-align:left}
body #audioSettingsDialog #soundPanel{height:auto;max-height:none;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0}
body #soundPanel>p{font-size:14px;font-style:normal;line-height:1.6;margin:0 0 16px}
body #soundPanel .audio-section>button{width:100%;margin:8px 0}
body #soundPanel .personal-audio{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
body #soundPanel .personal-audio>button{width:100%;margin-bottom:8px}
body #personalPlayer>div{display:flex;flex-wrap:wrap;gap:8px}
body #personalPlayer>div button{flex:1;min-width:44px}
body #soundPanel :is(small,a){font-size:12px;line-height:1.65}
body :is(#sunset,#night,.sky-presets button,.direct-time-actions button){font-size:14px;min-height:44px;padding:10px 12px;white-space:normal;line-height:1.4}
body :is(:is(#missionJourney,.journey-strip),.tracking-status,.journey-subtitles){font-size:13px;line-height:1.5}
@media(min-width:761px){body .settings-with-done{width:min(500px,calc(100vw - 24px))!important;max-width:500px!important}}

/* Layered important rules take precedence over legacy per-view button skins. */
@layer ui-controls{
 body button:not(.planet-label):not(.moon-marker):not(.mission-label):not(.tracking-action){background:var(--control-glass)!important;border-radius:var(--control-radius)!important;-webkit-backdrop-filter:var(--widget-blur)!important;backdrop-filter:var(--widget-blur)!important;box-shadow:none!important;color:var(--text)!important}
 body button:not(.planet-label):not(.moon-marker):not(.mission-label):not(.tracking-action):hover{background:#31465b55!important}
 body button:is(.active,[aria-pressed=true],.primary),body .settings-done button{color:var(--accent)!important;border:1px solid #eac08b66!important}
 body :is(.side-dock,.sky-settings,.stellar-settings) :is(label,button,select,input,output,summary,.settings-label){font-size:calc(14px * var(--app-text-scale,1))!important;line-height:1.45!important}
 body :is(.side-dock,.sky-settings,.stellar-settings) :is(p,small,.console-note){font-size:calc(12px * var(--app-text-scale,1))!important;line-height:1.65!important}
 body #soundPanel>p{font-size:calc(14px * var(--app-text-scale,1))!important}
 body .settings-scroll .console-head{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 body .settings-scroll label:has(>select){display:flex!important;flex-direction:column!important;align-items:stretch!important;margin:12px 0!important;gap:8px!important}
 body .settings-scroll label>select{width:100%!important;min-width:0!important;max-width:100%!important;min-height:44px!important;flex:none!important}
 body .settings-scroll .settings-check-row,body .settings-scroll .settings-range-row{margin:6px 0!important;padding:6px 0!important}
 body :is(#sunset,#night,.sky-presets button,.direct-time-actions button){font-size:calc(14px * var(--app-text-scale,1))!important}
}

/* Scrolled settings must not run behind a transparent sticky title. */
body .settings-with-done .settings-scroll .console-head{position:static!important;inset:auto!important}
body .settings-scroll .text-size-setting{padding-bottom:12px!important}
body .settings-scroll .text-size-setting .text-size-ticks{grid-column:1/-1;grid-row:3;margin:0 16px 8px}

/* Desktop gestures signal the operation before and during a drag. */
@media(any-pointer:fine){
 .scene-navigation{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23fff' stroke-width='2'%3E%3Cellipse cx='16' cy='16' rx='13' ry='7' transform='rotate(-35 16 16)'/%3E%3Cpath d='M22 4l5 4-6 2'/%3E%3C/g%3E%3Ccircle cx='16' cy='16' r='3' fill='%23eac08b'/%3E%3C/svg%3E") 16 16,move}
 .scene-navigation[data-navigation-mode=look],.scene-navigation[data-navigation-mode=looking]{cursor:move}
 .scene-navigation[data-navigation-mode=pan]{cursor:grab}
 .scene-navigation[data-navigation-mode=panning]{cursor:grabbing}
}
.desktop-navigation-help{margin:0 0 16px;padding:8px 0;border-bottom:1px solid var(--line)}
.desktop-navigation-help summary{cursor:pointer;min-height:36px;display:flex;align-items:center}
.desktop-navigation-help p{margin:4px 0 12px}
/* Only the compact group of four tabs has a frosted backdrop. */
body.tool-rail-layout header{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body.tool-rail-layout header nav{background:#10203038;border-radius:13px;padding:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
@media(min-width:700px){
 body.tool-rail-layout header nav{max-width:560px;gap:5px}
 body.tool-rail-layout header nav :is(button,#discoverSky){height:46px;min-height:46px}
 body.tool-rail-layout header nav :is(button,#discoverSky) span{font-size:12px}
 body.tool-rail-layout header nav :is(button,#discoverSky) svg{width:18px;height:18px}
}
/* Center date/time and zone with real vertical breathing room. */
body :is(#timeline,.exploration-clock) .time-label,body #skyPanel #compactClockReadout{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:center;gap:4px;padding:8px 6px!important;min-height:58px;height:auto;line-height:1.3;text-align:center}
body :is(#timeline,.exploration-clock) .time-label>div{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;line-height:1.3}
body :is(#timeline,.exploration-clock) .time-label :is(#date,.utc),body #compactClockReadout :is(#clockReadout,#compactClockDate){margin:0;line-height:1.3;text-align:center}
body :is(#timeline,.exploration-clock) .time-label .utc{display:inline-block;white-space:nowrap;align-self:center}
@media(max-width:650px) and (orientation:portrait){body :is(#timeline,.exploration-clock) .time-label,body #skyPanel #compactClockReadout{min-height:44px;padding:4px 2px!important;gap:2px}}
/* Help and About use the same reading surface as learning articles. */
#learning .learning-info{display:block;max-width:1000px;margin-inline:auto;padding:16px 0 40px}
#learning .learning-info #aboutContent{max-height:none;height:auto;overflow:visible;padding:16px 0}
#learning .learning-info .about-sections{position:static;display:flex;flex-wrap:wrap;gap:8px;overflow:visible;margin:0 0 16px}
#learning .learning-info .about-sections button{flex:0 1 auto;min-height:44px;padding:10px 14px}
#learning .learning-info .about-section{max-width:850px;margin-inline:auto}
#learning .learning-info :is(p,li){font-size:14px;line-height:1.8}
#learning .learning-info h2{font-size:25px;line-height:1.3}
#learning .learning-info h3{font-size:18px;margin-top:24px}

/* App-owned music choices: readable wrapping labels on every screen. */
body #soundPanel .music-picker{margin:10px 0 18px;min-width:0}
body #soundPanel .music-picker summary{padding:14px 16px;min-height:48px;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--control-radius,12px);background:#ffffff08;backdrop-filter:blur(4px);font:inherit;line-height:1.55;cursor:pointer;overflow-wrap:anywhere}
body #soundPanel .music-choices{display:grid;gap:6px;max-height:min(420px,45dvh);overflow:auto;padding:10px 0}
body #soundPanel .music-choices label{display:flex;gap:12px;align-items:center;margin:0;padding:12px;min-height:48px;box-sizing:border-box;border:1px solid transparent;border-radius:var(--control-radius,12px);cursor:pointer;font-size:calc(13px * var(--app-text-scale,1));line-height:1.55}
body #soundPanel .music-choices label:has(:checked){background:#ffffff0d;border-color:var(--accent)}
body #soundPanel .music-choices input{flex:0 0 auto;accent-color:var(--accent)}
body #soundPanel .music-choices span{min-width:0;overflow-wrap:anywhere}
body #soundPanel label[hidden]{display:none!important}

/* Mouse proximity reveals controls without adding an overlay over the sky. */
@media(any-pointer:fine){
 body.hud-idle.desktop-hover-nav header,
 body.hud-idle.desktop-hover-tools #appToolbar{opacity:1!important;pointer-events:auto!important;transition:opacity .15s ease!important}
 body.desktop-hover-nav header nav,body.desktop-hover-tools #appToolbar button{pointer-events:auto!important}
}

/* Observation inputs share the transparent controls; hidden rows stay hidden. */
#skyRenderSettings [hidden]{display:none!important}
#skyRenderSettings input[type=number],#skyRenderSettings input[type=time],#skyRenderSettings select,.sky-settings input[type=number]{background:transparent;color:inherit;border:1px solid #ffffff26;border-radius:var(--control-radius,12px);font-family:var(--ui-font);color-scheme:dark}

@media(any-pointer:fine){.scene-navigation[data-navigation-mode=orbit],.scene-navigation[data-navigation-mode=orbiting]{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23101b29%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%228%22%2F%3E%3Cpath%20d%3D%22M16%208c-5%204-5%2012%200%2016m0-16c5%204%205%2012%200%2016M8%2016h16M4%2012A13%2013%200%200%201%2026%206m-5%200h5V1M28%2020A13%2013%200%200%201%206%2026m5%200H6v5%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%228%22%2F%3E%3Cpath%20d%3D%22M16%208c-5%204-5%2012%200%2016m0-16c5%204%205%2012%200%2016M8%2016h16M4%2012A13%2013%200%200%201%2026%206m-5%200h5V1M28%2020A13%2013%200%200%201%206%2026m5%200H6v5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12,move}.scene-navigation[data-navigation-mode=select]{cursor:pointer}}
#learning .learning-about-bar .public-site-link{order:initial}

@media(any-pointer:fine){body.hud-idle.desktop-hover-clock :is(:is(#timeline,.exploration-clock),.sky-time-dock,.exploration-clock){opacity:1!important;pointer-events:auto!important;transition:opacity .15s ease!important}}

@media(any-pointer:fine){body.hud-idle .desktop-hover-visible{opacity:1!important;pointer-events:auto!important;transition:opacity .15s ease!important}body.hud-idle :is(.desktop-hover-visible,body.desktop-hover-clock :is(#timeline,.exploration-clock),body.desktop-hover-clock .sky-time-dock,body.desktop-hover-tools #appToolbar) :is(button,input,select,a,[role=slider]){pointer-events:auto!important}}

/* Measurement arc must sit above the sky scene (z-index 7), like stellar. */
#measurementOverlay{z-index:9}

#measurementOverlay path.measurement-occluded{stroke:#68727d;stroke-width:.55;stroke-dasharray:2 5;opacity:.65}

@media(any-pointer:fine){body.hud-idle.desktop-hover-clock :is(:is(#timeline,.exploration-clock),.sky-time-dock) *{pointer-events:auto!important}}
:is(#timeline,.exploration-clock) .utc{cursor:pointer}

/* Outrank the legacy :is() HUD rule, whose selector includes IDs. */
@media(any-pointer:fine){
 body.hud-idle.desktop-hover-nav #app header{opacity:1!important;pointer-events:auto!important;transition:opacity .15s ease!important}
 body.hud-idle.desktop-hover-nav #app header *{pointer-events:auto!important}
 body.hud-idle.desktop-hover-clock #app :is(:is(#timeline,.exploration-clock),.sky-time-dock),
 body.hud-idle.desktop-hover-clock #app :is(:is(#timeline,.exploration-clock),.sky-time-dock) *{pointer-events:auto!important}
}
:is(#timeline,.exploration-clock) .time-label,#compactClockReadout{position:relative;z-index:2;cursor:pointer}


/* One shared breakpoint for list/detail navigation; no 651–760 px dead zone. */
#catalogDialog .catalog-layout>*{min-width:0}
#catalogDialog #catalogDetail[hidden]{display:none}
@media(max-width:760px){
 #catalogDialog .catalog-layout{display:block;height:100%;min-height:0}
 #catalogDialog #catalogList{height:100%;padding-right:0}
 #catalogDialog.catalog-detail-open #catalogList{display:none}
 #catalogDialog.catalog-detail-open #catalogDetail{display:flex;height:100%;padding:0}
 #catalogDialog.catalog-detail-open #catalogFilters{display:none}
 #catalogDialog.catalog-detail-open{grid-template-rows:auto minmax(0,1fr)}
 #catalogDialog .catalog-back{display:inline-flex;align-items:center;min-height:44px;margin:0 0 12px}
}
#catalogDialog.catalog-empty #catalogList{justify-content:center;align-items:center;width:100%}
#catalogDialog .content-empty{width:min(100%,440px);box-sizing:border-box;padding:clamp(16px,4vw,32px);margin:auto;display:flex;flex-direction:column;align-items:center;gap:16px}
#catalogDialog .content-empty img{width:min(100%,260px);max-height:20dvh}
#catalogDialog .content-empty h3{font-size:clamp(20px,2.4vw,25px);line-height:1.3;margin:0;text-wrap:balance}
#catalogDialog .content-empty p{font-size:calc(14px * var(--app-text-scale,1));line-height:1.6;margin:0;max-width:34ch;text-wrap:pretty}
#catalogDialog .content-empty .content-create{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;min-height:48px;padding:12px 20px;border:1px solid #dce6f038;border-radius:var(--control-radius,12px);background:#10203038;color:var(--text);font:inherit;line-height:1.4;white-space:normal;backdrop-filter:blur(4px)}
#catalogDialog .content-create svg{width:20px;height:20px;flex:none}
.learning-progressive>.article-deeper{margin:20px 0;padding:16px;border:1px solid #dce6f024;border-radius:12px}
.learning-progressive>.article-deeper summary{cursor:pointer;line-height:1.5;font-weight:500}
.learning-progressive>.article-deeper p{line-height:1.7}

/* Closed modal panels must stay hidden even when they share a flex layout. */
dialog.discovery-detail:not([open]){display:none!important}

/* Keep navigation out of the observatory loading screen, including hover/focus. */
#app:has(#loading:not([hidden])) > header{visibility:hidden!important;pointer-events:none!important}

/* A quiet accent for the discovery entry, preserving shared button geometry. */
header nav #journeysButton{border-color:#eac08b70;color:#f0d2a9;background:#eac08b12;box-shadow:inset 0 0 0 1px #eac08b0a}
/* Capture options share the application's typography, glass and button geometry. */
body dialog#captureDialog.capture-options-open{width:min(360px,calc(100vw - 24px))!important;box-sizing:border-box}
#captureOptions{padding:20px 8px 6px;font:inherit;color:#dce5ef}
#captureOptions[hidden]{display:none}
#captureOptions h3{font:inherit;font-size:1.05rem;font-weight:500;margin:0 0 20px;color:#f1dcc0}
#captureOptions fieldset{border:0;margin:0;padding:0;min-width:0}
#captureOptions legend{padding:0;margin:0 0 10px;font-size:.9rem}
#captureOptions .capture-resolutions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#captureOptions .capture-resolutions button{font:inherit;min-height:44px;border-radius:11px;border:1px solid #d7e0f125;background:#d7e0f109;color:#dce5ef;padding:8px}
#captureOptions .capture-resolutions button[aria-pressed=true]{color:#f0d2a9;border-color:#eac08b80;background:#eac08b18}
#captureOptions [data-dimensions]{font-size:.82rem;font-variant-numeric:tabular-nums;margin:10px 0 20px;color:#aebdcd}
#captureOptions .capture-controls-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #d7e0f11c;font-size:.9rem;line-height:1.4}
#captureOptions input[type=checkbox]{flex:none;width:20px;height:20px;accent-color:#eac08b;margin:0}
#captureOptions .capture-options-note{font-size:.78rem;line-height:1.5;color:#aebdcd;margin:4px 0}
#captureOptions button:focus-visible{outline:2px solid #eac58f;outline-offset:2px}
@media(max-height:600px){body dialog#captureDialog.capture-options-open{bottom:12px!important;max-height:calc(100dvh - 24px)!important}}

/* One glass surface for tracking; child buttons must not stack tinted panels. */
body.tool-rail-layout #appToolbar #sceneStatusDock>:is(#orbitCenterGroup,#skyCenter){
 background:var(--control-glass)!important;
 border:1px solid #dce6f02b!important;
 -webkit-backdrop-filter:var(--widget-blur)!important;backdrop-filter:var(--widget-blur)!important;
}
body #appToolbar :is(#orbitCenterGroup,#skyCenter)>button{
 background:transparent!important;border:0!important;border-radius:0!important;
 -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
 min-height:44px!important;box-shadow:none!important;
}
body #appToolbar :is(#orbitCenter,#skyCenterLabel){gap:8px;padding:6px 12px!important;font-size:calc(13px * var(--app-text-scale,1))!important;font-weight:500}
body #appToolbar :is(#releaseOrbit,#releaseTracking){flex:0 0 44px;width:44px;min-width:44px;padding:0!important;font-size:20px!important;opacity:.75}
body #appToolbar :is(#orbitCenterGroup,#skyCenter)>button:hover{background:#ffffff09!important}
body #appToolbar :is(#orbitCenterGroup,#skyCenter)>button:focus-visible{outline:2px solid #d6b887;outline-offset:-3px}
body #appToolbar .tracking-lock{width:14px;height:14px;flex-basis:14px;opacity:.6}

/* Tracking is a single frosted capsule, never two independently blurred buttons. */
body.tool-rail-layout #appToolbar #sceneStatusDock>:is(#orbitCenterGroup,#skyCenter){
 background:rgba(13,24,35,.26)!important;border-color:rgba(220,230,240,.19)!important;
 border-radius:var(--control-radius)!important;isolation:isolate;
 -webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;
}
body.tool-rail-layout #appToolbar #sceneStatusDock :is(#orbitCenterGroup,#skyCenter)>.tracking-action{
 background:none!important;background-image:none!important;border:0!important;border-radius:0!important;
 -webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;
 box-sizing:border-box;min-height:44px!important;height:44px;
}
body.tool-rail-layout #appToolbar #sceneStatusDock :is(#orbitCenter,#skyCenterLabel){
 padding:0 10px!important;font-size:13px!important;line-height:1.3;font-weight:400;gap:7px;
}
body.tool-rail-layout #appToolbar #sceneStatusDock :is(#releaseOrbit,#releaseTracking){
 display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;min-width:36px;
 padding:0!important;opacity:.7;
}
body #appToolbar .tracking-action .tracking-close-icon{width:16px;height:16px;pointer-events:none}

/* Measurement shares one frosted surface; its controls never blur the scene twice. */
body #measurementPanel,
body.tool-rail-layout #appToolbar #sceneStatusDock #measurementPanel{
 background:rgba(13,24,35,.38)!important;border:1px solid rgba(220,230,240,.2)!important;
 border-radius:14px!important;padding:6px 6px 6px 14px;gap:2px;isolation:isolate;
 -webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;
}
body #measurementPanel>button,
body.tool-rail-layout #appToolbar #sceneStatusDock #measurementPanel>button{
 background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
 -webkit-backdrop-filter:none!important;backdrop-filter:none!important;min-height:44px!important;
}
body #measurementPanel>.measurement-readout{flex:1;min-width:0;text-align:left}
body #measurementPanel>button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
body #measurementPanel #measureClose,body #measurementPanel #measureAgain{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;min-width:40px;padding:8px}
body #measurementPanel #measureClose svg{width:18px;height:18px;opacity:.75}
body #measurementPanel #measureAgain svg{width:21px;height:21px}
body #measurementPanel #measureNames{color:#bbc8d6;font-size:11px;line-height:1.4}
body #measurementPanel #measureValue{color:#ebd3ac;font-size:16px;font-weight:500;line-height:1.5}
body.tool-rail-layout #appToolbar #sceneStatusDock #measurementPanel #measureValue{font-size:16px;line-height:1.5}
body #measurementPanel #measureDetail{color:#afbed0}


/* Cultural controls occupy their own row, including on 320/375px phones. */
.compact-sky-layers .sky-culture-picker{grid-column:1/-1;min-width:0;display:grid;gap:8px;margin:4px 0 12px}
.sky-culture-picker .culture-caption{font-size:12px;color:#b8c9d9}
.sky-culture-picker>button{display:block;width:100%;min-height:48px;text-align:left;white-space:normal;overflow-wrap:anywhere;font:inherit;font-size:15px;padding:10px 12px;border:1px solid #a8c5da40;border-radius:12px;background:#12253655;color:inherit}
.sky-culture-picker .culture-options{display:grid;gap:4px;padding:5px;border:1px solid #a8c5da30;border-radius:12px;background:#101e2d99}
.sky-culture-picker .culture-options[hidden]{display:none}
.sky-culture-picker .culture-options button{min-height:48px;width:100%;padding:10px;text-align:left;font-size:14px;white-space:normal;line-height:1.4;border:1px solid transparent;background:transparent;border-radius:8px}
.sky-culture-picker [role=option][aria-selected=true]{border-color:#cdb68180;background:#cdb68114;color:#efdab1}
.sky-culture-picker button:focus-visible,.date-spinner :focus-visible{outline:2px solid #d9c18e;outline-offset:2px}
.sky-culture-picker .culture-note{font-size:12px;line-height:1.5;margin:0;color:#aebed0}
.compact-sky-layers .sky-checks>label{min-width:0;min-height:44px!important;line-height:1.4}
@media(max-width:400px){.compact-sky-layers .sky-checks{grid-template-columns:minmax(0,1fr)}}
.inline-date .date-dials[hidden],.inline-date .inline-hour[hidden]{display:none!important}
.date-wheel-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:0}
.date-wheel{min-width:0;display:grid;grid-template-columns:124px minmax(0,1fr);align-items:center;gap:10px}
.date-wheel-caption{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;margin:0;font-size:11px;color:#adbed0;min-height:44px}
.date-wheel-caption output{font-size:14px;color:#edd7b0;font-variant-numeric:tabular-nums;white-space:nowrap}
.inline-date .date-wheel .wheel-drum{height:44px;box-sizing:border-box;min-width:0;padding:0 8px;background:linear-gradient(90deg,#0a142220,#27364c45,#0a142220);border-color:#b4c5db30;border-radius:10px;touch-action:pan-y}
.date-wheel .wheel-drum i{inset:10px 16px}.date-wheel .wheel-drum>*{pointer-events:none}
.date-wheel .wheel-drum:focus-visible{outline:2px solid #d9c18e;outline-offset:2px}
.inline-date .date-wheel .typed-date{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;margin:0;min-height:44px;font-size:11px;color:#adbed0}
.inline-date .date-wheel .typed-date input{width:100%;max-width:none;min-width:0;box-sizing:border-box;min-height:30px;padding:2px 4px;text-align:left;font-size:16px;font-variant-numeric:tabular-nums}
.inline-date .date-wheel-caption output{padding-left:4px;font-size:16px}

.help-documentation{display:grid;gap:12px;padding:14px 0}.help-documentation a{min-height:44px;display:flex;align-items:center;color:#bdd8eb;text-decoration:underline}

#skyCulture[hidden]{display:none!important}
/* Shared lower-left reference readout: the same component in both scenes. */
body :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext).context-widget{position:absolute;top:auto;left:max(12px,env(safe-area-inset-left));right:auto;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 112px);transform:none;text-align:left;max-width:min(320px,70vw);min-height:44px;pointer-events:auto;background:transparent;border:0;padding:4px 9px;display:flex;flex-direction:column;justify-content:center;gap:3px;font-size:calc(12px * var(--app-text-scale,1));color:#c1cede;z-index:7}
.context-widget small{font-size:.85em;color:#9caec6;font-variant-numeric:tabular-nums}
.context-widget[hidden]{display:none!important}


/* Sky settings: full-width star matrix and unambiguous, compact layer rows. */
#skyGuideSettings{display:block}
#skyGuideSettings>.star-settings{width:100%;margin:0;padding:0;border:0}
#skyGuideSettings>h3{margin-bottom:4px}
.star-settings-table{margin:4px 0 8px}
.star-settings-table th:first-child{width:38%}
.star-settings-table thead th{font-size:11px;padding:6px 2px;overflow-wrap:normal}
.star-settings-table tbody th{font-size:13px;overflow-wrap:normal;hyphens:auto}
.star-settings-table td label{min-width:44px;min-height:44px}
.star-settings-table input[type=checkbox]{width:20px;height:20px;min-width:20px}
.star-settings-hint{margin:0 0 4px!important;color:var(--muted)}
#skyRenderSettings .compact-sky-layers .sky-checks{grid-template-columns:minmax(0,1fr)}
#skyRenderSettings .compact-sky-layers .body-layers{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
#skyRenderSettings .body-layer-details{grid-column:1/-1;margin:0 0 6px}
#skyRenderSettings .body-layer-details>summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--muted);list-style:none}
#skyRenderSettings .body-layer-details>summary::-webkit-details-marker{display:none}
#skyRenderSettings .body-layer-details>summary:before{content:'›';font-size:20px;transition:transform .15s}
#skyRenderSettings .body-layer-details[open]>summary:before{transform:rotate(90deg)}
#skyRenderSettings .body-layer-details[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
#skyRenderSettings .body-layer-details>summary{grid-column:1/-1}
#skyRenderSettings .sky-effects{gap:0}
@layer ui-controls{
 body #skyRenderSettings .settings-scroll .compact-sky-layers label.settings-check-row{margin:0!important;padding:4px 0!important;min-height:44px!important}
 body .settings-scroll .star-settings-table label{margin:0!important;padding:0!important;min-height:44px!important}
}

/* Frequent-use settings: compact rows, readable disclosures, stable scrolling. */
body .settings-scroll{scroll-behavior:auto;overflow-anchor:none}
body .settings-scroll :is(.settings-group,.audio-section){margin-top:12px;padding-top:12px}
body .settings-scroll :is(.satellite-options,.body-layer-details)>summary{min-height:44px;display:list-item;align-content:center;cursor:pointer;color:var(--text);padding:8px 0;box-sizing:border-box}
body .settings-scroll .satellite-options{grid-column:1/-1;width:100%;margin:0}
body .settings-scroll .satellite-options[open]{padding-bottom:6px}
body .settings-scroll .satellite-options label{min-height:44px;margin:0!important;padding:3px 0!important}
body .settings-scroll .satellite-categories{display:block;min-width:0;margin:10px 0;padding:0;border:0}
body .settings-scroll .satellite-categories>legend{font-size:14px;font-weight:650;margin-bottom:4px}
body .settings-scroll .settings-info>summary{min-height:36px;align-content:center;cursor:pointer}
body .settings-scroll .settings-info p{margin:6px 0}
body .settings-scroll label.settings-range-inline{display:grid!important;grid-template-columns:minmax(80px,.8fr) minmax(100px,1fr) auto!important;align-items:center;gap:8px!important;min-height:44px}
body .settings-scroll label.settings-range-inline>.settings-label{grid-column:1!important;grid-row:1!important;min-width:0}
body .settings-scroll label.settings-range-inline>input[type=range]{grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important;min-height:44px;margin:0}
body .settings-scroll label.settings-range-inline>output{grid-column:3!important;grid-row:1!important;white-space:nowrap;font-variant-numeric:tabular-nums}
body .settings-scroll label.settings-range-inline:not(:has(>output))>input[type=range]{grid-column:2/-1!important}
body .cosmic-settings .settings-scroll>label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
body .stellar-settings .stellar-foot{display:grid;grid-template-columns:1fr;gap:4px}
body .stellar-settings .stellar-foot>label{width:100%;min-height:44px}
@media(max-width:359px){body .settings-scroll label.settings-range-inline{grid-template-columns:minmax(70px,.8fr) minmax(80px,1fr) auto!important}}
body .settings-scroll .satellite-categories[hidden],body .settings-scroll label.settings-range-inline[hidden]{display:none!important}

/* Quiet shared tracking marker; release controls retain their touch target. */
.tracking-reticle i{opacity:.6;background:linear-gradient(#eac08b,#eac08b) left top/10px 2px no-repeat,linear-gradient(#eac08b,#eac08b) left top/2px 10px no-repeat,linear-gradient(#eac08b,#eac08b) right top/10px 2px no-repeat,linear-gradient(#eac08b,#eac08b) right top/2px 10px no-repeat,linear-gradient(#eac08b,#eac08b) left bottom/10px 2px no-repeat,linear-gradient(#eac08b,#eac08b) left bottom/2px 10px no-repeat,linear-gradient(#eac08b,#eac08b) right bottom/10px 2px no-repeat,linear-gradient(#eac08b,#eac08b) right bottom/2px 10px no-repeat}
.tracking-reticle>span{opacity:.6;background:transparent;padding:1px 3px;top:-18px;font-size:9px;text-shadow:0 1px 3px #0008}

.tracking-reticle{transition:opacity .25s ease}
@media(prefers-reduced-motion:reduce){.tracking-reticle{transition:none}}

/* Shared caption typography for films and spacecraft journeys. */
body #documentaryPlayer .film-subtitles,body .journey-subtitles{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:400;font-style:normal;letter-spacing:normal;line-height:1.45;color:#d0d7e0}

/* Anchor the place readout to the actual clock on every viewport. */
body :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext).context-widget{left:var(--context-left,max(12px,env(safe-area-inset-left)))!important;bottom:var(--context-bottom,124px)!important;top:auto!important;max-width:var(--context-width,320px);box-sizing:border-box;padding-left:0;min-height:0}
body *{-webkit-tap-highlight-color:transparent}
body :is(button,[role=button],[role=slider],summary):focus:not(:focus-visible){outline:none;box-shadow:none}
body :is(:is(#timeline,.exploration-clock),.sky-time-dock,.context-widget,#sceneStatusDock),body :is(:is(#timeline,.exploration-clock),.sky-time-dock,.context-widget,#sceneStatusDock) *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}
body :is(input:not([type=range]):not([readonly]),textarea,[contenteditable=true]){-webkit-user-select:text!important;user-select:text!important}

/* Domain clocks use the native orbital dock rules above. */
.exploration-clock{position:absolute;display:flex;align-items:center;z-index:8;color:var(--text)}
.exploration-clock [data-epoch]{background:none;border:0;color:inherit;font-size:12px;min-height:28px;padding:2px;max-width:100%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.exploration-clock [data-play] svg{fill:none;stroke:currentColor;stroke-width:1.8}
.epoch-settings{width:min(420px,calc(100vw - 28px));padding:20px;color:var(--text);background:#101c2df5;border:1px solid #b4c5db23;border-radius:20px}.epoch-settings p{font-size:13px;line-height:1.6}.epoch-settings input{width:100%}

body.cosmic-view #orbitContext,.context-widget[hidden]{display:none!important}

.exploration-clock .utc{font-size:10px!important}.epoch-settings .wheel-scales{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.epoch-settings .wheel-scales button{flex:1;min-height:44px}

/* Shared selectors: system, moment and terrestrial place. */
.widget-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid #31485b;border-radius:22px;background:#0c1722;color:#e6edf3;box-shadow:0 24px 90px #0009;overflow:auto}
.widget-dialog::backdrop{background:#020811b8;backdrop-filter:blur(8px)}
.widget-dialog .console-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.widget-dialog h2{font-size:1.35rem;margin:0}.widget-dialog button,.widget-dialog input{font:inherit}
.widget-dialog .console-head button{min-width:44px;min-height:44px}.widget-content>input[type=search]{box-sizing:border-box;width:100%;padding:14px;border:1px solid #395266;border-radius:12px;background:#132432;color:inherit}
.system-breadcrumb{color:#c6ad80;font-size:.83rem;line-height:1.65}.system-tree{margin-top:16px}.system-node{margin:5px 0}.system-node summary{display:flex;align-items:center;gap:12px;padding:12px 6px;cursor:pointer;font-weight:600}.system-node summary::before{content:'›';width:12px;color:#c6ad80}.system-node[open]>summary::before{transform:rotate(90deg)}
.system-node svg{width:26px;height:26px;flex:none;fill:none;stroke:#c6ad80;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.system-children{margin-left:18px;padding-left:12px;border-left:1px solid #304454}.system-destination{display:flex;align-items:center;text-align:left;gap:14px;width:100%;padding:13px;border:1px solid transparent;border-radius:12px;color:inherit;background:#13212e;cursor:pointer;min-height:58px}.system-destination:hover,.system-destination:focus-visible{background:#203444;border-color:#7795ab}.system-destination[aria-current]{border-color:#c6ad80;background:#29302f}.system-destination span{display:grid;gap:4px}.system-destination small{font-size:.76rem;color:#a6b8c6}.system-selector [role=status]{font-size:.85rem;color:#b7c8d6}.widget-dialog :focus-visible{outline:2px solid #d1b780;outline-offset:3px}.moment-picker .inline-date{margin-top:16px}
@media(max-width:520px){.widget-dialog{padding:16px;max-height:calc(100dvh - 16px);width:calc(100vw - 16px)}.system-children{margin-left:7px;padding-left:7px}.system-destination{gap:10px;padding:11px}.system-node svg{width:22px;height:22px}}


#skyRenderSettings .sky-light-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,90px) 38px 36px;align-items:center;gap:7px;min-height:48px;margin:0}
#skyRenderSettings .sky-light-row>label{margin:0;padding:0;font-size:12px;line-height:1.3;min-width:0;display:block}
#skyRenderSettings .sky-light-row>input[type=range]{width:100%;min-width:0;margin:0;height:40px;padding:0;touch-action:pan-y}
#skyRenderSettings .sky-light-row output{width:auto;min-width:0;max-width:100%;white-space:nowrap;font-size:11px;color:#c8baa4;text-align:right;font-variant-numeric:tabular-nums}
#skyRenderSettings .sky-light-row .sky-light-switch{display:flex;align-items:center;justify-content:center;min-height:44px}
#skyRenderSettings .sky-light-row input:disabled{opacity:.4}
#skyRenderSettings .sky-light-info p{font-size:11px;line-height:1.6;color:#a9b9ce}
@media(max-width:360px){#skyRenderSettings .sky-light-row{grid-template-columns:minmax(0,1fr) 66px 34px 33px;gap:5px}}

#skyRenderSettings .sky-light-switch input[type=checkbox]{-webkit-appearance:none;appearance:none;position:relative;width:33px;height:19px;flex:0 0 33px;border-radius:20px;background:#050e19;border:1px solid #8ba8c833;margin:0;padding:0}
#skyRenderSettings .sky-light-switch input[type=checkbox]:before{content:'';position:absolute;width:11px;height:11px;left:3px;top:3px;border-radius:50%;background:#667d9b;transition:transform .18s,background .18s}
#skyRenderSettings .sky-light-switch input[type=checkbox]:checked{border-color:#d7bc9170;background:#d7bc9110}
#skyRenderSettings .sky-light-switch input[type=checkbox]:checked:before{transform:translateX(14px);background:#d7bc91}
#skyRenderSettings .sky-light-switch input:focus-visible{outline:2px solid #d7bc91;outline-offset:4px}
@media(prefers-reduced-motion:reduce){#skyRenderSettings .sky-light-switch input:before{transition:none}}

/* Compact location hierarchy: one destination per row, independent disclosure. */
.system-tree{margin-top:8px}.system-node{margin:2px 0}
.system-node summary{padding:0;gap:0;list-style:none}
.system-node summary::-webkit-details-marker{display:none}
.system-node summary::before{display:grid;place-items:center;width:40px;min-height:44px;flex:none;font-size:22px}
.system-node summary>.system-destination{flex:1;min-width:0}
.system-node:not(details)>.system-destination{width:calc(100% - 40px);margin-left:40px}
.system-destination{min-height:44px;padding:8px 10px;gap:10px;background:transparent;border-radius:8px}
.system-destination strong{font-size:.88rem;font-weight:500}.system-destination span{gap:2px}
.system-node svg{width:22px;height:22px}.system-children{margin-left:19px;padding-left:8px;border-left-color:#30445480}
@media(max-width:520px){.system-children{margin-left:11px;padding-left:3px}.system-node summary::before{width:32px}.system-node:not(details)>.system-destination{margin-left:32px;width:calc(100% - 32px)}}

.space-voyage>canvas.space-render-surface{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.space-voyage>canvas:not(.space-render-surface):not(.galaxy-gpu){position:absolute;z-index:1;background:transparent}

#orbitCenterGroup #orbitLook{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid #ffffff14;text-align:left}#orbitCenterGroup #releaseLook{width:44px;min-width:44px;border-top:1px solid #ffffff14}
body.tool-rail-layout #appToolbar #sceneStatusDock>#orbitCenterGroup:has(#orbitLook:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) 44px}
body #appToolbar #orbitLook{padding:0 10px!important;font-size:13px!important}

/* Restart precedes chapters; Stop closes the film. Back remains in app navigation. */
#documentaryPlayer .film-controls{grid-template-columns:repeat(4,38px) minmax(0,1fr) repeat(2,38px)}
#documentaryPlayer .film-controls [data-restart]{grid-row:2;grid-column:1}
#documentaryPlayer .film-controls [data-prev]{grid-column:2}
#documentaryPlayer .film-controls [data-play]{grid-column:3}
#documentaryPlayer .film-controls [data-next]{grid-column:4}
#documentaryPlayer .film-controls [data-more]{grid-column:6}
#documentaryPlayer .film-controls [data-stop]{grid-row:2;grid-column:7}
#documentaryPlayer .film-controls [data-exit]{display:none!important}
#documentaryPlayer [data-chapter]{grid-column:1/6}
#documentaryPlayer [data-time]{grid-column:6/8}
@media(max-width:360px){#documentaryPlayer .film-controls{grid-template-columns:repeat(4,34px) minmax(0,1fr) repeat(2,34px)}#documentaryPlayer .film-controls button{width:34px}}
@media(max-height:500px) and (min-width:600px){body #catalogDialog .console-head :is(.eyebrow,.console-note,.public-site-link){display:none}body #catalogDialog .console-head h2{font-size:20px;margin:0}body #catalogDialog .catalog-browse{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}body #catalogDialog .catalog-search{grid-column:1;grid-row:1}body #catalogDialog .catalog-options{grid-column:2;grid-row:1}body #catalogDialog #catalogFilters{grid-column:1/-1;grid-row:2}body #catalogDialog .catalog-results{display:none}}
/* Galactic viewport remains full-size after removal of the stellar viewer. */
#cosmicView.space-voyage{position:absolute;inset:0;z-index:8;background:#060c15;color:#dce6ef;overflow:hidden}#cosmicView.space-voyage[hidden]{display:none}#cosmicView.space-voyage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
#space canvas,#skyCanvas,#cosmicView.space-voyage canvas,.planet-label{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#cosmicView.space-voyage>.object-card{z-index:24;max-width:calc(100% - 24px)}
.stellar-top,.stellar-star{z-index:2}

.system-node summary::before{display:none}.system-toggle{flex:0 0 40px;width:40px;min-height:44px;border:0;background:transparent;color:#c6ad80;font-size:22px}.system-node[open]>summary>.system-toggle{transform:rotate(90deg)}@media(max-width:520px){.system-toggle{flex-basis:32px;width:32px}}



/* Keep one experiment diagram visible during a scripted film. */
body.documentary-playing #learning:has(.lesson-layout:not([hidden])) .learning-reading>.learning-science-figure{display:none!important}

/* Keep the real measurement readout visible during a film, without revealing the reader. */
body.documentary-playing.film-measure-visible #appToolbar,body.documentary-playing.film-measure-visible #measurementPanel{opacity:1!important}
body.documentary-playing.film-measure-visible.hud-idle #appToolbar>:not(#sceneStatusDock){opacity:0!important;pointer-events:none!important}

#measurementOverlay text{font:12px system-ui;fill:#ffe3ad;stroke:#09111c;stroke-width:4px;paint-order:stroke;stroke-linejoin:round}


/* Back follows the film HUD visibility and remains available on interaction. */
body.tool-rail-layout.documentary-playing:not(.documentary-promotional) #appToolbar>#pageBack,body.tool-rail-layout.documentary-promotional #appToolbar>#pageBack{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:30;transition:opacity .35s ease}

/* A quiet, persistent invitation to start exploring. */
body.tool-rail-layout header nav #discoverSky{background:#a8792938!important;border-color:#eac58f88;box-shadow:inset 0 0 0 1px #eac58f30,0 0 12px #eac58f16;color:#f4d5a5}
/* Keep the concurrent normal Back control clear of the film's measurement readout. */
body.tool-rail-layout.documentary-playing.film-measure-visible #appToolbar #sceneStatusDock{top:52px}
/* Fade all navigation controls together, retaining any scripted measurement. */
body.tool-rail-layout.documentary-playing.hud-idle #appToolbar{opacity:1!important}
body.tool-rail-layout.documentary-playing.hud-idle #appToolbar>#pageBack,body.tool-rail-layout.documentary-playing.hud-idle #appToolbar>*{opacity:0!important;pointer-events:none!important}
body.tool-rail-layout.documentary-playing.hud-idle.film-measure-visible #appToolbar>#sceneStatusDock{opacity:1!important}


/* Place selection is a draft: one scrolling choice area and one final action. */
body dialog:is(#placeSearch,.place-picker)[open],body dialog:is(#placeSearch,.place-picker).side-dock[open]{display:flex!important;flex-direction:column;gap:0;width:min(650px,calc(100vw - 24px))!important;height:min(780px,calc(100dvh - 24px))!important;max-height:calc(100dvh - 24px)!important;max-width:650px!important;padding:0!important;border:1px solid #c8d5e51c;border-radius:20px!important;overflow:hidden!important;background:#101b28f5;color:#e2e9f0;box-shadow:0 20px 70px #0007}
body :is(#placeSearch,.place-picker) .place-head{position:static!important;flex:none;margin:0!important;padding:12px 16px 8px!important;min-height:0;display:flex;align-items:center;gap:12px;background:transparent!important;border:0;box-shadow:none}
body :is(#placeSearch,.place-picker) .place-head h2{font-size:20px;line-height:1.25;font-weight:500;margin:0;flex:1;color:#e7dfd1}
body :is(#placeSearch,.place-picker) .place-head button{width:40px;height:40px;min-height:40px;padding:0;border:0;background:transparent;border-radius:50%;font-size:25px;color:#aebdcc;flex:none}
body :is(#placeSearch,.place-picker) .place-content{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1;padding:0 16px 16px;scroll-padding:12px}
body :is(#placeSearch,.place-picker) :is(#placeForm,.placeForm){display:flex;flex-wrap:nowrap;gap:6px;margin:0}
body :is(#placeSearch,.place-picker) :is(#placeQuery,.placeQuery){width:auto;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d8e0ee19;border-radius:11px;background:#d8e4ef09;font-size:16px;color:inherit}
body :is(#placeSearch,.place-picker) :is(#placeForm,.placeForm) button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:10px;border-radius:11px;background:#d8e4ef09}
body :is(#placeSearch,.place-picker) :is(#placeForm,.placeForm) svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.place-search-meta{display:flex;align-items:center;gap:12px;min-height:48px;margin:2px 0 6px}
body :is(#placeSearch,.place-picker) :is(#placeHere,.placeHere){flex:none;width:auto;margin:0;min-height:40px;padding:6px 8px;border:0;background:transparent;color:#d8c5a4;font-size:12px}
body :is(#placeSearch,.place-picker) :is(#placeSearchStatus,.placeSearchStatus){flex:1;min-width:0;font-size:11px;line-height:1.45;color:#99adbf;margin:0;min-height:0}
body :is(#placeSearch,.place-picker) :is(#placeMap,.placeMap){height:clamp(190px,34dvh,330px);min-height:0;border-radius:12px;border:1px solid #d8e0ee14;overflow:hidden;background:#142638;outline:none!important;box-shadow:none!important}
body :is(#placeSearch,.place-picker) .place-selection{display:flex;flex-direction:column;gap:4px;margin:12px 0 4px;font-size:13px;line-height:1.4;overflow-wrap:anywhere;color:#dce4ec}
body :is(#placeSearch,.place-picker) .place-selection strong{font-size:14px;font-weight:500}
body :is(#placeSearch,.place-picker) .place-selection small{font-size:11px;line-height:1.4;color:#94a8bc;font-variant-numeric:tabular-nums}
.place-coordinates{margin:3px 0 10px}.place-coordinates summary,.place-credits summary{cursor:pointer;font-size:11px;color:#98adbf;min-height:32px;display:flex;align-items:center;gap:7px;list-style:none}.place-coordinates summary:before,.place-credits summary:before{content:'›';display:inline-block;transform:rotate(0);font-size:16px}.place-coordinates[open] summary:before,.place-credits[open] summary:before{transform:rotate(90deg)}.place-coordinates>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 0 8px}.place-coordinates label{display:grid;gap:6px;color:#a8b9c8;font-size:11px}.place-coordinates input{min-width:0;width:100%;min-height:42px;background:#d8e4ef09;border:1px solid #d8e0ee19;border-radius:9px;padding:8px;color:inherit;font-size:16px}
.place-suggestions h3{font-size:11px;font-weight:500;letter-spacing:.04em;color:#9fb0c0;margin:8px 0 6px}
body :is(#placeSearch,.place-picker) :is(#placeResults,.placeResults){display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:none;overflow:visible;padding:0;scroll-snap-type:none}
body :is(#placeSearch,.place-picker) :is(#placeResults,.placeResults) button{min-height:44px;min-width:0;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;gap:7px;border:1px solid #d8e0ee0d;border-radius:9px;background:#d8e4ef05;color:#c7d4df;font-size:12px;line-height:1.3;text-align:left;overflow-wrap:anywhere;box-shadow:none}
body :is(#placeSearch,.place-picker) :is(#placeResults,.placeResults) button small{display:inline;white-space:nowrap;font-size:10px;color:#889eaf;line-height:1.3}
body :is(#placeSearch,.place-picker) :is(#placeResults,.placeResults) p{font-size:12px;line-height:1.5;color:#a4b7c8;grid-column:1/-1;margin:4px 0}
.place-credits{margin-top:10px}.place-credits p{font-size:10px;line-height:1.6;color:#8399ab;margin:4px 0}.place-credits a{color:#a7bdcf}
body :is(#placeSearch,.place-picker) .place-footer{flex:none;padding:10px 16px max(12px,env(safe-area-inset-bottom));margin:0;border-top:1px solid #d8e0ee12;background:#111d2a;z-index:2}
body :is(#placeSearch,.place-picker) :is(#confirmPlace,.confirmPlace){position:static;min-height:44px;width:100%;background:#d9be8c1c;border:1px solid #d9be8c40;border-radius:11px;color:#e3c99c;font-size:14px}
body :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext).context-widget{background:#172b3c24;border:1px solid #d9e5f00c;border-radius:12px;padding:6px 10px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);transition:background .18s,border-color .18s}
body :is(#skyContext,#orbitContext,#stellarContext,#galaxyContext).context-widget:hover{background:#20364a52;border-color:#d9e5f024}
/* Location buttons share the clock surface directly beneath them. */
body :is(#skyContext,#orbitContext).context-widget{background:#10203038;border-color:#d7e0f11c;border-radius:16px;box-shadow:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);min-height:44px;color:var(--text)}
body #skyContext.context-widget{border-radius:20px}
body :is(#skyContext,#orbitContext).context-widget:hover,body :is(#skyContext,#orbitContext).context-widget:active{background:#20364a70;border-color:#d7e0f14d}
.settings-place-date{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:4px 0 0;margin:0 0 16px;border:0}
.settings-place-date>button{width:100%;min-width:0;min-height:44px;margin:0;padding:10px 12px}
#orbitDateSettings.settings-place-date-section{padding:0;margin:0;border:0}
#skyRenderSettings>.settings-place-date+#directPlaceSettings{padding-top:0}
@layer ui-controls{
body :is(#skyContext,#orbitContext).context-widget{background:#10203038!important;border:1px solid #d7e0f11c!important;border-radius:16px!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important;box-shadow:none!important}
body #skyContext.context-widget{border-radius:20px!important}
body :is(#skyContext,#orbitContext).context-widget:hover,body :is(#skyContext,#orbitContext).context-widget:active{background:#20364a70!important;border-color:#d7e0f14d!important}
}
@media(max-width:600px){body dialog:is(#placeSearch,.place-picker)[open],body dialog:is(#placeSearch,.place-picker).side-dock[open]{width:calc(100vw - 16px)!important;height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px)!important;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px)!important;border-radius:16px!important}body :is(#placeSearch,.place-picker) .place-head{padding:10px 12px 6px!important}body :is(#placeSearch,.place-picker) .place-head h2{font-size:19px}body :is(#placeSearch,.place-picker) .place-content{padding:0 12px 12px}body :is(#placeSearch,.place-picker) .place-footer{padding-left:12px;padding-right:12px}body :is(#placeSearch,.place-picker) :is(#placeMap,.placeMap){height:clamp(180px,31dvh,280px)}.place-search-meta{gap:6px}body :is(#placeSearch,.place-picker) :is(#placeSearchStatus,.placeSearchStatus){font-size:10px}}
@media(max-height:500px) and (min-width:601px){body :is(#placeSearch,.place-picker) :is(#placeMap,.placeMap){height:220px}body dialog:is(#placeSearch,.place-picker)[open]{width:min(760px,calc(100vw - 24px))!important;max-width:760px!important}}
/* Cinematic guidance must never draw a selection box around widgets. */
body .promo-focus,body .tutorial-target,body.tutorial-open .hud-control.tutorial-target{outline:none!important;box-shadow:none!important}
/* Tutorial overlays remain visible; focus-ring cleanup must not hide guidance. */
body :is(button,a,input,select,textarea,summary,[tabindex],dialog):focus{outline:none!important}
body :is(button,a,input,select,textarea,summary,[tabindex]):focus:not(:focus-visible){box-shadow:none!important}
body :is(button,a,input,select,textarea,summary,[role=slider],[role=spinbutton]):focus-visible{outline:none!important;box-shadow:inset 0 -2px #d9bd8d!important}
body :is(dialog,[role=group],.leaflet-container,.learning-lab,.lesson-layout):focus{outline:none!important;box-shadow:none!important}
body :is(#placeMap,.placeMap):focus-visible{outline:none!important;box-shadow:none!important}
body :is(#placeMap,.placeMap):focus-visible .leaflet-control-attribution{color:#e4c38e}

/* End-of-film choice is separate from transient player options. */
#filmEnding{box-sizing:border-box;height:auto;min-height:0;max-height:calc(100dvh - 32px);position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;width:min(360px,calc(100vw - 32px));padding:24px;border:1px solid #ffffff25;border-radius:18px;background:#101d2bf5;color:#edf3f8;text-align:center}
#filmEnding h2{margin:0 0 20px;font-size:22px;font-weight:400}
#filmEnding::backdrop{background:#03081266;backdrop-filter:blur(4px)}
.film-ending-actions{display:flex;gap:12px}.film-ending-actions button{flex:1;min-height:44px;border:1px solid #ffffff30;border-radius:10px;background:#ffffff0c;color:inherit;font:inherit}.film-ending-actions button:first-child{background:#eac58f20;border-color:#eac58f50;color:#f3d7ae}




/* Forward exists only for a saved future; framing follows the visible arrows. */
body.tool-rail-layout #appToolbar:has(>#pageBack:not([hidden]))>#pageNext{left:52px!important}
body.tool-rail-layout:not(.article-open) #appToolbar:has(>#pageNext:not([hidden]))>#railRecenter{left:52px}
body.tool-rail-layout:not(.article-open) #appToolbar:has(>#pageBack:not([hidden])):has(>#pageNext:not([hidden]))>#railRecenter{left:104px}
body.tool-rail-layout:has(#learning:not([hidden])) #appToolbar>#pageNext{left:52px!important}
body.tool-rail-layout:has(#learning:not([hidden])):has(#pageNext:not([hidden])) #learning .learning-about-bar{padding-left:112px}
body.tool-rail-layout.documentary-playing #appToolbar>#pageNext{display:none!important;pointer-events:none!important}

/* Icons shared by the film ending and resume choices. */
#filmMenu .film-ending-actions button,.film-ending-actions button{display:flex;align-items:center;justify-content:center;gap:8px}.film-ending-actions button svg{width:20px;height:20px;flex:none}

#filmEnding.film-exploration{position:fixed;z-index:80;bottom:calc(75px + env(safe-area-inset-bottom));left:50%;width:min(90vw,460px);padding:14px 18px;border:1px solid #73849a55;border-radius:16px;background:#101b2bee;color:#edf4ff;box-shadow:0 8px 40px #0005}#filmEnding.film-exploration[hidden]{display:none}#filmEnding.film-exploration h2{font-size:16px;margin:0 0 6px}#filmEnding.film-exploration p{font-size:12px;line-height:1.5;margin:0 0 8px}#filmEnding.film-exploration button{font-size:12px}

#filmEnding.film-exploration{top:auto;right:auto;margin:0;transform:translateX(-50%)}

#filmCurtain{position:fixed;inset:0;z-index:140;background:#060b13;display:grid;place-items:center;color:#f2f0e9;text-align:center;padding:40px;pointer-events:auto}#filmCurtain[hidden]{display:none}#filmCurtain h2{font:400 clamp(24px,5vw,46px)/1.25 Georgia,serif;max-width:760px;margin:18px auto}#filmCurtain small{letter-spacing:.2em;text-transform:uppercase;color:#bca37f}#filmCurtain p{font-size:12px;color:#aab5c3;min-height:18px}#filmCurtain>button{position:absolute;top:calc(18px + env(safe-area-inset-top));right:18px;width:40px;height:40px;border:1px solid #ffffff30;border-radius:50%;color:inherit;background:transparent;font-size:24px}#filmCurtain.film-curtain-outro>div{visibility:hidden}

/* Shared, quiet close control with a generous touch target. */
body button.window-close{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:10px!important;border:1px solid #c5d4e51c!important;border-radius:12px!important;background:#101a2480!important;color:#b8c4d1!important;box-shadow:none!important;font-size:0!important}
body button.window-close svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;pointer-events:none}
body button.window-close:hover{color:#ead5ad!important;border-color:#d9bd8555!important}
body button.window-close:focus-visible{outline:2px solid #d9bd85!important;outline-offset:2px}

body button.window-close::before,body button.window-close::after{content:none!important}

/* Scientific readout shares the clock anchors; location remains on the left. */
body #scaleContext.context-widget{position:absolute;left:calc(var(--context-left,12px) + var(--context-width,calc(100% - 24px)) - min(160px,42vw));bottom:var(--context-bottom,124px);width:min(160px,42vw);min-height:44px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:3px;padding:6px 10px;font-size:11px;line-height:1.3;text-align:right;white-space:normal;z-index:7;color:var(--text);background:#10203038;border:1px solid #d7e0f11c;border-radius:16px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
body #scaleContext[hidden]{display:none!important}
body:has(#scaleContext:not([hidden])) #orbitContext.context-widget{max-width:calc(var(--context-width,320px) - min(160px,42vw) - 8px);white-space:normal}
body.hud-idle #scaleContext,body.documentary-playing #scaleContext{opacity:0;pointer-events:none}
#scaleExplanation{max-width:min(580px,calc(100vw - 28px));max-height:80dvh;overflow:auto;line-height:1.65}
#scaleExplanation p{color:var(--muted,#b8c7d8);font-size:14px}
#scaleExplanation button{min-height:44px}

/* Film ending: contained actions and room for the shared clock on narrow screens. */
#filmEnding.film-exploration{width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 180px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;bottom:calc(136px + env(safe-area-inset-bottom));padding:12px;box-sizing:border-box}
#filmEnding .film-ending-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#filmEnding .film-ending-actions button{min-width:0;width:100%;padding:8px 4px;gap:5px;white-space:normal;overflow-wrap:anywhere}
#filmEnding .film-ending-actions button svg{width:16px;height:16px}
@media(max-width:360px){#filmEnding .film-ending-actions button{flex-direction:column;gap:3px}}
@media(max-height:500px){#filmEnding.film-exploration{left:auto;right:12px;transform:none;bottom:calc(12px + env(safe-area-inset-bottom));max-height:calc(100dvh - 24px);width:min(360px,calc(100vw - 24px))}}


/* Same bottom dock, a domain switch occupying existing wheel space. */
.has-time-domain>.clock-domain-switch{order:0;flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:44px;padding:4px 10px;font-size:11px;line-height:1.25;white-space:nowrap;background:transparent;border-color:#d7e0f126;border-radius:11px;color:#8f9eaf}.clock-domain-switch .clock-domain-label{font-weight:400}.clock-domain-switch[data-active=orbit] [data-domain=orbit],.clock-domain-switch[data-active=evolution] [data-domain=evolution]{color:#e6c695;font-weight:600}.clock-domain-switch:focus-visible{outline:2px solid #e6c695;outline-offset:2px}
body.evolution-view #timeline{display:none!important}
#evolutionClockHost:empty{display:none}
@media(max-width:760px){.has-time-domain>.clock-domain-switch{grid-column:1;grid-row:2;width:94px;max-width:94px;min-height:44px}.has-time-domain>.time-wheel{grid-column:2/-1!important;grid-row:2!important}}

/* A generic model uses the sky as a backdrop, not a claimed catalogue location. */
body.model-reference .orbit-star-labels{display:none}
/* Small exploration controls: distinct entry, quiet scale readout, film sharing. */
body.tool-rail-layout header nav #discoverSky{border:2px solid #eac58faa!important;font-weight:650!important;box-shadow:inset 0 0 0 1px #eac58f18!important;margin-right:4px}
body.tool-rail-layout header nav #discoverSky span{font-weight:650!important}
body #scaleContext.context-widget{color:var(--muted,#a9b6c6);background:#10203028;border-color:#d7e0f110;box-shadow:none;font-weight:400}
body #scaleContext.context-widget span{font-size:11px;font-weight:400}
body #scaleContext.context-widget small{font-size:10px;color:inherit}
#scaleExplanation .scale-controls .setting-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#scaleExplanation .scale-controls input{flex:1;min-width:100px;max-width:100%}
#scaleExplanation .scale-controls output{font-size:12px;min-width:50px;text-align:right}
#scaleExplanation p{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
body.tool-rail-layout.documentary-playing #appToolbar #viewCluster>#shareView{display:flex!important;align-items:center;justify-content:center;min-height:44px;order:-1;pointer-events:auto!important}
body.tool-rail-layout.documentary-playing.hud-idle #appToolbar #viewCluster>#shareView{pointer-events:none!important}

/* Contextual system article, alongside navigation history and recenter. */
body.tool-rail-layout #appToolbar>#systemInfo{position:absolute;left:52px;top:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #d7e0f144;border-radius:11px;background:#10203038;color:#e5ceaa;pointer-events:auto;z-index:3;backdrop-filter:blur(8px)}
body.tool-rail-layout #appToolbar:has(>#pageBack:not([hidden]))>#systemInfo,body.tool-rail-layout #appToolbar:has(>#pageNext:not([hidden]))>#systemInfo{left:104px}
body.tool-rail-layout #appToolbar:has(>#pageBack:not([hidden])):has(>#pageNext:not([hidden]))>#systemInfo{left:156px}
body.tool-rail-layout:is(.article-open,.documentary-playing) #appToolbar>#systemInfo,body.tool-rail-layout:has(#learning:not([hidden]),#comparison:not([hidden]),#sky:not([hidden])) #appToolbar>#systemInfo{display:none!important}
.article-system-art{background:radial-gradient(circle at 50% 50%,#ffe7b4 0 3%,transparent 4%),repeating-radial-gradient(ellipse at center,transparent 0 19%,#e3c59666 20%,transparent 21% 29%),radial-gradient(ellipse at center,#405975,#111c2c 70%);border:1px solid #cfdeef26;box-shadow:0 0 70px #497aa333;transform:rotate(-18deg)}

body.tool-rail-layout #appToolbar>#systemInfo[hidden]{display:none!important}

/* Direct sunset action: last control on the horizontal sky toolbar. */
body.tool-rail-layout #appToolbar>#skySunset{position:absolute;right:0;top:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:1px solid #d7e0f11c;border-radius:11px;background:#10203038!important;color:#ced9e5;box-shadow:none;pointer-events:auto;z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body.tool-rail-layout #appToolbar>#skySunset svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
body.tool-rail-layout #appToolbar>#skySunset:disabled{opacity:.35;cursor:default}
body.tool-rail-layout #appToolbar>#skySunset[hidden],body.tool-rail-layout:is(.article-open,.documentary-playing) #appToolbar>#skySunset{display:none!important}
body.tool-rail-layout #appToolbar>#skySunset:focus-visible{outline:2px solid #e8c895;outline-offset:2px}

body.tool-rail-layout #appToolbar:has(>#skySunset:not([hidden])) #viewCluster{top:52px;max-height:calc(100dvh - var(--nav-height,72px) - 172px - max(8px,env(safe-area-inset-bottom,0px)))}

/* Shared scene caption geometry: films and guided views. */
body #documentaryPlayer .scene-subtitles,body .journey-subtitles.scene-subtitles{position:fixed;left:50%;right:auto;transform:translateX(-50%);bottom:calc(4px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 12px);box-sizing:border-box;margin:0;padding:5px 8px;text-align:center;font-size:clamp(15.2px,2.4vw,18.4px);line-height:1.45;color:#d0d7e0;background:#07101a50!important;border:0;-webkit-backdrop-filter:var(--widget-blur)!important;backdrop-filter:var(--widget-blur)!important;border-radius:var(--control-radius);pointer-events:none}
#documentaryPlayer .film-scrubber input::-webkit-slider-thumb{width:44px;height:44px;box-sizing:border-box;border:12px solid transparent;background-clip:content-box;margin-top:-20.5px}
#documentaryPlayer .film-scrubber input::-moz-range-thumb{width:20px;height:20px;border:12px solid transparent;background-clip:padding-box}
#documentaryPlayer .film-scrubber .film-markers{left:22px;right:22px}



/* Film lessons keep the scene clear; reader controls remain independent. */
body.tool-rail-layout.documentary-playing:has(#learning:not([hidden])) #appToolbar :is(#navigationCluster,#viewCluster),
body.documentary-playing:has(#learning:not([hidden])) :is(header,#moduleDiscover,.learning-back){display:none!important}


/* Prepared film cuts: hold the old image, then reveal the fully framed scene. */
html:has(body.documentary-playing)::view-transition-group(root),
html:has(body.documentary-playing)::view-transition-old(root),
html:has(body.documentary-playing)::view-transition-new(root){animation:none;mix-blend-mode:normal}


/* Keep the shared journey narration clear of the visible navigation dock. */
body:not(.hud-idle) .journey-subtitles.scene-subtitles{bottom:calc(148px + env(safe-area-inset-bottom));max-width:min(720px,calc(100vw - 32px));font-size:14px}
@media(max-width:760px){body:not(.hud-idle) .journey-subtitles.scene-subtitles{bottom:calc(178px + env(safe-area-inset-bottom))}}
/* Keep system articles on the same compact hero and fact design as the planets. */
.article-planet.article-system-image{background-size:cover;background-position:center;box-shadow:0 0 80px #b7c6e31a}


/* Four film-ending actions stay balanced on narrow screens. */
#filmEnding .film-ending-actions:has(>button:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}


/* Film tutorial navigation follows the same HUD fade. */
body.tool-rail-layout.documentary-playing.hud-idle #appToolbar>#pageBack,
body.tool-rail-layout.documentary-playing.hud-idle #learning .learning-back,
body.tool-rail-layout.documentary-playing.hud-idle #comparison .learning-back{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.evolution-readout{width:max-content;box-sizing:border-box;position:absolute;top:calc(72px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:8;max-width:calc(100% - 32px);padding:6px 10px;border-radius:10px;background:#0b1524a8;color:#c5d0df;font-size:11px;line-height:1.5;font-variant-numeric:tabular-nums;text-align:center;pointer-events:none;transition:top .4s ease}
body.hud-idle .evolution-readout{top:calc(12px + env(safe-area-inset-top))}
.evolution-readout[hidden]{display:none}
#evolutionDialog .evolution-start{position:sticky;bottom:0;display:block;width:100%;min-height:48px;margin-top:18px;background:#21374b;color:#f1d7ac;border:1px solid #bca478;border-radius:12px;box-shadow:0 -10px 20px #101b2b}
/* The film reader has its own reveal state, including scripted tutorial shots. */
body.tool-rail-layout.documentary-playing:not(.film-reader-open) #appToolbar>#pageBack{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
/* Desktop hover may reveal the clock while the rest of the HUD stays idle. */
body.evolution-view.hud-idle.desktop-hover-clock .journey-subtitles{bottom:calc(148px + env(safe-area-inset-bottom))}

/* Calibrated stellar scale; remains visible with the discreet age readout. */
.evolution-scale{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4;overflow:hidden}
.evolution-scale .scale-grid{fill:none;stroke:#b6d9ed;stroke-opacity:.2;stroke-width:1}
.evolution-scale .scale-ruler{fill:none;stroke:#c7e3ef;stroke-opacity:.8;stroke-width:1}
.evolution-scale text{fill:#d7e9f3;font:11px system-ui,sans-serif;paint-order:stroke;stroke:#07111e;stroke-width:3px;stroke-linejoin:round}

/* Readouts share the active clock's width and glass, outside the fading toolbar. */
#sceneReadoutDock{position:fixed;z-index:24;left:12px;bottom:140px;width:calc(100vw - 24px);display:flex;flex-direction:column;gap:8px;pointer-events:none;--readout-background:#10203066;--readout-border:#d7e0f126;--readout-radius:11px;--readout-blur:blur(4px)}
body #sceneReadoutDock>.scene-readout{position:relative!important;inset:auto!important;transform:none!important;margin:0!important;box-sizing:border-box;width:100%!important;max-width:none!important;min-width:0;padding:6px 8px!important;background:var(--readout-background)!important;border:1px solid var(--readout-border)!important;border-radius:var(--readout-radius)!important;box-shadow:none!important;backdrop-filter:var(--readout-blur)!important;-webkit-backdrop-filter:var(--readout-blur)!important;pointer-events:auto;transition:opacity .3s}
body #sceneReadoutDock>.journey-strip{display:flex;flex-direction:column;gap:0;align-items:stretch}
body #sceneReadoutDock>.scene-readout[hidden],body.documentary-playing #sceneReadoutDock>.journey-strip{display:none!important}
body:not(.documentary-playing):is(:has(#learning:not([hidden])),:has(#comparison:not([hidden]))) #sceneReadoutDock{display:none}
body.hud-idle #sceneReadoutDock>.scene-readout{opacity:.38!important;pointer-events:auto!important}
body #sceneReadoutDock>.scene-readout:is(:hover,:focus-within),body.documentary-playing.film-measure-visible #sceneReadoutDock>#measurementPanel{opacity:1!important}
body #sceneReadoutDock>.scene-readout :is(button,input){pointer-events:auto!important}
.journey-readout-head{display:flex;align-items:center;gap:2px;min-width:0}
body #sceneReadoutDock .journey-readout-head button{position:static;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;padding:12px;border:0;background:transparent;box-shadow:none;color:inherit;border-radius:var(--control-radius,11px)}
body #sceneReadoutDock .journey-readout-head .journey-steps{display:block;flex:1;min-width:0;width:auto;text-align:left;padding:6px 4px;font-size:13px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.journey-readout-head svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.journey-progress{position:relative;display:flex;width:100%;height:36px;min-width:0;color:#d0d7e0;pointer-events:auto}
.journey-progress[hidden],body.documentary-playing .journey-progress{display:none!important}
.journey-progress-track{position:relative;flex:1;min-width:0;height:36px}
.journey-progress input{appearance:none;-webkit-appearance:none;display:block;width:100%;height:36px;margin:0;padding:0;background:transparent!important;border:0!important;box-shadow:none!important;cursor:pointer;touch-action:none;outline-offset:1px}
.journey-progress input::-webkit-slider-runnable-track{height:3px;border:0;border-radius:3px;background:linear-gradient(to right,#eac58f var(--progress,0%),#a5b3c466 var(--progress,0%))}
.journey-progress input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:36px;height:36px;box-sizing:border-box;border:8px solid transparent;border-radius:50%;background:#efc993;background-clip:content-box;margin-top:-16.5px}
.journey-progress input::-moz-range-track{height:3px;border:0;background:#a5b3c466}.journey-progress input::-moz-range-progress{height:3px;background:#eac58f}.journey-progress input::-moz-range-thumb{width:20px;height:20px;border:8px solid transparent;border-radius:50%;background:#eac58f;background-clip:padding-box}
.journey-progress-markers{position:absolute;inset:0 18px;pointer-events:none}.journey-progress-markers i{position:absolute;top:50%;width:4px;height:4px;border-radius:50%;background:#d0d7e0;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #07101a80}
.journey-progress-time{display:none}
body:not(.hud-idle):has(#sceneReadoutDock>.journey-strip:not([hidden])) .journey-subtitles.scene-subtitles{bottom:var(--scene-readout-top,250px)}
@media(prefers-reduced-motion:reduce){body #sceneReadoutDock>.scene-readout{transition:none}}



/* Tracking remains independent of the journey progress, including in films. */
body.tool-rail-layout #appToolbar #sceneStatusDock{top:60px!important;gap:12px}

/* Following remains informative during film playback, even with hidden controls. */
body.documentary-playing.hud-idle #appToolbar>#sceneStatusDock:has(.tracking-status:not([hidden])){opacity:1!important}


/* Scene controls share their glass, outline and corner token in both modes. */
body.unified-navigation #app :is(.navigation-place,.navigation-date,.navigation-play,.wheel-drum,.speed-wheel>[role=slider],#skySettingsToggle){border-radius:var(--control-radius)!important;border:var(--control-outline)!important;background:var(--control-glass)!important;backdrop-filter:var(--widget-blur)!important;-webkit-backdrop-filter:var(--widget-blur)!important}
body .mission-companion.planet-label{font:12px Arial,Helvetica,sans-serif!important;color:#e8e5dd!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:4px!important;min-height:0!important;min-width:0!important;text-shadow:0 1px 3px #000a;pointer-events:auto}
body.controls-dismissed :is(#timeline,.sky-time-dock,.exploration-clock,.film-controls,.journey-strip){transform:translateY(130%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:transform .25s ease,opacity .2s ease,visibility .25s!important}
@media(prefers-reduced-motion:reduce){body.controls-dismissed :is(#timeline,.sky-time-dock,.exploration-clock,.film-controls,.journey-strip){transition:none!important}}

body.unified-navigation #app :is(#skyContext,#orbitContext).context-widget{border-radius:var(--control-radius)!important;border:var(--control-outline)!important;background:var(--control-glass)!important;backdrop-filter:var(--widget-blur)!important;-webkit-backdrop-filter:var(--widget-blur)!important}
@layer ui-controls{
 body.unified-navigation #app :is(#skyContext,#orbitContext).context-widget{border-radius:var(--control-radius)!important;border:var(--control-outline)!important;background:var(--control-glass)!important;backdrop-filter:var(--widget-blur)!important;-webkit-backdrop-filter:var(--widget-blur)!important}
}
/* Direct lesson links retain a visible way back to the tutorial catalogue. */
body.tool-rail-layout:has(#pageBack[hidden]) #learning>.learning-back:not([hidden]){display:flex!important}


/* Visible film controls sit below the subtitles; the hidden-reader caption stays low. */
body #documentaryPlayer .film-controls{bottom:calc(4px + env(safe-area-inset-bottom))}
body.documentary-playing.film-reader-open #documentaryPlayer .scene-subtitles{bottom:calc(var(--film-reader-height,100px) + 12px + env(safe-area-inset-bottom));pointer-events:auto}
