FitAddon's proposeDimensions() always subtracts a phantom scrollbar width even when CSS hides the scrollbar — losing one column of usable width. fitFull() divides host clientWidth/clientHeight by the renderer's reported cell size directly. Also POSTs the resized cols/rows back to /api/term/.../resize on initial mount and after fonts.ready so bash/opencode get the correct PTY size before the user types. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>