.cloud-journey{--cloud-lift:8px}
.cloud-route{position:absolute;inset:0 5%;pointer-events:none}
.landscape-ui .ui-stage .combined-game.cloud-game .mini-board-area .cloud-route .cloud-islands{inset:auto 0 14px;display:grid;grid-template-columns:repeat(var(--cloud-stops),minmax(0,1fr));justify-items:center;gap:0;height:19px}
.landscape-ui .ui-stage .combined-game.cloud-game .mini-board-area .cloud-route .little-cloud{position:relative;width:80%;max-width:64px;min-width:0;height:19px;transform:none;isolation:isolate;border:1px solid #eff9f5;box-shadow:0 5px 0 #8fb9c2,0 8px 12px #729da530;display:grid;place-items:center}
.cloud-route .little-cloud:before,.cloud-route .little-cloud:after{content:'';position:absolute;z-index:-1;background:inherit;border-radius:50%;height:17px;top:-6px;width:55%;left:10%}.cloud-route .little-cloud:after{width:40%;left:auto;right:10%;top:-3px}
.cloud-route .current-cloud{outline:2px solid #eed28a;outline-offset:3px}
.landscape-ui .ui-stage .combined-game.cloud-game .mini-board-area .cloud-route .cloud-companion{left:var(--cloud-to);translate:-50% 0;bottom:26px;width:76px;height:calc(100% - 40px);max-height:86px;transition:none;transform-origin:50% 90%;filter:drop-shadow(0 3px 2px #49695835)}
.cloud-route .cloud-landing-spark{display:none;position:absolute;left:var(--cloud-to);bottom:54px;color:#ddb34f;font-size:25px;translate:-50% 0;text-shadow:14px -10px #fff1ac,-17px 1px #fff4be;pointer-events:none}
.cloud-journey.is-hopping .cloud-companion{animation:cloud-hop .8s cubic-bezier(.4,0,.25,1) both}
.cloud-journey.is-hopping .landing-cloud{animation:cloud-soft-landing .8s ease-out both}
.cloud-journey.is-hopping .cloud-landing-spark{display:block;animation:cloud-sparkle .8s ease-out both}
.cloud-journey.is-complete .cloud-companion{animation:cloud-cheer .65s ease-out both}
.landscape-ui .ui-stage .combined-game.cloud-game .no-task .mini-board-area .cloud-landscape{height:clamp(130px,24vh,210px);min-height:130px;--cloud-lift:24px}
html[data-tablet-layout="true"] .cloud-journey{--cloud-lift:12px}
html[data-tablet-layout="false"][data-game-orientation="portrait"][data-game-height="regular"] .landscape-ui .ui-stage .combined-game.cloud-game .mini-workspace:not(.no-task) .cloud-landscape{height:90px;min-height:90px}
@keyframes cloud-hop{0%{left:var(--cloud-from);transform:translateY(0) rotate(-4deg)}45%{left:calc((var(--cloud-from) + var(--cloud-to))/2);transform:translateY(calc(-1 * var(--cloud-lift))) rotate(-9deg)}80%{left:var(--cloud-to);transform:translateY(3px) scale(1.05,.92)}100%{left:var(--cloud-to);transform:none}}
@keyframes cloud-soft-landing{0%,65%{transform:none}82%{transform:translateY(4px) scale(1.1,.85)}100%{transform:none}}
@keyframes cloud-sparkle{0%,60%{opacity:0;transform:translateY(4px) scale(.3)}78%{opacity:1;transform:translateY(-8px) scale(1.15)}100%{opacity:0;transform:translateY(-20px) scale(.7)}}
@keyframes cloud-cheer{0%,100%{transform:none}35%{transform:translateY(-8px) rotate(-5deg)}70%{transform:translateY(-3px) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.cloud-journey.is-hopping .cloud-companion,.cloud-journey.is-complete .cloud-companion,.cloud-journey.is-hopping .landing-cloud,.cloud-journey.is-hopping .cloud-landing-spark{animation:none}.cloud-journey .cloud-landing-spark{display:none}}
