OVERSCANUI KIT
no button at all a worn bezel with weight channels do not converge zero depth instrumented, full of smoke a field of real characters a camera looking out additive, so no shadow hairlines, no new shader no raster, so no scanlines

It stops when its clock does. The count comes from a source, not from this browser, and between heartbeats it advances on its own clock for at most holdover seconds, with the sync age on screen so you can see how much of the number is interpolation. Past that the readout turns to dashes and says the last value the source actually gave, rather than counting on towards a T-0 nobody upstream agrees with any more. A hold is different and looks different: someone stopped the count, so the number stays true however long the hold lasts, and on release T-0 moves by exactly the hold's length. A source that sends null is lost at once, and one that keeps sending the same time is a stuck clock and goes lost too.

demo/countdown.html, from this page
import 'overscan'
import 'overscan/overscan.css'

<ov-countdown
  id="clock"
  holdover="1"
  places="1"
></ov-countdown>
feed: live, 4 Hz
variation: source="mission" target="252000"
import 'overscan'
import 'overscan/overscan.css'

<ov-countdown
  source="mission"
  target="252000"
></ov-countdown>
terminal
live
holding
one sync, then nothing
never synced
variation: source="mission" target="540000" holding=""
import 'overscan'
import 'overscan/overscan.css'

<ov-countdown
  source="mission"
  target="540000"
  holding=""
></ov-countdown>
industrial
live
holding
one sync, then nothing
never synced
variation: clock="0" target="252000"
import 'overscan'
import 'overscan/overscan.css'

<ov-countdown
  clock="0"
  target="252000"
></ov-countdown>
cyber
live
holding
one sync, then nothing
never synced
antiseptic
live
holding
one sync, then nothing
never synced
esper
live
holding
one sync, then nothing
never synced
neo
live
holding
one sync, then nothing
never synced
machina
live
holding
one sync, then nothing
never synced
holo
live
holding
one sync, then nothing
never synced
aegis
live
holding
one sync, then nothing
never synced
vector
live
holding
one sync, then nothing
never synced