## alert (`poetry_alert`)

A callout that highlights an important inline message.

Class: Poetry::Ui::Alert::Component - BEM block `poetry-ui-alert`.
- `variant:` (symbol) - one of default|destructive, default "default", required - The intent axis; :destructive marks errors and announces assertively.
Slots: icon (Optional leading icon; pass icon props (e.g. name: :"triangle-alert"), not a block.; takes poetry_icon props, not a block), title (The heading line of the callout.), action (Optional corner action (a dismiss button or link), pinned to the top-right.).
- PART `alert` - The callout root - role rides the variant (destructive announces assertively via role=alert; default is a polite role=status) | states: data-variant=default|destructive (always - the resolved variant)
- PART `alert-title` - The heading line, rendered when the title slot is set
- PART `alert-action` - The corner action well (with_action) - a dismiss or link pinned to the top-right by the theme
- PART `alert-description` - The body copy - the content block renders here
In blocks: `destructive-panel` - for a screen, start from the block (MCP compose/describe_block, or `bin/rails g poetry:block`), not from scratch.
- RULE: Use poetry_alert for inline callouts - it carries role/aria-live; never a hand-rolled div.
- RULE: destructive announces assertively (role=alert) - reserve it for errors, not emphasis.
