/* Corre, Maya!: camadas que passam em velocidades diferentes; tudo posicionado pelo laço em px. */
.play-correr .toy-scene{background:#c9ecfb;--cr-size:120px}
.cr-layer{position:absolute;left:0;width:200%;display:flex;pointer-events:none;z-index:1;will-change:transform}
.cr-layer svg{flex:1;height:100%;display:block}
.cr-ground{position:absolute;left:0;right:0;bottom:0;z-index:2;pointer-events:none}
.cr-ground::before{content:"";position:absolute;left:0;right:0;top:-8px;height:12px;border-radius:50%/100% 100% 0 0;background:inherit}
.cr-path{position:absolute;left:0;right:0;top:4%;height:22%;border-radius:999px;opacity:.95;background-image:repeating-linear-gradient(90deg,transparent 0 46px,#ffffff55 46px 70px)!important;background-size:auto;box-shadow:inset 0 -3px 0 #0000000f}
.cr-deco,.cr-world{position:absolute;inset:0;pointer-events:none}
.cr-deco{z-index:3}.cr-world{z-index:4}
.cr-thing{position:absolute;left:0;top:0;will-change:transform}
.cr-item{width:calc(var(--cr-size) * .7);height:calc(var(--cr-size) * .7);z-index:2}
.cr-item .art-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 4px #0002);animation:cr-float 1.6s ease-in-out infinite alternate}
.cr-item[style*="--balloon"] .art-img{filter:drop-shadow(0 6px 4px #0002) hue-rotate(calc(var(--hue,0) * 1deg))}
.cr-special{width:calc(var(--cr-size) * .9);height:calc(var(--cr-size) * .9)}
.cr-glow{position:absolute;inset:-25%;border-radius:50%;background:radial-gradient(#fff8c4,#ffe06688 45%,transparent 70%);z-index:-1;animation:cr-glow 1s ease-in-out infinite alternate}
.cr-obstacle{width:calc(var(--cr-size) * .75);height:calc(var(--cr-size) * .5);z-index:1}
.cr-obstacle svg{width:100%;height:100%;display:block;overflow:visible}
.cr-friend{width:calc(var(--cr-size) * .62);height:calc(var(--cr-size) * .62);opacity:.97}
.cr-friend .art-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 3px #0002)}
.cr-flower{width:calc(var(--cr-size) * .16);height:calc(var(--cr-size) * .22)}
.cr-tuft{width:calc(var(--cr-size) * .22);height:calc(var(--cr-size) * .14)}
.cr-flower svg,.cr-tuft svg{width:100%;height:100%;display:block}
.cr-arch{width:calc(var(--cr-size) * 1.9);height:calc(var(--cr-size) * 2.15);z-index:0}
.cr-arch>svg{position:absolute;inset:0;width:100%;height:100%}
.cr-arch>i{position:absolute;width:20%;aspect-ratio:4/5;border-radius:50% 50% 46% 46%;background:radial-gradient(circle at 35% 30%,#fff9 0 12%,transparent 13%),var(--c);box-shadow:inset -4px -6px 0 #0001;animation:cr-float 1.3s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.2s)}
.cr-tutu{position:absolute;right:-40%;bottom:0;width:60%;aspect-ratio:3/4;transform-origin:50% 100%;animation:cr-cheer 1s ease-in-out infinite alternate}
.cr-runner{position:absolute;left:0;top:0;width:var(--cr-size);height:var(--cr-size);z-index:3;will-change:transform}
.cr-maya{position:absolute;inset:0;transform-origin:50% 90%;rotate:var(--cr-tilt,0deg)}
.cr-maya img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 3px #0002)}
.cr-shadow{position:absolute;left:0;top:0;width:calc(var(--cr-size) * .6);height:calc(var(--cr-size) * .12);border-radius:50%;background:#2f5a2a;opacity:.3;transform-origin:50% 50%;z-index:2}
.cr-dust{position:absolute;width:calc(var(--cr-size) * .16);aspect-ratio:1;border-radius:50%;background:#fffaf0cc;z-index:1}
.cr-drop{position:absolute;width:calc(var(--cr-size) * .08);aspect-ratio:1;border-radius:50%;background:#8fd3f7;z-index:5}
.cr-tray{position:absolute;left:50%;top:3%;translate:-50% 0;z-index:6;display:flex;gap:min(1.4cqw,8px);padding:6px 10px;border-radius:999px;background:#fff9;backdrop-filter:blur(4px);max-width:94%}
.cr-slot{width:min(8.5cqw,40px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#ffffffb0;box-shadow:inset 0 0 0 2px #e2d6c4}
.cr-slot .art-img{width:82%;height:82%;object-fit:contain;filter:grayscale(1) opacity(.28)}
.cr-slot.on{background:#fff4c8;box-shadow:inset 0 0 0 2px #f2b73a}
.cr-slot.on .art-img{filter:none}
.cr-hit{position:absolute;inset:0;z-index:10;border:0;background:transparent;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.cr-hit.cr-hint::after{content:"";position:absolute;left:calc(20% - 40px);bottom:30%;width:80px;height:80px;border-radius:50%;border:5px solid #fff;opacity:0;animation:cr-tap 1.6s ease-out}
@keyframes cr-float{from{translate:0 -3%}to{translate:0 3%}}
@keyframes cr-glow{from{scale:.9;opacity:.7}to{scale:1.1;opacity:1}}
@keyframes cr-cheer{from{rotate:-6deg}to{rotate:6deg}}
@keyframes cr-tap{0%{opacity:0;scale:.5}30%{opacity:.9;scale:1}100%{opacity:0;scale:1.6}}
@media(prefers-reduced-motion:reduce){.cr-item .art-img,.cr-arch>i,.cr-tutu,.cr-glow{animation:none}}
