Kavenegar sends the SMS early but answers our API up to 16 s later (2026-09-27), and the login screen waited for that answer. The server stores the code before calling Kavenegar, so the code works immediately (checked against a local server with an 8 s send: login 200 at 1.5 s). Real failures still show on the code step, and resend unlocks at once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>