{"id":874,"date":"2026-04-27T07:51:50","date_gmt":"2026-04-27T02:21:50","guid":{"rendered":"https:\/\/qsh.in\/boards\/wbbse\/?p=874"},"modified":"2026-08-18T20:29:44","modified_gmt":"2026-08-18T14:59:44","slug":"thermal-phenomena","status":"publish","type":"post","link":"https:\/\/qsh.in\/boards\/wbbse\/class-x\/physical-science\/thermal-phenomena\/","title":{"rendered":"\u09a4\u09be\u09aa\u09c7\u09b0 \u0998\u099f\u09a8\u09be \u09b8\u09ae\u09c2\u09b9 &#8211; \u09a6\u09b6\u09ae \u09b6\u09cd\u09b0\u09c7\u09a3\u09bf\u09b0 \u09ad\u09cc\u09a4 \u09ac\u09bf\u099c\u09cd\u099e\u09be\u09a8 \u0985\u09a7\u09cd\u09af\u09be\u09df \u09ea"},"content":{"rendered":"<p>\u09a6\u09b6\u09ae \u09b6\u09cd\u09b0\u09c7\u09a3\u09bf\u09b0 \u09ad\u09cc\u09a4\u09ac\u09bf\u099c\u09cd\u099e\u09be\u09a8\u09c7\u09b0 \u099a\u09a4\u09c1\u09b0\u09cd\u09a5 \u0985\u09a7\u09cd\u09af\u09be\u09af\u09bc\u09c7 \u09a4\u09cb\u09ae\u09be\u09a6\u09c7\u09b0 \u09b8\u09cd\u09ac\u09be\u0997\u09a4! \u09a4\u09cb\u09ae\u09b0\u09be \u0995\u09bf \u0995\u0996\u09a8\u09cb \u09ad\u09c7\u09ac\u09c7 \u09a6\u09c7\u0996\u09c7\u099b \u0995\u09c7\u09a8 \u0997\u09cb\u09b0\u09c1\u09b0 \u0997\u09be\u09a1\u09bc\u09bf\u09b0 \u0995\u09be\u09a0\u09c7\u09b0 \u099a\u09be\u0995\u09be\u09af\u09bc \u09b2\u09cb\u09b9\u09be\u09b0 \u09ac\u09c7\u09a1\u09bc \u09aa\u09b0\u09be\u09a8\u09cb\u09b0 \u09b8\u09ae\u09af\u09bc \u09a4\u09be\u0995\u09c7 \u0997\u09b0\u09ae \u0995\u09b0\u09be \u09b9\u09af\u09bc? \u0985\u09a5\u09ac\u09be \u0995\u09be\u0981\u099a\u09c7\u09b0 \u09ac\u09cb\u09a4\u09b2\u09c7\u09b0 \u09a7\u09be\u09a4\u09ac \u099b\u09bf\u09aa\u09bf \u0986\u099f\u0995\u09c7 \u0997\u09c7\u09b2\u09c7 \u098f\u0995\u099f\u09c1 \u0997\u09b0\u09ae \u0995\u09b0\u09b2\u09c7\u0987 \u0995\u09c7\u09a8 \u09b8\u09b9\u099c\u09c7 \u0996\u09c1\u09b2\u09c7 \u09af\u09be\u09af\u09bc? \u098f\u09b0 \u0989\u09a4\u09cd\u09a4\u09b0 \u09b2\u09c1\u0995\u09bf\u09af\u09bc\u09c7 \u0986\u099b\u09c7 <strong>\u09a4\u09be\u09aa\u09c0\u09af\u09bc \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3\u09c7\u09b0 (Thermal Expansion)<\/strong> \u09ae\u09a7\u09cd\u09af\u09c7\u0964 \u09a4\u09be\u09aa \u09a6\u09bf\u09b2\u09c7 \u0995\u09a0\u09bf\u09a8, \u09a4\u09b0\u09b2 \u098f\u09ac\u0982 \u0997\u09cd\u09af\u09be\u09b8\u09c0\u09af\u09bc\u2014 \u09b8\u09ac \u09aa\u09a6\u09be\u09b0\u09cd\u09a5\u09c7\u09b0\u0987 \u0986\u09af\u09bc\u09a4\u09a8 \u09ac\u09c3\u09a6\u09cd\u09a7\u09bf \u09aa\u09be\u09af\u09bc\u0964 \u098f\u0987 \u0985\u09a7\u09cd\u09af\u09be\u09af\u09bc\u09c7 \u0986\u09ae\u09b0\u09be <strong>\u0995\u09a0\u09bf\u09a8\u09c7\u09b0 \u09a4\u09bf\u09a8 \u09aa\u09cd\u09b0\u0995\u09be\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 (\u09a6\u09c8\u09b0\u09cd\u0998\u09cd\u09af, \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0 \u0993 \u0986\u09af\u09bc\u09a4\u09a8)<\/strong>, <strong>\u09a4\u09b0\u09b2\u09c7\u09b0 \u0986\u09aa\u09be\u09a4 \u0993 \u09aa\u09cd\u09b0\u0995\u09c3\u09a4 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3<\/strong> \u098f\u09ac\u0982 <strong>\u09a4\u09be\u09aa\u09c7\u09b0 \u09aa\u09b0\u09bf\u09ac\u09b9\u09a8 (Heat Conduction)<\/strong> \u09a8\u09bf\u09af\u09bc\u09c7 \u09ac\u09bf\u09b8\u09cd\u09a4\u09be\u09b0\u09bf\u09a4 \u0993 \u09b8\u09b9\u099c \u0986\u09b2\u09cb\u099a\u09a8\u09be \u0995\u09b0\u09ac\u0964<\/p>\n<h2>\u09b8\u09c2\u099a\u09bf\u09aa\u09a4\u09cd\u09b0 : \u09a4\u09be\u09aa\u09c7\u09b0 \u0998\u099f\u09a8\u09be \u09b8\u09ae\u09c2\u09b9<\/h2>\n<ul class=\"chapter-index\">\n<li>\u09aa\u09b0\u09cd\u09ac \u09e7: <a href=\"\/boards\/wbbse\/class-x\/physical-science\/expansion-of-solids\/\">\u0995\u09a0\u09bf\u09a8 \u09aa\u09a6\u09be\u09b0\u09cd\u09a5\u09c7\u09b0 \u09a4\u09be\u09aa\u09c0\u09af\u09bc \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u098f\u09ac\u0982 \u09ac\u09be\u09b8\u09cd\u09a4\u09ac \u099c\u09c0\u09ac\u09a8\u09c7 \u098f\u09b0 \u09aa\u09cd\u09b0\u09af\u09bc\u09cb\u0997\u00a0<\/a><\/li>\n<li>\u09aa\u09b0\u09cd\u09ac \u09e8: <a href=\"\/boards\/wbbse\/class-x\/physical-science\/expansion-of-liquids-and-gases\/\">\u09a4\u09b0\u09b2 \u0993 \u0997\u09cd\u09af\u09be\u09b8\u09c7\u09b0 \u09a4\u09be\u09aa\u09c0\u09af\u09bc \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3\u00a0<\/a><\/li>\n<li>\u09aa\u09b0\u09cd\u09ac \u09e9: <a href=\"\/boards\/wbbse\/class-x\/physical-science\/heat-conduction\/\">\u09a4\u09be\u09aa\u09c7\u09b0 \u09aa\u09b0\u09bf\u09ac\u09b9\u09a8 \u098f\u09ac\u0982 \u09a4\u09be\u09aa \u09aa\u09b0\u09bf\u09ac\u09be\u09b9\u09bf\u09a4\u09be\u0999\u09cd\u0995<\/a><\/li>\n<\/ul>\n<div class=\"infographic-container-sci\">\n<div class=\"info-title-sci\">\u09a4\u09be\u09aa\u09c7\u09b0 \u0998\u099f\u09a8\u09be \u09b8\u09ae\u09c2\u09b9 \u098f\u0995\u09a8\u099c\u09b0\u09c7<\/div>\n<div class=\"nodes-wrapper-sci\">\n<div class=\"node-sci\">\n<h4>\u0995\u09a0\u09bf\u09a8\u09c7\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \ud83d\udee4\ufe0f<\/h4>\n<p>\u09a4\u09be\u09aa \u09a6\u09bf\u09b2\u09c7 \u0995\u09a0\u09bf\u09a8 \u09aa\u09a6\u09be\u09b0\u09cd\u09a5\u09c7\u09b0 \u09a6\u09c8\u09b0\u09cd\u0998\u09cd\u09af (Linear), \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0\u09ab\u09b2 (Superficial) \u098f\u09ac\u0982 \u0986\u09af\u09bc\u09a4\u09a8 (Volumetric)\u2014 \u098f\u0987 \u09a4\u09bf\u09a8 \u09aa\u09cd\u09b0\u0995\u09be\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3\u0987 \u0998\u099f\u09c7\u0964<\/p>\n<\/div>\n<div class=\"node-sci\">\n<h4>\u09a6\u09cd\u09ac\u09bf-\u09a7\u09be\u09a4\u09ac \u09aa\u09be\u09a4 \ud83c\udf21\ufe0f<\/h4>\n<p>\u09a6\u09c1\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u09a7\u09be\u09a4\u09c1\u09b0 \u09aa\u09be\u09a4\u0995\u09c7 \u0986\u099f\u0995\u09c7 \u0989\u09a4\u09cd\u09a4\u09aa\u09cd\u09a4 \u0995\u09b0\u09b2\u09c7 \u09a4\u09be \u09ac\u09c7\u0981\u0995\u09c7 \u09af\u09be\u09af\u09bc, \u0995\u09be\u09b0\u09a3 \u09a7\u09be\u09a4\u09c1 \u09a6\u09c1\u099f\u09bf\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u09b8\u09ae\u09be\u09a8 \u09b9\u09af\u09bc \u09a8\u09be\u0964 \u098f\u099f\u09bf \u09ab\u09be\u09af\u09bc\u09be\u09b0 \u0985\u09cd\u09af\u09be\u09b2\u09be\u09b0\u09cd\u09ae \u09ac\u09be \u09a5\u09be\u09b0\u09cd\u09ae\u09cb\u09b8\u09cd\u099f\u09cd\u09af\u09be\u099f\u09c7 \u09ac\u09cd\u09af\u09ac\u09b9\u09c3\u09a4 \u09b9\u09af\u09bc\u0964<\/p>\n<\/div>\n<div class=\"node-sci\">\n<h4>\u09a4\u09b0\u09b2\u09c7\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \ud83d\udca7<\/h4>\n<p>\u09a4\u09b0\u09b2\u0995\u09c7 \u09aa\u09be\u09a4\u09cd\u09b0\u09c7 \u09b0\u09c7\u0996\u09c7 \u0997\u09b0\u09ae \u0995\u09b0\u09a4\u09c7 \u09b9\u09af\u09bc \u09ac\u09b2\u09c7 \u098f\u09b0 \u09a6\u09c1\u099f\u09bf \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u09a6\u09c7\u0996\u09be \u09af\u09be\u09af\u09bc: \u0986\u09aa\u09be\u09a4 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 (Apparent) \u098f\u09ac\u0982 \u09aa\u09cd\u09b0\u0995\u09c3\u09a4 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 (Real)\u0964<\/p>\n<\/div>\n<div class=\"node-sci\">\n<h4>\u09a4\u09be\u09aa\u09c7\u09b0 \u09aa\u09b0\u09bf\u09ac\u09b9\u09a8 \ud83d\udd25<\/h4>\n<p>\u09af\u09c7 \u09aa\u09a6\u09cd\u09a7\u09a4\u09bf\u09a4\u09c7 \u0995\u09a0\u09bf\u09a8 \u09aa\u09a6\u09be\u09b0\u09cd\u09a5\u09c7\u09b0 \u0989\u09b7\u09cd\u09a3\u09a4\u09b0 \u0985\u0982\u09b6 \u09a5\u09c7\u0995\u09c7 \u09b6\u09c0\u09a4\u09b2\u09a4\u09b0 \u0985\u0982\u09b6\u09c7 \u09a4\u09be\u09aa \u09aa\u09b0\u09bf\u09ac\u09be\u09b9\u09bf\u09a4 \u09b9\u09af\u09bc \u0995\u09bf\u09a8\u09cd\u09a4\u09c1 \u0995\u09a3\u09be\u0997\u09c1\u09b2\u09cb\u09b0 \u09b8\u09cd\u09a5\u09be\u09a8\u099a\u09cd\u09af\u09c1\u09a4\u09bf \u0998\u099f\u09c7 \u09a8\u09be, \u09a4\u09be\u0995\u09c7 \u09a4\u09be\u09aa\u09c7\u09b0 \u09aa\u09b0\u09bf\u09ac\u09b9\u09a8 \u09ac\u09b2\u09c7\u0964<\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3>\u0997\u09c1\u09b0\u09c1\u09a4\u09cd\u09ac\u09aa\u09c2\u09b0\u09cd\u09a3 \u09aa\u09cd\u09b0\u09b6\u09cd\u09a8\u09cb\u09a4\u09cd\u09a4\u09b0 (FAQ)<\/h3>\n<div class=\"faq-section\">\n<details>\n<summary><strong>\u09e7. \u09a4\u09be\u09aa\u09c0\u09af\u09bc \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u0995\u09be\u0995\u09c7 \u09ac\u09b2\u09c7? \u0995\u09cb\u09a8\u09cd \u09aa\u09a6\u09be\u09b0\u09cd\u09a5\u09c7\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u09b8\u09ac\u099a\u09c7\u09af\u09bc\u09c7 \u09ac\u09c7\u09b6\u09bf \u09b9\u09af\u09bc?<\/strong><\/summary>\n<p>\u09a4\u09be\u09aa \u09aa\u09cd\u09b0\u09af\u09bc\u09cb\u0997\u09c7\u09b0 \u09ab\u09b2\u09c7 \u09aa\u09a6\u09be\u09b0\u09cd\u09a5\u09c7\u09b0 \u0986\u0995\u09be\u09b0 \u09ac\u09be \u0986\u09af\u09bc\u09a4\u09a8 \u09ac\u09c3\u09a6\u09cd\u09a7\u09bf \u09aa\u09be\u0993\u09af\u09bc\u09be\u09b0 \u0998\u099f\u09a8\u09be\u0995\u09c7 \u09a4\u09be\u09aa\u09c0\u09af\u09bc \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 (Thermal Expansion) \u09ac\u09b2\u09c7\u0964 \u0995\u09a0\u09bf\u09a8\u09c7\u09b0 \u09a4\u09c1\u09b2\u09a8\u09be\u09af\u09bc \u09a4\u09b0\u09b2\u09c7\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u09ac\u09c7\u09b6\u09bf \u09b9\u09af\u09bc, \u0986\u09b0 \u09a4\u09b0\u09b2\u09c7\u09b0 \u09a4\u09c1\u09b2\u09a8\u09be\u09af\u09bc \u0997\u09cd\u09af\u09be\u09b8\u09c7\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u09b8\u09ac\u099a\u09c7\u09af\u09bc\u09c7 \u09ac\u09c7\u09b6\u09bf \u09b9\u09af\u09bc\u0964<\/p>\n<\/details>\n<details>\n<summary><strong>\u09e8. \u0995\u09a0\u09bf\u09a8 \u09aa\u09a6\u09be\u09b0\u09cd\u09a5\u09c7\u09b0 \u0995\u09af\u09bc \u09aa\u09cd\u09b0\u0995\u09be\u09b0 \u09a4\u09be\u09aa\u09c0\u09af\u09bc \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u09a6\u09c7\u0996\u09be \u09af\u09be\u09af\u09bc?<\/strong><\/summary>\n<p>\u0995\u09a0\u09bf\u09a8 \u09aa\u09a6\u09be\u09b0\u09cd\u09a5\u09c7\u09b0 \u09a8\u09bf\u09b0\u09cd\u09a6\u09bf\u09b7\u09cd\u099f \u0986\u0995\u09be\u09b0 \u0993 \u0986\u09af\u09bc\u09a4\u09a8 \u09a5\u09be\u0995\u09be\u09af\u09bc \u098f\u09b0 \u09a4\u09bf\u09a8 \u09aa\u09cd\u09b0\u0995\u09be\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u09a6\u09c7\u0996\u09be \u09af\u09be\u09af\u09bc\u2014 \u09e7. \u09a6\u09c8\u09b0\u09cd\u0998\u09cd\u09af \u09ac\u09be \u09b0\u09c8\u0996\u09bf\u0995 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3, \u09e8. \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u098f\u09ac\u0982 \u09e9. \u0986\u09af\u09bc\u09a4\u09a8 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3\u0964<\/p>\n<\/details>\n<details>\n<summary><strong>\u09e9. \u09a6\u09cd\u09ac\u09bf-\u09a7\u09be\u09a4\u09ac \u09aa\u09be\u09a4 (Bimetallic Strip) \u0995\u09c0?<\/strong><\/summary>\n<p>\u09b8\u09ae\u09be\u09a8 \u09a6\u09c8\u09b0\u09cd\u0998\u09cd\u09af \u0993 \u09ac\u09c7\u09a6\u09af\u09c1\u0995\u09cd\u09a4 \u09a6\u09c1\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u09a7\u09be\u09a4\u09c1\u09b0 \u09aa\u09be\u09a4\u0995\u09c7 (\u09af\u09c7\u09ae\u09a8- \u09b2\u09cb\u09b9\u09be \u0993 \u09aa\u09bf\u09a4\u09b2) \u09b0\u09bf\u09ad\u09c7\u099f \u0995\u09b0\u09c7 \u0986\u099f\u0995\u09c7 \u09af\u09c7 \u09af\u09c1\u0997\u09cd\u09ae \u09aa\u09be\u09a4 \u09a4\u09c8\u09b0\u09bf \u0995\u09b0\u09be \u09b9\u09af\u09bc, \u09a4\u09be\u0995\u09c7 \u09a6\u09cd\u09ac\u09bf-\u09a7\u09be\u09a4\u09ac \u09aa\u09be\u09a4 \u09ac\u09b2\u09c7\u0964 \u098f\u0995\u09c7 \u0989\u09a4\u09cd\u09a4\u09aa\u09cd\u09a4 \u0995\u09b0\u09b2\u09c7 \u09af\u09c7 \u09a7\u09be\u09a4\u09c1\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u0997\u09c1\u09a3\u09be\u0999\u09cd\u0995 \u09ac\u09c7\u09b6\u09bf, \u09aa\u09be\u09a4\u099f\u09bf \u09a4\u09be\u09b0 \u0989\u09b2\u099f\u09cb \u09a6\u09bf\u0995\u09c7 \u09ac\u09c7\u0981\u0995\u09c7 \u09af\u09be\u09af\u09bc\u0964<\/p>\n<\/details>\n<details>\n<summary><strong>\u09ea. \u09a4\u09b0\u09b2\u09c7\u09b0 \u09aa\u09cd\u09b0\u0995\u09c3\u09a4 \u0993 \u0986\u09aa\u09be\u09a4 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3\u09c7\u09b0 \u09ae\u09a7\u09cd\u09af\u09c7 \u09b8\u09ae\u09cd\u09aa\u09b0\u09cd\u0995 \u0995\u09c0?<\/strong><\/summary>\n<p>\u09af\u09c7\u09b9\u09c7\u09a4\u09c1 \u09a4\u09b0\u09b2\u0995\u09c7 \u09aa\u09be\u09a4\u09cd\u09b0\u09c7 \u09b0\u09c7\u0996\u09c7 \u0997\u09b0\u09ae \u0995\u09b0\u09a4\u09c7 \u09b9\u09af\u09bc, \u09a4\u09be\u0987 \u09a4\u09b0\u09b2\u09c7\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3\u09c7\u09b0 \u09b8\u09be\u09a5\u09c7 \u09aa\u09be\u09a4\u09cd\u09b0\u09c7\u09b0\u0993 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u0998\u099f\u09c7\u0964 \u09a4\u09b0\u09b2\u09c7\u09b0 \u09aa\u09cd\u09b0\u0995\u09c3\u09a4 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 = \u09a4\u09b0\u09b2\u09c7\u09b0 \u0986\u09aa\u09be\u09a4 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 + \u09aa\u09be\u09a4\u09cd\u09b0\u09c7\u09b0 \u0986\u09af\u09bc\u09a4\u09a8 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3\u0964 \u0986\u09aa\u09be\u09a4 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u0985\u09aa\u09c7\u0995\u09cd\u09b7\u09be \u09aa\u09cd\u09b0\u0995\u09c3\u09a4 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u09a4\u09b0\u09b2\u09c7\u09b0 \u09a8\u09bf\u099c\u09b8\u09cd\u09ac \u09a7\u09b0\u09cd\u09ae\u0964<\/p>\n<\/details>\n<details>\n<summary><strong>\u09eb. \u09a4\u09be\u09aa \u09aa\u09b0\u09bf\u09ac\u09be\u09b9\u09bf\u09a4\u09be\u0999\u09cd\u0995 (Coefficient of Thermal Conductivity) \u0995\u09be\u0995\u09c7 \u09ac\u09b2\u09c7?<\/strong><\/summary>\n<p>\u098f\u0995\u0995 \u09ac\u09c7\u09a7 \u0993 \u098f\u0995\u0995 \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0\u09ab\u09b2 \u09ac\u09bf\u09b6\u09bf\u09b7\u09cd\u099f \u0995\u09cb\u09a8\u09cb \u09aa\u09be\u09a4\u09c7\u09b0 \u09a6\u09c1\u0987 \u09ac\u09bf\u09aa\u09b0\u09c0\u09a4 \u09aa\u09c3\u09b7\u09cd\u09a0\u09c7\u09b0 \u0989\u09b7\u09cd\u09a3\u09a4\u09be\u09b0 \u09aa\u09be\u09b0\u09cd\u09a5\u0995\u09cd\u09af 1 \u09a1\u09bf\u0997\u09cd\u09b0\u09bf \u09b9\u09b2\u09c7, \u09b8\u09cd\u09a5\u09bf\u09b0 \u0985\u09ac\u09b8\u09cd\u09a5\u09be\u09af\u09bc \u09aa\u09be\u09a4\u09c7\u09b0 \u098f\u0995 \u09aa\u09c3\u09b7\u09cd\u09a0 \u09a5\u09c7\u0995\u09c7 \u0985\u09aa\u09b0 \u09aa\u09c3\u09b7\u09cd\u09a0\u09c7 \u09b2\u09ae\u09cd\u09ac\u09ad\u09be\u09ac\u09c7 1 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1\u09c7 \u09af\u09c7 \u09aa\u09b0\u09bf\u09ae\u09be\u09a3 \u09a4\u09be\u09aa \u09aa\u09b0\u09bf\u09ac\u09be\u09b9\u09bf\u09a4 \u09b9\u09af\u09bc, \u09a4\u09be\u0995\u09c7 \u0993\u0987 \u0989\u09aa\u09be\u09a6\u09be\u09a8\u09c7\u09b0 \u09a4\u09be\u09aa \u09aa\u09b0\u09bf\u09ac\u09be\u09b9\u09bf\u09a4\u09be\u0999\u09cd\u0995 \u09ac\u09b2\u09c7\u0964<\/p>\n<\/details>\n<\/div>\n    <div id=\"qsh-874-189\" class=\"qsh-sim-frame-wrap\" style=\"--qsh-aspect: 16\/9;\">\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-874-189').srcdoc = document.getElementById('if-qsh-874-189').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-874-189\" 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-874-189\" 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-color: #0f172a;\r\n    --surface-color: rgba(30, 41, 59, 0.95);\r\n    --primary-color: #3b82f6;\r\n    --primary-hover: #2563eb;\r\n    --success-color: #10b981;\r\n    --error-color: #ef4444;\r\n    --text-main: #f8fafc;\r\n    --text-muted: #94a3b8;\r\n    --header-height: 45px;\r\n    --font-family: system-ui, -apple-system, sans-serif;\r\n}\r\n\r\n* { box-sizing: border-box; margin: 0; padding: 0; -webkit-font-smoothing: antialiased; }\r\n\r\nbody {\r\n    font-family: var(--font-family); background-color: var(--bg-color); color: var(--text-main);\r\n    overflow: hidden; height: 100vh; width: 100vw;\r\n    touch-action: manipulation; -webkit-tap-highlight-color: transparent; user-select: none;\r\n}\r\n\r\n.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }\r\n\r\n#sim-root { display: flex; flex-direction: column; height: 100%; position: relative; }\r\n\r\n\/* \u0995\u09ae\u09aa\u09cd\u09af\u09be\u0995\u09cd\u099f \u09b9\u09c7\u09a1\u09be\u09b0 *\/\r\n.sim-header {\r\n    height: var(--header-height); background: #020617; display: flex; align-items: center; justify-content: space-between;\r\n    padding: 0 10px; border-bottom: 1px solid #334155; z-index: 50;\r\n}\r\n\r\n.main-tabs { display: flex; gap: 6px; }\r\n.main-tab-btn {\r\n    background: transparent; color: var(--text-muted); border: none; padding: 6px 12px;\r\n    border-radius: 6px; font-weight: 700; font-size: 0.9rem; cursor: pointer; transition: 0.3s;\r\n}\r\n.main-tab-btn.active { background: rgba(59, 130, 246, 0.15); color: #38bdf8; }\r\n\r\n.tts-btn { padding: 4px 10px; background: #334155; color: #fff; border: 1px solid #475569; border-radius: 4px; font-size: 0.8rem; cursor: pointer; }\r\n.tts-btn.active { background: var(--success-color); border-color: var(--success-color); }\r\n\r\n\/* \u09b8\u09c7\u0995\u09b6\u09a8 \u099f\u0997\u09b2 *\/\r\n.app-section { display: none; flex-direction: column; flex-grow: 1; height: calc(100vh - var(--header-height)); overflow: hidden; }\r\n.app-section.active { display: flex; }\r\n\r\n\/* ================= \u09b2\u09cd\u09af\u09be\u09ac \u09b8\u09bf\u09ae\u09c1\u09b2\u09c7\u099f\u09b0 ================= *\/\r\n#experiment-area { flex-grow: 1; position: relative; background: #0f172a; }\r\n.experiment-container { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 8px 8px 120px 8px; opacity: 0; visibility: hidden; transition: opacity 0.3s; }\r\n.experiment-container.active { opacity: 1; visibility: visible; }\r\n.exp-title { font-size: 0.95rem; font-weight: 700; margin-bottom: 6px; text-align: center; color: #cbd5e1; }\r\n.canvas-wrapper { flex-grow: 1; border-radius: 8px; position: relative; box-shadow: inset 0 0 20px rgba(0,0,0,0.8); background: radial-gradient(circle at center, #1e293b 0%, #020617 100%); overflow: hidden; }\r\ncanvas { width: 100% !important; height: 100% !important; display: block; border-radius: 8px; }\r\n\r\n\/* \u0995\u09ae\u09aa\u09cd\u09af\u09be\u0995\u09cd\u099f \u09a1\u0995 *\/\r\n.control-dock {\r\n    position: absolute; bottom: 0; width: 100%; background: var(--surface-color); backdrop-filter: blur(12px);\r\n    border-top: 1px solid rgba(255,255,255,0.1); padding: 10px; display: flex; flex-direction: column; gap: 10px; z-index: 20;\r\n    box-shadow: 0 -4px 15px rgba(0,0,0,0.5);\r\n}\r\n.module-nav { display: flex; gap: 6px; }\r\n.nav-btn { flex: 1; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); color: var(--text-muted); padding: 8px; border-radius: 6px; font-weight: 600; font-size: 0.85rem; cursor: pointer; }\r\n.nav-btn.active { background: var(--primary-color); color: #fff; border-color: var(--primary-hover); }\r\n\r\n.controls-row { display: flex; gap: 12px; align-items: flex-end; }\r\n.control-item { flex: 1; display: flex; flex-direction: column; gap: 4px; }\r\nlabel { font-size: 0.8rem; font-weight: 600; color: #cbd5e1; }\r\ninput[type=&quot;range&quot;] { width: 100%; height: 28px; background: transparent; appearance: none; outline: none; }\r\ninput[type=&quot;range&quot;]::-webkit-slider-runnable-track { width: 100%; height: 6px; background: #334155; border-radius: 3px; }\r\ninput[type=&quot;range&quot;]::-webkit-slider-thumb { appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #38bdf8; margin-top: -8px; border: 2px solid #fff; cursor: pointer; }\r\nselect { width: 100%; padding: 6px 8px; background: #020617; color: #fff; border: 1px solid #475569; border-radius: 6px; font-size: 0.85rem; outline: none; }\r\n\r\n\/* ================= \u0997\u09c7\u09ae \u09b8\u09cd\u099f\u09be\u0987\u09b2 ================= *\/\r\n.game-layout { display: flex; flex-direction: column; height: 100%; padding: 12px; background: radial-gradient(circle at top, #1e293b 0%, #0f172a 100%); }\r\n.game-instruction { text-align: center; color: #cbd5e1; font-size: 0.9rem; margin-bottom: 15px; padding: 8px; background: rgba(255,255,255,0.05); border-radius: 8px; }\r\n\r\n.target-boxes { display: flex; gap: 10px; margin-bottom: 20px; position: relative; }\r\n.target-box {\r\n    flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;\r\n    background: rgba(30, 41, 59, 0.8); border: 2px dashed #475569; border-radius: 10px; padding: 15px 5px;\r\n    cursor: pointer; transition: all 0.2s; min-height: 120px;\r\n}\r\n.target-box.success { border-color: var(--success-color); background: rgba(16, 185, 129, 0.2); border-style: solid; }\r\n.target-box.error { border-color: var(--error-color); background: rgba(239, 68, 68, 0.2); animation: shake 0.4s; }\r\n.box-icon { font-size: 2rem; margin-bottom: 5px; }\r\n.box-label { font-weight: 700; font-size: 0.9rem; color: #e2e8f0; }\r\n\r\n\/* \u0985\u09cd\u09af\u09be\u09a8\u09bf\u09ae\u09c7\u099f\u09c7\u09a1 \u09b8\u09bf\u09b2\u09c7\u0995\u09b6\u09a8 \u0987\u09a8\u09cd\u09a1\u09bf\u0995\u09c7\u099f\u09b0 (Visual Hint) *\/\r\n.tap-hint {\r\n    position: absolute; top: -15px; left: 50%; transform: translateX(-50%);\r\n    font-size: 2rem; pointer-events: none; z-index: 100;\r\n    animation: tap-bounce 1s infinite; text-shadow: 0 2px 10px rgba(0,0,0,0.5);\r\n}\r\n\r\n.active-card-area { flex-grow: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding-bottom: 20px; }\r\n.game-progress { font-size: 0.8rem; color: #94a3b8; margin-bottom: 8px; font-weight: 600; }\r\n\r\n.pop-up-card {\r\n    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); color: #fff;\r\n    padding: 20px 16px; border-radius: 12px; text-align: center; font-size: 1.1rem; font-weight: 700;\r\n    width: 100%; max-width: 350px; box-shadow: 0 10px 20px rgba(0,0,0,0.5); border: 2px solid #60a5fa;\r\n    animation: slideUpFade 0.4s ease-out forwards;\r\n}\r\n.pop-up-card.placing { animation: placeUp 0.3s ease-in forwards; }\r\n\r\n.game-complete-screen { text-align: center; background: #1e293b; padding: 25px; border-radius: 12px; border: 2px solid var(--success-color); width: 100%; max-width: 350px; }\r\n.game-complete-screen h3 { color: var(--success-color); font-size: 1.3rem; margin-bottom: 10px; }\r\n.action-btn { background: var(--primary-color); color: white; border: none; padding: 10px 20px; border-radius: 6px; font-weight: 700; cursor: pointer; margin-top: 10px;}\r\n.hidden { display: none !important; }\r\n\r\n\/* \u099f\u09cb\u09b8\u09cd\u099f \u09ab\u09bf\u09a1\u09ac\u09cd\u09af\u09be\u0995 *\/\r\n.toast {\r\n    position: absolute; top: 60px; left: 50%; transform: translateX(-50%); width: 90%; max-width: 350px;\r\n    background: var(--error-color); color: #fff; padding: 10px 14px; border-radius: 6px; font-size: 0.9rem; font-weight: 600;\r\n    text-align: center; box-shadow: 0 10px 20px rgba(0,0,0,0.5); z-index: 100; transition: 0.3s;\r\n}\r\n.toast.success { background: var(--success-color); }\r\n.toast.hidden { opacity: 0; pointer-events: none; transform: translate(-50%, -20px); }\r\n\r\n\/* \u0985\u09cd\u09af\u09be\u09a8\u09bf\u09ae\u09c7\u09b6\u09a8 *\/\r\n@keyframes shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }\r\n@keyframes slideUpFade { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }\r\n@keyframes placeUp { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(-80px) scale(0.6); } }\r\n@keyframes tap-bounce {\r\n    0% { transform: translate(-50%, 0) scale(1); opacity: 0.8; }\r\n    50% { transform: translate(-50%, 15px) scale(0.9); opacity: 1; }\r\n    100% { transform: translate(-50%, 0) scale(1); opacity: 0.8; }\r\n}&lt;\/style&gt;&lt;\/head&gt;&lt;body&gt;\r\n    &lt;div id=&quot;sim-root&quot;&gt;\r\n        <!-- \u09a8\u09c7\u09aa\u09a5\u09cd\u09af\u09c7 \u09ad\u09af\u09bc\u09c7\u09b8 \u0985\u09cd\u09af\u09be\u09a8\u09be\u0989\u09a8\u09cd\u09b8\u09be\u09b0 -->\r\n        &lt;div id=&quot;tts-announcer&quot; class=&quot;sr-only&quot; aria-live=&quot;polite&quot;&gt;&lt;\/div&gt;\r\n        &lt;div id=&quot;feedback-toast&quot; class=&quot;toast hidden&quot;&gt;&lt;\/div&gt;\r\n\r\n        <!-- \u0995\u09ae\u09aa\u09cd\u09af\u09be\u0995\u09cd\u099f \u09b9\u09c7\u09a1\u09be\u09b0 -->\r\n        &lt;header class=&quot;sim-header&quot;&gt;\r\n            &lt;div class=&quot;main-tabs&quot;&gt;\r\n                &lt;button class=&quot;main-tab-btn active&quot; data-target=&quot;sect-lab&quot;&gt;\ud83d\udd2c \u09b2\u09cd\u09af\u09be\u09ac&lt;\/button&gt;\r\n                &lt;button class=&quot;main-tab-btn&quot; data-target=&quot;sect-game&quot;&gt;\ud83c\udfae \u0997\u09c7\u09ae&lt;\/button&gt;\r\n            &lt;\/div&gt;\r\n            &lt;button id=&quot;tts-toggle&quot; class=&quot;tts-btn&quot;&gt;\ud83d\udd0a \u09b6\u09ac\u09cd\u09a6 \u09ac\u09a8\u09cd\u09a7&lt;\/button&gt;\r\n        &lt;\/header&gt;\r\n\r\n        <!-- ========================================== -->\r\n        <!-- \u09b8\u09c7\u0995\u09b6\u09a8 \u09e7: \u09b2\u09cd\u09af\u09be\u09ac \u09b8\u09bf\u09ae\u09c1\u09b2\u09c7\u099f\u09b0                    -->\r\n        <!-- ========================================== -->\r\n        &lt;section id=&quot;sect-lab&quot; class=&quot;app-section active&quot;&gt;\r\n            <!-- \u09b2\u09cd\u09af\u09be\u09ac \u0995\u09cd\u09af\u09be\u09a8\u09ad\u09be\u09b8 \u098f\u09b0\u09bf\u09af\u09bc\u09be -->\r\n            &lt;main id=&quot;experiment-area&quot;&gt;\r\n                &lt;div class=&quot;experiment-container active&quot; id=&quot;exp1-solids&quot;&gt;\r\n                    &lt;div class=&quot;exp-title&quot;&gt;\u0995\u09a0\u09bf\u09a8\u09c7\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3&lt;\/div&gt;\r\n                    &lt;div class=&quot;canvas-wrapper&quot;&gt;&lt;canvas id=&quot;solidsCanvas&quot;&gt;&lt;\/canvas&gt;&lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n                &lt;div class=&quot;experiment-container&quot; id=&quot;exp2-liquids&quot;&gt;\r\n                    &lt;div class=&quot;exp-title&quot;&gt;\u09a4\u09b0\u09b2\u09c7\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3&lt;\/div&gt;\r\n                    &lt;div class=&quot;canvas-wrapper&quot;&gt;&lt;canvas id=&quot;liquidsCanvas&quot;&gt;&lt;\/canvas&gt;&lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n                &lt;div class=&quot;experiment-container&quot; id=&quot;exp3-conduction&quot;&gt;\r\n                    &lt;div class=&quot;exp-title&quot;&gt;\u09a4\u09be\u09aa\u09c7\u09b0 \u09aa\u09b0\u09bf\u09ac\u09b9\u09a8&lt;\/div&gt;\r\n                    &lt;div class=&quot;canvas-wrapper&quot;&gt;&lt;canvas id=&quot;conductionCanvas&quot;&gt;&lt;\/canvas&gt;&lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n            &lt;\/main&gt;\r\n\r\n            <!-- \u0995\u09ae\u09aa\u09cd\u09af\u09be\u0995\u09cd\u099f \u0995\u09a8\u09cd\u099f\u09cd\u09b0\u09cb\u09b2 \u09a1\u0995 -->\r\n            &lt;footer class=&quot;control-dock&quot;&gt;\r\n                &lt;nav class=&quot;module-nav&quot;&gt;\r\n                    &lt;button class=&quot;nav-btn active&quot; data-exp=&quot;exp1-solids&quot;&gt;\u0995\u09a0\u09bf\u09a8&lt;\/button&gt;\r\n                    &lt;button class=&quot;nav-btn&quot; data-exp=&quot;exp2-liquids&quot;&gt;\u09a4\u09b0\u09b2&lt;\/button&gt;\r\n                    &lt;button class=&quot;nav-btn&quot; data-exp=&quot;exp3-conduction&quot;&gt;\u09aa\u09b0\u09bf\u09ac\u09b9\u09a8&lt;\/button&gt;\r\n                &lt;\/nav&gt;\r\n                \r\n                &lt;div class=&quot;controls-row&quot;&gt;\r\n                    &lt;div class=&quot;control-item&quot;&gt;\r\n                        &lt;label&gt;\u09a4\u09be\u09aa\u09ae\u09be\u09a4\u09cd\u09b0\u09be: &lt;span id=&quot;temp-val&quot;&gt;\u09e8\u09eb&lt;\/span&gt;\u00b0C&lt;\/label&gt;\r\n                        &lt;input type=&quot;range&quot; id=&quot;temp-slider&quot; min=&quot;0&quot; max=&quot;200&quot; value=&quot;25&quot; step=&quot;1&quot;&gt;\r\n                    &lt;\/div&gt;\r\n                    &lt;div class=&quot;control-item&quot;&gt;\r\n                        &lt;label&gt;\u0989\u09aa\u09be\u09a6\u09be\u09a8 \u09a8\u09bf\u09b0\u09cd\u09ac\u09be\u099a\u09a8&lt;\/label&gt;\r\n                        &lt;select id=&quot;material-select&quot;&gt;\r\n                            &lt;option value=&quot;iron&quot;&gt;\u09b2\u09cb\u09b9\u09be \/ \u099c\u09b2&lt;\/option&gt;\r\n                            &lt;option value=&quot;copper&quot;&gt;\u09a4\u09be\u09ae\u09be \/ \u0985\u09cd\u09af\u09be\u09b2\u0995\u09cb\u09b9\u09b2&lt;\/option&gt;\r\n                            &lt;option value=&quot;aluminum&quot;&gt;\u0985\u09cd\u09af\u09be\u09b2\u09c1\u09ae\u09bf\u09a8\u09bf\u09af\u09bc\u09be\u09ae \/ \u09ac\u09c7\u09a8\u099c\u09bf\u09a8&lt;\/option&gt;\r\n                            &lt;option value=&quot;bimetallic&quot;&gt;\u09a6\u09cd\u09ac\u09bf-\u09a7\u09be\u09a4\u09ac \u09aa\u09be\u09a4&lt;\/option&gt;\r\n                        &lt;\/select&gt;\r\n                    &lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n            &lt;\/footer&gt;\r\n        &lt;\/section&gt;\r\n\r\n        <!-- ========================================== -->\r\n        <!-- \u09b8\u09c7\u0995\u09b6\u09a8 \u09e8: \u0995\u09be\u09b0\u09cd\u09a1 \u0997\u09c7\u09ae                         -->\r\n        <!-- ========================================== -->\r\n        &lt;section id=&quot;sect-game&quot; class=&quot;app-section&quot;&gt;\r\n            &lt;div class=&quot;game-layout&quot;&gt;\r\n                &lt;div class=&quot;game-instruction&quot;&gt;\r\n                    \u09a8\u09bf\u099a\u09c7\u09b0 \u0998\u099f\u09a8\u09be\u099f\u09bf \u09aa\u09dc\u09cb \u098f\u09ac\u0982 \u0989\u09aa\u09b0\u09c7\u09b0 \u09b8\u09a0\u09bf\u0995 \u09ac\u0995\u09cd\u09b8\u09c7 \u099f\u09cd\u09af\u09be\u09aa \u0995\u09b0\u09cb\u0964\r\n                &lt;\/div&gt;\r\n                \r\n                <!-- \u099f\u09be\u09b0\u09cd\u0997\u09c7\u099f \u09ac\u0995\u09cd\u09b8 -->\r\n                &lt;div class=&quot;target-boxes&quot; id=&quot;target-boxes-container&quot;&gt;\r\n                    <!-- CSS Animated Hint Indicator -->\r\n                    &lt;div class=&quot;tap-hint&quot; id=&quot;tap-hint&quot;&gt;\ud83d\udc46&lt;\/div&gt;\r\n                    \r\n                    &lt;div class=&quot;target-box&quot; data-category=&quot;solid&quot;&gt;\r\n                        &lt;div class=&quot;box-icon&quot;&gt;\ud83e\uddf1&lt;\/div&gt;\r\n                        &lt;div class=&quot;box-label&quot;&gt;\u0995\u09a0\u09bf\u09a8\u09c7\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3&lt;\/div&gt;\r\n                    &lt;\/div&gt;\r\n                    &lt;div class=&quot;target-box&quot; data-category=&quot;fluid&quot;&gt;\r\n                        &lt;div class=&quot;box-icon&quot;&gt;\ud83d\udca7&lt;\/div&gt;\r\n                        &lt;div class=&quot;box-label&quot;&gt;\u09a4\u09b0\u09b2\/\u0997\u09cd\u09af\u09be\u09b8\u09c7\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3&lt;\/div&gt;\r\n                    &lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n\r\n                <!-- \u09aa\u09aa-\u0986\u09aa \u0995\u09be\u09b0\u09cd\u09a1 \u098f\u09b0\u09bf\u09af\u09bc\u09be -->\r\n                &lt;div class=&quot;active-card-area&quot;&gt;\r\n                    &lt;div class=&quot;card-stack&quot; id=&quot;card-stack&quot;&gt;\r\n                        &lt;div class=&quot;game-progress&quot; id=&quot;game-progress&quot;&gt;\u09aa\u09cd\u09b0\u09b6\u09cd\u09a8 \u09e7 \/ \u09ec&lt;\/div&gt;\r\n                        &lt;div class=&quot;pop-up-card&quot; id=&quot;active-card&quot;&gt;\r\n                            <!-- JS \u09a6\u09cd\u09ac\u09be\u09b0\u09be \u09a1\u09be\u09af\u09bc\u09a8\u09be\u09ae\u09bf\u0995 \u099f\u09c7\u0995\u09cd\u09b8\u099f \u0986\u09b8\u09ac\u09c7 -->\r\n                        &lt;\/div&gt;\r\n                    &lt;\/div&gt;\r\n                    &lt;div class=&quot;game-complete-screen hidden&quot; id=&quot;game-complete&quot;&gt;\r\n                        &lt;h3&gt;\ud83c\udf89 \u09a6\u09be\u09b0\u09c1\u09a8 \u0996\u09c7\u09b2\u09c7\u099b\u09cb!&lt;\/h3&gt;\r\n                        &lt;p&gt;\u09a4\u09c1\u09ae\u09bf \u09b8\u09ab\u09b2\u09ad\u09be\u09ac\u09c7 \u09b8\u09ac \u09ae\u09bf\u09b2\u09bf\u09df\u09c7\u099b\u09cb\u0964&lt;\/p&gt;\r\n                        &lt;button class=&quot;action-btn&quot; id=&quot;restart-game-btn&quot;&gt;\u0986\u09ac\u09be\u09b0 \u0996\u09c7\u09b2\u09c1\u09a8&lt;\/button&gt;\r\n                    &lt;\/div&gt;\r\n                &lt;\/div&gt;\r\n            &lt;\/div&gt;\r\n        &lt;\/section&gt;\r\n    &lt;\/div&gt;\r\n&lt;script&gt;\n        window.GameController = {\n            saveScore: function(score, time, extraData) {\n                window.parent.postMessage({\n                    action: 'qsh_save_score',\n                    sim_id: 874,\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;(function() {\r\n    &quot;use strict&quot;;\r\n\r\n    \/\/ --- \u0997\u09cd\u09b2\u09cb\u09ac\u09be\u09b2 \u09b8\u09cd\u099f\u09c7\u099f ---\r\n    const state = {\r\n        activeTab: 'sect-lab',\r\n        startTime: Date.now(),\r\n        ttsEnabled: false,\r\n        \/\/ \u09b2\u09cd\u09af\u09be\u09ac \u09b8\u09cd\u099f\u09c7\u099f\r\n        lab: { temp: 25, lastTemp: 25, material: 'iron', experiment: 'exp1-solids' },\r\n        \/\/ \u0997\u09c7\u09ae \u09b8\u09cd\u099f\u09c7\u099f\r\n        game: { currentIndex: 0, isAnimating: false, toastTimeout: null }\r\n    };\r\n\r\n    const $ = (id) =&gt; document.getElementById(id);\r\n    const $$ = (selector) =&gt; document.querySelectorAll(selector);\r\n\r\n    \/\/ --- \u09ad\u09af\u09bc\u09c7\u09b8 \u0993 \u099f\u09cb\u09b8\u09cd\u099f \u09ab\u09bf\u09a1\u09ac\u09cd\u09af\u09be\u0995 (\u09ac\u09be\u0982\u09b2\u09be) ---\r\n    function announce(text, isError = false) {\r\n        $('tts-announcer').textContent = text;\r\n        if (state.ttsEnabled &amp;&amp; 'speechSynthesis' in window) {\r\n            window.speechSynthesis.cancel();\r\n            const utterance = new SpeechSynthesisUtterance(text);\r\n            utterance.lang = 'bn-IN';\r\n            utterance.pitch = isError ? 0.9 : 1.0;\r\n            window.speechSynthesis.speak(utterance);\r\n        }\r\n    }\r\n\r\n    function showToast(message, type = 'error') {\r\n        const toast = $('feedback-toast');\r\n        clearTimeout(state.game.toastTimeout);\r\n        toast.textContent = message;\r\n        toast.className = `toast ${type}`;\r\n        announce(message, type === 'error');\r\n        state.game.toastTimeout = setTimeout(() =&gt; { toast.classList.add('hidden'); }, 3500);\r\n    }\r\n\r\n    function engToBngNum(num) {\r\n        const bngDigits = ['\u09e6','\u09e7','\u09e8','\u09e9','\u09ea','\u09eb','\u09ec','\u09ed','\u09ee','\u09ef'];\r\n        return num.toString().split('').map(d =&gt; bngDigits[d] || d).join('');\r\n    }\r\n\r\n    \/\/ ==========================================\r\n    \/\/ \u09e7. \u099f\u09cd\u09af\u09be\u09ac \u0995\u09a8\u09cd\u099f\u09cd\u09b0\u09cb\u09b2\r\n    \/\/ ==========================================\r\n    $$('.main-tab-btn').forEach(btn =&gt; {\r\n        btn.addEventListener('pointerdown', (e) =&gt; {\r\n            e.preventDefault();\r\n            $$('.main-tab-btn').forEach(b =&gt; b.classList.remove('active'));\r\n            $$('.app-section').forEach(s =&gt; s.classList.remove('active'));\r\n            \r\n            btn.classList.add('active');\r\n            state.activeTab = btn.dataset.target;\r\n            $(state.activeTab).classList.add('active');\r\n            \r\n            announce(state.activeTab === 'sect-lab' ? &quot;\u09b2\u09cd\u09af\u09be\u09ac \u099a\u09be\u09b2\u09c1 \u09b9\u09af\u09bc\u09c7\u099b\u09c7&quot; : &quot;\u0997\u09c7\u09ae \u099a\u09be\u09b2\u09c1 \u09b9\u09af\u09bc\u09c7\u099b\u09c7&quot;);\r\n        });\r\n    });\r\n\r\n    $('tts-toggle').addEventListener('pointerdown', (e) =&gt; {\r\n        e.preventDefault();\r\n        state.ttsEnabled = !state.ttsEnabled;\r\n        e.target.classList.toggle('active');\r\n        e.target.textContent = state.ttsEnabled ? '\ud83d\udd0a \u09b6\u09ac\u09cd\u09a6 \u099a\u09be\u09b2\u09c1' : '\ud83d\udd0a \u09b6\u09ac\u09cd\u09a6 \u09ac\u09a8\u09cd\u09a7';\r\n        if(state.ttsEnabled) announce(&quot;\u09b6\u09ac\u09cd\u09a6 \u099a\u09be\u09b2\u09c1 \u09b9\u09af\u09bc\u09c7\u099b\u09c7&quot;);\r\n    });\r\n\r\n    \/\/ ==========================================\r\n    \/\/ \u09e8. \u09b2\u09cd\u09af\u09be\u09ac \u09b8\u09bf\u09ae\u09c1\u09b2\u09c7\u099f\u09b0 \u09b2\u099c\u09bf\u0995 (\u0989\u099a\u09cd\u099a\u09ae\u09be\u09a8\u09c7\u09b0 \u0995\u09cd\u09af\u09be\u09a8\u09ad\u09be\u09b8)\r\n    \/\/ ==========================================\r\n    const labPhysics = {\r\n        alpha: { iron: 25, copper: 45, aluminum: 60, bimetallic: 0 }, \r\n        gammaFluid: { iron: 800, copper: 2500, aluminum: 3500 },\r\n        k: { iron: 80, copper: 400, aluminum: 235, bimetallic: 100 }\r\n    };\r\n\r\n    const contexts = {};\r\n    function initCanvas(canvasId) {\r\n        const canvas = $(canvasId);\r\n        if (!canvas) return null;\r\n        const ctx = canvas.getContext('2d', { alpha: false });\r\n        contexts[canvasId] = { canvas, ctx, w: 0, h: 0 };\r\n        \r\n        const resize = () =&gt; {\r\n            const rect = canvas.parentElement.getBoundingClientRect();\r\n            const dpr = window.devicePixelRatio || 1;\r\n            canvas.width = rect.width * dpr; canvas.height = rect.height * dpr;\r\n            contexts[canvasId].w = rect.width; contexts[canvasId].h = rect.height;\r\n            ctx.scale(dpr, dpr);\r\n        };\r\n        resize();\r\n        new ResizeObserver(resize).observe(canvas.parentElement);\r\n    }\r\n    initCanvas('solidsCanvas'); initCanvas('liquidsCanvas'); initCanvas('conductionCanvas');\r\n\r\n    function drawLab() {\r\n        if (state.activeTab !== 'sect-lab') return;\r\n        \r\n        if (state.lab.experiment === 'exp1-solids') {\r\n            const { ctx, w, h } = contexts['solidsCanvas'];\r\n            ctx.fillStyle = '#0f172a'; ctx.fillRect(0, 0, w, h);\r\n            const dT = state.lab.temp - 25;\r\n            const baseL = w * 0.55; const baseH = 45;\r\n            const x = (w - baseL) \/ 2; const y = h * 0.35;\r\n\r\n            if (state.lab.material === 'bimetallic') {\r\n                const bend = dT * 0.6;\r\n                ctx.lineCap = 'round'; ctx.lineWidth = 18;\r\n                ctx.beginPath(); ctx.moveTo(x, y + 9); ctx.quadraticCurveTo(x + baseL\/2, y + 9 - bend, x + baseL, y + 9);\r\n                ctx.strokeStyle = '#94a3b8'; ctx.stroke();\r\n                ctx.beginPath(); ctx.moveTo(x, y - 9); ctx.quadraticCurveTo(x + baseL\/2, y - 9 - bend, x + baseL, y - 9);\r\n                ctx.strokeStyle = '#d97706'; ctx.stroke();\r\n                ctx.fillStyle = '#38bdf8'; ctx.font = 'bold 14px sans-serif'; ctx.textAlign = 'center';\r\n                ctx.fillText(dT &gt; 0 ? '\u09a4\u09be\u09ae\u09be\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u09ac\u09c7\u09b6\u09bf, \u09b2\u09cb\u09b9\u09be \u09ad\u09bf\u09a4\u09b0\u09c7\u09b0 \u09a6\u09bf\u0995\u09c7 \u09ac\u09be\u0981\u0995\u099b\u09c7' : '\u09a6\u09cd\u09ac\u09bf-\u09a7\u09be\u09a4\u09ac \u09aa\u09be\u09a4', w\/2, y + 50 + Math.abs(bend\/2));\r\n            } else {\r\n                const expF = 1 + (labPhysics.alpha[state.lab.material] * dT * 0.005);\r\n                ctx.strokeStyle = 'rgba(255,255,255,0.3)'; ctx.lineWidth = 2; ctx.strokeRect(x, y, baseL, baseH);\r\n                ctx.fillStyle = state.lab.material === 'copper' ? '#d97706' : (state.lab.material === 'iron' ? '#94a3b8' : '#e2e8f0');\r\n                const expL = baseL * expF; ctx.fillRect(w\/2 - expL\/2, y, expL, baseH);\r\n                ctx.fillStyle = '#38bdf8'; ctx.font = 'bold 15px sans-serif'; ctx.textAlign = 'center';\r\n                const pct = ((expF - 1) * 100).toFixed(1);\r\n                ctx.fillText(`\u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3: ${engToBngNum(pct)}%`, w\/2, y + baseH + 30);\r\n            }\r\n        } \r\n        else if (state.lab.experiment === 'exp2-liquids') {\r\n            if(state.lab.material === 'bimetallic') return;\r\n            const { ctx, w, h } = contexts['liquidsCanvas'];\r\n            ctx.fillStyle = '#0f172a'; ctx.fillRect(0, 0, w, h);\r\n            const flaskW = 100; const flaskH = h * 0.6;\r\n            const x = w\/2 - flaskW\/2; const y = h * 0.75 - flaskH;\r\n            const dT = state.lab.temp - 25;\r\n            \r\n            const contExp = 1 + (30 * dT * 0.001); \r\n            const liqExp = 1 + (labPhysics.gammaFluid[state.lab.material] * dT * 0.0002);\r\n            const apparentLevel = Math.max(10, (flaskH * 0.3) * (liqExp \/ contExp));\r\n\r\n            ctx.fillStyle = state.lab.material === 'copper' ? 'rgba(244, 63, 94, 0.85)' : 'rgba(56, 189, 248, 0.85)';\r\n            ctx.fillRect(x + 2, y + flaskH - apparentLevel, flaskW - 4, apparentLevel);\r\n            ctx.strokeStyle = '#cbd5e1'; ctx.lineWidth = 3; ctx.strokeRect(x, y, flaskW, flaskH);\r\n            ctx.fillStyle = '#38bdf8'; ctx.font = 'bold 15px sans-serif'; ctx.textAlign = 'center';\r\n            ctx.fillText(`\u09a4\u09b0\u09b2\u09c7\u09b0 \u0986\u09aa\u09be\u09a4 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3`, w\/2, y + flaskH + 25);\r\n        }\r\n        else if (state.lab.experiment === 'exp3-conduction') {\r\n            const { ctx, w, h } = contexts['conductionCanvas'];\r\n            ctx.fillStyle = '#0f172a'; ctx.fillRect(0, 0, w, h);\r\n            const barW = w * 0.8; const barH = 60;\r\n            const x = (w - barW) \/ 2; const y = h * 0.35 - barH \/ 2;\r\n            \r\n            const grad = ctx.createLinearGradient(x, y, x + barW, y);\r\n            const tInt = state.lab.temp \/ 200; \r\n            grad.addColorStop(0, `rgb(${Math.min(255, 50 + 205 * tInt)}, 40, 40)`); \r\n            grad.addColorStop(1, `rgb(40, 40, 200)`); \r\n            ctx.fillStyle = grad; ctx.fillRect(x, y, barW, barH);\r\n            \r\n            const k = labPhysics.k[state.lab.material];\r\n            const ag = (k \/ 80) * (state.lab.temp \/ 25);\r\n            ctx.fillStyle = 'rgba(255, 255, 255, 0.9)';\r\n            for (let i = 0; i &lt; 40; i++) {\r\n                ctx.beginPath();\r\n                ctx.arc(x + Math.random()*barW + (Math.random()-0.5)*ag, y + Math.random()*barH + (Math.random()-0.5)*ag, 2.5, 0, Math.PI*2);\r\n                ctx.fill();\r\n            }\r\n            ctx.fillStyle = '#38bdf8'; ctx.font = 'bold 15px sans-serif'; ctx.textAlign = 'center';\r\n            ctx.fillText(`\u09aa\u09b0\u09bf\u09ac\u09be\u09b9\u09bf\u09a4\u09be\u0999\u09cd\u0995 (k): ${engToBngNum(k)}`, w\/2, y + barH + 30);\r\n        }\r\n    }\r\n\r\n    let tempTimeout;\r\n    $('temp-slider').addEventListener('input', (e) =&gt; {\r\n        state.lab.temp = parseInt(e.target.value);\r\n        $('temp-val').textContent = engToBngNum(state.lab.temp);\r\n        clearTimeout(tempTimeout);\r\n        tempTimeout = setTimeout(() =&gt; {\r\n            if (state.lab.temp &gt; state.lab.lastTemp) announce(&quot;\u09a4\u09be\u09aa \u09ac\u09c3\u09a6\u09cd\u09a7\u09bf\u09a4\u09c7 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u0993 \u0986\u09a3\u09ac\u09bf\u0995 \u099a\u09be\u099e\u09cd\u099a\u09b2\u09cd\u09af \u09ac\u09be\u09a1\u09bc\u099b\u09c7\u0964&quot;);\r\n            else if (state.lab.temp &lt; state.lab.lastTemp) announce(&quot;\u09a4\u09be\u09aa \u0995\u09ae\u09be\u09af\u09bc \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u0993 \u0986\u09a3\u09ac\u09bf\u0995 \u099a\u09be\u099e\u09cd\u099a\u09b2\u09cd\u09af \u09b9\u09cd\u09b0\u09be\u09b8 \u09aa\u09be\u099a\u09cd\u099b\u09c7\u0964&quot;);\r\n            state.lab.lastTemp = state.lab.temp;\r\n        }, 500);\r\n    });\r\n\r\n    $('material-select').addEventListener('change', (e) =&gt; {\r\n        state.lab.material = e.target.value;\r\n    });\r\n\r\n    $$('.module-nav .nav-btn').forEach(btn =&gt; {\r\n        btn.addEventListener('pointerdown', (e) =&gt; {\r\n            e.preventDefault();\r\n            $$('.module-nav .nav-btn').forEach(b =&gt; b.classList.remove('active'));\r\n            $$('.experiment-container').forEach(c =&gt; c.classList.remove('active'));\r\n            btn.classList.add('active');\r\n            state.lab.experiment = btn.dataset.exp;\r\n            $(state.lab.experiment).classList.add('active');\r\n        });\r\n    });\r\n\r\n    \/\/ ==========================================\r\n    \/\/ \u09e9. \u0997\u09c7\u09ae \u09b2\u099c\u09bf\u0995 (\u0995\u09be\u09b0\u09cd\u09a1 \u09b8\u09b0\u09cd\u099f\u09bf\u0982 \u0993 \u09a1\u09be\u09af\u09bc\u09a8\u09be\u09ae\u09bf\u0995 \u09aa\u09aa-\u0986\u09aa)\r\n    \/\/ ==========================================\r\n    const gameCards = [\r\n        { cat: 'solid', text: '\u0997\u09cb\u09b0\u09c1\u09b0 \u0997\u09be\u09a1\u09bc\u09bf\u09b0 \u0995\u09be\u09a0\u09c7\u09b0 \u099a\u09be\u0995\u09be\u09af\u09bc \u09b2\u09cb\u09b9\u09be\u09b0 \u09ac\u09c7\u09a1\u09bc \u0997\u09b0\u09ae \u0995\u09b0\u09c7 \u09aa\u09b0\u09be\u09a8\u09cb', hint: '\u09b2\u09cb\u09b9\u09be \u0995\u09a0\u09bf\u09a8 \u09aa\u09a6\u09be\u09b0\u09cd\u09a5, \u0997\u09b0\u09ae \u0995\u09b0\u09b2\u09c7 \u09a4\u09be \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09bf\u09a4 \u09b9\u09af\u09bc\u0964' },\r\n        { cat: 'fluid', text: '\u099c\u09b2 \u0997\u09b0\u09ae \u09b9\u09af\u09bc\u09c7 \u09ac\u09be\u09b7\u09cd\u09aa \u09b9\u09af\u09bc\u09c7 \u0986\u0995\u09be\u09b6\u09c7 \u0989\u09a1\u09bc\u09c7 \u09af\u09be\u0993\u09af\u09bc\u09be', hint: '\u098f\u099f\u09bf \u09a4\u09b0\u09b2 \u09a5\u09c7\u0995\u09c7 \u0997\u09cd\u09af\u09be\u09b8\u09c7 \u0985\u09ac\u09b8\u09cd\u09a5\u09be\u09b0 \u09aa\u09b0\u09bf\u09ac\u09b0\u09cd\u09a4\u09a8 \u0993 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3\u0964' },\r\n        { cat: 'solid', text: '\u09ab\u09be\u09af\u09bc\u09be\u09b0 \u0985\u09cd\u09af\u09be\u09b2\u09be\u09b0\u09cd\u09ae\u09c7 \u09a6\u09cd\u09ac\u09bf-\u09a7\u09be\u09a4\u09ac \u09aa\u09be\u09a4 \u09ac\u09c7\u0981\u0995\u09c7 \u09af\u09be\u0993\u09af\u09bc\u09be', hint: '\u09a6\u09c1\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0995\u09a0\u09bf\u09a8 \u09a7\u09be\u09a4\u09c1\u09b0 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u0986\u09b2\u09be\u09a6\u09be \u09b9\u09df \u09ac\u09b2\u09c7 \u098f\u099f\u09bf \u09ac\u09be\u0981\u0995\u09c7\u0964' },\r\n        { cat: 'solid', text: '\u0995\u09be\u0981\u099a\u09c7\u09b0 \u09ac\u09cb\u09a4\u09b2\u09c7\u09b0 \u0986\u099f\u0995\u09c7 \u09a5\u09be\u0995\u09be \u09a7\u09be\u09a4\u09ac \u099b\u09bf\u09aa\u09bf \u0997\u09b0\u09ae \u0995\u09b0\u09c7 \u0996\u09cb\u09b2\u09be', hint: '\u0995\u09be\u0981\u099a\u09c7\u09b0 \u099a\u09c7\u09af\u09bc\u09c7 \u09a7\u09be\u09a4\u09ac \u099b\u09bf\u09aa\u09bf\u09b0 (\u0995\u09a0\u09bf\u09a8) \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3 \u09ac\u09c7\u09b6\u09bf \u09b9\u09af\u09bc\u0964' },\r\n        { cat: 'fluid', text: '\u09a5\u09be\u09b0\u09cd\u09ae\u09cb\u09ae\u09bf\u099f\u09be\u09b0\u09c7\u09b0 \u09aa\u09be\u09b0\u09a6 \u0989\u09aa\u09b0\u09c7\u09b0 \u09a6\u09bf\u0995\u09c7 \u0993\u09a0\u09be', hint: '\u09a4\u09be\u09aa\u09c7 \u09a4\u09b0\u09b2 \u09aa\u09a6\u09be\u09b0\u09cd\u09a5\u09c7\u09b0 (\u09aa\u09be\u09b0\u09a6\u09c7\u09b0) \u0986\u09af\u09bc\u09a4\u09a8 \u09ac\u09c3\u09a6\u09cd\u09a7\u09bf \u09aa\u09be\u09af\u09bc\u0964' },\r\n        { cat: 'solid', text: '\u09b0\u09c7\u09b2\u09b2\u09be\u0987\u09a8\u09c7\u09b0 \u099c\u09cb\u09a1\u09bc\u09c7\u09b0 \u09ae\u09c1\u0996\u09c7 \u09ab\u09be\u0981\u0995 \u09b0\u09be\u0996\u09be', hint: '\u09b0\u09cb\u09a6\u09c7\u09b0 \u09a4\u09be\u09aa\u09c7 \u09b2\u09cb\u09b9\u09be\u09b0 \u09b2\u09be\u0987\u09a8 (\u0995\u09a0\u09bf\u09a8) \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09bf\u09a4 \u09b9\u09af\u09bc\u0964' }\r\n    ];\r\n\r\n    let shuffledCards = [];\r\n\r\n    function initGameData() {\r\n        \/\/ \u09aa\u09cd\u09b0\u09b6\u09cd\u09a8\u0997\u09c1\u09b2\u09cb \u098f\u09b2\u09cb\u09ae\u09c7\u09b2\u09cb \u0995\u09b0\u09be \u09b9\u09b2\u09cb\r\n        shuffledCards = [...gameCards].sort(() =&gt; Math.random() - 0.5);\r\n        state.game.currentIndex = 0;\r\n        $('game-complete').classList.add('hidden');\r\n        $('card-stack').classList.remove('hidden');\r\n        \r\n        \/\/ GameController Hook (Start)\r\n        if (window.GameController &amp;&amp; typeof window.GameController.saveScore === 'function') {\r\n            window.GameController.saveScore(0, 0, { event: &quot;game_started&quot; });\r\n        }\r\n        \r\n        renderNextCard();\r\n    }\r\n\r\n    function renderNextCard() {\r\n        if (state.game.currentIndex &gt;= shuffledCards.length) {\r\n            $('card-stack').classList.add('hidden');\r\n            $('game-complete').classList.remove('hidden');\r\n            $('tap-hint').classList.add('hidden'); \/\/ \u09b9\u09be\u0987\u09a1 \u0987\u09a8\u09cd\u09a1\u09bf\u0995\u09c7\u099f\u09b0\r\n            showToast(&quot;\u0985\u09ad\u09bf\u09a8\u09a8\u09cd\u09a6\u09a8! \u0997\u09c7\u09ae \u09b8\u09ae\u09cd\u09aa\u09c2\u09b0\u09cd\u09a3 \u09b9\u09af\u09bc\u09c7\u099b\u09c7\u0964&quot;, 'success');\r\n            \r\n            \/\/ GameController Hook (Complete)\r\n            if (window.GameController &amp;&amp; typeof window.GameController.saveScore === 'function') {\r\n                const time = Math.floor((Date.now() - state.startTime) \/ 1000);\r\n                window.GameController.saveScore(100, time, { level: 1, accuracy: 100, event: &quot;game_completed&quot; });\r\n            }\r\n            return;\r\n        }\r\n\r\n        const cardData = shuffledCards[state.game.currentIndex];\r\n        const cardEl = $('active-card');\r\n        \r\n        cardEl.className = 'pop-up-card';\r\n        cardEl.textContent = cardData.text;\r\n        cardEl.dataset.cat = cardData.cat;\r\n        \r\n        $('game-progress').textContent = `\u09aa\u09cd\u09b0\u09b6\u09cd\u09a8 ${engToBngNum(state.game.currentIndex + 1)} \/ ${engToBngNum(shuffledCards.length)}`;\r\n        \r\n        \/\/ \u0985\u09cd\u09af\u09be\u09a8\u09bf\u09ae\u09c7\u099f\u09c7\u09a1 \u09b9\u09bf\u09a8\u09cd\u099f \u09b0\u09bf\u09b8\u09cd\u099f\u09be\u09b0\u09cd\u099f\r\n        const hint = $('tap-hint');\r\n        hint.classList.remove('hidden');\r\n        hint.style.animation = 'none';\r\n        void hint.offsetWidth; \r\n        hint.style.animation = 'tap-bounce 1s infinite';\r\n\r\n        announce(`\u09aa\u09cd\u09b0\u09b6\u09cd\u09a8: ${cardData.text}\u0964 \u0989\u09aa\u09b0\u09c7\u09b0 \u09b8\u09a0\u09bf\u0995 \u09ac\u0995\u09cd\u09b8\u09c7 \u099f\u09cd\u09af\u09be\u09aa \u0995\u09b0\u09cb\u0964`);\r\n    }\r\n\r\n    \/\/ \u09ac\u0995\u09cd\u09b8\u09c7 \u099f\u09cd\u09af\u09be\u09aa \u0995\u09b0\u09be\u09b0 \u0987\u09ad\u09c7\u09a8\u09cd\u099f\r\n    $$('.target-box').forEach(box =&gt; {\r\n        box.addEventListener('pointerdown', (e) =&gt; {\r\n            e.preventDefault();\r\n            if (state.game.isAnimating || state.activeTab !== 'sect-game' || state.game.currentIndex &gt;= shuffledCards.length) return;\r\n\r\n            const selectedCat = box.dataset.category;\r\n            const currentCard = shuffledCards[state.game.currentIndex];\r\n            const cardEl = $('active-card');\r\n\r\n            state.game.isAnimating = true;\r\n\r\n            if (selectedCat === currentCard.cat) {\r\n                \/\/ \u09b8\u09a0\u09bf\u0995 \u0989\u09a4\u09cd\u09a4\u09b0\r\n                box.classList.add('success');\r\n                cardEl.classList.add('placing');\r\n                $('tap-hint').classList.add('hidden'); \/\/ \u09b8\u09a0\u09bf\u0995 \u09b9\u09b2\u09c7 \u09b9\u09be\u09a4 \u09b2\u09c1\u0995\u09bf\u09df\u09c7 \u09ab\u09c7\u09b2\u09ac\u09c7\r\n                announce(&quot;\u09b8\u09a0\u09bf\u0995 \u0989\u09a4\u09cd\u09a4\u09b0!&quot;, false);\r\n\r\n                setTimeout(() =&gt; {\r\n                    box.classList.remove('success');\r\n                    state.game.currentIndex++;\r\n                    state.game.isAnimating = false;\r\n                    renderNextCard();\r\n                }, 350); \r\n            } else {\r\n                \/\/ \u09ad\u09c1\u09b2 \u0989\u09a4\u09cd\u09a4\u09b0\r\n                box.classList.add('error');\r\n                showToast(`\u09ad\u09c1\u09b2! ${currentCard.hint}`, 'error');\r\n\r\n                setTimeout(() =&gt; {\r\n                    box.classList.remove('error');\r\n                    state.game.isAnimating = false;\r\n                }, 500);\r\n            }\r\n        });\r\n    });\r\n\r\n    $('restart-game-btn').addEventListener('pointerdown', (e) =&gt; {\r\n        e.preventDefault();\r\n        initGameData();\r\n    });\r\n\r\n    \/\/ --- \u09b2\u09c1\u09aa ---\r\n    function loop() {\r\n        drawLab();\r\n        requestAnimationFrame(loop);\r\n    }\r\n    \r\n    \/\/ \u09b6\u09c1\u09b0\u09c1 \u0995\u09b0\u09be\r\n    initGameData();\r\n    requestAnimationFrame(loop);\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-874-189');\n        var btn  = document.getElementById('fs-btn-qsh-874-189');\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","protected":false},"excerpt":{"rendered":"<p>\u09a6\u09b6\u09ae \u09b6\u09cd\u09b0\u09c7\u09a3\u09bf\u09b0 \u09ad\u09cc\u09a4\u09ac\u09bf\u099c\u09cd\u099e\u09be\u09a8\u09c7\u09b0 \u099a\u09a4\u09c1\u09b0\u09cd\u09a5 \u0985\u09a7\u09cd\u09af\u09be\u09af\u09bc\u09c7 \u09a4\u09cb\u09ae\u09be\u09a6\u09c7\u09b0 \u09b8\u09cd\u09ac\u09be\u0997\u09a4! \u09a4\u09cb\u09ae\u09b0\u09be \u0995\u09bf \u0995\u0996\u09a8\u09cb \u09ad\u09c7\u09ac\u09c7 \u09a6\u09c7\u0996\u09c7\u099b \u0995\u09c7\u09a8 \u0997\u09cb\u09b0\u09c1\u09b0 \u0997\u09be\u09a1\u09bc\u09bf\u09b0 \u0995\u09be\u09a0\u09c7\u09b0 \u099a\u09be\u0995\u09be\u09af\u09bc \u09b2\u09cb\u09b9\u09be\u09b0 \u09ac\u09c7\u09a1\u09bc \u09aa\u09b0\u09be\u09a8\u09cb\u09b0 \u09b8\u09ae\u09af\u09bc \u09a4\u09be\u0995\u09c7 \u0997\u09b0\u09ae \u0995\u09b0\u09be \u09b9\u09af\u09bc? \u0985\u09a5\u09ac\u09be \u0995\u09be\u0981\u099a\u09c7\u09b0 \u09ac\u09cb\u09a4\u09b2\u09c7\u09b0 \u09a7\u09be\u09a4\u09ac \u099b\u09bf\u09aa\u09bf \u0986\u099f\u0995\u09c7 \u0997\u09c7\u09b2\u09c7 \u098f\u0995\u099f\u09c1 \u0997\u09b0\u09ae \u0995\u09b0\u09b2\u09c7\u0987 \u0995\u09c7\u09a8 \u09b8\u09b9\u099c\u09c7 \u0996\u09c1\u09b2\u09c7 \u09af\u09be\u09af\u09bc? \u098f\u09b0 \u0989\u09a4\u09cd\u09a4\u09b0 \u09b2\u09c1\u0995\u09bf\u09af\u09bc\u09c7 \u0986\u099b\u09c7 \u09a4\u09be\u09aa\u09c0\u09af\u09bc \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09a3\u09c7\u09b0 (Thermal Expansion) \u09ae\u09a7\u09cd\u09af\u09c7\u0964 \u09a4\u09be\u09aa \u09a6\u09bf\u09b2\u09c7 \u0995\u09a0\u09bf\u09a8, \u09a4\u09b0\u09b2 \u098f\u09ac\u0982 \u0997\u09cd\u09af\u09be\u09b8\u09c0\u09af\u09bc\u2014 \u09b8\u09ac [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-874","post","type-post","status-publish","format-standard","hentry","category-class-x-physical-science"],"_links":{"self":[{"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/posts\/874","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=874"}],"version-history":[{"count":4,"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/posts\/874\/revisions"}],"predecessor-version":[{"id":1137,"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/posts\/874\/revisions\/1137"}],"wp:attachment":[{"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/media?parent=874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/categories?post=874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qsh.in\/boards\/wbbse\/wp-json\/wp\/v2\/tags?post=874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}