/* Realistic poses: wave uses the first two top frames; the third switches hands and is unused. */
.mascot-actor{position:relative;display:block;flex-shrink:0;width:112px;height:112px;padding:0;border:0;background:transparent;border-radius:20px;box-shadow:none;overflow:visible;cursor:pointer;touch-action:manipulation}
.mascot-actor:disabled{opacity:1;cursor:default}.mascot-actor:focus-visible{outline:4px solid #087a80;outline-offset:3px}
.mascot-actor .mascot-sheet,.mascot-actor .mascot-fallback{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:contain;animation:none;pointer-events:none}
.mascot-actor .mascot-sheet{display:none;background-image:url('mascot-poses-realistic-v2.png');background-size:300% 200%;background-position:3.125% 100%;background-repeat:no-repeat;clip-path:inset(0 0 2% 0)}
.mascot-sprites-ready .mascot-sheet{display:block}.mascot-sprites-ready .mascot-fallback{display:none}
.mascot-actor[data-pose=wave] .mascot-sheet{animation:mascot-wave 1.4s steps(1,end) 2,mascot-sway 2.8s ease-in-out 1}
.mascot-actor[data-pose=celebrate] .mascot-sheet{animation:mascot-cheer 1.2s steps(1,end) 2,mascot-hop 1.2s ease-in-out 2}
.mascot-home{width:165px;height:235px;align-self:center;max-width:36%}.mascot-home .mascot-sheet{width:235px;height:235px;left:50%;transform:translateX(-50%)}
.mascot-fruit{width:min(100%,280px);height:auto;aspect-ratio:1;align-self:center;flex-shrink:1}
.mascot-small{width:108px;height:108px}.mascot-finish{width:160px;height:160px;margin:0 auto}
.mascot-finish-slot{display:flex;justify-content:center;align-items:center;margin:10px 0}.mascot-finish-slot[hidden]{display:none!important}
.mascot-motion-toggle{font-size:14px;min-height:44px;white-space:normal}.mascot-motion-toggle:disabled{opacity:1;color:#536b73}
.mascot-motion-off .mascot-sheet,.mascot-focus .mascot-sheet{animation:none!important;background-position:3.125% 100%}
@keyframes mascot-wave{0%,50%,100%{background-position:3.41796875% 1.7578125%}25%,75%{background-position:50% 1.7578125%}}
@keyframes mascot-cheer{0%,100%{background-position:3.125% 100%}20%,40%,70%{background-position:50% 100%}55%,85%{background-position:96.77734375% 100%}}
@keyframes mascot-sway{0%,100%{rotate:0deg}25%{rotate:-1deg}75%{rotate:1deg}}
@keyframes mascot-hop{0%,100%{translate:0 0}30%{translate:0 -4px}60%{translate:0 0}80%{translate:0 -2px}}
@media(max-width:620px){.mascot-small{width:82px;height:82px}.mascot-fruit{flex:0 0 130px;width:130px;height:115px}.mascot-fruit .mascot-sheet{width:115px;height:115px}.mascot-finish{width:140px;height:140px}}
@media(max-width:520px){.welcome .mascot-home{position:absolute;right:0;bottom:5px;width:100px;height:165px;max-width:32%}.welcome .mascot-home .mascot-sheet{width:165px;height:165px}.mascot-small{width:70px;height:70px}.mini-guide{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){.mascot-sheet{animation:none!important;background-position:3.125% 100%!important}}
