@keyframes fade-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(59,130,246,.3)}50%{box-shadow:0 0 20px rgba(59,130,246,.6)}}.animate-fade-in{animation:fade-in 1s ease-out}.animate-slide-up{animation:slide-up .8s ease-out}.animate-slide-up-delay{animation:slide-up .8s ease-out .2s both}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.animate-gradient{background-size:400% 400%;animation:gradient-shift 8s ease infinite}.animate-shimmer{animation:shimmer 2s infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.hover-float{transition:all .3s ease}.hover-float:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 15px 30px -5px rgba(0,0,0,.15)}.glass{background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2)}.glass-card{background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.3)}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2563eb}@media (max-width:768px){h1{font-size:2.25rem!important;line-height:2.5rem!important}h2{font-size:1.875rem!important;line-height:2.25rem!important}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 4px 15px rgba(59,130,246,.3);transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(59,130,246,.4)}.btn-gradient{background:linear-gradient(135deg,#667eea,#764ba2);transition:all .3s ease}.btn-gradient:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-2px)}.card-modern{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.8);border:1px solid hsla(0,0%,100%,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.card-modern:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.card-gradient-border{position:relative;background:#fff;border-radius:1rem}.card-gradient-border:before{content:"";position:absolute;inset:0;padding:2px;background:linear-gradient(45deg,#3b82f6,#8b5cf6,#06b6d4);border-radius:inherit;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:xor}.form-modern{position:relative;overflow:hidden}.form-modern:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(59,130,246,.1),transparent);transform:rotate(45deg);animation:shimmer 3s infinite}.progress-bar{background:linear-gradient(90deg,#3b82f6,#8b5cf6);height:4px;border-radius:2px;position:relative;overflow:hidden}.progress-bar:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);animation:shimmer 2s infinite}.notification-enter{transform:translateX(100%);opacity:0}.notification-enter-active{transition:all .3s ease}.notification-enter-active,.notification-exit{transform:translateX(0);opacity:1}.notification-exit-active{transform:translateX(100%);opacity:0;transition:all .3s ease}