Pseudo → Python
One program, three stages. Shared tokens travel to their new place; only genuinely new syntax fades in.
FOREACHstudentINstudentsIFgrade>=60SAY"pass"OTHERWISESAY"fail"
Plain English. Every word is a concept, none of them is syntax yet.
Why it reads: the tokens carry keys, not positions. A word that means the same thing in both languages keeps its key, so the browser moves it (550ms) instead of replacing the block. Words that only exist in one stage fade out first, and the new ones arrive after the moves have landed. Hover any word to link it to its twin; the arrows and the stage pills step the transform by hand.