Local playback used to send everything through mpv. Audio now decodes in-process via symphonia and outputs through cpal; mpv is spawned only when a video item plays. Chromecast and UPnP still handle both.
- New SymphoniaPlayer: streaming HTTP media source, symphonia probe + decode, SPSC ring buffer feeding a cpal output stream.
- New LocalRenderer: dispatches per QueueItem — audio→symphonia, video→mpv — behind the existing Renderer trait.
- Preflight no longer aborts when mpv is missing; audio still works, video prints an actionable hint.
- Player bar and help hints relabelled "mpv" → "local".