The demo-dashboard embedded MeshStream with a fixed min-h-[480px] grid + overflow-y-auto on the message <ol>. Browsers capture every wheel event that fires over a scrollable container — so hovering the demo section froze page scroll until the user moved the cursor off. Landing demo has only 6 messages, never needs internal scroll. The fixed viewport only makes sense in the live dashboard where envelope count can exceed the box. Added `scrollable?: boolean` prop to MeshStream (default false). - demo-dashboard (landing): no prop → intrinsic height, no overflow, wheel events propagate to the page - live-stream-panel (/dashboard/meshes/[id]/live): scrollable → keeps the chat-style fixed viewport with scroll Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>