.critter-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:380px;max-width:82vw;height:330px;max-height:52vh;margin:0 auto;transition:transform .45s ease}.mosskin-ground-shadow{position:absolute;bottom:8px;width:260px;max-width:70%;height:22px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(62,79,60,.28) 0%,rgba(62,79,60,.08) 55%,transparent 75%);z-index:1;pointer-events:none;transition:transform .45s ease,opacity .45s ease}.mosskin-character{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;transform-origin:center 88%;transition:transform .4s ease,filter .4s ease}.critter-wrapper.has-video-character,.critter-wrapper:has(.has-video-character),.critter-wrapper.has-pixel-character,.critter-wrapper:has(.has-pixel-character),.mosskin-character.has-video-character,.mosskin-character.has-three-character,.mosskin-character.has-pixel-character,.mosskin-character.has-pixel-character[class*=action-anim-],.mosskin-character.has-pixel-character[class*=critter-],.phase-sleeping .mosskin-character.has-three-character,.phase-sleeping .mosskin-character.has-pixel-character,.phase-enter .mosskin-character.has-three-character,.phase-enter .mosskin-character.has-pixel-character,.phase-exit .mosskin-character.has-three-character,.phase-exit .mosskin-character.has-pixel-character{transition:none!important;transform:none!important;animation:none!important}.mosskin-img,.mosskin-video{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 10px 18px rgba(62,79,60,.1));transition:opacity .4s ease,transform .4s ease}.mosskin-video{pointer-events:none;background:transparent;transform:none!important}.mosskin-video-layer{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 10px 18px rgba(62,79,60,.1));pointer-events:none;background:transparent;transform:none!important;transition:opacity .12s ease-in-out}.mosskin-video-layer.is-active{opacity:1;z-index:3;visibility:visible}.mosskin-video-layer.is-hidden{opacity:0;z-index:1;visibility:hidden;transition:opacity .12s ease-in-out,visibility 0s .12s}.mosskin-video-layer.is-standby{opacity:1;z-index:2;visibility:visible}.mosskin-canvas{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;background:transparent;transform:none!important;animation:none!important;filter:drop-shadow(0 10px 18px rgba(62,79,60,.1))}.mosskin-offscreen-media{position:absolute;width:1px;height:1px;opacity:.01;pointer-events:none;top:-9999px;left:-9999px;overflow:hidden}.critter-aura{position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,var(--dynamic-aura-color, rgba(231, 239, 229, .65)) 0%,rgba(248,244,236,0) 70%);filter:blur(24px);z-index:1;transition:background .8s ease,transform .8s ease;pointer-events:none}.mode-living.phase-idle .critter-aura{transform:scale(1)}.mode-quiet.phase-idle .critter-aura{transform:scale(.9);opacity:.6}.mode-sleep .critter-aura,.phase-sleeping .critter-aura{transform:scale(1.1);animation:sleepAuraPulse 4.5s infinite alternate ease-in-out}@keyframes sleepAuraPulse{0%{transform:scale(1);opacity:.5}to{transform:scale(1.18);opacity:.8}}.critter-living-breathe{animation:mosskinBreathe 4.8s ease-in-out infinite}.critter-quiet-breathe{animation:mosskinQuietBreathe 6.5s ease-in-out infinite}.critter-animated-loop{animation:none!important;transform:none!important}.action-anim-glance,.action-anim-ear-wiggle,.action-anim-tail-wag,.action-anim-twitch,.action-anim-tail,.action-anim-stretch{transform-origin:center 88%;animation:none!important;transform:none!important}.phase-enter .mosskin-character.has-video-character,.phase-exit .mosskin-character.has-video-character,.phase-enter .mosskin-character.action-anim-glance,.phase-exit .mosskin-character.action-anim-glance,.phase-enter .mosskin-character.action-anim-ear-wiggle,.phase-exit .mosskin-character.action-anim-ear-wiggle,.phase-enter .mosskin-character.action-anim-tail-wag,.phase-exit .mosskin-character.action-anim-tail-wag,.phase-enter .mosskin-character.action-anim-twitch,.phase-exit .mosskin-character.action-anim-twitch,.phase-enter .mosskin-character.action-anim-tail,.phase-exit .mosskin-character.action-anim-tail,.phase-enter .mosskin-character.action-anim-stretch,.phase-exit .mosskin-character.action-anim-stretch,.phase-enter .mosskin-character.critter-animated-loop,.phase-exit .mosskin-character.critter-animated-loop{animation:none!important;transform:none!important}.action-anim-sleep,.phase-sleeping .mosskin-character:not(.has-video-character){animation:mosskinSleepSway 5s ease-in-out infinite!important;transform-origin:center 92%}.phase-sleeping .mosskin-ground-shadow{transform:scale(1.06,.85);opacity:.85}.phase-enter .mosskin-character:not(.has-video-character):not(.has-pixel-character){animation:phaseEnterSpring .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes phaseEnterSpring{0%{transform:scale(1) translateY(0)}50%{transform:scale(1.05,.95) translateY(2px)}to{transform:scale(.98,1.04) translateY(-8px)}}.phase-exit .mosskin-character:not(.has-video-character):not(.has-pixel-character){animation:phaseExitSettle .45s ease-out forwards}@keyframes phaseExitSettle{0%{transform:scale(1.02) translateY(-4px)}to{transform:scale(1) translateY(0)}}.action-anim-bounce{animation:animBounce .85s ease-in-out infinite alternate}@keyframes animBounce{0%{transform:translateY(2px) scale(1.02,.98)}to{transform:translateY(-16px) scale(.98,1.03)}}.action-anim-excited{animation:animExcited .45s ease-in-out infinite alternate}@keyframes animExcited{0%{transform:translateY(0) scale(1.03,.97) rotate(-2deg)}to{transform:translateY(-20px) scale(.97,1.05) rotate(2deg)}}.action-anim-celebrate{animation:animCelebrate .55s cubic-bezier(.28,.84,.42,1) infinite alternate}@keyframes animCelebrate{0%{transform:translateY(3px) scale(1.04,.96)}to{transform:translateY(-22px) scale(.96,1.06)}}.action-anim-calm,.action-anim-overwhelmed{animation:animSoothingBreathe 4.2s ease-in-out infinite}@keyframes animSoothingBreathe{0%,to{transform:scale(.985) translateY(2px)}50%{transform:scale(1.035,1.04) translateY(-8px)}}.action-anim-sigh{animation:animSigh 3.8s ease-in-out infinite}@keyframes animSigh{0%,to{transform:translateY(0) scale(1)}35%{transform:translateY(-6px) scale(1.03)}65%{transform:translateY(2px) scale(.97)}}.action-anim-tilt{animation:animTilt 2.2s ease-in-out infinite alternate;transform-origin:center 85%}@keyframes animTilt{0%{transform:rotate(-4.5deg) translateY(0)}to{transform:rotate(3.5deg) translateY(-5px)}}.action-anim-surprise{animation:animSurprise 1.2s ease-in-out infinite alternate}@keyframes animSurprise{0%{transform:translateY(0) scale(1)}10%{transform:translateY(-14px) scale(.96,1.08)}30%{transform:translateY(-10px) scale(1.02,.98)}to{transform:translateY(-8px) scale(1.01)}}.action-anim-puzzled{animation:animPuzzled 2.5s ease-in-out infinite alternate}@keyframes animPuzzled{0%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(0) translateY(-3px)}to{transform:rotate(6deg) translateY(0)}}.action-anim-proud{animation:animProud 2.8s ease-in-out infinite alternate}@keyframes animProud{0%{transform:scale(1)}to{transform:scale(1.04,1.06) translateY(-6px)}}.action-anim-determined{animation:animDetermined 2s ease-in-out infinite alternate}@keyframes animDetermined{0%{transform:scale(1) translateY(0)}to{transform:scale(1.03,1.01) translateY(-3px)}}.action-anim-snuggle,.action-anim-nuzzle{animation:animSnuggle 2.4s ease-in-out infinite alternate}@keyframes animSnuggle{0%{transform:rotate(-3deg) scale(.99)}to{transform:rotate(3deg) scale(1.02)}}.action-anim-sad,.action-anim-droop{animation:animSad 3.6s ease-in-out infinite alternate;transform-origin:center 95%}@keyframes animSad{0%{transform:translateY(0) scale(1)}to{transform:translateY(4px) scale(.98,.96) rotate(-1.5deg)}}.action-anim-flutter,.action-anim-tremble{animation:animTremble .35s ease-in-out infinite alternate}@keyframes animTremble{0%{transform:translate(-1.5px)}to{transform:translate(1.5px,1px)}}.action-anim-peek{animation:animPeek 2.8s ease-in-out infinite alternate}@keyframes animPeek{0%{transform:scale(.96) translateY(3px)}to{transform:scale(1) translateY(0)}}.action-anim-huff,.action-anim-stomp{animation:animHuff 1.4s ease-in-out infinite alternate}@keyframes animHuff{0%{transform:scale(1) translateY(0)}50%{transform:scale(1.05,.95) translateY(2px)}to{transform:scale(.98,1.02) translateY(-4px)}}.action-anim-recoil{animation:animRecoil 1.8s ease-in-out infinite alternate}@keyframes animRecoil{0%{transform:rotate(0) translateY(0)}to{transform:rotate(-4deg) translateY(4px) scale(.96)}}.action-anim-sway{animation:animSway 3.4s ease-in-out infinite;transform-origin:center 90%}@keyframes animSway{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(-2.5deg) translateY(2px)}75%{transform:rotate(2.5deg) translateY(2px)}}@keyframes mosskinSleepSway{0%,to{transform:scale(.96,.94) translateY(6px)}50%{transform:scale(.98,.97) translateY(3px)}}.action-anim-wake,.is-waking .mosskin-character:not(.has-pixel-character){animation:animWake 1.2s ease-out forwards}@keyframes animWake{0%{transform:scale(.96,.94) translateY(6px)}50%{transform:scale(1.06,1.08) translateY(-10px)}to{transform:scale(1) translateY(0)}}.mosskin-character.has-pixel-character,.mosskin-character.has-pixel-character[class*=action-anim-],.mosskin-character.has-pixel-character[class*=critter-],.is-waking .mosskin-character.has-pixel-character{animation:none!important;transform:none!important;transition:none!important}@keyframes mosskinBreathe{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.025,1.03) translateY(-4px)}}@keyframes mosskinQuietBreathe{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.012,1.015) translateY(-2px)}}.critter-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.particle{position:absolute;display:inline-block;font-size:22px;animation:floatGeneral 2.2s infinite ease-in-out}.particle-1{top:10%;left:10%;animation-delay:0s}.particle-2{top:6%;right:12%;animation-delay:.4s}.particle-3{top:30%;right:6%;animation-delay:.8s}.particle-4{top:22%;left:6%;animation-delay:1.2s}@keyframes floatGeneral{0%,to{transform:translateY(0) scale(.85);opacity:.4}50%{transform:translateY(-14px) scale(1.15);opacity:.95}}.particle-sleep{animation:driftZGeneral 2.8s infinite ease-out!important;color:#7997af;font-weight:800}@keyframes driftZGeneral{0%{transform:translate(0) scale(.5);opacity:0}40%{opacity:.85}to{transform:translate(24px,-36px) scale(1.15);opacity:0}}
