Abort the tour with a reason (timeout, skip, target vanished,
unknown-target). detail carries reason context (timeout duration,
targetId) — the controller enriches it with entity data before
diagnostics.
Outward commands: the machine executes nothing itself — the controller
applies effects (timers, overlay, diagnostics). The machine's purity is
what makes it headlessly testable and independent of render mechanics.
Go one step back. On the first step — a no-op (there is nothing to go
back to; the waiting timer is NOT re-armed, so spamming back does not
extend the wait).