:root {
    --neon: var(--theme-accent, #c8ff00);
    --neon-rgb: var(--theme-rgb, 200,255,0);
}

body { background-color: #0a0a0a; color: #fff; font-family: 'Inter', sans-serif; }

.glow-text  { text-shadow: 0 0 30px rgba(var(--neon-rgb),.6); }
.glow-box   { box-shadow: 0 0 24px rgba(var(--neon-rgb),.25); }
.glow-btn   { box-shadow: 0 0 20px rgba(var(--neon-rgb),.5); }

.text-neon  { color: var(--neon); }
.bg-neon    { background-color: var(--neon); }

.scanlines::after {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
        0deg, transparent, transparent 2px,
        rgba(0,0,0,.06) 2px, rgba(0,0,0,.06) 4px
    );
    pointer-events: none;
}

.hero-blob {
    background: radial-gradient(ellipse 70% 60% at 70% 50%, rgba(var(--neon-rgb),.10) 0%, transparent 70%);
}

.feature-card {
    background: #141414;
    border: 1px solid #222;
    transition: border-color .25s, transform .25s;
}
.feature-card:hover {
    border-color: var(--neon);
    transform: translateY(-4px);
}

.navbar { backdrop-filter: blur(12px); background: rgba(10,10,10,.85); }

@keyframes pulse-neon {
    0%, 100% { box-shadow: 0 0 18px rgba(var(--neon-rgb),.4); }
    50%       { box-shadow: 0 0 40px rgba(var(--neon-rgb),.8); }
}
.qr-pulse { animation: pulse-neon 2.5s ease-in-out infinite; }

@keyframes ticker {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
.ticker-track { animation: ticker 22s linear infinite; }
.ticker-track:hover { animation-play-state: paused; }

@keyframes spin-slow { to { transform: rotate(360deg); } }
.spin-slow  { animation: spin-slow 20s linear infinite; }
.spin-rev   { animation: spin-slow 14s linear infinite reverse; }
