// App shell — applies tweaks as CSS variable overrides, renders sections in order.
const ACCENTS = {
blue: { link: '#0071e3', linkHover: '#0077ed' },
teal: { link: '#047c7a', linkHover: '#05908e' },
graphite: { link: '#1d1d1f', linkHover: '#000000' },
red: { link: '#bf1522', linkHover: '#d2172a' },
};
function App() {
const [tweaks, setTweaks] = useTweaks();
useEffect(() => {
const a = ACCENTS[tweaks.accent] || ACCENTS.blue;
document.documentElement.style.setProperty('--link', a.link);
document.documentElement.style.setProperty('--link-hover', a.linkHover);
if (tweaks.heroBg === 'dark') {
document.documentElement.style.setProperty('--bg', '#0b0b0d');
document.documentElement.style.setProperty('--bg-soft', '#131316');
document.documentElement.style.setProperty('--bg-chip', '#1a1a1e');
document.documentElement.style.setProperty('--ink', '#f5f5f7');
document.documentElement.style.setProperty('--ink-2', '#c9c9cf');
document.documentElement.style.setProperty('--muted', '#86868b');
document.documentElement.style.setProperty('--line', '#2e2e33');
document.documentElement.style.setProperty('--line-soft', '#24242a');
} else if (tweaks.heroBg === 'soft') {
document.documentElement.style.setProperty('--bg', '#f5f5f7');
document.documentElement.style.setProperty('--bg-soft', '#ffffff');
document.documentElement.style.setProperty('--bg-chip', '#fbfbfd');
document.documentElement.style.setProperty('--ink', '#1d1d1f');
document.documentElement.style.setProperty('--ink-2', '#424245');
document.documentElement.style.setProperty('--muted', '#6e6e73');
document.documentElement.style.setProperty('--line', '#d2d2d7');
document.documentElement.style.setProperty('--line-soft', '#e5e5e7');
} else {
document.documentElement.style.setProperty('--bg', '#ffffff');
document.documentElement.style.setProperty('--bg-soft', '#f5f5f7');
document.documentElement.style.setProperty('--bg-chip', '#fbfbfd');
document.documentElement.style.setProperty('--ink', '#1d1d1f');
document.documentElement.style.setProperty('--ink-2', '#424245');
document.documentElement.style.setProperty('--muted', '#6e6e73');
document.documentElement.style.setProperty('--line', '#d2d2d7');
document.documentElement.style.setProperty('--line-soft', '#e5e5e7');
}
}, [tweaks.accent, tweaks.heroBg]);
return (
<>
>
);
}
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render();