{"id":6141,"date":"2026-05-01T13:15:36","date_gmt":"2026-05-01T05:15:36","guid":{"rendered":"https:\/\/gooart.space\/?page_id=6141"},"modified":"2026-07-12T21:45:51","modified_gmt":"2026-07-12T13:45:51","slug":"my-training","status":"publish","type":"page","link":"https:\/\/gooart.space\/en\/my-training\/","title":{"rendered":"My Training"},"content":{"rendered":"\n<details style=\"background-color: #fafafa; border: 1px solid #eee; border-radius: 8px; padding: 12px 16px; max-width: 500px; margin: 24px auto 20px;\" role=\"complementary\">\n\n<summary style=\"cursor: pointer; font-weight: 600; font-size: 1.05rem; color: #222; display: flex; align-items: center; justify-content: space-between;\">\n<span>\u2699\ufe0f AI Vision Privacy &#038; Security Guarantee<\/span>\n<span style=\"font-size: 0.85rem; color: #666; font-weight: normal; text-decoration: underline;\">Learn More<\/span>\n<\/summary>\n\n<div style=\"margin-top: 15px; font-size: 0.95rem; line-height: 1.6; color: #444; border-top: 1px solid #eee; padding-top: 15px;\">\n<p><strong>\ud83d\udd12 100% On-Device &#038; Privacy-First<\/strong><\/p>\n<p style=\"font-style: italic;\">The <strong>200+ FCS Vision Engine<\/strong> operates strictly via <strong>Client-Side Edge Computing<\/strong>. Your camera feed is processed entirely inside your local browser in real-time. <strong>No video data, images, or camera streams are ever recorded, stored, or uploaded to our servers.<\/strong><\/p>\n\n<p style=\"margin-top: 15px;\"><strong>\ud83d\udcca Tensors Only, No Visual Footprints<\/strong><\/p>\n<p>Our system utilizes Google MediaPipe WebAssembly to instantly convert motion into anonymized 3D landmark coordinate tensors (calculating your 30+ performance dimensions such as Velocity, Centerline Offset, and Kinetic Sequencing). Video frames are permanently discarded from local memory within milliseconds after feature extraction.<\/p>\n\n<p style=\"margin-top: 15px; font-weight: 500;\"><em>Train with elite bio-mechanic feedback with zero friction and absolute privacy.<\/em><\/p>\n<\/div>\n<\/details>\n\n\n<p>\t<div class=\"gs-library-container\">\r\n\t\t<!-- V3.2\uff1aAI Vision \u591a\u8bbe\u5907\u8bf4\u660e\u5361\uff084 \u5f20\u5c0f\u5361\uff0c\u624b\u673a\u81ea\u52a8 2 \u5217\uff09 -->\r\n\t\t<div class=\"gs-device-strip\">\r\n\t\t\t<div class=\"gs-device-strip-title\"><i class=\"ph-light ph-scan\"><\/i> AI Vision \u2014 Train Your Way<\/div>\r\n\t\t\t<div class=\"gs-device-cards\">\r\n\t\t\t\t<div class=\"gs-device-card\"><i class=\"ph-light ph-device-mobile-camera\"><\/i><h6>Phone<\/h6><p>Easiest \u2014 open in your browser, use the rear camera, stand 2\u20133 m back.<\/p><\/div>\r\n\t\t\t\t<div class=\"gs-device-card\"><i class=\"ph-light ph-laptop\"><\/i><h6>PC \/ Laptop<\/h6><p>Built-in or USB webcam \u2014 or turn your phone into a wireless camera via Phone Link.<\/p><\/div>\r\n\t\t\t\t<div class=\"gs-device-card\"><i class=\"ph-light ph-television-simple\"><\/i><h6>Smart TV<\/h6><p>Mirror or HDMI to the big screen and watch your live stats while you train.<\/p><\/div>\r\n\t\t\t\t<div class=\"gs-device-card\"><i class=\"ph-light ph-webcam\"><\/i><h6>USB Camera<\/h6><p>Plug &amp; play \u2014 switch cameras anytime with the in-app camera selector.<\/p><\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<div class=\"library-filters\">\r\n\t\t\t<div class=\"filter-group search-group\" style=\"flex: 100%; min-width: 100%;\">\r\n\t\t\t\t<i class=\"ph-light ph-magnifying-glass filter-icon\"><\/i>\r\n\t\t\t\t<input type=\"text\" id=\"filter-search\" placeholder=\"Search 200+ Movements... (e.g. Jab, Sprawl)\" onkeyup=\"gsFilterExercises()\">\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"filter-group\">\r\n\t\t\t\t<i class=\"ph-light ph-bookmark filter-icon\"><\/i>\r\n\t\t\t\t<select id=\"filter-cat\" onchange=\"gsFilterExercises()\">\r\n\t\t\t\t\t<option value=\"all\">All Systems<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"strength-conditioning\">Phase 1.1: Strength &amp; Conditioning<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"footwork-movement\">Phase 1.2: Footwork &amp; Movement<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"striking-upper-body\">Phase 2.1: Striking &amp; Upper Body<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"kicking-knees\">Phase 2.2: Kicking &amp; Knees<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"defense-control-survival\">Phase 2.3: Defense, Control &amp; Survival<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"ground-movement\">Phase 2.4: Ground Movement<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"fight-iq-concepts\">Phase 3: Fight IQ &amp; Concepts<\/option>\r\n\t\t\t\t\t\t\t\t\t<\/select>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"filter-group\">\r\n\t\t\t\t<i class=\"ph-light ph-body filter-icon\"><\/i>\r\n\t\t\t\t<select id=\"filter-muscle\" onchange=\"gsFilterExercises()\">\r\n\t\t\t\t\t<option value=\"all\">All Muscles<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"anterior-core\">Anterior Core<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"full-body-integrated\">Full Body\/Integrated<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"lateral-core\">Lateral Core<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"lower-stabilizer\">Lower Stabilizer<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"posterior-chain\">Posterior Chain<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"rotational-core\">Rotational Core<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"upper-push\">Upper Push<\/option>\r\n\t\t\t\t\t\t\t\t\t<\/select>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"filter-group\">\r\n\t\t\t\t<i class=\"ph-light ph-barbell filter-icon\"><\/i>\r\n\t\t\t\t<select id=\"filter-eq\" onchange=\"gsFilterExercises()\">\r\n\t\t\t\t\t<option value=\"all\">All Equipment<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"agility-ladder\">Agility Ladder<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"bodyweight\">Bodyweight<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"dumbbell\">Dumbbell<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"flat-bench\">Flat Bench<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"kettlebell\">Kettlebell<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"medicine-ball\">Medicine Ball<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"skipping-rope\">Skipping Rope<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"speed-training-ball\">Speed Training Ball<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"wall\">Wall<\/option>\r\n\t\t\t\t\t\t\t\t\t\t<option value=\"yoga-exercise-mat\">Yoga\/Exercise Mat<\/option>\r\n\t\t\t\t\t\t\t\t\t<\/select>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"filter-group\">\r\n\t\t\t\t<i class=\"ph-light ph-gauge filter-icon\"><\/i>\r\n\t\t\t\t<select id=\"filter-diff\" onchange=\"gsFilterExercises()\">\r\n\t\t\t\t\t<option value=\"all\">All Levels<\/option>\r\n\t\t\t\t\t<option value=\"beginner\">Beginner<\/option>\r\n\t\t\t\t\t<option value=\"intermediate\">Intermediate<\/option>\r\n\t\t\t\t\t<option value=\"advanced\">Advanced<\/option>\r\n\t\t\t\t<\/select>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"filter-group\">\r\n\t\t\t\t<i class=\"ph-light ph-suitcase-simple filter-icon\"><\/i>\r\n\t\t\t\t<select id=\"filter-port\" onchange=\"gsFilterExercises()\">\r\n\t\t\t\t\t<option value=\"all\">All Portability<\/option>\r\n\t\t\t\t\t<option value=\"zero_kit\">Zero-Kit<\/option>\r\n\t\t\t\t\t<option value=\"pocket\">Pocket<\/option>\r\n\t\t\t\t\t<option value=\"portable_load\">Portable Load<\/option>\r\n\t\t\t\t\t<option value=\"venue_fixed\">Venue-Fixed<\/option>\r\n\t\t\t\t<\/select>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<div class=\"library-grid\" id=\"gs-exercise-grid\">\r\n\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"full-body-integrated rotational-core\"\r\n\t\t\t\tdata-eq=\"bodyweight\"\r\n\t\t\t\tdata-alias=\"shadowboxingworkout\"\r\n\t\t\t\tdata-slug=\"shadowboxing-workout\"\r\n\t\t\t\tdata-diff=\"beginner\"\r\n\t\t\t\tdata-port=\"zero_kit\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6196, 'shadowboxing-workout', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Shadowboxing Workout<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-diff-beginner\">Beginner<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span>Full Body\/Integrated<\/span><span class=\"tag-eq\">Bodyweight<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"\"\r\n\t\t\t\tdata-eq=\"bodyweight\"\r\n\t\t\t\tdata-alias=\"shadowkickboxing\"\r\n\t\t\t\tdata-slug=\"shadow-kickboxing\"\r\n\t\t\t\tdata-diff=\"\"\r\n\t\t\t\tdata-port=\"\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6549, 'shadow-kickboxing', false)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Shadow Kickboxing<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span class=\"tag-eq\">Bodyweight<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"\"\r\n\t\t\t\tdata-eq=\"agility-ladder\"\r\n\t\t\t\tdata-alias=\"ickeyshuffle\"\r\n\t\t\t\tdata-slug=\"ickey-shuffle\"\r\n\t\t\t\tdata-diff=\"\"\r\n\t\t\t\tdata-port=\"\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6181, 'ickey-shuffle', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Ickey Shuffle<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span class=\"tag-eq\">Agility Ladder<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"\"\r\n\t\t\t\tdata-eq=\"skipping-rope\"\r\n\t\t\t\tdata-alias=\"doubleunders\"\r\n\t\t\t\tdata-slug=\"double-unders\"\r\n\t\t\t\tdata-diff=\"\"\r\n\t\t\t\tdata-port=\"\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6186, 'double-unders', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Double Unders<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span class=\"tag-eq\">Skipping Rope<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"lateral-core lower-stabilizer\"\r\n\t\t\t\tdata-eq=\"bodyweight\"\r\n\t\t\t\tdata-alias=\"anklepogojumps\"\r\n\t\t\t\tdata-slug=\"ankle-pogo-jumps\"\r\n\t\t\t\tdata-diff=\"beginner\"\r\n\t\t\t\tdata-port=\"zero_kit\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6551, 'ankle-pogo-jumps', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Ankle Pogo Jumps<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-diff-beginner\">Beginner<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span>Lateral Core<\/span><span class=\"tag-eq\">Bodyweight<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"full-body-integrated lateral-core\"\r\n\t\t\t\tdata-eq=\"skipping-rope\"\r\n\t\t\t\tdata-alias=\"jumpropeforboxing\"\r\n\t\t\t\tdata-slug=\"jump-rope-for-boxing\"\r\n\t\t\t\tdata-diff=\"beginner\"\r\n\t\t\t\tdata-port=\"pocket\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6784, 'jump-rope-for-boxing', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Jump Rope for Boxing<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-diff-beginner\">Beginner<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span>Full Body\/Integrated<\/span><span class=\"tag-eq\">Skipping Rope<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"full-body-integrated\"\r\n\t\t\t\tdata-eq=\"yoga-exercise-mat\"\r\n\t\t\t\tdata-alias=\"worldsgreateststretch\"\r\n\t\t\t\tdata-slug=\"worlds-greatest-stretch\"\r\n\t\t\t\tdata-diff=\"beginner\"\r\n\t\t\t\tdata-port=\"pocket\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6560, 'worlds-greatest-stretch', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>World&#039;s Greatest Stretch<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-diff-beginner\">Beginner<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span>Full Body\/Integrated<\/span><span class=\"tag-eq\">Yoga\/Exercise Mat<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"lower-stabilizer posterior-chain\"\r\n\t\t\t\tdata-eq=\"bodyweight dumbbell kettlebell\"\r\n\t\t\t\tdata-alias=\"cossacksquats\"\r\n\t\t\t\tdata-slug=\"cossack-squats\"\r\n\t\t\t\tdata-diff=\"beginner\"\r\n\t\t\t\tdata-port=\"portable_load\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6860, 'cossack-squats', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Cossack Squats<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-diff-beginner\">Beginner<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span>Lower Stabilizer<\/span><span class=\"tag-eq\">Bodyweight<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"anterior-core upper-push\"\r\n\t\t\t\tdata-eq=\"bodyweight yoga-exercise-mat\"\r\n\t\t\t\tdata-alias=\"hindupushupjudopushup\"\r\n\t\t\t\tdata-slug=\"hindu-push-up-judo-push-up\"\r\n\t\t\t\tdata-diff=\"beginner\"\r\n\t\t\t\tdata-port=\"pocket\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6877, 'hindu-push-up-judo-push-up', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Hindu Push-Up (Judo Push-Up)<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-diff-beginner\">Beginner<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span>Anterior Core<\/span><span class=\"tag-eq\">Bodyweight<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"lower-stabilizer rotational-core\"\r\n\t\t\t\tdata-eq=\"bodyweight yoga-exercise-mat\"\r\n\t\t\t\tdata-alias=\"9090hipswitches\"\r\n\t\t\t\tdata-slug=\"90-90-hip-switches\"\r\n\t\t\t\tdata-diff=\"beginner\"\r\n\t\t\t\tdata-port=\"pocket\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6853, '90-90-hip-switches', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>90\/90 Hip Switches<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-diff-beginner\">Beginner<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span>Lower Stabilizer<\/span><span class=\"tag-eq\">Bodyweight<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"\"\r\n\t\t\t\tdata-eq=\"bodyweight\"\r\n\t\t\t\tdata-alias=\"singlelegstand\"\r\n\t\t\t\tdata-slug=\"single-leg-stand\"\r\n\t\t\t\tdata-diff=\"\"\r\n\t\t\t\tdata-port=\"\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6194, 'single-leg-stand', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Single Leg Stand<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span class=\"tag-eq\">Bodyweight<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"anterior-core\"\r\n\t\t\t\tdata-eq=\"bodyweight yoga-exercise-mat\"\r\n\t\t\t\tdata-alias=\"deadbugexercise\"\r\n\t\t\t\tdata-slug=\"dead-bug-exercise\"\r\n\t\t\t\tdata-diff=\"beginner\"\r\n\t\t\t\tdata-port=\"pocket\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6865, 'dead-bug-exercise', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Dead Bug<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-diff-beginner\">Beginner<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span>Anterior Core<\/span><span class=\"tag-eq\">Bodyweight<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"anterior-core rotational-core\"\r\n\t\t\t\tdata-eq=\"bodyweight\"\r\n\t\t\t\tdata-alias=\"slipandroll\"\r\n\t\t\t\tdata-slug=\"slip-and-roll\"\r\n\t\t\t\tdata-diff=\"beginner\"\r\n\t\t\t\tdata-port=\"zero_kit\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6198, 'slip-and-roll', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Slip &amp; Roll<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-diff-beginner\">Beginner<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span>Anterior Core<\/span><span class=\"tag-eq\">Bodyweight<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"\"\r\n\t\t\t\tdata-eq=\"medicine-ball\"\r\n\t\t\t\tdata-alias=\"medicineballslam\"\r\n\t\t\t\tdata-slug=\"medicine-ball-slam\"\r\n\t\t\t\tdata-diff=\"\"\r\n\t\t\t\tdata-port=\"\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6176, 'medicine-ball-slam', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Medicine Ball Slam<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span class=\"tag-eq\">Medicine Ball<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"\"\r\n\t\t\t\tdata-eq=\"kettlebell\"\r\n\t\t\t\tdata-alias=\"kettlebellswing\"\r\n\t\t\t\tdata-slug=\"kettlebell-swing\"\r\n\t\t\t\tdata-diff=\"\"\r\n\t\t\t\tdata-port=\"\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6138, 'kettlebell-swing', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Kettlebell Swing<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span class=\"tag-eq\">Kettlebell<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"\"\r\n\t\t\t\tdata-eq=\"dumbbell flat-bench\"\r\n\t\t\t\tdata-alias=\"dumbbellbulgariansplitsquat\"\r\n\t\t\t\tdata-slug=\"dumbbell-bulgarian-split-squat\"\r\n\t\t\t\tdata-diff=\"\"\r\n\t\t\t\tdata-port=\"\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6187, 'dumbbell-bulgarian-split-squat', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Dumbbell Bulgarian Split Squat<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span class=\"tag-eq\">Dumbbell<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"\"\r\n\t\t\t\tdata-eq=\"kettlebell\"\r\n\t\t\t\tdata-alias=\"kettlebellgobletsquat\"\r\n\t\t\t\tdata-slug=\"kettlebell-goblet-squat\"\r\n\t\t\t\tdata-diff=\"\"\r\n\t\t\t\tdata-port=\"\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6185, 'kettlebell-goblet-squat', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Kettlebell Goblet Squat<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span class=\"tag-eq\">Kettlebell<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"\"\r\n\t\t\t\tdata-eq=\"bodyweight dumbbell kettlebell\"\r\n\t\t\t\tdata-alias=\"temposquats\"\r\n\t\t\t\tdata-slug=\"tempo-squats\"\r\n\t\t\t\tdata-diff=\"\"\r\n\t\t\t\tdata-port=\"\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6195, 'tempo-squats', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Tempo Squats<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span class=\"tag-eq\">Bodyweight<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"\"\r\n\t\t\t\tdata-eq=\"yoga-exercise-mat\"\r\n\t\t\t\tdata-alias=\"plank\"\r\n\t\t\t\tdata-slug=\"plank\"\r\n\t\t\t\tdata-diff=\"\"\r\n\t\t\t\tdata-port=\"\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6191, 'plank', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Plank<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span class=\"tag-eq\">Yoga\/Exercise Mat<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\" class=\"gs-ex-card\"\r\n\t\t\t\tdata-cat=\"strength-conditioning\"\r\n\t\t\t\tdata-muscle=\"\"\r\n\t\t\t\tdata-eq=\"wall\"\r\n\t\t\t\tdata-alias=\"wallsit\"\r\n\t\t\t\tdata-slug=\"wall-sit\"\r\n\t\t\t\tdata-diff=\"\"\r\n\t\t\t\tdata-port=\"\"\r\n\t\t\t\tonclick=\"gsOpenExerciseModal(6192, 'wall-sit', true)\">\r\n\r\n\t\t\t\t<div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n\t\t\t\t<div class=\"ex-card-content\">\r\n\t\t\t\t\t<h5>Wall Sit<\/h5>\r\n\t\t\t\t\t<div class=\"ex-card-tags\">\r\n\t\t\t\t\t\t<span class=\"tag-ai\"><i class=\"ph-light ph-scan\" style=\"margin-right:2px; font-size:11px;\"><\/i>AI<\/span><span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span class=\"tag-eq\">Wall<\/span>\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t<div id=\"no-results-msg\" style=\"display:none; text-align:center; padding: 30px 0; color:#888; grid-column: 1 \/ -1;\">\r\n\t\t\t\t<i class=\"ph-light ph-warning-circle\" style=\"font-size:24px; margin-bottom:10px;\"><\/i><br>No movements found.\r\n\t\t\t<\/div>\r\n\t\t\t\t\t\t<div style=\"grid-column: 1 \/ -1; background: #fffdf5; border: 1px dashed #d35400; padding: 20px; border-radius: 12px; text-align: center; margin-top: 10px;\">\r\n\t\t\t\t<i class=\"ph-light ph-lock-key\" style=\"font-size: 28px; color: #d35400; margin-bottom: 10px;\"><\/i>\r\n\t\t\t\t<h4 style=\"margin:0 0 5px 0; color:#222; font-size:16px;\">100+ Advanced Movements Locked<\/h4>\r\n\t\t\t\t<p style=\"margin:0 0 15px 0; color:#666; font-size:13px;\">You are viewing the Core Basics. Become a premium student to unlock the full 200+ FCS digital encyclopedia.<\/p>\r\n\t\t\t\t<a href=\"https:\/\/gooart.space\/en\/booking\/\" style=\"display:inline-block; padding: 8px 16px; background: #8B0000; color: #fff; border-radius: 6px; font-weight: 700; font-size: 13px; text-decoration: none;\">Book a Session<\/a>\r\n\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<!-- V3.3\uff1a\u5206\u9875 Load More\uff08\u9ed8\u8ba4\u663e\u793a\u524d 10 \u5f20\uff0c\u70b9\u51fb\u6bcf\u6b21\u518d\u5c55\u5f00 10 \u5f20\uff1b\u7ed3\u679c\u4e0d\u8db3\u65f6\u81ea\u52a8\u9690\u85cf\uff09 -->\r\n\t\t<div class=\"gs-load-more-wrap\" id=\"gs-load-more-wrap\" style=\"display:none;\">\r\n\t\t\t<div class=\"gs-load-more-count\" id=\"gs-load-more-count\"><\/div>\r\n\t\t\t<button type=\"button\" class=\"gs-load-more-btn\" id=\"gs-load-more-btn\" onclick=\"gsLoadMoreExercises()\">Load More <i class=\"ph-light ph-caret-down\"><\/i><\/button>\r\n\t\t<\/div>\r\n\t<\/div>\r\n\t<div id=\"gs-exercise-modal\" class=\"gs-modal-overlay\" style=\"display:none;\">\r\n\t\t<div class=\"gs-modal-box\">\r\n\t\t\t<div class=\"gs-modal-header\">\r\n\t\t\t\t<h4 id=\"gs-modal-title\">Loading...<\/h4>\r\n\t\t\t\t<button class=\"gs-modal-close\" onclick=\"gsCloseExerciseModal()\"><i class=\"ph-light ph-x\"><\/i><\/button>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"gs-modal-body\" id=\"gs-modal-content\">\r\n\t\t\t\t<div style=\"text-align:center; padding: 40px; color:#888;\"><i class=\"ph-light ph-spinner ph-spin\" style=\"font-size:32px;\"><\/i><\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"gs-modal-footer\">\r\n\t\t\t\t<div class=\"fcs-persona-selector\" id=\"gs-persona-selector\" style=\"display:none;\">\r\n\t\t\t\t\t<div style=\"display: flex; gap: 6px; margin-bottom: 4px; align-items: stretch;\">\r\n\t\t\t\t\t\t<button class=\"persona-btn active\" id=\"btn-persona-motivation\" onclick=\"gsSetPersona('motivation', this)\" style=\"flex: 1.3; padding: 7px 4px; border: 2px solid #4CAF50; background: #e8f5e9; color: #2e7d32; border-radius: 8px; font-weight: 700; cursor: pointer; transition: 0.2s; font-size: 12px; white-space: nowrap;\">\ud83d\udcaa Motivation<\/button>\r\n\t\t\t\t\t\t<button class=\"persona-btn\" id=\"btn-persona-combat\" onclick=\"gsSetPersona('combat', this)\" style=\"flex: 1.1; padding: 7px 4px; border: 2px solid #e0e0e0; background: #fff; color: #888; border-radius: 8px; font-weight: 700; cursor: pointer; transition: 0.2s; font-size: 12px; white-space: nowrap;\">\ud83e\udd4a Combat<\/button>\r\n\t\t\t\t\t\t<span style=\"width: 1px; background: #e0e0e0; margin: 3px 1px; flex-shrink: 0;\"><\/span>\r\n\t\t\t\t\t\t<button class=\"coach-lang-btn\" id=\"btn-lang-en\" data-lang=\"en\" onclick=\"gsSetCoachLang('en', this)\" style=\"flex: 0.6; padding: 7px 2px; border: 2px solid #e0e0e0; background: #fff; color: #888; border-radius: 8px; font-weight: 700; cursor: pointer; transition: 0.2s; font-size: 12px;\">EN<\/button>\r\n\t\t\t\t\t\t<button class=\"coach-lang-btn\" id=\"btn-lang-zh\" data-lang=\"zh\" onclick=\"gsSetCoachLang('zh', this)\" style=\"flex: 0.6; padding: 7px 2px; border: 2px solid #e0e0e0; background: #fff; color: #888; border-radius: 8px; font-weight: 700; cursor: pointer; transition: 0.2s; font-size: 12px;\">\u4e2d\u6587<\/button>\r\n\t\t\t\t\t\t<button class=\"coach-lang-btn\" id=\"btn-lang-ms\" data-lang=\"ms\" onclick=\"gsSetCoachLang('ms', this)\" style=\"flex: 0.6; padding: 7px 2px; border: 2px solid #e0e0e0; background: #fff; color: #888; border-radius: 8px; font-weight: 700; cursor: pointer; transition: 0.2s; font-size: 12px;\">BM<\/button>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<button id=\"gs-btn-ai-vision\" class=\"btn-ai-vision\">Loading...<\/button>\r\n\t\t\t\t<button id=\"gs-btn-track-sync\" class=\"btn-sync-track\">\r\n\t\t\t\t\tAdd to Core 20 <i class=\"ph-light ph-arrow-down-right\"><\/i>\r\n\t\t\t\t<\/button>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/div>\r\n\t<style>\r\n\t\t.gs-library-container { max-width: 500px; margin: 0 auto 40px auto; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\r\n\t\t.library-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }\r\n\t\t\/* V3.2\uff1aAI Vision \u591a\u8bbe\u5907\u8bf4\u660e\u5361\uff08\u684c\u9762 4 \u5217\uff0c\u624b\u673a\u81ea\u52a8 2 \u5217\uff09 *\/\r\n\t\t.gs-device-strip { background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 14px 15px; margin-bottom: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.03); }\r\n\t\t.gs-device-strip-title { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; color: #8B0000; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 10px; }\r\n\t\t.gs-device-strip-title i { font-size: 16px; }\r\n\t\t.gs-device-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }\r\n\t\t.gs-device-card { min-width: 0; background: #fafafa; border: 1px solid #f0f0f0; border-radius: 10px; padding: 10px 8px; text-align: center; }\r\n\t\t.gs-device-card i { font-size: 22px; color: #8B0000; }\r\n\t\t.gs-device-card h6 { margin: 6px 0 4px 0; font-size: 12px; font-weight: 800; color: #222; }\r\n\t\t.gs-device-card p { margin: 0; font-size: 10.5px; line-height: 1.45; color: #777; font-weight: 500; }\r\n\t\t@media (max-width: 480px) { .gs-device-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\r\n\t\t.filter-group { position: relative; flex: 1; min-width: 130px; }\r\n\t\t.filter-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #888; font-size: 18px; pointer-events: none; }\r\n\t\t.filter-group select, .filter-group input { width: 100%; padding: 12px 12px 12px 38px; border: 1px solid #e0e0e0; border-radius: 10px; font-size: 14px; background: #fff; outline: none; font-weight: 500; color: #333; transition: 0.2s; box-sizing: border-box; }\r\n\t\t.filter-group select { appearance: none; font-weight: 600; font-size: 13px; }\r\n\t\t.filter-group select:focus, .filter-group input:focus { border-color: #8B0000; box-shadow: 0 0 0 3px rgba(139,0,0,0.05); }\r\n\t\t.library-grid { display: flex; flex-direction: column; gap: 10px; }\r\n\t\t.gs-ex-card { \r\n\t\t\tdisplay: flex; align-items: center; background: #fff; border-radius: 12px; padding: 12px 15px; text-decoration: none; border: 1px solid #eee; transition: 0.2s; box-shadow: 0 2px 8px rgba(0,0,0,0.03); \r\n\t\t\t\/* [\u6027\u80fd\u4f18\u5316\u6838\u5fc3] \u61d2\u6e32\u67d3\u4e0e GPU \u52a0\u901f\uff0c\u652f\u6491 300+ \u5217\u8868\u6beb\u65e0\u538b\u529b *\/\r\n\t\t\tcontent-visibility: auto; \r\n\t\t\tcontain-intrinsic-size: 70px; \r\n\t\t\twill-change: transform;\r\n\t\t}\r\n\t\t.gs-ex-card:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(0,0,0,0.06); }\r\n\t\t.ex-card-icon { width: 40px; height: 40px; background: rgba(139,0,0,0.05); color: #8B0000; border-radius: 10px; display: flex; justify-content: center; align-items: center; font-size: 20px; margin-right: 15px; flex-shrink: 0; }\r\n\t\t.ex-card-content { flex-grow: 1; overflow: hidden; }\r\n\t\t.ex-card-content h5 { margin: 0 0 4px 0; font-size: 15px; color: #222; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 700; }\r\n\t\t.ex-card-tags { display: flex; gap: 6px; flex-wrap: wrap; }\r\n\t\t.ex-card-tags span { background: rgba(139,0,0,0.08); color: #8B0000; padding: 2px 8px; border-radius: 4px; font-size: 10px; font-weight: 600; text-transform: uppercase; }\r\n\t\t.ex-card-tags span.tag-eq { background: #f0f0f0; color: #555; }\r\n\t\t.ex-card-tags span.tag-cat { background: #222; color: #fff; }\r\n\t\t.ex-card-tags span.tag-ai { background: #5e35b1; color: #ffffff !important; }\r\n\t\t.ex-card-tags span.tag-ai i { color: #ffffff !important; }\r\n\t\t\/* V3.0\uff1a\u8d44\u5386\u9501\u5b9a\u5361\uff08\u533f\u540d\uff09 *\/\r\n\t\t.gs-ex-card-locked { opacity: .8; background: #fafafa; border-style: dashed; }\r\n\t\t.gs-ex-card-locked .ex-card-icon { background: #eeeeee; color: #999; }\r\n\t\t.gs-ex-card-locked h5 { color: #888; }\r\n\t\t.ex-card-tags span.tag-tenure { background: #ede7f6; color: #4527a0; }\r\n\t\t.ex-card-tags span.tag-unlock-date { background: #fff8e1; color: #b26a00; text-transform: none; }\r\n\t\t.ex-card-tags span.tag-belt { background: #1a1a1a; color: #ffffff; }\r\n\t\t.ex-card-arrow { color: #ccc; font-size: 18px; }\r\n\t\t\/* V3.3\uff1aLoad More \u5206\u9875 *\/\r\n\t\t.gs-load-more-wrap { text-align: center; margin-top: 14px; }\r\n\t\t.gs-load-more-count { font-size: 12px; color: #999; font-weight: 600; margin-bottom: 8px; }\r\n\t\t.gs-load-more-btn { display: inline-flex; align-items: center; gap: 6px; padding: 10px 28px; background: #fff; color: #8B0000; border: 1.5px solid #8B0000; border-radius: 10px; font-size: 14px; font-weight: 800; cursor: pointer; transition: 0.2s; }\r\n\t\t.gs-load-more-btn:hover { background: #8B0000; color: #fff; }\r\n\t\t.gs-load-more-btn:active { transform: scale(0.97); }\r\n\t\t.gs-modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.8); z-index: 99999; display: flex; justify-content: center; align-items: flex-end; padding: 20px; backdrop-filter: blur(4px); }\r\n\t\t.gs-modal-box { background: #fff; width: 100%; max-width: 600px; max-height: 90vh; border-radius: 20px 20px 0 0; display: flex; flex-direction: column; overflow: hidden; animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1); }\r\n\t\t@keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }\r\n\t\t.gs-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid #f0f0f0; background: #fff; }\r\n\t\t.gs-modal-header h4 { margin: 0; font-size: 18px; color: #1a1a1a; font-weight: 800; }\r\n\t\t.gs-modal-close { background: #f5f5f5; border: none; width: 32px; height: 32px; border-radius: 50%; display: flex; justify-content: center; align-items: center; font-size: 16px; cursor: pointer; color: #555; }\r\n\t\t.gs-modal-body { padding: 20px; overflow-y: auto; flex-grow: 1; background: #fafafa; }\r\n\t\t.gs-modal-footer { padding: 10px 16px; background: #fff; border-top: 1px solid #f0f0f0; display: flex; flex-direction: column; gap: 8px; }\r\n\t\t.btn-ai-vision { width: 100%; padding: 12px; background: #8B0000; color: #ffffff !important; border: none; border-radius: 10px; font-size: 15px; font-weight: 800; cursor: pointer; display: flex; justify-content: center; align-items: center; gap: 8px; transition: background 0.2s, transform 0.2s; box-shadow: 0 4px 15px rgba(139,0,0,0.2); }\r\n\t\t.btn-ai-vision i { color: #ffffff !important; } \r\n\t\t.btn-ai-vision:active { transform: scale(0.98); background: #660000; }\r\n\t\t.btn-ai-vision:disabled, .btn-ai-vision.disabled { background: #e0e0e0; color: #9e9e9e !important; cursor: not-allowed; transform: none; box-shadow: none; }\r\n\t\t.btn-ai-vision:disabled i, .btn-ai-vision.disabled i { color: #9e9e9e !important; } \r\n\t\t.btn-sync-track { width: 100%; padding: 9px; background: #f5f5f5; color: #1a1a1a; border: none; border-radius: 10px; font-size: 13px; font-weight: 700; cursor: pointer; display: flex; justify-content: center; align-items: center; gap: 8px; transition: background 0.2s, transform 0.2s; }\r\n\t\t.btn-sync-track:active { transform: scale(0.98); background: #e0e0e0; }\r\n\t\t.exercise-video-wrapper { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 12px; margin-bottom: 20px; background: #000; }\r\n\t\t.exercise-video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }\r\n\t\t.exercise-tags-grid { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap;}\r\n\t\t.gs-badge { padding: 4px 10px; border-radius: 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px;}\r\n\t\t.badge-eq { background: #e0e0e0; color: #333; }\r\n\t\t.badge-mu { background: rgba(139, 0, 0, 0.1); color: #8B0000; }\r\n\t\t.badge-cat { background: #222; color: #fff; } \r\n\t\t.badge-ai { background: #5e35b1; color: #ffffff !important; }\r\n\t\t.badge-ai i { color: #ffffff !important; }\r\n\t\t\/* V2.1 \u65b0\u589e\uff1aExercise Details \u5fbd\u7ae0\u4e0e\u5b89\u5168\u63d0\u793a\u6761 *\/\r\n\t\t.badge-diff-beginner { background: #e8f5e9; color: #1b5e20; border: 1px solid #a5d6a7; }\r\n\t\t.badge-diff-intermediate { background: #fff8e1; color: #b26a00; border: 1px solid #ffe082; }\r\n\t\t.badge-diff-advanced { background: #fdecea; color: #8B0000; border: 1px solid #f5c6cb; }\r\n\t\t.badge-phase { background: #e3f2fd; color: #0d47a1; border: 1px solid #bbdefb; }\r\n\t\t.badge-setup { background: #ede7f6; color: #4527a0; border: 1px solid #d1c4e9; }\r\n\t\t.badge-port { background: #f1f8e9; color: #33691e; border: 1px solid #c5e1a5; }\r\n\t\t.supervision-box { background: #fdecea; border-left: 4px solid #8B0000; padding: 12px 15px; margin-bottom: 20px; border-radius: 0 8px 8px 0; display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: #8B0000; text-transform: uppercase; letter-spacing: 0.5px; }\r\n\t\t.ex-card-tags span.tag-diff-beginner { background: #e8f5e9; color: #2e7d32; }\r\n\t\t.ex-card-tags span.tag-diff-intermediate { background: #fff8e1; color: #b26a00; }\r\n\t\t.ex-card-tags span.tag-diff-advanced { background: #fdecea; color: #8B0000; }\r\n\t\t.coaching-cue-box { background: #fffdf5; border-left: 4px solid #f39c12; padding: 15px; margin-bottom: 20px; border-radius: 0 8px 8px 0; }\r\n\t\t.coaching-cue-box h5 { margin: 0 0 5px 0; color: #d35400; font-size: 13px; text-transform: uppercase;}\r\n\t\t.coaching-cue-box p { margin: 0; font-size: 14px; color: #444; font-weight: 500;}\r\n\t\t.exercise-main-content { font-size: 14px; color: #555; line-height: 1.6; }\r\n\t\t@media (max-width: 768px) {\r\n\t\t\t.gs-modal-overlay { padding-bottom: calc(85px + env(safe-area-inset-bottom)) !important; overscroll-behavior-y: none !important; touch-action: none; }\r\n\t\t\t.gs-modal-box { max-height: 86vh !important; border-radius: 20px !important; touch-action: pan-y; box-shadow: 0 -10px 30px rgba(0,0,0,0.3); }\r\n\t\t\t.gs-modal-body { overscroll-behavior-y: contain !important; -webkit-overflow-scrolling: touch; }\r\n\t\t}\r\n\t\thtml, body { overscroll-behavior-y: none !important; }\r\n\t<\/style>\r\n\t<script>\r\n\t\/\/ V3.3\uff1a\u5206\u9875\u72b6\u6001 \u2014\u2014 \u9ed8\u8ba4\u663e\u793a\u524d 10 \u5f20\uff0cLoad More \u6bcf\u6b21 +10\uff1b\u7b5b\u9009\/\u641c\u7d22\u53d8\u5316\u65f6\u91cd\u7f6e\r\n\tconst GS_PAGE_SIZE = 10;\r\n\tlet gsVisibleLimit = GS_PAGE_SIZE;\r\n\tfunction gsFilterExercises(keepLimit) {\r\n\tif (!keepLimit) gsVisibleLimit = GS_PAGE_SIZE; \/\/ \u7b5b\u9009\/\u641c\u7d22\u53d8\u5316\uff1a\u91cd\u7f6e\u56de\u524d 10 \u6761\r\n\t\/\/ \u83b7\u53d6\u641c\u7d22\u6846\u5185\u5bb9\uff08\u7edf\u4e00\u8f6c\u4e3a\u5c0f\u5199\uff09\r\n\tconst sq = document.getElementById('filter-search').value.toLowerCase();\r\n\tconst sc = document.getElementById('filter-cat').value;\r\n\tconst sm = document.getElementById('filter-muscle').value;\r\n\tconst se = document.getElementById('filter-eq').value;\r\n\tconst sd = document.getElementById('filter-diff').value;\r\n\tconst sp = document.getElementById('filter-port').value;\r\n\tlet v = 0;\r\n\r\n\tdocument.querySelectorAll('.gs-ex-card').forEach(card => {\r\n\t\tconst c = card.getAttribute('data-cat') || '';\r\n\t\tconst m = card.getAttribute('data-muscle') || '';\r\n\t\tconst e = card.getAttribute('data-eq') || '';\r\n\t\tconst slug = card.getAttribute('data-slug') ? card.getAttribute('data-slug').toLowerCase() : ''; \/\/ \u83b7\u53d6 slug\r\n\t\tconst alias = card.getAttribute('data-alias') ? card.getAttribute('data-alias').toLowerCase() : ''; \/\/ \u82f1\u6587\u89c4\u8303\u540d\uff08\u65e0\u8fde\u5b57\u7b26\uff1b\u5c5e\u6027\u4e0d\u88ab TranslatePress \u7ffb\u8bd1\uff09\r\n\t\tconst title = card.querySelector('h5').innerText.toLowerCase();\r\n\r\n\t\t\/\/ V2.3 \u6838\u5fc3\u6539\u52a8\uff1a\u8de8\u8bed\u8a00\u641c\u7d22\u5339\u914d\r\n\t\t\/\/ \u2460 \u53ef\u89c1\u6807\u9898\uff08\u5f53\u524d\u754c\u9762\u8bed\u8a00\uff0c\u4e2d\u6587\/\u9a6c\u6765\u8bed\u754c\u9762\u5373\u8bd1\u6587\uff09\u5305\u542b\u641c\u7d22\u8bcd\uff1b\r\n\t\t\/\/ \u2461 \u6216\u82f1\u6587\u89c4\u8303\u540d\u547d\u4e2d\uff1a\u641c\u7d22\u8bcd\u4e0e slug \/ alias \/ \u6807\u9898\u5747\u53bb\u7a7a\u683c\u53bb\u8fde\u5b57\u7b26\u540e\u518d\u6bd4 \u2014\u2014\r\n\t\t\/\/    \u8fd9\u6837\u82f1\u6587\u540d\uff08\u5982 \"Shadowboxing Workout\"\uff09\u5728\u4e2d\u6587\/\u9a6c\u6765\u8bed\u754c\u9762\u4e5f\u80fd\u547d\u4e2d\r\n\t\t\/\/    slug \"shadowboxing-workout\" \/ alias \"shadowboxingworkout\"\u3002\r\n\t\tconst sqNorm = sq.replace(\/[\\s\\-]+\/g, '');\r\n\t\tconst titleNorm = title.replace(\/[\\s\\-]+\/g, '');\r\n\t\tconst slugNorm = slug.replace(\/-\/g, '');\r\n\t\tconst matchesSearch = (sq === '' || title.includes(sq) || slug.includes(sq)\r\n\t\t\t|| (sqNorm !== '' && (alias.includes(sqNorm) || slugNorm.includes(sqNorm) || titleNorm.includes(sqNorm))));\r\n\r\n\t\tconst d = card.getAttribute('data-diff') || '';\r\n\t\tconst p = card.getAttribute('data-port') || '';\r\n\r\n\t\tif(matchesSearch && (sc === 'all' || c.includes(sc)) && (sm === 'all' || m.includes(sm)) && (se === 'all' || e.includes(se)) && (sd === 'all' || d === sd) && (sp === 'all' || p === sp)) {\r\n\t\t\t\/\/ V3.3\uff1a\u53ea\u663e\u793a\u5339\u914d\u7ed3\u679c\u4e2d\u7684\u524d gsVisibleLimit \u5f20\uff0c\u5176\u4f59\u4ea4\u7ed9 Load More \u5c55\u5f00\r\n\t\t\tcard.style.display = (v < gsVisibleLimit) ? 'flex' : 'none';\r\n\t\t\tv++;\r\n\t\t} else {\r\n\t\t\tcard.style.display = 'none';\r\n\t\t}\r\n\t});\r\n\tdocument.getElementById('no-results-msg').style.display = (v === 0) ? 'block' : 'none';\r\n\t\/\/ V3.3\uff1aLoad More \u6309\u94ae\u4e0e Showing X of Y \u8ba1\u6570\uff08\u7ed3\u679c \u2264 \u5f53\u524d\u4e0a\u9650\u65f6\u9690\u85cf\uff09\r\n\tconst lmWrap = document.getElementById('gs-load-more-wrap');\r\n\tconst lmCount = document.getElementById('gs-load-more-count');\r\n\tif (lmWrap) {\r\n\t\tif (v > gsVisibleLimit) {\r\n\t\t\tlmWrap.style.display = 'block';\r\n\t\t\tif (lmCount) lmCount.innerText = 'Showing ' + gsVisibleLimit + ' of ' + v;\r\n\t\t} else {\r\n\t\t\tlmWrap.style.display = 'none';\r\n\t\t}\r\n\t}\r\n}\r\n\t\/\/ V3.3\uff1aLoad More \u2014\u2014 \u4e0a\u9650 +10 \u540e\u91cd\u65b0\u8fc7\u6ee4\uff08keepLimit=true \u4fdd\u6301\u5f53\u524d\u4e0a\u9650\u4e0d\u88ab\u91cd\u7f6e\uff09\r\n\tfunction gsLoadMoreExercises() {\r\n\t\tgsVisibleLimit += GS_PAGE_SIZE;\r\n\t\tgsFilterExercises(true);\r\n\t}\r\n\t\/\/ V3.3\uff1a\u521d\u59cb\u52a0\u8f7d\u5373\u5e94\u7528\u5206\u9875\uff08\u9ed8\u8ba4\u53ea\u663e\u793a\u524d 10 \u5f20\uff09\r\n\tgsFilterExercises();\r\n\t\/\/ V3.1\uff1a\u6bb5\u4f4d\u9501\u5b9a\u5361\u70b9\u51fb\u63d0\u793a\uff08\u53cc\u6761\u4ef6\u8fdb\u5ea6\uff0c\u4e0d\u900f\u9732\u52a8\u4f5c\u540d\uff09\r\n\tconst GS_MY_TENURE_M = 0;\r\n\tconst GS_MY_TRAIN_D = 0;\r\n\tfunction gsShowTenureLockNotice(reqM, reqD, belt) {\r\n\t\tlet msg = '\\ud83e\\udd4b ' + (belt ? belt : 'Locked') + ' movement \u2014 unlocks when BOTH are met:';\r\n\t\tmsg += '\\n\u23f3 Membership: ' + Math.min(GS_MY_TENURE_M, reqM) + ' \/ ' + reqM + ' months';\r\n\t\tmsg += '\\n\\ud83d\\udcc5 Training days logged: ' + Math.min(GS_MY_TRAIN_D, reqD) + ' \/ ' + reqD + ' days';\r\n\t\tmsg += '\\nKeep training \u2014 it will unlock automatically.';\r\n\t\talert(msg);\r\n\t}\r\n\tfunction gsSetPersona(mode, btnElement) {\r\n\t\tconst btns = document.querySelectorAll('.persona-btn');\r\n\t\tbtns.forEach(btn => {\r\n\t\t\tbtn.classList.remove('active');\r\n\t\t\tbtn.style.background = '#fff';\r\n\t\t\tbtn.style.color = '#888';\r\n\t\t\tbtn.style.borderColor = '#e0e0e0';\r\n\t\t});\r\n\t\tbtnElement.classList.add('active');\r\n\t\tif (mode === 'motivation') {\r\n\t\t\tbtnElement.style.background = '#e8f5e9';\r\n\t\t\tbtnElement.style.color = '#2e7d32';\r\n\t\t\tbtnElement.style.borderColor = '#4CAF50';\r\n\t\t} else {\r\n\t\t\tbtnElement.style.background = '#ffebee';\r\n\t\t\tbtnElement.style.color = '#c62828';\r\n\t\t\tbtnElement.style.borderColor = '#e53935';\r\n\t\t}\r\n\t\tif (typeof window.FCS_VisionDictionary !== 'undefined') {\r\n\t\t\twindow.FCS_VisionDictionary.coach.setMode(mode);\r\n\t\t}\r\n\t}\r\n\t\/\/ V2.2\uff1aCoach \u8bed\u8a00\u9009\u62e9\uff08\u8c03\u7528 Dict-Core V5.1 \u7684 coach.setLang\uff0clocalStorage \u8bb0\u5fc6\uff09\r\n\tfunction gsSetCoachLang(lang, btnElement) {\r\n\t\tif (typeof window.FCS_VisionDictionary !== 'undefined' && window.FCS_VisionDictionary.coach && typeof window.FCS_VisionDictionary.coach.setLang === 'function') {\r\n\t\t\twindow.FCS_VisionDictionary.coach.setLang(lang);\r\n\t\t}\r\n\t\tgsHighlightCoachLang(lang);\r\n\t}\r\n\tfunction gsHighlightCoachLang(lang) {\r\n\t\tif (!lang) {\r\n\t\t\tlang = (typeof window.FCS_VisionDictionary !== 'undefined' && window.FCS_VisionDictionary.coach && window.FCS_VisionDictionary.coach.currentLang) ? window.FCS_VisionDictionary.coach.currentLang : 'en';\r\n\t\t}\r\n\t\tdocument.querySelectorAll('.coach-lang-btn').forEach(btn => {\r\n\t\t\tconst active = btn.getAttribute('data-lang') === lang;\r\n\t\t\tbtn.style.background = active ? '#ede7f6' : '#fff';\r\n\t\t\tbtn.style.color = active ? '#4527a0' : '#888';\r\n\t\t\tbtn.style.borderColor = active ? '#5e35b1' : '#e0e0e0';\r\n\t\t});\r\n\t}\r\n\t\/\/ V2.2.1\uff1a\u4ee5 persona \u6309\u94ae\u7684\u5f53\u524d\u9ad8\u4eae\u4e3a\u51c6\uff0c\u5f3a\u5236\u540c\u6b65 Core \u7684\u6559\u7ec3\u4eba\u683c\uff08\u4fee\u590d UI \u9ed8\u8ba4 Motivation \/ Core \u9ed8\u8ba4 combat \u7684\u9519\u4f4d\uff09\r\n\tfunction gsSyncPersonaToCoach() {\r\n\t\tconst activeBtn = document.querySelector('.persona-btn.active');\r\n\t\tconst mode = (activeBtn && activeBtn.id === 'btn-persona-combat') ? 'combat' : 'motivation';\r\n\t\tif (typeof window.FCS_VisionDictionary !== 'undefined' && window.FCS_VisionDictionary.coach && typeof window.FCS_VisionDictionary.coach.setMode === 'function') {\r\n\t\t\twindow.FCS_VisionDictionary.coach.setMode(mode);\r\n\t\t}\r\n\t}\r\n\tfunction gsOpenExerciseModal(exId, exSlug, isAISupported) {\r\n\t\tdocument.getElementById('gs-exercise-modal').style.display = 'flex';\r\n\t\tdocument.body.style.overflow = 'hidden'; \r\n\t\tdocument.getElementById('gs-btn-track-sync').setAttribute('onclick', `gsSyncToTracker(${exId})`);\r\n\t\tconst aiBtn = document.getElementById('gs-btn-ai-vision');\r\n\t\tconst personaSelector = document.getElementById('gs-persona-selector');\r\n\t\tif (isAISupported) {\r\n\t\t\taiBtn.disabled = false;\r\n\t\t\taiBtn.className = 'btn-ai-vision';\r\n\t\t\taiBtn.innerHTML = 'Launch AI Vision <i class=\"ph-light ph-scan\"><\/i>';\r\n\t\t\taiBtn.setAttribute('onclick', `gsLaunchAIVision(${exId}, '${exSlug}')`);\r\n\t\t\tpersonaSelector.style.display = 'block';\r\n\t\t\tgsHighlightCoachLang(); \/\/ V2.2\uff1a\u540c\u6b65\u5f53\u524d\u6559\u7ec3\u8bed\u8a00\u9ad8\u4eae\uff08localStorage \/ \u9875\u9762\u8bed\u8a00\u81ea\u52a8\u5224\u5b9a\u7684\u7ed3\u679c\uff09\r\n\t\t\tgsSyncPersonaToCoach(); \/\/ V2.2.1\uff1a\u5f00\u5f39\u7a97\u5373\u628a UI \u9ad8\u4eae\u7684\u4eba\u683c\u540c\u6b65\u7ed9 Core\r\n\t\t} else {\r\n\t\t\taiBtn.disabled = true;\r\n\t\t\taiBtn.className = 'btn-ai-vision disabled';\r\n\t\t\taiBtn.innerHTML = 'AI Vision Not Available <i class=\"ph-light ph-prohibit\"><\/i>';\r\n\t\t\taiBtn.removeAttribute('onclick');\r\n\t\t\tpersonaSelector.style.display = 'none';\r\n\t\t}\r\n\t\tconst data = new FormData();\r\n\t\tdata.append('action', 'gs_get_exercise_modal_data');\r\n\t\tdata.append('ex_id', exId);\r\n\t\tfetch('https:\/\/gooart.space\/wp-admin\/admin-ajax.php', { method: 'POST', body: data })\r\n\t\t.then(res => res.json())\r\n\t\t.then(res => {\r\n\t\t\tif(res.success) {\r\n\t\t\t\tdocument.getElementById('gs-modal-title').innerText = res.data.title;\r\n\t\t\t\tdocument.getElementById('gs-modal-content').innerHTML = res.data.html;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tfunction gsCloseExerciseModal() {\r\n\t\tdocument.getElementById('gs-exercise-modal').style.display = 'none';\r\n\t\tdocument.body.style.overflow = 'auto';\r\n\t\tdocument.getElementById('gs-modal-title').innerText = 'Loading...';\r\n\t\tdocument.getElementById('gs-modal-content').innerHTML = '<div style=\"text-align:center; padding: 40px; color:#888;\"><i class=\"ph-light ph-spinner ph-spin\" style=\"font-size:32px;\"><\/i><\/div>';\r\n\t}\r\n\tfunction gsLaunchAIVision(exId, slug) {\r\n\t\tgsSyncPersonaToCoach(); \/\/ V2.2.1\uff1a\u542f\u52a8\u524d\u518d\u5f3a\u5236\u540c\u6b65\u4e00\u6b21\uff0c\u786e\u4fdd\u53f0\u8bcd\u4eba\u683c\u4e0e\u6309\u94ae\u4e00\u81f4\r\n\t\tgsCloseExerciseModal();\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (typeof window.FCS_VisionEngine !== 'undefined' && typeof window.FCS_VisionDictionary !== 'undefined') {\r\n\t\t\t\tconst processor = window.FCS_VisionDictionary.getProcessor(slug);\r\n\t\t\t\tif (processor) {\r\n\t\t\t\t\twindow.FCS_VisionEngine.startSession(exId, slug, processor);\r\n\t\t\t\t} else {\r\n\t\t\t\t\talert('AI Coach module for this exercise is currently in development.');\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\talert('AI Engine is initializing or failed to load. Please refresh the page.');\r\n\t\t\t}\r\n\t\t}, 300);\r\n\t}\r\n\tfunction gsSyncToTracker(exId) {\r\n\t\tgsCloseExerciseModal();\r\n\t\tconst trackerSelect = document.getElementById('gs-exercise-select');\r\n\t\tconst analyticsSelect = document.getElementById('gs-dash-exercise-select');\r\n\t\tconst trackerContainer = document.querySelector('.gs-workout-logger-card');\r\n\t\tif(trackerSelect) {\r\n\t\t\ttrackerSelect.value = exId;\r\n\t\t\ttrackerSelect.dispatchEvent(new Event('change'));\r\n\t\t}\r\n\t\tif(analyticsSelect) {\r\n\t\t\tanalyticsSelect.value = exId;\r\n\t\t\tanalyticsSelect.dispatchEvent(new Event('change'));\r\n\t\t}\r\n\t\tif(trackerContainer) {\r\n\t\t\ttrackerContainer.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tconst weightInput = document.getElementById('gs-weight');\r\n\t\t\t\tif(weightInput) weightInput.focus();\r\n\t\t\t}, 600);\r\n\t\t} else {\r\n\t\t\talert('Please Log In or navigate to the Dashboard to add to your Core 20.');\r\n\t\t}\r\n\t}\r\n\t<\/script>\r\n\t<br \/>\n<p style=\"text-align:center;\">Please log in to track your 200+ FCS training.<\/p><br \/>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u2699\ufe0f AI Vision Privacy &#038; Security Guarantee Learn More \ud83d\udd12 100% On-Device &#038; Privacy-First The 200+ FCS Vision Engine operates strictly via Client-Side Edge Computing. Your camera feed is processed entirely inside your local browser in real-time. No video data, images, or camera streams are ever recorded, stored, or uploaded to our servers. \ud83d\udcca Tensors &#8230; <a title=\"My Training\" class=\"read-more\" href=\"https:\/\/gooart.space\/en\/my-training\/\" aria-label=\"Read more about My Training\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-6141","page","type-page","status-publish"],"acf":[],"_links":{"self":[{"href":"https:\/\/gooart.space\/en\/wp-json\/wp\/v2\/pages\/6141","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gooart.space\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gooart.space\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gooart.space\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gooart.space\/en\/wp-json\/wp\/v2\/comments?post=6141"}],"version-history":[{"count":4,"href":"https:\/\/gooart.space\/en\/wp-json\/wp\/v2\/pages\/6141\/revisions"}],"predecessor-version":[{"id":6768,"href":"https:\/\/gooart.space\/en\/wp-json\/wp\/v2\/pages\/6141\/revisions\/6768"}],"wp:attachment":[{"href":"https:\/\/gooart.space\/en\/wp-json\/wp\/v2\/media?parent=6141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}