/* Independent body motion and a registered facial overlay preserve the original art. */
.mascot-idle,.mascot-visual{display:block;position:relative;width:100%;height:100%;pointer-events:none;transform-origin:69% 81%}
.mascot-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.mascot-base{filter:drop-shadow(0 9px 7px #244ea315)}
.mascot-eye-frame{position:absolute;inset:0;opacity:0;mask-image:radial-gradient(ellipse 6.4% 7.1% at 67.8% 51.4%,#000 73%,transparent 100%),radial-gradient(ellipse 6.1% 7.2% at 84.2% 56.6%,#000 73%,transparent 100%);mask-repeat:no-repeat;pointer-events:none}
.mascot-eyelids{position:absolute;left:62.200957%;top:45.454545%;width:27.113238%;height:17.54386%;pointer-events:none}
.mascot-visual[data-expression=closed] .mascot-eye-frame,.mascot-visual[data-expression=wink] .mascot-eye-frame{opacity:1}
.mascot-visual[data-expression=wink] .mascot-eye-frame{mask-image:radial-gradient(ellipse 6.1% 7.2% at 84.2% 56.6%,#000 73%,transparent 100%)}
.mascot-wrap[data-awake=true] .mascot-idle{animation:wispy-breathe 5.6s ease-in-out infinite}
.mascot-visual[data-reaction=ios]{animation:wispy-iphone .9s cubic-bezier(.3,.7,.3,1) both}
.mascot-visual[data-reaction=android]{animation:wispy-android .94s cubic-bezier(.25,.7,.3,1) both}
.mascot-visual[data-reaction=windows]{animation:wispy-windows .9s ease-in-out both}
.mascot-visual[data-reaction=macos]{animation:wispy-mac .92s ease-in-out both}
.mascot-visual[data-reaction=family]{animation:wispy-welcome 1.2s cubic-bezier(.25,.7,.3,1) both}
.mascot-visual[data-reaction=standard]{animation:wispy-settle .85s ease-in-out both}
.mascot-visual[data-reaction=term]{animation:wispy-nod .75s ease-in-out both}
.mascot-visual[data-reaction=hello]{animation:wispy-hello 1.05s ease-in-out both}
.mascot-button{transition:filter .2s}.mascot-button:hover .mascot-base{filter:drop-shadow(0 12px 9px #244ea326)}
.mascot-bubble{pointer-events:auto}.mascot-rest{display:block;min-height:32px;margin:5px 0 -7px;padding:7px 0;background:none;color:#5b7197;font:inherit;font-size:10px;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px;border-radius:5px;cursor:pointer}
.mascot-rest:hover{color:var(--blue)}.mascot-rest[aria-pressed=true]{color:var(--blue)}
@keyframes wispy-breathe{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-4px) rotate(.35deg)}}
@keyframes wispy-iphone{0%,100%{transform:translateY(0) rotate(0)}28%{transform:translate(-5px,5px) rotate(-6deg)}56%{transform:translate(-4px,-4px) rotate(-3deg)}76%{transform:translate(0,2px) rotate(1deg)}}
@keyframes wispy-android{0%,100%{transform:translateY(0) rotate(0) scale(1)}15%{transform:translateY(5px) scale(1.015,.975)}39%{transform:translateY(-25px) rotate(6deg)}62%{transform:translateY(3px) rotate(-3deg)}80%{transform:translateY(-9px) rotate(2deg)}}
@keyframes wispy-windows{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translate(15px,-5px) rotate(7deg)}66%{transform:translate(6px,2px) rotate(3deg)}}
@keyframes wispy-mac{0%,100%{transform:rotate(0)}30%{transform:translateY(-5px) rotate(-7deg)}65%{transform:translateY(-3px) rotate(4deg)}}
@keyframes wispy-welcome{0%,100%{transform:translateY(0) rotate(0)}22%{transform:translate(-5px,-24px) rotate(-8deg)}45%{transform:translateY(3px) rotate(2deg)}68%{transform:translate(6px,-20px) rotate(8deg)}86%{transform:translateY(2px) rotate(-2deg)}}
@keyframes wispy-settle{0%,100%{transform:rotate(0)}35%{transform:translate(-5px,5px) rotate(-5deg)}65%{transform:translateY(-3px) rotate(2deg)}}
@keyframes wispy-nod{0%,100%{transform:rotate(0)}32%{transform:translateY(6px) rotate(5deg)}62%{transform:translateY(-2px) rotate(-2deg)}}
@keyframes wispy-hello{0%,100%{transform:rotate(0)}20%{transform:translateY(-12px) rotate(-8deg)}45%{transform:translateY(-6px) rotate(7deg)}70%{transform:translateY(-8px) rotate(-4deg)}}
@media(max-width:640px){.mascot-rest{min-height:28px;font-size:9px;margin-top:3px}.mascot-bubble{top:-70px;bottom:auto}}
@media(max-width:360px){.mascot-bubble{top:-78px}}
@media(prefers-reduced-motion:reduce){.mascot-idle,.mascot-visual{animation:none!important;transform:none!important}.mascot-button{transition:none}}
