Creates an external-content FTS5 virtual table `email_fts` backed by the `emails` table. Three triggers (AI/AU/AD) keep the index in sync automatically. Schema bumped to v26; backfill runs on upgrade. `searchEmailsGlobal` now issues a ranked FTS5 JOIN instead of `LIKE '%word%'` scans, making search O(log n) via the inverted index. Words are expanded to prefix terms (`word*`) so partial matches still work. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>