/* Default gestures always belong to the document, never the space camera. */
.explorer-travel{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;margin:.8rem 0}.explorer-travel[hidden]{display:none}.earth-comparison{flex:1 1 200px;margin:0;color:#bbc8d9;font-size:14px;line-height:1.6}.explorer-tour[aria-pressed=true]{border-color:#ffc078;color:#ffc078}.cosmic-explorer button:disabled{opacity:.55;cursor:not-allowed}.cosmic-explorer .orbit-label{min-height:44px!important}.cosmic-explorer button:focus-visible,.cosmic-explorer select:focus-visible{outline:2px solid #ffc078;outline-offset:3px}
@media(max-width:600px){.cosmic-explorer .explorer-viewport{margin-inline:calc(-1 * var(--lab-gutter));width:calc(100% + 2 * var(--lab-gutter));height:70svh;min-height:340px}.explorer-status{padding:5px 8px;background:#02050bbd;border-radius:4px}.explorer-audio select{font-size:16px}.explorer-destinations{padding:3px;touch-action:pan-y pinch-zoom}.explorer-details{padding-bottom:env(safe-area-inset-bottom)}}
html{scroll-padding-top:12px;overflow-x:clip}body{overflow-x:clip;max-width:100%;touch-action:pan-y pinch-zoom}
.lab{--lab-gutter:clamp(14px,4vw,48px);padding:20px var(--lab-gutter) 48px;max-width:1600px}
.lab-heading{margin-bottom:16px}.lab-heading h1{font-size:clamp(42px,6vw,70px)}.lab-heading .eyebrow{font-size:12px;letter-spacing:.13em}.lab-heading>p{font-size:16px}
.lab-viewport{touch-action:pan-y pinch-zoom;background:#02050b;isolation:isolate}
.lab-viewport:not(.is-interacting) canvas{pointer-events:none!important;touch-action:pan-y pinch-zoom!important}
.lab-viewport.is-interacting canvas{pointer-events:auto!important;touch-action:none!important;cursor:grab}
.lab-viewport.is-interacting{outline:1px solid #ffc07888;outline-offset:-1px}
.lab-exit{display:none;position:absolute;top:12px;right:12px;z-index:8;background:#0a192a;color:#ffe0b8;border:2px solid #ffc078;border-radius:5px;font:inherit;font-size:14px;padding:10px 14px;min-height:44px;touch-action:manipulation;cursor:pointer}.is-interacting .lab-exit{display:block}
.scene-toolbar button,.scene-toolbar select,.universe-bar button,.universe-bar select{min-height:44px;font-size:14px}
#lab-interact,#journey-interact{background:#efbd7f;color:#181008;border:1px solid #efbd7f;font-weight:650}
#lab-interact[aria-pressed=true],#journey-interact[aria-pressed=true]{background:#07111a;color:#ffe4c1;border:2px solid #ffcb86}
.space-journey{position:relative;margin:0 calc(-1 * var(--lab-gutter)) 32px;background:#02050b}
.journey-stage{position:sticky;top:0;height:86vh;height:86svh;width:100%;z-index:1;pointer-events:none}
.journey-viewport{height:100%;width:100%;min-height:0;aspect-ratio:auto;pointer-events:auto}
.journey-viewport canvas{object-fit:contain}
.journey-chapters{position:relative;z-index:2;margin-top:-86vh;margin-top:-86svh;pointer-events:none}
.journey-chapter{height:86vh;height:86svh;min-height:460px;position:relative;display:flex;align-items:flex-end;padding:30px max(var(--lab-gutter),env(safe-area-inset-left));box-sizing:border-box;pointer-events:none}
.journey-copy{max-width:640px;padding-top:30px;padding-bottom:22px;width:100%;text-shadow:0 2px 16px #000;pointer-events:none}
.journey-copy::before{content:'';position:absolute;bottom:0;left:0;right:0;height:42%;background:linear-gradient(transparent,#02050baa 45%,#02050be8);z-index:-1;pointer-events:none}
.journey-copy h2{font-size:clamp(38px,6.6vw,82px);font-weight:500;line-height:1.08;margin:6px 0 10px;letter-spacing:-.04em}
.journey-copy p{margin:6px 0;font-size:clamp(16px,2vw,20px);line-height:1.45}
.journey-copy .journey-number{font-size:11px;color:#e6c498;letter-spacing:.13em}
.journey-copy .journey-facts{font-size:13px;color:#bdc9d2;max-width:420px}
.journey-copy button{pointer-events:auto;margin-top:12px;padding:11px 0;background:none;border:0;border-bottom:1px solid #ecc291;color:#f1c78f;font:inherit;min-height:44px;cursor:pointer}
.journey-control{position:absolute;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));top:14px;display:flex;gap:12px;align-items:center;z-index:5;pointer-events:none}
.journey-control button{pointer-events:auto;min-height:44px;padding:10px 16px;border-radius:5px;font:inherit;font-size:14px;cursor:pointer}
.journey-control span{font-size:12px;color:#bdc9d2;text-shadow:0 2px 8px #000}
.journey-tools{margin-left:auto;color:#e4eaf0;background:#08131cc9;border:1px solid #ccddee44}
.journey-loading{position:absolute;left:20px;right:20px;top:30%;text-align:center;color:#ccd9e3;font-size:14px;line-height:1.7;z-index:1}
.space-journey.no-webgl .journey-stage{position:relative;height:200px;min-height:200px}.space-journey.no-webgl .journey-loading{top:50%}.space-journey.no-webgl .journey-chapters{margin-top:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.space-journey.no-webgl .journey-chapter{height:auto;min-height:0;padding:20px}.space-journey.no-webgl .journey-copy{padding:0;margin:0}.space-journey.no-webgl .journey-copy h2{font-size:32px}.space-journey.no-webgl .journey-control span{display:none}
.universe-bar{position:relative;top:auto;scroll-margin-top:12px;box-shadow:none}
.experiment-picker{gap:6px;margin-bottom:20px}.experiment-picker button{padding:10px 12px;min-height:46px;font-size:14px}
.experiment-intro h2{font-size:clamp(25px,3vw,38px)}.experiment-intro>p{margin:8px 0 16px;font-size:16px}
.chart{border-radius:0;border:0;box-shadow:none;background:#02050b}.chart::after{display:none}
.chart-caption{font-size:13px;padding:12px 14px;line-height:1.6;background:#07111a}
.scene-hud{font-size:12px}.scene-toolbar{padding:10px;gap:6px}.scene-help{font-size:13px;line-height:1.5}
.tool-settings,.settings-close{display:none}.controls{max-width:100%;min-width:0}.controls select,.controls input{max-width:100%}
.experiment-grid>*{min-width:0}.asset-credits{overflow-wrap:anywhere}
@media(min-width:851px){.journey-copy{margin-left:3vw;padding-bottom:32px}.journey-control{left:28px;right:28px}.lab-viewport:not(.journey-viewport){min-height:460px;aspect-ratio:1.2}}
@media(max-width:850px){
  body>header{padding:12px 14px;gap:12px}body>header .brand{gap:8px;font-size:13px}body>header .brand img{width:42px;height:42px}body>header nav{gap:10px;font-size:12px}body>header nav a:last-child{display:none}
  .lab-heading{margin-bottom:12px}.lab-heading .eyebrow{font-size:10px;letter-spacing:.08em;line-height:1.6}.lab-heading h1{font-size:42px}
  .journey-control{flex-wrap:wrap;gap:8px}.journey-control span{order:3;width:100%;font-size:12px}.journey-control button{padding:10px 12px}
  .journey-copy{padding-bottom:max(18px,env(safe-area-inset-bottom));max-width:100%}.journey-copy h2{font-size:40px}.journey-copy p{font-size:16px}.journey-copy .journey-facts{font-size:12px;max-width:310px}
  .journey-chapter{padding-bottom:16px;min-height:420px}.journey-stage{min-height:420px}
  .experiment-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.experiment-picker button{font-size:12px;text-align:left;padding:9px;letter-spacing:0;white-space:normal}
  .universe-bar{padding:12px;gap:8px}.universe-bar select{width:100%;max-width:100%;font-size:16px}.universe-bar label{min-width:0;font-size:13px}.universe-bar button{font-size:13px}
  .lab-viewport:not(.journey-viewport){min-height:320px;height:58vh;height:58svh;max-height:660px;aspect-ratio:auto}
  .chart{margin-inline:calc(-1 * var(--lab-gutter));width:calc(100% + 2 * var(--lab-gutter))}
  .tool-settings{display:inline-flex;align-items:center;padding:10px 16px;min-height:44px;background:#ffc078;color:#191008;border:0;border-radius:5px;font:inherit;font-size:14px;margin-bottom:12px}
  .experiment .controls{display:none;position:fixed;z-index:35;bottom:0;left:0;right:0;width:100%;box-sizing:border-box;max-height:53vh;max-height:53svh;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;padding:14px 18px calc(22px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;border:1px solid #d4a77466;background:#0a141efc;box-shadow:0 -16px 64px #000b}
  .experiment.controls-open .controls{display:block}.settings-close{display:block;position:sticky;top:-14px;z-index:2;margin:-1px 0 14px auto;min-height:44px;padding:10px 14px;color:#ffe0b8;background:#122538;border:1px solid #e8b67666;border-radius:5px;font:inherit;font-size:14px}
  .controls label{font-size:15px}.controls output{font-size:22px}.controls input[type=range]{margin:8px 0;min-height:44px}.controls select,.controls input[type=number]{font-size:16px;min-height:44px}
  .scene-toolbar label{margin-left:0}.scene-toolbar span{width:100%}.scene-toolbar button,.scene-toolbar select{font-size:13px;padding:9px}
  .space-guide{bottom:max(12px,env(safe-area-inset-bottom));max-height:85svh}.space-guide input{font-size:16px}.guide-messages{height:34svh}
}
@media(max-width:350px){.journey-copy h2{font-size:35px}.journey-copy .journey-facts{font-size:12px}.journey-control button{font-size:13px}.universe-bar{padding:10px}.universe-bar button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.journey-copy,.experiment-picker button{transition:none}.space-journey{scroll-behavior:auto}}
.cosmic-explorer{padding:3rem 0;max-width:100%;min-width:0}.cosmic-explorer h2{font-size:clamp(2rem,6vw,4rem)}.explorer-destinations{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.cosmic-explorer button,.cosmic-explorer select{min-height:44px;padding:.65rem 1rem;border:1px solid #536074;border-radius:8px;background:#101725;color:white;font:inherit}.explorer-destinations button[aria-pressed=true]{border-color:#efa74d;color:#ffc16a}.explorer-viewport{height:74vh;height:74svh;min-height:360px;position:relative}.explorer-status{position:absolute;bottom:12px;left:16px;z-index:2;font-size:14px;color:#b8c3d6;pointer-events:none}.explorer-interact{position:absolute;right:16px;top:16px;z-index:8}.explorer-details{display:grid;grid-template-columns:2fr 1fr;gap:2rem;padding:1rem}.explorer-details h3{font-size:2rem;margin:.5rem 0}.explorer-facts{max-width:65ch;line-height:1.65}.explorer-audio{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;min-width:0}.explorer-audio select{max-width:100%}.sound-note,.explorer-scale{font-size:14px;color:#b8c3d6;line-height:1.5}.explorer-source{color:#ffc16a}.explorer-audio [hidden]{display:none}@media(max-width:600px){.explorer-details{grid-template-columns:1fr;padding:1rem 0;gap:1rem}.explorer-viewport{height:64svh}.explorer-destinations{gap:.35rem}.explorer-destinations button{padding:.5rem .7rem}}
.sound-meter{width:min(280px,100%);height:6px;border-radius:99px;overflow:hidden;background:#273143}.sound-meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,#e8a042,#fff2c7);transition:width .18s linear}#bh-sound[aria-pressed=true],.explorer-sound[aria-pressed=true]{box-shadow:0 0 0 2px #ffb54a,0 0 26px #f2983355}
.cosmic-scales,.orrery-options{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin:1rem 0}.orrery-options[hidden],.proximity-control[hidden],.nasa-audio[hidden]{display:none}.cosmic-scales button[aria-pressed=true]{color:#ffd393;border-color:#eea84e}.orbit-label{position:absolute;z-index:5;transform:translate(-50%,0);max-width:150px;font-size:12px!important;padding:.3rem .5rem!important;min-height:32px!important;background:#09111acc!important;border:1px solid #66809a80!important;white-space:nowrap}.orbit-label[hidden]{display:none}.proximity-control{display:flex;flex-direction:column;gap:.6rem;margin:1rem 0;font-size:16px}.proximity-control input{width:100%;min-height:44px;accent-color:#fbb45d}.nasa-audio{width:100%;max-width:40rem;margin-top:1rem}.nasa-audio summary{cursor:pointer;padding:1rem 0;color:#ffcb85}.nasa-audio audio{display:block;width:100%;max-width:100%;margin:.8rem 0}.nasa-audio p{font-size:14px;line-height:1.6}.no-graphics{min-height:120px!important;height:150px!important}.graphics-lost:after{content:'3D paused — waiting for your browser to restore graphics';position:absolute;inset:30% 1rem auto;padding:1rem;background:#07111dee;color:white;text-align:center;z-index:12}.orrery-options label{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.orrery-options select{max-width:100%}.explorer-status{max-width:calc(100% - 32px)}
