Step 1 / 4 · the draw
The app shows one quest. Not a list. There is no list. The quest below is computed in this page from the date and the minutes you type, using a fixed template deck and a seeded generator, so the same date and minutes always produce the same quest. No server picked it.
Step 2 / 4 · the camera
Opening the camera asks the browser for camera permission. The frame never leaves the device: nothing is uploaded, nothing is stored, no request is made. The page is a local file or a local server page, so there is no upload path even if it wanted one.
Step 3 / 4 · the proof
One capture. Then the camera is released. The numbers under the frame are measured from the captured pixels in this page: average luminance, dimensions, encoded PNG size, and a SHA-256 digest of the encoded frame. A digest proves the framed copy matches the one described here; it does not establish where or when you stood, and the page labels it that precisely.
Step 4 / 4 · the end
The closing action is the whole point. It ends the session instead of starting a new one. If the browser refuses to let a script close a tab that the script did not open, the page says which refusal happened and stops there. It does not offer a next thing.
Session finished.
There is no next quest, no streak, no badge, and no reason to return tomorrow other than the quest itself. That is the design, not an outage.