drop ImageViewer; render .blur-img with a lightbox-single class (the class, not a data attribute, because Dioxus' typed span elements reject arbitrary data-* attrs). lightbox.js now keys single-mode off the lightbox-single class instead of data-single. cover uses ?w=20 placeholder + ?w=1200 display; SSR writes --ar from real dimensions.