.q-mascot{position:fixed;left:32px;bottom:24px;width:568.8px;height:568.8px;padding:0;border:0;background:transparent;cursor:pointer;z-index:5;touch-action:manipulation;animation:q-pop-in .75s cubic-bezier(.2,.8,.3,1.2) both}
.q-mascot-float{display:block;width:100%;height:100%;animation:q-float 5s ease-in-out infinite}
.q-mascot-art{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 18px 24px #1a1a1a26) drop-shadow(0 5px 8px #1a1a1a14);transform:rotate(var(--lean,0deg));transform-origin:50% 65%;transition:transform .3s ease}
.q-gaze{transition:transform .16s ease-out}
.q-eye{transform-origin:0 0;transition:transform .07s ease-out}
.q-mascot.is-blinking .q-eye,.q-mascot.is-winking .q-eye-far{transform:scaleY(.08)}
.q-whiskers{transform-box:fill-box;transform-origin:center}
.q-mascot:hover .q-mascot-art,.q-mascot:focus-visible .q-mascot-art{transform:translateY(-4px) rotate(var(--lean,0deg)) scale(1.04)}
.q-mascot:hover .q-whiskers{animation:q-twitch .65s ease-in-out}
.q-mascot:focus-visible{outline-offset:2px;border-radius:50%}
@keyframes q-float{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-9px) rotate(1.5deg)}}
@keyframes q-pop-in{from{opacity:0;transform:translateY(25px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes q-twitch{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg)}50%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}}
@media(prefers-reduced-motion:reduce){.q-mascot:hover .q-mascot-art,.q-mascot:focus-visible .q-mascot-art{transform:none}}
