@keyframes float-gus{0%{transform:translateY(-50%) translateZ(0)}50%{transform:translateY(-55%) translateZ(20px)}to{transform:translateY(-50%) translateZ(0)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes holo-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.8}to{transform:translate(-50%,-50%) scale(1.1);opacity:.5}}@keyframes center-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.5);opacity:.7}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes light-flicker{0%{opacity:.7}25%{opacity:.9}50%{opacity:.7}75%{opacity:.8}to{opacity:.7}}@keyframes halo-pulse{0%{opacity:.6}to{opacity:.3}}@keyframes gus-pulse{0%{filter:drop-shadow(0 0 15px rgba(30,144,255,.7)) brightness(1.2) contrast(1.1)}to{filter:drop-shadow(0 0 25px rgba(30,144,255,.9)) brightness(1.3) contrast(1.2)}}@keyframes shadow-pulse{0%{transform:scale(1);opacity:.5}50%{transform:scale(.9);opacity:.4}to{transform:scale(1);opacity:.5}}.hover\:shadow-glow:hover{box-shadow:0 0 15px rgba(59,130,246,.7)}.hover\:shadow-glow-light:hover{box-shadow:0 0 12px rgba(191,219,254,.5)}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}.animate-blob{animation:blob 7s infinite}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}@keyframes pigExcited{0%{transform:scale(1) rotate(0deg)}25%{transform:scale(1.2) rotate(-10deg)}50%{transform:scale(1.3) rotate(15deg)}75%{transform:scale(1.2) rotate(-5deg)}to{transform:scale(1) rotate(0deg)}}.pig-excited{animation:pigExcited 1.5s ease-in-out}.confetti-container{position:fixed;width:100%;height:100%;top:0;left:0;overflow:hidden;pointer-events:none;z-index:50}.confetti-container.fade-out{animation:container-fade-out .5s forwards}@keyframes container-fade-out{0%{opacity:1}to{opacity:0}}.confetti{position:absolute;z-index:100;pointer-events:none;animation-fill-mode:forwards}.confetti-pink{background-color:#c81a70;box-shadow:0 0 5px #c81a70}.confetti-orange{background-color:#fb5302;box-shadow:0 0 5px #fb5302}.confetti-purple{background-color:#9333ea;box-shadow:0 0 5px #9333ea}.confetti-blue{background-color:#3b82f6;box-shadow:0 0 5px #3b82f6}.confetti-yellow{background-color:#fbbf24;box-shadow:0 0 5px #fbbf24}.confetti-animation-1{animation:confetti-anim-1 1.5s ease-out forwards}.confetti-animation-2{animation:confetti-anim-2 1.8s ease-out forwards}.confetti-animation-3{animation:confetti-anim-3 2.1s ease-out forwards}@keyframes confetti-anim-1{0%{transform:translate(0) rotate(0deg);opacity:1}to{transform:translate(var(--end-x),var(--end-y)) rotate(1turn);opacity:0}}@keyframes confetti-anim-2{0%{transform:translate(0) rotate(0deg);opacity:1}50%{opacity:1}to{transform:translate(var(--end-x),var(--end-y)) rotate(-1turn);opacity:0}}@keyframes confetti-anim-3{0%{transform:translate(0) rotate(0deg);opacity:1}25%{opacity:1;transform:translate(calc(var(--end-x) * .3),calc(var(--end-y) * .3)) rotate(45deg)}50%{opacity:1;transform:translate(calc(var(--end-x) * .5),calc(var(--end-y) * .5)) rotate(90deg)}to{transform:translate(var(--end-x),var(--end-y)) rotate(180deg);opacity:0}}@keyframes burst{0%{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1.5);opacity:.7}to{transform:translate(-50%,-50%) scale(3);opacity:0}}.fade-out{animation:fade-out .5s forwards}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.falling-to-button{animation:fall-and-stick 1.5s forwards}@keyframes fall-and-stick{0%{transform:translateY(0) rotate(0);opacity:.8}80%{transform:translateY(100px) rotate(1turn);opacity:.9}to{transform:translateY(100px) rotate(1turn);opacity:.9}}.confetti-shimmer{animation:shimmer 3s infinite}@keyframes shimmer{0%{opacity:.6}50%{opacity:.9}to{opacity:.6}}.confetti-burst{animation:confetti-burst .8s ease-out forwards}@keyframes confetti-burst{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--burst-x),var(--burst-y)) scale(.1);opacity:0}}