/* Cuddly friends: quiet storybook illustrations and short, child-triggered motion. */
.hero-friends{width:52%;height:100%;right:0;bottom:0;object-fit:contain;filter:drop-shadow(0 9px 8px #93ac9b12);animation:friend-arrival 1s ease-out both}
.welcome-hero{background:#e3eff1;min-height:322px}.hero-note{top:25px;right:9%;font-size:12px;background:#fff9e7bc;padding:5px 13px;border-radius:16px;transform:rotate(5deg)}
.cute-sticker{display:block;width:100%;height:100%;overflow:visible;flex-shrink:0}
.entry-card .entry-icon{width:90px;height:84px;border:0;background:transparent;border-radius:0;box-shadow:none}
.entry-card{min-height:221px;padding-top:15px;border-radius:23px}.entry-top{margin-bottom:7px;align-items:center}.entry-arrow{margin-right:1px;background:#fff8;width:29px;height:29px;border-color:#c0cbb77a}.entry-card h3{font-size:18px}.entry-card .entry-kicker{font-size:8px!important;letter-spacing:1.6px!important}.entry-card:hover .cute-sticker{animation:sticker-hello .65s ease-in-out 1}.entry-card:focus-visible .cute-sticker{transform:rotate(-4deg)}
.reward-star{width:76px;height:76px;border-radius:0;background:none;animation:none}.reward-star .cute-sticker{animation:star-hop .85s ease-out 1}.reward-star .star-arm{transform-box:fill-box;transform-origin:50% 100%;animation:star-wave .85s ease-in-out 1}.happy-reward{gap:11px}.happy-reward b{color:#527769}.game-feedback:has(.happy-reward){min-height:122px}
.celebration-scene{width:300px;height:224px;margin:3px auto 26px;position:relative;isolation:isolate}.winner-mascot{position:relative;width:212px;height:212px;margin:0 auto;z-index:2;animation:winner-hop 1.1s ease-in-out 1}.winner-mascot .star-arm{transform-box:fill-box;transform-origin:50% 100%;animation:star-wave 1.1s ease-in-out 1}.celebration-cloud{position:absolute;background:#e2ebdf;width:64px;height:20px;border-radius:50px;z-index:0}.celebration-cloud:before{content:'';position:absolute;width:30px;height:30px;border-radius:50%;background:inherit;left:11px;bottom:6px}.cloud-left{left:9px;top:108px;transform:rotate(-7deg)}.cloud-right{right:1px;top:70px;width:49px;background:#e0edf0;transform:rotate(5deg)}.celebration-spark{position:absolute;line-height:1;color:#ddba73;font-size:25px;animation:spark-arrival .9s ease-out 1}.spark-one{left:17px;top:39px;font-size:30px}.spark-two{right:20px;top:13px;font-size:34px;color:#a9c6c8}.spark-three{right:17px;bottom:51px;font-size:21px;color:#d4ae9a}.celebration-caption{position:absolute;bottom:0;left:50%;transform:translateX(-50%) rotate(-4deg);z-index:3;background:#fff8e3;border:1px solid #e6d6b1;border-radius:22px;padding:3px 19px;font-size:17px;font-weight:800;letter-spacing:1px;color:#9c8052}.completion{margin-top:10px}.completion h1{font-size:48px}.completion>.eyebrow{margin-bottom:10px}.badge-hero>.cute-sticker{width:89px;height:89px;flex:0 0 89px}.badge-tile.earned .badge-symbol{background:transparent;border:0;width:91px;height:91px;margin-bottom:10px}.badge-tile.earned{background:#fcf5e3;border-color:#e8d8af}.badge-tile.earned .cute-sticker{filter:drop-shadow(0 4px 1px #dfc98821)}.level-card.done .level-medal{background:transparent}.level-card.done .level-medal>.cute-sticker{width:69px;height:69px}
.song-art{border-radius:19px;background:#fff9;box-shadow:inset 0 -4px 0 #c3d4ba10}.song-art:before{content:'';position:absolute;left:50%;top:50%;width:112px;height:102px;border-radius:44% 56% 48% 52%;background:#ffffff8c;transform:translate(-50%,-50%) rotate(-10deg);pointer-events:none}.song-art>img{position:relative;filter:drop-shadow(0 5px 0 #a2b79512)}.song-card:hover .song-art>img{animation:sticker-hello .6s ease-in-out 1}
@keyframes friend-arrival{0%{transform:translateY(12px) rotate(1deg);opacity:.45}100%{transform:translateY(0) rotate(0);opacity:1}}
@keyframes sticker-hello{0%,100%{transform:rotate(0) translateY(0)}35%{transform:rotate(-6deg) translateY(-3px)}70%{transform:rotate(3deg) translateY(-1px)}}
@keyframes star-hop{0%{transform:translateY(7px) scale(.88)}40%{transform:translateY(-9px) scale(1.04)}75%{transform:translateY(1px) scale(.98)}100%{transform:none}}
@keyframes winner-hop{0%{transform:translateY(10px) scale(.88) rotate(-5deg)}38%{transform:translateY(-9px) scale(1.02) rotate(4deg)}75%{transform:translateY(3px) rotate(-2deg)}100%{transform:none}}
@keyframes star-wave{0%,100%{transform:rotate(0)}35%{transform:rotate(-13deg)}65%{transform:rotate(10deg)}}
@keyframes spark-arrival{0%{transform:translateY(7px) scale(.6);opacity:.3}100%{transform:none;opacity:1}}
@media(min-width:1550px){.welcome-hero{min-height:358px}.entry-card{min-height:237px}.entry-card .entry-icon{width:100px;height:90px}}
@media(min-width:641px) and (max-width:1150px){.hero-friends{width:51%;right:-9px}.hero-note{right:6%;top:20px}.entry-card h3{font-size:16px}.entry-card .entry-icon{width:78px;height:77px}.entry-card{min-height:219px}}
@media(max-width:640px){.welcome-hero{min-height:347px}.hero-friends{height:auto;width:64%;max-width:285px;right:-7px;bottom:1px}.hero-copy{padding-bottom:32px}.hero-copy .primary-btn{position:relative;z-index:3;font-size:11px}.entry-card{min-height:218px;padding:13px 14px 17px;border-radius:20px}.entry-card .entry-icon{width:78px;height:75px}.entry-card h3{font-size:16px}.entry-card .entry-kicker{font-size:7px!important;letter-spacing:1.1px!important}.entry-top{margin-bottom:7px}.entry-arrow{width:23px;height:23px}.reward-star{width:64px;height:64px}.happy-reward{gap:8px}.game-feedback:has(.happy-reward){gap:14px}.game-feedback:has(.happy-reward)>.primary-btn{font-size:12px;padding:10px 14px}.celebration-scene{width:260px;height:200px;margin-bottom:26px}.winner-mascot{width:184px;height:184px}.completion h1{font-size:41px}.cloud-left{left:4px;top:104px}.cloud-right{right:0;top:68px}.spark-one{left:17px;top:35px}.spark-two{right:12px;top:16px;font-size:28px}.spark-three{right:10px;bottom:40px}.celebration-caption{font-size:15px}.badge-hero>.cute-sticker{width:65px;height:65px;flex-basis:65px}.badge-tile.earned .badge-symbol{width:79px;height:79px}}
@media(max-width:365px){.hero-friends{width:63%;right:-10px;bottom:3px}.entry-card{padding-inline:11px}.entry-card h3{font-size:14px}.entry-card .entry-icon{width:70px;height:71px}.entry-card .entry-kicker{font-size:6.5px!important;letter-spacing:1px!important}.hero-copy .primary-btn{padding-inline:11px;font-size:10px}.hero-copy h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){.hero-friends,.cute-sticker,.star-arm,.celebration-spark,.song-art>img{animation:none!important;transition:none!important}}
