The deck list panel + live stats bar with enforcement.
Scope
DeckPanel (container) + DeckCardRow (thumbnail, quantity stepper, core-card toggle, remove).
- Enforce ≤4 per unique
fullName, ≥60 target, ≤2 inks (block adding a 3rd ink; reuse canShareDeck).
DeckStatsBar: curve mini-chart, ink split, type split, count + legality chip.
Tests/Stories: legal/illegal/over-cap states; data-testids on rows/steppers/count pill.
Part of #451 · Deck Builder & Engine Score milestone.
The deck list panel + live stats bar with enforcement.
Scope
DeckPanel(container) +DeckCardRow(thumbnail, quantity stepper, core-card toggle, remove).fullName, ≥60 target, ≤2 inks (block adding a 3rd ink; reusecanShareDeck).DeckStatsBar: curve mini-chart, ink split, type split, count + legality chip.Tests/Stories: legal/illegal/over-cap states;
data-testids on rows/steppers/count pill.Part of #451 · Deck Builder & Engine Score milestone.