@keyframes aurora-drift{0%,to{transform:translate(0%)rotate(0)scale(1)}25%{transform:translate(10%,-15%)rotate(45deg)scale(1.1)}50%{transform:translate(-5%,10%)rotate(90deg)scale(.95)}75%{transform:translate(-10%,-5%)rotate(135deg)scale(1.05)}}@keyframes aurora-drift-2{0%,to{transform:translate(0%)rotate(0)scale(1.05)}25%{transform:translate(-12%,8%)rotate(-30deg)scale(.9)}50%{transform:translate(8%,-12%)rotate(-90deg)scale(1.1)}75%{transform:translate(5%,15%)rotate(-135deg)scale(1)}}@keyframes aurora-drift-3{0%,to{transform:translate(0%)rotate(0)scale(.95)}33%{transform:translate(15%,10%)rotate(60deg)scale(1.15)}66%{transform:translate(-8%,-15%)rotate(120deg)scale(.9)}}.aurora-blob-1{animation:20s ease-in-out infinite aurora-drift}.aurora-blob-2{animation:25s ease-in-out infinite aurora-drift-2}.aurora-blob-3{animation:30s ease-in-out infinite aurora-drift-3}@keyframes beam-sweep{0%{transform:translate(-100%)skew(-15deg)}to{transform:translate(200vw)skew(-15deg)}}.light-beam{pointer-events:none;width:40%;height:100%;position:absolute;top:0;left:0}.light-beam-1{background:linear-gradient(90deg,#0000,#6366f108,#93c5fd0d,#6366f108,#0000);animation:12s ease-in-out infinite beam-sweep}.light-beam-2{background:linear-gradient(90deg,#0000,#a855f705,#818cf80a,#a855f705,#0000);animation:18s ease-in-out 6s infinite beam-sweep}@keyframes line-glow{0%,to{opacity:.03}50%{opacity:.08}}.glow-line-h{animation:8s ease-in-out infinite line-glow}.glow-line-v{animation:10s ease-in-out 3s infinite line-glow}@keyframes text-shimmer{0%{background-position:200%}to{background-position:-200%}}.text-shimmer{background-size:200%;animation:8s linear infinite text-shimmer}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #3b82f64d,0 0 60px #6366f11a}50%{box-shadow:0 0 30px #3b82f680,0 0 80px #6366f133}}.glow-pulse{animation:3s ease-in-out infinite glow-pulse}@keyframes border-rotate{0%{--angle:0deg}to{--angle:360deg}}@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}.gradient-border{border-image:conic-gradient(from var(--angle), #3b82f6, #8b5cf6, #ec4899, #3b82f6) 1;animation:6s linear infinite border-rotate}@keyframes grain-shift{0%,to{transform:translate(0)}10%{transform:translate(-2%,-2%)}20%{transform:translate(2%,2%)}30%{transform:translate(-1%,3%)}40%{transform:translate(3%,-1%)}50%{transform:translate(-3%,1%)}60%{transform:translate(1%,-3%)}70%{transform:translate(-2%,2%)}80%{transform:translate(2%,-2%)}90%{transform:translate(1%,1%)}}.grain-overlay{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;animation:.5s steps(10,end) infinite grain-shift}@keyframes grid-scroll{0%{background-position:0 0}to{background-position:0 32px}}.animated-grid{animation:4s linear infinite grid-scroll}@keyframes count-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orbit-ring{animation:30s linear infinite orbit}.orbit-ring-reverse{animation:45s linear infinite reverse orbit}.magnetic-card{transform-style:preserve-3d;perspective:1000px;transition:transform .3s cubic-bezier(.23,1,.32,1)}.magnetic-card:hover{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}.spotlight-card:before{content:"";border-radius:inherit;background:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%), #6366f10f, transparent 60%);pointer-events:none;z-index:1;opacity:0;transition:opacity .4s;position:absolute;inset:0}.spotlight-card:hover:before{opacity:1}@keyframes breathe{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}.breathe-ring{animation:4s ease-in-out infinite breathe}@keyframes line-draw{0%{stroke-dashoffset:200px}to{stroke-dashoffset:0}}@keyframes float-badge{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.float-badge{animation:3s ease-in-out infinite float-badge}@keyframes ripple-out{0%{opacity:.4;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}.ripple-container:after{content:"";border-radius:inherit;pointer-events:none;border:2px solid #6366f166;animation:2s ease-out infinite ripple-out;position:absolute;inset:0}
