/* Shared slow galaxy motion, accessibility and entry state. */
html{min-height:100%;background:#0b1327}body{isolation:isolate;overflow-x:hidden}body::before,body::after{content:"";position:fixed;pointer-events:none;z-index:-1;inset:-15%;will-change:transform}body::before{background:radial-gradient(ellipse at 65% 35%,#56528b35,transparent 36%),radial-gradient(ellipse at 35% 65%,#1c799b35,transparent 38%),radial-gradient(ellipse at center,#244a6640,transparent 60%);animation:galaxy-turn 240s linear infinite}body::after{background-image:radial-gradient(circle,#c9e7ffb3 1px,transparent 1.6px),radial-gradient(circle,#f2efca99 .8px,transparent 1.5px);background-size:91px 113px,173px 151px;background-position:8px 30px,69px 12px;opacity:.38;animation:stars-drift 150s ease-in-out infinite alternate}.motion-paused body::before,.motion-paused body::after{animation-play-state:paused}.motion-toggle{min-height:44px;border:1px solid #81d9df66;background:#183348;color:#d5eff4;border-radius:12px;padding:10px 13px;font:inherit;font-size:12px;cursor:pointer}.welcome-header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.entry-pip-intro{display:flex;gap:15px;align-items:center;margin-bottom:24px}.entry-pip-intro img{flex-shrink:0;animation:pip-hover 5s ease-in-out infinite}.entry-pip-intro p{margin:0;line-height:1.6;color:#e2f1f5}.entry-pip-intro b{display:block;font-size:11px;letter-spacing:1px;color:#a8ebed}.entry-pip-intro span{display:block;font-size:15px;margin-top:6px}.entry-preferences{border:1px solid #81d9df44;border-radius:13px;padding:16px;margin:0 0 20px}.entry-preferences legend{font-size:14px;color:#a8ebed;padding:0 6px}.entry-preferences label{display:block;position:relative;padding-left:28px;font-size:15px;line-height:1.5;margin:9px 0 18px;cursor:pointer}.entry-preferences label:last-child{margin-bottom:3px}.entry-preferences input{position:absolute;left:0;top:2px;width:19px;height:19px;accent-color:#f9cb7a}.entry-preferences small{display:block;color:#b6cbdc;font-size:12px;line-height:1.7;margin-top:5px}#entryStatus{font-size:14px;line-height:1.6;color:#f9cb7a}.entry-locked body>*{visibility:hidden!important}.entry-locked body::after{content:'Opening your adventure…';inset:0;display:grid;place-items:center;font:18px system-ui;color:#eaf5f8;background:#0b1327;visibility:visible;animation:none;z-index:999;opacity:1}.entry-locked .pip-dock{display:none!important}.welcome-tour{max-width:690px;width:calc(100% - 24px);max-height:90dvh;overflow:auto;padding:30px;border:1px solid #81d9df77;border-radius:24px;color:#eaf5f8;background:#14263e;text-align:center;position:relative}.welcome-tour::backdrop{background:#020917c9;backdrop-filter:blur(5px)}.welcome-tour img{width:110px;height:125px}.welcome-tour h2{font-size:32px;margin:15px 0}.welcome-tour p{font-size:18px;line-height:1.7;color:#c8d9ec}.tour-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:23px}.tour-actions button{min-height:48px;padding:13px 20px;border-radius:12px;font:inherit;font-weight:700;cursor:pointer}.tour-shooting-star{position:absolute;left:-20%;top:50px;width:90px;height:2px;background:linear-gradient(90deg,transparent,#e9f7ff);transform:rotate(-25deg);animation:shooting-star 3.5s ease-in-out 2;pointer-events:none}.tour-shooting-star:nth-child(2){animation-delay:1.5s;top:100px}.tour-progress{color:#f9cb7a;font-size:13px;letter-spacing:1px}.tour-replay-button{font:inherit;font-size:13px;min-height:44px;padding:10px 14px;border:1px solid #81d9df55;border-radius:10px;background:#183348;color:#e2eff6;cursor:pointer}.difficulty-control{padding:15px 6%;display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-bottom:1px solid #ffffff20}.difficulty-control label{font-weight:700;font-size:15px;color:#a8ebed}.difficulty-control select{background:#13263b;color:#eaf5f8;border:1px solid #81d9df66;border-radius:10px;padding:11px 14px;font:inherit;min-height:46px}.difficulty-control p{font-size:13px;margin:0;line-height:1.6;flex:1;min-width:200px}.learning-goals{padding:16px 20px;background:#1a3948;border:1px solid #81d9df44;border-radius:13px;margin-bottom:20px}.learning-goals h4{font-size:16px;margin:0 0 9px;color:#a8ebed}.learning-goals ul{margin:0;padding-left:22px;color:#d3e4ed;line-height:1.7;font-size:15px}.difficulty-extra{padding:15px;border-left:3px solid #f9cb7a;background:#20394c;color:#e2f2f6;font-size:16px;line-height:1.7;margin-top:14px}.difficulty-explain label{display:block;font-size:15px;line-height:1.5;margin-top:15px;color:#d7eaf2}.difficulty-explain textarea{display:block;width:100%;min-height:85px;margin-top:8px;padding:12px;color:#eaf5f8;background:#0c1b30;border:1px solid #81d9df66;border-radius:10px;font:inherit;font-size:16px}.difficulty-explain p{font-size:12px;color:#bed0e5}.in-mission .difficulty-control{background:#101f34}.setting-link{min-height:44px;display:inline-flex;align-items:center;color:#a8ebed;font-size:14px;text-decoration:underline}.privacy-controls{max-width:900px;margin:30px auto;padding:24px}.privacy-controls label{display:block;margin:18px 0;font-size:16px;line-height:1.6}.privacy-controls input{width:19px;height:19px;accent-color:#f9cb7a;margin-right:9px}.privacy-controls p{color:#bfd2e7;line-height:1.7}.privacy-controls button,.privacy-controls select{min-height:46px;padding:12px 16px;font:inherit;background:#20394c;color:#eaf5f8;border:1px solid #81d9df66;border-radius:10px;cursor:pointer}.privacy-controls button{margin:5px 8px 5px 0}.privacy-controls .notice{background:#20344c;padding:18px;border-radius:12px}.privacy-controls .status{color:#f9cb7a}.privacy-controls a{color:#a8ebed;text-decoration:underline}.privacy-controls textarea{width:100%;min-height:120px;padding:14px;background:#09192d;border:1px solid #81d9df66;color:#eaf5f8;border-radius:12px;font:inherit}.privacy-controls .provider-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}.provider-table th,.provider-table td{text-align:left;padding:12px;border:1px solid #ffffff25;vertical-align:top}@keyframes galaxy-turn{to{transform:rotate(360deg)}}@keyframes stars-drift{to{transform:translate3d(22px,-35px,0)}}@keyframes shooting-star{0%,35%{opacity:0;left:-20%}45%{opacity:1}75%,100%{opacity:0;left:120%}}@media(max-width:700px){.welcome-header-actions{width:100%;justify-content:space-between}.welcome-tour{padding:22px}.welcome-tour h2{font-size:27px}.welcome-tour p{font-size:17px}.difficulty-control{padding:14px 6%}.privacy-controls{padding:20px 5%}.provider-table{display:block;overflow-x:auto}.boarding-card{max-width:none}.entry-pip-intro img{width:62px;height:72px}}@media(prefers-reduced-motion:reduce){body::before,body::after,.tour-shooting-star,.entry-pip-intro img{animation:none!important}.tour-shooting-star{display:none}.motion-toggle{display:none}}
/* Earth Story uses document flow at every size: the model and chapters never
   compete for a fixed-height slice of the viewport. */
body.history-open{display:flex;flex-direction:column;overflow-y:auto;height:auto;min-height:100dvh;padding-bottom:180px}body.history-open header{position:relative;order:0;inset:auto;height:auto;min-height:86px;flex-wrap:wrap;gap:10px;padding:15px 20px}body.history-open #cosmicNav{position:relative;order:1;inset:auto;min-height:58px;flex-shrink:0}body.history-open #planets{position:relative;order:2;inset:auto;display:flex;flex-direction:row;width:auto;height:auto;min-height:52px;margin:10px;overflow-x:auto;flex-shrink:0}body.history-open #planets button{width:auto;flex-shrink:0;min-height:44px}body.history-open #viewport{position:relative;order:3;inset:auto;margin:10px;height:clamp(290px,52dvh,650px);min-height:260px;width:auto;flex-shrink:0}body.history-open #history{position:relative;order:4;inset:auto;margin:10px;height:auto;min-height:0;max-height:none;overflow:visible;padding:24px;width:auto}body.history-open #info{display:none}body.history-open footer{position:relative;order:5;inset:auto;height:auto;min-height:95px;flex-wrap:wrap;gap:18px;padding:20px}body.history-open #history .history-content{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr);gap:22px}body.history-open #history .epoch-facts{display:flex}body.history-open .history-bottom{position:static;flex-wrap:wrap;gap:14px;justify-content:space-between}body.history-open .history-bottom>span{display:block;max-width:none;color:#b6cbdc}body.history-open .history-bottom button{min-height:44px}body.history-open #epochChips{display:flex;gap:7px;justify-content:flex-start;overflow-x:auto;padding:10px 0}body.history-open #epochChips button{min-height:44px;min-width:52px;flex-shrink:0}body.history-open #status{position:relative;order:3;inset:auto;transform:none;margin:10px}body.history-open .view-tools{bottom:14px;right:14px}body.history-open .history-caption-box p{font-size:16px!important}header,.topbar,.topbar nav{flex-wrap:wrap}.topbar nav{row-gap:8px}.topbar{gap:15px}img,canvas{max-width:100%}.lab-card,.mission-card,.step-room,.u-panel{min-width:0}.lab-card input[type=range]{min-height:44px}.pip-dock{max-height:min(480px,65dvh)}.tour-actions .primary{justify-content:center}.topbar nav a{white-space:nowrap}.topbar nav .tour-replay-button{font-size:12px}.difficulty-control .setting-link{margin-left:auto}@media(max-width:700px){body.history-open #history{padding:18px}body.history-open #history .history-content{grid-template-columns:1fr}body.history-open #viewport{height:44dvh;min-height:280px}body.history-open .scene-caption{right:10px;left:10px;top:10px}body.history-open .scene-caption span{font-size:12px}.history-caption-box img{display:none}.difficulty-control .setting-link{margin-left:0}.topbar nav{gap:10px}.topbar nav a{font-size:13px}.topbar .brandtag{display:none}.pip-dock{bottom:8px;right:8px}.welcome-tour{max-height:86dvh}.hero-art{max-width:100%}}@media(max-height:600px){.welcome-tour{max-height:90dvh}.pip-dock{max-height:55dvh}.welcome-tour img{height:80px;width:70px}.welcome-tour h2{font-size:24px}.welcome-tour p{font-size:16px}}
.lab-welcome{padding:25px;background:linear-gradient(125deg,#193d53,#202a48);border:1px solid #81d9df66;border-radius:22px;margin:0 0 25px;display:flex;align-items:center;gap:25px;justify-content:space-between}.lab-welcome p{font-size:17px;line-height:1.7}.lab-welcome h2{font-size:32px}.lab-welcome .primary{flex-shrink:0;font-size:14px}.rover-lab{grid-column:1/-1;background:radial-gradient(ellipse at top,#713f2c40,transparent 70%),#14263b}.rover-board{display:grid;grid-template-columns:repeat(var(--grid-size,7),1fr);gap:5px;max-width:540px;margin:18px auto;padding:10px;background:#301f25;border:1px solid #b8886655;border-radius:16px}.rover-cell{aspect-ratio:1;min-width:0;display:flex;align-items:center;justify-content:center;font-size:clamp(17px,3vw,28px);background:#55352d;border-radius:7px;color:#e6b87f}.rover-cell.crater{background:#211923;color:#a17d73}.rover-cell.sample{color:#a8ebed;background:#255061}.rover-cell.base{background:#305143;color:#f9cb7a}.rover-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:14px;color:#d4e3ef}.rover-controls{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.rover-controls button{min-width:48px;min-height:48px;font:inherit;font-size:17px;border:1px solid #81d9df66;border-radius:12px;color:#eaf5f8;background:#203d50;padding:12px;cursor:pointer}#roverScore{text-align:center;color:#a8ebed}#roverFeedback{min-height:56px;padding:16px;background:#1b394b;border-radius:12px;color:#e3f0f6;font-size:17px}.moon-phase-scene{display:flex;gap:22px;align-items:center;justify-content:center;min-height:150px;border-radius:15px;background:#091a30}.moon-sun{font-size:65px;color:#f9cb7a}.moon-light-arrows{font-size:26px;color:#f9cb7a}.phase-icon{font-size:86px;line-height:1}.eclipse-choices{display:flex;gap:10px;flex-wrap:wrap}.eclipse-choices button[aria-pressed=true]{background:#f9cb7a;color:#172139}.eclipse-diagram{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:25px 0;background:#091a30;padding:20px 10px;border-radius:15px}.eclipse-diagram span{font-size:45px;text-align:center}.eclipse-diagram small{display:block;font-size:12px;color:#c8d9ec;margin-top:7px}.eclipse-diagram i{font-style:normal;color:#f9cb7a;font-size:11px}.eclipse-safety{border-left:3px solid #f9cb7a;padding:12px;background:#3a3040;color:#f4dfb8!important;font-size:14px!important}.lab-card label output{display:block;color:#f9cb7a;font-size:17px;margin-top:7px}@media(max-width:700px){.lab-welcome{flex-direction:column;align-items:flex-start;padding:22px}.lab-welcome h2{font-size:28px}.lab-welcome .primary{width:100%;justify-content:center}.rover-board{gap:3px;padding:7px}.rover-cell{font-size:20px}.eclipse-diagram span{font-size:37px}.eclipse-diagram{padding:17px 8px}.moon-sun{font-size:46px}.phase-icon{font-size:72px}.rover-controls button:nth-last-child(-n+2){flex:1;font-size:14px}.rover-legend{gap:12px;font-size:12px}}@media(max-width:380px){.eclipse-diagram span{font-size:30px}.eclipse-diagram i{font-size:9px}.rover-cell{font-size:17px}}

.privacy-main{max-width:950px;margin:auto;padding:36px 5% 70px}.privacy-main h1{font-size:clamp(30px,5vw,48px)}.privacy-main p{line-height:1.7}.privacy-main button{margin:8px 10px 8px 0}.privacy-table{overflow-x:auto}.privacy-table table{border-collapse:collapse;width:100%;font-size:15px}.privacy-table th,.privacy-table td{text-align:left;padding:16px;vertical-align:top;border:1px solid #65718b}.motion-control{border:1px solid #7787a8;background:#14223b;color:#fff;border-radius:22px;padding:10px 14px;font:inherit;cursor:pointer;min-height:44px}header{flex-wrap:wrap}.privacy-main a{color:#89dce7}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffdf88;outline-offset:4px}

@media(prefers-reduced-motion:reduce){.motion-control{display:none}.welcome-pip,.orbit-ring,.welcome-earth{animation:none!important}}.motion-paused .welcome-pip,.motion-paused .orbit-ring,.motion-paused .welcome-earth,.motion-paused .entry-pip-intro img{animation-play-state:paused}.privacy-main .entry-preferences p{font-size:14px}.privacy-main .adult-login,.privacy-main .guest-launch{display:inline-flex;width:auto;min-height:46px;align-items:center;justify-content:center;background:#1a334b;color:#eff8ff;border:1px solid #81d9df66;padding:13px 17px;border-radius:12px;font:inherit;cursor:pointer}.privacy-main .guest-launch{background:#f9cb7a;color:#152139}.welcome-tour .primary{background:#f9cb7a;color:#152139;border:0}.welcome-tour .secondary{background:#203d50;color:#f4f8ff;border:1px solid #81d9df66}.welcome-tour .text-button{background:transparent;border:0;color:#b3e9ed;min-height:44px;font:inherit;margin-top:15px;cursor:pointer}

@keyframes pip-hover{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
