The overlay used 'fixed inset-0 lg:left-auto', which lets the container
shrink-to-fit on desktop and collapse the drawer to a sliver (or nothing),
so the open state changed but nothing was visible. Drop left:auto and hide
the overlay fully when closed (visibility + pointer-events).
Hide the static system prompt behind a note, pretty-print JSON message
content, label tool args/result, use an inline spinner for detail loading,
and deep-link to the fresh run from the Agent Settings 'Run triage now'
button via ?run=<id>.
GuestRoute calls useMe() on /login; a logged-out user gets 401 from
/users/me, the client tries refresh, fails, then window.location.assign
('/login') reloads the page while already on /login, restarting the cycle
indefinitely. Skip the redirect when already on the login page and let the
guest route render the form. Adds a regression test.