@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:.3s ease-in-out fadeIn}.animate-fade-in-slow{animation:.6s ease-in-out fadeIn}.animate-slide-in-up{animation:.4s ease-out slideInUp}.animate-slide-in-down{animation:.4s ease-out slideInDown}.animate-slide-in-left{animation:.4s ease-out slideInLeft}.animate-slide-in-right{animation:.4s ease-out slideInRight}.animate-scale-in{animation:.3s ease-out scaleIn}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.hover-lift{transition:transform .2s,box-shadow .2s}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0000001a}.hover-scale{transition:transform .2s}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .3s}.hover-glow:hover{box-shadow:0 0 20px #06b6d480}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-bounce{transition:all .5s cubic-bezier(.68,-.55,.265,1.55)}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a 50%,#ffffff0d 75%) 0 0/200% 100%;animation:2s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.page-enter{animation:.3s ease-in-out fadeIn}.page-exit{animation:.3s ease-in-out fadeOut}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.card-enter{opacity:0;animation:.4s ease-out forwards slideInUp}.card-enter-1{animation-delay:50ms}.card-enter-2{animation-delay:.1s}.card-enter-3{animation-delay:.15s}.card-enter-4{animation-delay:.2s}.card-enter-5{animation-delay:.25s}.card-enter-6{animation-delay:.3s}.success-pulse{animation:.6s ease-out successPulse}@keyframes successPulse{0%{box-shadow:0 0 #22c55eb3}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 #22c55e00}}.error-shake{animation:.5s ease-in-out shake}.focus-glow:focus{outline:none;box-shadow:0 0 0 3px #06b6d480}.animate-fade-in-up{animation:.4s ease-out forwards fadeInUp}.animate-fade-in-up-delay-1{opacity:0;animation:.4s ease-out .1s forwards fadeInUp}.animate-fade-in-up-delay-2{opacity:0;animation:.4s ease-out .15s forwards fadeInUp}.animate-fade-in-up-delay-3{opacity:0;animation:.4s ease-out .2s forwards fadeInUp}.animate-fade-in-up-delay-4{opacity:0;animation:.4s ease-out .25s forwards fadeInUp}@media (prefers-reduced-motion:no-preference){.animate-on-scroll{opacity:0;transition:opacity .4s ease-out,transform .4s ease-out;transform:translateY(30px)}.animate-on-scroll.in-view{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
