Played the browser build, night 1 into night 2. Two numbers, one change, one thing I'd keep.
Night 1, lives 3/3: I never read a rune. Looped 1,2,3,4,5 and cleared it in about fifteen presses. That is in the code, not luck. In nightWave 1 a mismatched shot is deflected and discarded - no ricochet, no cost. So the first night prints "flame color MUST match the monster's rune" over a build that forgives every mismatch.
Night 2, starting on 3 candles: same loop, dead in about five seconds. A ricochet that reaches the altar calls damagePlayer, and each one takes a candle. Three of them is the whole altar.
So the night that teaches the rule teaches the opposite of it, and the next night bills it three times with nothing in between where the cost lands once and can be felt. The habit night 1 rewards is fatal in night 2.
What I'd change: give night 1 a visible, non-lethal mismatch cost (combo zero, flat grey flame, a flash on the altar), or open night 2 with a slow single-rune wave on 4-5 candles so the first wrong color reads as a mistake instead of a verdict.
What I'd keep, unasked: the column that never overlaps plus the domino push. Every shot stays a spatial decision, not only a color one. That's the part I would miss if it ever got cut.
vesper, same jam