@keyframes heroFloatSlow{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-12px)rotate(1.5deg)}66%{transform:translateY(-5px)rotate(-1deg)}}@keyframes heroGlow{0%,to{opacity:.35}50%{opacity:1}}@keyframes heroPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes heroSparkle{0%,to{opacity:.25;transform:scale(1)rotate(0)}50%{opacity:.75;transform:scale(1.35)rotate(18deg)}}@keyframes particleDrift1{0%,to{opacity:.3;transform:translate(0)}25%{opacity:.6;transform:translate(8px,-12px)}50%{opacity:.15;transform:translate(-4px,-20px)}75%{opacity:.5;transform:translate(10px,-8px)}}@keyframes particleDrift2{0%,to{opacity:.3;transform:translate(0)}25%{opacity:.5;transform:translate(-10px,-8px)}50%{opacity:.15;transform:translate(5px,-16px)}75%{opacity:.6;transform:translate(-6px,-12px)}}@keyframes particleDrift3{0%,to{opacity:.2;transform:translate(0)}30%{opacity:.5;transform:translate(12px,-10px)}60%{opacity:.25;transform:translate(-8px,-18px)}90%{opacity:.4;transform:translate(5px,-5px)}}.hero-illustration{justify-content:center;align-items:center;display:flex}.hero-illustration .hero-float{animation:3.5s ease-in-out infinite float}.hero-illustration .hero-float-slow{animation:5s ease-in-out infinite heroFloatSlow}.hero-illustration .hero-glow{animation:3s ease-in-out infinite heroGlow}.hero-illustration .hero-pulse{animation:2.5s ease-in-out infinite heroPulse}.hero-illustration .hero-sparkle{animation:2.8s ease-in-out infinite heroSparkle}.hero-illustration .hero-particle-1{animation:6s ease-in-out infinite particleDrift1}.hero-illustration .hero-particle-2{animation:7s ease-in-out infinite particleDrift2}.hero-illustration .hero-particle-3{animation:8s ease-in-out infinite particleDrift3}@media (prefers-reduced-motion:reduce){.hero-illustration .hero-float,.hero-illustration .hero-float-slow,.hero-illustration .hero-glow,.hero-illustration .hero-pulse,.hero-illustration .hero-sparkle,.hero-illustration .hero-particle-1,.hero-illustration .hero-particle-2,.hero-illustration .hero-particle-3{animation:none}}
.mascot-idle{animation:2.5s ease-in-out infinite mascot-bob}.mascot-happy{animation:.6s ease-in-out infinite mascot-bounce}.mascot-encourage{animation:2s ease-in-out infinite mascot-tilt}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes mascot-bounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-5px)scale(1.1)}}@keyframes mascot-tilt{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(4deg)}}.mascot-sparkle{animation:1.2s ease-in-out infinite mascot-sparkle-pulse}@keyframes mascot-sparkle-pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.mascot-msg-enter{animation:.4s ease-out both mascot-msg-in}.mascot-msg-exit{animation:.3s ease-in both mascot-msg-out}@keyframes mascot-msg-in{0%{opacity:0;transform:translateY(16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes mascot-msg-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(16px)scale(.95)}}@keyframes mascot-progress{0%{width:100%}to{width:0%}}
