The CSR shell served to regular browsers caused a visible blank-to-content
flash: the browser painted an empty <app-root>, then waited for Angular
to bootstrap and lazy-load the route before any content appeared.
All requests now route through the Angular SSR engine (appEngine.handle()),
which fetches fresh station config from the API via APP_INITIALIZER before
rendering. The first paint carries real content, colors, and assets.