@keyframes emoji-bounce{0%,to{transform:translateY(0)}25%{transform:translateY(-6px)}50%{transform:translateY(0)}75%{transform:translateY(-3px)}}@keyframes pulse-glow{0%,to{transform:scale(1);box-shadow:0 0 30px #3b82f699,0 0 60px #60a5fa66,0 0 90px #3b82f64d,0 8px 32px #3b82f666,inset 0 1px #ffffff4d}50%{transform:scale(1.02);box-shadow:0 0 40px #3b82f6cc,0 0 80px #60a5fa99,0 0 120px #3b82f666,0 12px 48px #3b82f680,inset 0 1px #fff6}}@keyframes particle-float{0%{opacity:0;transform:translateY(0)translate(0)rotate(0)scale(0)}10%{opacity:1;transform:translateY(-5px)translate(0)rotate(36deg)scale(1)}90%{opacity:1;transform:translateY(-100px)translateX(var(--random-x))rotate(360deg)scale(.8)}to{opacity:0;transform:translateY(-120px)translateX(var(--random-x))rotate(400deg)scale(0)}}.animate-emoji-bounce{animation:2.8s ease-in-out infinite emoji-bounce}.animate-pulse-glow{animation:3s ease-in-out infinite pulse-glow}.particle{pointer-events:none;background:linear-gradient(45deg,#3b82f6,#60a5fa);border-radius:50%;width:8px;height:8px;animation:4s linear infinite particle-float;position:absolute}.particle:nth-child(2n){background:linear-gradient(45deg,#2563eb,#3b82f6);width:6px;height:6px;animation-duration:3.5s}.particle:nth-child(3n){background:linear-gradient(45deg,#93c5fd,#60a5fa);width:4px;height:4px;animation-duration:4.5s}.particle:nth-child(4n){background:radial-gradient(circle,#fff 0%,#60a5fa 70%);width:3px;height:3px;animation-duration:5s}
@keyframes reveal-explosion{0%{opacity:1;filter:blur()brightness();transform:scale(1)}30%{opacity:.9;filter:blur(1px)brightness(1.1);transform:scale(1.05)}60%{opacity:.6;filter:blur(4px)brightness(1.3);transform:scale(1.2)}80%{opacity:.3;filter:blur(12px)brightness(1.6);transform:scale(1.8)}to{opacity:0;filter:blur(20px)brightness(2);transform:scale(3)}}.animate-reveal-explosion{animation:1s cubic-bezier(.25,.46,.45,.94) forwards reveal-explosion}@keyframes explosion-particle{0%{opacity:1;transform:scale(0)translate(0)}50%{opacity:.8;transform:scale(1)translate(var(--dx),var(--dy))}to{opacity:0;transform:scale(0)translate(calc(var(--dx)*2),calc(var(--dy)*2))}}
