Problem
Player Today renders up to three same-weight pill CTAs plus a separate "Next required event" hero card in the first viewport, violating the one-primary-action rule.
Evidence
src/components/baseball/player-today/PlayerTodayClient.tsx (lines 1497-1528): PrimaryCtaRow renders "Check In", "Acknowledge", and "View Today Plan/Schedule" as peer rounded-full buttons
- (lines 1609-1632): mount that row and
NextEventHero back-to-back under a text-3xl title block
Why it matters
Players opening Today on mobile face decision paralysis before seeing schedule content; the highest-priority action (e.g., pending acknowledgement) is not visually dominant.
Acceptance criteria
- Mobile shows exactly one filled primary CTA chosen by priority (pending ack > due check-in > view plan).
- Secondary actions move to a single overflow/menu or inline text link.
- First meaningful schedule content appears above the fold on a 390×844 device after the single header row.
Problem
Player Today renders up to three same-weight pill CTAs plus a separate "Next required event" hero card in the first viewport, violating the one-primary-action rule.
Evidence
src/components/baseball/player-today/PlayerTodayClient.tsx(lines 1497-1528):PrimaryCtaRowrenders "Check In", "Acknowledge", and "View Today Plan/Schedule" as peerrounded-fullbuttonsNextEventHeroback-to-back under atext-3xltitle blockWhy it matters
Players opening Today on mobile face decision paralysis before seeing schedule content; the highest-priority action (e.g., pending acknowledgement) is not visually dominant.
Acceptance criteria