## scroll_area (`poetry_scroll_area`)

A bounded, keyboard-reachable scroll region with styled scrollbars.

Class: Poetry::Ui::ScrollArea::Component - BEM block `poetry-ui-scroll_area`.
Content block REQUIRED (what scrolls) - a blockless call raises.
- `label:` (string) - required - The region's accessible name (role=region + aria-label) - required, because a focusable region must be named.
- PART `scroll-area` - The bounding wrapper - size it with classes; content decides the overflow
- PART `scroll-area-viewport` - The focusable native scroll region (role=region + tabindex=0) with themed platform scrollbars - zero JS
- RULE: Size the scroll area with classes (h-72 w-48, max-h-96) - content decides the overflow.
- RULE: label: is REQUIRED - the viewport is focusable, and a focusable region needs a name (role=region + aria-label).
- RULE: This is a NATIVE scroll surface - never bolt scroll JS onto it; use MessageScroller for chat transcripts.
