const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "palette": "Original", "density": "regular", "motion": true }/*EDITMODE-END*/; const PALETTES = { Original: { cream: '#F0E5C9', 'cream-2':'#E8DAB7', 'cream-3':'#F7EFD9', ink: '#1F1108', orange: '#DD4926', matcha: '#7A9B4E', }, Tostado: { cream: '#E8D6B3', 'cream-2':'#D9C49A', 'cream-3':'#F2E5C4', ink: '#2A150A', orange: '#C13F1F', matcha: '#6B8F3F', }, Frío: { cream: '#EEEAE0', 'cream-2':'#DDD6C5', 'cream-3':'#F8F4E8', ink: '#141414', orange: '#EA5A38', matcha: '#558A6F', }, Noche: { cream: '#2A1F18', 'cream-2':'#3A2A1F', 'cream-3':'#F0E5C9', ink: '#F0E5C9', orange: '#FF6B3D', matcha: '#9CC062', }, }; function applyPalette(name) { const p = PALETTES[name] || PALETTES.Original; const root = document.documentElement; Object.entries(p).forEach(([k, v]) => root.style.setProperty('--' + k, v)); // Derived if (name === 'Noche') { root.style.setProperty('--ink-soft', '#D6BFA0'); document.body.style.color = p.ink; } else { root.style.setProperty('--ink-soft', '#3A2418'); document.body.style.color = p.ink; } } function applyDensity(d) { const root = document.documentElement; if (d === 'compact') root.style.setProperty('--sec-pad', '64px'); else if (d === 'comfy') root.style.setProperty('--sec-pad', '120px'); else root.style.setProperty('--sec-pad', '96px'); } function App() { const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); React.useEffect(() => { applyPalette(t.palette); }, [t.palette]); React.useEffect(() => { applyDensity(t.density); }, [t.density]); React.useEffect(() => { document.documentElement.style.setProperty( '--motion-state', t.motion ? 'running' : 'paused' ); // Toggle animations off entirely if motion is off document.body.classList.toggle('no-motion', !t.motion); }, [t.motion]); return ( <>