@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translate(0)}25%{transform:translate(4px,-8px)}50%{transform:translate(-2px,4px)}75%{transform:translate(-4px,-4px)}to{transform:translate(0)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-fade-in{animation:fade-in .6s ease-out forwards;animation-delay:var(--fade-delay,0s)}.animate-slide-up{opacity:0;animation:slide-up .6s ease-out forwards;animation-delay:var(--slide-delay,0s)}.animate-float{animation:float ease-in-out infinite;animation-duration:var(--float-duration,6s)}.shimmer-effect{position:relative;overflow:hidden}.shimmer-effect:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.2) 50%,hsla(0,0%,100%,0));animation:shimmer 2.5s infinite}.card-hover{transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.card-hover:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.1)}