@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes list-item{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{opacity:.5}50%{opacity:1}}.animate-fade-in-up{animation:fade-in-up .6s ease-out forwards;opacity:0}.animate-fade-in{animation:fade-in .4s ease-out forwards;opacity:0}.animate-list-item{animation:list-item .5s ease-out forwards;opacity:0}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.filter-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.filter-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.search-container:focus-within{transform:scale(1.02);transition:transform .2s ease-out}.search-button{transition:all .2s ease-out}.search-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(59,130,246,.3)}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient{background-size:200% 200%;animation:gradient-shift 3s ease infinite}