Nice game! Now, as white, how (and on which move) should white have played different to avoid loosing? Maybe, as you said, instead of 21. Kh1? White should have played 21. d4 or Qf1 or Qf4. Any way, his knigt and bishop were already away from the action and your rook had the e column to participate on the attack of the white's king. It also seems that 24. Rg1? was not good because it trapped the king. How about 24. Kc2 aiming to d4 and to get the knight closer to the "action".