e7345aed6c
Wraps the active-row Text in a Node with BackgroundColor(ACCENT_PRIMARY) so the row reads as "current focus" against the panel's elevated background. Inner Text colour bumps from TEXT_PRIMARY (#d0d0d0) to TEXT_PRIMARY_HC (#f5f5f5) for legible contrast against the brick-red highlight. format_active_move_row now prefixes the row with `▶` (the focus marker) so the visual hierarchy is reinforced even before the background paints (HC mode, future palette tweaks). The empty case still returns empty — cursor=0 doesn't paint a stray "▶ " prefix on an otherwise-empty row. Mirrors the mockup at docs/ui-mockups/replay-overlay-mobile.html § "Move Log Card" where the active row has bg-suit-red-cb (brick-red equivalent) + dark text + the ▶ marker. 3 new tests: - active_row_wrapper_carries_accent_primary_background: walks from the active-row Text to its parent Node and asserts the wrapper carries BackgroundColor(ACCENT_PRIMARY). - active_row_text_uses_high_contrast_color_for_highlight: pins the TextColor as TEXT_PRIMARY_HC. - active_row_format_includes_focus_prefix: pure-helper guard for the ▶ prefix + the cursor=0-stays-empty contract. Plus 2 existing tests updated for the new prefixed format (format_active_move_row_handles_cursor_zero_and_positive, move_log_active_row_repaints_on_cursor_advance). Tests: 1266 → 1269 (+3 net new, +2 updated). Clippy clean. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>