@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(var(--primary),.5)}50%{box-shadow:0 0 20px rgba(var(--primary),.8),0 0 30px rgba(var(--primary),.6)}}.animate-fade-in{animation:fadeIn .6s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .6s ease-out forwards;opacity:0}.animate-shimmer{animation:shimmer 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite alternate}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.bg-grid-pattern{background-image:linear-gradient(rgba(var(--primary),.1) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--primary),.1) 1px,transparent 1px);background-size:50px 50px}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.1)}.glass{background-color:hsla(0,0%,100%,.75);border:1px solid rgba(209,213,219,.3)}.glass,.glass-dark{-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%)}.glass-dark{background-color:rgba(17,25,40,.75);border:1px solid hsla(0,0%,100%,.125)}.gradient-text{background:linear-gradient(135deg,var(--foreground),var(--primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:rgba(var(--muted),.1);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb{background:rgba(var(--primary),.3);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(var(--primary),.5)}@keyframes pulse-ring{0%{transform:scale(.33)}40%,50%{opacity:0}to{opacity:0;transform:scale(1.2)}}.pulse-ring{position:relative}.pulse-ring:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border:2px solid var(--primary);border-radius:inherit;animation:pulse-ring 1.5s cubic-bezier(.215,.61,.355,1) infinite}.stagger-animation>*{animation:fadeInUp .6s ease-out forwards;opacity:0}.stagger-animation>:first-child{animation-delay:0ms}.stagger-animation>:nth-child(2){animation-delay:.1s}.stagger-animation>:nth-child(3){animation-delay:.2s}.stagger-animation>:nth-child(4){animation-delay:.3s}.stagger-animation>:nth-child(5){animation-delay:.4s}.stagger-animation>:nth-child(6){animation-delay:.5s}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:768px){.animate-fade-in-up{animation-duration:.3s}.hover-lift:hover{transform:none}}