.bg-grid-pattern{background-image:linear-gradient(90deg,rgba(100,116,139,.1) 1px,transparent 0),linear-gradient(180deg,rgba(100,116,139,.1) 1px,transparent 0);background-size:20px 20px}.glass-effect{background:hsla(0,0%,100%,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.dark .glass-effect{background:rgba(17,24,39,.7)}.animated-gradient-text{background-image:linear-gradient(90deg,#3b82f6,#6366f1,#8b5cf6,#6366f1,#3b82f6);background-size:200% auto;color:transparent;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shine 8s linear infinite}@keyframes shine{to{background-position:200%}}.card-hover-effect{transition:all .3s ease}.card-hover-effect:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.floating{animation:float 3s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.gradient-border{position:relative;border-radius:1rem;overflow:hidden}.gradient-border:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;padding:2px;background:linear-gradient(90deg,#3b82f6,#6366f1);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card-3d{perspective:1000px}.card-3d,.card-3d-inner{transform-style:preserve-3d}.card-3d-inner{transition:transform .6s}.card-3d:hover .card-3d-inner{transform:rotateY(10deg) rotateX(5deg)}.shimmer{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.8) 50%,hsla(0,0%,100%,0));background-size:200% 100%}.dark .shimmer,.shimmer{animation:shimmer 2s infinite}.dark .shimmer{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.1) 50%,hsla(0,0%,100%,0));background-size:200% 100%}@keyframes shimmer{0%{background-position:-100% 0}to{background-position:100% 0}}