The story of the game
David, this is the revenge arc: on Tuesday a knight on h5 lost you a game; tonight 22...Nh5 won you one — because this time it had a target. You wobbled a little in the middlegame (a pawn's worth after 10...g6), stabilized, and then finished with the exact move your review asked of you: the in-between blow. 23...Nxg3 didn't answer the attack on your queen — it asked a bigger question first, at 42 seconds on the clock.
The key moments
10...g6 — the one real dent (53% → 40%). The engine wanted 10...e4 — the pawn push with tempo against the f3-knight — over a quiet weakening move. The same theme flickers at 13...Qd7 (the engine liked the active Bg4) and at 18...e4, played one move after its best moment (18...a5 first, prying the queenside).
7...O-O — the bishop that forgot its job. 3...Bb4 exists to take on c3 at the right moment; the engine's choice here was exactly 7...Bxc3. After the retreat to a5, White got a3 and b4 in and the bishop watched the rest from b6.
22...Nh5 — the rim knight with a job. The difference from Tuesday: this one attacked something (the lifted rook) and had a follow-up. Rim knights aren't bad — aimless ones are.
23...Nxg3 — the zwischenzug. White's 23.Bg4 attacked your queen and assumed she'd move. You checked the forcing moves first and took the rook. That is, verbatim, the "counterplay before defense" drill from your profile — executed in under a minute.
Profile check
Log the pattern: three of your four flags were moments where an active pawn move was the engine's first choice. Your winning blow was a piece capture — but the games you'll simplify into wins come from finding ...e4 and ...a5 on time.
What to drill next
- Every move, one question before placing a piece: "is there a pawn move with tempo?"
- When you play ...Bb4 systems, taking on c3 is the plan — don't preserve the bishop into passivity.
- Keep the zwischenzug scan: attacked ≠ obligated. You proved it tonight.