# Console runner `components/runner.tsx` is the whole console: file drop with encoding-aware decode, the paste box, stage pills, SSE reading, the live report, a cancel button, and the error line. The Analyse button is disabled while a stage is active and re-enabled only on the `done` frame — which is what the end-to-end test waits on before asserting report contents. Design follows the [[Design tokens]] contract: dark workbench, JetBrains Mono for plan data, IBM Plex Sans for prose, one phosphor accent. The layout holds at 320 px without horizontal scroll, and every settings field has a real `