:root{--neon-cyan:185 100% 50%;--neon-lime:51 98% 50%;--neon-magenta:300 100% 60%;--neon-blue:220 100% 60%;--gradient-neon:linear-gradient(135deg,hsl(var(--neon-cyan)) 0%,hsl(var(--neon-lime)) 100%);--shadow-neon-cyan:0 0 20px hsl(var(--neon-cyan)/0.5),0 0 40px hsl(var(--neon-cyan)/0.3);--shadow-neon-lime:0 0 20px hsl(var(--neon-lime)/0.5),0 0 40px hsl(var(--neon-lime)/0.3)}[data-theme=homepage-dark]{--background:220 15% 5%;--foreground:0 0% 98%;--card:220 15% 8%;--card-foreground:0 0% 98%;--popover:220 15% 8%;--popover-foreground:0 0% 98%;--primary:185 100% 50%;--primary-foreground:220 15% 5%;--secondary:51 98% 50%;--secondary-foreground:220 15% 5%;--muted:220 15% 15%;--muted-foreground:220 10% 60%;--accent:280 100% 65%;--accent-foreground:0 0% 98%;--border:220 15% 20%;--input:220 15% 15%;--ring:185 100% 50%}.neon-text-cyan{color:hsl(var(--neon-cyan));text-shadow:0 0 10px hsl(var(--neon-cyan)/.8),0 0 20px hsl(var(--neon-cyan)/.5)}.neon-text-lime{color:hsl(var(--neon-lime));text-shadow:0 0 10px hsl(var(--neon-lime)/.8),0 0 20px hsl(var(--neon-lime)/.5)}.neon-border-cyan{border-color:hsl(var(--neon-cyan));box-shadow:var(--shadow-neon-cyan)}.neon-border-lime{border-color:hsl(var(--neon-lime));box-shadow:var(--shadow-neon-lime)}.glass-card{background:hsl(var(--card)/.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--border)/.5)}.grid-pattern{background-image:linear-gradient(hsl(var(--border)/.3) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--border)/.3) 1px,transparent 1px);background-size:50px 50px}.gradient-text{background-clip:text;-webkit-background-clip:text;color:transparent;background-image:var(--gradient-neon)}@keyframes glow-pulse{0%,to{opacity:1;filter:brightness(1)}50%{opacity:.8;filter:brightness(1.2)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-glow-pulse{animation:glow-pulse 2s ease-in-out infinite}.animate-float{animation:float 6s ease-in-out infinite}@keyframes data-stream{0%{transform:translateY(-100%);opacity:0}50%{opacity:1}to{transform:translateY(100vh);opacity:0}}.animate-data-stream{animation:data-stream 3s linear infinite}