.explore-emoji{font-family:system-ui,sans-serif;font-size:3.2rem;line-height:1;letter-spacing:0}
.exp{max-width:860px;margin:auto;color:#211b36}
.exp-top{text-align:center;max-width:630px;margin:4px auto 28px}
.exp-top h2{font:700 clamp(2rem,6vw,3.4rem)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.06em;margin:12px 0}
.exp-top p{font-size:1.05rem;line-height:1.5;margin:0;color:#625c70}
.exp-chip{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.13em;background:#d8fb88;border:2px solid #211b36;border-radius:30px;padding:7px 13px}
.exp-stage{position:relative;min-height:320px;border:2px solid #211b36;border-radius:23px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;background:#dcecff;margin:18px 0 28px}
.exp-number{font:700 clamp(2.2rem,6vw,4.3rem)/1 'Space Grotesk',sans-serif;letter-spacing:-.06em}
.exp-sub{font-weight:700;font-size:1.15rem;margin-top:10px}
.exp-label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:1rem;font-weight:800;margin:20px 2px 9px}
.exp-label strong{font-variant-numeric:tabular-nums}
.exp-range{width:100%;accent-color:#5f45d2;cursor:pointer;height:26px;touch-action:manipulation}
.exp-note{background:#f0edf9;border-left:5px solid #8566d9;border-radius:5px 14px 14px 5px;padding:16px 19px;margin:23px 0;color:#302946}
.exp-note strong{font-size:1.1rem}.exp-note p{margin:5px 0 0;line-height:1.5;color:#625c70}
.exp-source{display:inline-block;margin:4px 0 0;font-size:.83rem;font-weight:700;color:#5541a7;text-decoration:underline}
.exp-marks,.exp-pips{display:flex;justify-content:space-between;gap:5px;color:#756d80;font-size:.73rem;font-weight:800;margin-top:13px}
.exp-pips .current{color:#211b36}
.exp-picks,.exp-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:17px 0}
.exp-pick,.exp-quiet{border:2px solid #211b36;border-radius:12px;background:#fff;color:#211b36;font-weight:800;padding:11px 15px;min-height:44px;box-shadow:3px 3px 0 #211b36;cursor:pointer}
.exp-pick.selected{background:#d5f981}
.exp-quiet{display:block;margin:20px auto 0;background:#f2edfa}
.exp-pick:hover,.exp-quiet:hover{transform:translateY(-2px)}
.exp-small{text-align:center;color:#666174;font-size:.88rem;line-height:1.5}
.motion-stage{background:linear-gradient(#a9dcfa 0 67%,#91ba7a 67%)}
.motion-road{position:absolute;bottom:34px;left:0;right:0;height:65px;background:#39425c;border-block:6px solid #f8f6ec}
.motion-road:after{content:'';position:absolute;top:29px;left:0;right:0;border-top:3px dashed #e7ddbd}
.motion-road .motion-marker{position:absolute;z-index:1;left:10%;transition:left .06s linear}
.motion-stage .exp-number,.motion-stage p{position:relative;z-index:2;margin:0 0 72px;text-shadow:0 2px 0 #fff}
.motion-stage p{margin:-50px 0 72px;font-weight:800}
.ocean-stage{color:#fff;transition:background .25s}
.ocean-sun{position:absolute;left:8%;top:24px;font-size:2.5rem}
.ocean-creature{font-size:clamp(4rem,12vw,6rem);margin-bottom:14px;filter:drop-shadow(0 8px 12px #0a183b)}
.space-stage{background:radial-gradient(circle at 50% 35%,#354476,#0c1431);color:#fff;min-height:420px}
.space-circle{display:grid;place-items:center;border-radius:50%;font-size:clamp(3rem,9vw,5rem);background:radial-gradient(circle at 35% 30%,#7889b0,#2b3457);box-shadow:0 0 35px #697bb050;transition:width .25s,height .25s;flex:none}
.space-caption{position:relative;margin-top:18px;z-index:1}
.sky-stage{color:#fff;transition:background .2s;min-height:390px}
.sky-stars{position:absolute;top:24px;left:0;right:0;color:#d9ebff;letter-spacing:1.5rem}
.sky-balloon{position:absolute;left:16%;font-size:3.5rem;transition:bottom .2s}
.sky-stage .exp-number,.sky-stage .exp-sub{position:relative;text-shadow:0 2px 8px #121b3f}
.planet-spin{font-size:7rem;animation:planetTurn 8s linear infinite;line-height:1}
@keyframes planetTurn{to{transform:rotate(360deg)}}
.time-stage{background:linear-gradient(125deg,#31245f,#76509a);color:#fff}
.time-icon{font-size:5rem;margin-bottom:22px}
.color-stage{background:#15152b;color:#fff}
.light-orb{height:155px;width:155px;border-radius:50%;margin:0 auto 35px;border:3px solid #ffffff55}
.sound-stage{background:#241f53;color:#fff}
.sound-wave{font:700 clamp(2.7rem,8vw,5rem)/1 'Space Grotesk',sans-serif;color:#c9fb71;white-space:nowrap;margin-bottom:36px}
.weather-stage{background:linear-gradient(#89c9f5,#cde8f9)}
.weather-icon{font-size:6rem;margin-bottom:16px}
.exp-canvas{display:block;width:100%;height:auto;border:2px solid #211b36;border-radius:20px;margin:18px 0;touch-action:none;cursor:crosshair}
.pixel-tools{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:20px 0}
.pixel-swatch{width:43px;height:43px;border:2px solid #211b36;border-radius:12px;cursor:pointer}
.pixel-swatch.selected{outline:3px solid #211b36;outline-offset:3px}
.pixel-grid{display:grid;grid-template-columns:repeat(50,minmax(0,1fr));width:min(100%,650px);aspect-ratio:1;margin:auto;background:#fff;border:3px solid #211b36;touch-action:none;cursor:crosshair;user-select:none}
.pixel-grid span{min-width:0;min-height:0;box-shadow:inset 0 0 0 .35px #d9d6df}
.exp-text{font:inherit;font-weight:600;border:2px solid #211b36;border-radius:10px;min-height:46px;padding:9px 12px;max-width:100%}
.exp-actions .exp-quiet{margin:0}
.exp-actions .exp-label{margin:0}
.exp-actions input[type=color]{width:52px;height:44px;vertical-align:middle;border:0;background:none;cursor:pointer}
@media(max-width:720px){.exp-stage{min-height:280px}.space-stage{min-height:360px}.sky-stage{min-height:340px}.exp-picks{justify-content:flex-start}.exp-pick{font-size:.87rem;padding:9px 11px}.exp-marks{font-size:.6rem}.planet-spin{font-size:5rem}}
/* Data driven markers in the six emoji-free explorations. */
.motion-marker{width:72px;height:64px;top:-48px;transform:translateX(-50%);filter:drop-shadow(0 3px 3px #101828aa)}
.motion-marker svg{display:block;width:100%;height:100%}
.motion-marker[data-mode="cycling"]{top:-35px}
.motion-marker[data-mode="driving"]{top:-28px}
.motion-marker[data-mode="flying"]{top:-91px}
.ocean-depth-line{position:absolute;left:13%;top:7%;bottom:7%;width:3px;background:linear-gradient(#c6f3ff,#92bddf77);border-radius:4px}
.ocean-depth-line:before,.ocean-depth-line:after{position:absolute;left:13px;font-size:.72rem;font-weight:800;white-space:nowrap;color:#e2f8ff}
.ocean-depth-line:before{content:'SURFACE';top:0}.ocean-depth-line:after{content:'11 KM';bottom:0}
.ocean-depth-line span{position:absolute;left:-10px;top:0;width:23px;height:7px;border-radius:5px;background:#fff;box-shadow:0 0 12px #fff;transition:top .2s}
.space-circle,.planet-spin{position:relative;flex:none;border-radius:50%;overflow:visible;box-shadow:inset -17px -14px 24px #0710299c,0 0 35px #697bb050;background-color:#617890}
.space-circle.moon{background:radial-gradient(circle at 32% 27%,#ddd9c8,#8e8b88 69%,#585968)}
.space-circle.mars,.planet-spin.mars{background:radial-gradient(circle at 35% 30%,#f1aa7c,#ac574d 65%,#703844)}
.space-circle.earth,.planet-spin.earth{background:radial-gradient(ellipse at 35% 35%,#69b9c9 0 22%,#65a775 23% 29%,#317da9 30% 60%,#2a6382 61%)}
.space-circle.saturn,.planet-spin.saturn{background:repeating-linear-gradient(12deg,#dbc79c 0 13px,#b69772 14px 19px,#e7d5a6 20px 31px)}
.space-circle.jupiter,.planet-spin.jupiter{background:repeating-linear-gradient(7deg,#d8b390 0 11px,#9d675c 12px 16px,#eee0bc 17px 27px)}
.space-circle.sun{background:radial-gradient(circle at 35% 30%,#fff5b6,#ffbf42 58%,#ef7134);box-shadow:0 0 55px #ffa83988}
.planet-spin{width:160px;height:160px;animation:planetTurn 8s linear infinite}
.planet-spin.mercury{background:radial-gradient(circle at 35% 27%,#c6baa9,#777577 65%)}
.planet-spin.venus{background:repeating-linear-gradient(18deg,#e4d2a5 0 13px,#bc9b76 14px 28px)}
.planet-spin.uranus{background:radial-gradient(circle at 35% 27%,#b1eaed,#70bcca 65%)}
.planet-spin.neptune{background:radial-gradient(circle at 35% 27%,#6d9de1,#315baf 65%)}
.planet-spin.saturn:after,.space-circle.saturn:after{content:'';position:absolute;inset:40% -27%;border:10px solid #d9ca9dbb;border-left-color:#bca87888;border-radius:50%;transform:rotate(-23deg);pointer-events:none}
.planet-highlight{position:absolute;inset:8%;border-radius:50%;border-left:2px solid #ffffff55;transform:rotate(25deg)}
.sky-height-track{position:absolute;left:13%;top:10%;bottom:10%;width:3px;border-radius:4px;background:#e8f6ff88}
.sky-height-track:before,.sky-height-track:after{position:absolute;left:12px;font-size:.72rem;font-weight:800;white-space:nowrap;color:#fff}
.sky-height-track:before{content:'600 KM';top:0}.sky-height-track:after{content:'GROUND';bottom:0}
.sky-height-track span{position:absolute;left:-10px;bottom:0;width:23px;height:23px;border-radius:50%;background:#e2fb8c;border:3px solid #243154;box-shadow:0 0 16px #e2fb8c;transition:bottom .2s}
.time-track{width:min(72%,520px);height:5px;margin:18px auto 38px;background:linear-gradient(90deg,#d3bbf5,#fee293);border-radius:5px;position:relative}
.time-track:before{content:'';position:absolute;inset:-5px 0;background:radial-gradient(circle,#fff 0 5px,transparent 6px) left center/16.667% 100% repeat-x}
.time-track span{position:absolute;left:0;top:-12px;width:29px;height:29px;background:#d5f981;border:4px solid #211b36;border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 3px #ffffff77;transition:left .2s}
@media(max-width:720px){.planet-spin{width:125px;height:125px}.ocean-depth-line,.sky-height-track{left:8%}.time-track{width:76%}}
/* Sourced photography for the six science explorations. */
.motion-stage{background:#253e5a url('assets/explorations/teton-mountain-road-nps.webp') center/cover no-repeat;color:#fff}.motion-stage:before,.sky-stage:before,.time-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#061e3560,#061e35b3);pointer-events:none}.motion-stage .exp-number,.motion-stage p{text-shadow:0 2px 14px #061e35;color:#fff}.motion-road{background:#253145a0;border-color:#edf6ff99}
.ocean-stage{isolation:isolate}.ocean-stage:before{content:'';position:absolute;inset:0;background:url('assets/explorations/caribbean-coral-reef-noaa.png') center/cover no-repeat;opacity:var(--photo-opacity,.85);transition:opacity .3s;pointer-events:none}.ocean-stage .exp-number,.ocean-stage .exp-sub,.ocean-depth-line{position:relative;z-index:1}.ocean-depth-line{position:absolute}.ocean-stage .exp-number,.ocean-stage .exp-sub{text-shadow:0 2px 12px #04172a}
.sky-stage{background-image:linear-gradient(180deg,#03102c88,#164272aa),url('assets/explorations/earth-atmosphere-horizon-nasa.jpg')!important;background-position:center!important;background-size:cover!important;isolation:isolate}.sky-stage:before{background:rgba(3,13,47,var(--sky-shade,.12))}.sky-stage .exp-number,.sky-stage .exp-sub,.sky-height-track{z-index:1}
.space-circle,.planet-spin{background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;background-color:#0c1431!important;box-shadow:0 12px 38px #050918a6!important;border:0}.space-circle.moon{background-image:url('assets/explorations/moon-nasa.png')!important}.space-circle.mars,.planet-spin.mars{background-image:url('assets/explorations/mars-nasa.jpg')!important}.space-circle.earth,.planet-spin.earth{background-image:url('assets/explorations/earth-nasa.jpg')!important}.space-circle.saturn,.planet-spin.saturn{background-image:url('assets/explorations/saturn-nasa.jpg')!important}.space-circle.jupiter,.planet-spin.jupiter{background-image:url('assets/explorations/jupiter-nasa.jpg')!important}.space-circle.sun{background-image:url('assets/explorations/sun-nasa.jpg')!important}.planet-spin.mercury{background-image:url('assets/explorations/mercury-messenger-nasa.jpg')!important}.planet-spin.venus{background-image:url('assets/explorations/venus-nasa.jpg')!important}.planet-spin.uranus{background-image:url('assets/explorations/uranus-nasa.jpg')!important}.planet-spin.neptune{background-image:url('assets/explorations/neptune-nasa.jpg')!important}.space-circle.saturn:after,.planet-spin.saturn:after{content:none}.planet-spin .planet-highlight{display:none}
.time-stage{background-image:linear-gradient(#1615264d,#18132cb8),url('assets/explorations/early-earth-nasa.jpg');background-position:center;background-size:cover}.time-track,.time-stage .exp-number,.time-stage .exp-sub{z-index:1;position:relative}.exp-credit{display:inline-block;margin-left:12px;color:#6b637d;font-size:.85rem;font-weight:700}.exp-credit a{text-decoration:underline;color:#5140a0}
/* The NASA images carry their own light and texture; remove the old drawn shadow. */
.space-circle,.planet-spin{box-shadow:none!important;background-color:transparent!important;filter:none;mix-blend-mode:screen;border-radius:50%;overflow:hidden}
.space-circle.saturn,.planet-spin.saturn{border-radius:0;overflow:visible}
.planet-spin .planet-highlight{display:none}
.planet-gallery{width:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:6px 0 20px}
.planet-stage+.planet-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
.planet-photo-choice{min-width:0;min-height:108px;padding:9px 6px 10px;border:2px solid #d2cadc;border-radius:14px;background:#fff;color:#211b36;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:800;font-size:.84rem;transition:transform .15s,border-color .15s,background .15s}
.planet-photo-choice img{display:block;width:68px;height:68px;max-width:100%;object-fit:contain;border-radius:50%;background:#10182e}
.planet-photo-choice:has(img[src*='saturn']) img{border-radius:5px}
.planet-photo-choice:hover,.planet-photo-choice:focus-visible{transform:translateY(-3px);border-color:#574284;outline:0}
.planet-photo-choice.selected{border-color:#211b36;background:#e5f6bc;box-shadow:0 3px 0 #211b36}
@media(max-width:680px){.planet-gallery,.planet-stage+.planet-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.planet-photo-choice{min-height:95px;font-size:.78rem;padding:7px 4px}.planet-photo-choice img{width:56px;height:56px}}

/* Motion Meter: a scenic trip display with readable live measurements. */
.motion-exp .exp-top{margin-bottom:22px}
.motion-exp .exp-chip{background:#d8efff;border-color:#25415b;color:#25415b}
.motion-exp .exp-picks{gap:9px;margin:12px 0 21px}
.motion-exp .exp-pick{min-width:112px;border-color:#b8c5d1;background:#f6f9fa;box-shadow:none;border-radius:999px;color:#30445c}
.motion-exp .exp-pick.selected{background:#213e58;color:#fff;border-color:#213e58;box-shadow:0 5px 14px #203b4d35}
.motion-exp .exp-pick:focus-visible{outline:3px solid #eeaf62;outline-offset:3px}
.motion-stage{min-height:405px;justify-content:flex-start;align-items:flex-start;padding:26px;background-position:center 48%;box-shadow:0 18px 32px #1622362e;border-color:#193246}
.motion-stage:before{background:linear-gradient(90deg,#0b2035d9 0%,#0b2035a8 48%,#0b20352d 100%),linear-gradient(0deg,#0a203696,transparent 55%)}
.motion-dashboard{position:relative;z-index:2;text-align:left;width:min(100%,440px);padding:21px 24px 19px;border:1px solid #e8f3ff55;border-radius:20px;background:#10283cba;box-shadow:0 16px 32px #06182655;backdrop-filter:blur(9px)}
.motion-eyebrow{display:flex;align-items:center;gap:9px;font-size:.72rem;font-weight:900;letter-spacing:.16em;color:#c9e5f4}
.motion-live-dot{width:9px;height:9px;flex:none;border-radius:50%;background:#91e7cc;box-shadow:0 0 0 4px #91e7cc33,0 0 14px #91e7cc}
.motion-readout{font:700 clamp(3.4rem,8vw,5.5rem)/1 'Space Grotesk',sans-serif;letter-spacing:-.065em;font-variant-numeric:tabular-nums;margin:16px 0 5px;color:#fff;white-space:nowrap}
.motion-conversion{font-size:1rem;font-weight:700;color:#c2dce9}
.motion-details{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-top:19px;padding-top:15px;border-top:1px solid #dbe9f744;color:#f4f8f7;font-size:.86rem;font-weight:800}
.motion-details span:last-child{color:#ffdc9e}
.motion-stage .motion-road{bottom:39px;height:62px;border-block:4px solid #eef6f8bb;background:linear-gradient(180deg,#203346da,#31485cdc);box-shadow:0 6px 18px #05172988}
.motion-stage .motion-road:after{top:27px;border-color:#f7e5bd}
.motion-stage .motion-marker{width:78px;height:70px;top:-57px;filter:drop-shadow(0 5px 4px #09182bba)}
.motion-stage .motion-marker[data-mode="cycling"]{top:-43px}
.motion-stage .motion-marker[data-mode="driving"]{top:-35px}
.motion-stage .motion-marker[data-mode="flying"]{top:-103px}
.motion-marker[data-mode="flying"] svg{transform:rotate(90deg)}
.motion-start,.motion-journey{position:absolute;z-index:1;bottom:12px;color:#f3f6f7;letter-spacing:.13em;font-size:.62rem;font-weight:900;text-shadow:0 2px 5px #081c32}
.motion-start{left:27px}.motion-journey{right:27px}
.motion-exp .exp-quiet{margin-top:9px;border-color:#203e57;background:#f5f9fc;color:#203e57;box-shadow:none}
@media(max-width:600px){.motion-stage{min-height:390px;padding:17px}.motion-dashboard{padding:18px;width:100%}.motion-readout{font-size:clamp(2.8rem,13vw,4.4rem)}.motion-stage .motion-road{bottom:40px}.motion-journey{font-size:.55rem;right:14px}.motion-start{left:14px}}

/* A long, native scrolling dive. All wildlife images are research photographs. */
.game-panel.ocean-panel{padding:0;overflow:visible;display:block;background:#061422;border:1px solid #30506b;box-shadow:0 20px 60px #050b2540;border-radius:26px;min-height:0}
.ocean-exp{width:100%;max-width:none;margin:0;display:block;text-align:left;color:#e9f4f8;background:linear-gradient(180deg,#126884 0%,#073954 6%,#092c47 18%,#061c31 39%,#061422 65%,#020b13 100%);border-radius:25px;position:relative;isolation:isolate}
.ocean-exp a{color:#a7d9e8;text-decoration:underline;text-underline-offset:4px;font-size:.79rem;line-height:1.5}
.ocean-exp a:hover{color:#fff}.ocean-exp a:focus-visible,.ocean-exp button:focus-visible{outline:3px solid #eed098;outline-offset:5px}
.ocean-intro{min-height:650px;min-height:90svh;padding:90px clamp(24px,7vw,85px) 50px;position:relative;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#062a4a20,#083953bb 75%,#073954),url('assets/explorations/caribbean-coral-reef-noaa.png') center/cover;border-radius:25px 25px 0 0}
.ocean-eyebrow{font-size:.67rem;letter-spacing:.19em;font-weight:800;color:#93cbdc;display:block;line-height:1.6}
.ocean-intro .ocean-eyebrow{color:#d2edf1}.ocean-intro h2{font:700 clamp(3.6rem,9vw,7rem)/.96 'Space Grotesk',sans-serif;letter-spacing:-.065em;margin:26px 0;color:#f1f6f3;text-shadow:0 3px 30px #072b4080}
.ocean-intro h2 em{color:#b4e0e6;font-style:normal}.ocean-intro>p{font-size:clamp(1rem,2.4vw,1.3rem);line-height:1.7;color:#d5e9ed;max-width:500px;margin:0}
.ocean-intro-stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:36px;font-size:.73rem;color:#d0e5eb}.ocean-intro-stats b{font:700 1.4rem 'Space Grotesk',sans-serif;display:block;color:#f1f6f3;margin-bottom:6px}.ocean-scroll-cue{margin-top:54px;font-size:.64rem;letter-spacing:.2em;font-weight:800;color:#d4eef1;display:flex;align-items:center;gap:20px}.ocean-scroll-cue>span{font-size:1.7rem}
.ocean-hud{position:sticky;top:0;z-index:4;padding:17px clamp(18px,5vw,48px) 18px;background:#061828f2;border-block:1px solid #c0e4f12b;backdrop-filter:blur(14px);display:flex;justify-content:space-between;align-items:center;gap:10px;box-shadow:0 10px 30px #01071340}
.ocean-hud>div:first-child{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}.ocean-hud-label{font-size:.58rem;letter-spacing:.16em;color:#93b4c5;font-weight:800}.ocean-hud strong{font:700 clamp(1.6rem,4vw,2.25rem)/1 'Space Grotesk',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.05em;color:#f1f6f3;white-space:nowrap}.ocean-hud strong small{font-size:.8rem;letter-spacing:0;color:#a7cbd5}.ocean-hud #oceanFeet{font-size:.72rem;color:#8eacbf;white-space:nowrap}.ocean-hud-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:.76rem;color:#d8edf3}.ocean-hud-right span:last-child{font-size:.63rem;color:#94b4c5;white-space:nowrap}
.ocean-progress{position:absolute;left:0;bottom:0;right:0;height:3px;background:#e9f5ff10}.ocean-progress>span{display:block;height:100%;background:#96cfdc;width:0;transition:width .1s linear}
.ocean-journey{position:relative;padding:0 clamp(22px,5.5vw,65px)}.ocean-spine{position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(#b9e3eb30,#93bec512);z-index:-1}.ocean-spine:after{content:'';position:absolute;inset:0 -5px;background:repeating-linear-gradient(180deg,transparent 0 59px,#b9e3eb26 59px 60px);width:11px}
.ocean-stop{position:relative;scroll-margin-top:130px}.ocean-depth-tag{position:absolute;top:45px;left:0;color:#9cb9c8;border-top:1px solid #82b1c340;padding-top:10px;font-size:.65rem;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.ocean-encounter{min-height:740px;min-height:max(740px,96svh);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-content:center;align-items:center;gap:clamp(22px,4vw,45px);padding:110px 0 90px}
.ocean-encounter figure{margin:0;min-width:0;position:relative}.ocean-encounter img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#04101c;border-radius:15px;box-shadow:0 20px 65px #0006;border:1px solid #bddcea24}.ocean-encounter figcaption{margin:13px 3px 0;color:#90afbf}.ocean-encounter figcaption a{font-size:.61rem;color:#90afbf}.ocean-encounter-copy{min-width:0;padding:20px 0}.ocean-encounter-copy h3{font:700 clamp(2rem,4.6vw,3rem)/1.06 'Space Grotesk',sans-serif;letter-spacing:-.05em;margin:14px 0 20px;color:#eaf4f4}.ocean-encounter-copy h4{font-size:.92rem;line-height:1.5;font-weight:700;color:#a9d5e2;margin:0 0 11px}.ocean-encounter-copy p{font-size:.92rem;line-height:1.8;color:#bacbd6;margin:0 0 19px}.ocean-photo-note{font-size:.64rem;line-height:1.7;color:#8aa9ba;display:block;padding-top:15px;border-top:1px solid #b2d9e51f;margin-bottom:13px}.ocean-reverse figure{grid-column:2;grid-row:1}.ocean-reverse .ocean-encounter-copy{grid-column:1;grid-row:1}
.ocean-zone,.ocean-milestone{min-height:700px;min-height:max(700px,90svh);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:130px 25px 100px}.ocean-zone h3,.ocean-milestone h3,.ocean-bottom h3{font:700 clamp(2rem,5.5vw,4rem)/1.1 'Space Grotesk',sans-serif;letter-spacing:-.05em;max-width:640px;color:#eaf4f4;margin:25px 0}.ocean-zone p,.ocean-milestone p,.ocean-bottom p{font-size:1rem;line-height:1.85;color:#afc6d4;max-width:490px;margin:0 0 24px}.ocean-zone:before{content:'';width:45px;height:1px;background:#9fd4de80;margin-bottom:30px}.ocean-milestone h3{font-size:clamp(2rem,4.5vw,3rem)}
.ocean-bottom{min-height:950px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:130px 22px 100px}.ocean-bottom-depth{font:700 clamp(4rem,12vw,7.5rem)/1 'Space Grotesk',sans-serif;letter-spacing:-.07em;color:#d0e4e9;margin-top:27px;font-variant-numeric:tabular-nums}.ocean-bottom-depth small{font-size:1.3rem;letter-spacing:0;color:#8baebf}.ocean-bottom h3{font-size:clamp(2rem,4vw,2.7rem)}.ocean-bottom button{background:#c9e2e7;color:#082333;border:0;border-radius:999px;padding:15px 25px;margin-top:36px;font-size:.84rem;font-weight:800;box-shadow:none}.ocean-bottom button:hover{background:#e0f1f4}.ocean-credits{text-align:center;padding:28px 24px 40px;border-top:1px solid #b3d6df18;font-size:.69rem;line-height:1.9;color:#7698ad;display:block;background:transparent;border-radius:0 0 25px 25px}
@media(max-width:680px){.game-panel.ocean-panel{border-radius:18px}.ocean-exp{border-radius:17px}.ocean-intro{border-radius:17px 17px 0 0;min-height:680px;padding:65px 26px 40px}.ocean-hud{padding:16px 17px}.ocean-hud>div:first-child{gap:6px 10px;max-width:62%}.ocean-hud-label{width:100%}.ocean-hud #oceanFeet{font-size:.64rem}.ocean-hud-right{font-size:.67rem}.ocean-hud-right span:last-child{font-size:.58rem}.ocean-journey{padding:0 23px}.ocean-spine{left:50%}.ocean-encounter{grid-template-columns:1fr;gap:8px;min-height:940px;padding:110px 0 105px;align-content:center}.ocean-reverse figure,.ocean-reverse .ocean-encounter-copy{grid-column:auto;grid-row:auto}.ocean-encounter img{aspect-ratio:4/3}.ocean-encounter-copy{padding:18px 4px 0;background:linear-gradient(#081a2900,#081a2955)}.ocean-encounter-copy h3{font-size:2.5rem;margin-top:10px}.ocean-encounter-copy p{font-size:.94rem}.ocean-zone,.ocean-milestone{min-height:780px;padding-inline:3px}.ocean-zone p,.ocean-milestone p{font-size:.94rem}.ocean-depth-tag{top:35px}.ocean-bottom{min-height:950px}}
@media(prefers-reduced-motion:reduce){.ocean-progress>span{transition:none}}

/* Cosmic Scale: NASA cutouts with a shared physical diameter scale. */
.scale-exp .exp-chip{background:#d8e7f5;color:#21334b}
.scale-stage{background:radial-gradient(ellipse at 50% 20%,#243c5c,#0b1930 72%,#081324);padding:28px 18px 25px;min-height:460px;isolation:isolate}
.scale-stage:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:radial-gradient(circle,#dcecfb 1px,transparent 1.6px);background-size:53px 47px;mask-image:linear-gradient(#fff5,transparent 85%)}
.scale-stage-kicker{position:relative;color:#b8d6e9;font-size:.68rem;font-weight:800;letter-spacing:.17em}
.scale-pair{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:760px;min-height:305px;gap:15px;align-items:end;position:relative}
.scale-world{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;color:#e9f2f7;font-size:.82rem}
.scale-world .scale-art{height:255px;width:100%;display:flex;align-items:center;justify-content:center}
.scale-art img{height:auto;max-width:none;display:block;flex:none;object-fit:contain;filter:drop-shadow(0 6px 13px #01071477);transition:width .26s ease;line-height:0}
.scale-world strong{font:700 1.05rem 'Space Grotesk',sans-serif}
.scale-world span{color:#bad2e0;font-size:.75rem;font-variant-numeric:tabular-nums}
.scale-relation{position:relative;margin:19px 0 0;font:700 clamp(1rem,2vw,1.25rem)/1.35 'Space Grotesk',sans-serif;color:#e6f5f8}
.scale-gallery .planet-photo-choice{background:#f6f8fa;border-color:#c9d3dc;box-shadow:none}
.scale-gallery .planet-photo-choice.selected{background:#e0e9f1;border-color:#2a5369;box-shadow:0 3px 0 #2a5369}
.scale-gallery .planet-photo-choice img{object-fit:contain;background:none;border-radius:0;mix-blend-mode:normal;filter:none}
.scale-exp .exp-source{margin-right:15px}
@media(max-width:680px){.scale-stage{min-height:390px;padding:22px 8px}.scale-pair{min-height:255px;gap:0}.scale-world .scale-art{height:215px}.scale-world strong{font-size:.94rem}.scale-world span{font-size:.66rem}.scale-relation{padding:0 12px;font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.scale-art img{transition:none}}
.scale-sun-fact{position:relative;z-index:2;text-align:center;margin:15px auto -9px;padding:10px 16px 12px;max-width:480px;border:1px solid #d9ebf372;background:#eff9ff17;backdrop-filter:blur(6px);border-radius:14px;color:#e9f5fb;font-size:.77rem;line-height:1.45}
.scale-sun-fact[hidden]{display:none}.scale-sun-fact strong{display:block;font-size:.67rem;letter-spacing:.12em;color:#fff;margin-bottom:4px}.scale-sun-fact span{display:block}.scale-sun-fact a{display:inline-block;margin-top:5px;color:#bbdff1;font-size:.68rem;text-decoration:underline;text-underline-offset:3px}
.scale-white-sun{position:relative;isolation:isolate}.scale-white-sun:before{content:'';position:absolute;width:min(50vw,295px);height:min(50vw,295px);border-radius:50%;background:radial-gradient(circle,#f5f7e89e 0%,#d7ecf379 36%,#aedbf338 58%,transparent 74%);filter:blur(17px);z-index:-1;pointer-events:none}
.scale-white-sun #scaleSelected{filter:grayscale(1) brightness(1.65) contrast(.92) drop-shadow(0 0 8px #e8f7ffb8) drop-shadow(0 0 31px #cbecffa1)}
.scale-gallery img[src$="scale-sun.webp"]{filter:grayscale(1) brightness(1.65) contrast(.92) drop-shadow(0 0 5px #b5d1e9)}

/* Skyward: the page opens at the ground, then native scrolling climbs upward. */
.game-panel.sky-panel{padding:0;overflow:visible;display:block;background:#081429;border:1px solid #526d8b;box-shadow:0 20px 60px #050b2540;border-radius:26px;min-height:0}
.sky-exp{width:100%;max-width:none;margin:0;position:relative;color:#f4f8fd;background:#091528;border-radius:25px;isolation:isolate;text-align:left}
.sky-hud{position:sticky;top:0;z-index:5;padding:14px clamp(17px,5vw,44px) 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#081528ed;border-block:1px solid #b9d7f23b;box-shadow:0 12px 30px #08112466;backdrop-filter:blur(14px)}
.sky-hud>div:first-child{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.sky-hud>div:first-child>span{font-size:.62rem;font-weight:900;letter-spacing:.17em;color:#a7c7dd}.sky-hud strong{font:700 clamp(1.7rem,4vw,2.6rem)/1 'Space Grotesk',sans-serif;letter-spacing:-.05em;white-space:nowrap;font-variant-numeric:tabular-nums;color:#f6f8f5}.sky-hud strong small{font-size:.8rem;letter-spacing:0;color:#c4dbed}.sky-hud em{font-size:.72rem;font-weight:700;font-style:normal;color:#b4cde0;white-space:nowrap}.sky-hud-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:#e3eff7;font-size:.77rem;font-weight:800}.sky-hud-right span:last-child{font-size:.57rem;letter-spacing:.12em;color:#9eb8ce;white-space:nowrap}.sky-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#d1e7f129}.sky-progress i{display:block;width:0;height:100%;background:#adf0f3}
.sky-stop{position:relative;min-height:830px;min-height:max(830px,100svh);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:130px clamp(25px,7vw,90px) 90px}
.sky-stop:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,#fff 1px,transparent 1.4px);background-size:83px 73px;opacity:.3;pointer-events:none}
.sky-graphic{position:absolute;inset:0;overflow:hidden;pointer-events:none;isolation:isolate}.sky-graphic:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06172999 0%,#06172944 48%,transparent 100%);z-index:1;pointer-events:none}
.sky-copy{position:relative;z-index:2;width:min(100%,520px);margin-right:auto;padding:23px 0;color:#f6f8fb;text-shadow:0 2px 12px #04102599}
.sky-alt{font-size:.67rem;letter-spacing:.17em;font-weight:900;color:#b8e4ef}.sky-copy h2{font:700 clamp(2.7rem,6.5vw,5rem)/1.03 'Space Grotesk',sans-serif;letter-spacing:-.06em;margin:16px 0 23px;color:#f6f8fb}.sky-copy p{font-size:clamp(1rem,1.65vw,1.15rem);line-height:1.68;color:#e3eef3;max-width:455px;margin:0 0 16px}.sky-copy .sky-more{font-size:.89rem;color:#b5d4df}.sky-copy a,.sky-footer a{font-size:.79rem;font-weight:800;color:#cff2f9;text-decoration:underline;text-underline-offset:4px}.sky-copy a:focus-visible,.sky-copy button:focus-visible{outline:3px solid #fff;outline-offset:5px}
.sky-climb-cue{display:flex;align-items:center;gap:15px;margin-top:41px;font-size:.69rem;letter-spacing:.17em;font-weight:900;color:#fff}.sky-climb-cue b{font-size:2rem;line-height:1}
.sky-copy button{display:inline-block;margin-top:25px;padding:12px 22px;background:#e8f3ff;color:#17304c;border:0;border-radius:99px;font-size:.84rem;font-weight:900}
.sky-earth{background:linear-gradient(#020915,#071b3b 68%,#12436b)}.sky-earth .sky-graphic{background:linear-gradient(90deg,#041329dc,#061d3244),url('assets/explorations/earth-atmosphere-horizon-nasa.jpg') center/cover}.sky-earth .sky-graphic:before{background:linear-gradient(90deg,#041025d9,#04102525 66%)}
.sky-planet{position:absolute;bottom:-105%;right:-43%;width:120%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 23%,#3ea9cc,#143d7a 43%,#081a36 76%);box-shadow:0 -4px 85px #69d4eb5c,0 -8px 14px #b7eeef69;opacity:.86}.sky-orbital-line{position:absolute;right:-19%;top:17%;width:55%;height:55%;border:1px solid #e0f7ff54;border-radius:50%;transform:rotate(-22deg)}
.sky-station{background:radial-gradient(circle at 72% 58%,#103d64,#07172c 54%,#040e20)}.sky-station .sky-graphic svg{position:absolute;right:7%;top:27%;width:min(51%,500px);filter:drop-shadow(0 15px 24px #0008)}
.sky-aurora{background:linear-gradient(125deg,#030c22,#173058 56%,#0a1d3d)}.sky-aurora-ribbon{position:absolute;right:-2%;top:12%;width:52%;height:81%;transform:skewX(-22deg) rotate(15deg);border-radius:50%;filter:blur(19px);opacity:.78;background:linear-gradient(90deg,transparent 11%,#63ddc7a8 28%,#6ef1c237 40%,transparent 73%)}.sky-aurora-ribbon.two{right:13%;top:2%;transform:skewX(-35deg) rotate(-12deg);background:linear-gradient(90deg,transparent,#a575d680 40%,#64d4b847 61%,transparent)}.sky-aurora-ribbon.three{right:-19%;top:23%;transform:skewX(15deg) rotate(21deg);background:linear-gradient(90deg,transparent,#71cfea67 45%,transparent)}
.sky-edge{background:linear-gradient(135deg,#081534,#172c5c 65%,#17385f)}.sky-edge-ring{position:absolute;right:15%;top:21%;width:min(37vw,330px);aspect-ratio:1;border:2px dashed #c9e5fc80;border-radius:50%;box-shadow:0 0 0 19px #b8def010,0 0 0 41px #b8def008,0 0 70px #9cc6ee29;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#deefff;transform:rotate(-12deg)}.sky-edge-ring span{font-size:.74rem;letter-spacing:.2em}.sky-edge-ring b{font:700 clamp(2.7rem,6vw,4rem) 'Space Grotesk',sans-serif}
.sky-meteor{background:radial-gradient(ellipse at 72% 26%,#3a4684,#1b2854 58%,#182749)}.sky-meteor .sky-graphic:before{background:linear-gradient(90deg,#07152ad1,transparent 80%)}.sky-meteor .sky-graphic>div{position:absolute;width:6px;height:6px;background:#fff8df;border-radius:50%;box-shadow:0 0 18px 7px #fff0b7,0 0 65px 25px #a9c9e95e;transform:rotate(-29deg)}.sky-meteor .sky-graphic>div:after{content:'';position:absolute;right:5px;top:2px;width:225px;height:2px;background:linear-gradient(90deg,#fff8d9ba,transparent);transform-origin:right center}.sky-meteor .one{right:17%;top:25%}.sky-meteor .two{right:44%;top:42%;transform:rotate(-29deg) scale(.53)}.sky-meteor .three{right:13%;top:66%;transform:rotate(-29deg) scale(.72)}
.sky-ozone{background:linear-gradient(140deg,#18375d,#447ab4 86%)}.sky-ozone-band{position:absolute;right:-20%;top:22%;width:90%;height:33%;border-radius:50%;border:17px solid #d3baff88;transform:rotate(-17deg);box-shadow:0 0 45px 13px #dabdf47a,inset 0 0 30px #dfcfff80;filter:blur(1px)}.sky-ozone-band span{position:absolute;right:28%;top:-18px;font:700 2rem 'Space Grotesk',sans-serif;color:#f7eaff;text-shadow:0 0 20px #eac9fa}.sky-sunlight{position:absolute;right:11%;top:-80px;width:240px;height:240px;background:radial-gradient(circle,#fff2be,transparent 70%);filter:blur(16px)}
.sky-shield{background:linear-gradient(160deg,#427cba,#6ba7d0)}.sky-shield .sky-graphic>div:first-child{position:absolute;right:20%;top:25%;width:250px;height:280px;display:grid;place-items:center;font:700 5.5rem 'Space Grotesk',sans-serif;color:#f5e9ff;clip-path:polygon(50% 0,95% 18%,90% 64%,50% 100%,10% 64%,5% 18%);background:linear-gradient(140deg,#c9b7eea8,#bad8ff29);border-radius:40px;filter:drop-shadow(0 8px 25px #c9b5ee6b)}.sky-rays{position:absolute;right:2%;top:9%;width:55%;height:70%;background:repeating-linear-gradient(120deg,transparent 0 38px,#fff3cc7b 40px 42px,transparent 44px 90px);opacity:.4;transform:rotate(9deg)}
.sky-plane{background:linear-gradient(165deg,#428ac3,#75b9dd 62%,#acd4e4)}.sky-plane .sky-graphic svg{position:absolute;right:6%;top:25%;width:min(51%,490px);filter:drop-shadow(0 16px 10px #234d7970)}.sky-plane .sky-graphic:after{content:'';position:absolute;right:-5%;bottom:10%;width:72%;height:130px;background:radial-gradient(ellipse,#edf7faab,transparent 70%);filter:blur(13px)}
.sky-ground{background:linear-gradient(#489bd2 0%,#87c6df 62%,#f5d5a9 100%);border-radius:0 0 24px 24px}.sky-ground .sky-graphic:before{background:linear-gradient(90deg,#234c6a7d,transparent 75%)}.sky-ground .sky-graphic:after,.sky-plane .sky-graphic:after{pointer-events:none}.sky-sun{position:absolute;right:18%;top:15%;width:140px;height:140px;border-radius:50%;background:#fff1c9;box-shadow:0 0 0 30px #fff2d423,0 0 115px #ffeaac}.sky-cloud{position:absolute;right:16%;top:42%;width:250px;height:60px;background:#f8f8f0bd;border-radius:50%;filter:blur(12px);box-shadow:-90px 15px 0 9px #f8f8f0a1,73px 5px 0 -8px #f8f8f0cf}.sky-cloud.b{right:49%;top:20%;transform:scale(.55)}.sky-mountains{position:absolute;bottom:-1px;left:0;right:0;height:35%;background:#407484;clip-path:polygon(0 70%,13% 34%,22% 69%,42% 24%,62% 76%,78% 35%,100% 76%,100% 100%,0 100%)}.sky-mountains.front{height:26%;background:#285d5d;clip-path:polygon(0 70%,13% 42%,26% 80%,42% 39%,60% 73%,75% 38%,100% 65%,100% 100%,0 100%)}
.sky-footer{text-align:center;background:#081528;color:#a9c6d6;line-height:1.65;font-size:.68rem;padding:25px 25px 34px;border-radius:0 0 24px 24px}.sky-footer a{font-size:inherit}
@media(max-width:680px){.game-panel.sky-panel,.sky-exp{border-radius:18px}.sky-stop{min-height:780px;padding:105px 24px 85px;align-items:flex-end}.sky-copy{padding-bottom:90px}.sky-copy h2{font-size:clamp(2.4rem,11vw,3.5rem)}.sky-copy p{font-size:.95rem;line-height:1.55}.sky-copy .sky-more{font-size:.78rem}.sky-graphic:before{background:linear-gradient(0deg,#061729c9 0%,#06172940 65%,transparent 100%)}.sky-hud{padding:14px 17px 16px}.sky-hud>div:first-child{gap:3px 8px;max-width:60%}.sky-hud>div:first-child>span{width:100%}.sky-hud-right{font-size:.68rem}.sky-hud-right span:last-child{font-size:.53rem}.sky-station .sky-graphic svg,.sky-plane .sky-graphic svg{right:4%;top:15%;width:72%}.sky-earth .sky-graphic{background-position:65% center}.sky-edge-ring{width:230px;right:11%;top:11%}.sky-shield .sky-graphic>div:first-child{right:13%;top:9%;width:170px;height:190px;font-size:3.5rem}.sky-aurora-ribbon{width:85%}.sky-ground .sky-copy{padding-bottom:105px}.sky-ground .sky-graphic:before{background:linear-gradient(0deg,#16414dba,transparent 75%)}}

/* Planet Days: crop the photographed discs and leave the dark photo matte behind. */
.planet-days-exp .planet-stage #planetSpin{width:230px;height:215px;display:grid;place-items:center;background:none!important;background-image:none!important;box-shadow:none!important;mix-blend-mode:normal;filter:none;border-radius:0;overflow:visible}
.planet-days-exp .planet-disc-frame{width:195px;height:195px;display:grid;place-items:center;overflow:hidden;border-radius:50%}
.planet-days-exp .planet-disc-frame img{display:block;width:100%;height:100%;object-fit:contain;max-width:none}
.planet-days-exp .planet-spin.saturn .planet-disc-frame{width:230px;height:195px;overflow:visible;border-radius:0}
.planet-days-gallery .planet-thumb{display:grid;place-items:center;width:68px;height:68px;overflow:hidden;border-radius:50%;flex:none}
.planet-days-gallery .planet-photo-choice .planet-thumb img{width:100%;height:100%;max-width:none;object-fit:contain;background:none;border-radius:0;filter:none}
.planet-days-gallery .planet-thumb.planet-saturn{overflow:visible;border-radius:0}
.planet-days-exp .planet-spin.mercury img,.planet-days-gallery .planet-thumb.planet-mercury img{transform:scale(1.11)}
.planet-days-exp .planet-spin.venus img,.planet-days-exp .planet-spin.uranus img,.planet-days-exp .planet-spin.neptune img,.planet-days-gallery .planet-thumb.planet-venus img,.planet-days-gallery .planet-thumb.planet-uranus img,.planet-days-gallery .planet-thumb.planet-neptune img{transform:scale(1.23)}
.planet-days-exp .planet-spin.saturn img{transform:none}
.planet-days-exp .space-caption{margin-top:9px}.planet-days-exp #planetCompare{margin-top:9px;font-weight:700;color:#dce8f7}
@media(max-width:680px){.planet-days-exp .planet-stage #planetSpin{width:180px;height:165px}.planet-days-exp .planet-disc-frame{width:155px;height:155px}.planet-days-exp .planet-spin.saturn .planet-disc-frame{width:175px;height:155px}.planet-days-gallery .planet-thumb{width:56px;height:56px}}

/* Orbit Studio workbench */
.orbit-studio .exp-top{max-width:690px}.orbit-studio .exp-chip{background:#d6e9fa;color:#253951}.orbit-studio .exp-top p{color:#635d70}
.orbit-scene{position:relative;margin-top:23px;border:2px solid #28364f;border-radius:22px;overflow:hidden;background:#091329;box-shadow:0 17px 36px #11142f2e}
.orbit-scene canvas{display:block;width:100%;height:auto;cursor:pointer;touch-action:manipulation}
.orbit-scene-label,.orbit-scene-hint{position:absolute;z-index:1;color:#d9e9f5;background:#0b1d35bb;border:1px solid #aacde43d;border-radius:99px;backdrop-filter:blur(8px);pointer-events:none;font-size:.62rem;font-weight:800;letter-spacing:.11em;padding:8px 12px}
.orbit-scene-label{top:19px;left:20px;display:flex;gap:17px}.orbit-scene-label b{color:#accbdc;font:inherit}.orbit-scene-hint{right:20px;bottom:19px;font-size:.58rem;color:#adc6dc}
.orbit-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:17px 0 24px}.orbit-button{border:1px solid #bfcbd7;background:#f8fafb;color:#263a50;border-radius:12px;min-height:44px;padding:10px 16px;font-size:.82rem;font-weight:800;cursor:pointer;box-shadow:0 3px 0 #d8dee8}.orbit-button:hover{background:#e9f4fb;transform:translateY(-1px)}.orbit-button:disabled{opacity:.5;cursor:default;transform:none}.orbit-button:focus-visible,.orbit-studio button:focus-visible,.orbit-studio input:focus-visible{outline:3px solid #cd95e9;outline-offset:3px}.orbit-button.orbit-add{background:#303759;color:#fff;border-color:#303759;box-shadow:0 3px 0 #151b39}.orbit-button.orbit-reset{margin-left:auto}
.orbit-workbench{display:grid;grid-template-columns:.95fr 1.05fr;gap:14px}.orbit-list-wrap,.orbit-editor,.orbit-speed-wrap{border:1px solid #d6d2de;background:#faf9fc;border-radius:18px;padding:18px 19px;color:#251f37}.orbit-panel-heading{min-height:33px;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;font-size:.7rem;letter-spacing:.11em;font-weight:900;color:#49445a}.orbit-panel-heading small{font-size:.58rem;color:#8c8595}.orbit-panel-heading button{border:0;background:transparent;color:#8d3d57;font-size:.7rem;font-weight:800;text-decoration:underline;padding:6px;cursor:pointer}.orbit-panel-heading button:disabled{opacity:.45;cursor:default}
.orbit-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.orbit-list-item{display:flex;align-items:center;gap:9px;text-align:left;min-width:0;min-height:49px;border:1px solid #d6d6e2;border-radius:11px;background:#fff;color:#322b42;padding:8px 10px;cursor:pointer;font-weight:800;font-size:.8rem}.orbit-list-item:hover{background:#f2f5fb}.orbit-list-item.selected{border-color:#516a96;background:#e8f2ff;box-shadow:0 0 0 2px #aac8ea88}.orbit-list-item i{width:16px;height:16px;border-radius:50%;box-shadow:inset -3px -3px 4px #202b4d55;flex:none}.orbit-list-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orbit-list-item small{margin-left:auto;font-size:.52rem;white-space:nowrap;color:#8c8ca2}
.orbit-editor-inner{display:grid;gap:16px}.orbit-control{display:block;color:#343047;font-size:.82rem;font-weight:800}.orbit-control>span{display:flex;justify-content:space-between;align-items:center}.orbit-control b{color:#596a8a;font-variant-numeric:tabular-nums}.orbit-control input[type=range]{display:block;width:100%;height:25px;margin:7px 0 0;accent-color:#6476ad;cursor:pointer}.orbit-colors{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.orbit-colors button{width:26px;height:26px;border-radius:50%;background:var(--planet-color);border:2px solid #fff;box-shadow:0 0 0 1px #a9a3ba;cursor:pointer}.orbit-colors button.selected{box-shadow:0 0 0 2px #303652,0 0 0 5px #d4d7e4}.orbit-period{font-size:.7rem;line-height:1.5;color:#667184;margin-top:17px;padding-top:11px;border-top:1px solid #e2dfec}
.orbit-speed-wrap{margin-top:14px;padding:18px 20px}.orbit-speed-wrap .orbit-control{max-width:440px}.orbit-speed-wrap p{font-size:.76rem;line-height:1.5;color:#756d81;margin:4px 0 0}
@media(max-width:700px){.orbit-workbench{grid-template-columns:1fr}.orbit-scene-label{top:9px;left:9px;font-size:.53rem;padding:6px 8px;gap:8px}.orbit-scene-hint{right:8px;bottom:8px;font-size:.48rem;padding:6px 7px}.orbit-toolbar{gap:7px}.orbit-button{padding:9px 12px;font-size:.73rem}.orbit-button.orbit-reset{margin-left:0}.orbit-list-wrap,.orbit-editor{padding:15px}.orbit-list-item{font-size:.75rem}.orbit-list-item small{display:none}}
.orbit-list-item small{font-variant-numeric:tabular-nums}
@media(max-width:700px){.orbit-list-item{display:grid;grid-template-columns:16px 1fr;gap:2px 8px}.orbit-list-item i{grid-row:1/3}.orbit-list-item span{grid-column:2}.orbit-list-item small{display:block;grid-column:2;margin-left:0;font-size:.49rem}}

/* Weather Lab: a little illustrated landscape that responds to every control. */
.weather-exp{max-width:900px}.weather-exp .exp-chip{background:#dceef8;border-color:#334b68;color:#263f59}.weather-exp .exp-top{margin-bottom:22px}
.weather-scene{--cloud-opacity:.45;--wind-duration:8s;position:relative;isolation:isolate;min-height:430px;overflow:hidden;border-radius:25px;background:linear-gradient(180deg,#287fb7 0%,#83c8e1 56%,#d5e8d7 100%);border:2px solid #2b4860;box-shadow:0 14px 30px #1c30422b;transition:background .5s}
.weather-scene:after{content:'';position:absolute;inset:44% 0 0;z-index:5;pointer-events:none;background:linear-gradient(transparent,#102c3c94 72%,#0d2637d9)}
.weather-sun{position:absolute;z-index:1;top:55px;right:21%;width:105px;height:105px;border-radius:50%;background:#fff3cc;box-shadow:0 0 0 25px #fff3cc22,0 0 95px 30px #fff0c199;transition:opacity .4s,transform .5s}
.weather-cloud{position:absolute;z-index:2;top:97px;left:10%;width:195px;height:51px;border-radius:60px;background:#f7faf9;box-shadow:52px -20px 0 -7px #f7faf9,101px 4px 0 -10px #f7faf9;opacity:var(--cloud-opacity);filter:drop-shadow(0 9px 8px #24496124);animation:weatherDrift var(--wind-duration) ease-in-out infinite alternate;transition:opacity .4s,filter .4s}
.weather-cloud:before{content:'';position:absolute;width:88px;height:76px;border-radius:50%;background:inherit;left:34px;top:-34px}.weather-cloud:after{content:'';position:absolute;width:93px;height:69px;border-radius:50%;background:inherit;right:18px;top:-25px}
.cloud-two{top:170px;left:58%;transform:scale(.66);animation-delay:-3s}.cloud-three{top:59px;left:39%;transform:scale(.52);animation-delay:-6s}
.weather-hill{position:absolute;left:-8%;right:-8%;bottom:-65px;height:190px;border-radius:50% 50% 0 0;background:#78a895;z-index:2}.hill-back{left:34%;right:-20%;bottom:-46px;height:170px;background:#6d9e9e}.hill-front{z-index:3;background:#497c72;left:-30%;right:29%;bottom:-86px;height:180px}
.weather-rain,.weather-snow{position:absolute;inset:0;z-index:4;opacity:0;pointer-events:none;transition:opacity .3s}.weather-rain i,.weather-snow i{position:absolute;top:-22px;left:calc(var(--i)*4.6%);height:23px;width:2px;background:#def5ff;border-radius:5px;box-shadow:0 0 3px #fff;animation:weatherFall .85s linear infinite;animation-delay:calc(var(--i)*-.19s)}.weather-snow i{width:7px;height:7px;border-radius:50%;animation-duration:3s;animation-delay:calc(var(--i)*-.32s)}
.weather-wind{position:absolute;inset:0;z-index:4;opacity:0;pointer-events:none;transition:opacity .3s}.weather-wind i{position:absolute;top:26%;left:-30%;width:24%;height:2px;border-radius:5px;background:#ffffff9e;animation:weatherGust var(--wind-duration) linear infinite}.weather-wind i:nth-child(2){top:39%;width:17%;animation-delay:-2s}.weather-wind i:nth-child(3){top:54%;width:28%;animation-delay:-4s}
.weather-display{position:absolute;z-index:6;left:34px;right:34px;bottom:31px;text-align:left;color:#fff;text-shadow:0 2px 9px #0b26376b}.weather-eyebrow{font-size:.68rem;font-weight:900;letter-spacing:.18em;color:#e6f3f6}.weather-heading{display:flex;align-items:baseline;gap:18px;justify-content:space-between}.weather-heading strong{font:700 clamp(2.1rem,6vw,3.8rem)/1.07 'Space Grotesk',sans-serif;letter-spacing:-.05em}.weather-heading span{font:700 clamp(3.8rem,9vw,6.5rem)/1 'Space Grotesk',sans-serif;letter-spacing:-.08em;font-variant-numeric:tabular-nums}.weather-display p{margin:7px 0 15px;font-size:1rem;font-weight:600}.weather-readings{display:flex;gap:9px;flex-wrap:wrap}.weather-readings span{padding:8px 12px;border:1px solid #e6f4fa70;border-radius:99px;background:#18394b91;backdrop-filter:blur(7px);font-size:.75rem;font-weight:800;text-shadow:none;font-variant-numeric:tabular-nums}
.weather-scene[data-condition="rain"],.weather-scene[data-condition="snow"]{background:linear-gradient(180deg,#445d78,#8195a8 65%,#b3c0bd)}.weather-scene[data-condition="cloudy"]{background:linear-gradient(180deg,#648fae,#afc5d1 65%,#d9dfd9)}.weather-scene[data-condition="partly"]{background:linear-gradient(180deg,#3e94c0,#9ad2e1 65%,#e4e9cd)}.weather-scene[data-condition="windy"]{background:linear-gradient(180deg,#4588ad,#acd2d8 65%,#d7e6d7)}
.weather-scene[data-condition="rain"] .weather-rain,.weather-scene[data-condition="snow"] .weather-snow{opacity:1}.weather-scene[data-windy="true"] .weather-wind{opacity:1}.weather-scene[data-condition="rain"] .weather-cloud,.weather-scene[data-condition="snow"] .weather-cloud{background:#dce4e9;box-shadow:52px -20px 0 -7px #dce4e9,101px 4px 0 -10px #dce4e9;filter:drop-shadow(0 10px 8px #1f38425c)}.weather-scene[data-condition="cloudy"] .weather-sun,.weather-scene[data-condition="rain"] .weather-sun,.weather-scene[data-condition="snow"] .weather-sun{opacity:.25}.weather-scene[data-condition="rain"] .weather-hill,.weather-scene[data-condition="snow"] .weather-hill{filter:saturate(.6)}
.weather-presets{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:22px 0 18px}.weather-presets>span{font-size:.7rem;letter-spacing:.12em;font-weight:900;color:#666579;margin-right:6px}.weather-presets button{min-height:42px;border:1px solid #c9d2db;border-radius:99px;padding:8px 15px;background:#fff;color:#2b3c51;font-weight:800;cursor:pointer;transition:background .15s,transform .15s,border-color .15s}.weather-presets button:hover{transform:translateY(-2px);background:#ecf6fc}.weather-presets button.selected{background:#2d5673;color:#fff;border-color:#2d5673}
.weather-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.weather-control{padding:19px 17px 15px;border:1px solid #d6dce3;border-radius:17px;background:#f9fbfc;box-shadow:0 4px 0 #e8edf0}.weather-control label{display:flex;justify-content:space-between;gap:8px;align-items:baseline;font-size:.84rem;font-weight:800;color:#343d51}.weather-control strong{font-size:1.1rem;color:#245a80;font-variant-numeric:tabular-nums;white-space:nowrap}.weather-control input{display:block;width:100%;height:32px;margin:12px 0 3px;accent-color:#3179a8;cursor:pointer;touch-action:manipulation}.weather-range-ends{display:flex;justify-content:space-between;color:#747e8b;font-size:.69rem;font-weight:700}.weather-disclaimer{margin:18px 2px 0;color:#757080;font-size:.8rem;line-height:1.5}
.weather-exp button:focus-visible,.weather-exp input:focus-visible{outline:3px solid #6a4fc3;outline-offset:3px}
@keyframes weatherDrift{to{translate:25px 0}}@keyframes weatherFall{to{translate:30px 470px}}@keyframes weatherGust{to{left:115%}}
@media(max-width:700px){.weather-scene{min-height:410px}.weather-display{left:20px;right:20px;bottom:21px}.weather-heading{gap:6px}.weather-heading strong{font-size:clamp(1.7rem,7vw,2.8rem)}.weather-heading span{font-size:clamp(3rem,14vw,5rem)}.weather-controls{grid-template-columns:1fr}.weather-presets>span{width:100%}.weather-cloud{left:-5%;transform:scale(.75)}.cloud-two{left:52%;transform:scale(.55)}.cloud-three{left:26%;transform:scale(.42)}.weather-sun{right:14%;width:85px;height:85px}}
@media(prefers-reduced-motion:reduce){.weather-cloud,.weather-rain i,.weather-snow i,.weather-wind i{animation:none}.weather-rain i,.weather-snow i{top:30%}.weather-wind i{left:20%}}

/* Star Mapper: a calm observatory with clear drawing controls. */
.star-mapper{max-width:930px}.star-mapper .exp-top{margin-bottom:24px}.star-mapper .exp-chip{background:#dce9ff;border-color:#344765;color:#294262}
.star-sky-wrap{position:relative;border:2px solid #2a3c63;border-radius:23px;overflow:hidden;background:#101b3a;box-shadow:0 16px 34px #18253d35}
.star-sky-wrap canvas{display:block;width:100%;height:auto;touch-action:manipulation;cursor:crosshair}
.star-sky-hint{position:absolute;top:19px;left:50%;transform:translateX(-50%);border:1px solid #d4eaff55;border-radius:99px;background:#0a1b35a8;color:#e4f2ff;backdrop-filter:blur(7px);font-size:.62rem;letter-spacing:.14em;font-weight:900;padding:9px 15px;white-space:nowrap;pointer-events:none}
.star-toolbar{display:grid;grid-template-columns:230px 1fr;gap:17px;align-items:end;margin:19px 0 0;padding:20px;border:1px solid #d9dee9;border-radius:18px;background:#f8f9fd}
.star-name-label{display:grid;gap:8px;font-size:.68rem;letter-spacing:.11em;font-weight:900;color:#59627b}.star-name-label input{width:100%;min-height:44px;font-size:.87rem;letter-spacing:0;background:#fff;border-color:#cbd4e3}.star-name-label input::placeholder{color:#9aa1b3}
.star-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.star-tools button{min-height:44px;padding:9px 13px;border:1px solid #c8d1e2;border-radius:11px;background:#fff;color:#293b59;font-size:.78rem;font-weight:800;cursor:pointer;box-shadow:0 2px 0 #dfe5f0}.star-tools button:hover:not(:disabled){background:#e9f3fd;transform:translateY(-1px)}.star-tools button:disabled{opacity:.42;cursor:default;box-shadow:none}.star-tools .star-save{background:#273b65;color:#fff;border-color:#273b65;box-shadow:0 3px 0 #172543}.star-tools .star-save:hover:not(:disabled){background:#385582}
.star-message{margin:17px 3px 4px;font-size:.98rem;font-weight:800;color:#2d3f60}.star-tip{margin:0 3px;color:#77788a;font-size:.8rem;line-height:1.5}.star-mapper button:focus-visible,.star-mapper input:focus-visible,.star-mapper canvas:focus-visible{outline:3px solid #7156bf;outline-offset:3px}
@media(max-width:700px){.star-toolbar{grid-template-columns:1fr;padding:15px}.star-tools{justify-content:flex-start}.star-tools button{flex:1 1 auto}.star-sky-hint{top:10px;padding:6px 9px;font-size:.48rem}.star-message{font-size:.88rem}}
