Add app_settings migration, settings UI, and OpenAI-compatible httpx LLM client with mocked tests.
Preserve API keys on blank form submissions, require a fresh key when base_url changes, and keep AI search settings untouched for step 3.
Update docs/design LLM integration and step 3 AI search notes, including prompt contract and extra-hints planning.
- serve manifest and service worker from the app root for install compatibility
- add manifest metadata, service worker registration, and Apple touch icon links to the base template
- add install icon assets for Android, iOS, and desktop install flows
- document deployment and validation notes for the new PWA support
- cover the new endpoints and template output with tests