/* Approved option 01: original mascot artwork, drawing purple, inward-facing book.
   Exact reviewed timing (1.8x), paused offscreen by the existing motion observer. */
.play-panel .play-motion.play-motion-v3{--speed:1.8;width:100%;max-width:940px;margin:12px auto 0;overflow:hidden}
.play-motion-v3 .bibi-play-defs{position:absolute;width:0;height:0;pointer-events:none}
.play-motion-v3 .scene-art{display:block;width:100%;height:auto;overflow:visible}
.play-motion-v3 .scene-art use{overflow:visible}.play-motion-v3 .gentle-body{animation:bibi-play-gentle calc(5s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s)}.play-motion-v3 .foot-left{transform-origin:-22px -17px;animation:bibi-play-toe-left calc(5s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s)}.play-motion-v3 .foot-right{transform-origin:24px -15px;animation:bibi-play-toe-right calc(5s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s)}.play-motion-v3 .stack-hand{animation:bibi-play-stack-hand calc(5.8s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s);transform-origin:0 0}.play-motion-v3 .wave-hand{animation:bibi-play-wave-hand calc(5s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s);transform-origin:0 0}.play-motion-v3 .small-hand{animation:bibi-play-wave-hand calc(7s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s);transform-origin:0 0}.play-motion-v3 .tap-hand{animation:bibi-play-tap-hand calc(1.9s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s);transform-origin:0 0}.play-motion-v3 .music-hand{animation:bibi-play-music-hand calc(2.4s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s);transform-origin:0 0}.play-motion-v3 .push-hand{animation:bibi-play-push-hand calc(4.8s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s);transform-origin:0 0}.play-motion-v3 .toy-car{animation:bibi-play-toy-car calc(4.8s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s)}.play-motion-v3 .turn-page{transform-origin:0 0;animation:bibi-play-page-turn calc(7s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s)}.play-motion-v3 .ball-hand{animation:bibi-play-ball-hand calc(8s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s)}.play-motion-v3 .passing-ball{animation:bibi-play-pass-ball calc(12s / var(--speed)) ease-in-out infinite}.play-motion-v3 .rolling-ball{animation:bibi-play-roll-ball calc(12s / var(--speed)) ease-in-out infinite;transform-origin:0 0}.play-motion-v3 .music-note{animation:bibi-play-music-note calc(5s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s);opacity:0}.play-motion-v3 .spark{animation:bibi-play-spark calc(7s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s);opacity:.3}
@keyframes bibi-play-gentle{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes bibi-play-toe-left{0%,30%,100%{transform:rotate(0deg)}45%,65%{transform:rotate(-7deg)}}
@keyframes bibi-play-toe-right{0%,45%,100%{transform:rotate(0deg)}70%,88%{transform:rotate(6deg)}}
@keyframes bibi-play-stack-hand{0%,15%,100%{transform:rotate(0deg)}42%,68%{transform:rotate(calc(22deg * var(--side)))}}
@keyframes bibi-play-wave-hand{0%,30%,100%{transform:rotate(0deg)}42%,58%{transform:rotate(calc(-12deg * var(--side)))}50%,67%{transform:rotate(calc(-4deg * var(--side)))}}
@keyframes bibi-play-tap-hand{0%,12%,100%{transform:rotate(calc(-14deg * var(--side)))}44%{transform:rotate(calc(20deg * var(--side)))}62%{transform:rotate(calc(-9deg * var(--side)))}}
@keyframes bibi-play-music-hand{0%,100%{transform:rotate(calc(-9deg * var(--side)))}45%,58%{transform:rotate(calc(11deg * var(--side)))}}
@keyframes bibi-play-push-hand{0%,100%{transform:rotate(-4deg)}48%,60%{transform:rotate(12deg)}}
@keyframes bibi-play-toy-car{0%,100%{transform:translate(-65px,-2px)}48%,60%{transform:translate(-81px,-2px)}}
@keyframes bibi-play-page-turn{0%,25%,100%{transform:scaleX(1)}55%,72%{transform:scaleX(-1)}}
@keyframes bibi-play-ball-hand{0%,100%{transform:rotate(0deg)}36%,50%{transform:rotate(calc(14deg * var(--side)))}}
@keyframes bibi-play-pass-ball{0%,9%,100%{transform:translateX(0)}29%,36%{transform:translateX(285px)}59%,66%{transform:translateX(600px)}84%,90%{transform:translateX(285px)}}
@keyframes bibi-play-roll-ball{0%,9%,100%{transform:rotate(0)}29%,36%{transform:rotate(400deg)}59%,66%{transform:rotate(800deg)}84%,90%{transform:rotate(400deg)}}
@keyframes bibi-play-music-note{0%,15%,100%{opacity:0;transform:translateY(4px)}40%{opacity:.8}75%{opacity:0;transform:translateY(-14px)}}
@keyframes bibi-play-spark{0%,25%,100%{opacity:.1;transform:scale(.8)}50%,65%{opacity:.8;transform:scale(1)}}

.play-motion-v3 .drawing-hand{transform-origin:0 0;animation:bibi-play-crayon-draw calc(3.6s / var(--speed)) ease-in-out infinite;animation-delay:-1.1s}
.play-motion-v3 .reader-page{transform-origin:0 -7px;animation:bibi-play-reader-page calc(7s / var(--speed)) ease-in-out infinite;animation-delay:var(--delay,0s)}
@keyframes bibi-play-crayon-draw{0%,100%{transform:rotate(-3deg)}15%{transform:rotate(2deg)}30%{transform:rotate(-2deg)}45%{transform:rotate(3deg)}60%{transform:rotate(-1deg)}75%,87%{transform:rotate(4deg)}}
@keyframes bibi-play-reader-page{0%,25%,100%{transform:scaleX(1)}52%,76%{transform:scaleX(-1)}}
@media(max-width:700px){.play-panel .play-motion.play-motion-v3{margin:10px auto 0}}
