{inner}
{window.RESDRI_DEV && (
)}
{/* Tweaks — only in dev mode */}
{window.RESDRI_DEV &&
setTweak('dark', v)} />
{
const lookup = { '#0F766E': 'teal', '#EA580C': 'orange', '#4338CA': 'indigo', '#18181B': 'mono' };
const first = Array.isArray(v) ? v[0] : v;
setTweak('palette', lookup[first] || 'teal');
}}
/>
setTweak('font', v)} />
setTweak('density', v)} />
setTweak('alertPlacement', v)} />
{ setTab(v); setFlow('idle'); }} />
}
{/* In production we still need a logout path. Tiny floating ghost button
in the bottom corner of the desktop wrapper (hidden in fullscreen/PWA mode
where Profile tab → logout button is the path). */}
{!window.RESDRI_DEV && !fullScreen && (
)}
);
}
// ── Visual atoms ──────────────────────────────────────────────────
function DeviceShell({ children, t, fullScreen }) {
if (fullScreen) {
return (