// Tweaks — accent (yellow/blue/both) + hero variant (classic/bold) function useTweaks(){ const [state, setState] = React.useState(()=>({ ...(window.TWEAK_DEFAULTS||{}) })); const [visible, setVisible] = React.useState(false); React.useEffect(()=>{ const onMsg = (e)=>{ const d = e.data || {}; if (d.type==='__activate_edit_mode') setVisible(true); if (d.type==='__deactivate_edit_mode') setVisible(false); }; window.addEventListener('message', onMsg); window.parent.postMessage({type:'__edit_mode_available'}, '*'); return ()=>window.removeEventListener('message', onMsg); },[]); React.useEffect(()=>{ const root = document.documentElement; const a = state.accent; if (a==='yellow') { root.style.setProperty('--accent','var(--yellow)'); root.style.setProperty('--accent-2','var(--yellow)'); } else if (a==='blue') { root.style.setProperty('--accent','var(--blue)'); root.style.setProperty('--accent-2','var(--blue)'); } else { root.style.setProperty('--accent','var(--yellow)'); root.style.setProperty('--accent-2','var(--blue)'); } }, [state.accent]); const set = (k,v)=>{ const next = {...state, [k]:v}; setState(next); window.parent.postMessage({type:'__edit_mode_set_keys', edits:{[k]:v}}, '*'); }; return { state, set, visible }; } function TweaksPanel({state, set, visible}){ if (!visible) return null; const Row = ({label, children})=>(