// App entry — wires it all up
function App() {
  // reveal on scroll
  React.useEffect(() => {
    const obs = new IntersectionObserver((entries) => {
      entries.forEach((e) => { if (e.isIntersecting) e.target.classList.add("in"); });
    }, { threshold: 0.12 });
    document.querySelectorAll(".reveal").forEach((el) => obs.observe(el));
    return () => obs.disconnect();
  }, []);

  return (
    <React.Fragment>
      <Navbar/>
      <Hero/>
      <HowItWorks/>
      <Features/>
      <DemoQuiz/>
      <Gamification/>
      <Roadmap/>
      <Stats/>
      <Military/>
      <FAQ/>
      <Download/>
      <Footer/>
    </React.Fragment>
  );
}

ReactDOM.createRoot(document.getElementById("root")).render(<App/>);
