d6ea734152
Queue-based playback on top of HTMLAudioElement: rune store + pure action functions, single <audio> mounted in the root layout driven via $effect, MediaSession metadata/action handlers, and a persistent bottom bar with shuffle/repeat/volume. Non-goals: server-side listen history (awaiting /api/events), cross-refresh persistence, keyboard shortcuts. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>