{"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-05-21T23:16:14","modified_gmt":"2026-05-21T15:16:14","slug":"%e6%88%91%e7%9a%84%e8%ae%ad%e7%bb%83","status":"publish","type":"page","link":"https:\/\/gooart.space\/zh\/my-training\/","title":{"rendered":"\u6211\u7684\u57f9\u8bad"},"content":{"rendered":"<p>    <div class=\"gs-library-container\">\r\n        <div class=\"library-filters\">\r\n            <div class=\"filter-group search-group\" style=\"flex: 100%; min-width: 100%;\">\r\n                <i class=\"ph-light ph-magnifying-glass filter-icon\"><\/i>\r\n                <input type=\"text\" id=\"filter-search\" placeholder=\"Search 200+ Movements... (e.g. Jab, Sprawl)\" onkeyup=\"gsFilterExercises()\">\r\n            <\/div>\r\n            <div class=\"filter-group\">\r\n                <i class=\"ph-light ph-bookmark filter-icon\"><\/i>\r\n                <select id=\"filter-cat\" onchange=\"gsFilterExercises()\">\r\n                    <option value=\"all\">All Systems<\/option>\r\n                                            <option value=\"strength-conditioning\">Phase 1.1: Strength &amp; Conditioning<\/option>\r\n                                            <option value=\"footwork-movement\">Phase 1.2: Footwork &amp; Movement<\/option>\r\n                                            <option value=\"striking-upper-body\">Phase 2.1: Striking &amp; Upper Body<\/option>\r\n                                            <option value=\"kicking-knees\">Phase 2.2: Kicking &amp; Knees<\/option>\r\n                                            <option value=\"defense-control-survival\">Phase 2.3: Defense, Control &amp; Survival<\/option>\r\n                                            <option value=\"ground-movement\">Phase 2.4: Ground Movement<\/option>\r\n                                            <option value=\"fight-iq-concepts\">Phase 3: Fight IQ &amp; Concepts<\/option>\r\n                                    <\/select>\r\n            <\/div>\r\n            <div class=\"filter-group\">\r\n                <i class=\"ph-light ph-body filter-icon\"><\/i>\r\n                <select id=\"filter-muscle\" onchange=\"gsFilterExercises()\">\r\n                    <option value=\"all\">All Muscles<\/option>\r\n                                            <option value=\"full-body-integrated\">Full Body\/Integrated<\/option>\r\n                                            <option value=\"lower-stabilizer\">Lower Stabilizer<\/option>\r\n                                            <option value=\"rotational-core\">Rotational Core<\/option>\r\n                                    <\/select>\r\n            <\/div>\r\n            <div class=\"filter-group\">\r\n                <i class=\"ph-light ph-barbell filter-icon\"><\/i>\r\n                <select id=\"filter-eq\" onchange=\"gsFilterExercises()\">\r\n                    <option value=\"all\">All Equipment<\/option>\r\n                                            <option value=\"agility-ladder\">Agility Ladder<\/option>\r\n                                            <option value=\"bodyweight\">Bodyweight<\/option>\r\n                                            <option value=\"dumbbell\">Dumbbell<\/option>\r\n                                            <option value=\"flat-bench\">Flat Bench<\/option>\r\n                                            <option value=\"flat-wall\">Flat Wall<\/option>\r\n                                            <option value=\"kettlebell\">Kettlebell<\/option>\r\n                                            <option value=\"load-external\">Load-External<\/option>\r\n                                            <option value=\"medicine-ball\">Medicine Ball<\/option>\r\n                                            <option value=\"skipping-rope\">Skipping Rope<\/option>\r\n                                            <option value=\"spatial-helper\">Spatial-Helper<\/option>\r\n                                            <option value=\"speed-training-ball\">Speed Training Ball<\/option>\r\n                                            <option value=\"yoga-mat\">Yoga Mat<\/option>\r\n                                    <\/select>\r\n            <\/div>\r\n        <\/div>\r\n        <div class=\"library-grid\" id=\"gs-exercise-grid\">\r\n                            <a href=\"javascript:void(0)\" class=\"gs-ex-card\" \r\n                    data-cat=\"strength-conditioning\" \r\n                    data-muscle=\"full-body-integrated lower-stabilizer rotational-core\" \r\n                    data-eq=\"bodyweight\"\r\n\t\t\t\t   \t\t\t data-alias=\"shadowboxing\"\r\n\t\t\t\t   \t\t\t data-slug=\"shadowboxing\"  \r\n\t\t\t\t   \t\t\t onclick=\"gsOpenExerciseModal(6196, 'shadowboxing', true)\">\r\n\t\t\t\t\t\r\n                    <div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n                    <div class=\"ex-card-content\">\r\n                        <h5>Shadowboxing<\/h5>\r\n                        <div class=\"ex-card-tags\">\r\n                            <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>Full Body\/Integrated<\/span><span class=\"tag-eq\">Bodyweight<\/span>                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n                <\/a>\r\n                            <a href=\"javascript:void(0)\" class=\"gs-ex-card\" \r\n                    data-cat=\"strength-conditioning\" \r\n                    data-muscle=\"\" \r\n                    data-eq=\"bodyweight\"\r\n\t\t\t\t   \t\t\t data-alias=\"shadowkickboxing\"\r\n\t\t\t\t   \t\t\t data-slug=\"shadow-kickboxing\"  \r\n\t\t\t\t   \t\t\t onclick=\"gsOpenExerciseModal(6549, 'shadow-kickboxing', false)\">\r\n\t\t\t\t\t\r\n                    <div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n                    <div class=\"ex-card-content\">\r\n                        <h5>Shadow Kickboxing<\/h5>\r\n                        <div class=\"ex-card-tags\">\r\n                            <span class=\"tag-cat\">Phase 1.1: Strength &amp; Conditioning<\/span><span class=\"tag-eq\">Bodyweight<\/span>                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n                <\/a>\r\n                            <a href=\"javascript:void(0)\" class=\"gs-ex-card\" \r\n                    data-cat=\"strength-conditioning\" \r\n                    data-muscle=\"\" \r\n                    data-eq=\"agility-ladder\"\r\n\t\t\t\t   \t\t\t data-alias=\"ickeyshuffle\"\r\n\t\t\t\t   \t\t\t data-slug=\"ickey-shuffle\"  \r\n\t\t\t\t   \t\t\t onclick=\"gsOpenExerciseModal(6181, 'ickey-shuffle', true)\">\r\n\t\t\t\t\t\r\n                    <div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n                    <div class=\"ex-card-content\">\r\n                        <h5>Ickey Shuffle<\/h5>\r\n                        <div class=\"ex-card-tags\">\r\n                            <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>                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n                <\/a>\r\n                            <a href=\"javascript:void(0)\" class=\"gs-ex-card\" \r\n                    data-cat=\"strength-conditioning\" \r\n                    data-muscle=\"\" \r\n                    data-eq=\"skipping-rope\"\r\n\t\t\t\t   \t\t\t data-alias=\"doubleunders\"\r\n\t\t\t\t   \t\t\t data-slug=\"double-unders\"  \r\n\t\t\t\t   \t\t\t onclick=\"gsOpenExerciseModal(6186, 'double-unders', true)\">\r\n\t\t\t\t\t\r\n                    <div class=\"ex-card-icon\"><i class=\"ph-light ph-play-circle\"><\/i><\/div>\r\n                    <div class=\"ex-card-content\">\r\n                        <h5>Double Unders<\/h5>\r\n                        <div class=\"ex-card-tags\">\r\n                            <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>                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"ex-card-arrow\"><i class=\"ph-light ph-arrows-out-simple\"><\/i><\/div>\r\n                <\/a>\r\n                        <div id=\"no-results-msg\" style=\"display:none; text-align:center; padding: 30px 0; color:#888; grid-column: 1 \/ -1;\">\r\n                <i class=\"ph-light ph-warning-circle\" style=\"font-size:24px; margin-bottom:10px;\"><\/i><br>No movements found.\r\n            <\/div>\r\n                        <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                <i class=\"ph-light ph-lock-key\" style=\"font-size: 28px; color: #d35400; margin-bottom: 10px;\"><\/i>\r\n                <h4 style=\"margin:0 0 5px 0; color:#222; font-size:16px;\">180+ Advanced Movements Locked<\/h4>\r\n                <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                <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            <\/div>\r\n                    <\/div>\r\n    <\/div>\r\n    <div id=\"gs-exercise-modal\" class=\"gs-modal-overlay\" style=\"display:none;\">\r\n        <div class=\"gs-modal-box\">\r\n            <div class=\"gs-modal-header\">\r\n                <h4 id=\"gs-modal-title\">Loading...<\/h4>\r\n                <button class=\"gs-modal-close\" onclick=\"gsCloseExerciseModal()\"><i class=\"ph-light ph-x\"><\/i><\/button>\r\n            <\/div>\r\n            <div class=\"gs-modal-body\" id=\"gs-modal-content\">\r\n                <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            <\/div>\r\n            <div class=\"gs-modal-footer\">\r\n                <div class=\"fcs-persona-selector\" id=\"gs-persona-selector\" style=\"display:none;\">\r\n                    <span style=\"font-size: 11px; font-weight: 800; color: #888; margin-bottom: 8px; display: block; text-transform: uppercase; letter-spacing: 0.5px;\">Select Coach Mode:<\/span>\r\n                    <div style=\"display: flex; gap: 8px; margin-bottom: 12px;\">\r\n                        <button class=\"persona-btn active\" id=\"btn-persona-motivation\" onclick=\"gsSetPersona('motivation', this)\" style=\"flex: 1; padding: 10px; border: 2px solid #4CAF50; background: #e8f5e9; color: #2e7d32; border-radius: 10px; font-weight: 700; cursor: pointer; transition: 0.2s; font-size: 14px;\">\r\n                            \ud83d\udcaa Motivation\r\n                        <\/button>\r\n                        <button class=\"persona-btn\" id=\"btn-persona-combat\" onclick=\"gsSetPersona('combat', this)\" style=\"flex: 1; padding: 10px; border: 2px solid #e0e0e0; background: #fff; color: #888; border-radius: 10px; font-weight: 700; cursor: pointer; transition: 0.2s; font-size: 14px;\">\r\n                            \ud83e\udd4a Combat\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n                <button id=\"gs-btn-ai-vision\" class=\"btn-ai-vision\">Loading...<\/button>\r\n                <button id=\"gs-btn-track-sync\" class=\"btn-sync-track\">\r\n                    Add to Core 20 <i class=\"ph-light ph-arrow-down-right\"><\/i>\r\n                <\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <style>\r\n        .gs-library-container { max-width: 500px; margin: 0 auto 40px auto; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\r\n        .library-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }\r\n        .filter-group { position: relative; flex: 1; min-width: 130px; }\r\n        .filter-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #888; font-size: 18px; pointer-events: none; }\r\n        .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        .filter-group select { appearance: none; font-weight: 600; font-size: 13px; }\r\n        .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        .library-grid { display: flex; flex-direction: column; gap: 10px; }\r\n        .gs-ex-card { \r\n            display: 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            \/* [\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            content-visibility: auto; \r\n            contain-intrinsic-size: 70px; \r\n            will-change: transform;\r\n        }\r\n        .gs-ex-card:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(0,0,0,0.06); }\r\n        .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        .ex-card-content { flex-grow: 1; overflow: hidden; }\r\n        .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        .ex-card-tags { display: flex; gap: 6px; flex-wrap: wrap; }\r\n        .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        .ex-card-tags span.tag-eq { background: #f0f0f0; color: #555; }\r\n        .ex-card-tags span.tag-cat { background: #222; color: #fff; }\r\n        .ex-card-tags span.tag-ai { background: #5e35b1; color: #ffffff !important; }\r\n        .ex-card-tags span.tag-ai i { color: #ffffff !important; }\r\n        .ex-card-arrow { color: #ccc; font-size: 18px; }\r\n        .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        .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        @keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }\r\n        .gs-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 20px; border-bottom: 1px solid #f0f0f0; background: #fff; }\r\n        .gs-modal-header h4 { margin: 0; font-size: 18px; color: #1a1a1a; font-weight: 800; }\r\n        .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        .gs-modal-body { padding: 20px; overflow-y: auto; flex-grow: 1; background: #fafafa; }\r\n        .gs-modal-footer { padding: 15px 20px; background: #fff; border-top: 1px solid #f0f0f0; display: flex; flex-direction: column; gap: 10px; }\r\n        .btn-ai-vision { width: 100%; padding: 16px; background: #8B0000; color: #ffffff !important; border: none; border-radius: 12px; font-size: 16px; 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        .btn-ai-vision i { color: #ffffff !important; } \r\n        .btn-ai-vision:active { transform: scale(0.98); background: #660000; }\r\n        .btn-ai-vision:disabled, .btn-ai-vision.disabled { background: #e0e0e0; color: #9e9e9e !important; cursor: not-allowed; transform: none; box-shadow: none; }\r\n        .btn-ai-vision:disabled i, .btn-ai-vision.disabled i { color: #9e9e9e !important; } \r\n        .btn-sync-track { width: 100%; padding: 14px; background: #f5f5f5; color: #1a1a1a; border: none; border-radius: 12px; font-size: 15px; font-weight: 700; cursor: pointer; display: flex; justify-content: center; align-items: center; gap: 8px; transition: background 0.2s, transform 0.2s; }\r\n        .btn-sync-track:active { transform: scale(0.98); background: #e0e0e0; }\r\n        .exercise-video-wrapper { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 12px; margin-bottom: 20px; background: #000; }\r\n        .exercise-video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }\r\n        .exercise-tags-grid { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap;}\r\n        .gs-badge { padding: 4px 10px; border-radius: 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px;}\r\n        .badge-eq { background: #e0e0e0; color: #333; }\r\n        .badge-mu { background: rgba(139, 0, 0, 0.1); color: #8B0000; }\r\n        .badge-cat { background: #222; color: #fff; } \r\n        .badge-ai { background: #5e35b1; color: #ffffff !important; }\r\n        .badge-ai i { color: #ffffff !important; }\r\n        .coaching-cue-box { background: #fffdf5; border-left: 4px solid #f39c12; padding: 15px; margin-bottom: 20px; border-radius: 0 8px 8px 0; }\r\n        .coaching-cue-box h5 { margin: 0 0 5px 0; color: #d35400; font-size: 13px; text-transform: uppercase;}\r\n        .coaching-cue-box p { margin: 0; font-size: 14px; color: #444; font-weight: 500;}\r\n        .exercise-main-content { font-size: 14px; color: #555; line-height: 1.6; }\r\n        @media (max-width: 768px) {\r\n            .gs-modal-overlay { padding-bottom: calc(85px + env(safe-area-inset-bottom)) !important; overscroll-behavior-y: none !important; touch-action: none; }\r\n            .gs-modal-box { max-height: 80vh !important; border-radius: 20px !important; touch-action: pan-y; box-shadow: 0 -10px 30px rgba(0,0,0,0.3); }\r\n            .gs-modal-body { overscroll-behavior-y: contain !important; -webkit-overflow-scrolling: touch; }\r\n        }\r\n        html, body { overscroll-behavior-y: none !important; }\r\n    <\/style>\r\n    <script>\r\n    function gsFilterExercises() {\r\n    \/\/ \u83b7\u53d6\u641c\u7d22\u6846\u5185\u5bb9\uff08\u7edf\u4e00\u8f6c\u4e3a\u5c0f\u5199\uff09\r\n    const sq = document.getElementById('filter-search').value.toLowerCase();\r\n    const sc = document.getElementById('filter-cat').value;\r\n    const sm = document.getElementById('filter-muscle').value;\r\n    const se = document.getElementById('filter-eq').value;\r\n    let v = 0;\r\n\r\n    document.querySelectorAll('.gs-ex-card').forEach(card => {\r\n        const c = card.getAttribute('data-cat') || '';\r\n        const m = card.getAttribute('data-muscle') || '';\r\n        const e = card.getAttribute('data-eq') || '';\r\n        const slug = card.getAttribute('data-slug') ? card.getAttribute('data-slug').toLowerCase() : ''; \/\/ \u83b7\u53d6 slug\r\n        const title = card.querySelector('h5').innerText.toLowerCase();\r\n\r\n        \/\/ \u6838\u5fc3\u6539\u52a8\uff1a\u641c\u7d22\u5339\u914d\u903b\u8f91\r\n        \/\/ \u53ea\u8981\u6807\u9898\u5305\u542b\u641c\u7d22\u8bcd\uff0c\u6216\u8005 Slug \u5305\u542b\u641c\u7d22\u8bcd\uff0c\u5373\u4e3a\u5339\u914d\r\n        const matchesSearch = (sq === '' || title.includes(sq) || slug.includes(sq));\r\n\r\n        if(matchesSearch && (sc === 'all' || c.includes(sc)) && (sm === 'all' || m.includes(sm)) && (se === 'all' || e.includes(se))) {\r\n            card.style.display = 'flex'; \r\n            v++;\r\n        } else {\r\n            card.style.display = 'none';\r\n        }\r\n    });\r\n    document.getElementById('no-results-msg').style.display = (v === 0) ? 'block' : 'none';\r\n}\r\n    function gsSetPersona(mode, btnElement) {\r\n        const btns = document.querySelectorAll('.persona-btn');\r\n        btns.forEach(btn => {\r\n            btn.classList.remove('active');\r\n            btn.style.background = '#fff';\r\n            btn.style.color = '#888';\r\n            btn.style.borderColor = '#e0e0e0';\r\n        });\r\n        btnElement.classList.add('active');\r\n        if (mode === 'motivation') {\r\n            btnElement.style.background = '#e8f5e9';\r\n            btnElement.style.color = '#2e7d32';\r\n            btnElement.style.borderColor = '#4CAF50';\r\n        } else {\r\n            btnElement.style.background = '#ffebee';\r\n            btnElement.style.color = '#c62828';\r\n            btnElement.style.borderColor = '#e53935';\r\n        }\r\n        if (typeof window.FCS_VisionDictionary !== 'undefined') {\r\n            window.FCS_VisionDictionary.coach.setMode(mode);\r\n        }\r\n    }\r\n    function gsOpenExerciseModal(exId, exSlug, isAISupported) {\r\n        document.getElementById('gs-exercise-modal').style.display = 'flex';\r\n        document.body.style.overflow = 'hidden'; \r\n        document.getElementById('gs-btn-track-sync').setAttribute('onclick', `gsSyncToTracker(${exId})`);\r\n        const aiBtn = document.getElementById('gs-btn-ai-vision');\r\n        const personaSelector = document.getElementById('gs-persona-selector');\r\n        if (isAISupported) {\r\n            aiBtn.disabled = false;\r\n            aiBtn.className = 'btn-ai-vision';\r\n            aiBtn.innerHTML = 'Launch AI Vision <i class=\"ph-light ph-scan\"><\/i>';\r\n            aiBtn.setAttribute('onclick', `gsLaunchAIVision(${exId}, '${exSlug}')`);\r\n            personaSelector.style.display = 'block';\r\n        } else {\r\n            aiBtn.disabled = true;\r\n            aiBtn.className = 'btn-ai-vision disabled';\r\n            aiBtn.innerHTML = 'AI Vision Not Available <i class=\"ph-light ph-prohibit\"><\/i>';\r\n            aiBtn.removeAttribute('onclick');\r\n            personaSelector.style.display = 'none';\r\n        }\r\n        const data = new FormData();\r\n        data.append('action', 'gs_get_exercise_modal_data');\r\n        data.append('ex_id', exId);\r\n        fetch('https:\/\/gooart.space\/wp-admin\/admin-ajax.php', { method: 'POST', body: data })\r\n        .then(res => res.json())\r\n        .then(res => {\r\n            if(res.success) {\r\n                document.getElementById('gs-modal-title').innerText = res.data.title;\r\n                document.getElementById('gs-modal-content').innerHTML = res.data.html;\r\n            }\r\n        });\r\n    }\r\n    function gsCloseExerciseModal() {\r\n        document.getElementById('gs-exercise-modal').style.display = 'none';\r\n        document.body.style.overflow = 'auto';\r\n        document.getElementById('gs-modal-title').innerText = 'Loading...';\r\n        document.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    }\r\n    function gsLaunchAIVision(exId, slug) {\r\n        gsCloseExerciseModal();\r\n        setTimeout(() => {\r\n            if (typeof window.FCS_VisionEngine !== 'undefined' && typeof window.FCS_VisionDictionary !== 'undefined') {\r\n                const processor = window.FCS_VisionDictionary.getProcessor(slug);\r\n                if (processor) {\r\n                    window.FCS_VisionEngine.startSession(exId, slug, processor);\r\n                } else {\r\n                    alert('AI Coach module for this exercise is currently in development.');\r\n                }\r\n            } else {\r\n                alert('AI Engine is initializing or failed to load. Please refresh the page.');\r\n            }\r\n        }, 300);\r\n    }\r\n    function gsSyncToTracker(exId) {\r\n        gsCloseExerciseModal();\r\n        const trackerSelect = document.getElementById('gs-exercise-select');\r\n        const analyticsSelect = document.getElementById('gs-dash-exercise-select'); \r\n        const trackerContainer = document.querySelector('.gs-workout-logger-card');\r\n        if(trackerSelect) {\r\n            trackerSelect.value = exId;\r\n            trackerSelect.dispatchEvent(new Event('change')); \r\n        }\r\n        if(analyticsSelect) {\r\n            analyticsSelect.value = exId;\r\n            analyticsSelect.dispatchEvent(new Event('change')); \r\n        }\r\n        if(trackerContainer) {\r\n            trackerContainer.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n            setTimeout(() => {\r\n                const weightInput = document.getElementById('gs-weight');\r\n                if(weightInput) weightInput.focus();\r\n            }, 600);\r\n        } else {\r\n            alert('Please Log In or navigate to the Dashboard to add to your Core 20.');\r\n        }\r\n    }\r\n    <\/script>\r\n    <br \/>\n<p style=\"text-align:center;\">Please log in to track your 200+ FCS training.<\/p><br \/>\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","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\/zh\/wp-json\/wp\/v2\/pages\/6141","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gooart.space\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gooart.space\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gooart.space\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gooart.space\/zh\/wp-json\/wp\/v2\/comments?post=6141"}],"version-history":[{"count":4,"href":"https:\/\/gooart.space\/zh\/wp-json\/wp\/v2\/pages\/6141\/revisions"}],"predecessor-version":[{"id":6152,"href":"https:\/\/gooart.space\/zh\/wp-json\/wp\/v2\/pages\/6141\/revisions\/6152"}],"wp:attachment":[{"href":"https:\/\/gooart.space\/zh\/wp-json\/wp\/v2\/media?parent=6141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}