- OffensiveApproach: read game state from store (fix same prop-passing bug as DefensiveSetup),
remove steal option (check_jump encompasses it), hide unavailable actions instead of disabling,
fix conditions (sac/squeeze: <2 outs + runners, hit-and-run: R1/R3 not R2-only)
- Remove all emoji icons from decision components (OffensiveApproach, DefensiveSetup, DecisionPanel)
- RunnerCard: always show hold/not-held pills on occupied bases (status indicator in all phases)
- DecisionPanel: remove dead hasRunnersOnBase computed and prop pass-through
- Rewrite OffensiveApproach tests (32 new tests with Pinia store integration)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>