:root{color-scheme:dark;--ink:#eeeae2;--muted:#a0a7aa;--accent:#a8c7d9;--select-dim:.78}*{box-sizing:border-box}html,body{margin:0;background:#000;color:var(--ink);font-family:'EB Garamond',Garamond,Georgia,serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px}button{background:none;border:0}#experience{position:relative;height:100svh;min-height:620px;overflow:hidden;background:#000}#stage{position:absolute;inset:0;overflow:hidden}.world{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;will-change:transform,opacity;transition:transform 1800ms cubic-bezier(.22,.68,.12,1),opacity 1100ms ease;pointer-events:none;user-select:none}#moon,#mars{opacity:0}.home .amp{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic}.world>img{display:block;width:100%;height:100%;user-select:none}#marsHigh{position:absolute;inset:0;opacity:0;transition:opacity 900ms ease}header{position:absolute;z-index:3;left:3.2%;right:3.2%;top:28px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:23px}.home{font-size:17px;font-style:italic}.edition,.eyebrow,.top-tools,footer,.disclosure{font-family:Arial,sans-serif}.edition{font-size:10px;letter-spacing:2px;color:#8a9298}.top-tools{position:absolute;z-index:3;right:3.2%;top:91px;display:flex;gap:22px;align-items:center;font-size:12px;color:#b7bec0}.top-tools button{padding:8px 0}.top-tools span{margin-left:8px}#fullscreenButton{font-size:23px}#caption{position:absolute;z-index:2;left:5.7%;bottom:166px;max-width:430px;pointer-events:none;text-shadow:0 2px 28px #000}#caption button{pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2.3px;color:var(--accent);line-height:1.6;margin:0 0 12px}h1{font-size:clamp(42px,4.8vw,70px);font-weight:400;line-height:1.03;margin:0 0 17px;letter-spacing:-1.4px}.description{font-size:21px;line-height:1.45;max-width:350px;margin:0;color:#c0c6c8}.actions{margin-top:24px;display:flex;gap:25px;align-items:center}.primary{font-size:19px;border-bottom:1px solid #667781;padding:0 0 8px}.primary span{margin-left:17px}.text-button{font-size:16px;color:#aab2b6;padding:8px 0}footer{position:absolute;z-index:3;left:5.7%;right:5.7%;bottom:54px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#abb2b6}footer nav{display:flex;align-items:center;gap:17px}footer nav button{display:flex;align-items:center;gap:10px;padding:12px 0;color:#8f979b}footer nav button[aria-current]{color:#f4f0e8}i{height:5px;width:5px;border-radius:50%;background:currentColor;display:inline-block}button[aria-current] i{box-shadow:0 0 0 4px #ffffff18}.line{height:1px;width:55px;background:#3a4145}.count{font-size:10px;letter-spacing:2px}.disclosure{position:absolute;bottom:16px;left:5.7%;font-size:10px;color:#788086;letter-spacing:.2px;margin:0}.hotspot{position:absolute;z-index:2;transform:translate(-16px,-50%);padding:13px;display:flex;align-items:center;gap:9px;opacity:.7;transition:opacity .3s}.hotspot:hover,.hotspot:focus-visible,.show-places .hotspot{opacity:1}.hotspot b{width:6px;height:6px;flex:none;border-radius:50%;background:#e5e7e2;box-shadow:0 0 0 4px #ffffff12}.hotspot span{opacity:0;transition:opacity .3s;font-size:17px;white-space:nowrap;text-shadow:0 1px 10px #000}.hotspot:hover span,.hotspot:focus-visible span,.show-places .hotspot span{opacity:1}#information{position:absolute;z-index:5;right:5.7%;bottom:165px;width:355px;padding:30px;background:rgba(8,13,17,.91);backdrop-filter:blur(18px);border:1px solid #ffffff24}#information h2{font-weight:400;font-size:31px;line-height:1.1;margin:0 0 17px}#information p:not(.eyebrow){font-size:18px;line-height:1.5;color:#c9ced0;margin:0 0 22px}#information a{font:11px Arial,sans-serif;color:var(--accent);border-bottom:1px solid #526370;padding-bottom:5px}.close{position:absolute;right:13px;top:10px;font:26px Arial,sans-serif;color:#aeb8be}.panel-open #caption{opacity:.12;pointer-events:none}.panel-open #caption button{pointer-events:none}dialog{color:var(--ink);background:#10171c;border:1px solid #ffffff26;padding:42px;width:min(520px,90vw);max-height:85svh;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}dialog h2{font-size:38px;line-height:1.1;font-weight:400;margin:0 0 20px}dialog p{font-size:20px;line-height:1.45;color:#b6c0c5}.route-stops{margin:28px 0}.route-stops button{padding:17px 0;display:flex;gap:20px;width:100%;border-bottom:1px solid #ffffff20;font-size:14px;text-align:left}.route-stops span{flex:1;font-size:23px}details{margin-top:25px}summary{cursor:pointer;font-size:18px;color:#b4cbd8}details p{font-size:17px}button:disabled{cursor:default;opacity:.25}body[data-scene="atmosphere"] #caption{max-width:400px}body[data-scene="atmosphere"] #caption:before{content:'';position:absolute;z-index:-1;inset:-50px;background:radial-gradient(ellipse,#000a,transparent 75%)}@media(min-width:900px){body[data-scene="atmosphere"] #information{right:6%;top:160px;bottom:auto}}@media(max-width:700px){#experience{min-height:660px}header{top:23px;left:6%;right:6%}.brand{font-size:20px}.home{font-size:14px}.edition{display:none}.top-tools{top:68px;right:6%;gap:20px;font-size:11px}#caption{left:7%;bottom:153px;right:7%;max-width:none}h1{font-size:43px;letter-spacing:-.7px}.description{font-size:19px;max-width:300px}.eyebrow{font-size:9px;margin-bottom:9px}.actions{margin-top:19px;gap:23px}.primary{font-size:18px}.text-button{font-size:15px}footer{left:7%;right:7%;bottom:56px;gap:12px}footer nav{gap:12px}footer nav button{font-size:10px;gap:6px}.line{width:18px}#backButton{font-size:11px;padding:0}.count{display:none}.disclosure{left:7%;bottom:20px;font-size:9px}.hotspot span{font-size:15px}#information{left:6%;right:6%;bottom:143px;width:auto;max-height:47svh;overflow:auto;padding:26px}#information h2{font-size:28px}#information p:not(.eyebrow){font-size:17px}.panel-open #caption{visibility:hidden}dialog{padding:30px}}@media(prefers-reduced-motion:reduce){.world{transition:none}.hotspot,.hotspot span{transition:none}}@media(max-height:600px) and (min-width:701px){#experience{min-height:480px}header{top:16px}.top-tools{top:55px}#caption{bottom:110px}h1{font-size:41px}.description{font-size:18px}footer{bottom:38px}#information{bottom:95px;max-height:65vh;overflow:auto}}

.detail-layer{position:absolute;left:0;top:0;z-index:1;opacity:0;pointer-events:none;user-select:none;max-width:none;transform-origin:0 0;will-change:transform,opacity;transition:transform 1800ms cubic-bezier(.22,.68,.12,1),opacity 900ms ease;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in}
@media(prefers-reduced-motion:reduce){.detail-layer{transition:none}}

@media(prefers-reduced-motion:reduce){#marsHigh{transition:none}}

#farside{opacity:0;background:#000}#farside>img{position:absolute;left:24%;top:4%;width:52%;height:92%;object-fit:contain;border-radius:50%;padding:0}.excursion{display:block;margin-top:10px;color:#c1d0da}.excursion[hidden],#relatedSource[hidden]{display:none}#relatedSource{display:block;width:max-content;margin-top:18px}body[data-scene="oceans"] #caption:before{content:'';position:absolute;z-index:-1;inset:-40px;background:radial-gradient(ellipse,#000b,transparent 75%)}

#ceres,#vesta,#vestasouth{opacity:0}.square-world>img{position:absolute;left:24%;top:4%;width:52%;height:92%;object-fit:contain}#ceresHigh{opacity:0;transition:opacity 900ms ease}.image-credit{display:block;pointer-events:auto;font:9px/1.5 Arial,sans-serif;color:#929da3;margin-top:12px;max-width:310px}.image-credit[hidden]{display:none}footer nav .line{width:clamp(15px,3vw,45px)}@media(max-width:700px){footer nav{gap:7px}footer nav .line{width:9px}footer nav button{gap:5px}.image-credit{font-size:8px;max-width:280px}.actions{gap:18px}.primary{font-size:17px}}@media(prefers-reduced-motion:reduce){#ceresHigh{transition:none}}

@media(max-width:700px){.actions{flex-wrap:wrap;row-gap:8px}}@media(max-width:380px){footer nav .line{display:none}footer nav{gap:13px}}

#jupiter{opacity:0}#jupiterHigh{opacity:0;transition:opacity 900ms ease}#journeyStops{position:relative;min-width:0;max-width:76%;overflow-x:auto;scrollbar-width:none;padding:5px 4px}#journeyStops::-webkit-scrollbar{display:none}#journeyStops>*{flex-shrink:0}#backButton,.count{flex-shrink:0}@media(max-width:700px){#journeyStops{max-width:none;flex:1}body[data-scene="bands"] #caption:before,body[data-scene="redspot"] #caption:before{content:'';position:absolute;z-index:-1;inset:-35px;background:radial-gradient(ellipse,#000a,transparent 75%)}}@media(prefers-reduced-motion:reduce){#jupiterHigh{transition:none}}

#earthMoonSpace{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;will-change:transform,opacity;opacity:0;transition:opacity 1000ms ease;pointer-events:none}
#earthMoonSpace>.world{transition:opacity 900ms ease;will-change:opacity}
#earthMoonSpace>.detail-layer{transition:opacity 900ms ease}
#systemTargets{position:absolute;inset:0;z-index:2;pointer-events:none}
#systemTargets[hidden]{display:none}
.system-target{position:absolute;transform:translate(-50%,-50%);padding:0;min-width:44px;min-height:44px;border-radius:50%;pointer-events:auto;touch-action:manipulation}
.system-target span{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:19px;text-shadow:0 2px 12px #000;color:#d5dce0}
.system-target b{font-weight:400;font-size:14px;color:#8299a7;margin-left:4px}
.system-target:focus-visible span{color:#fff}
#viewNavigation{position:absolute;z-index:3;left:5.7%;right:5.7%;bottom:101px;display:flex;align-items:center;justify-content:space-between;max-width:430px;font:11px Arial,sans-serif;color:#a9b9c3}
#viewNavigation[hidden]{display:none}
#viewNavigation>button{min-height:44px;padding:8px 12px}
#viewPrevious,#viewNext{font-size:24px;min-width:44px;border:1px solid #ffffff18;border-radius:50%}
#pullBack{letter-spacing:.4px}
body[data-scene="system"] #caption{max-width:470px}
body[data-scene="system"] .description{max-width:360px}
.local-space #caption{bottom:172px}
@media(max-width:700px){#viewNavigation{left:7%;right:7%;bottom:101px}.local-space #caption{bottom:162px}.system-target span{font-size:16px;top:calc(100% + 6px)}.system-target b{font-size:11px}}
@media(max-height:600px) and (min-width:701px){#viewNavigation{left:auto;right:5.7%;bottom:95px;width:245px}.local-space #caption{bottom:110px}}
@media(prefers-reduced-motion:reduce){#earthMoonSpace,#earthMoonSpace>.world,#earthMoonSpace>.detail-layer{transition:none}}

#caption{transition:opacity 280ms ease}.camera-moving #caption{opacity:0;pointer-events:none}.camera-moving #caption button,.camera-moving #caption a{pointer-events:none}@media(prefers-reduced-motion:reduce){#caption{transition:none}}

#pullBack:disabled{opacity:.7}

#jovianSpace{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;will-change:transform,opacity;opacity:0;transition:opacity 1000ms ease;pointer-events:none}
#jovianSpace>.world{transition:opacity 900ms ease;will-change:opacity}
#jovianTargets{position:absolute;inset:0;z-index:2;pointer-events:none}
#jovianTargets[hidden]{display:none}
.native-detail{opacity:0;transition:opacity 900ms ease}
#io,#europa{opacity:0}
body[data-scene="jovian"] #caption{max-width:470px}
.disclosure{right:5.7%;line-height:1.4}
@media(prefers-reduced-motion:reduce){#jovianSpace,#jovianSpace>.world,.native-detail{transition:none}}

@media(max-height:600px) and (min-width:701px){body[data-scene="jovian"] #caption{max-width:290px}body[data-scene="jovian"] h1{font-size:36px}}

#saturnSpace{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;will-change:transform,opacity;opacity:0;transition:opacity 1000ms ease;pointer-events:none}
#saturnSpace>.world{transition:opacity 900ms ease;will-change:opacity}
#saturnTargets{position:absolute;inset:0;z-index:2;pointer-events:none}
#saturnTargets[hidden]{display:none}
#saturn,#titan,#enceladus{opacity:0}
.ring-world>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
body[data-scene="saturnian"] #caption{max-width:470px}
@media(max-height:600px) and (min-width:701px){body[data-scene="saturnian"] #caption{max-width:290px}body[data-scene="saturnian"] h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){#saturnSpace,#saturnSpace>.world{transition:none}}

#enceladusTarget span{left:auto;right:0;transform:none}

.space-plane{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;will-change:transform,opacity;opacity:0;pointer-events:none;transition:opacity 500ms ease!important}
.space-plane>.world{transition:opacity 450ms ease!important;will-change:opacity}
.system-targets{position:absolute;inset:0;z-index:2;pointer-events:none}.system-targets[hidden]{display:none}
#viewNavigation{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;max-width:480px;bottom:98px}
#viewContext{grid-column:1/-1;text-align:center;color:#7f929e;font:10px/1.4 Arial,sans-serif;letter-spacing:.5px;margin:0 0 3px}
#viewPrevious,#viewNext{font:12px/1.2 Arial,sans-serif;border-radius:4px;border:0;display:flex;align-items:center;gap:10px;min-width:0;padding:8px 0}
#viewPrevious{justify-content:flex-start}#viewNext{justify-content:flex-end}#viewPrevious b,#viewNext b{font-size:22px;font-weight:400}
#viewPrevious span,#viewNext span{overflow-wrap:anywhere}#pullBack{font-size:11px;padding:8px!important;white-space:nowrap}
.local-space #caption{bottom:195px}.wide-view #caption{max-width:470px}
#travelStatus{position:absolute;z-index:4;left:5.7%;bottom:200px;display:flex;gap:20px;align-items:center;color:#a9b9c3;font:12px/1.4 Arial,sans-serif}
#travelStatus[hidden],#skipTravel[hidden]{display:none}#skipTravel{min-height:44px;text-decoration:underline;text-underline-offset:5px}
.route-help{font-size:17px;color:#a8c7d9}
@media(max-width:700px){#viewNavigation{left:7%;right:7%;width:auto;bottom:98px;gap:5px}#viewPrevious,#viewNext{font-size:10px;gap:6px}.local-space #caption{bottom:190px}#travelStatus{left:7%;right:7%;bottom:195px;font-size:11px;justify-content:space-between}.wide-view h1{font-size:38px}.wide-view .description{font-size:18px}}
@media(max-height:600px) and (min-width:701px){#viewNavigation{left:auto;right:5.7%;width:310px;bottom:89px}.local-space #caption{bottom:110px}.wide-view #caption{max-width:290px}.wide-view h1{font-size:36px}#travelStatus{bottom:120px}}
@media(prefers-reduced-motion:reduce){.space-plane,.space-plane>.world{transition:none!important}}

.wide-view #imageCredit{display:none}.wide-view .description{max-width:none}

#sceneShade{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(to bottom,rgba(0,0,0,.48),transparent),linear-gradient(to top,rgba(0,0,0,.72),transparent);background-size:100% 110px,100% 100px;background-position:top,bottom;background-repeat:no-repeat}

body[data-scene] #caption:before{content:'';display:block!important;position:absolute;z-index:-1;inset:-80px -150px -80px -100px;pointer-events:none;background:radial-gradient(closest-side,rgba(0,0,0,.78),rgba(0,0,0,.7) 55%,rgba(0,0,0,.34) 80%,transparent)}
#caption{text-shadow:0 1px 4px #000,0 2px 16px #0008}.description{color:#d3d8da}
body[data-scene] #information{top:135px;bottom:175px;max-height:none;width:min(550px,88vw);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:rgba(8,13,17,.97);padding:30px}
#information .close{position:sticky;top:0;float:right;margin:-17px -12px 0 12px;width:38px;height:38px;background:#080d11;border-radius:50%;z-index:1}
#infoSources{display:grid;gap:13px;margin:24px 0}#information #infoWord a{font:inherit;color:var(--accent);border-bottom:1px solid #526370;padding-bottom:1px}#information #infoWord[hidden]{display:none}#information #infoSources a{font-size:12px;line-height:1.5;width:fit-content;overflow-wrap:anywhere}
#information a[hidden]{display:none}#moreNotes{border-top:1px solid #ffffff25;padding-top:20px}#moreNotes label{display:block;margin:16px 0 8px;font:12px Arial,sans-serif;color:#aab7bf}
#notePicker{width:100%;max-width:100%;padding:12px 8px;background:#141d24;color:#e5e9eb;border:1px solid #53616a;border-radius:3px;font:14px Arial,sans-serif}
@media(max-width:700px){body[data-scene] #information{top:115px;bottom:145px;width:auto;padding:25px}#sceneShade{background-size:100% 95px,100% 90px}body[data-scene] #caption:before{inset:-56px -40px}}
@media(max-height:600px) and (min-width:701px){body[data-scene] #information{top:80px;bottom:85px;max-height:none;width:52vw}}

#europa>img{width:104%;object-fit:fill;clip-path:inset(0 50% 0 0)}

.space-plane{transition:none!important}.space-plane>.world{transition:none!important}
body:not(.wide-view) .system-target span{display:none}.system-target:disabled{opacity:1;pointer-events:none}
.camera-moving .system-target{visibility:hidden;pointer-events:none}
#zoomControls{position:absolute;z-index:3;right:3.2%;top:155px;display:flex;flex-direction:column;gap:8px}
#zoomControls button{display:flex;align-items:center;gap:9px;min-height:44px;min-width:44px;padding:0 12px;font:24px Arial,sans-serif;background:#060a0de0;border:1px solid #ffffff24;border-radius:5px}
#zoomControls span{font:11px Arial,sans-serif}#zoomControls button:disabled{opacity:.3}
@media(max-width:700px){#zoomControls{right:6%;top:120px}#zoomControls span{display:none}#zoomControls button{justify-content:center}}
@media(max-height:600px) and (min-width:701px){#zoomControls{top:102px}#zoomControls span{display:none}}

#zoomControls span{display:none}#zoomControls button{justify-content:center;width:44px}

#paleBlueFigure{margin:0 0 24px}#paleBlueFigure[hidden]{display:none}#paleBlueZoom{display:block;width:100%;padding:0;overflow:hidden;background:#091017;border:1px solid #ffffff20;border-radius:3px;cursor:zoom-in}#paleBlueZoom[aria-pressed="true"]{cursor:zoom-out}#paleBlueImage{display:block;width:100%;height:auto;transform-origin:59.3% 52%;transition:transform 650ms cubic-bezier(.22,.68,.12,1)}#paleBlueFigure figcaption{margin-top:10px;color:#aab8c1;font:12px/1.55 Arial,sans-serif}#paleBlueHint{display:block;margin-bottom:5px;color:#d0dbe1}@media(prefers-reduced-motion:reduce){#paleBlueImage{transition:none}}

#venus>img{width:106.5146%;object-fit:fill;clip-path:inset(0 51.1804% 0 0)}
#sunTopics{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}#sunTopics[hidden],#solarFigure[hidden]{display:none}#sunTopics button{border:1px solid #ffffff35;border-radius:3px;padding:9px 10px;font:12px/1.3 Arial,sans-serif;color:#cad9e3;min-height:38px}#solarFigure{margin:0 0 22px}#solarObservation{display:block;width:100%;height:auto}#solarFigure figcaption{font:12px/1.55 Arial,sans-serif;color:#aab8c1;margin-top:10px}

#sceneShade{background-image:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,.5) 55%,transparent),linear-gradient(to top,rgba(0,0,0,.72),transparent);background-size:100% 190px,100% 90px}
#siteHeader,.top-tools{text-shadow:0 1px 10px #000,0 0 3px #000}
@media(max-width:700px){#sceneShade{background-size:100% 165px,100% 90px}}

.top-tools button{min-height:44px}
#fullscreenButton{min-width:44px;padding:0 14px;margin:0 -14px}
@media(max-width:700px){
  .top-tools{font-size:12px}
  .eyebrow{font-size:10px}
  footer nav button{font-size:12px}
  #viewPrevious,#viewNext{font-size:12px}
  #pullBack{font-size:12px}
  #backButton{font-size:12px;padding:15px 10px;margin:-15px -10px}
  #travelStatus{font-size:12px}
  .image-credit{font-size:10px}
  .disclosure{font-size:10px}
}

@media(max-width:380px){#viewPrevious,#viewNext{font-size:11px}}

#siteHeader,#topTools,#zoomControls,#viewNavigation,footer,#disclosure{transition:opacity 350ms ease}
.inside-flight #siteHeader,.inside-flight #topTools,.inside-flight #zoomControls,
.inside-flight #viewNavigation,.inside-flight footer,.inside-flight #disclosure,
.inside-flight .system-target{opacity:0;visibility:hidden;pointer-events:none}
.inside-flight #travelStatus{bottom:30px}
@media(prefers-reduced-motion:reduce){#siteHeader,#topTools,#zoomControls,#viewNavigation,footer,#disclosure{transition:none}}

.inside-flight .space-plane,.inside-flight .space-plane>.world{mix-blend-mode:lighten}

@media(prefers-contrast:more){:root{--select-dim:.95}}
:where(a[href],button,summary){transition:opacity .2s ease}
a[href]:hover,button:not(:disabled):not(.hotspot):not([id="paleBlueZoom"]):hover,summary:hover{opacity:var(--select-dim)}
