The builder shell + card pool.
Scope
DeckBuilderPage: two-pane on desktop (deck panel | card pool), bottom-sheet driven on mobile.
- Card pool reuses
BrowseCardGrid (virtualized) + the shared filter groups (FilterDialog drawer/modal, ink/cost/inkwell/type, SortSelect, search).
- Tap a
CardTile to add to the deck; open card details via CardModalContext.
Watch: inline-style tokens from theme.ts; no backdrop-filter: blur (WebKit E2E trap). Story + E2E for the shell.
Part of #451 · Deck Builder & Engine Score milestone.
The builder shell + card pool.
Scope
DeckBuilderPage: two-pane on desktop (deck panel | card pool), bottom-sheet driven on mobile.BrowseCardGrid(virtualized) + the shared filter groups (FilterDialogdrawer/modal, ink/cost/inkwell/type,SortSelect, search).CardTileto add to the deck; open card details viaCardModalContext.Watch: inline-style tokens from
theme.ts; nobackdrop-filter: blur(WebKit E2E trap). Story + E2E for the shell.Part of #451 · Deck Builder & Engine Score milestone.