
:root { --font-sans: Roboto, ui-sans-serif, system-ui, -apple-system, Segoe UI, Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji'; }
body { font-family: var(--font-sans); }
.neon-text{background:linear-gradient(90deg,#a78bfa,#f0abfc,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(168,85,247,.55))}
.neon-ring{box-shadow:0 0 30px rgba(147,51,234,.35)}
.bg-neon {background: radial-gradient(60% 60% at 50% 10%, rgba(124,58,237,.25), transparent 70%);}  
.scrolltop{ position:fixed; right:1rem; bottom:1rem; display:none; }

/* Sticky header underline hover */
.nav-link{ position:relative; padding:.5rem .75rem; border-radius:.75rem; }
.nav-link::after{ content:""; position:absolute; left:.75rem; right:.75rem; bottom:.2rem; height:2px; background:linear-gradient(90deg,#a78bfa,#f0abfc,#c4b5fd); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.nav-link:hover::after{ transform:scaleX(1); }

/* HERO full viewport */
.hero{ min-height: calc(100dvh - var(--adminbar-h, 0px) - var(--header-h, 64px)); display:flex; align-items:center; position:relative; }
.hero-cta{ transition: transform .15s ease; } .hero-cta:hover{ transform: translateY(-1px); }

/* Slider 3-view visuals */
#slider .slide{ transition: transform .35s ease, opacity .35s ease, filter .35s ease; }
#slider .slide-inner{ position:relative; height:100%; overflow:hidden; border:1px solid rgba(255,255,255,.08); background:#0a0a0a55; }
#slider .slide img{ width:100%; height:100%; object-fit:cover; display:block; }
#slider .slide--center{ transform:scale(1.06); z-index:3; }
#slider .slide--side{ transform:scale(.92); opacity:.95; z-index:2; }
#slider .slide--far{ transform:scale(.85); opacity:.65; filter:saturate(.7) brightness(.75); z-index:1; }
#slider .slide-caption{ position:absolute; left:1rem; right:1rem; bottom:1rem; background:rgba(17,17,17,.7); border:1px solid rgba(255,255,255,.08); padding:1rem; border-radius:.75rem; opacity:0; transform:translateY(6px); transition:opacity .25s ease, transform .25s ease; }
#slider .slide--center .slide-caption{ opacity:1; transform:translateY(0); }

/* Auto contain for tall/narrow slider images */
#slider .img-contain{ object-fit: contain !important; background:#0a0a0a; object-position: center; }

/* Floating active users badge */
#activeBadge{ position:fixed; right:1rem; z-index:40; user-select:none; pointer-events:none; }
#activeBadge .bubble{ display:inline-flex; align-items:center; gap:.5rem; border-radius:1rem; padding:.5rem .75rem; background:rgba(24,24,27,.8); border:1px solid rgba(255,255,255,.08); box-shadow:0 0 20px rgba(168,85,247,.25); backdrop-filter: blur(6px); }
#activeBadge .dot{ width:10px; height:10px; border-radius:9999px; background:#34d399; box-shadow:0 0 12px rgba(52,211,153,.9); }

/* Scroll cue arrow */
.scroll-cue{ position:absolute; left:50%; bottom:22px; width:26px; height:16px; margin-left:-13px; z-index:50; cursor:pointer; background:url('../images/scroll-down-arrow.png') center no-repeat; background-size:contain; filter:drop-shadow(0 2px 6px rgba(0,0,0,.5)); animation: cue-bounce 2.2s infinite; }
@keyframes cue-bounce{ 0%{ transform: translate(-50%,0);} 70%{ transform: translate(-50%,-12px);} 72%{ transform: translate(-50%,0);} 100%{ transform: translate(-50%,0);} }

/* Anchor scroll offset */
#slider, #subscription, #contact { scroll-margin-top: calc(var(--adminbar-h, 0px) + var(--header-h, 64px) + 12px); }
