Security
Two follow-up bypasses in the dangerous-CSS checks added in 1.0.13, both closed here (ref GHSA-ww22-4mqv-x5w3).
A /* inside a string literal ate the rest of the stylesheet. Comment stripping used a plain regex, so content:"/*" was read as the start of a comment; being unterminated, it swallowed everything after it and hid whatever dangerous tokens followed. That made 1.0.13 weaker than 1.0.12 for this shape. Comment stripping is now string-aware: a /* inside a "..." or '...' string is content, not a comment.
image-set() matching could not cross a nested paren. The pattern used [^)]*, so image-set(url(a.png) 1x, "https://evil" 2x) slipped past, as did the same candidate nested inside cross-fade(), and an external URL smuggled through a custom property and pulled back in with var(). The regex is replaced by a single string- and paren-aware pass that flags an off-origin scheme in a quoted string whenever it is an argument, at any depth, to an image function or the value of a custom property.
Relative image-set() candidates, url(#fragment), and a URL shown only via content: are still left alone. Suite is green at 84 tests / 150 assertions.
Anyone embedding untrusted SVG or HTML should update. Grav users should take the next Grav release, which bundles this version.