.gradient-text{background:linear-gradient(135deg,#a855f7 0%,#22d3ee 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.glass{background:#ffffff08;border:1px solid #ffffff14}.btn-primary{cursor:pointer;background:linear-gradient(135deg,#8b5cf6 0%,#06b6d4 100%);text-decoration:none;transition:opacity .2s,transform .2s;display:inline-block}.btn-primary:hover{opacity:.92;transform:translateY(-1px)}.btn-secondary{cursor:pointer;border:1px solid #fff3;text-decoration:none;transition:background .2s;display:inline-block}.btn-secondary:hover{background:#ffffff0d}.nav-link{color:#94a3b8;text-decoration:none;transition:color .2s}.nav-link:hover{color:#fff}.hero-glow{background:radial-gradient(at 75% 40%,#8b5cf638 0%,#0000 55%)}.grid-bg{background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:60px 60px}.pulse-dot{animation:2s infinite mkt-pulse}@keyframes mkt-pulse{0%,to{opacity:1}50%{opacity:.5}}.node-pulse{animation:3s ease-in-out infinite nodePulse}@keyframes nodePulse{0%,to{opacity:.85}50%{opacity:1;transform-origin:50%;transform:scale(1.05)}}.data-flow{stroke-dasharray:4 8;animation:1.6s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-24px}}.float-up{animation:5s ease-in-out infinite floatUp}@keyframes floatUp{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}
