- ArticleReader.vue: sticky TOC sidebar (desktop), mobile dropdown - Auto-generated heading anchors with IntersectionObserver tracking - Reading time estimate, font size controls (persisted localStorage) - Print mode opens clean window with serif typography - Long-form detection (>800 words + headings) shows "Read as article" - Removed isDark conditionals from ArticleDetail (dark-only app) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>