.player{transition:none;--direction:1}.player.facing-left{--direction:-1}.player>svg{transform:scaleX(var(--direction));transform-origin:center 85%;animation:none}.player.walking>svg{animation:walk-bounce .32s infinite}.player.gathering>svg{animation:gather .48s ease-in-out}.player.has-moved .hello{display:none}.animated-character .actor-body{transform-origin:80px 124px;animation:breathe 3.4s ease-in-out infinite}.animated-character .actor-eyes{transform-box:fill-box;transform-origin:center;animation:blink 5.5s infinite}.owl-spot .actor-eyes{animation-delay:1.3s}.rabbit-spot .actor-eyes{animation-delay:2.8s}.squirrel-spot .actor-eyes{animation-delay:.8s}.player.walking .actor-body{animation:none}.player.walking .leg-front,.player.walking .leg-back{transform-box:fill-box;transform-origin:center;animation:step-leg .32s linear infinite}.player.walking .leg-back{animation-delay:-.16s}.player.walking .actor-scarf{transform-box:fill-box;transform-origin:top;animation:scarf .32s ease-in-out infinite alternate}.owl-spot>svg{animation:owl-sway 4.8s ease-in-out infinite;transform-origin:50% 92%}.rabbit-spot>svg{animation:rabbit-hop 7s ease-in-out infinite;transform-origin:50% 92%}.squirrel-spot>svg{animation:friend-breathe 4s ease-in-out infinite}.squirrel-spot .actor-tail{transform-box:fill-box;transform-origin:20% 95%;animation:tail 3.5s ease-in-out infinite}.landscape>use[href$='#tree']{transform-box:fill-box;transform-origin:50% 100%;animation:tree-sway 7s ease-in-out infinite alternate}.landscape>use:nth-of-type(2){animation-delay:-3s}.landscape .clouds{animation:cloud-drift 25s ease-in-out infinite alternate}.landscape .stream-glint{stroke-dasharray:18 35;animation:stream-flow 5s linear infinite}.destination{position:absolute;pointer-events:none;width:28px;height:12px;margin-left:-14px;border:2px solid #fff9d9;border-radius:50%;box-shadow:0 0 0 5px #faf3c730;animation:destination-pulse 1s infinite;z-index:1}.butterfly{position:absolute;left:57%;top:40%;width:15px;height:13px;pointer-events:none;animation:butterfly-flight 17s ease-in-out infinite;z-index:2}.butterfly:before,.butterfly:after{content:'';position:absolute;top:0;width:8px;height:12px;border-radius:80% 60% 65% 60%;background:#f8e7a4;transform-origin:right center;animation:wing .23s infinite alternate}.butterfly:after{left:8px;transform-origin:left center;background:#ebbc73;animation-delay:-.2s}.butterfly.second{left:24%;top:53%;animation-delay:-8s;animation-duration:21s}.room-hedgehog{animation:friend-breathe 4s ease-in-out infinite}.furnishing{animation:place-item .4s ease-out}.world-spot.visiting>svg{animation:happy-bounce .48s 2}.keyboard-note{font-size:10px;color:#90987e}.play-area:focus-visible{outline:3px solid #b28247;outline-offset:4px}
@keyframes walk-bounce{0%,100%{transform:scaleX(var(--direction)) translateY(0)}50%{transform:scaleX(var(--direction)) translateY(-4px)}}
@keyframes step-leg{0%,100%{transform:translateX(-5px) rotate(-12deg)}50%{transform:translateX(5px) translateY(-3px) rotate(12deg)}}
@keyframes gather{0%,100%{transform:scaleX(var(--direction)) rotate(0)}50%{transform:scaleX(var(--direction)) rotate(13deg) translateY(5px)}}
@keyframes breathe{50%{transform:translateY(-1px) scaleY(1.018)}}
@keyframes blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.08)}}
@keyframes scarf{to{transform:rotate(24deg)}}
@keyframes owl-sway{50%{transform:rotate(3deg) translateY(-2px)}}
@keyframes rabbit-hop{0%,72%,86%,100%{transform:translateY(0)}77%{transform:translateY(-9px) rotate(-3deg)}82%{transform:translateY(0) scaleY(.97)}}
@keyframes friend-breathe{50%{transform:translateY(-3px)}}
@keyframes tail{50%{transform:rotate(5deg)}}
@keyframes tree-sway{to{transform:rotate(1.8deg)}}
@keyframes cloud-drift{to{transform:translateX(42px)}}
@keyframes stream-flow{to{stroke-dashoffset:-106}}
@keyframes destination-pulse{50%{opacity:.5;transform:scale(.8)}}
@keyframes wing{to{transform:scaleX(.25)}}
@keyframes butterfly-flight{0%,100%{transform:translate(0,0) rotate(-12deg)}25%{transform:translate(55px,-35px) rotate(15deg)}55%{transform:translate(-10px,-58px) rotate(-15deg)}80%{transform:translate(-48px,-12px) rotate(12deg)}}
@keyframes place-item{from{opacity:0;transform:translateY(-12px) scale(.85)}to{opacity:1;transform:none}}
@keyframes happy-bounce{50%{transform:translateY(-10px) rotate(3deg)}}
@media(prefers-reduced-motion:reduce){.player,.player>svg,.animated-character *,.world-spot>svg,.landscape *,.butterfly,.butterfly:before,.butterfly:after,.destination,.furnishing,.room-hedgehog{animation:none!important}.butterfly{display:none}}
