Pick work/break times. Start. It will auto‑cycle and ping between phases. Accurate timing, no drift.
Tip: Use space to start/pause, s to skip, r to reset. Click “Sound test” once so the browser allows audio.
It uses timestamps + requestAnimationFrame to compute remaining time each frame (not a drifting interval). The display is clamped to avoid showing negative values like -1:59 on phase switches.