Build image / build-and-push (push) Successful in 11s
Part of #85. 100vh→100dvh on both full-height pages (editor + public), a 401 during chat now redirects to /login instead of mislabelling a dead session as "assistant broken", error toasts persist (capped at 4) with a close button, and the journal's built-but-unreachable date filter gets a UI. Gadfly round handled (public-page 100dvh, toast cap, shared date-input class). Larger deferred items (revision retention, agent toolbox gaps) noted for their own issues.