i didn't do the update each minute because i think it looks better for short times if it moves smooth (although it wouldn't be that hard to implement, just store the current minute as previous minute, if it's less update the progress bar to the current percent which can still be smooth)
i also implemented a reset button which is shown on pause because i think it's a very important feature in a real world app (what if a user changes the time midway or starts a long pause by accident)
and i noticed somehow it's the only one (or one of very few) submissions that persist the current time, selected timer and settings
and it's fully keyboard accessible :)