Home, privacy, and scan each repeated the same 13 title/canonical/Open Graph/Twitter tags; PageMetadata now emits them once with route-specific title, description, url, and an optional noindex. Screenshots keeps one record per device instead of four parallel arrays plus a lookup table. FAQ hash jumps and screenshot arrows forced behavior: 'smooth' from JS, which bypasses the prefers-reduced-motion override in layout.css; both now defer to CSS scroll-behavior. Removes the unused adapter-auto dependency.