Give the Digital Library a coherent, polished reading-room visual identity while keeping the current simple one-book browsing flow. ## Tasks - [ ] Build on the responsive layout from #33; do not replace working filtering, sorting, navigation, jump-to-book, or favorite behavior - [ ] Establish reusable plain-CSS variables in `src/index.css` for the small color palette, spacing, borders, shadows, and type scale used across the app - [ ] Refine `App.css` and the existing component CSS so header, controls, book viewer, navigation, and favorites feel like one calm digital-library interface - [ ] Stack the Library and Favorites view controls vertically on narrow screens, while keeping their selected and keyboard-focus states clear - [ ] Keep the book viewer as the visual focus and avoid turning every control or section into a separate card - [ ] Give primary, secondary, selected, hover, disabled, favorite, and keyboard-focus states clear but restrained visual distinction - [ ] Keep content readable with sufficient contrast, balanced line lengths, and deliberate spacing on desktop and mobile - [ ] Use the existing components and plain CSS only; do not add a UI library, marketing hero section, animations, gradients, glass effects, or new API calls - [ ] Test the finished design at a narrow mobile width and a normal desktop width, then update snapshots only if intentional markup changes require it ## Acceptance criteria - [ ] The app has a consistent digital-library / reading-room appearance rather than a generic dashboard or online store look - [ ] The existing controls stay easy to scan and use without competing with the displayed book - [ ] Interactive states and visible keyboard focus remain clear - [ ] The design works deliberately at both 320 px width and a normal desktop width with no horizontal page overflow - [ ] Filtering, sorting, navigation, favorites, storage behavior, and request behavior remain unchanged - [ ] `npm run format:check` / `npm run lint` / `npm test` / `npm run build` pass Branch `feat/<n>-library-visual-design` from main after #33 and the cover-presentation issue merge. Part of M4.