/* FreeToolzHub — app shell: hash router, theme, toasts, search overlay */ function SearchOverlay({ open, onClose, go }) { const { Icon } = window.DesignSystem_3a7ab0; const { TOOLS } = window.FTH; const [q, setQ] = React.useState(''); const inputRef = React.useRef(null); React.useEffect(() => { if (open) { setQ(''); setTimeout(()=>inputRef.current && inputRef.current.focus(), 60); } }, [open]); if (!open) return null; const list = (q ? TOOLS.filter(t => (t.title+' '+t.desc+' '+t.cat).toLowerCase().includes(q.toLowerCase())) : TOOLS.filter(t=>t.working)).slice(0,9); return (