@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.8}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes rotate-gentle{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in .5s ease-out}.animate-slide-in-left{animation:slide-in-left .5s ease-out}.animate-slide-in-right{animation:slide-in-right .5s ease-out}.animate-scale-in{animation:scale-in .3s ease-out}.animate-pulse-subtle{animation:pulse-subtle 2s ease-in-out infinite}.hover-lift{transition:transform .2s cubic-bezier(.22,1,.36,1);will-change:transform}.hover-lift:hover{transform:translateY(-2px)}.hover-shadow{transition:box-shadow .2s cubic-bezier(.22,1,.36,1)}.hover-shadow:hover{box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}