v1.9.4 — Worker catch-up on mobile lock
Mobile browsers throttle worker setInterval to ~1 Hz on locked screens. The worker now catches up missed ticks each fire (capped at 1.5 s) so the song stays in sync with the audio clock instead of slowing to a crawl. Beats may still clump under heavy throttle — true steady playback through lock would require AudioContext-clock scheduling — but the song no longer falls behind.