* fix(ci): keep the catalog publish PR when main changes nothing it generates
The bot compared the whole branch tree with main, so every main push rewrote
the standing PR and dismissed its approval. It now compares only generated
catalog files, with search vectors judged by the drift check's cosine rule.
* fix(ci): republish when main edits generated files or the branch carries others
* docs(registry): motion-blur copies explain their inline styles in three lines
* refactor(ci): split the kept-snapshot check into named conditions