Each letter gets its own "lock-in" frame: later letters lock in later, plus a bit of randomness so the reveal doesn't look mechanical. Until a letter locks in, it shows a random character from noiseCharacters.
A monospace font keeps every character the same width, so the heading doesn't jiggle while it scrambles. aria-label holds the real phrase, so screen readers announce the words, not the noise.
Safety note: innerHTML is used to color the noise, which is fine because the text comes from your own phrase list. The script also escapes < and &, so a stray character can't break the markup.
With reduced motion on, the scramble is much shorter, so the text settles in a fraction of a second.