@keyframes gradient-x{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes gradient-y{0%,to{background-position:50% 0}50%{background-position:50% 100%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px rgba(99,102,241,.5)}50%{box-shadow:0 0 40px rgba(99,102,241,.8)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-gradient-x{background-size:200% 200%;animation:gradient-x 3s ease infinite}.animate-gradient-y{background-size:200% 200%;animation:gradient-y 3s ease infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-shimmer{background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3) 50%,hsla(0,0%,100%,0));background-size:1000px 100%;animation:shimmer 2s infinite}.animate-slide-up{animation:slide-up .5s ease-out}.animate-fade-in{animation:fade-in .3s ease-out}.animate-scale-in{animation:scale-in .3s ease-out}.glass{background:hsla(0,0%,100%,.7);border:1px solid hsla(0,0%,100%,.2)}.glass,.glass-dark{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.glass-dark{background:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1)}.gradient-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-success{background:linear-gradient(135deg,#10b981,#059669)}.gradient-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.gradient-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.gradient-info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.gradient-rainbow{background:linear-gradient(135deg,#ec4899,#8b5cf6 50%,#3b82f6)}.gradient-sunset{background:linear-gradient(135deg,#fa709a,#fee140)}.gradient-ocean{background:linear-gradient(135deg,#667eea,#764ba2)}.shadow-glow{box-shadow:0 0 20px rgba(99,102,241,.3)}.shadow-glow-green{box-shadow:0 0 20px rgba(16,185,129,.3)}.shadow-glow-red{box-shadow:0 0 20px rgba(239,68,68,.3)}.shadow-glow-yellow{box-shadow:0 0 20px rgba(245,158,11,.3)}.shadow-3xl{box-shadow:0 35px 60px -15px rgba(0,0,0,.3)}.border-gradient{border:2px solid transparent;background-clip:padding-box;position:relative}.border-gradient:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-2px;border-radius:inherit;background:linear-gradient(135deg,#667eea,#764ba2)}.hover-lift{transition:all .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.15)}.hover-glow{transition:all .3s ease}.hover-glow:hover{box-shadow:0 0 30px rgba(99,102,241,.5)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#6a4293)}.text-gradient{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text}.text-gradient,.text-shimmer{-webkit-text-fill-color:transparent}.text-shimmer{background:linear-gradient(90deg,#667eea,#764ba2 50%,#667eea);background-size:200% auto;-webkit-background-clip:text;background-clip:text;animation:gradient-x 3s linear infinite}.backdrop-blur-xs{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.backdrop-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.backdrop-blur-lg{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.backdrop-blur-xl{backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px)}.pattern-dots{background-image:radial-gradient(circle,rgba(99,102,241,.1) 1px,transparent 0);background-size:20px 20px}.pattern-grid{background-image:linear-gradient(rgba(99,102,241,.05) 1px,transparent 0),linear-gradient(90deg,rgba(99,102,241,.05) 1px,transparent 0);background-size:20px 20px}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-bounce{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}