.mascot-button{display:block;width:100%;padding:0;border:0;background:none;touch-action:manipulation}.mascot-art{position:relative;display:block}
.mascot-art{transform:none;transition:transform .18s ease-out;will-change:auto;aspect-ratio:600/620}
.mascot-svg{display:block;width:100%;height:auto;overflow:visible;pointer-events:none}
.mascot-button{border-radius:24px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mascot-button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.mascot-button.is-pressed .mascot-art{transform:scale(.94)}
.eye-left{transform:scaleY(var(--blink-left,1))}.eye-right{transform:scaleY(var(--blink-right,1))}
.wink-eye,.happy-mouth{opacity:0}.is-winking .eye-left{opacity:0}.is-winking .wink-eye{opacity:1}
.is-happy .happy-mouth{opacity:1}.is-happy .mascot-mouth{opacity:0}
.cheek{opacity:.35;transition:opacity .2s}.is-happy .cheek{opacity:1}
.laugh-eyes,.surprise-mouth,.surprise-brows{opacity:0}
.is-laughing .eye,.is-laughing .mascot-mouth{opacity:0}
.is-laughing .laugh-eyes,.is-laughing .happy-mouth{opacity:1}
.is-surprised .mascot-mouth,.is-surprised .happy-mouth{opacity:0}
.is-surprised .surprise-mouth,.is-surprised .surprise-brows{opacity:1}
.is-surprised .eye{transform:scale(1.08)}
.is-laughing .cheek,.is-surprised .cheek{opacity:1}

@media(prefers-reduced-motion:reduce){.mascot-art,.cheek{transition:none}.mascot-button.is-pressed .mascot-art{transform:none}}
