/* Smooth movement and small, grounded gestures; existing character artwork retained. */
.yukinon-mascot{--mascot-safe-bottom:env(safe-area-inset-bottom,0px);transition-timing-function:cubic-bezier(.42,0,.32,1)}
.yukinon-mascot-sprite{position:relative;transition:transform .38s cubic-bezier(.4,0,.2,1);transform-origin:50% 80%}
.mascot-previous-pose{position:absolute!important;inset:0;pointer-events:none}
.yukinon-mascot.is-idle .yukinon-mascot-img{animation:yukinon-life-breathe 4.6s ease-in-out infinite}
.yukinon-mascot.is-perched .yukinon-mascot-img{animation:yukinon-life-rest 5.8s ease-in-out infinite}
.yukinon-mascot.is-peeking .yukinon-mascot-img{animation:yukinon-life-look 3.4s ease-in-out infinite}
.yukinon-mascot.is-walking .yukinon-mascot-img{animation:yukinon-life-step .7s ease-in-out infinite}
.yukinon-mascot.is-running .yukinon-mascot-img{animation:yukinon-life-step .42s ease-in-out infinite}
.yukinon-mascot.is-napping .yukinon-mascot-img{animation:yukinon-life-sleep 5.5s ease-in-out infinite}
.yukinon-mascot.is-paused,.yukinon-mascot.is-paused *{animation-play-state:paused!important}
@keyframes yukinon-life-breathe{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(-1.5px) scale(1.012,1.018)}70%{transform:translateY(-.5px) rotate(.4deg)}}
@keyframes yukinon-life-rest{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-2px) rotate(.7deg)}}
@keyframes yukinon-life-look{0%,100%{transform:rotate(0)}35%,60%{transform:rotate(3deg) translateY(-1px)}}
@keyframes yukinon-life-step{0%,100%{transform:translateY(0) rotate(-1deg)}25%{transform:translateY(-2px) rotate(0)}50%{transform:translateY(0) rotate(1deg)}75%{transform:translateY(-2px) rotate(0)}}
@keyframes yukinon-life-sleep{0%,100%{opacity:.93}50%{opacity:1}}
@media(max-width:760px){.yukinon-mascot{--mascot-size:clamp(76px,20vw,88px)}.yukinon-mascot-img{filter:drop-shadow(0 5px 6px rgba(55,34,62,.18))}.yukinon-mascot-bubble{max-width:min(245px,calc(100vw - 24px))}}
@media(prefers-reduced-motion:reduce){.yukinon-mascot,.yukinon-mascot *{animation:none!important;transition:none!important}}
