## 1. Hero UX Fixes

- [x] 1.1 Update hero primary CTA in `frontend/index.html` to open the in-site summary modal for the hero item.
- [x] 1.2 Keep hero source link as a secondary external action and preserve tracking events.
- [x] 1.3 Strengthen hero overlay and metadata styles so `LATEST` and relative time remain readable across image brightness levels.

## 2. Modal Layout Improvements

- [x] 2.1 Increase modal width for desktop while keeping mobile-safe responsive behavior.
- [x] 2.2 Update modal height/overflow behavior to support near full-height scrolling for long content.
- [x] 2.3 Verify close controls and keyboard escape behavior remain intact after sizing changes.

## 3. TL;DR Loading Feedback

- [x] 3.1 Add a dedicated horizontal shimmer placeholder for TL;DR content while modal summary data is initializing.
- [x] 3.2 Hide the TL;DR shimmer placeholder when TL;DR bullets are available and render the bullet list.

## 4. Image Relevance and Fallback

- [x] 4.1 Update keyword fallback logic in `backend/news_service.py` to use AI-focused default terms when extracted keywords are insufficient.
- [x] 4.2 Add explicit generic AI summary-image fallback behavior when provider chain returns no usable image.
- [x] 4.3 Ensure context-aware keyword/provider attempts always run before generic AI fallback selection.

## 5. Validation

- [x] 5.1 Verify hero CTA opens summary modal instead of navigating away.
- [x] 5.2 Verify modal sizing on desktop/mobile and long-content scrolling behavior.
- [x] 5.3 Verify TL;DR shimmer appears during pending state and disappears after load.
- [x] 5.4 Verify generic AI fallback image is used when provider chain fails.
