@keyframes twinkle{0%,100%{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}@keyframes floatSlow{0%,100%{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(2deg)}66%{transform:translateY(8px) rotate(-2deg)}}@keyframes orbit{from{transform:rotate(0) translateX(60px) rotate(0)}to{transform:rotate(360deg) translateX(60px) rotate(-360deg)}}@keyframes rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinSlow{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rocketLaunch{0%{transform:translateY(0) scale(1);opacity:1}70%{transform:translateY(-120px) scale(1.2);opacity:.8}100%{transform:translateY(-200px) scale(.6);opacity:0}}@keyframes rocketIdle{0%,100%{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-8px) rotate(-10deg)}}@keyframes exhaustPulse{0%,100%{transform:scaleY(1) scaleX(1);opacity:.9}50%{transform:scaleY(1.3) scaleX(.8);opacity:.7}}@keyframes pulseGlow{0%,100%{filter:brightness(1) drop-shadow(0 0 10px rgba(124, 58, 237, .4))}50%{filter:brightness(1.2) drop-shadow(0 0 20px rgba(124, 58, 237, .7))}}@keyframes pulseGlowCyan{0%,100%{filter:brightness(1) drop-shadow(0 0 10px rgba(6, 214, 160, .4))}50%{filter:brightness(1.2) drop-shadow(0 0 20px rgba(6, 214, 160, .7))}}@keyframes pulseGlowGold{0%,100%{filter:brightness(1) drop-shadow(0 0 10px rgba(255, 209, 102, .4))}50%{filter:brightness(1.2) drop-shadow(0 0 20px rgba(255, 209, 102, .7))}}@keyframes shake{0%,100%{transform:translateX(0)}15%{transform:translateX(-8px)}30%{transform:translateX(8px)}45%{transform:translateX(-6px)}60%{transform:translateX(6px)}75%{transform:translateX(-3px)}90%{transform:translateX(3px)}}@keyframes bounceIn{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2);opacity:1}80%{transform:scale(.9)}100%{transform:scale(1);opacity:1}}@keyframes starPop{0%{transform:scale(0) rotate(-30deg);filter:grayscale(1) opacity(.3)}60%{transform:scale(1.4) rotate(10deg)}80%{transform:scale(.9) rotate(-5deg)}100%{transform:scale(1) rotate(0);filter:none}}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}100%{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes slideUp{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{from{transform:translateX(60px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes scaleFadeIn{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes nebulaDrift{0%{transform:translate(0,0) scale(1);opacity:.15}33%{transform:translate(30px,-20px) scale(1.05);opacity:.2}66%{transform:translate(-20px,15px) scale(.95);opacity:.12}100%{transform:translate(0,0) scale(1);opacity:.15}}@keyframes xpFill{from{width:var(--xp-from,0%)}to{width:var(--xp-to,100%)}}@keyframes toastIn{from{transform:translateX(100px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes cometStreak{0%{transform:translate(-100px,-100px) scaleX(0);opacity:0}10%{opacity:1;scaleX:1}90%{opacity:.8}100%{transform:translate(120vw,120vh) scaleX(1);opacity:0}}@keyframes asteroidTumble{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(20px,-30px) rotate(180deg);opacity:0}}.animate-float{animation:float 3s ease-in-out infinite}.animate-float-slow{animation:floatSlow 6s ease-in-out infinite}.animate-twinkle{animation:twinkle 2s ease-in-out infinite}.animate-rotate{animation:rotate 8s linear infinite}.animate-spin-slow{animation:spinSlow 20s linear infinite}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.animate-pulse-cyan{animation:pulseGlowCyan 2s ease-in-out infinite}.animate-pulse-gold{animation:pulseGlowGold 2s ease-in-out infinite}.animate-rocket-idle{animation:rocketIdle 2.5s ease-in-out infinite}.animate-nebula{animation:nebulaDrift 15s ease-in-out infinite}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-slide-up{animation:slideUp .5s ease forwards}.animate-slide-right{animation:slideInRight .4s ease forwards}.animate-scale-in{animation:scaleFadeIn .4s ease forwards}.animate-bounce-in{animation:bounceIn .6s cubic-bezier(.34,1.56,.64,1) forwards}.animate-shake{animation:shake .5s ease forwards}.animate-rocket-launch{animation:rocketLaunch .8s ease forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.nebula-blob{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;animation:nebulaDrift 20s ease-in-out infinite;transform-origin:center;transform:translateZ(0)}.nebula-1{width:600px;height:600px;background:radial-gradient(circle,rgba(124,58,237,.2) 0,transparent 70%);top:-100px;left:-100px;animation-delay:0s}.nebula-2{width:500px;height:500px;background:radial-gradient(circle,rgba(6,214,160,.15) 0,transparent 70%);bottom:0;right:-100px;animation-delay:-7s}.nebula-3{width:400px;height:400px;background:radial-gradient(circle,rgba(244,114,182,.12) 0,transparent 70%);top:40%;left:50%;animation-delay:-14s}@media (max-width:768px){.nebula-blob{display:none!important}}.hero-rocket{font-size:6rem;display:block;animation:rocketIdle 2.5s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(124, 58, 237, .6));transform-origin:center}.hero-rocket.launching{animation:rocketLaunch .8s ease forwards!important}.rocket-exhaust{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:-8px}.exhaust-flame{animation:exhaustPulse .3s ease-in-out infinite;transform-origin:top center}.exhaust-flame:first-child{font-size:1.5rem;animation-delay:0s}.exhaust-flame:nth-child(2){font-size:1rem;animation-delay:.1s;opacity:.7}.exhaust-flame:nth-child(3){font-size:.7rem;animation-delay:.2s;opacity:.5}.floating-planet{position:absolute;border-radius:50%;animation:floatSlow 8s ease-in-out infinite;pointer-events:none}.planet-sm{width:40px;height:40px;font-size:2.5rem}.planet-md{width:60px;height:60px;font-size:3.5rem}.planet-lg{width:80px;height:80px;font-size:5rem}.feedback-correct{background:radial-gradient(circle,rgba(6,214,160,.15) 0,transparent 70%);animation:fadeIn .3s ease forwards}.feedback-wrong{background:radial-gradient(circle,rgba(239,68,68,.12) 0,transparent 70%);animation:fadeIn .3s ease forwards}.confetti-particle{position:fixed;width:10px;height:10px;border-radius:2px;animation:confettiFall linear forwards;pointer-events:none;z-index:var(--z-top)}.streak-fire{display:inline-block;animation:float .8s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(255, 140, 0, .8))}.transition-all{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.page-enter{animation:fadeIn .4s ease forwards}.page-exit{animation:fadeIn .3s ease reverse forwards}