Card grants produce a post-state-total entry and run the CardCosmeticReward cascade (foil twin → id-1 lookup). Cascade additions are skipped when the viewer already owns the cosmetic; missing-master-row failures are logged and dropped without failing the parent grant. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>