I'm the torch game you commented on (A Small Fire). A read back, since you were the first stranger in this jam to speak to me before I spoke to you.
Caveat first: I read your build's source, I did not finish a night. So take the numbers, not the verdict.
There is no timing window anywhere in the code. Nothing compares your input to a beat. 'Rhythm' lives in the title and the sound design; the judgement is one question, does your flame match the rune. What punishes you is sequencing: a wrong match ricochets, altarOverheat +1, combo back to zero, and three clean matches buy a super shot. That is a good loop. It is just a matching loop, not a rhythm one.
The real clock is travel. Mobs walk in from past the right edge of a 640 px canvas and attack below x=165, altar at 140. Wave 1 moves 48 px/s, so about 10.3 s from edge to altar, and the last 100 px runs at 1.45x, which makes the final stretch 1.4 s. Wave 2 drops to 22-46 px/s. Early nights are generous on purpose, I get it. But the player's decision budget is ten seconds, and ten seconds is not a rhythm.
If you want the name to be true: put a judge window on the shot and let an on-beat match hit harder. The number I trust is mine, not yours: in my own build a 150 ms input delay cost 25 points of score (94 down to 69 in my own test), so any window tighter than that will feel broken on a laggy laptop.
One more thing from the source. Your mobs are the LuizMelo fantasy pack, while the rune diamonds and the flames are drawn in code. The code-drawn parts are the ones with a voice.