@keyframes drift{0%{transform:translateX(-30vw)}to{transform:translateX(130vw)}}@keyframes sway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes glow{50%{transform:scale(1.06) rotate(5deg)}}@keyframes bump{50%{transform:rotate(6deg) scale(1.25)}}@keyframes rise{0%{transform:translateY(40px) scale(.4)}12%{transform:translateY(0) scale(1)}to{transform:translateY(calc(var(--rise)*-1))}}@keyframes wobble{0%{transform:translateX(calc(var(--sway)*-1)) rotate(-10deg)}to{transform:translateX(var(--sway)) rotate(10deg)}}@keyframes popin{0%{transform:translateY(40px) scale(.6);opacity:.2}}@keyframes bob{50%{transform:translateY(-7px)}}@keyframes roll{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg) translateY(-4px)}}@keyframes tilt{0%,to{transform:rotate(0)}30%{transform:rotate(-6deg)}60%{transform:rotate(4deg)}}@keyframes twinkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.06) rotate(8deg)}}@keyframes lean{0%,to{transform:skewX(0)}50%{transform:skewX(-4deg) translateY(-3px)}}@keyframes hop{0%,to{transform:translateY(0) scale(1,1)}15%{transform:translateY(0) scale(1.1,.88)}50%{transform:translateY(-38px) scale(.94,1.07)}85%{transform:translateY(0) scale(1.07,.93)}}@keyframes fall{to{transform:translate(14px,300px)}}@keyframes blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes run{0%{transform:translateX(-90px)}to{transform:translateX(calc(100vw + 90px))}}@keyframes jumps{0%,70%,to{transform:translateY(0)}80%{transform:translateY(-40px) rotate(-12deg)}90%{transform:translateY(0) rotate(0)}}@keyframes bob2{to{transform:translateY(-6px) rotate(5deg)}}@keyframes fly{to{transform:translate(var(--dx),var(--dy)) rotate(240deg) scale(.2);opacity:0}}@keyframes rain{to{transform:translate(var(--dx,0),110vh) rotate(720deg)}}:root{--sky:#CFEAFF;--sky-low:#E6F5FF;--ink:#2A2A6E;--cream:#FFF8E8;--hill-far:#A9E3BC;--hill:#7ED6A0;--grass:#5DBE86;--wood:#D9A86C;--red:#E63946;--blue:#2F6FDB;--yellow:#FFC300;--green:#2EB872;--purple:#8E5CE6;--orange:#FF8C2B;--sun:#FFD84D;--pink:#FF9EB5;--display:"Fredoka", "Baloo 2", "Comic Sans MS", "Chalkboard SE", system-ui, sans-serif;--gutter:clamp(16px, 3vw, 40px);--pop:cubic-bezier(.34,1.56,.64,1);color-scheme:light}*{box-sizing:border-box}body,html{background:var(--sky);color:var(--ink)}body{font-family:var(--display);font-weight:500;-webkit-font-smoothing:antialiased;overflow-x:hidden}a,button{color:inherit}button{font:inherit}:focus-visible{outline:4px solid var(--ink);outline-offset:4px;border-radius:14px}.top{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px var(--gutter) 0}.wm{display:block;width:312px;height:54px;text-decoration:none;flex:none}.wm-h1{transform:scale(.31);transform-origin:top left;white-space:nowrap;margin:0!important;width:max-content}.wm-h1>*{flex-shrink:0}.top-actions{display:flex;align-items:center;gap:10px}.chip{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:0 16px;border-radius:999px;border:3px solid var(--ink);background:var(--cream);color:var(--ink);font:600 16px/1 var(--display);cursor:pointer;text-decoration:none;box-shadow:0 4px 0 var(--ink);transition:transform .15s var(--pop),box-shadow .15s}.chip:hover{transform:translateY(-3px) rotate(-2deg);box-shadow:0 7px 0 var(--ink)}.chip:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.chip svg{width:22px;height:22px;flex:none}.chip[aria-pressed=true]{background:var(--sun)}.chip[aria-pressed=false] .on,.chip[aria-pressed=true] .off{display:none}.world{--mx:0;position:relative;height:clamp(700px,88vh,800px);margin-top:-68px;overflow:hidden;background:linear-gradient(var(--sky) 0 50%,var(--sky-low) 100%)}.layer{position:absolute;pointer-events:none;transition:transform .6s cubic-bezier(.2,.7,.3,1)}.clouds{left:0;right:0;top:96px;height:220px;transform:translateX(calc(var(--mx)*-16px))}.cloud{position:absolute;width:var(--w,140px);animation:drift var(--t,60s) linear infinite;animation-delay:var(--d,0s)}.cloud svg,.rainbow svg{width:100%;height:auto;display:block}.rainbow{left:clamp(10px,30%,520px);bottom:300px;width:clamp(240px,30vw,420px);transform:translateX(calc(var(--mx)*-22px))}.hills-far,.hills-near{left:-6%;width:112%;bottom:150px;height:260px;transform:translateX(calc(var(--mx)*-26px))}.hills-near{bottom:80px;height:220px;transform:translateX(calc(var(--mx)*-44px))}.hills-far svg,.hills-near svg{width:100%;height:100%;display:block}.tree{position:absolute;left:2.5%;bottom:250px;width:96px;transform:translateX(calc(var(--mx)*-26px));transition:transform .6s}.tree svg{transform-origin:50% 100%;animation:sway 5s ease-in-out infinite}.flowers,.ground{position:absolute;left:0;right:0}.ground{bottom:0;height:130px;background:var(--grass);border-top:4px solid var(--ink)}.flowers{bottom:92px;height:50px;pointer-events:none;z-index:4}.flower{bottom:0;width:30px;transform-origin:50% 100%;animation:sway 3.2s ease-in-out infinite;animation-delay:var(--d,0s)}.flower svg,.sun svg,.tree svg{width:100%;height:auto;display:block}.flower,.hud,.sun{position:absolute}.sun{right:max(var(--gutter),5%);top:84px;width:clamp(100px,12vw,160px);z-index:3;transform:translateX(calc(var(--mx)*-10px));transition:transform .6s}.sun svg{animation:glow 4s ease-in-out infinite}.hud{z-index:8;left:var(--gutter);top:92px;width:min(408px,calc(100% - 2*var(--gutter)))}.hello{position:relative;background:var(--cream);border:3px solid var(--ink);border-radius:24px;padding:16px 20px;box-shadow:0 6px 0 var(--ink);animation:popin .7s var(--pop) backwards .1s}.speakable{cursor:default}.voice-on .speakable{cursor:pointer}.voice-on .speakable.talking{background:rgba(255,216,77,.55);border-radius:8px;box-shadow:0 0 0 4px rgba(255,216,77,.55)}.controls{display:flex;align-items:flex-start;gap:6px;margin-top:14px}.sigla-btn{flex:none;display:inline-flex;gap:8px;min-height:50px;padding:0 16px 0 6px;border-radius:999px;border:3px solid var(--ink);background:var(--sun);color:var(--ink);font:700 17px/1 var(--display);cursor:pointer;box-shadow:0 4px 0 var(--ink);transition:transform .15s var(--pop),box-shadow .15s}.sigla-btn:hover{transform:translateY(-3px) rotate(-2deg);box-shadow:0 7px 0 var(--ink)}.sigla-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.sigla-btn .disc,.tog .ring{display:grid;place-items:center;border-radius:50%;border:3px solid var(--ink)}.sigla-btn .disc{width:36px;height:36px;background:var(--red)}.sigla-btn .disc svg{width:16px;height:16px;margin-left:2px}.score,.sigla-btn,.tog{align-items:center}.tog{display:flex;flex-direction:column;gap:4px;width:50px;flex:none;padding:0;border:0;background:0 0;cursor:pointer;font:600 11.5px/1.1 var(--display);color:var(--ink)}.tog .ring{width:46px;height:46px;background:#fff;box-shadow:0 3px 0 var(--ink);transition:transform .15s var(--pop),background .15s}.tog:hover .ring{transform:translateY(-2px) rotate(-6deg)}.tog:active .ring{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}.tog svg{width:22px;height:22px}.tog[aria-pressed=true] .ring{background:var(--sun)}.tog[aria-pressed=false] .on,.tog[aria-pressed=true] .off,.tog[hidden]{display:none}.hello h1{margin:0;font-size:clamp(24px,2.6vw,32px);font-weight:700;line-height:1.05;text-wrap:balance}.hello h1 span{color:var(--red)}.hello p{margin:8px 0 0;font-size:17px;line-height:1.35}.score{position:absolute;top:-18px;right:-14px;display:inline-flex;gap:6px;background:var(--ink);color:var(--cream);border-radius:999px;padding:6px 12px 6px 6px;border:3px solid var(--cream);font:700 15px/1 var(--display);font-variant-numeric:tabular-nums;transform:rotate(6deg)}.score svg{width:24px;height:24px}.score.bump{animation:bump .35s var(--pop)}.floaters{inset:0;z-index:1;pointer-events:none}.floater,.floaters,.track{position:absolute}.floater{bottom:170px;left:var(--x);width:var(--s,56px);height:var(--s,56px);padding:0;border:0;background:0 0;cursor:pointer;pointer-events:auto;animation:rise var(--dur,11s) linear forwards;-webkit-tap-highlight-color:transparent}.floater svg,.floater>span{width:100%;height:100%;display:block}.floater>span{animation:wobble 1.8s ease-in-out infinite alternate}.floater svg{overflow:visible}.floater:hover>span{animation-duration:.5s}.track{left:0;right:0;bottom:52px;z-index:6;display:flex;justify-content:center;align-items:flex-end;gap:clamp(6px,1.6vw,30px);padding-inline:var(--gutter);transform:translateX(calc(var(--mx)*-8px));transition:transform .6s}.station{position:relative;flex:0 0 auto;width:clamp(160px,15.5vw,200px);display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink);-webkit-tap-highlight-color:transparent;animation:popin .8s var(--pop) backwards;animation-delay:var(--in,0s)}.say,.say::after{position:absolute;left:50%}.say{bottom:calc(100% + 12px);z-index:4;width:max-content;max-width:210px;padding:9px 14px;border-radius:18px;background:#fff;border:3px solid var(--ink);font:600 16px/1.2 var(--display);text-align:center;transform:translate(-50%,10px) scale(.6);opacity:0;transition:transform .3s var(--pop),opacity .2s;pointer-events:none}.say::after{content:"";top:100%;margin-left:-9px;border:9px solid transparent;border-top-color:var(--ink)}.sign{position:relative;z-index:2;display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:999px;background:var(--c);color:var(--on, #fff);box-shadow:0 5px 0 var(--ink);font:700 19px/1.05 var(--display);transform-origin:50% 140%;transition:transform .3s var(--pop)}.ico,.post,.sign{border:3px solid var(--ink)}.ico{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--ink);flex:none}.ico svg{width:22px;height:22px}.post{width:12px;height:24px;background:var(--wood);border-top:0;margin-top:-3px}.char{width:clamp(118px,11.5vw,150px);margin-top:-6px;animation:var(--idle, bob) 2.8s ease-in-out infinite;animation-delay:var(--delay,0s)}.char svg{width:100%;height:auto;display:block;overflow:visible}.shadow{width:72%;height:16px;margin-top:-11px;border-radius:50%;background:rgba(42,42,110,.18);transition:transform .3s}.station.tapped .char,.station:focus-visible .char,.station:hover .char{animation:hop .6s cubic-bezier(.3,.7,.4,1) infinite}.station:focus-visible .sign,.station:hover .sign{transform:rotate(-5deg) scale(1.08)}.station:focus-visible .shadow,.station:hover .shadow{transform:scale(.65)}.station.tapped .say,.station:focus-visible .say,.station:hover .say{opacity:1;transform:translate(-50%,0) scale(1)}.station[data-key=tria]{--on:var(--ink)}.badge,.snow{position:absolute}.badge{top:-16px;right:4px;z-index:3;background:var(--red);color:#fff;border:3px solid var(--ink);border-radius:999px;padding:4px 10px;font:700 12px/1.1 var(--display);letter-spacing:.05em;text-transform:uppercase;transform:rotate(8deg)}.snow{inset:-60px -20px 40px;pointer-events:none;overflow:hidden}.snow i{top:-12px;left:var(--x,50%);width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--ink);animation:fall var(--t,4s) linear infinite;animation-delay:var(--d,0s)}.eye{transform-box:fill-box;transform-origin:center;animation:blink 5s infinite;animation-delay:var(--delay,0s)}.runner,.snow i{position:absolute}.runner{bottom:18px;left:0;width:60px;z-index:7;animation:run 20s linear infinite;pointer-events:none}.runner svg,.runner>span{display:block;animation:jumps 4s ease-in-out infinite}.runner svg{width:100%;height:auto;animation:bob2 .3s ease-in-out infinite alternate}.arrows,.dots{display:none}.burst,.confetto{position:fixed;z-index:70;pointer-events:none;border:2px solid var(--ink)}.burst{width:16px;height:16px;animation:fly .8s cubic-bezier(.2,.8,.3,1) forwards}.confetto{top:-20px;width:14px;height:14px;animation:rain var(--t,2.6s) linear forwards}.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:80;transform:translate(-50%,calc(100% + 60px));visibility:hidden;display:flex;align-items:center;gap:12px;background:var(--cream);border:3px solid var(--ink);border-radius:22px;box-shadow:0 6px 0 var(--ink);padding:10px 20px 10px 10px;max-width:calc(100vw - 32px);transition:transform .4s var(--pop),visibility .4s}.toast.show{transform:translate(-50%,0);visibility:visible}.toast .face{width:52px;height:52px;flex:none}.toast .face svg{width:100%;height:100%}.toast span,.toast strong{display:block;font:700 18px/1.2 var(--display)}.toast span{font:500 15px/1.3 var(--display)}.karaoke{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;background:rgba(42,42,110,.55)}.karaoke[hidden]{display:none}.k-card{position:relative;width:min(560px,100%);max-height:calc(100% - 16px);overflow:auto;background:var(--cream);border:4px solid var(--ink);border-radius:28px;box-shadow:0 8px 0 var(--ink);padding:22px clamp(16px,4vw,30px) 18px;animation:popin .45s var(--pop)}.k-card h2{margin:0 52px 4px 0;font:700 clamp(22px,4vw,30px)/1.1 var(--display);text-wrap:balance}.k-card .k-sub{margin:0 0 14px;font:500 15px/1.3 var(--display);opacity:.8}.k-close{position:absolute;top:14px;right:14px;width:48px;height:48px;border-radius:50%;border:3px solid var(--ink);background:#fff;cursor:pointer;display:grid;place-items:center}.k-close svg{width:20px;height:20px}.k-part{margin:12px 0 4px;font:700 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--red)}.k-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.k-lines li{padding:6px 10px;border-radius:12px;font:600 clamp(17px,2.6vw,21px)/1.3 var(--display);transition:background .25s,transform .25s var(--pop);cursor:pointer}.k-lines li.now{background:var(--sun);transform:scale(1.03)}.k-lines li.shout{font-size:clamp(22px,3.4vw,28px);color:var(--red)}.k-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}.k-play,.k-play .disc{border:3px solid var(--ink)}.k-play{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px 0 8px;border-radius:999px;background:var(--red);color:#fff;font:700 17px/1 var(--display);cursor:pointer;box-shadow:0 4px 0 var(--ink)}.k-play .disc{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--ink)}.k-play svg{width:16px;height:16px}.k-dancers{display:flex;gap:2px;align-items:flex-end}.k-dancers svg{width:34px;height:auto;display:block}.playing .k-dancers span{animation:hop .5s ease-in-out infinite}.k-dancers span:nth-child(2){animation-delay:.1s!important}.k-dancers span:nth-child(3){animation-delay:.2s!important}.k-dancers span:nth-child(4){animation-delay:.3s!important}.k-dancers span:nth-child(5){animation-delay:.4s!important}.k-dancers span:nth-child(6){animation-delay:.5s!important}.k-note{margin:10px 0 0;font:500 12.5px/1.3 var(--display);opacity:.7}footer{position:relative;background:var(--ink);color:var(--cream);padding-block:48px 30px;padding-inline:var(--gutter)}.scallop{position:absolute;left:0;top:-1px;width:100%;height:26px;display:block}.foot,.foot nav{display:flex;flex-wrap:wrap}.foot{max-width:1200px;margin:0 auto;align-items:center;justify-content:space-between;gap:18px 32px}.legal{margin:0;font:500 14px/1.65 var(--display);min-width:0}.legal strong{font-weight:700}.foot nav{gap:10px}.foot nav a{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;border:2px solid var(--cream);color:var(--cream);text-decoration:none;font:600 15px/1 var(--display);transition:background .15s,color .15s,transform .15s var(--pop)}.foot nav a:hover{background:var(--cream);color:var(--ink);transform:translateY(-2px)}.foot nav svg{width:18px;height:18px}footer :focus-visible{outline-color:var(--sun)}@media (max-width:900px){.wm{width:230px;height:42px}.wm-h1{transform:scale(.23)}.chip .label{display:none}.chip{padding:0;width:48px}.world{margin-top:-56px;height:max(720px,100svh)}.hud{top:76px;width:calc(100% - 2*var(--gutter))}.hello{padding:12px 14px 14px}.hello h1{font-size:22px}.hello p{font-size:15px;margin-top:6px}.controls{margin-top:10px;gap:6px}.sigla-btn{min-height:46px;font-size:14.5px;padding:0 12px 0 5px;gap:6px}.sigla-btn .disc{width:32px;height:32px}.tog{width:46px;font-size:11px}.tog .ring{width:42px;height:42px}.tog svg{width:20px;height:20px}.sun{top:4px;right:72px;width:62px;z-index:31}.rainbow{left:auto;right:-56px;bottom:auto;top:300px;width:190px}.tree{left:3%;bottom:300px;width:72px}.track{justify-content:flex-start;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:96px 19vw 10px;bottom:58px;scrollbar-width:none;transform:none}.track::-webkit-scrollbar{display:none}.station{flex:0 0 62vw;width:62vw;scroll-snap-align:center;transition:transform .35s var(--pop),opacity .35s;transform:scale(.78);opacity:.75;animation:none}.station.is-active{transform:scale(1);opacity:1}.station.is-active .say{opacity:1;transform:translate(-50%,0) scale(1)}.char{width:min(44vw,190px)}.sign{font-size:20px}.arrows{display:block}.arrow,.dots button{border-radius:50%;border:3px solid var(--ink);background:var(--cream);cursor:pointer}.arrow,.dots{position:absolute;z-index:9}.arrow{bottom:200px;width:54px;height:54px;box-shadow:0 4px 0 var(--ink);display:grid;place-items:center}.arrow:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.arrow svg{width:26px;height:26px}.arrow.prev{left:10px}.arrow.next{right:10px}.dots{display:flex;justify-content:center;gap:10px;left:0;right:0;bottom:22px}.dots button{width:16px;height:16px;padding:0;transition:transform .2s var(--pop),background .2s}.dots button[aria-current=true]{background:var(--sun);transform:scale(1.35)}.runner{bottom:44px;width:48px}.flowers{bottom:110px}}@media (max-width:480px){.wm{width:180px;height:34px}.wm-h1{transform:scale(.18)}.top-actions{gap:6px}.chip{width:44px;min-width:44px;min-height:44px}.hello h1{font-size:22px}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation:none!important;transition:none!important}.floaters,.runner{display:none}}