A measured pass rather than a bulk rewrite. Numbers come from the source and from a browser. The migration entry covers what has accumulated since 0.8.5 and would otherwise reach upgraders unannounced: the Tabs output contract, the Sidebar BEM rename, the layout components leaving Tailwind so their rendered class lists changed, LayoutSplitter and CustomScrollbar changing props and outputs, the ui.css families that were removed, and the theme tokens that now paint where they previously resolved to nothing. The audit records what is still wrong, with counts: 32 outputs across 16 components that nothing emits, 23 components still on the scaffold pattern, 66 without a local style block and therefore dependent on ui.css, and 10 still using Tailwind. A test pins the dead-output count at 32 as a ceiling that only moves down, so rebuilding a component tightens it and no new one can be added quietly. It also records what is not worth doing. Splitting the runtime saves 3 to 4 kB gzipped on a first visit to a file cached for a year, and hydration costs 1.5 ms for 21 scopes across 4325 elements, so neither is a real problem. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>