{"id":27049,"date":"2026-08-24T20:39:13","date_gmt":"2026-08-24T15:09:13","guid":{"rendered":"https:\/\/qsh.in\/boards\/wbbse\/?p=27049"},"modified":"2026-08-24T20:39:48","modified_gmt":"2026-08-24T15:09:48","slug":"complementary-numbers-100-frost-run","status":"publish","type":"post","link":"https:\/\/qsh.in\/boards\/wbbse\/mental-math\/complementary-numbers-100-frost-run\/","title":{"rendered":"\u09aa\u09b0\u09bf\u09aa\u09c2\u09b0\u0995 \u09b8\u0982\u0996\u09cd\u09af\u09be (\u09e7\u09e6 \u0993 \u09e7\u09e6\u09e6 \u098f\u09b0 \u099c\u09cb\u09dc\u09be): Frost Math Run!"},"content":{"rendered":"<p>\u09ae\u09c7\u09a8\u09cd\u099f\u09be\u09b2 \u09ae\u09cd\u09af\u09be\u09a5 (Mental Math) \u0995\u09cb\u09b0\u09cd\u09b8\u09c7\u09b0 \u09aa\u099e\u09cd\u099a\u09ae \u09a6\u09bf\u09a8\u09c7 \u09a4\u09cb\u09ae\u09be\u09a6\u09c7\u09b0 \u09b8\u09cd\u09ac\u09be\u0997\u09a4\u09ae! \u0986\u099c\u0995\u09c7\u09b0 \u09aa\u09be\u09a0\u099f\u09bf \u0985\u09a4\u09cd\u09af\u09a8\u09cd\u09a4 \u09ae\u099c\u09be\u09a6\u09be\u09b0 \u098f\u09ac\u0982 \u09ac\u09be\u09b8\u09cd\u09a4\u09ac \u099c\u09c0\u09ac\u09a8\u09c7 \u09b8\u09ac\u099a\u09c7\u09df\u09c7 \u09ac\u09c7\u09b6\u09bf \u0995\u09be\u099c\u09c7 \u09b2\u09be\u0997\u09c7\u0964 \u0986\u099c \u0986\u09ae\u09b0\u09be \u09b6\u09bf\u0996\u09ac <strong>\u2018\u09aa\u09b0\u09bf\u09aa\u09c2\u09b0\u0995 \u09b8\u0982\u0996\u09cd\u09af\u09be\u2019 (Complementary Numbers)<\/strong> \u09ac\u09be \u09e7\u09e6 \u098f\u09ac\u0982 \u09e7\u09e6\u09e6 \u098f\u09b0 \u099c\u09cb\u09dc\u09be\u0964<\/p>\n<p>\u09aa\u09b0\u09bf\u09aa\u09c2\u09b0\u0995 \u09b8\u0982\u0996\u09cd\u09af\u09be \u09b9\u09b2\u09cb \u09b8\u09c7\u0987 \u09b8\u0982\u0996\u09cd\u09af\u09be\u0997\u09c1\u09b2\u09cb, \u09af\u09be\u09a6\u09c7\u09b0 \u098f\u0995\u09b8\u09be\u09a5\u09c7 \u09af\u09cb\u0997 \u0995\u09b0\u09b2\u09c7 \u09e7\u09e6, \u09e7\u09e6\u09e6 \u09ac\u09be \u09e7,\u09e6\u09e6\u09e6 \u098f\u09b0 \u09ae\u09a4\u09cb \u098f\u0995\u099f\u09bf \u09a8\u09bf\u09b0\u09cd\u09a6\u09bf\u09b7\u09cd\u099f \u09ad\u09bf\u09a4\u09cd\u09a4\u09bf (Base) \u09aa\u09be\u0993\u09df\u09be \u09af\u09be\u09df\u0964 \u09ac\u09bf\u09df\u09cb\u0997 \u0985\u0982\u0995\u0995\u09c7 \u09b8\u09b9\u099c \u0995\u09b0\u09a4\u09c7 \u098f\u09ac\u0982 \u0995\u09c7\u09a8\u09be\u0995\u09be\u099f\u09be\u09b0 \u09b9\u09bf\u09b8\u09be\u09ac (\u09af\u09c7\u09ae\u09a8: \u09e7\u09e6\u09e6 \u099f\u09be\u0995\u09be\u09b0 \u09a8\u09cb\u099f \u09a6\u09bf\u09b2\u09c7 \u0995\u09a4 \u09ab\u09c7\u09b0\u09a4 \u09aa\u09be\u09ac) \u099a\u09cb\u0996\u09c7\u09b0 \u09aa\u09b2\u0995\u09c7 \u0995\u09b0\u09a4\u09c7 \u098f\u0987 \u09b8\u09cd\u0995\u09bf\u09b2\u099f\u09bf \u09ae\u09cd\u09af\u09be\u099c\u09bf\u0995\u09c7\u09b0 \u09ae\u09a4\u09cb \u0995\u09be\u099c \u0995\u09b0\u09c7!<\/p>\n<h2>\u0995\u09c0\u09ad\u09be\u09ac\u09c7 \u09b6\u09bf\u0996\u09ac\u09c7 \u09aa\u09b0\u09bf\u09aa\u09c2\u09b0\u0995 \u09b8\u0982\u0996\u09cd\u09af\u09be\u09b0 \u09ae\u09cd\u09af\u09be\u099c\u09bf\u0995?<\/h2>\n<h3>\u09e7. \u09e7\u09e6-\u098f\u09b0 \u099c\u09cb\u09dc\u09be (Friends of 10)<\/h3>\n<p>\u098f\u099f\u09bf \u0986\u09ae\u09b0\u09be \u09aa\u09cd\u09b0\u09a5\u09ae \u09a6\u09bf\u09a8\u09c7\u0987 \u09b6\u09bf\u0996\u09c7\u099b\u09bf\u0964 \u09e7\u09e6-\u098f\u09b0 \u099c\u09cb\u09dc\u09be\u0997\u09c1\u09b2\u09cb \u09b9\u09b2\u09cb: \u09e7-\u09ef, \u09e8-\u09ee, \u09e9-\u09ed, \u09ea-\u09ec, \u09eb-\u09eb\u0964 \u0995\u09c7\u0989 \u09af\u09a6\u09bf \u09a4\u09cb\u09ae\u09be\u0995\u09c7 \u09b9\u09c1\u099f \u0995\u09b0\u09c7 \u2018\u09e9\u2019 \u09ac\u09b2\u09c7, \u09a4\u09cb\u09ae\u09be\u0995\u09c7 \u09b8\u09be\u09a5\u09c7 \u09b8\u09be\u09a5\u09c7 \u09ac\u09b2\u09a4\u09c7 \u09b9\u09ac\u09c7 \u2018\u09ed\u2019\u0964 \u098f\u0987 \u09b0\u09bf\u09ab\u09cd\u09b2\u09c7\u0995\u09cd\u09b8\u099f\u09bf \u09ab\u09be\u09b8\u09cd\u099f \u09b9\u0993\u09df\u09be \u0996\u09c1\u09ac \u099c\u09b0\u09c1\u09b0\u09bf\u0964<\/p>\n<h3>\u09e8. \u09a6\u09b6\u0995\u09c7\u09b0 \u0998\u09b0\u09c7\u09b0 \u09aa\u09b0\u09bf\u09aa\u09c2\u09b0\u0995 (Tens Complements to 100)<\/h3>\n<p>\u09e7\u09e6-\u098f\u09b0 \u099c\u09cb\u09dc\u09be\u0995\u09c7 \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c7\u0987 \u09e7\u09e6\u09e6-\u098f\u09b0 \u099c\u09cb\u09dc\u09be \u09a4\u09c8\u09b0\u09bf \u0995\u09b0\u09be \u09af\u09be\u09df\u0964 \u09b6\u09c1\u09a7\u09c1 \u09b6\u09c7\u09b7\u09c7 \u098f\u0995\u099f\u09bf \u09b6\u09c2\u09a8\u09cd\u09af \u09ac\u09b8\u09bf\u09df\u09c7 \u09a6\u09be\u0993!<\/p>\n<ul>\n<li>\u09e8 + \u09ee = \u09e7\u09e6 \u2794 <strong>\u09e8\u09e6 + \u09ee\u09e6 = \u09e7\u09e6\u09e6<\/strong><\/li>\n<li>\u09e9 + \u09ed = \u09e7\u09e6 \u2794 <strong>\u09e9\u09e6 + \u09ed\u09e6 = \u09e7\u09e6\u09e6<\/strong><\/li>\n<li>\u09ea + \u09ec = \u09e7\u09e6 \u2794 <strong>\u09ea\u09e6 + \u09ec\u09e6 = \u09e7\u09e6\u09e6<\/strong><\/li>\n<\/ul>\n<h3>\u09e9. \u09ae\u09cd\u09af\u09be\u099c\u09bf\u0995 \u099f\u09cd\u09b0\u09bf\u0995: \u201c\u09b8\u09ac \u09ef \u09a5\u09c7\u0995\u09c7, \u09b6\u09c7\u09b7\u09c7\u09b0\u099f\u09bf \u09e7\u09e6 \u09a5\u09c7\u0995\u09c7\u201d<\/h3>\n<p>\u098f\u099f\u09bf \u09ac\u09c8\u09a6\u09bf\u0995 \u0997\u09a3\u09bf\u09a4\u09c7\u09b0 (Vedic Math) \u098f\u0995\u099f\u09bf \u09aa\u09cd\u09b0\u09be\u099a\u09c0\u09a8 \u098f\u09ac\u0982 \u0985\u09a4\u09cd\u09af\u09a8\u09cd\u09a4 \u09b6\u0995\u09cd\u09a4\u09bf\u09b6\u09be\u09b2\u09c0 \u09b8\u09c2\u09a4\u09cd\u09b0\u0964 \u09af\u09c7\u0995\u09cb\u09a8\u09cb \u09e8-\u0985\u0999\u09cd\u0995\u09c7\u09b0 \u09b8\u0982\u0996\u09cd\u09af\u09be\u0995\u09c7 \u09e7\u09e6\u09e6 \u09a4\u09c7 \u09aa\u09c2\u09b0\u09cd\u09a3 \u0995\u09b0\u09a4\u09c7 (\u09ac\u09be \u09e7\u09e6\u09e6 \u09a5\u09c7\u0995\u09c7 \u09ac\u09bf\u09df\u09cb\u0997 \u0995\u09b0\u09a4\u09c7) \u098f\u0987 \u09b8\u09c2\u09a4\u09cd\u09b0\u099f\u09bf \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09be \u09b9\u09df\u0964<\/p>\n<p><strong>Trick: \u09ed\u09e9 \u098f\u09b0 \u09b8\u09be\u09a5\u09c7 \u0995\u09a4 \u09af\u09cb\u0997 \u0995\u09b0\u09b2\u09c7 \u09e7\u09e6\u09e6 \u09b9\u09ac\u09c7? (\u09ac\u09be \u09e7\u09e6\u09e6 \u2013 \u09ed\u09e9 = \u0995\u09a4?)<\/strong><\/p>\n<ul>\n<li><strong>\u09a8\u09bf\u09df\u09ae:<\/strong> \u201c\u09b8\u09ac \u09ef \u09a5\u09c7\u0995\u09c7, \u09b6\u09c7\u09b7\u09c7\u09b0\u099f\u09bf \u09e7\u09e6 \u09a5\u09c7\u0995\u09c7\u201d<\/li>\n<li><strong>\u09a7\u09be\u09aa \u09e7:<\/strong> \u09aa\u09cd\u09b0\u09a5\u09ae \u0985\u0999\u09cd\u0995\u099f\u09bf (\u09ed) \u0995\u09c7 \u09ef \u09a5\u09c7\u0995\u09c7 \u09ac\u09bf\u09df\u09cb\u0997 \u0995\u09b0\u09cb: \u09ef \u2013 \u09ed = \u09e8\u0964<\/li>\n<li><strong>\u09a7\u09be\u09aa \u09e8:<\/strong> \u09b6\u09c7\u09b7\u09c7\u09b0 \u0985\u0999\u09cd\u0995\u099f\u09bf (\u09e9) \u0995\u09c7 \u09e7\u09e6 \u09a5\u09c7\u0995\u09c7 \u09ac\u09bf\u09df\u09cb\u0997 \u0995\u09b0\u09cb: \u09e7\u09e6 \u2013 \u09e9 = \u09ed\u0964<\/li>\n<li><strong>\u09a7\u09be\u09aa \u09e9:<\/strong> \u09a6\u09c1\u099f\u09cb \u09b8\u0982\u0996\u09cd\u09af\u09be \u09aa\u09be\u09b6\u09be\u09aa\u09be\u09b6\u09bf \u09ac\u09b8\u09bf\u09df\u09c7 \u09a6\u09be\u0993: <strong>\u09e8\u09ed<\/strong>\u0964 (\u0985\u09b0\u09cd\u09a5\u09be\u09ce \u09ed\u09e9 + \u09e8\u09ed = \u09e7\u09e6\u09e6)<\/li>\n<\/ul>\n<p><strong>\u0986\u09b0\u0993 \u098f\u0995\u099f\u09bf \u0989\u09a6\u09be\u09b9\u09b0\u09a3: \u09ea\u09ec \u098f\u09b0 \u09e7\u09e6\u09e6-\u09aa\u09b0\u09bf\u09aa\u09c2\u09b0\u0995 \u0995\u09a4?<\/strong><\/p>\n<ul>\n<li>\u09aa\u09cd\u09b0\u09a5\u09ae \u0985\u0999\u09cd\u0995 \u09ea: (\u09ef \u2013 \u09ea = \u09eb)<\/li>\n<li>\u09b6\u09c7\u09b7\u09c7\u09b0 \u0985\u0999\u09cd\u0995 \u09ec: (\u09e7\u09e6 \u2013 \u09ec = \u09ea)<\/li>\n<li>\u0989\u09a4\u09cd\u09a4\u09b0: <strong>\u09eb\u09ea<\/strong><\/li>\n<\/ul>\n<h3>\u09ea. \u09ac\u09be\u09b8\u09cd\u09a4\u09ac \u099c\u09c0\u09ac\u09a8\u09c7\u09b0 \u09aa\u09cd\u09b0\u09df\u09cb\u0997 (Real-Life Application)<\/h3>\n<p>\u09a7\u09b0\u09c7 \u09a8\u09be\u0993, \u09a4\u09c1\u09ae\u09bf \u09a6\u09cb\u0995\u09be\u09a8\u09c7 \u0997\u09bf\u09df\u09c7 \u09ec\u09ea \u099f\u09be\u0995\u09be\u09b0 \u098f\u0995\u099f\u09bf \u09ac\u0987 \u0995\u09bf\u09a8\u09b2\u09c7 \u098f\u09ac\u0982 \u09a6\u09cb\u0995\u09be\u09a8\u09a6\u09be\u09b0\u0995\u09c7 \u09e7\u09e6\u09e6 \u099f\u09be\u0995\u09be\u09b0 \u098f\u0995\u099f\u09bf \u09a8\u09cb\u099f \u09a6\u09bf\u09b2\u09c7\u0964 \u09a6\u09cb\u0995\u09be\u09a8\u09a6\u09be\u09b0 \u09a4\u09cb\u09ae\u09be\u0995\u09c7 \u0995\u09a4 \u099f\u09be\u0995\u09be \u09ab\u09c7\u09b0\u09a4 \u09a6\u09c7\u09ac\u09c7? \u09ae\u09cd\u09af\u09be\u099c\u09bf\u0995 \u099f\u09cd\u09b0\u09bf\u0995\u099f\u09bf \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09cb: \u09aa\u09cd\u09b0\u09a5\u09ae\u099f\u09bf \u09ef \u09a5\u09c7\u0995\u09c7 (\u09ef-\u09ec=\u09e9) \u098f\u09ac\u0982 \u09b6\u09c7\u09b7\u09c7\u09b0\u099f\u09bf \u09e7\u09e6 \u09a5\u09c7\u0995\u09c7 (\u09e7\u09e6-\u09ea=\u09ec)\u0964 \u09a4\u09c1\u09ae\u09bf \u09b8\u09be\u09a5\u09c7 \u09b8\u09be\u09a5\u09c7 \u09ac\u09c1\u099d\u09c7 \u09af\u09be\u09ac\u09c7 \u0989\u09a4\u09cd\u09a4\u09b0 <strong>\u09e9\u09ec \u099f\u09be\u0995\u09be<\/strong>!<\/p>\n<h2>\u09aa\u09cd\u09b0\u09cd\u09af\u09be\u0995\u099f\u09bf\u09b8 \u0997\u09c7\u09ae: Frost Math Run<\/h2>\n<p>\u09e7\u09e6\u09e6-\u098f\u09b0 \u09aa\u09b0\u09bf\u09aa\u09c2\u09b0\u0995 \u09a8\u09bf\u09b0\u09cd\u09a3\u09df\u09c7\u09b0 \u09b8\u09cd\u09aa\u09bf\u09a1 \u09ac\u09be\u09dc\u09be\u09a4\u09c7 \u0986\u099c \u0986\u09ae\u09b0\u09be \u0996\u09c7\u09b2\u09ac <strong>\u09ab\u09cd\u09b0\u09b8\u09cd\u099f \u09ae\u09cd\u09af\u09be\u09a5 \u09b0\u09be\u09a8 (Frost Math Run)<\/strong>! \u09a4\u09c1\u09ae\u09bf \u098f\u0995\u099c\u09a8 \u09aa\u09cd\u09b0\u09cb-\u09b8\u09cd\u09a8\u09cb\u09ac\u09cb\u09b0\u09cd\u09a1\u09be\u09b0 \u09b9\u09bf\u09b8\u09c7\u09ac\u09c7 \u09ac\u09b0\u09ab\u09c7\u09b0 \u09aa\u09be\u09b9\u09be\u09dc\u09c7 \u09b8\u09cd\u0995\u09bf \u0995\u09b0\u099b\u09cb, \u0986\u09b0 \u09a4\u09cb\u09ae\u09be\u09b0 \u09b8\u09be\u09ae\u09a8\u09c7 \u09a7\u09c7\u09df\u09c7 \u0986\u09b8\u099b\u09c7 \u09ac\u09bf\u09b6\u09be\u09b2 \u09ac\u09b0\u09ab\u09c7\u09b0 \u09aa\u09be\u09a5\u09b0\u0964<\/p>\n<h3>\u0995\u09c0\u09ad\u09be\u09ac\u09c7 \u0996\u09c7\u09b2\u09ac\u09c7?<\/h3>\n<ul>\n<li>\u0997\u09c7\u09ae\u099f\u09bf \u09b6\u09c1\u09b0\u09c1 \u09b9\u09b2\u09c7 \u09a4\u09c1\u09ae\u09bf \u09aa\u09be\u09b9\u09be\u09dc \u09a5\u09c7\u0995\u09c7 \u09a8\u09bf\u099a\u09c7 \u09a8\u09be\u09ae\u09a4\u09c7 \u09a5\u09be\u0995\u09ac\u09c7\u0964 \u09a1\u09be\u09a8\u09a6\u09bf\u0995\u09c7\u09b0 \u2018\u09ae\u09cd\u09af\u09be\u099c\u09bf\u0995 \u09b8\u09cd\u09aa\u09c7\u09b2\u2019 \u09aa\u09cd\u09af\u09be\u09a8\u09c7\u09b2\u09c7 \u098f\u0995\u099f\u09bf \u09aa\u09cd\u09b0\u09b6\u09cd\u09a8 \u0986\u09b8\u09ac\u09c7 (\u09af\u09c7\u09ae\u09a8: \u09ea\u09e9 + ? = \u09e7\u09e6\u09e6)\u0964<\/li>\n<li>\u09b0\u09be\u09b8\u09cd\u09a4\u09be\u09b0 \u09ae\u09be\u099d\u0996\u09be\u09a8\u09c7 \u098f\u0995\u099f\u09bf \u09ac\u09bf\u09b6\u09be\u09b2 \u0995\u09be\u0981\u099f\u09be\u09af\u09c1\u0995\u09cd\u09a4 \u09ac\u09b0\u09ab\u09c7\u09b0 \u09aa\u09be\u09a5\u09b0 (Ice Boulder) \u09a4\u09cb\u09ae\u09be\u09b0 \u09a6\u09bf\u0995\u09c7 \u09a6\u09cd\u09b0\u09c1\u09a4 \u098f\u0997\u09bf\u09df\u09c7 \u0986\u09b8\u09ac\u09c7\u0964<\/li>\n<li>\u09aa\u09be\u09a5\u09b0\u099f\u09bf \u09a4\u09cb\u09ae\u09be\u09b0 \u0995\u09be\u099b\u09c7 \u09aa\u09cc\u0981\u099b\u09be\u09a8\u09cb\u09b0 \u0986\u0997\u09c7\u0987, <strong>\u201c\u09b8\u09ac \u09ef \u09a5\u09c7\u0995\u09c7, \u09b6\u09c7\u09b7\u09c7\u09b0\u099f\u09bf \u09e7\u09e6 \u09a5\u09c7\u0995\u09c7\u201d<\/strong> \u099f\u09cd\u09b0\u09bf\u0995\u099f\u09bf \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c7 \u09a8\u09bf\u099a\u09c7\u09b0 \u09b8\u09a0\u09bf\u0995 \u099a\u09be\u09ac\u09bf\u09a4\u09c7 (Option) \u099f\u09cd\u09af\u09be\u09aa \u0995\u09b0\u09cb\u0964<\/li>\n<li>\u09b8\u09a0\u09bf\u0995 \u0989\u09a4\u09cd\u09a4\u09b0 \u09a6\u09bf\u09b2\u09c7 \u09a4\u09cb\u09ae\u09be\u09b0 \u09b8\u09cd\u09a8\u09cb\u09ac\u09cb\u09b0\u09cd\u09a1\u09be\u09b0 \u098f\u0995\u099f\u09bf \u09ae\u09cd\u09af\u09be\u099c\u09bf\u0995 \u09b2\u09c7\u099c\u09be\u09b0 \u09ab\u09be\u09df\u09be\u09b0 \u0995\u09b0\u09ac\u09c7 \u098f\u09ac\u0982 \u09aa\u09be\u09a5\u09b0\u099f\u09bf \u099a\u09c2\u09b0\u09cd\u09a3\u09ac\u09bf\u099a\u09c2\u09b0\u09cd\u09a3 \u09b9\u09df\u09c7 \u09af\u09be\u09ac\u09c7!<\/li>\n<li>\u09a6\u09c7\u09b0\u09bf \u0995\u09b0\u09b2\u09c7 \u09ac\u09be \u09ad\u09c1\u09b2 \u0989\u09a4\u09cd\u09a4\u09b0 \u09a6\u09bf\u09b2\u09c7 \u09a4\u09c1\u09ae\u09bf \u09aa\u09be\u09a5\u09b0\u09c7\u09b0 \u09b8\u09be\u09a5\u09c7 \u09a7\u09be\u0995\u09cd\u0995\u09be \u0996\u09be\u09ac\u09c7 \u098f\u09ac\u0982 \u09a4\u09cb\u09ae\u09be\u09b0 \u098f\u0995\u099f\u09bf \u099c\u09c0\u09ac\u09a8 (Heart) \u0995\u09ae\u09c7 \u09af\u09be\u09ac\u09c7\u0964<\/li>\n<\/ul>\n<p>\u099c\u09c0\u09ac\u09a8 \u09b6\u09c7\u09b7 \u09b9\u0993\u09df\u09be\u09b0 \u0986\u0997\u09c7\u0987 \u09b8\u09b0\u09cd\u09ac\u09cb\u099a\u09cd\u099a \u09b8\u09cd\u0995\u09cb\u09b0 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09cb\u0964 \u0996\u09be\u09a4\u09be-\u0995\u09b2\u09ae \u09a6\u09c2\u09b0\u09c7 \u09b8\u09b0\u09bf\u09df\u09c7 \u098f\u0996\u09a8\u0987 \u09b8\u09cd\u09a8\u09cb\u09ac\u09cb\u09b0\u09cd\u09a1\u09c7 \u09b2\u09be\u09ab\u09bf\u09df\u09c7 \u09aa\u09dc\u09cb!<\/p>\n    <div id=\"qsh-27049-563\" class=\"qsh-sim-frame-wrap\" style=\"--qsh-aspect: 1\/1;\">\n        <div class=\"qsh-sim-bar\">\n            <div class=\"qsh-sim-label\"><span class=\"qsh-dot\"><\/span> Interactive Simulator<\/div>\n            <div class=\"qsh-sim-controls\">\n                <button type=\"button\" class=\"qsh-sim-btn qsh-btn-reload\" onclick=\"document.getElementById('if-qsh-27049-563').srcdoc = document.getElementById('if-qsh-27049-563').srcdoc;\" aria-label=\"Restart\">\n                    <svg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"currentColor\"><path d=\"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"><\/path><\/svg>\n                <\/button>\n                <button type=\"button\" class=\"qsh-sim-btn qsh-btn-fs\" id=\"fs-btn-qsh-27049-563\" aria-label=\"Fullscreen\">\n                    <svg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"currentColor\"><path d=\"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z\"><\/path><\/svg>\n                    <span>Expand<\/span>\n                <\/button>\n            <\/div>\n        <\/div>\n        <div class=\"qsh-sim-viewport\">\n            <iframe id=\"if-qsh-27049-563\" srcdoc=\"&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt;&lt;base href=&quot;https:\/\/qsh.in\/boards\/wbbse\/&quot;&gt;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no&quot;&gt;&lt;style&gt;*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden;touch-action:manipulation;background:#0b0f19;color:#f8fafc;font-family:system-ui,-apple-system,sans-serif;}&lt;\/style&gt;&lt;style&gt;:root {\r\n    --bg-deep: #020617; \r\n    --primary: #0ea5e9; \r\n    --primary-glow: #38bdf8;\r\n    --accent: #facc15;  \r\n    --danger: #ef4444;  \r\n    --text-main: #f8fafc;\r\n    --font-ui: system-ui, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;\r\n    --track-speed: 1.0s; \r\n}\r\n\r\n#sim-root * { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n#sim-root {\r\n    position: relative; width: 100%; max-width: 800px;\r\n    height: 85vh; height: 85dvh; min-height: 600px; max-height: 900px;\r\n    margin: 1rem auto; background-color: var(--bg-deep);\r\n    overflow: hidden; touch-action: manipulation;\r\n    -webkit-tap-highlight-color: transparent; user-select: none;\r\n    font-family: var(--font-ui); border-radius: 16px;\r\n    box-shadow: 0 15px 40px rgba(0,0,0,0.9), inset 0 0 20px rgba(56, 189, 248, 0.2); \r\n    display: flex; flex-direction: column;\r\n}\r\n\r\n#winter-bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(180deg, #020617 0%, #1e3a8a 50%, #082f49 100%); z-index: 0; overflow: hidden; }\r\n.snow-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(#ffffff 1.5px, transparent 1.5px); background-size: 25px 25px; opacity: 0.2; animation: snow-fall 8s linear infinite; }\r\n@keyframes snow-fall { 0% { background-position: 0 0; } 100% { background-position: 25px 250px; } }\r\n\r\n#scene-viewport { flex: 1 1 auto; position: relative; width: 100%; z-index: 1; perspective: 600px; overflow: hidden;}\r\n#game-canvas { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 2; pointer-events: none; }\r\n\r\n#track-layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; }\r\n#ski-track {\r\n    position: absolute; bottom: -10%; left: -50%; width: 200%; height: 120%;\r\n    background: #082f49; transform-origin: bottom center; transform: rotateX(75deg);\r\n    box-shadow: inset 0 50px 100px rgba(0,0,0,0.9);\r\n}\r\n.track-border { position: absolute; top: -50%; width: 40px; height: 200%; background: repeating-linear-gradient(to bottom, #1e293b 0, #1e293b 50px, #334155 50px, #334155 100px); animation: scroll-track var(--track-speed) linear infinite; box-shadow: 0 0 20px rgba(0,0,0,0.8); }\r\n.border-left { left: 15%; } .border-right { left: 85%; margin-left: -40px; }\r\n.track-line { position: absolute; top: -50%; width: 8px; height: 200%; border-radius: 8px; background: repeating-linear-gradient(to bottom, transparent 0, transparent 40px, #38bdf8 40px, #38bdf8 80px); animation: scroll-track var(--track-speed) linear infinite; opacity: 0.5;}\r\n.line-left { left: 38%; } .line-right { left: 62%; margin-left: -8px; }\r\n\r\n@keyframes scroll-track { 0% { background-position: 0 0; } 100% { background-position: 0 100px; } }\r\n\r\n.glass-panel { background: rgba(15, 23, 42, 0.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(56, 189, 248, 0.3); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5); }\r\n\r\n#frost-tablet {\r\n    position: absolute; top: 35%; right: 3%; transform: translateY(-50%);\r\n    border-radius: 12px; padding: 0.6rem 1rem;\r\n    z-index: 10; text-align: center; width: auto; min-width: 140px;\r\n    border-left: 4px solid var(--primary-glow);\r\n}\r\n\r\n.anim-pop { animation: popIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }\r\n.anim-out { transform: translateY(-50%) scale(0) !important; opacity: 0; transition: transform 0.2s, opacity 0.2s; }\r\n@keyframes popIn { 0% { transform: translateY(-50%) scale(0); opacity: 0;} 100% { transform: translateY(-50%) scale(1); opacity: 1;} }\r\n\r\n.tablet-header { font-size: 0.65rem; color: #fcd34d; text-transform: uppercase; font-weight: 800; margin-bottom: 6px; border-bottom: 1px solid rgba(245,158,11,0.3); padding-bottom: 4px; }\r\n#math-equation { \r\n    display: flex; align-items: center; justify-content: center; gap: 6px;\r\n    font-size: clamp(1.4rem, 4vw, 2rem); font-weight: 900; color: var(--text-main); \r\n    font-family: ui-monospace, monospace; white-space: nowrap; \r\n}\r\n.glow-text { color: #f8fafc; text-shadow: 0 0 10px var(--primary-glow); }\r\n.operator { color: var(--primary); font-size: clamp(1.2rem, 3.5vw, 1.8rem); margin-top: 2px;}\r\n.question-mark { color: var(--accent); text-shadow: 0 0 15px var(--accent); animation: pulse-glow 1s infinite alternate; }\r\n\r\n@keyframes pulse-glow { 0% { opacity: 0.7; transform: scale(0.95); } 100% { opacity: 1; transform: scale(1.05); } }\r\n\r\n#character-rig { position: absolute; bottom: 5%; left: 50%; width: clamp(80px, 20vw, 120px); transform: translateX(-50%); z-index: 15; }\r\n.glide-anim { animation: skate-hover 1.2s infinite alternate ease-in-out; transform-origin: center; }\r\n@keyframes skate-hover { 0% { transform: translateY(0) rotate(-2deg); } 100% { transform: translateY(-8px) rotate(2deg); } }\r\n.ski-arm-left { transform-origin: 45px 90px; animation: pump-arm-l 0.4s infinite alternate ease-in-out; }\r\n.ski-arm-right { transform-origin: 105px 90px; animation: pump-arm-r 0.4s infinite alternate ease-in-out; }\r\n@keyframes pump-arm-l { 0% { transform: rotate(-25deg); } 100% { transform: rotate(25deg); } }\r\n@keyframes pump-arm-r { 0% { transform: rotate(25deg); } 100% { transform: rotate(-25deg); } }\r\n.skater-stumble { animation: stumble 0.5s ease; filter: sepia(1) hue-rotate(-50deg) saturate(5); }\r\n@keyframes stumble { 0%, 100% { transform: translateX(-50%) rotate(0); } 25% { transform: translateX(-60%) rotate(-15deg); } 75% { transform: translateX(-40%) rotate(15deg); } }\r\n\r\n#hit-flash { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #ef4444; opacity: 0; z-index: 11; pointer-events: none; transition: opacity 0.1s; }\r\n.flash-active { opacity: 0.3 !important; }\r\n\r\n#hud-top { position: absolute; top: 0; left: 0; width: 100%; padding: clamp(0.8rem, 2vh, 1.2rem); display: flex; justify-content: space-between; align-items: flex-start; z-index: 20; pointer-events: none; }\r\n.hud-box { display: flex; flex-direction: column; align-items: center; }\r\n.center-box { flex-grow: 1; margin: 0 1rem; }\r\n.hud-label { font-size: 0.65rem; color: #bae6fd; font-weight: 800; margin-bottom: 4px; letter-spacing: 0.5px; }\r\n.hud-value { font-size: 1.5rem; font-weight: 900; font-variant-numeric: tabular-nums; }\r\n.text-accent { color: var(--accent); text-shadow: 0 0 10px rgba(250, 204, 21, 0.6); }\r\n\r\n#health-container { display: flex; gap: 5px; font-size: 1.3rem; }\r\n.crystal-heart { opacity: 0.3; filter: grayscale(1); transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }\r\n.crystal-heart.active { opacity: 1; filter: grayscale(0); filter: drop-shadow(0 0 5px #ef4444); transform: scale(1.1); }\r\n\r\n.level-box { background: #020617; border: 2px solid var(--primary); box-shadow: inset 0 0 10px rgba(56, 189, 248, 0.4); border-radius: 6px; padding: 2px 14px; color: var(--primary); font-size: 1.3rem; font-weight: 900; }\r\n\r\n.glass-dock { flex: 0 0 auto; width: 100%; padding: 1.2rem 1rem calc(1.5rem + env(safe-area-inset-bottom, 15px)); background: linear-gradient(0deg, rgba(2,6,23,0.95) 40%, rgba(2,6,23,0.7) 100%); border-top: 1px solid rgba(56,189,248,0.2); z-index: 30; display: flex; flex-direction: column; align-items: center; }\r\n.dock-title { font-size: 0.85rem; color: #bae6fd; font-weight: 800; margin-bottom: 1rem; text-shadow: 0 2px 4px rgba(0,0,0,0.8);}\r\n.options-grid { display: flex; justify-content: center; gap: 1rem; width: 100%; max-width: 500px; }\r\n\r\n.core-btn {\r\n    flex: 1; aspect-ratio: 1\/1; max-width: 100px;\r\n    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);\r\n    border: 2px solid #38bdf8; border-radius: 12px;\r\n    color: var(--text-main); font-size: 2.2rem; font-weight: 900;\r\n    box-shadow: 0 6px 0 #0284c7, 0 10px 15px rgba(0,0,0,0.6), inset 0 2px 8px rgba(255,255,255,0.1);\r\n    cursor: pointer; transition: all 0.1s ease;\r\n}\r\n.core-btn:active { transform: translateY(6px); box-shadow: 0 0 0 #0284c7; background: linear-gradient(135deg, #0f172a 0%, #020617 100%); }\r\n.btn-correct { border-color: var(--accent) !important; background: rgba(250,204,21,0.2) !important; color: var(--accent) !important; box-shadow: 0 6px 0 #854d0e, 0 0 25px var(--accent) !important;}\r\n.btn-wrong { border-color: var(--danger) !important; background: rgba(244,63,94,0.2) !important; color: var(--danger) !important; box-shadow: 0 6px 0 #881337, 0 0 25px var(--danger) !important;}\r\n\r\n#feedback-layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 40; }\r\n.floating-text { position: absolute; left: 50%; transform: translateX(-50%); text-align: center; width: 100%; font-weight: 900; font-family: var(--font-ui); animation: floatUp 1s cubic-bezier(0.2, 1, 0.3, 1) forwards; }\r\n@keyframes floatUp { 0% { opacity: 0; transform: translate(-50%, 20px) scale(0.8); } 20% { opacity: 1; transform: translate(-50%, 0) scale(1.2); } 100% { opacity: 0; transform: translate(-50%, -100px) scale(1); } }\r\n\r\n.overlay-screen { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 450px; height: auto; border-radius: 16px; display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 100; text-align: center; padding: 2rem;}\r\n.overlay-screen.hidden { display: none; }\r\n.overlay-title { color: #f8fafc; font-size: 2.5rem; margin-bottom: 1rem; text-shadow: 0 0 20px var(--primary-glow); font-weight: 900;}\r\n.overlay-desc { color: #bae6fd; font-size: 1.05rem; line-height: 1.6; margin-bottom: 2rem; font-weight: 500;}\r\n.action-btn {\r\n    background: linear-gradient(to right, #0ea5e9, #2563eb); color: #fff; border: none; border-radius: 99px;\r\n    padding: 1rem 2.5rem; font-size: 1.3rem; font-weight: 900; cursor: pointer; letter-spacing: 1px;\r\n    box-shadow: 0 6px 0 #1e3a8a, 0 10px 20px rgba(14,165,233,0.5); transition: transform 0.1s;\r\n}\r\n.action-btn:active { transform: translateY(6px); box-shadow: 0 0 0 #1e3a8a; }&lt;\/style&gt;&lt;\/head&gt;&lt;body&gt;&lt;div id=&quot;sim-root&quot;&gt;\r\n    <!-- Immersive Deep Winter Background -->\r\n    &lt;div id=&quot;winter-bg&quot;&gt;\r\n        &lt;div class=&quot;snow-overlay&quot;&gt;&lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n\r\n    <!-- 3D Game Viewport -->\r\n    &lt;div id=&quot;scene-viewport&quot;&gt;\r\n        \r\n        <!-- 3D Scrolling Track -->\r\n        &lt;div id=&quot;track-layer&quot;&gt;\r\n            &lt;div id=&quot;ski-track&quot;&gt;\r\n                &lt;div class=&quot;track-border border-left&quot;&gt;&lt;\/div&gt;\r\n                &lt;div class=&quot;track-border border-right&quot;&gt;&lt;\/div&gt;\r\n                &lt;div class=&quot;track-line line-left&quot;&gt;&lt;\/div&gt;\r\n                &lt;div class=&quot;track-line line-right&quot;&gt;&lt;\/div&gt;\r\n            &lt;\/div&gt;\r\n        &lt;\/div&gt;\r\n\r\n        <!-- 3D Canvas Environment (Crystals, Particles, Lasers) -->\r\n        &lt;canvas id=&quot;game-canvas&quot;&gt;&lt;\/canvas&gt;\r\n\r\n        <!-- Compact Frost Math Panel (Right Side) -->\r\n        &lt;div id=&quot;frost-tablet&quot; class=&quot;glass-panel&quot;&gt;\r\n            &lt;div class=&quot;tablet-header&quot;&gt;\u09ae\u09cd\u09af\u09be\u099c\u09bf\u0995 \u09b8\u09cd\u09aa\u09c7\u09b2&lt;\/div&gt;\r\n            &lt;div id=&quot;math-equation&quot;&gt;\r\n                &lt;span id=&quot;num-a&quot; class=&quot;glow-text&quot;&gt;\u09e6&lt;\/span&gt; \r\n                &lt;span class=&quot;operator&quot;&gt;+&lt;\/span&gt; \r\n                &lt;span class=&quot;question-mark&quot;&gt;?&lt;\/span&gt; \r\n                &lt;span class=&quot;operator&quot;&gt;=&lt;\/span&gt; \r\n                &lt;span class=&quot;glow-text&quot;&gt;\u09e7\u09e6\u09e6&lt;\/span&gt;\r\n            &lt;\/div&gt;\r\n        &lt;\/div&gt;\r\n\r\n        <!-- The Pro Skier Character (Dynamic SVG with two arms) -->\r\n        &lt;div id=&quot;character-rig&quot;&gt;\r\n            &lt;svg id=&quot;pro-skater&quot; viewBox=&quot;0 0 150 200&quot; xmlns=&quot;http:\/\/www.w3.org\/2000\/svg&quot;&gt;\r\n                &lt;ellipse cx=&quot;75&quot; cy=&quot;190&quot; rx=&quot;45&quot; ry=&quot;8&quot; fill=&quot;rgba(0,0,0,0.5)&quot; \/&gt;\r\n                &lt;g id=&quot;skater-body&quot; class=&quot;glide-anim&quot;&gt;\r\n                    &lt;path d=&quot;M 30 200 L 60 175 M 120 200 L 90 175&quot; stroke=&quot;#bae6fd&quot; stroke-width=&quot;8&quot; stroke-linecap=&quot;round&quot; \/&gt;\r\n                    &lt;path d=&quot;M 50 180 L 65 130 M 100 180 L 85 130&quot; stroke=&quot;#1e293b&quot; stroke-width=&quot;14&quot; stroke-linecap=&quot;round&quot; \/&gt;\r\n                    \r\n                    &lt;g id=&quot;arm-left&quot; class=&quot;ski-arm-left&quot;&gt;\r\n                        &lt;path d=&quot;M 45 90 Q 20 110 30 140&quot; fill=&quot;none&quot; stroke=&quot;#f87171&quot; stroke-width=&quot;12&quot; stroke-linecap=&quot;round&quot; \/&gt;\r\n                        &lt;line x1=&quot;30&quot; y1=&quot;140&quot; x2=&quot;10&quot; y2=&quot;200&quot; stroke=&quot;#cbd5e1&quot; stroke-width=&quot;4&quot; stroke-linecap=&quot;round&quot;\/&gt;\r\n                        &lt;circle cx=&quot;30&quot; cy=&quot;140&quot; r=&quot;8&quot; fill=&quot;#0f172a&quot; \/&gt; \r\n                    &lt;\/g&gt;\r\n\r\n                    &lt;path d=&quot;M 50 80 Q 75 70 100 80 L 95 140 L 55 140 Z&quot; fill=&quot;#ef4444&quot; stroke=&quot;#be123c&quot; stroke-width=&quot;2&quot; \/&gt;\r\n                    \r\n                    &lt;g id=&quot;arm-right&quot; class=&quot;ski-arm-right&quot;&gt;\r\n                        &lt;path d=&quot;M 105 90 Q 130 110 120 140&quot; fill=&quot;none&quot; stroke=&quot;#f87171&quot; stroke-width=&quot;12&quot; stroke-linecap=&quot;round&quot; \/&gt;\r\n                        &lt;line x1=&quot;120&quot; y1=&quot;140&quot; x2=&quot;140&quot; y2=&quot;200&quot; stroke=&quot;#cbd5e1&quot; stroke-width=&quot;4&quot; stroke-linecap=&quot;round&quot;\/&gt;\r\n                        &lt;circle cx=&quot;120&quot; cy=&quot;140&quot; r=&quot;8&quot; fill=&quot;#0f172a&quot; \/&gt; \r\n                    &lt;\/g&gt;\r\n\r\n                    &lt;circle cx=&quot;75&quot; cy=&quot;50&quot; r=&quot;20&quot; fill=&quot;#fcd34d&quot; \/&gt;\r\n                    &lt;path d=&quot;M 50 75 Q 75 85 100 75 Q 85 100 50 75 Z&quot; fill=&quot;#facc15&quot; \/&gt;\r\n                    &lt;path d=&quot;M 75 35 Q 105 -5 100 40 Z&quot; fill=&quot;#0ea5e9&quot; \/&gt; \r\n                    &lt;path d=&quot;M 50 40 Q 75 10 100 40 Z&quot; fill=&quot;#0ea5e9&quot; \/&gt;\r\n                    &lt;circle cx=&quot;100&quot; cy=&quot;40&quot; r=&quot;6&quot; fill=&quot;#f8fafc&quot; \/&gt; \r\n                    &lt;rect x=&quot;55&quot; y=&quot;40&quot; width=&quot;40&quot; height=&quot;14&quot; rx=&quot;5&quot; fill=&quot;#0f172a&quot; \/&gt;\r\n                    &lt;path d=&quot;M 60 45 L 90 45&quot; stroke=&quot;#38bdf8&quot; stroke-width=&quot;3&quot; stroke-linecap=&quot;round&quot; \/&gt;\r\n                &lt;\/g&gt;\r\n            &lt;\/svg&gt;\r\n        &lt;\/div&gt;\r\n        \r\n        &lt;div id=&quot;hit-flash&quot;&gt;&lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n\r\n    <!-- HUD -->\r\n    &lt;div id=&quot;hud-top&quot;&gt;\r\n        &lt;div class=&quot;hud-box&quot;&gt;\r\n            &lt;span class=&quot;hud-label&quot;&gt;\u09b8\u09cd\u0995\u09cb\u09b0&lt;\/span&gt;\r\n            &lt;span class=&quot;hud-value text-accent&quot; id=&quot;score-display&quot;&gt;\u09e6&lt;\/span&gt;\r\n        &lt;\/div&gt;\r\n        &lt;div class=&quot;hud-box center-box&quot;&gt;\r\n            &lt;div id=&quot;health-container&quot;&gt;\r\n                &lt;span class=&quot;crystal-heart active&quot;&gt;\u2764\ufe0f&lt;\/span&gt;\r\n                &lt;span class=&quot;crystal-heart active&quot;&gt;\u2764\ufe0f&lt;\/span&gt;\r\n                &lt;span class=&quot;crystal-heart active&quot;&gt;\u2764\ufe0f&lt;\/span&gt;\r\n            &lt;\/div&gt;\r\n        &lt;\/div&gt;\r\n        &lt;div class=&quot;hud-box&quot;&gt;\r\n            &lt;span class=&quot;hud-label&quot;&gt;\u09b2\u09c7\u09ad\u09c7\u09b2&lt;\/span&gt;\r\n            &lt;div class=&quot;level-box&quot;&gt;&lt;span id=&quot;level-display&quot;&gt;\u09e7&lt;\/span&gt;&lt;\/div&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n\r\n    &lt;div id=&quot;feedback-layer&quot;&gt;&lt;\/div&gt;\r\n\r\n    <!-- Thumb Zone Control Dock -->\r\n    &lt;div id=&quot;control-dock&quot; class=&quot;glass-dock&quot;&gt;\r\n        &lt;div class=&quot;dock-title&quot;&gt;\u09b8\u09a0\u09bf\u0995 \u09aa\u09b0\u09bf\u09aa\u09c2\u09b0\u0995 (Complement) \u09a8\u09bf\u09b0\u09cd\u09ac\u09be\u099a\u09a8 \u0995\u09b0\u09cb:&lt;\/div&gt;\r\n        &lt;div class=&quot;options-grid&quot;&gt;\r\n            &lt;button class=&quot;core-btn&quot; id=&quot;core-0&quot;&gt;\u09e6&lt;\/button&gt;\r\n            &lt;button class=&quot;core-btn&quot; id=&quot;core-1&quot;&gt;\u09e6&lt;\/button&gt;\r\n            &lt;button class=&quot;core-btn&quot; id=&quot;core-2&quot;&gt;\u09e6&lt;\/button&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n\r\n    <!-- Menu Overlay -->\r\n    &lt;div id=&quot;game-overlay&quot; class=&quot;overlay-screen glass-panel&quot;&gt;\r\n        &lt;h1 class=&quot;overlay-title&quot;&gt;FROST RUN 100&lt;\/h1&gt;\r\n        &lt;p class=&quot;overlay-desc&quot;&gt;\u0996\u09be\u09a4\u09be-\u0995\u09b2\u09ae \u099b\u09be\u09dc\u09be\u0987 &lt;b&gt;&quot;\u09b8\u09ac \u09ef \u09a5\u09c7\u0995\u09c7, \u09b6\u09c7\u09b7\u09c7\u09b0\u099f\u09bf \u09e7\u09e6 \u09a5\u09c7\u0995\u09c7&quot;&lt;\/b&gt; \u099f\u09cd\u09b0\u09bf\u0995\u099f\u09bf \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c7 \u09e7\u09e6\u09e6-\u098f\u09b0 \u09aa\u09b0\u09bf\u09aa\u09c2\u09b0\u0995 \u09ac\u09c7\u09b0 \u0995\u09b0\u09cb \u098f\u09ac\u0982 \u09ac\u09b0\u09ab \u09ad\u09be\u0999\u09cb!&lt;\/p&gt;\r\n        &lt;button id=&quot;btn-start&quot; class=&quot;action-btn&quot;&gt;\u0997\u09c7\u09ae \u09b6\u09c1\u09b0\u09c1 \u0995\u09b0\u09cb&lt;\/button&gt;\r\n    &lt;\/div&gt;\r\n&lt;\/div&gt;&lt;script&gt;\n        window.GameController = {\n            saveScore: function(score, time, extraData) {\n                window.parent.postMessage({\n                    action: 'qsh_save_score',\n                    sim_id: 27049,\n                    score: score,\n                    time: time || 0,\n                    meta: extraData || {}\n                }, 'https:\/\/qsh.in\/boards\/wbbse');\n            }\n        };\n    &lt;\/script&gt;&lt;script&gt;(() =&gt; {\r\n    const initSimulator = () =&gt; {\r\n        const mountPoint = document.getElementById('game-mount-point');\r\n        const container = document.getElementById('sim-root');\r\n        if (mountPoint &amp;&amp; container &amp;&amp; mountPoint !== container.parentNode) {\r\n            mountPoint.appendChild(container);\r\n        }\r\n\r\n        const EN_TO_BN = {'0':'\u09e6', '1':'\u09e7', '2':'\u09e8', '3':'\u09e9', '4':'\u09ea', '5':'\u09eb', '6':'\u09ec', '7':'\u09ed', '8':'\u09ee', '9':'\u09ef'};\r\n        function toBn(numStr) { return String(numStr).split('').map(c =&gt; EN_TO_BN[c] || c).join(''); }\r\n\r\n        const Config = {\r\n            maxLives: 3,\r\n            baseSpeed: 1.2,    \/\/ Faster so it arrives in ~10 seconds\r\n            maxSpeed: 3.5,\r\n            spawnDistance: 2000, \/\/ Distance adjusted for realistic scaling\r\n            hitPenalty: 1.0   \r\n        };\r\n\r\n        const State = {\r\n            isPlaying: false, lastTime: 0, score: 0, lives: Config.maxLives, speed: Config.baseSpeed,\r\n            totalAttempts: 0, correctAttempts: 0, startTime: 0,\r\n            currentA: 0, correctAnswer: 0,\r\n            obsZ: 0, obsState: 'approaching',\r\n            particles: [], lasers: []\r\n        };\r\n\r\n        const DOM = {\r\n            root: document.getElementById('sim-root'),\r\n            canvas: document.getElementById('game-canvas'),\r\n            ctx: document.getElementById('game-canvas') ? document.getElementById('game-canvas').getContext('2d') : null,\r\n            scoreDisp: document.getElementById('score-display'),\r\n            levelDisp: document.getElementById('level-display'),\r\n            hearts: document.querySelectorAll('.crystal-heart'),\r\n            cores: [document.getElementById('core-0'), document.getElementById('core-1'), document.getElementById('core-2')],\r\n            feedbackLayer: document.getElementById('feedback-layer'),\r\n            runner: document.getElementById('character-rig'),\r\n            hitFlash: document.getElementById('hit-flash'),\r\n            frostTablet: document.getElementById('frost-tablet'),\r\n            numA: document.getElementById('num-a'),\r\n            overlay: document.getElementById('game-overlay'),\r\n            btnStart: document.getElementById('btn-start')\r\n        };\r\n\r\n        const AudioEngine = {\r\n            ctx: null, tts: window.speechSynthesis, enabled: false,\r\n            init() {\r\n                if (!this.ctx) {\r\n                    const AudioContext = window.AudioContext || window.webkitAudioContext;\r\n                    if(AudioContext) this.ctx = new AudioContext();\r\n                }\r\n                if (this.ctx &amp;&amp; this.ctx.state === 'suspended') this.ctx.resume();\r\n                if ('speechSynthesis' in window) {\r\n                    this.enabled = true;\r\n                    const u = new SpeechSynthesisUtterance(''); u.volume = 0; this.tts.speak(u);\r\n                }\r\n            },\r\n            speak(text, pitch=1.1) {\r\n                if (!this.enabled) return;\r\n                this.tts.cancel();\r\n                const u = new SpeechSynthesisUtterance(text);\r\n                u.lang = 'bn-IN'; u.rate = 1.1; u.pitch = pitch; \r\n                this.tts.speak(u);\r\n            },\r\n            playLaser() {\r\n                if (!this.ctx) return;\r\n                const osc = this.ctx.createOscillator();\r\n                const gain = this.ctx.createGain();\r\n                osc.type = 'square';\r\n                osc.frequency.setValueAtTime(800, this.ctx.currentTime);\r\n                osc.frequency.exponentialRampToValueAtTime(100, this.ctx.currentTime + 0.2);\r\n                gain.gain.setValueAtTime(0.4, this.ctx.currentTime);\r\n                gain.gain.exponentialRampToValueAtTime(0.01, this.ctx.currentTime + 0.2);\r\n                osc.connect(gain); gain.connect(this.ctx.destination);\r\n                osc.start(); osc.stop(this.ctx.currentTime + 0.2);\r\n            },\r\n            playShatter() {\r\n                if (!this.ctx) return;\r\n                const osc = this.ctx.createOscillator();\r\n                const gain = this.ctx.createGain();\r\n                osc.type = 'sawtooth'; \r\n                osc.frequency.setValueAtTime(400, this.ctx.currentTime);\r\n                osc.frequency.exponentialRampToValueAtTime(50, this.ctx.currentTime + 0.5);\r\n                gain.gain.setValueAtTime(0.6, this.ctx.currentTime);\r\n                gain.gain.exponentialRampToValueAtTime(0.01, this.ctx.currentTime + 0.5);\r\n                osc.connect(gain); gain.connect(this.ctx.destination);\r\n                osc.start(); osc.stop(this.ctx.currentTime + 0.5);\r\n            },\r\n            playCrash() {\r\n                if (!this.ctx) return;\r\n                const osc = this.ctx.createOscillator();\r\n                const gain = this.ctx.createGain();\r\n                osc.type = 'triangle';\r\n                osc.frequency.setValueAtTime(150, this.ctx.currentTime);\r\n                osc.frequency.exponentialRampToValueAtTime(30, this.ctx.currentTime + 0.4);\r\n                gain.gain.setValueAtTime(0.8, this.ctx.currentTime);\r\n                gain.gain.exponentialRampToValueAtTime(0.01, this.ctx.currentTime + 0.4);\r\n                osc.connect(gain); gain.connect(this.ctx.destination);\r\n                osc.start(); osc.stop(this.ctx.currentTime + 0.4);\r\n            }\r\n        };\r\n\r\n        let width, height, cx, cy;\r\n        function resizeCanvas() {\r\n            if(!DOM.canvas || !DOM.ctx) return;\r\n            const rect = DOM.canvas.parentElement.getBoundingClientRect();\r\n            const dpr = window.devicePixelRatio || 1;\r\n            DOM.canvas.width = rect.width * dpr; DOM.canvas.height = rect.height * dpr;\r\n            width = rect.width; height = rect.height;\r\n            cx = width \/ 2; cy = height * 0.4; \/\/ Horizon line \r\n            DOM.ctx.setTransform(1, 0, 0, 1, 0, 0); DOM.ctx.scale(dpr, dpr);\r\n        }\r\n        window.addEventListener('resize', resizeCanvas);\r\n\r\n        function generateProblem() {\r\n            let a;\r\n            do {\r\n                a = Math.floor(Math.random() * 89) + 11; \/\/ 11 to 99\r\n            } while (a % 10 === 0); \r\n\r\n            State.currentA = a; \r\n            State.correctAnswer = 100 - a;\r\n\r\n            if (DOM.numA) DOM.numA.textContent = toBn(State.currentA);\r\n\r\n            if (DOM.frostTablet) {\r\n                DOM.frostTablet.classList.remove('anim-out');\r\n                DOM.frostTablet.classList.remove('anim-pop');\r\n                void DOM.frostTablet.offsetWidth; \/\/ Force reflow\r\n                DOM.frostTablet.classList.add('anim-pop');\r\n            }\r\n\r\n            let options = new Set([State.correctAnswer]);\r\n            while(options.size &lt; 3) {\r\n                let r = Math.random(); let wrong;\r\n                if (r &lt; 0.5) wrong = State.correctAnswer + 10; \r\n                else if (r &lt; 0.8) wrong = State.correctAnswer - 10; \r\n                else wrong = State.correctAnswer + (Math.floor(Math.random() * 6) - 3);\r\n                \r\n                if (wrong &gt; 0 &amp;&amp; wrong &lt; 100 &amp;&amp; wrong !== State.correctAnswer) options.add(wrong);\r\n            }\r\n            \r\n            const optsArray = Array.from(options).sort(() =&gt; Math.random() - 0.5);\r\n            DOM.cores.forEach((btn, i) =&gt; {\r\n                if (btn) {\r\n                    btn.textContent = toBn(optsArray[i]); btn.dataset.val = optsArray[i];\r\n                    btn.classList.remove('btn-correct', 'btn-wrong');\r\n                }\r\n            });\r\n\r\n            State.obsZ = Config.spawnDistance;\r\n            State.obsState = 'approaching';\r\n        }\r\n\r\n        function showFloatingText(text, isGood) {\r\n            if (!DOM.feedbackLayer) return;\r\n            const el = document.createElement('div');\r\n            el.className = `floating-text ${isGood ? 'text-accent' : 'text-danger'}`;\r\n            el.style.fontSize = isGood ? '2.5rem' : '2rem';\r\n            el.style.bottom = '40%';\r\n            el.style.color = isGood ? 'var(--accent)' : '#fff';\r\n            el.style.textShadow = isGood ? '0 0 20px var(--accent)' : '0 0 20px var(--danger)';\r\n            el.textContent = text;\r\n            DOM.feedbackLayer.appendChild(el);\r\n            setTimeout(() =&gt; el.remove(), 1000);\r\n        }\r\n\r\n        function spawnShatterDebris() {\r\n            for(let i=0; i&lt;25; i++) {\r\n                State.particles.push({\r\n                    x: cx, y: cy + 100,\r\n                    vx: (Math.random() - 0.5) * 800, vy: (Math.random() - 0.5) * 800,\r\n                    life: 1.0, size: Math.random() * 6 + 2,\r\n                    color: i%2===0 ? '#38bdf8' : '#e0f2fe', type: 'spark'\r\n                });\r\n            }\r\n            const iceColors = ['#f8fafc', '#e0f2fe', '#bae6fd', '#0284c7'];\r\n            for(let i=0; i&lt;20; i++) {\r\n                State.particles.push({\r\n                    x: cx + (Math.random()-0.5)*150, y: cy + 100 + (Math.random()-0.5)*150,\r\n                    vx: (Math.random() - 0.5) * 600, vy: (Math.random() - 0.5) * 600 - 300,\r\n                    life: 1.0, size: Math.random() * 20 + 10,\r\n                    color: iceColors[Math.floor(Math.random() * iceColors.length)], type: 'ice'\r\n                });\r\n            }\r\n        }\r\n\r\n        function spawnSnowBurst() {\r\n            for(let i=0; i&lt;30; i++) {\r\n                State.particles.push({\r\n                    x: cx, y: height * 0.7,\r\n                    vx: (Math.random() - 0.5) * 600, vy: (Math.random() - 0.5) * 600 - 200,\r\n                    life: 1.0, size: Math.random() * 15 + 5,\r\n                    color: '#f8fafc', type: 'snow'\r\n                });\r\n            }\r\n        }\r\n\r\n        function updateLives() {\r\n            DOM.hearts.forEach((heart, i) =&gt; {\r\n                if(i &lt; State.lives) heart.classList.add('active');\r\n                else heart.classList.remove('active');\r\n            });\r\n            if (State.lives &lt;= 0) endGame();\r\n        }\r\n\r\n        function fireLaser() {\r\n            State.lasers.push({\r\n                x: cx, y: height - 150, \r\n                targetX: cx, targetY: cy + 100, life: 1.0\r\n            });\r\n            AudioEngine.playLaser();\r\n        }\r\n\r\n        function handleAnswer(btnElement) {\r\n            if (!State.isPlaying || State.obsState !== 'approaching') return;\r\n            \r\n            State.totalAttempts++;\r\n            const selected = parseInt(btnElement.dataset.val);\r\n            \r\n            if (DOM.frostTablet) {\r\n                DOM.frostTablet.classList.remove('anim-pop');\r\n                DOM.frostTablet.classList.add('anim-out');\r\n            }\r\n            \r\n            if (selected === State.correctAnswer) {\r\n                State.correctAttempts++;\r\n                State.obsState = 'shattered';\r\n                State.speed = Math.min(Config.maxSpeed, State.speed + 0.15); \r\n                \r\n                State.score += Math.floor(25 * State.speed);\r\n                if (DOM.scoreDisp) DOM.scoreDisp.textContent = toBn(State.score);\r\n                \r\n                btnElement.classList.add('btn-correct');\r\n                fireLaser();\r\n                \r\n                setTimeout(() =&gt; {\r\n                    AudioEngine.playShatter();\r\n                    spawnShatterDebris();\r\n                    \r\n                    let praises = [\r\n                        { text: &quot;\u0985\u09b8\u09be\u09a7\u09be\u09b0\u09a3!&quot;, voice: &quot;Awesome! \u0986\u09b0 \u0995\u09df\u09c7\u0995\u099f\u09bf \u0985\u0999\u09cd\u0995 \u0995\u09b0\u0964&quot; },\r\n                        { text: &quot;\u09ae\u09cd\u09af\u09be\u099c\u09bf\u0995 \u09b8\u09cd\u09aa\u09c7\u09b2!&quot;, voice: &quot;Excellent! \u098f\u0997\u09bf\u09df\u09c7 \u099a\u09b2\u09cb\u0964&quot; },\r\n                        { text: &quot;\u09b8\u09a0\u09bf\u0995 \u099c\u09cb\u09dc\u09be!&quot;, voice: &quot;Great! \u09e7\u09e6\u09e6 \u09ae\u09bf\u09b2\u09c7\u099b\u09c7\u0964&quot; }\r\n                    ];\r\n                    let praise = praises[Math.floor(Math.random() * praises.length)];\r\n                    \r\n                    showFloatingText(praise.text, true);\r\n                    AudioEngine.speak(praise.voice);\r\n\r\n                    if (State.score &gt; 0 &amp;&amp; State.score % 150 === 0) {\r\n                        State.level++;\r\n                        if (DOM.levelDisp) DOM.levelDisp.textContent = toBn(State.level);\r\n                    }\r\n                }, 100);\r\n\r\n            } else {\r\n                btnElement.classList.add('btn-wrong');\r\n                State.lives--; updateLives();\r\n                State.speed = Math.max(Config.baseSpeed, State.speed - Config.hitPenalty);\r\n                State.obsState = 'crashed';\r\n                \r\n                if(DOM.runner) DOM.runner.classList.add('skater-stumble');\r\n                if(DOM.hitFlash) DOM.hitFlash.classList.add('flash-active');\r\n                \r\n                AudioEngine.playCrash();\r\n                AudioEngine.speak(&quot;\u0989\u09ab! \u09a7\u09be\u0995\u09cd\u0995\u09be \u09b2\u09be\u0997\u09b2\u09cb\u0964 \u0986\u09ac\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09cb\u0964&quot;, 0.9);\r\n                showFloatingText('\u09a7\u09be\u0995\u09cd\u0995\u09be!', false);\r\n                spawnSnowBurst();\r\n                \r\n                setTimeout(() =&gt; {\r\n                    btnElement.classList.remove('btn-wrong');\r\n                    if(DOM.runner) DOM.runner.classList.remove('skater-stumble');\r\n                    if(DOM.hitFlash) DOM.hitFlash.classList.remove('flash-active');\r\n                }, 500);\r\n            }\r\n        }\r\n\r\n        function update(dt) {\r\n            if(!DOM.ctx) return;\r\n            const dtSec = dt \/ 1000;\r\n\r\n            if (DOM.root) {\r\n                const visualSpeed = Math.max(0.3, 2.0 - (State.speed * 0.4));\r\n                DOM.root.style.setProperty('--track-speed', `${visualSpeed}s`);\r\n            }\r\n\r\n            const moveStep = State.speed * 250 * dtSec; \r\n            \r\n            if (State.obsState === 'approaching') {\r\n                State.obsZ -= moveStep;\r\n                \r\n                if (State.obsZ &lt;= 50) { \r\n                    if (DOM.frostTablet) DOM.frostTablet.classList.add('anim-out');\r\n                    State.lives--; updateLives();\r\n                    State.speed = Math.max(Config.baseSpeed, State.speed - Config.hitPenalty);\r\n                    State.obsState = 'crashed';\r\n                    \r\n                    if(DOM.runner) DOM.runner.classList.add('skater-stumble');\r\n                    if(DOM.hitFlash) DOM.hitFlash.classList.add('flash-active');\r\n                    \r\n                    AudioEngine.playCrash();\r\n                    AudioEngine.speak(&quot;Too slow! \u09b8\u09ae\u09df \u09b6\u09c7\u09b7\u0964&quot;, 0.9);\r\n                    showFloatingText('\u09b8\u09ae\u09df \u09b6\u09c7\u09b7!', false);\r\n                    spawnSnowBurst();\r\n                    \r\n                    setTimeout(() =&gt; {\r\n                        if(DOM.runner) DOM.runner.classList.remove('skater-stumble');\r\n                        if(DOM.hitFlash) DOM.hitFlash.classList.remove('flash-active');\r\n                    }, 500);\r\n                }\r\n            } else if (State.obsState === 'shattered' || State.obsState === 'crashed') {\r\n                State.obsZ -= moveStep * 3; \r\n                if (State.obsZ &lt; -300) generateProblem();\r\n            }\r\n\r\n            for (let i = State.particles.length - 1; i &gt;= 0; i--) {\r\n                let p = State.particles[i];\r\n                p.x += p.vx * dtSec; p.y += p.vy * dtSec; \r\n                if(p.type === 'ice' || p.type === 'snow') p.vy += 800 * dtSec; \r\n                p.life -= dtSec * 1.5;\r\n                if (p.life &lt;= 0) State.particles.splice(i, 1);\r\n            }\r\n\r\n            for (let i = State.lasers.length - 1; i &gt;= 0; i--) {\r\n                State.lasers[i].life -= dtSec * 6;\r\n                if (State.lasers[i].life &lt;= 0) State.lasers.splice(i, 1);\r\n            }\r\n        }\r\n\r\n        function draw() {\r\n            if(!DOM.ctx) return;\r\n            DOM.ctx.clearRect(0, 0, width, height);\r\n\r\n            \/\/ Draw Giant 3D Ice Boulder\r\n            if (State.obsZ &gt; -200 &amp;&amp; State.obsState === 'approaching') {\r\n                const focal = 350;\r\n                const z = Math.max(1, State.obsZ);\r\n                const scale = focal \/ (focal + z);\r\n                \r\n                const obsW = 350 * scale; \r\n                const obsH = 350 * scale;\r\n                const gx = cx;\r\n                const gy = cy + (height * 0.9 - cy) * scale - obsH\/2; \r\n                \r\n                if (scale &gt; 0.05) {\r\n                    DOM.ctx.save();\r\n                    \r\n                    DOM.ctx.fillStyle = 'rgba(0,0,0,0.5)';\r\n                    DOM.ctx.beginPath();\r\n                    DOM.ctx.ellipse(gx, gy + obsH\/2, obsW\/2, obsW\/8, 0, 0, Math.PI*2);\r\n                    DOM.ctx.fill();\r\n\r\n                    DOM.ctx.fillStyle = '#bae6fd'; \r\n                    DOM.ctx.shadowBlur = 30 * scale;\r\n                    DOM.ctx.shadowColor = '#0284c7';\r\n                    \r\n                    DOM.ctx.beginPath();\r\n                    DOM.ctx.moveTo(gx, gy - obsH\/2);\r\n                    DOM.ctx.lineTo(gx + obsW\/2.5, gy - obsH\/6);\r\n                    DOM.ctx.lineTo(gx + obsW\/3, gy + obsH\/2);\r\n                    DOM.ctx.lineTo(gx, gy + obsH\/2 + 20*scale);\r\n                    DOM.ctx.lineTo(gx - obsW\/3, gy + obsH\/2);\r\n                    DOM.ctx.lineTo(gx - obsW\/2.5, gy - obsH\/6);\r\n                    DOM.ctx.closePath();\r\n                    DOM.ctx.fill();\r\n                    \r\n                    DOM.ctx.fillStyle = '#38bdf8';\r\n                    DOM.ctx.beginPath();\r\n                    DOM.ctx.moveTo(gx, gy - obsH\/2);\r\n                    DOM.ctx.lineTo(gx + obsW\/2.5, gy - obsH\/6);\r\n                    DOM.ctx.lineTo(gx, gy + obsH\/4);\r\n                    DOM.ctx.closePath();\r\n                    DOM.ctx.fill();\r\n\r\n                    DOM.ctx.fillStyle = '#0284c7';\r\n                    DOM.ctx.beginPath();\r\n                    DOM.ctx.moveTo(gx - obsW\/2.5, gy - obsH\/6);\r\n                    DOM.ctx.lineTo(gx, gy - obsH\/2);\r\n                    DOM.ctx.lineTo(gx, gy + obsH\/4);\r\n                    DOM.ctx.closePath();\r\n                    DOM.ctx.fill();\r\n                    \r\n                    \/\/ Danger mark\r\n                    DOM.ctx.strokeStyle = '#f43f5e';\r\n                    DOM.ctx.lineWidth = 4 * scale;\r\n                    DOM.ctx.shadowBlur = 10 * scale;\r\n                    DOM.ctx.shadowColor = '#f43f5e';\r\n                    DOM.ctx.beginPath();\r\n                    DOM.ctx.arc(gx, gy + obsH\/4, obsW\/6, 0, Math.PI*2);\r\n                    DOM.ctx.stroke();\r\n\r\n                    DOM.ctx.restore();\r\n                }\r\n            }\r\n\r\n            \/\/ Draw Lasers\r\n            DOM.ctx.shadowBlur = 20; DOM.ctx.shadowColor = '#facc15'; DOM.ctx.lineWidth = 12; DOM.ctx.strokeStyle = '#facc15';\r\n            State.lasers.forEach(l =&gt; {\r\n                DOM.ctx.globalAlpha = l.life;\r\n                DOM.ctx.beginPath(); DOM.ctx.moveTo(l.x, l.y); DOM.ctx.lineTo(l.targetX, l.targetY); DOM.ctx.stroke();\r\n                DOM.ctx.lineWidth = 4; DOM.ctx.strokeStyle = '#fff'; DOM.ctx.stroke();\r\n            });\r\n            DOM.ctx.globalAlpha = 1.0; DOM.ctx.shadowBlur = 0;\r\n\r\n            \/\/ Draw Particles\r\n            State.particles.forEach(p =&gt; {\r\n                DOM.ctx.globalAlpha = Math.max(0, p.life);\r\n                DOM.ctx.fillStyle = p.color;\r\n                DOM.ctx.beginPath();\r\n                if(p.type === 'ice') {\r\n                    DOM.ctx.moveTo(p.x, p.y - p.size); DOM.ctx.lineTo(p.x + p.size, p.y);\r\n                    DOM.ctx.lineTo(p.x + p.size\/2, p.y + p.size); DOM.ctx.lineTo(p.x - p.size\/2, p.y + p.size);\r\n                    DOM.ctx.lineTo(p.x - p.size, p.y);\r\n                } else {\r\n                    if(p.type === 'spark') { DOM.ctx.shadowBlur = 10; DOM.ctx.shadowColor = p.color; }\r\n                    DOM.ctx.arc(p.x, p.y, p.size, 0, Math.PI * 2);\r\n                }\r\n                DOM.ctx.fill();\r\n                DOM.ctx.shadowBlur = 0;\r\n            });\r\n            DOM.ctx.globalAlpha = 1.0;\r\n        }\r\n\r\n        function loop(timestamp) {\r\n            if (!State.isPlaying) return;\r\n            const dt = timestamp - State.lastTime; State.lastTime = timestamp;\r\n            if (dt &lt; 100) { update(dt); draw(); }\r\n            requestAnimationFrame(loop);\r\n        }\r\n\r\n        function startGame() {\r\n            AudioEngine.init(); resizeCanvas();\r\n            State.isPlaying = true; State.score = 0; State.level = 1; \r\n            State.lives = Config.maxLives; State.speed = Config.baseSpeed;\r\n            State.totalAttempts = 0; State.correctAttempts = 0; State.startTime = Date.now();\r\n            State.particles = []; State.lasers = [];\r\n            \r\n            if (DOM.scoreDisp) DOM.scoreDisp.textContent = &quot;\u09e6&quot;; \r\n            if (DOM.levelDisp) DOM.levelDisp.textContent = &quot;\u09e7&quot;; \r\n            updateLives();\r\n            if (DOM.overlay) DOM.overlay.classList.add('hidden');\r\n            \r\n            State.lastTime = performance.now();\r\n            generateProblem();\r\n            requestAnimationFrame(loop);\r\n        }\r\n\r\n        function endGame() {\r\n            State.isPlaying = false;\r\n            if (DOM.frostTablet) DOM.frostTablet.classList.add('anim-out');\r\n            \r\n            const accuracy = State.totalAttempts &gt; 0 ? Math.round((State.correctAttempts \/ State.totalAttempts) * 100) : 0;\r\n            const timeSpent = Math.floor((Date.now() - State.startTime) \/ 1000);\r\n            \r\n            if (DOM.overlay) {\r\n                const title = DOM.overlay.querySelector('.overlay-title');\r\n                const desc = DOM.overlay.querySelector('.overlay-desc');\r\n                if (title) title.textContent = &quot;\u0997\u09c7\u09ae \u0993\u09ad\u09be\u09b0!&quot;;\r\n                if (desc) desc.innerHTML = `\u099a\u09c2\u09dc\u09be\u09a8\u09cd\u09a4 \u09b8\u09cd\u0995\u09cb\u09b0: &lt;b&gt;${toBn(State.score)}&lt;\/b&gt;&lt;br&gt;\u09b8\u09a0\u09bf\u0995\u09a4\u09be\u09b0 \u09b9\u09be\u09b0: &lt;b&gt;${toBn(accuracy)}%&lt;\/b&gt;`;\r\n                DOM.btnStart.textContent = &quot;\u0986\u09ac\u09be\u09b0 \u0996\u09c7\u09b2\u09c1\u09a8&quot;;\r\n                DOM.overlay.classList.remove('hidden');\r\n            }\r\n\r\n            if (window.GameController &amp;&amp; typeof window.GameController.saveScore === 'function') {\r\n                window.GameController.saveScore(State.score, timeSpent, { level: `Day5-FrostRun-Lvl${State.level}`, accuracy: accuracy });\r\n            }\r\n        }\r\n\r\n        DOM.cores.forEach(btn =&gt; {\r\n            if (btn) {\r\n                btn.addEventListener('pointerdown', (e) =&gt; {\r\n                    e.preventDefault(); handleAnswer(btn);\r\n                    if(navigator.vibrate) navigator.vibrate(15);\r\n                });\r\n            }\r\n        });\r\n\r\n        if (DOM.btnStart) {\r\n            DOM.btnStart.addEventListener('pointerdown', (e) =&gt; { e.preventDefault(); startGame(); });\r\n        }\r\n\r\n        resizeCanvas(); draw();\r\n    };\r\n\r\n    if (document.readyState === 'loading') {\r\n        document.addEventListener('DOMContentLoaded', initSimulator);\r\n    } else {\r\n        initSimulator();\r\n    }\r\n})();&lt;\/script&gt;&lt;\/body&gt;&lt;\/html&gt;\" sandbox=\"allow-scripts allow-forms allow-same-origin allow-pointer-lock\" allow=\"fullscreen; accelerometer; gyroscope\" allowfullscreen><\/iframe>\n        <\/div>\n    <\/div>\n    <script data-cfasync=\"false\">\n    (function() {\n        var wrap = document.getElementById('qsh-27049-563');\n        var btn  = document.getElementById('fs-btn-qsh-27049-563');\n        if (!wrap || !btn) return;\n        btn.addEventListener('click', function() {\n            if (!document.fullscreenElement) {\n                if (wrap.requestFullscreen) wrap.requestFullscreen();\n                else if (wrap.webkitRequestFullscreen) wrap.webkitRequestFullscreen();\n            } else {\n                if (document.exitFullscreen) document.exitFullscreen();\n            }\n        });\n        document.addEventListener('fullscreenchange', function() {\n            if (document.fullscreenElement === wrap) {\n                btn.classList.add('is-active');\n                btn.querySelector('span').textContent = 'Exit';\n            } else {\n                btn.classList.remove('is-active');\n                btn.querySelector('span').textContent = 'Expand';\n            }\n        });\n    })();\n    <\/script>\n    \n<p><!-- \u0997\u09c7\u09ae\u09c7\u09b0 \u0995\u09a8\u09cd\u099f\u09c7\u0987\u09a8\u09be\u09b0\u099f\u09bf \u098f\u0996\u09be\u09a8\u09c7 \u09b0\u09c7\u09a8\u09cd\u09a1\u09be\u09b0 \u09b9\u09ac\u09c7 (Header Script \u0993 CSS Injector-\u098f\u09b0 \u09ae\u09be\u09a7\u09cd\u09af\u09ae\u09c7) --><\/p>\n<div id=\"game-mount-point\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u09ae\u09c7\u09a8\u09cd\u099f\u09be\u09b2 \u09ae\u09cd\u09af\u09be\u09a5 (Mental Math) \u0995\u09cb\u09b0\u09cd\u09b8\u09c7\u09b0 \u09aa\u099e\u09cd\u099a\u09ae \u09a6\u09bf\u09a8\u09c7 \u09a4\u09cb\u09ae\u09be\u09a6\u09c7\u09b0 \u09b8\u09cd\u09ac\u09be\u0997\u09a4\u09ae! \u0986\u099c\u0995\u09c7\u09b0 \u09aa\u09be\u09a0\u099f\u09bf \u0985\u09a4\u09cd\u09af\u09a8\u09cd\u09a4 \u09ae\u099c\u09be\u09a6\u09be\u09b0 \u098f\u09ac\u0982 \u09ac\u09be\u09b8\u09cd\u09a4\u09ac \u099c\u09c0\u09ac\u09a8\u09c7 \u09b8\u09ac\u099a\u09c7\u09df\u09c7 \u09ac\u09c7\u09b6\u09bf \u0995\u09be\u099c\u09c7 \u09b2\u09be\u0997\u09c7\u0964 \u0986\u099c \u0986\u09ae\u09b0\u09be \u09b6\u09bf\u0996\u09ac \u2018\u09aa\u09b0\u09bf\u09aa\u09c2\u09b0\u0995 \u09b8\u0982\u0996\u09cd\u09af\u09be\u2019 (Complementary Numbers) \u09ac\u09be \u09e7\u09e6 \u098f\u09ac\u0982 \u09e7\u09e6\u09e6 \u098f\u09b0 \u099c\u09cb\u09dc\u09be\u0964 \u09aa\u09b0\u09bf\u09aa\u09c2\u09b0\u0995 \u09b8\u0982\u0996\u09cd\u09af\u09be \u09b9\u09b2\u09cb \u09b8\u09c7\u0987 \u09b8\u0982\u0996\u09cd\u09af\u09be\u0997\u09c1\u09b2\u09cb, \u09af\u09be\u09a6\u09c7\u09b0 \u098f\u0995\u09b8\u09be\u09a5\u09c7 \u09af\u09cb\u0997 \u0995\u09b0\u09b2\u09c7 \u09e7\u09e6, \u09e7\u09e6\u09e6 \u09ac\u09be \u09e7,\u09e6\u09e6\u09e6 \u098f\u09b0 \u09ae\u09a4\u09cb \u098f\u0995\u099f\u09bf \u09a8\u09bf\u09b0\u09cd\u09a6\u09bf\u09b7\u09cd\u099f \u09ad\u09bf\u09a4\u09cd\u09a4\u09bf (Base) \u09aa\u09be\u0993\u09df\u09be \u09af\u09be\u09df\u0964 \u09ac\u09bf\u09df\u09cb\u0997 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-27049","post","type-post","status-publish","format-standard","hentry","category-mental-math-tricks"],"_links":{"self":[{"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/posts\/27049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/comments?post=27049"}],"version-history":[{"count":2,"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/posts\/27049\/revisions"}],"predecessor-version":[{"id":27071,"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/posts\/27049\/revisions\/27071"}],"wp:attachment":[{"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/media?parent=27049"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/categories?post=27049"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/tags?post=27049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}