I thought that 21..Qf6?? was a blunder, but then I flinched. I saw the refutation and figured it was probably a +2 blunder, but then believed my opponent’s rating in semi-time pressure. Opponent had spent lots of time on move, and for example 21..Qc7! actually gives the edge to Black according to Fruit. What I thought my opponent’s idea was was 22.Rxe Qxf2, 23.QxQ RxQ, 24.KxQ BxNd4, 25.cxB RxRc1, but as Alex showed me after the game I would then have 26.Re6xBe8+ winning. I had simply cut off the analysis one ply short, feeling the pressure (a couple people were watching by now).
23.Kh2?? was a desirable move, but not concrete. I should have played what had at first appeared obvious to me, 22.BxBg6. I missed that after 22…BxNd4 that I have to capture the bishop on d4 first instead of BxBg6.
26…QxBg6 caught me off guard in time-pressure, and I wasn’t thinking creatively at this point (probably a good enough reason not to get smashed with your buddies the night before a game). 28.Qg2 is best.
30.Rg5?? Game, set, and match. This is part of what time-pressure madness is all about. I played an obvious-looking move, but 30.f5! with the idea of 30..exf, 31.Rd6 is good enough for a draw with best play. It also allows the White king into the Black pawn formation/position.