feat(player): YouTube audio via the site audio player (continuous play + bottom bar)
Audio-only YouTube embeds now play through the persistent site audio player
instead of a per-card player:
- audio-player.js gets a second backend: a hidden YT IFrame player in the
(persistent) player root. loadTrack/play/pause/seek/volume/mute/progress/ended
are backend-aware (ytMode). New API: pcmsAudioPlayer.playYouTube({id,...}).
- embed-player.js: an audio-only YT embed is now a launcher that calls
pcmsAudioPlayer.playYouTube (no own control bar anymore).
Result: YouTube audio appears in the bottom bar, keeps playing during htmx
navigation, and mutual exclusion with the site tracks is automatic (one player).
busters audio-player.js?v=21, embed-player.js?v=9, embed.css?v=6.
Co-Authored-By: Claude <noreply@…>