.mascot-face{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;overflow:visible}
.mascot-art[data-face-ready]>.mascot{opacity:0}
.mascot-art[data-face-ready]>.mascot-face{opacity:1}
/* Both the body and every face feature ride the same gentle motion. */
.mascot-art[data-face-ready]{animation:mu-float 4s cubic-bezier(.42,0,.58,1) infinite}
.eye-gaze{transform:translate(var(--gaze-x,0px),var(--gaze-y,0px))}
.texture-eye{transform-box:view-box;animation:texture-blink 6.7s linear infinite}
.texture-eye.left{transform-origin:500px 631px}
.texture-eye.right{transform-origin:772px 631px}
.reflection{transform:translate(var(--reflection-x,0px),var(--reflection-y,0px))}
.mascot-art[data-paused],.mascot-art[data-paused] .texture-eye{animation-play-state:paused}
@keyframes mu-float{0%,100%{transform:translateY(5px)}46%{transform:translateY(-5px)}}
@keyframes texture-blink{0%,93.8%,97%,100%{transform:scaleY(1)}95.3%{transform:scaleY(.07)}}
@media(prefers-reduced-motion:reduce){.mascot-art[data-face-ready],.texture-eye{animation:none}.reflection,.eye-gaze{transform:none;transition:none}}
