feat(web): configurable browser defaults in Settings → Integrations

The preview browser always opened in fill mode, at 100% zoom, following the
system appearance. That is rarely what you want if you work in responsive mode
against a handful of known viewports, and there was no way to say otherwise.

Adds a Settings → Integrations page whose first section is Browser, holding the
defaults a preview tab opens at: viewport (fill, responsive, or a device
preset), zoom, and appearance. They apply to every entry point that opens a tab
without stating its own size — a hand-opened browser panel and an agent calling
`preview_open` alike.

The viewport travels with `preview.open` and zoom/appearance with `createTab`,
so a tab is born configured rather than reflowing a frame later.

Agents keep their 1280x800 fallback, but only when no default is configured:
a fill-mode tab would otherwise be sized by whatever the panel happens to be,
and agents assert against what they open.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
de4c1ee1e1Julius Marminge committed on 8/15/2026, 2:26:16 PMparentad11723
19 files changedLine totals unavailable