/* Main app — composes all sections, manages charter modal + tweaks */ const { useState: useStateA, useEffect: useEffectA } = React; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "#C18D33", "density": "default", "hero": "cinematic", "showWhatsApp": false, "darkShell": false }/*EDITMODE-END*/; function App() { const [charterOpen, setCharterOpen] = useStateA(false); const [locale, setLocale] = useStateA("en"); const [tweaks, setTweak] = (typeof useTweaks === "function") ? useTweaks(TWEAK_DEFAULTS) : [TWEAK_DEFAULTS, () => {}]; // Apply tweaks useEffectA(() => { document.documentElement.style.setProperty("--gold", tweaks.accent || "#C18D33"); document.documentElement.style.setProperty("--gold-soft", lighten(tweaks.accent || "#C18D33", 0.15)); document.documentElement.style.setProperty("--gold-deep", darken(tweaks.accent || "#C18D33", 0.18)); document.body.dataset.density = tweaks.density || "default"; }, [tweaks.accent, tweaks.density]); // Locale → dir useEffectA(() => { document.documentElement.dir = locale === "ar" ? "rtl" : "ltr"; document.documentElement.lang = locale; }, [locale]); // Body lock when modal open useEffectA(() => { document.body.style.overflow = charterOpen ? "hidden" : ""; return () => { document.body.style.overflow = ""; }; }, [charterOpen]); const openCharter = () => setCharterOpen(true); const closeCharter = () => setCharterOpen(false); return ( <>