## Summary
- Only the generic overlay type (`app/render/[projectId]/page.tsx`) ever read `searchParams` and forced a full-viewport `CHROMA_KEY_RGB` background (`OverlayRenderer`) when asked. The scoreboard and match-info render pages never declared a `searchParams` prop at all, and their own renderers had no chroma-key concept anywhere -- they always rendered the operator's own configured theme/background on just the widget itself, never the full viewport.
- Confirmed live: sink's capturer page-ready gate samples the *whole frame's* green fraction (>=25% required) before considering an interactive overlay "ready" -- a widget-only background, however green, never gets there once the widget is smaller than the full canvas, so the gate always timed out at its full budget and the composited output never showed anything.
- Mirrors the generic renderer's existing, already-proven approach: read `searchParams.mode`, pass `chromaKey` down, force the root container's background to `CHROMA_KEY_RGB` (overriding the operator's own theme/background choice) when set.

Pairs with [sink#124](https://github.com/plevion-dev/sink) (host-set fix so the `?mode=chromakey` param actually reaches `plevion.com` URLs) and frontend-admin's HLS retry-budget widening.
