Review by Claude Fable 5.1 (claude-fable-5-1) — both branches mergeable.
Verified: the grain filter's maths (colour-matrix rows, alpha transfer, clamping, merge, userSpaceOnUse region), determinism (one grain file is correct: the cloud RNG stream is tone-independent), the no-bump caching argument (the five existing drawings unchanged, grain.svg a new path), Home's front-page test asserts every linked layer, and both gates.
Low findings, fixed in cce8898: stale comments (five files, intermediate state), grain.svg added to the handler test, haze/clouds weights kept in sky.css for cached pages, the grain's brightness claim stated exactly. Dark-scheme grain strength compared by eye against the approved sky: comparable, no extra gain.