/* The paper character stays recognisable at 40px: quoted eyes, one face change, one action. */
.klauvy-mascot{overflow:visible;transform-origin:50% 72%}
.klauvy-mascot .mascot-fold,.klauvy-mascot .mascot-eyes,.klauvy-mascot .mascot-eye,.klauvy-mascot .mascot-mouth{transform-box:fill-box}
.klauvy-mascot .mascot-fold{transform-origin:10% 90%}
.klauvy-mascot .mascot-eyes{transform-origin:center}
.klauvy-mascot .mouth-curious,.klauvy-mascot .mouth-working,.klauvy-mascot .mouth-complete,.klauvy-mascot .mascot-blush{display:none}
.klauvy-mascot[data-state="idle"] .mascot-eyes{animation:klauvy-quote-blink 5.6s infinite}

.klauvy-mascot[data-state="greeting"]{animation:klauvy-wave .72s cubic-bezier(.2,.8,.2,1) both}
.klauvy-mascot[data-state="greeting"] .mascot-fold{animation:klauvy-page-wave .72s cubic-bezier(.2,.8,.2,1) both}
.klauvy-mascot[data-state="greeting"] .mouth-calm{display:none}
.klauvy-mascot[data-state="greeting"] .mouth-complete{display:block}
.klauvy-mascot[data-state="greeting"] .mascot-eye-left{transform:translateY(-2px)}
.klauvy-mascot[data-state="greeting"] .mascot-eye-right{transform:translateY(1px)}

.klauvy-mascot[data-state="curious"]{transform:rotate(-7deg)}
.klauvy-mascot[data-state="curious"] .mascot-eyes{transform:translate(3px,-1px)}
.klauvy-mascot[data-state="curious"] .mascot-fold{transform:rotate(-14deg)}
.klauvy-mascot[data-state="curious"] .mouth-calm{display:none}
.klauvy-mascot[data-state="curious"] .mouth-curious{display:block}
.klauvy-mascot[data-state="curious"] .mascot-eye-right{animation:klauvy-peek 2.5s ease-in-out infinite}

.klauvy-mascot[data-state="working"] .mouth-calm{display:none}
.klauvy-mascot[data-state="working"] .mouth-working{display:block}
.klauvy-mascot[data-state="working"] .mascot-eyes{animation:klauvy-scan 1.35s ease-in-out infinite}
.klauvy-mascot[data-state="working"] .mascot-fold{animation:klauvy-work-fold 1.35s ease-in-out infinite}
.klauvy-mascot[data-state="working"]{animation:klauvy-work-bob 1.35s ease-in-out infinite}

.klauvy-mascot[data-state="acknowledge"]{animation:klauvy-nod .55s cubic-bezier(.2,.75,.2,1) both}
.klauvy-mascot[data-state="acknowledge"] .mascot-eyes{transform:translateY(2px) scaleY(.78)}
.klauvy-mascot[data-state="acknowledge"] .mascot-fold{transform:rotate(5deg)}

.klauvy-mascot[data-state="complete"]{animation:klauvy-jump .74s cubic-bezier(.17,.8,.2,1) both}
.klauvy-mascot[data-state="complete"] .mascot-fold{animation:klauvy-page-wave .74s cubic-bezier(.2,.8,.2,1) both}
.klauvy-mascot[data-state="complete"] .mouth-calm{display:none}
.klauvy-mascot[data-state="complete"] .mouth-complete,.klauvy-mascot[data-state="complete"] .mascot-blush{display:block}
.klauvy-mascot[data-state="complete"] .mascot-eyes{transform:translateY(-2px)}

@keyframes klauvy-quote-blink{0%,51%,54%,100%{transform:scaleY(1)}52.5%{transform:scaleY(.18)}}
@keyframes klauvy-wave{0%,100%{transform:rotate(0) translateY(0)}24%{transform:rotate(-12deg) translateY(-3px)}53%{transform:rotate(7deg) translateY(-1px)}75%{transform:rotate(-3deg)}}
@keyframes klauvy-page-wave{0%,100%{transform:rotate(0)}24%{transform:rotate(-30deg)}53%{transform:rotate(11deg)}75%{transform:rotate(-8deg)}}
@keyframes klauvy-peek{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@keyframes klauvy-scan{0%,100%{transform:translateX(-3px)}50%{transform:translateX(3px)}}
@keyframes klauvy-work-fold{0%,100%{transform:rotate(0)}50%{transform:rotate(-11deg)}}
@keyframes klauvy-work-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes klauvy-nod{0%,100%{transform:rotate(0) translateY(0)}38%{transform:rotate(4deg) translateY(4px)}70%{transform:rotate(-2deg) translateY(1px)}}
@keyframes klauvy-jump{0%,100%{transform:translateY(0) rotate(0) scale(1)}19%{transform:translateY(2px) scale(1.04,.94)}42%{transform:translateY(-9px) rotate(-5deg) scale(.97,1.05)}68%{transform:translateY(1px) rotate(3deg) scale(1.03,.97)}84%{transform:translateY(-2px) rotate(-1deg)}}
@media(prefers-reduced-motion:reduce){.klauvy-mascot,.klauvy-mascot *{animation:none!important;transition:none!important}}
