Exploration timers were showing more time than the area's stated duration
when the server clock was ahead of the client clock. The timer now uses
the server-provided endsAt timestamp directly instead of deriving startedAt
from it, making countdowns immune to client/server clock skew. Old saves
without endsAt fall back to the previous startedAt-based calculation.
Closes#53