/* solar-system.html — page shell + sections 03 SCALE / 04 DISTANCE / outro (owner: shell).
   Tokens and shared primitives live in solar-foundation.css. The orrery, observatory and
   beyond sections keep their visuals in their own stylesheets. */

/* ── Sky, progress, header ─────────────────────────────────────────────────────────────────────── */
#starfield{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.9}
main{position:relative;z-index:1}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;z-index:90;box-shadow:0 0 10px #d9f56c66;pointer-events:none}
.solar-header{position:sticky;top:0;z-index:30;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:22px;padding-inline:max(var(--layout-gutter),calc((100% - 1600px)/2));background:#070b13e8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.solar-brand{display:flex;align-items:center;gap:10px;font:700 24px/1 var(--display);white-space:nowrap;min-height:44px}
.brand-spark{font-size:28px;color:var(--lime);line-height:1;transition:transform .6s var(--ease)}
.solar-brand:hover .brand-spark{transform:rotate(90deg)}
.brand-separator{font-weight:400;font-size:22px;color:#647079;margin-left:5px}
.brand-sub{font:500 12px var(--display);letter-spacing:.06em}
.solar-nav{display:flex;align-items:center;gap:clamp(16px,2.1vw,34px)}
.solar-nav a{position:relative;display:flex;align-items:center;gap:7px;padding-block:10px;font:400 10px var(--mono);color:#8a97a6;white-space:nowrap;transition:color .2s}
.solar-nav a span{font-size:11px;letter-spacing:.04em;color:#d3dce2;transition:color .2s}
.solar-nav a.is-active,.solar-nav a.is-active span,.solar-nav a:hover span{color:var(--lime)}
.solar-nav a::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--lime);box-shadow:0 0 8px #d9f56c80;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.solar-nav a.is-active::after{transform:scaleX(1)}
.solar-tools{display:flex;align-items:center;gap:20px}
.solar-chapters-menu{display:none}
/* Phones and portrait tablets (≤800px): the current chapter is a button that opens the chapter list. */
.solar-now{position:relative;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px 0 12px;border:1px solid var(--line);border-radius:30px;background:#070b1366;font:400 9px var(--mono);letter-spacing:.12em;color:#cbd4d6;white-space:nowrap;transition:border-color .2s,background .2s}
.solar-now::before{content:'';position:absolute;inset:-7px -3px}
.solar-now:hover,.solar-now[aria-expanded=true]{border-color:#d9f56c80;background:#d9f56c10}
.solar-now b{font-weight:400}
.solar-now-caret{width:5px;height:5px;margin-left:2px;border:solid var(--lime);border-width:0 1px 1px 0;transform:translateY(-2px) rotate(45deg);transition:transform .35s var(--ease)}
.solar-now[aria-expanded=true] .solar-now-caret{transform:translateY(1px) rotate(-135deg)}
.solar-chapters{position:absolute;z-index:2;top:calc(100% + 8px);right:var(--layout-gutter);width:min(340px,calc(100vw - 2 * var(--layout-gutter)));padding:6px 0;border:1px solid #ffffff2e;border-radius:4px;background:#070b13f7;box-shadow:0 24px 60px #02040bcc;animation:chapters-in .4s var(--ease)}
.solar-chapters::before{content:'';position:absolute;top:-1px;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,#d9f56c99,transparent)}
.solar-chapters a{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:0 16px;color:#d3dce2;transition:background .2s,color .2s}
.solar-chapters a+a{border-top:1px solid #ffffff12}
.solar-chapters a b{font:400 10px var(--mono);letter-spacing:.1em;color:#8a97a6}
.solar-chapters a span{font:500 12px var(--display);letter-spacing:.08em}
.solar-chapters a small{font-size:11px;color:#9aa6b3;white-space:nowrap}
.solar-chapters a:hover,.solar-chapters a:focus-visible{background:#d9f56c0d;color:var(--white)}
.solar-chapters a:focus-visible{outline-offset:-3px}
.solar-chapters a[aria-current]{color:var(--lime);background:linear-gradient(90deg,#d9f56c17,transparent 85%)}
.solar-chapters a[aria-current] b{color:var(--lime)}
.solar-chapters a[aria-current] small{color:#d9f56cb3}
.solar-chapters a[aria-current]::before{content:'';position:absolute;left:0;top:11px;bottom:11px;width:2px;background:var(--lime);box-shadow:0 0 8px #d9f56c80}
@keyframes chapters-in{from{opacity:0;transform:translateY(-6px)}}
.home-link{position:relative;display:inline-flex;align-items:center;justify-content:center;font:500 11px var(--display);letter-spacing:.06em;white-space:nowrap;min-height:44px}
.home-link>span:last-child{margin-left:10px;color:var(--lime);font-size:17px;transition:transform .3s var(--ease)}
.home-link:hover>span:last-child{transform:translate(3px,-3px)}
/* Invisible hit areas so the small header controls meet the 44px tap-target guideline. */
.solar-tools .small-button{position:relative}
.solar-tools .small-button::before,.home-link::before{content:'';position:absolute;inset:-8px}

/* ── Shared section furniture ──────────────────────────────────────────────────────────────────── */
.solar-section{position:relative;padding-top:clamp(88px,9vw,150px);isolation:isolate}
.solar-section::before{content:'';position:absolute;z-index:-1;left:0;right:0;top:-180px;height:560px;pointer-events:none;background:radial-gradient(ellipse 42% 60% at 18% 50%,#3a4f8a3d,transparent 70%),radial-gradient(ellipse 36% 52% at 86% 42%,#5a3f8a2e,transparent 72%)}
.solar-distance::before{background:radial-gradient(ellipse 40% 60% at 80% 50%,#3a4f8a3d,transparent 70%),radial-gradient(ellipse 34% 50% at 10% 40%,#8a5a3a24,transparent 72%)}
.section-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:end;gap:clamp(28px,5vw,110px);margin-top:clamp(40px,4.4vw,72px)}
.section-intro .section-kicker{display:block}
.solar-h2{font-size:clamp(34px,3.6vw,56px);line-height:1.38;font-weight:700;letter-spacing:-.035em;margin:22px 0 0;text-wrap:balance}
.section-intro p{font-size:14px;line-height:2.2;color:#adb7c3;margin:0;max-width:34em}
.section-intro p b{color:var(--white);font-weight:700}
.section-note{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 40px;max-width:1240px;margin:22px 0 0;padding:0;list-style:none;font-size:11px;line-height:1.9;color:#9aa6b3}
.section-note li{position:relative;padding-left:14px}
.section-note li::before{content:'';position:absolute;left:0;top:.8em;width:6px;height:1px;background:#8ed8ff99}
.section-note a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#8ed8ff66}
.section-note a:hover{color:var(--blue)}
.window-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;font:400 9px var(--mono);letter-spacing:.14em;color:#8a97a6;text-transform:uppercase}
.window-meta>span{display:flex;align-items:center;gap:10px}
.window-meta b{font-weight:400;color:#cfe6f5}

/* Windows onto the sky (03 and 04): full-bleed, translucent so the page's drifting stars pass behind a static
   deep field and the real Milky Way (NASA/GSFC SVS Deep Star Maps 2020 — decoration, credited on the page). */
.scale-window,.distance-window{position:relative;margin-top:clamp(40px,4.4vw,72px);border-block:1px solid var(--line);overflow:hidden;isolation:isolate}
.window-sky{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.window-sky::before{content:'';position:absolute;inset:-7% 0;background:url(./planets/sky/milkyway.webp) no-repeat;mix-blend-mode:screen;opacity:.26}
/* A slow parallax on the Milky Way while the window crosses the viewport (scroll-driven; static where unsupported,
   and switched off with the motion contract's animation:none). */
@supports (animation-timeline:view()){
  .window-sky::before{animation:sky-parallax linear both;animation-timeline:view()}
  @keyframes sky-parallax{from{transform:translate3d(0,-5%,0)}to{transform:translate3d(0,5%,0)}}
}
.window-sky canvas{position:absolute;inset:0;display:block;width:100%;height:100%}
.window-sky::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 88% 96% at 50% 50%,transparent 56%,#02040a99 100%)}
.window-corners{position:absolute;inset:clamp(10px,1.1vw,18px);z-index:6;pointer-events:none}
.window-corners i{position:absolute;width:14px;height:14px;border:0 solid #8ed8ff5c}
.window-corners i:nth-child(1){left:0;top:0;border-width:1px 0 0 1px}.window-corners i:nth-child(2){right:0;top:0;border-width:1px 1px 0 0}
.window-corners i:nth-child(3){left:0;bottom:0;border-width:0 0 1px 1px}.window-corners i:nth-child(4){right:0;bottom:0;border-width:0 1px 1px 0}

/* ── Signal strip (between the orrery and the observatory) ─────────────────────────────────────── */
.solar-strip{position:relative;z-index:1;border-block:1px solid var(--line);padding:18px 0;overflow:hidden;font:600 55px/1 var(--display);letter-spacing:.005em;background:linear-gradient(90deg,#070b13 0%,#0a101bcc 50%,#070b13 100%)}
.solar-strip::before,.solar-strip::after{content:'';position:absolute;left:-10%;right:-10%;height:180px;pointer-events:none;z-index:-1}
.solar-strip::before{top:-180px;background:radial-gradient(ellipse 40% 100% at 30% 100%,#8ed8ff0d,transparent 70%)}
.solar-strip::after{bottom:-180px;background:radial-gradient(ellipse 40% 100% at 70% 0%,#bca5ff0f,transparent 70%)}
.solar-strip>div{display:flex;width:max-content;animation:solar-signal 48s linear infinite}
.solar-strip span{white-space:nowrap;color:transparent;-webkit-text-stroke:1px #6b768e;background:linear-gradient(100deg,transparent 44%,#f5cb7930 50%,transparent 56%) 100% 0/260% 100% no-repeat;-webkit-background-clip:text;background-clip:text;animation:solar-glint 9s linear infinite}
.solar-strip b{font-weight:400;-webkit-text-stroke:0;color:var(--gold);margin:0 24px;text-shadow:0 0 18px #f5cb7955}
@keyframes solar-signal{to{transform:translateX(-50%)}}
@keyframes solar-glint{from{background-position:100% 0}to{background-position:-160% 0}}

/* ── 03 SCALE ──────────────────────────────────────────────────────────────────────────────────── */
.scale-toggle{display:inline-flex;gap:4px;margin-top:28px;padding:4px;border:1px solid #c5edff40;border-radius:40px;background:#070b1399;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.scale-toggle button{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border:0;border-radius:30px;background:none;color:#b9c7d2;font-size:12px;font-weight:700;letter-spacing:.02em;transition:background .35s var(--ease),color .35s}
.scale-toggle button::before{content:'';width:6px;height:6px;border-radius:50%;border:1px solid currentColor;opacity:.7}
.scale-toggle button:hover{color:#ecfaff;background:#8ed8ff14}
.scale-toggle button[aria-pressed=true]{background:#8ed8ff;color:#06121c}
.scale-toggle button[aria-pressed=true]::before{background:currentColor;opacity:1}
.scale-toggle button[data-scale-mode=sun][aria-pressed=true]{background:linear-gradient(100deg,#ffe3a3,#f5b560);color:#1e1206}
.scale-window{background:radial-gradient(ellipse 70% 55% at 50% 100%,#1b2a4455,transparent 72%),radial-gradient(ellipse 36% 70% at 0% 42%,#f5b25a12,transparent 70%),linear-gradient(180deg,#03060cdb,#050912e6 60%,#03060cdb)}
.scale-window .window-sky::before{background-size:250% auto;background-position:86% 60%;opacity:.22;-webkit-mask-image:linear-gradient(90deg,transparent 12%,#000 58%);mask-image:linear-gradient(90deg,transparent 12%,#000 58%)}
.scale-window[data-mode=sun]{background:radial-gradient(ellipse 42% 90% at 0% 50%,#f5a54a24,transparent 72%),radial-gradient(ellipse 60% 50% at 60% 100%,#1b2a4444,transparent 72%),linear-gradient(180deg,#03060cdb,#050912e6 60%,#03060cdb)}
.scale-window>.window-meta{position:relative;z-index:4;padding:22px var(--rail-inset) 0}
.scale-hud{position:absolute;z-index:4;top:clamp(58px,5.2vw,84px);left:var(--rail-inset);display:grid;gap:8px;pointer-events:none;text-shadow:0 2px 18px #02040b}
.scale-window[data-mode=sun] .scale-hud{left:auto;right:var(--rail-inset);justify-items:end;text-align:right}
.scale-hud-kicker{display:flex;align-items:center;gap:10px;font:400 10px var(--mono);letter-spacing:.14em;color:#a7e2ff}
.scale-hud-kicker i{width:5px;height:5px;border-radius:50%;background:var(--blue);box-shadow:0 0 9px #8ed8ffaa}
.scale-window[data-mode=sun] .scale-hud-kicker{color:#ffd99a}
.scale-window[data-mode=sun] .scale-hud-kicker i{background:var(--sun);box-shadow:0 0 9px #f5cb79aa}
/* In sun mode the HUD kicker is gold only while it shows the Sun; a hovered planet keeps the planetary blue. */
.scale-window[data-mode=sun]:not([data-hud=sun]) .scale-hud-kicker{color:#a7e2ff}
.scale-window[data-mode=sun]:not([data-hud=sun]) .scale-hud-kicker i{background:var(--blue);box-shadow:0 0 9px #8ed8ffaa}
.scale-hud-name{font-size:15px;font-weight:700;letter-spacing:.02em}
.scale-hud strong{font:700 clamp(44px,5vw,84px)/.95 var(--display);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.scale-hud strong small{font:400 12px var(--mono);letter-spacing:.1em;margin-left:12px;color:#9aa6b3}
.scale-hud-ratio{font-size:12px;color:#b8c3cd}
.scale-hud-ratio>span+span::before{content:' · ';color:#6f7c8a}
.scale-scroll{position:relative;z-index:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.scale-scroll::-webkit-scrollbar{display:none}
.scale-scroll:focus-visible{outline-offset:-4px}
.scale-track{position:relative;min-width:100%;height:clamp(470px,40vw,700px)}
.scale-track::before{content:'';position:absolute;left:0;right:0;top:var(--horizon,70%);height:1px;background:linear-gradient(90deg,transparent,#cfe6f555 12%,#cfe6f555 88%,transparent);transition:top 1.1s var(--ease)}
.scale-window[data-mode=sun] .scale-track::before{background:linear-gradient(90deg,#f5cb7966,#cfe6f522 30%,#cfe6f522 90%,transparent);opacity:.7}
.scale-body{position:absolute;top:0;padding:0;border:0;background:none;color:inherit;outline:none;transition:left 1.1s var(--ease),width 1.1s var(--ease)}
.sb-disc{position:absolute;display:block;max-width:none;pointer-events:none;filter:drop-shadow(0 0 26px color-mix(in srgb,var(--glow,#8ed8ff) 20%,transparent));transition:left 1.1s var(--ease),top 1.1s var(--ease),width 1.1s var(--ease),height 1.1s var(--ease),filter .35s}
.sb-disc.is-missing{border-radius:50%;background:radial-gradient(circle at 35% 35%,#c9d4dc,#3b4652 75%)}
.scale-body:hover .sb-disc,.scale-body:focus-visible .sb-disc{filter:brightness(1.1) drop-shadow(0 0 26px color-mix(in srgb,var(--glow,#8ed8ff) 50%,transparent))}
.scale-body.is-selected:not([data-small]) .sb-disc{filter:drop-shadow(0 0 20px #8ed8ff5c)}
/* Finder ring: only for the small worlds (a halo would be invisible at their size). */
.sb-ring{position:absolute;border-radius:50%;border:1px solid #8ed8ffcc;box-shadow:0 0 18px #8ed8ff44;opacity:0;pointer-events:none;transition:opacity .5s,left 1.1s var(--ease),top 1.1s var(--ease),width 1.1s var(--ease),height 1.1s var(--ease)}
.scale-body:not([data-small]) .sb-ring{display:none}
.scale-body[data-small].is-selected .sb-ring{opacity:.65}
.scale-body[data-small]:is(:hover,:focus-visible) .sb-ring{opacity:.9}
.scale-window[data-mode=sun] .scale-body[data-key=earth] .sb-ring{opacity:1;animation:earth-ring 2.8s var(--ease) infinite}
@keyframes earth-ring{0%{transform:scale(.8);opacity:1}70%,100%{transform:scale(1.35);opacity:0}}
.sb-lead{position:absolute;left:50%;width:1px;background:linear-gradient(#cfe6f500,#cfe6f566);transition:top 1.1s var(--ease),height 1.1s var(--ease)}
.sb-label{position:absolute;left:-12px;right:-12px;display:flex;flex-direction:column;align-items:center;text-align:center;white-space:nowrap;transition:top 1.1s var(--ease)}
.sb-index{display:inline-flex;align-items:center;font:400 9px var(--mono);letter-spacing:.12em;color:#8a97a6}
.scale-body.is-selected .sb-index{color:#a7e2ff}
.scale-body.is-selected .sb-index::before{content:'';width:5px;height:5px;margin-right:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 8px #8ed8ffaa}
.sb-name{margin-top:5px;font-size:13px;font-weight:700;letter-spacing:.04em}
.scale-body.is-selected .sb-name{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:#8ed8ffaa}
.sb-num{margin-top:3px;font-size:clamp(16px,1.35vw,22px);line-height:1.1}
.sb-num small{font:400 9px var(--mono);letter-spacing:.08em;margin-left:4px;color:#9aa6b3}
.scale-body:hover .sb-name,.scale-body:focus-visible .sb-name{color:var(--blue)}
.scale-body:focus-visible .sb-label{outline:2px solid var(--lime);outline-offset:4px;border-radius:2px}
.scale-window[data-mode=sun] .scale-body[data-key=earth] .sb-name{color:var(--blue)}
/* The Sun's limb: white-light disc with limb darkening (bright centre → deep orange rim; only the outer part is on
   screen), NASA's Sun texture for the surface, a thin chromosphere and a soft corona glow. */
.scale-sun-layer{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent 0,#0006 7%,#000 16%,#000 86%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#0006 7%,#000 16%,#000 86%,transparent 100%)}
.scale-sun-visual{position:absolute;display:block;border-radius:50%;opacity:0;
  background:radial-gradient(circle closest-side,#fffdf4 0%,#fff6de 40%,#fff0c8 62%,#ffe3a0 72%,#ffd07a 80%,#ffb758 86%,#fd9a3e 91%,#f27e2c 95%,#de6322 97.8%,#bd4a18 99.4%,#9a3812 100%);
  box-shadow:0 0 16px 2px #ffc27477,0 0 90px 26px #ff9d4a2e,0 0 300px 110px #ff7a2a14;
  transition:left 1.2s var(--ease),top 1.2s var(--ease),width 1.2s var(--ease),height 1.2s var(--ease),opacity .9s,filter .4s}
.scale-sun-visual::before{content:'';position:absolute;inset:0;border-radius:50%;background:none right center/2048px 1024px no-repeat;mix-blend-mode:multiply;opacity:.46;-webkit-mask-image:radial-gradient(circle closest-side,#000 70%,#0009 96%,#0004 100%);mask-image:radial-gradient(circle closest-side,#000 70%,#0009 96%,#0004 100%)}
.scale-sun-visual::after{content:'';position:absolute;inset:-1px;border-radius:50%;background:radial-gradient(circle closest-side,transparent 98.2%,#ff7a3a8c 99.2%,#ff5a2a40 99.7%,transparent 100%)}
.scale-window[data-mode=sun] .scale-sun-visual{opacity:1}
.scale-window[data-mode=sun] .scale-sun-visual::before{background-image:url(./planets/maps/sun-hi.webp)}
.scale-window[data-focus=sun] .scale-sun-visual{filter:brightness(1.06)}
.scale-sun{position:absolute;padding:0;border:0;border-radius:50%;background:none;outline:none;cursor:pointer;transition:left 1.2s var(--ease),top 1.2s var(--ease),width 1.2s var(--ease),height 1.2s var(--ease)}
.scale-sun:focus-visible{box-shadow:inset 0 0 0 3px var(--lime)}
.scale-sun-label{position:absolute;z-index:3;display:grid;gap:3px;padding:12px 16px;border:1px solid #f5cb7988;border-radius:4px;background:#070b13cc;box-shadow:0 10px 40px #2a120466;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .6s,top 1.1s var(--ease)}
.scale-sun-label .sb-index{color:#f7d9a6}
.scale-sun-label .sb-name{margin:0;color:#fff2da}
.scale-sun-label .sb-num{color:#ffe7bd}
.scale-window[data-mode=sun] .scale-sun-label{opacity:1;transition-delay:.35s}
.scale-sun:focus-visible~.scale-sun-label{outline:2px solid var(--lime);outline-offset:4px}
/* While the HUD itself shows the Sun, the box would only repeat it: it steps back until a planet takes the HUD,
   and the Sun's keyboard focus ring moves to the HUD. */
.scale-window[data-mode=sun][data-hud=sun] .scale-sun-label{opacity:0;transition-delay:0s}
.scale-window:has(.scale-sun:focus-visible) .scale-hud{outline:2px solid var(--lime);outline-offset:14px;border-radius:2px}
.scale-foot{position:relative;z-index:4;padding:6px var(--rail-inset) 22px}
.scale-bar{display:flex;align-items:center;gap:12px}
.scale-bar i{display:block;height:7px;border:1px solid #cfe6f5aa;border-top:0;transition:width 1.1s var(--ease)}
.window-meta>.scale-swipe{display:none;color:#a7e2ff}
.scale-window.is-scrollable .window-meta>.scale-swipe{display:flex}
.hint-pointer{display:none}
@media (hover:hover) and (pointer:fine){.hint-pointer{display:inline}.hint-touch{display:none}}
.scale-explanation{margin:24px 0 0;font-size:13px;line-height:2;color:#cbd4d6;min-height:2em}

/* ── 04 DISTANCE ───────────────────────────────────────────────────────────────────────────────── */
.distance-window{background:radial-gradient(ellipse 50% 60% at 85% 100%,#2a2a5a2e,transparent 72%),linear-gradient(180deg,#03060cd6,#050810e0 55%,#03060cd6)}
.distance-window .window-sky::before{background-size:330% auto;background-position:41% 6%;opacity:.4;filter:saturate(.65);-webkit-mask-image:linear-gradient(180deg,#000 30%,#0008 62%,transparent 92%);mask-image:linear-gradient(180deg,#000 30%,#0008 62%,transparent 92%)}
.distance-window>.window-meta{position:relative;z-index:3;padding:22px var(--rail-inset) 0}
.distance-scroll{position:relative;z-index:2;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}
.distance-scroll::-webkit-scrollbar{display:none}
.distance-scroll:focus-visible{outline-offset:-4px}
.distance-track{position:relative;min-width:100%;height:clamp(290px,21.5vw,370px)}
.distance-track.is-tight{height:max(340px,21.5vw)}
.dist-line{position:absolute;top:var(--track-y);height:1px;background:linear-gradient(90deg,#f5cb79ee,#f5cb7955 6%,#8ed8ff4d 30%,#8ed8ff26 85%,transparent)}
.dist-sun{position:absolute;top:var(--track-y);width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:radial-gradient(circle,#fffdf0,#ffe2a0 45%,#f5a64a 80%,#f5a64a00);box-shadow:0 0 26px 8px #f5b25a80,0 0 64px 18px #f5a64a24}
.dist-sunglow{position:absolute;left:0;width:760px;height:760px;margin:-380px 0 0 -380px;border-radius:50%;background:radial-gradient(circle closest-side,#f5a64a2b,#f5a64a12 38%,#f5a64a05 64%,transparent)}
.dist-sun.is-zoom{width:22px;height:22px;margin:-11px 0 0 -11px;box-shadow:0 0 22px 6px #f5b25a80,0 0 90px 30px #f5a64a22}
.dist-tick{position:absolute;top:var(--track-y);height:9px;margin-top:-4px;border-left:1px solid #ffffff40}
.dist-tick b{position:absolute;top:16px;left:0;transform:translateX(-50%);font:400 9px var(--mono);letter-spacing:.08em;color:#8a97a6;white-space:nowrap}
.dist-bracket{position:absolute;top:calc(var(--track-y) - 40px);height:26px;border:1px solid #8ed8ff66;border-bottom:0;border-radius:3px 3px 0 0}
.dist-bracket b{position:absolute;left:0;bottom:calc(100% + 8px);font:400 9px var(--mono);letter-spacing:.12em;color:#a7e2ff;white-space:nowrap}
.dist-marker{position:absolute;top:var(--track-y);width:0;height:0;cursor:pointer}
.dist-marker img{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:block;max-width:none;filter:brightness(.22) saturate(.2);transition:filter .7s}
.dist-marker.is-lit img{filter:drop-shadow(0 0 6px #fff2c866)}
.dist-marker::before{content:'';position:absolute;left:0;top:0;width:calc(var(--s) + 3px);height:calc(var(--s) + 3px);transform:translate(-50%,-50%);border-radius:50%;box-shadow:inset 0 0 0 1px #8ea4bb55;transition:opacity .7s}
.dist-marker.is-lit::before{opacity:0}
/* The pale blue dot. */
.dist-marker.is-earth::after{content:'';position:absolute;left:0;top:0;width:calc(var(--s) + 10px);height:calc(var(--s) + 10px);transform:translate(-50%,-50%);border-radius:50%;opacity:0;box-shadow:0 0 0 1px #8ed8ffaa,0 0 10px #8ed8ff66;transition:opacity .7s;pointer-events:none}
.dist-marker.is-earth.is-lit::after{opacity:1}
.dm-glow{position:absolute;left:0;top:0;width:calc(var(--s) + 8px);height:calc(var(--s) + 8px);transform:translate(-50%,-50%);border-radius:50%;opacity:0}
.dist-marker.is-lit .dm-glow{animation:dm-lit 1.4s var(--ease) 1}
.distance-window:not(.is-live) .dist-marker .dm-glow{animation:none}
@keyframes dm-lit{0%{opacity:1;box-shadow:0 0 0 0 #fff1c8cc,0 0 24px 6px #f5cb7966}100%{opacity:0;box-shadow:0 0 0 22px #fff1c800,0 0 24px 6px #f5cb7900}}
.dm-lead{position:absolute;left:0;bottom:22px;width:1px;height:34px;background:linear-gradient(#8ed8ff00,#8ed8ff77)}
.dm-label{position:absolute;left:0;bottom:62px;transform:translateX(-50%);display:grid;justify-items:center;gap:2px;text-align:center;white-space:nowrap;opacity:.55;transition:opacity .6s;text-shadow:0 2px 14px #02040b}
.dist-marker.is-lit .dm-label{opacity:1}
.dm-index{font:400 9px var(--mono);letter-spacing:.12em;color:#8a97a6}
.dm-label strong{font-size:13px;font-weight:700;letter-spacing:.04em}
.dm-au{font-size:clamp(18px,1.5vw,24px);line-height:1.1}
.dm-au small{font:400 9px var(--mono);margin-left:4px;color:#9aa6b3}
.dm-light{font-size:11px;color:#f5d9a6}
.dist-marker:hover .dm-label strong{color:var(--blue)}
.dist-marker.is-jupiter .dm-lead,.dist-marker.is-saturn .dm-lead{height:28px}
/* Saturn's label below the track when it would crowd Jupiter's (narrow tracks). */
.dist-marker.is-below .dm-label{bottom:auto;top:40px}
.dist-marker.is-below .dm-lead{bottom:auto;top:18px;height:20px;background:linear-gradient(#8ed8ff77,#8ed8ff00)}
.dist-photon{position:absolute;left:0;top:var(--track-y);width:0;height:0;will-change:transform;transition:opacity .5s;pointer-events:none;z-index:2}
.dist-photon::before{content:'';position:absolute;right:0;top:-1px;width:180px;height:2px;border-radius:2px;background:linear-gradient(90deg,#fff3c800,#fff3c8e6)}
.dist-photon::after{content:'';position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:#fffdf2;box-shadow:0 0 12px 4px #ffe7a6bb,0 0 44px 12px #f5cb7944}
.dist-wave{position:absolute;left:-.5px;top:-54px;width:1px;height:108px;background:linear-gradient(#ffe7a600,#ffe7a655 50%,#ffe7a600)}
.dist-photon.is-off,.distance-window:not(.is-live) .dist-photon{opacity:0}
.distance-lower{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,80px);padding:clamp(18px,2vw,28px) var(--rail-inset) clamp(28px,3vw,48px)}
.distance-zoom{position:relative;border:1px solid #8ed8ff38;border-radius:10px;background:linear-gradient(180deg,#0a1422b8,#060b14c7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:16px 20px 6px;overflow:hidden}
.distance-zoom::before,.distance-zoom::after{content:'';position:absolute;width:12px;height:12px;border:1px solid #8ed8ffaa;pointer-events:none}
.distance-zoom::before{top:6px;left:6px;border-right:0;border-bottom:0}
.distance-zoom::after{right:6px;bottom:6px;border-left:0;border-top:0}
.distance-zoom .window-meta{padding:0 6px}
.distance-zoom .window-meta b{color:#ecfaff;font:700 12px var(--display);letter-spacing:.04em}
.distance-zoom-track{position:relative;height:224px;--track-y:112px}
.distance-zoom .dist-marker .dm-label{bottom:auto;top:24px}
.distance-zoom .dist-marker .dm-lead{bottom:auto;top:12px;height:10px;background:linear-gradient(#8ed8ff77,#8ed8ff00)}
.distance-zoom .dist-marker.is-venus .dm-label,.distance-zoom .dist-marker.is-mars .dm-label{top:auto;bottom:24px}
.distance-zoom .dist-marker.is-venus .dm-lead,.distance-zoom .dist-marker.is-mars .dm-lead{top:auto;bottom:12px;background:linear-gradient(#8ed8ff00,#8ed8ff77)}
.distance-zoom .dm-au{font-size:18px}
.distance-links{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.distance-links path{fill:none;stroke:#8ed8ff4d;stroke-width:1;stroke-dasharray:3 5}
.distance-links circle{fill:#a7e2ff;opacity:.85}
.distance-hud{display:flex;flex-direction:column;justify-content:center;gap:12px;padding-left:clamp(20px,3vw,48px);border-left:1px solid var(--line);min-width:0}
.distance-hud .window-meta{justify-content:flex-start;gap:10px;padding:0;color:#f5d9a6}
.dist-hud-dot{width:5px;height:5px;border-radius:50%;background:var(--sun);box-shadow:0 0 9px #f5cb79aa;flex:none}
.distance-hud strong{font:700 clamp(52px,6vw,104px)/.95 var(--display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:#fff4d8;text-shadow:0 0 36px #f5cb7938}
.distance-hud p{margin:0;font-size:13px;line-height:1.9;color:#cbd4d6}
.distance-hud small{font-size:11px;line-height:1.8;color:#9aa6b3}
.distance-window:not(.is-live) .distance-hud small{visibility:hidden}
.distance-hud .dist-pos{font:400 10px var(--mono);letter-spacing:.14em;color:#a7e2ff;font-variant-numeric:tabular-nums}
.distance-swipe{display:none;position:absolute;right:var(--rail-inset);top:22px;z-index:3;font:400 9px var(--mono);letter-spacing:.14em;color:#a7e2ff}
.distance-window.is-scrollable .distance-swipe{display:block}
.distance-window.is-scrollable>.window-meta>span:last-child{display:none}
.distance-cards{list-style:none;margin:clamp(34px,3.6vw,60px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.distance-cards li{border-bottom:1px solid var(--line)}
.distance-cards li+li{border-left:1px solid var(--line)}
.distance-cards li:nth-child(4n+1){border-left:0}
.dist-card{position:relative;display:grid;grid-template-columns:1fr auto;align-content:start;gap:0 12px;width:100%;height:100%;padding:24px clamp(16px,1.6vw,28px) 26px;border:0;background:none;color:inherit;text-align:left;transition:background .3s}
.dist-card:hover,.dist-card:focus-visible{background:#13212c}
.dist-card.is-selected{background:linear-gradient(160deg,#8ed8ff14,transparent 70%)}
.dist-card.is-selected .dc-index{color:#a7e2ff}
.dist-card img{grid-column:2;grid-row:1/3;width:48px;height:48px;transition:transform .5s var(--ease)}
.dist-card:hover img{transform:translate(3px,-3px) scale(1.06)}
.dc-index{font:400 9px var(--mono);letter-spacing:.12em;color:#8a97a6}
.dist-card strong{font-size:15px;font-weight:700;letter-spacing:.03em;margin-top:6px}
.dc-au{grid-column:1/3;margin-top:18px;font-size:clamp(34px,3vw,52px);line-height:1;letter-spacing:-.04em}
.dc-au small{font:400 11px var(--mono);letter-spacing:.08em;margin-left:8px;color:#9aa6b3}
.dc-km{grid-column:1/3;margin-top:8px;font-size:12px;color:#adb8c4}
.dc-light{grid-column:1/3;display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:18px;padding-top:12px;border-top:1px solid #ffffff14}
/* The divider is a true-linear ruler (left = the Sun, right = 30 au): gold up to the planet's distance today. */
.dc-light{position:relative}
.dc-light::before{content:'';position:absolute;left:0;top:-1px;height:1px;width:calc(var(--p,0) * 100%);background:linear-gradient(90deg,#fff1cf,#f5cb79d9 40%,#f5cb7999);box-shadow:0 0 8px #f5cb7966;transform-origin:left;transition:transform 1.8s var(--ease) calc(var(--i,0) * 90ms + .2s)}
.dc-light::after{content:'';position:absolute;left:calc(var(--p,0) * 100%);top:-3px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#fff4d8;box-shadow:0 0 0 3px #f5cb7922,0 0 10px #f5cb79aa;transition:left 1.8s var(--ease) calc(var(--i,0) * 90ms + .2s),opacity .6s calc(var(--i,0) * 90ms + .2s)}
.js-on .distance-cards:not(.in-view) .dc-light::before{transform:scaleX(0)}
.js-on .distance-cards:not(.in-view) .dc-light::after{left:0;opacity:0}
html[data-motion=off] .distance-cards .dc-light::before{transform:none}
html[data-motion=off] .distance-cards .dc-light::after{left:calc(var(--p,0) * 100%);opacity:1}
.dist-card.is-selected .dc-light::after,.dist-card:hover .dc-light::after{box-shadow:0 0 0 4px #f5cb7933,0 0 14px #f5cb79cc}
.dc-light i{font-style:normal;font-size:11px;color:#9aa6b3}
.dc-light b{font-size:18px;color:#ffe2ad;white-space:nowrap}

/* ── Outro: today's solar system + the way home ────────────────────────────────────────────────── */
.solar-outro{position:relative;z-index:1;padding-top:clamp(56px,5.5vw,100px);isolation:isolate}
.solar-outro::before{content:'';position:absolute;z-index:-1;inset:0 0 -40px;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent);mask-image:linear-gradient(180deg,#000 62%,transparent);background:radial-gradient(ellipse 55% 45% at 64% 36%,#2a2f4a55,transparent 70%),radial-gradient(ellipse at 60% 100%,#22283a70,transparent 70%),radial-gradient(ellipse 30% 40% at 12% 18%,#8ed8ff0c,transparent 70%)}
/* Softens the seam where the Beyond section's background ends. */
.solar-outro::after{content:'';position:absolute;z-index:-1;left:0;right:0;top:-110px;height:220px;pointer-events:none;background:linear-gradient(180deg,#070b1300,#070b13cc 50%,#070b1300)}
.outro-inner{position:relative}
.outro-map-wrap{position:absolute;z-index:-1;right:max(var(--layout-gutter),calc((100% - 1600px) / 2));top:calc(clamp(56px,5.5vw,100px) + clamp(60px,6vw,100px));width:min(46%,760px);margin:0;pointer-events:none}
.outro-map-box{position:relative;height:clamp(330px,30vw,560px)}
.outro-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.outro-orbit{fill:none;stroke:#e6c797;stroke-width:1;stroke-opacity:calc(.34 - var(--i) * .025);vector-effect:non-scaling-stroke}
.outro-orbit.is-earth{stroke:#8ed8ff;stroke-opacity:.5}
.outro-planet{opacity:.92}
.outro-sun{animation:outro-breathe 7s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
@keyframes outro-breathe{from{opacity:.86}to{opacity:1}}
.outro-earth-ring{fill:none;stroke:var(--lime);stroke-width:1}
.outro-earth-pulse{fill:none;stroke:var(--lime);stroke-width:1;opacity:0;transform-box:fill-box;transform-origin:center;animation:outro-pulse 3.2s var(--ease) infinite}
@keyframes outro-pulse{0%{transform:scale(.6);opacity:.9}80%,100%{transform:scale(2.2);opacity:0}}
.outro-lead{fill:none;stroke:#d9f56c99;stroke-width:1}
.outro-tag{font:400 10px var(--mono);letter-spacing:.16em;fill:var(--lime)}
.outro-tag-sub{font:700 12px var(--body);letter-spacing:.04em;fill:var(--white)}
.outro-name{font:400 9px var(--mono);letter-spacing:.14em;fill:#8a97a6}
.outro-map-note{display:none;margin:0;font-size:11px;line-height:1.8;color:#9aa6b3}
.outro-map-aside{position:relative;margin:calc(-1 * clamp(24px,2.4vw,40px)) 0 clamp(36px,3.6vw,56px);padding-left:14px;font-size:11px;line-height:1.8;color:#9aa6b3}
.outro-map-aside::before{content:'';position:absolute;left:0;top:.85em;width:6px;height:1px;background:#e6c79799}
.outro-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:clamp(40px,4vw,64px);border-top:1px solid var(--line)}
.outro-top .overline{font-size:9px;color:#8a97a6}
.outro-top>span:last-child{font:400 44px/1 var(--display);color:var(--lime)}
.solar-outro h2{font-size:clamp(36px,5vw,76px);line-height:1.38;letter-spacing:-.04em;font-weight:700;margin:34px 0 40px;text-shadow:0 4px 40px #02040bdd}
.solar-outro h2>span{color:var(--lime)}
.outro-log{display:flex;flex-wrap:wrap;margin:0 0 clamp(44px,4.4vw,72px);padding:0}
.outro-log>div{padding:4px clamp(20px,2.4vw,40px) 4px 0;margin-right:clamp(20px,2.4vw,40px);border-right:1px solid var(--line)}
.outro-log>div:last-child{border-right:0;margin-right:0}
.outro-log dt{font:400 9px var(--mono);letter-spacing:.14em;color:#8a97a6}
.outro-log>div:nth-child(2) dt{color:var(--lime)}
.outro-log dd{margin:8px 0 0;font-size:clamp(24px,2.1vw,32px);line-height:1;color:var(--white)}
.outro-log dd.outro-log-sub{margin-top:8px;font:400 12px/1.6 var(--body);letter-spacing:.02em;color:#adb8c4}
.outro-log-sub span{color:#ffe2ad}
.outro-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:64px}
.outro-bottom>p{margin:0;font-size:13px;line-height:2.1;color:#9eacb9}
.solar-sources{border-top:1px solid var(--line)}
.solar-sources summary{display:flex;align-items:center;gap:20px;min-height:64px;cursor:pointer;list-style:none}
.solar-sources summary::-webkit-details-marker{display:none}
.solar-sources summary .overline{color:var(--blue);font-size:9px}
.solar-sources summary>span:nth-child(2){font-size:13px;font-weight:700}
.solar-sources summary>b{margin-left:auto;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;font:400 16px/1 var(--display);color:var(--lime);transition:transform .4s var(--ease)}
.solar-sources[open] summary>b{transform:rotate(45deg)}
.solar-sources summary:hover>span:nth-child(2){color:var(--lime)}
.sources-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px clamp(30px,5vw,90px);padding:10px 0 44px}
.sources-group h3{display:flex;align-items:baseline;gap:10px;margin:0 0 14px;font:700 13px/1.6 var(--body);letter-spacing:.04em;color:var(--white)}
.sources-group h3>span{font:400 10px var(--mono);letter-spacing:.12em;color:#a7e2ff}
.sources-group.is-wide{grid-column:1/-1}
.sources-group ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.sources-group li{font-size:12px;line-height:1.8;color:#adb8c4}
.sources-group a{color:var(--white);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffffff40}
.sources-group a:hover{color:var(--lime);text-decoration-color:var(--lime)}
.sources-group .credit{display:block;font:400 10px var(--mono);letter-spacing:.04em;color:#cfe6f5}
.sources-list li>b{margin-right:10px;font-weight:700;color:var(--white)}
.sources-group .sources-honesty{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px clamp(30px,5vw,90px)}
.sources-honesty li{padding-left:14px;position:relative}
.sources-honesty li::before{content:'';position:absolute;left:0;top:.85em;width:6px;height:1px;background:#8ed8ff99}
.sources-honesty li>b{display:block;font-weight:700;color:var(--white)}
.sources-note{grid-column:1/-1;margin:0;padding-top:18px;border-top:1px solid #ffffff14;font-size:11px;line-height:1.9;color:#9aa6b3}
.solar-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:26px 34px;border-top:1px solid var(--line);font:400 9px var(--mono);letter-spacing:.1em;color:#8a97a6}
.solar-footer.space-shell{padding-inline:0;width:calc(100% - 2 * var(--layout-gutter));max-width:1600px}
.footer-wordmark{font:600 14px var(--display);letter-spacing:0;color:var(--white)}
/* 44px tap targets; the negative margins keep the row (and the footer) exactly as tall as before. */
.solar-footer a{display:inline-flex;align-items:center;min-height:44px;margin-block:-14px}
.solar-footer>a:last-child{color:#a5b2bd;white-space:nowrap}
.solar-footer>a:last-child:hover{color:var(--lime)}

/* ── Breakpoints (same family as the top page) ─────────────────────────────────────────────────── */
@media (min-width:1920px){
  .solar-h2{font-size:60px}
  .section-intro p{font-size:15px}
  .scale-explanation{font-size:14px}
  .sb-index,.dm-index,.dc-index,.window-meta,.dist-tick b{font-size:10px}
  .sb-name,.dm-label strong{font-size:14px}
  .dist-card strong{font-size:17px}
  .distance-zoom-track{height:236px;--track-y:118px}
  .outro-tag{font-size:11px}.outro-tag-sub{font-size:13px}
}
@media (min-width:2400px){
  .solar-brand{font-size:28px}.brand-spark{font-size:32px}.brand-sub{font-size:14px}
  .solar-nav a{font-size:12px}.solar-nav a span{font-size:13px}.home-link{font-size:13px}
  .section-intro p,.outro-bottom>p{font-size:17px}
  .solar-h2{font-size:68px}
  .scale-track{height:760px}
  .distance-track{height:420px}
  .solar-outro h2{font-size:84px}
}
@media (max-width:1150px){
  .home-link{min-width:44px}
  .home-link>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .home-link>span:last-child{margin-left:0;font-size:19px}
  .solar-tools{gap:14px}
  .distance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .distance-cards li:nth-child(4n+1){border-left:1px solid var(--line)}
  .distance-cards li:nth-child(2n+1){border-left:0}
}
@media (max-width:980px){
  .brand-sub,.brand-separator{display:none}
  .solar-nav{gap:16px}
  .solar-nav a{font-size:9px;gap:5px}.solar-nav a span{font-size:10px}
}
/* Below 1000px there is no longer room beside the headline and the journey log: the map moves into the flow,
   above the closing words. */
@media (max-width:1000px){
  .solar-outro{padding-top:clamp(36px,8vw,80px)}
  .outro-map-wrap{position:relative;z-index:0;top:auto;right:auto;width:100%;margin:0 0 8px}
  .outro-map-box{height:clamp(200px,44vw,380px)}
  .outro-map-note{display:block;padding:10px var(--layout-gutter) 0;font-size:10px;text-align:right}
  .outro-map-aside{display:none}
}
@media (max-width:900px){
  .section-intro{grid-template-columns:1fr;align-items:start;gap:22px}
  .distance-lower{grid-template-columns:1fr}
  .distance-hud{border-left:0;padding-left:0}
  .distance-track{height:340px}
  /* Single column: the light clock sits right under the track it narrates; the zoom follows. */
  .distance-lower{display:flex;flex-direction:column}
  .distance-hud{order:-1;border-top:0;padding-top:0;padding-bottom:22px;border-bottom:1px solid var(--line)}
}
@media (max-width:800px){
  .solar-header{gap:14px}
  .solar-brand{font-size:23px;gap:8px}
  .solar-nav{display:none}
  .solar-chapters-menu{display:block}
  .solar-tools{gap:12px}
  .solar-strip{font-size:35px;padding:14px 0}
  .solar-strip b{margin:0 16px}
  .section-intro p{font-size:13px;line-height:2.1}
  .window-corners{display:none}
  .scale-toggle{margin-top:22px}
  .scale-toggle button{padding:0 16px;font-size:11px}
  .scale-hud{top:52px}
  .scale-hud-name{font-size:13px}
  .scale-hud strong{font-size:40px}
  .scale-hud strong small{font-size:10px;margin-left:8px}
  .scale-hud-ratio{font-size:11px;max-width:15em}
  .scale-window[data-mode=sun] .scale-hud{top:48px}
  .scale-window[data-mode=sun] .scale-hud strong{font-size:32px}
  .scale-hud-ratio>span{display:block}
  .scale-hud-ratio>span+span::before{content:none}
  .scale-sun-label{display:none}
  .scale-track{height:470px}
  .sb-index,.dm-index,.dc-index{font-size:8px}
  .sb-name{font-size:12px}
  .sb-num{font-size:15px}
  .scale-explanation{font-size:12px}
  .window-meta{font-size:8px;letter-spacing:.1em}
  .distance-zoom{padding:14px 12px 4px}
  .distance-zoom-track{height:224px;--track-y:112px}
  .distance-hud strong{font-size:56px}
  .dc-au{font-size:32px}
  .dc-light b{font-size:15px}
  .dc-light{flex-direction:column;align-items:flex-start;gap:2px}
  .dist-card img{width:38px;height:38px}
  .solar-outro h2{font-size:32px;line-height:1.55;margin:26px 0 30px}
  .outro-top .overline{font-size:8px;max-width:235px;line-height:1.8}
  .outro-top>span:last-child{font-size:35px}
  .outro-log>div{padding-right:14px;margin-right:14px}
  .outro-log dt{font-size:8px;letter-spacing:.1em}
  .outro-log dd{font-size:20px}
  .outro-log dd.outro-log-sub{font-size:11px}
  .outro-bottom{flex-direction:column;align-items:flex-start;gap:24px;padding-bottom:44px}
  .outro-bottom>p{font-size:12px}
  .sources-body{grid-template-columns:1fr;gap:26px}
  .sources-group .sources-honesty{grid-template-columns:1fr}
  .section-note{grid-template-columns:1fr}
  .solar-footer{flex-wrap:wrap;gap:14px;font-size:8px}
  .solar-footer>span{order:3;width:100%}
  .solar-footer>a:last-child{margin-left:auto}
  .footer-wordmark{font-size:12px}
}
@media (max-width:420px){
  .meta-long{display:none}
  .solar-header{gap:10px}
  .solar-brand{font-size:21px}.brand-spark{font-size:24px}
  .solar-now{font-size:8px;letter-spacing:.08em;padding:0 11px 0 10px;gap:7px}
  .solar-tools{gap:10px}
  .solar-strip{font-size:30px}
  .solar-h2{font-size:30px}
  .scale-toggle button{padding:0 13px}
  .dist-card{padding:18px 12px 20px}
  .dc-au{font-size:27px}
  .dc-km{font-size:11px}
  .solar-sources summary{flex-wrap:wrap;gap:6px 14px;padding-block:16px;position:relative;padding-right:44px}
  .solar-sources summary .overline{width:100%}
  .solar-sources summary>b{position:absolute;right:0;top:50%;margin-top:-15px}
  .solar-outro h2{font-size:28px}
  .outro-log{display:grid;grid-template-columns:1fr 1fr;gap:16px 0}
  .outro-log>div:nth-child(1){grid-column:1/-1;border-right:0}
  .outro-log>div:nth-child(2){margin-right:14px}
}
@media (max-width:359px){
  .solar-now-name{display:none}
  .distance-cards{grid-template-columns:1fr}
  .distance-cards li{border-left:0!important}
}
@media (orientation:landscape) and (max-height:500px){
  .solar-brand{font-size:20px}.brand-spark{font-size:24px}
}
