766274d0b2
- Extract a shared StreamSystemCard composable for the rounded accent container used by zap, raid, and clip cards so they share one visual language. - Unify clip caption rendering through CrossfadeToDisplayComment so captions get the same NIP-19 / emoji treatment as zap and raid messages. - Iterate every `a` tag when routing zap receipts into live-activity channels so a receipt referencing multiple simulcasted streams lands in each of them, and fold the host match into the same pass. - Bucket anonymous and private zaps under a single sentinel key in the Top Zappers aggregator so an "Anonymous" chip shows once with the combined total instead of one chip per one-time pubkey. - Add commonTest coverage for LiveActivitiesRaidEvent marker parsing, LiveActivitiesClipEvent tag parsing, and LiveActivitiesEvent.goalEventId(). https://claude.ai/code/session_01WJA5PvDABegBYUu6h42YZi