document.addEventListener("DOMContentLoaded", () => { // ── Register button const regBtn = document.getElementById("reg-btn"); if (regBtn) { regBtn.addEventListener("click", () => { alert("Frontend skeleton only. Backend will be connected later."); }); } // ── Smooth scroll for all anchor links document.querySelectorAll('a[href^="#"]').forEach(link => { link.addEventListener("click", e => { const id = link.getAttribute("href").slice(1); const target = document.getElementById(id); if (!target) return; e.preventDefault(); const headerH = document.querySelector(".header").offsetHeight; const top = target.getBoundingClientRect().top + window.scrollY - headerH - 16; window.scrollTo({ top, behavior: "smooth" }); }); }); // ── Scroll reveal const reveals = document.querySelectorAll(".reveal"); const io = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add("visible"); io.unobserve(entry.target); } }); }, { threshold: 0.12 }); reveals.forEach(el => io.observe(el)); });