@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .8s ease-out}.animate-slide-up{animation:slide-up .8s ease-out;animation-delay:.2s;animation-fill-mode:both}.shadow-green-500\/25{box-shadow:0 10px 25px -5px rgba(34,197,94,.25)}.shadow-blue-500\/25{box-shadow:0 10px 25px -5px rgba(59,130,246,.25)}.hover\:scale-105:hover{transform:scale(1.05)}.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}.group:hover .group-hover\:translate-y-1{transform:translateY(.25rem)}.backdrop-blur-lg{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.bg-white\/90{background-color:rgba(255,255,255,.9)}.bg-white\/80{background-color:rgba(255,255,255,.8)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes slide-in{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.animate-float{animation:float 4s ease-in-out infinite}.animate-bounce{animation:bounce 2s ease-in-out infinite}.animate-slide-in{animation:slide-in .8s ease-out forwards}.animate-fade-in{animation:fade-in .6s ease-out forwards}.animate-wiggle{animation:wiggle 2s ease-in-out infinite}.character-hover{transition:transform .3s ease,filter .3s ease;cursor:pointer}.character-hover:hover{transform:scale(1.1) rotate(5deg);filter:drop-shadow(0 10px 20px rgba(22,163,74,.3))}