/* A short invitation, optional setup, and one clear action for each moment. */
.welcome-panel{align-self:center}.welcome-panel h2{margin-bottom:22px}.welcome-panel .welcome-enter{margin-top:0}.welcome-footnote{margin:19px 0}.welcome-options{margin-top:20px;padding-top:17px;border-top:1px solid #c8dccd}.welcome-options summary{cursor:pointer;font-size:13px;font-weight:600;color:#3a6658;min-height:40px;padding:8px 0}.welcome-options[open] summary{margin-bottom:10px}.welcome-rider{display:flex;align-items:center;gap:9px;margin:13px auto 0;padding:5px 11px;border:0;border-radius:13px;background:#eef3e7;font-size:12px}.welcome-rider>span:first-child{width:31px;height:34px}.welcome-rider svg{width:100%;height:100%}.welcome-rider>span:last-child{margin-left:8px;color:#59766b;font-size:11px}.crew-toolbar{justify-content:space-between;flex-wrap:nowrap;gap:18px;padding:13px 18px;background:#fffdf3}.play-cue{display:flex;align-items:center;gap:11px;min-width:0}.play-cue>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:#f4d375;color:#725c28;font-size:21px}.play-cue strong{display:block;font:500 20px/1.2 Fredoka,'Trebuchet MS',sans-serif;color:#2a4c4e}.play-cue div>span{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:#5c746b}.change-crew{display:flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid #dbe6d5;border-radius:14px;background:#edf4e7;text-align:left;flex:0 0 auto;max-width:245px}.change-crew>span:first-child{width:37px;height:41px;flex:0 0 37px}.change-crew svg{width:100%;height:100%}.change-crew strong{display:block;font-size:12px}.change-crew small{display:block;font-size:10px;color:#5b7667;margin-top:4px}.change-crew>span:last-child{padding-left:5px}.crew-options{display:flex;flex-direction:column;gap:25px;padding:10px 0 25px}.crew-options .adventure-top{display:flex;flex-direction:column;align-items:stretch;gap:7px}.crew-options .mode-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.crew-options .mode{min-width:0;justify-content:center;padding:8px 6px}.crew-options .companion-picker{justify-content:flex-start;flex-wrap:wrap;gap:10px}.crew-options .companion-choices{flex:1;justify-content:space-between}.crew-options .companion-card{min-height:70px;min-width:54px}.crew-options .companion-card>svg{width:40px;height:44px}.crew-options .meet-rides{font-size:13px;text-decoration:underline}.crew-options .motion-toggle{display:none}#crewDialog .primary{width:100%;min-height:49px;background:#2b8576;font-size:16px}.journey-dock{min-height:150px;transition:none}.journey-dock[data-phase=start],.journey-dock[data-phase=watch],.journey-dock[data-phase=boarding],.journey-dock[data-phase=travel]{grid-template-columns:minmax(0,1fr) minmax(150px,.55fr);max-width:none}.journey-dock[data-phase=start] .repeat-area,.journey-dock[data-phase=watch] .repeat-area{display:none}.journey-dock[data-phase=choose]{grid-template-columns:180px minmax(0,370px);justify-content:center;gap:30px}.journey-dock[data-phase=choose] .mishap-control{display:none}.journey-dock[data-phase=start] .mishap-control>button{min-height:78px;justify-content:flex-start;padding:15px 20px}.journey-dock[data-phase=start] .next-action .primary{background:transparent;box-shadow:none;color:#397363;min-height:44px;font-size:14px;padding:8px;border:1px solid #ccdcd0}.journey-dock[data-phase=start] .next-action #whatNext,.journey-dock[data-phase=start] .next-picture{display:none}.journey-dock[data-phase=watch] .next-action,.journey-dock[data-phase=boarding] .repeat-area,.journey-dock[data-phase=boarding] .mishap-control,.journey-dock[data-phase=travel] .repeat-area,.journey-dock[data-phase=travel] .mishap-control{display:none}.journey-dock[data-phase=boarding],.journey-dock[data-phase=travel]{grid-template-columns:1fr;min-height:140px}.journey-dock[data-phase=boarding] .next-action .primary,.journey-dock[data-phase=travel] .next-action .primary{box-shadow:none;opacity:.65;max-width:340px;margin:auto}.journey-dock[data-phase=watch] .mishap-control{grid-column:1/-1;max-width:530px;margin:auto;width:100%}.journey-dock[data-phase=watch] .mishap-control>button{background:#f5e4b4;box-shadow:none}.next-action .primary:disabled{cursor:default}.journey-dock[data-phase=choose] .next-action .primary{width:100%}.journey-dock[data-phase=choose] .next-action .next-picture{display:flex}.journey-dock[data-phase=choose] .next-action #whatNext{font-size:13px!important}.hidden-star{display:none}#talkDialog .talk-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0 18px}.talk-sections button{padding:9px;border:1px solid #ccdcc9;border-radius:12px;background:#edf3e9;font-size:14px}.talk-sections button[aria-pressed=true]{background:#d6e7db;border-color:#80ad98;font-weight:600}.talk-sandbox #talkDialog .pace-bar,.talk-sandbox #talkToggle,.talk-sandbox #stepDots{display:none}#talkDone{display:block;width:100%;margin-top:20px;min-height:48px;font-size:16px;background:#2b8576}.scene .pickup-target:focus{filter:drop-shadow(0 0 5px #f8e5a5)}body[data-play-phase=start] .scene .pickup-target>ellipse:first-child{animation:packageInvite 3s ease-in-out 2}.journey-dock[data-phase=choose] .again-machine{box-shadow:0 4px 0 #a75044,0 0 0 5px #f6e5ce}.story-caption{padding:12px 18px}.journey-build{padding-top:9px}.journey-build svg{height:56px}
/* Every effect has a visible beginning, movement, and resting result. */
.mishap-event{pointer-events:auto}.mishap-actor,.effect-bit,.burst-bubble,.boarding-actor{transform-box:fill-box;transform-origin:center}.mishap-actor{transform-origin:center bottom}.effect-bit{opacity:0}.playing .effect-bit{animation:parcelSpill 1.35s cubic-bezier(.2,.7,.4,1) both;animation-delay:calc(var(--i)*.035s)}.settled .effect-bit{opacity:1;transform:translate(var(--dx),var(--dy)) rotate(calc(var(--i)*13deg - 25deg))}.effect-tumble.playing .mishap-actor{animation:parcelTumble 1.35s ease-in-out both}.effect-tumble.settled .mishap-actor{transform:translate(-45px,22px) rotate(28deg)}.effect-bounce.playing .mishap-actor{animation:parcelBounce 1.65s ease-out both}.effect-gust.playing .mishap-actor{animation:scarfGust 1.8s ease-in-out both}.effect-gust.settled .mishap-actor{transform:translate(78px,-28px) rotate(-10deg)}.effect-float.playing .mishap-actor{animation:parcelFloat 2.8s ease-in-out both}.effect-float.settled .mishap-actor{transform:translateY(-55px) rotate(8deg)}.effect-crumbs.playing .mishap-actor{animation:potWobble 1s ease-in-out both}.playing .water-bit{animation:waterSplash 1.45s ease-out both;animation-delay:calc(var(--i)*.025s)}.settled .water-bit{opacity:0}.playing .bubble-bit{animation:bubbleDrift 2.2s ease-out both;animation-delay:calc(var(--i)*.04s)}.playing .petal-bit{animation:petalDrift 2.3s ease-in-out both;animation-delay:calc(var(--i)*.035s)}.playing .burst-bubble{animation:bubbleBurst .6s ease-in both}.settled .burst-bubble{opacity:0}.playing .effect-word{animation:surpriseWord 2.9s ease-out both}.settled .effect-word{opacity:0}.wind-lines{animation:windSlide 1.2s ease-out both}.boarding-actor{animation:boardTogether 1.05s cubic-bezier(.25,.6,.4,1) both;pointer-events:none}.travel-overlay{justify-content:flex-start;padding:24px 12px 10px;background:linear-gradient(#eaf3eced 0%,#eaf3eccf 32%,#eaf3ec00 70%);gap:8px}.travel-word{font-size:24px}.travel-overlay strong{font-size:15px}.travel-meter{width:min(300px,65%);height:8px}.travel-skip{min-height:38px;padding:6px 13px;font-size:12px}.traveling .scene .vehicle-motion{animation:chugDeparture 1.8s ease-in both!important}body[data-mode=plane].traveling .scene .vehicle-motion{animation:planeDeparture 1.8s ease-in both!important}body[data-mode=space].traveling .scene .vehicle-motion{animation:spaceDeparture 1.8s ease-in both!important}
@keyframes packageInvite{50%{fill-opacity:.45;stroke-width:4}}
@keyframes parcelTumble{0%,12%{transform:none}36%{transform:translate(-17px,-12px) rotate(-15deg)}65%{transform:translate(-45px,15px) rotate(35deg)}82%{transform:translate(-45px,17px) rotate(22deg)}100%{transform:translate(-45px,22px) rotate(28deg)}}
@keyframes parcelBounce{0%,12%{transform:none}30%{transform:translateY(-60px) rotate(-8deg)}49%{transform:translateY(3px) rotate(4deg)}65%{transform:translateY(-24px) rotate(-3deg)}80%{transform:translateY(2px)}90%{transform:translateY(-8px)}100%{transform:none}}
@keyframes scarfGust{0%,10%{transform:none}40%{transform:translate(35px,-40px) rotate(10deg)}70%{transform:translate(85px,-20px) rotate(-15deg)}100%{transform:translate(78px,-28px) rotate(-10deg)}}
@keyframes parcelFloat{0%,8%{transform:none}65%{transform:translateY(-68px) rotate(10deg)}100%{transform:translateY(-55px) rotate(8deg)}}
@keyframes potWobble{25%{transform:rotate(-12deg)}50%{transform:rotate(16deg)}75%{transform:rotate(-6deg)}100%{transform:none}}
@keyframes parcelSpill{0%,10%{opacity:0;transform:translate(0,-8px) scale(.5)}25%{opacity:1}70%{opacity:1;transform:translate(var(--dx),calc(var(--dy) - 12px)) rotate(calc(var(--i)*13deg - 25deg))}100%{opacity:1;transform:translate(var(--dx),var(--dy)) rotate(calc(var(--i)*13deg - 25deg))}}
@keyframes waterSplash{0%{opacity:0;transform:scale(.3)}15%{opacity:1}40%{opacity:1;transform:translate(calc(var(--dx)*.5),var(--dy))}85%{opacity:.8;transform:translate(var(--dx),15px) scale(.6)}100%{opacity:0;transform:translate(var(--dx),22px) scale(.2)}}
@keyframes bubbleDrift{0%,10%{opacity:0;transform:scale(.2)}30%{opacity:1}100%{opacity:1;transform:translate(var(--dx),var(--dy)) scale(1)}}
@keyframes petalDrift{0%,10%{opacity:0;transform:translateY(-8px) scale(.6)}20%{opacity:1}65%{transform:translate(calc(var(--dx)*.6),calc(var(--dy)*.5)) rotate(65deg)}100%{opacity:1;transform:translate(var(--dx),var(--dy)) rotate(calc(var(--i)*13deg - 25deg))}}
@keyframes bubbleBurst{0%{opacity:1;transform:scale(1)}80%{opacity:.7;transform:scale(1.2)}100%{opacity:0;transform:scale(1.4)}}
@keyframes surpriseWord{0%,6%{opacity:0;transform:translateY(8px)}20%,70%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-8px)}}
@keyframes windSlide{from{opacity:0;transform:translateX(-30px)}50%{opacity:1}to{opacity:.4;transform:translateX(18px)}}
@keyframes boardTogether{0%,12%{opacity:1;transform:none}75%{opacity:.9;transform:translate(-245px,-20px) scale(.55)}100%{opacity:0;transform:translate(-270px,-25px) scale(.25)}}
@keyframes chugDeparture{0%{transform:none}100%{transform:translateX(850px)}}
@keyframes planeDeparture{0%{transform:none}100%{transform:translate(790px,-220px) rotate(-8deg)}}
@keyframes spaceDeparture{0%{transform:none}100%{transform:translateY(-440px) scale(.6)}}
.reduced .boarding-actor{animation:none;opacity:0}.actions-still .mishap-actor,.actions-still .effect-bit,.actions-still .effect-word,.actions-still .burst-bubble,.actions-still .wind-lines{animation:none!important}.event-still .effect-bit{opacity:1;transform:translate(var(--dx),var(--dy))}.event-still .water-bit,.event-still .burst-bubble{opacity:0}.reduced .scene .pickup-target>ellipse:first-child{animation:none!important}.reduced.traveling .scene .vehicle-motion{animation:none!important}
@media(max-width:680px){.crew-toolbar{padding:11px 12px;gap:8px;align-items:center}.play-cue{gap:7px}.play-cue>span{width:29px;height:32px;flex-basis:29px;font-size:16px;border-radius:10px}.play-cue strong{font-size:16px}.play-cue div>span{font-size:10px;max-width:190px}.change-crew{gap:4px;max-width:145px;padding:5px}.change-crew>span:first-child{width:29px;height:33px;flex-basis:29px}.change-crew strong{font-size:10px}.change-crew small{font-size:9px}.change-crew>span:last-child{display:none}.journey-dock[data-phase=start]{grid-template-columns:1fr;gap:9px;padding:16px}.journey-dock[data-phase=start] .mishap-control{grid-column:1;grid-row:1}.journey-dock[data-phase=start] .next-action{grid-column:1;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:8px}.journey-dock[data-phase=start] .next-action .primary{font-size:13px;min-height:42px;max-width:65%}.journey-dock[data-phase=start] .talk-game{font-size:11px;margin:0}.journey-dock[data-phase=choose]{grid-template-columns:120px minmax(0,1fr);gap:18px;padding:14px}.journey-dock[data-phase=choose] .repeat-area{grid-column:1;grid-row:1}.journey-dock[data-phase=choose] .next-action{grid-column:2;grid-row:1}.journey-dock[data-phase=choose] .next-action .primary{font-size:19px;min-height:64px}.journey-dock[data-phase=choose] .next-action #whatNext{font-size:12px!important}.journey-dock[data-phase=watch] .mishap-control{grid-column:1/-1;grid-row:1}.journey-dock[data-phase=watch]{grid-template-columns:1fr}.journey-dock[data-phase=boarding] .next-action,.journey-dock[data-phase=travel] .next-action{grid-column:1;grid-row:1}.journey-build svg{height:45px}.crew-options .mode-tabs{gap:3px}.crew-options .mode{flex-direction:column}.crew-options .companion-card{min-width:42px}.crew-options .companion-card>svg{width:34px;height:37px}.crew-options .companion-picker>div:first-child{flex-basis:100%}.crew-options .companion-picker h3{font-size:16px}.welcome-options summary{min-height:44px}.travel-overlay{padding-top:12px;gap:5px}.travel-word{font-size:21px}.travel-overlay strong{font-size:12px}.travel-skip{min-height:34px;padding:5px 11px;font-size:11px}}
@media(max-width:390px){.crew-toolbar{align-items:flex-start}.change-crew{max-width:105px}.change-crew>span:first-child{display:none}.play-cue div>span{max-width:155px}.journey-dock[data-phase=choose]{grid-template-columns:112px minmax(0,1fr);gap:12px}.welcome-rider{font-size:11px}.welcome-rider>span:last-child{font-size:10px}}
@media(prefers-reduced-motion:reduce){.actions-still .mishap-actor,.actions-still .effect-bit,.actions-still .effect-word,.actions-still .burst-bubble,.reduced .boarding-actor,.actions-still .wind-lines{animation-duration:.01ms!important;animation-delay:0s!important}.reduced.traveling .scene .vehicle-motion{animation:none!important}}

.journey-dock[data-phase=watch][data-replaying=true]{grid-template-columns:180px minmax(0,370px);justify-content:center;gap:30px}.journey-dock[data-phase=watch][data-replaying=true] .repeat-area{display:flex}.journey-dock[data-phase=watch][data-replaying=true] .mishap-control{display:none}.journey-dock[data-phase=watch][data-replaying=true] .next-action{display:block}.journey-dock[data-phase=watch][data-replaying=true] .next-action .primary{opacity:.6;box-shadow:none}
@media(max-width:680px){.journey-dock[data-phase=watch][data-replaying=true]{grid-template-columns:120px minmax(0,1fr);gap:18px}.journey-dock[data-phase=watch][data-replaying=true] .repeat-area{grid-column:1;grid-row:1}.journey-dock[data-phase=watch][data-replaying=true] .next-action{grid-column:2;grid-row:1}}
@media(max-width:390px){.journey-dock[data-phase=watch][data-replaying=true]{grid-template-columns:112px minmax(0,1fr);gap:12px}}

.narrator-settings{padding:16px;background:#eef4ec;border-radius:16px;margin:12px 0}.narrator-settings>label{display:block;font-weight:700;margin-bottom:8px}.narrator-settings select{width:100%;max-width:100%;font:inherit;min-height:44px;border:1px solid #a6bbb1;border-radius:10px;background:#fffdf4;padding:8px;color:#263c55}.narrator-settings p,.voice-welcome-note{font-size:12px;line-height:1.5;color:#52677b}.narrator-settings button{margin:4px 8px 0 0}

.preview-note{display:flex;justify-content:center;align-items:center;gap:12px;padding:10px 18px;background:#e9e2f1;color:#513965;font-size:12px}.preview-note[hidden]{display:none}.preview-note>span{font-weight:700}.preview-note p{margin:0}.preview-end{max-width:490px;padding:38px;border:0;border-radius:24px;background:#fffdf4;color:#263c55;text-align:center}.preview-end::backdrop{background:#25394dc9;backdrop-filter:blur(5px)}.preview-end-brand{font-size:10px;letter-spacing:1.4px;color:#665376}.preview-end h2{font:500 34px/1.15 Fredoka,sans-serif;margin:20px 0 14px}.preview-end p{font-size:16px;line-height:1.6;margin:0 0 26px}.preview-end a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px}

.welcome-tab-art{display:block!important;width:100%;height:78px;margin-bottom:5px}.welcome-tab-art svg{width:100%;height:100%;overflow:visible}.welcome-rides button{min-height:142px;padding:10px 6px}.welcome-rides button:hover .welcome-tab-art{transform:translateY(-3px) rotate(-2deg)}.welcome-tab-art{transition:transform .22s}.story-tab-art{display:block;width:84px;height:58px}.story-tab-art svg{width:100%;height:100%}.story-rides button{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0}.mode .ride-art{width:94px;height:65px}.mode{min-height:90px}.welcome-preview>svg{transform:translate(var(--scene-drift-x,0px),var(--scene-drift-y,0px)) scale(1.012);transition:transform .2s}.scene-landscape{transform:translate(var(--scene-drift-x,0px),var(--scene-drift-y,0px));transition:transform .25s}.scene-discovery{transform-box:fill-box;transform-origin:center bottom;transition:transform .3s,filter .3s;cursor:pointer}.scene-discovery:hover{transform:translateY(-3px) rotate(-2deg);filter:brightness(1.08)}.scene-sun:hover{transform:scale(1.12) rotate(8deg)}.scene-tree:hover{transform:rotate(3deg)}.buddy-alive,.waiting-friend{cursor:pointer}.buddy-alive:hover .crew-human,.waiting-friend:hover .traveler-alive{filter:drop-shadow(0 0 5px #fff1a5);transform-box:fill-box;transform-origin:bottom center}.scene .vehicle-motion:hover{filter:drop-shadow(0 4px 4px #263c5526)}.scene .vehicle-motion:hover .pip-propeller{animation-duration:.3s}.scene .vehicle-motion:hover .nova-engines{filter:brightness(1.25)}.scene .vehicle-motion:hover .steam{animation-duration:1s}.scene [data-interact]:focus-visible{outline:none;filter:drop-shadow(0 0 4px #f9d267)}.reduced .scene-discovery,.reduced .welcome-tab-art,.reduced .welcome-preview>svg{transform:none!important;transition:none!important}.reduced .scene .vehicle-motion:hover .pip-propeller,.reduced .scene .vehicle-motion:hover .steam{animation:none!important}@media(max-width:540px){.welcome-tab-art{height:62px}.welcome-rides button{min-height:124px}.mode .ride-art{width:72px;height:54px}}

.scene-surface{transition:filter .25s}.scene-surface:hover{filter:brightness(1.09)}.reduced .scene-surface{transition:none}

/* Keep selector portraits secondary to the play scene. */
.welcome-tab-art svg,.story-tab-art svg,.mode .ride-art svg{transform:scale(.82);transform-origin:center}

/* Travel lights the next bar, then an actual delivery joins the picnic. */
.traveling #route .route-stop.current+.route-stop .track-fill,.traveling #route .route-stop.current:last-child .track-fill{height:10px;background:linear-gradient(to right,#eebc53 var(--leg-progress,0%),#d4dfcd var(--leg-progress,0%));box-shadow:0 0 0 3px #eebc5322;transition:background .09s}.traveling #route .route-stop.current+.route-stop::after{content:"";position:absolute;inset:1px -3px;border:2px solid #b59c52;border-radius:10px;pointer-events:none}.route-stop{position:relative}.picnic-arriving{transform-box:fill-box;transform-origin:50% 100%;animation:picnicSettle .85s cubic-bezier(.18,.7,.25,1) both}@keyframes picnicSettle{0%{opacity:0;transform:translateY(-55px) scale(.8)}55%{opacity:1;transform:translateY(3px) scale(1.04,.96)}78%{transform:translateY(-6px) scale(.99,1.02)}100%{opacity:1;transform:translateY(0) scale(1)}}.reduced .picnic-arriving{animation:none!important;transform:none!important}.reduced.traveling #route .track-fill{transition:none!important}

/* Brief, click-triggered transport actions; thumbnails stay still between clicks. */
.welcome-tab-art .steam,.mode .ride-art .steam,.story-tab-art .steam,.welcome-preview .steam{animation:none;opacity:0}.welcome-tab-art .pip-propeller,.mode .ride-art .pip-propeller,.story-tab-art .pip-propeller{animation:none}.welcome-tab-art .nova-engines,.ride-art .nova-engines,.story-tab-art .nova-engines{animation:none;opacity:.45}
.ride-reactor{transform-box:fill-box;transform-origin:center}.ride-greeting[data-ride-reaction=train] .ride-reactor{animation:tabChug 1.4s ease-in-out}.ride-greeting[data-ride-reaction=train] .steam{opacity:1;transform-box:fill-box;transform-origin:50% 100%;animation:tabSteam .48s ease-out 3}.ride-greeting[data-ride-reaction=plane] .ride-reactor{animation:tabTakeoff 1.4s ease-in-out}.ride-greeting[data-ride-reaction=plane] .pip-propeller{animation:spin .16s linear 8}.ride-greeting[data-ride-reaction=space] .ride-reactor{animation:tabLaunch 1.4s ease-in-out}.ride-greeting[data-ride-reaction=space] .nova-engines{opacity:1;transform-box:fill-box;transform-origin:50% 0%;animation:tabFlame .24s ease-in-out 6}
@keyframes tabChug{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(3px) rotate(1deg)}40%,80%{transform:translateX(-2px) rotate(-1deg)}}@keyframes tabSteam{0%{opacity:0;transform:translateY(8px) scale(.55)}25%{opacity:1}100%{opacity:0;transform:translate(9px,-26px) scale(1.45)}}@keyframes tabTakeoff{0%,100%{transform:translateY(0) rotate(0)}35%,60%{transform:translateY(-8px) rotate(-5deg)}}@keyframes tabLaunch{0%,100%{transform:translateY(0)}35%,65%{transform:translateY(-12px)}}@keyframes tabFlame{0%,100%{transform:scaleY(.8)}50%{transform:scaleY(1.2)}}
.reduced .ride-greeting .ride-reactor,.reduced .ride-greeting .steam,.reduced .ride-greeting .pip-propeller,.reduced .ride-greeting .nova-engines{animation:none!important;transform:none!important}.reduced .ride-greeting{box-shadow:0 0 0 3px #e5bd62}.reduced .ride-greeting .steam{opacity:1}

/* Rotate blades around the local hub, never around the whole plane. */
.pip-propeller{transform-box:fill-box;transform-origin:50% 50%}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* Keep the world anchored; feedback belongs to the pointed-at object. */
.pointer-awake .scene-landscape,.scene-landscape,.welcome-preview>svg{transform:none!important}#scene .character-eyes,#welcomePreview .character-eyes{transform:translate(var(--item-look-x,0px),var(--item-look-y,0px))}.scene-discovery.saturn-interactive:hover{transform:none;filter:none}.saturn-interactive{transform-box:fill-box;transform-origin:center;cursor:pointer}.saturn-ring{transform-box:view-box;transform-origin:0px 0px;transition:transform .65s cubic-bezier(.2,.7,.3,1)}.saturn-interactive:hover .saturn-ring,.saturn-interactive:focus .saturn-ring{transform:rotate(12deg) scale(1.05)}.saturn-interactive:hover .saturn-moon,.saturn-interactive:focus .saturn-moon{transform-origin:0px 0px;animation:saturnMoonOrbit 2s ease-in-out both}.saturn-interactive:hover .saturn-focus-ring,.saturn-interactive:focus .saturn-focus-ring{opacity:.3}.saturn-interactive:focus{outline:none}.saturn-moon{transform-origin:0px 0px}.reduced .saturn-ring{transition:none}.reduced .saturn-interactive:hover .saturn-ring,.reduced .saturn-interactive:focus .saturn-ring{transform:none}.reduced .saturn-moon{animation:none!important}.reduced #scene .character-eyes,.reduced #welcomePreview .character-eyes{transform:none!important}@keyframes saturnMoonOrbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

#scene .gaze-direction,#welcomePreview .gaze-direction{transform:translate(var(--item-look-x,0px),var(--item-look-y,0px));transition:transform .14s}#scene .character-eyes,#welcomePreview .character-eyes{transform:none}.reduced .gaze-direction{transform:none!important;transition:none!important}.moon-base:hover .base-beacon{fill:#fff1b5;filter:drop-shadow(0 0 4px #f2d786)}.solar-array:hover{filter:brightness(1.12)}.windsock:hover{transform:rotate(-5deg)}

.soro-return{display:inline-flex;align-items:center;min-height:40px;color:#654373;text-decoration:none;font-size:12px;font-weight:600;gap:5px}.welcome>.soro-return{margin-bottom:10px}.soro-return:hover{text-decoration:underline}.soro-return-game{padding:8px 10px}.soro-return:focus-visible{outline:3px solid #8a68a0;outline-offset:3px;border-radius:6px}
