Build a polished local web prototype for the fictional SignalDesk product using signaldesk-product-brief.md and app-records.json. Use plain HTML, CSS, and JavaScript with no package installation, external assets, remote APIs, analytics, authentication, deployment, or external app writes.

The product is a launch-intelligence dashboard for product, marketing, and strategy teams. Create a desktop-first interface that remains usable at 390 px viewport width.

Required behavior:
- Load and display all 12 records from app-records.json.
- Show summary counts for all records, High-impact records, Launched records, and Preview records.
- Provide a case-insensitive text search across provider, product, category, and summary.
- Provide working Provider, Category, Status, and Impact filters plus a clear-all control.
- Let the user open a record in an accessible details drawer or dialog.
- Let the user select up to two records and compare their date, provider, category, status, impact, and summary side by side.
- Preserve search, filter, and comparison state across a page reload with localStorage.
- Include an empty state when filters return no records.
- Treat the example.test source URLs as inert fictional data. Do not navigate to them.

Use the supplied palette and a locally available sans-serif. Make the hierarchy feel like an editorial intelligence product: restrained, dense enough to be useful, and readable. Avoid placeholder charts, nonfunctional controls, excessive rounded cards, gradients, and decorative animation.

Serve the app locally. Verify the required interactions in a real browser, including keyboard access to the details view and the 390 px layout. Check the browser console for errors. Save at least one desktop and one mobile screenshot locally. Report the output paths, test evidence, and any remaining defect. Keep everything local and unpublished.
