17d42ed4fe
L161: <main> is now a non-scrolling flex slot; each screen owns its scroll via shared shells in ui/Screen.tsx — 'page' (Library/Settings/empty History scroll the shell) and 'fill' (Downloads/Terminal/History scroll their own list/log, shell scrolls only as short-window fallback). height:100% couplings replaced with flexGrow+minHeight:0; list regions floored at 160px so they can't collapse on short windows. L104: HistoryView renders through VirtualList; Ctrl+A re-homed onto a wrapper around the scroller, per-row Delete unchanged on rows. Verified with an Electron probe against the vite preview at 1100x720 and 800x520 (probe metrics + screenshots): one active scroller per screen, main/body never scroll, floors hold. Adds .claude/launch.json for the preview server. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>