Event: Biel Chess Festival 2025 Blitz
Site: Biel, Switzerland
Date: 2025-07-20
White: Tkhoruk, Roman
WhiteElo: 1980
Black: Soo, Kai Jie
BlackTitle: FM
BlackElo: 2259
Result: 0-1
ECO: A07
Opening: King's Indian Attack: Double Fianchetto
Variant: Standard
TimeControl: 3 min + 2 sec per move

1. g3 { [%eval 0.0] [%clk 0:03:03] } 1... d5 { [%eval 0.15] [%clk 0:03:03] } 2. Nf3 { [%eval 0.15] [%clk 0:03:03] } 2... g6 { [%eval 0.2] [%clk 0:03:02] } 3. c4 { [%eval 0.0] [%clk 0:03:04] } 3... c6 { [%eval 0.2] [%clk 0:03:02] } 4. d4 { [%eval 0.18] [%clk 0:03:04] } 4... Nf6 { [%eval 0.18] [%clk 0:03:03] } 5. Nc3 { [%eval 0.14] [%clk 0:03:03] } 5... Bg7 { [%eval 0.13] [%clk 0:03:03] } 6. cxd5 { [%eval 0.12] [%clk 0:03:00] } 6... cxd5 { [%eval 0.09] [%clk 0:03:03] } 7. Bg2 { [%eval 0.09] [%clk 0:03:01] } 7... O-O { [%eval 0.25] [%clk 0:03:03] } 8. O-O { [%eval 0.24] [%clk 0:03:01] } 8... Ne4 { [%eval 0.2] [%clk 0:03:04] } 9. Bf4 { [%eval 0.1] [%clk 0:02:58] } 9... Nxc3 { [%eval 0.2] [%clk 0:02:49] } 10. bxc3 { [%eval 0.15] [%clk 0:02:57] } 10... Qa5?! { [%eval 0.71] } { Inaccuracy. Nc6 was best. } { [%clk 0:02:49] } 11. Qb3 { [%eval 0.7] [%clk 0:02:53] } 11... Nc6 { [%eval 0.78] [%clk 0:02:47] } 12. Ne5?! { [%eval 0.17] } { Inaccuracy. h4 was best. } { [%clk 0:02:39] } 12... Nxe5 { [%eval 0.21] [%clk 0:02:46] } 13. Bxe5 { [%eval 0.01] [%clk 0:02:38] } 13... Bxe5 { [%eval 0.08] [%clk 0:02:44] } 14. dxe5 { [%eval 0.0] [%clk 0:02:38] } 14... e6 { [%eval 0.02] [%clk 0:02:36] } 15. f4?! { [%eval -0.64] } { Inaccuracy. Rfe1 was best. } { [%clk 0:02:38] } 15... Rb8 { [%eval -0.4] [%clk 0:02:18] } 16. e3 { [%eval -0.78] [%clk 0:02:19] } 16... Bd7 { [%eval -0.61] [%clk 0:02:14] } 17. Rfc1 { [%eval -0.64] [%clk 0:02:12] } 17... b5 { [%eval -0.55] [%clk 0:02:05] } 18. Qb4 { [%eval -0.54] [%clk 0:02:02] } 18... Qb6 { [%eval -0.41] [%clk 0:02:05] } 19. Qd4 { [%eval -0.54] [%clk 0:02:01] } 19... Qa5 { [%eval -0.51] [%clk 0:01:57] } 20. Qb4 { [%eval -0.43] [%clk 0:02:02] } 20... Qc7 { [%eval -0.56] [%clk 0:01:58] } 21. Qd4 { [%eval -0.76] [%clk 0:01:57] } 21... Rfc8 { [%eval -0.81] [%clk 0:01:57] } 22. Bf1 { [%eval -0.76] [%clk 0:01:39] } 22... Qa5 { [%eval -0.48] [%clk 0:01:53] } 23. Qb4 { [%eval -0.56] [%clk 0:01:31] } 23... Qb6 { [%eval -0.72] [%clk 0:01:54] } 24. Qd4 { [%eval -0.73] [%clk 0:01:32] } 24... Rc5 { [%eval -0.69] [%clk 0:01:55] } 25. Rab1 { [%eval -0.62] [%clk 0:00:59] } 25... Qc7 { [%eval -0.61] [%clk 0:01:55] } 26. a4?! { [%eval -1.28] } { Inaccuracy. Rc2 was best. } { [%clk 0:00:50] } 26... a6 { [%eval -1.51] [%clk 0:01:49] } 27. axb5 { [%eval -1.63] [%clk 0:00:51] } 27... axb5? { [%eval -0.21] } { Mistake. Bxb5 was best. } { [%clk 0:01:47] } 28. Rb3 { [%eval -0.72] [%clk 0:00:40] } 28... Rc8?! { [%eval 0.0] } { Inaccuracy. Ra8 was best. } { [%clk 0:01:48] } 29. Qb4?! { [%eval -0.95] } { Inaccuracy. Ra3 was best. } { [%clk 0:00:39] } 29... Qa7?! { [%eval 0.0] } { Inaccuracy. Ra8 was best. } { [%clk 0:01:43] } 30. Ra3 { [%eval 0.0] [%clk 0:00:38] } 30... Qb6 { [%eval 0.0] [%clk 0:01:42] } 31. Kf2 { [%eval 0.0] [%clk 0:00:37] } 31... Kg7 { [%eval 0.0] [%clk 0:01:42] } 32. Be2 { [%eval 0.0] [%clk 0:00:34] } 32... h5 { [%eval 0.0] [%clk 0:01:30] } 33. h4 { [%eval 0.0] [%clk 0:00:34] } 33... Qc7 { [%eval 0.0] [%clk 0:01:27] } 34. Bf1 { [%eval 0.0] [%clk 0:00:31] } 34... Qb7 { [%eval 0.0] [%clk 0:01:23] } 35. Be2 { [%eval 0.0] [%clk 0:00:30] } 35... Qb6 { [%eval 0.0] [%clk 0:01:20] } 36. Bf1 { [%eval 0.0] [%clk 0:00:30] } 36... R5c7 { [%eval 0.0] [%clk 0:01:20] } 37. Be2 { [%eval 0.0] [%clk 0:00:28] } 37... Qc5 { [%eval 0.0] [%clk 0:01:19] } 38. Qxc5 { [%eval 0.0] [%clk 0:00:21] } 38... Rxc5 { [%eval 0.0] [%clk 0:01:20] } 39. Rb3 { [%eval 0.0] [%clk 0:00:22] } 39... Ra8 { [%eval 0.0] [%clk 0:01:17] } 40. Ke1 { [%eval -0.05] [%clk 0:00:22] } 40... Ra2 { [%eval -0.07] [%clk 0:01:16] } 41. Rcb1 { [%eval 0.0] [%clk 0:00:19] } 41... Rc2 { [%eval 0.0] [%clk 0:01:15] } 42. R1b2 { [%eval -0.08] [%clk 0:00:14] } 42... R2xc3 { [%eval 0.0] [%clk 0:01:11] } 43. Rxc3 { [%eval 0.0] [%clk 0:00:20] } 43... Rxc3 { [%eval -0.07] [%clk 0:01:12] } 44. Kd2 { [%eval -0.4] [%clk 0:00:21] } 44... d4 { [%eval -0.07] [%clk 0:01:11] } 45. Bxb5?? { [%eval -5.23] } { Blunder. Bd3 was best. } { [%clk 0:00:16] } 45... Bxb5 { [%eval -5.41] [%clk 0:01:11] } 46. Rxb5 { [%eval -5.33] [%clk 0:00:16] } 46... Rxe3 { [%eval -5.35] [%clk 0:01:12] } 47. Rb4 { [%eval -5.71] [%clk 0:00:14] } 47... Rxg3 { [%eval -5.57] [%clk 0:01:13] } 48. Rxd4 { [%eval -5.48] [%clk 0:00:15] } 48... Rg4 { [%eval -5.28] [%clk 0:01:14] } 49. Ke3 { [%eval -5.31] [%clk 0:00:14] } 49... Rxh4 { [%eval -5.01] [%clk 0:01:14] } 50. Kf3?! { [%eval -7.49] } { Inaccuracy. Rd8 was best. } { [%clk 0:00:15] } 50... g5 { [%eval -7.36] [%clk 0:01:15] } 51. Rd1 { [%eval -6.91] [%clk 0:00:09] } 51... Rxf4+ { [%eval -8.39] [%clk 0:01:16] } 52. Ke3 { [%eval -9.33] [%clk 0:00:11] } 52... h4 { [%eval -9.21] [%clk 0:01:16] } 53. Rg1 { [%eval -9.11] [%clk 0:00:12] } 53... Kg6 { [%eval -8.6] [%clk 0:01:18] } 54. Rg2 { [%eval -8.6] [%clk 0:00:12] } 54... Kf5 { [%eval -9.13] [%clk 0:01:19] } 55. Rg1 { [%eval -10.84] [%clk 0:00:13] } 55... Re4+ { [%eval -9.17] [%clk 0:01:19] } 56. Kf3? { [%eval #-16] } { Checkmate is now unavoidable. Kd2 was best. } { [%clk 0:00:14] } 56... g4+ { [%eval -13.74] [%clk 0:01:20] } 57. Kg2?! { [%eval #-14] } { Checkmate is now unavoidable. Kf2 was best. } { [%clk 0:00:15] } 57... Re2+ { [%eval #-15] [%clk 0:01:21] } 58. Kf1 { [%eval #-15] [%clk 0:00:16] } 58... Rxe5?! { [%eval -70.37] } { Lost forced checkmate sequence. Rb2 was best. } { [%clk 0:01:22] } 59. Kf2?! { [%eval #-17] } { Checkmate is now unavoidable. Rh1 was best. } { [%clk 0:00:16] } 59... Kg5 { [%eval #-18] [%clk 0:01:22] } 60. Kg2 { [%eval #-13] [%clk 0:00:17] } 60... f5 { [%eval #-12] [%clk 0:01:23] } 61. Kf2 { [%eval #-12] [%clk 0:00:18] } 61... f4 { [%eval #-14] [%clk 0:01:24] } 62. Kg2 { [%eval #-8] [%clk 0:00:20] } 62... Re2+ { [%eval #-7] [%clk 0:01:25] } 63. Kh1 { [%eval #-7] [%clk 0:00:20] } 63... e5 { [%eval #-7] [%clk 0:01:25] } 64. Ra1 { [%clk 0:00:21] } 64... h3 { [%clk 0:01:25] } 65. Kg1 { [%clk 0:00:20] } 65... g3 { [%clk 0:01:26] } 66. Kh1 { [%clk 0:00:20] } 66... f3 { [%clk 0:01:26] } 67. Rd1 { [%clk 0:00:09] } 67... Kf4 { [%clk 0:01:26] } 68. Ra1 { [%clk 0:00:09] } 68... e4 { [%clk 0:01:27] } 69. Rb1 { [%clk 0:00:10] } 69... Rd2 { [%clk 0:01:28] } 70. Rc1 { [%clk 0:00:11] } 70... Rd4 { [%clk 0:01:28] } 71. Rb1 { [%clk 0:00:12] } 71... e3 { [%clk 0:01:29] } 72. Rc1 { [%clk 0:00:11] } 72... e2 { [%clk 0:01:30] } 73. Re1 { [%clk 0:00:05] } 73... Rd1 { [%clk 0:01:31] } 0-1