6054f0ecf9a293fd7d3b5635a53ad6ff65d00a0a
Clicking an inline chat image now opens it enlarged in a full-window overlay. The image renders contain-fit (scaled down, never cropped) over an 80% dimmed backdrop with a ✕ button pinned top-right. The overlay closes four ways: Esc, clicking the backdrop, clicking the image, or the ✕ button. - AppMessage: OpenImageLightbox(AttachmentKey) / CloseImageLightbox - AppState.image_lightbox: Option<AttachmentKey> (init None, cleared on leave in reset_room_state) - inline image wrapped in a mouse_area with a pointer cursor - with_image_lightbox overlay modeled on with_regenerate_confirm; guarded cache lookup so an evicted handle can't panic - Esc handled at the top of the KeyPressed arm so it takes priority over user-bound hotkeys while the overlay is open Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>