Deterministic per-frame grain, scanlines and a vignette, seeded on the frame index so it reproduces byte-for-byte

This is the format it was composed for. Switch above to see it lay itself out for another — same animation, re-arranged for the frame.
No Tailwind, no CSS, no asset files. Inline styles only.
An animated film grain and vignette overlay that changes every frame but renders identically every time, shown over a sample headline so the effect reads in context.