/* Main App */ const { useEffect: useEffectApp, useState: useStateApp } = React; const DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "#e6242b" }/*EDITMODE-END*/; function App() { const [tweaks, setTweak] = useTweaks(DEFAULTS); const accent = tweaks.accent || "#e6242b"; // reveal on scroll useEffectApp(() => { const els = document.querySelectorAll(".reveal"); const obs = new IntersectionObserver((entries) => { entries.forEach((e) => { if (e.isIntersecting) { e.target.classList.add("in"); obs.unobserve(e.target); } }); }, { threshold: 0.08, rootMargin: "0px 0px -40px 0px" }); els.forEach((el) => obs.observe(el)); return () => obs.disconnect(); }, []); // accent → CSS var so the whole sheet picks it up useEffectApp(() => { document.documentElement.style.setProperty("--accent", accent); }, [accent]); return ( <>