doom fire
every pixel holds a heat level. each frame, every pixel copies its heat to the pixel above it, drifting up to two pixels sideways and cooling by one level about half the time.
the bottom row never cools. that's the whole fire.
40×30 pixels, 12 heat levels, 24 frames at 12fps, seeded so every build draws the same flames.
the randomness repeats every 24 frames, and a pixel only remembers the last 30 frames of it (heat climbs one row per frame), so the fire settles into a loop with no seam. columns wrap too: tile it sideways and the flames cross the border.
heat is a ramp across the four house fire tokens (--px-ember, --px-flame, --px-glow, --px-core), mixed with color-mix(); cold pixels are transparent, so it layers over any scene. set the tokens on any ancestor of an inline copy to retheme it.