.ranch-mon{will-change:left,top}.ranch-mon[data-facing=right] .ranch-flip{transform:rotateY(180deg)}.ranch-mon[data-moving="1"] .ranch-step{animation:ranch-step .32s steps(2) infinite}@keyframes ranch-step{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--art-px, 2px) * -1))}}.ranch-occlude{position:absolute;left:0;right:0;bottom:0;pointer-events:none;background-repeat:no-repeat}.ranch-occlude[data-kind=grass]{-webkit-mask-image:linear-gradient(0deg,#000 70%,transparent);mask-image:linear-gradient(0deg,#000 70%,transparent);transform-origin:50% 100%}.ranch-mon[data-moving="1"] .ranch-occlude[data-kind=grass]{animation:ranch-rustle .28s ease-in-out infinite alternate}@keyframes ranch-rustle{0%{transform:skewX(-4deg)}to{transform:skewX(4deg)}}.ranch-occlude[data-kind=water]{opacity:.82;-webkit-mask-image:linear-gradient(0deg,#000 55%,rgba(0,0,0,.65) 85%,transparent);mask-image:linear-gradient(0deg,#000 55%,rgba(0,0,0,.65) 85%,transparent)}.ranch-waterline{position:absolute;left:8%;right:8%;height:3px;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.75);box-shadow:0 0 6px rgba(255,255,255,.6);animation:ranch-waterline 1.6s ease-in-out infinite}@keyframes ranch-waterline{0%,to{transform:scaleX(.92);opacity:.65}50%{transform:scaleX(1.04);opacity:1}}.ranch-ripple{position:absolute;pointer-events:none;border:2px solid rgba(255,255,255,.8);border-radius:50%;transform:translate(-50%,-50%) scale(.2);animation:ranch-ripple 1.5s ease-out forwards}@keyframes ranch-ripple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}.ranch-dust{position:absolute;pointer-events:none;border-radius:50%;background:rgba(240,226,190,.85);transform:translate(-50%,-50%) scale(.4);animation:ranch-dust .6s ease-out forwards}@keyframes ranch-dust{to{transform:translate(-50%,-90%) scale(1.3);opacity:0}}.ranch-cursor{animation:ranch-cursor .7s ease-in-out infinite alternate}@keyframes ranch-cursor{0%{transform:translate(-50%)}to{transform:translate(-50%,-5px)}}.ranch-namebox{background:#fbfbf8;color:#20242a;border:3px solid #3a4250;border-radius:6px;box-shadow:inset 0 0 0 2px #c9ced8,0 6px 16px -8px rgba(0,0,0,.6)}.ranch-emote,.ranch-namebox{font-family:var(--font-pixel),monospace}.ranch-emote{animation:ranch-emote 1.8s ease-out forwards}@keyframes ranch-emote{0%{opacity:0;transform:translate(-50%,6px) scale(.6)}15%{opacity:1;transform:translate(-50%) scale(1.1)}25%{transform:translate(-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-8px)}}.ranch-bob{animation:ranch-bob 1.6s ease-in-out infinite}@keyframes ranch-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-4px)}}.ranch-layer{pointer-events:none}.ranch-bg,.ranch-layer{position:absolute;inset:0}.ranch-bg{width:100%;height:100%;transition:opacity 1.4s ease;image-rendering:pixelated}.ranch-cloud{position:absolute;border-radius:50%;background:rgba(20,40,60,.9);filter:blur(28px);animation:ranch-cloud linear infinite}@keyframes ranch-cloud{0%{transform:translateX(-30%)}to{transform:translateX(130vw)}}.ranch-sparkle{position:absolute;width:6px;height:6px;pointer-events:none;background:#fff;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:0;animation:ranch-sparkle 3.2s ease-in-out infinite}@keyframes ranch-sparkle{0%,to{opacity:0;transform:scale(.3)}45%{opacity:1;transform:scale(1)}60%{opacity:0}}.ranch-petal{position:absolute;top:-4%;width:7px;height:5px;border-radius:60% 0 60% 0;pointer-events:none;animation:ranch-petal linear infinite}@keyframes ranch-petal{0%{transform:translate(0) rotate(0deg);opacity:0}10%{opacity:.95}50%{transform:translate(14vw,50vh) rotate(260deg)}90%{opacity:.9}to{transform:translate(26vw,105vh) rotate(540deg);opacity:0}}.ranch-butterfly{position:absolute;pointer-events:none;animation:ranch-flutter-path ease-in-out infinite alternate}.ranch-butterfly i{position:absolute;top:0;width:6px;height:7px;border-radius:70% 70% 40% 40%;animation:ranch-wing .18s ease-in-out infinite alternate}.ranch-butterfly i:first-child{left:-6px;transform-origin:100% 60%}.ranch-butterfly i:last-child{left:0;transform-origin:0 60%}@keyframes ranch-wing{0%{transform:scaleX(1)}to{transform:scaleX(.25)}}@keyframes ranch-flutter-path{0%{transform:translate(0)}25%{transform:translate(40px,-22px)}50%{transform:translate(90px,6px)}75%{transform:translate(130px,-30px)}to{transform:translate(170px,-4px)}}.ranch-firefly{position:absolute;width:4px;height:4px;border-radius:50%;pointer-events:none;background:#fff6a8;box-shadow:0 0 10px 4px rgba(255,240,140,.75);opacity:0;animation:ranch-firefly 6s ease-in-out infinite}@keyframes ranch-firefly{0%,to{opacity:0;transform:translate(0)}30%{opacity:1}60%{opacity:.5;transform:translate(18px,-14px)}80%{opacity:.9;transform:translate(6px,-24px)}}.ranch-glow{position:absolute;border-radius:50%;pointer-events:none;mix-blend-mode:screen;animation:ranch-glow 3.4s ease-in-out infinite}@keyframes ranch-glow{0%,to{opacity:.75}50%{opacity:1}}@keyframes ball-wobble{0%,14%,34%,54%,74%,to{transform:rotate(0deg)}20%{transform:rotate(-18deg)}27%{transform:rotate(14deg)}40%{transform:rotate(-16deg)}47%{transform:rotate(12deg)}60%{transform:rotate(-14deg)}67%{transform:rotate(10deg)}}.ball-wobble{transform-origin:50% 85%;animation:ball-wobble 2.2s ease-in-out infinite}@keyframes ball-throw{0%{transform:translate(-70vw,30vh) rotate(-540deg) scale(.6)}60%{transform:translateY(-60px) rotate(-60deg) scale(1)}80%{transform:translateY(8px) rotate(0deg)}to{transform:translate(0)}}.ball-throw{animation:ball-throw .9s cubic-bezier(.3,.7,.4,1) both}@keyframes ball-pop{0%{transform:scale(.7);filter:brightness(3)}60%{transform:scale(1.12);filter:brightness(1.6)}to{transform:scale(1);filter:none}}.ball-pop{animation:ball-pop .6s cubic-bezier(.2,.9,.3,1.2) both}@keyframes ball-burst{0%{transform:scale(.3);opacity:1}to{transform:scale(1.5);opacity:.5}}.ball-burst{animation:ball-burst .7s ease-out both}@keyframes ball-rays{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ball-rays{animation:ball-rays 9s linear infinite}@keyframes ball-star{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}30%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1)}}.ball-star{position:absolute;left:50%;top:50%;animation:ball-star 1.1s ease-out both}@keyframes ball-reveal-in{0%{opacity:0;transform:translateY(22px) scale(.96)}68%{transform:translateY(-3px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}.ball-reveal{animation:ball-reveal-in .55s cubic-bezier(.16,.9,.28,1) both}@keyframes ball-flash{0%{opacity:0}30%{opacity:1}to{opacity:0}}.ball-flash{animation:ball-flash .5s ease-out both}@media (prefers-reduced-motion:reduce){.ranch-butterfly,.ranch-cloud,.ranch-dust,.ranch-firefly,.ranch-occlude,.ranch-petal,.ranch-ripple,.ranch-sparkle,.ranch-waterline{animation:none!important}.ranch-butterfly,.ranch-dust,.ranch-petal,.ranch-ripple{display:none}}