{"id":30302,"date":"2026-04-20T14:29:42","date_gmt":"2026-04-20T06:29:42","guid":{"rendered":"https:\/\/www.worldswim.net\/?page_id=30302"},"modified":"2026-04-20T18:37:58","modified_gmt":"2026-04-20T10:37:58","slug":"%e8%b6%b3%e7%90%83%e8%ae%ad%e7%bb%83%e7%b3%bb%e7%bb%9f%e6%b5%8b%e8%af%95","status":"publish","type":"page","link":"https:\/\/www.worldswim.net\/index.php\/%e8%b6%b3%e7%90%83%e8%ae%ad%e7%bb%83%e7%b3%bb%e7%bb%9f%e6%b5%8b%e8%af%95\/","title":{"rendered":"\u8db3\u7403\u8bad\u7ec3\u7cfb\u7edf\u6d4b\u8bd5"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\">\n    <title>\u9752\u8bad\u8db3\u7403\u8bad\u7ec3\u8ba1\u5212\u751f\u6210\u7cfb\u7edf | \u5b8c\u6574\u6559\u6848 \u00b7 \u5b89\u5168\u63d0\u793a \u00b7 \u8bad\u7ec3\u5efa\u8bae<\/title>\n    <style>\n        * { margin: 0; padding: 0; box-sizing: border-box; }\n        body {\n            font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;\n            background: #e2e8f0;\n            padding: 2rem 1rem;\n            display: flex;\n            justify-content: center;\n        }\n        .a4-container {\n            max-width: 210mm;\n            width: 100%;\n            background: white;\n            box-shadow: 0 10px 30px rgba(0,0,0,0.1);\n            margin: 0 auto;\n            border-radius: 4px;\n            overflow: hidden;\n        }\n        .config-section {\n            background: #f8fafc;\n            padding: 1.5rem;\n            border-bottom: 2px solid #cbd5e1;\n        }\n        .config-title {\n            font-size: 1.3rem;\n            font-weight: 700;\n            color: #0f172a;\n            margin-bottom: 1rem;\n        }\n        .form-grid {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n            gap: 1rem;\n        }\n        .form-group {\n            display: flex;\n            flex-direction: column;\n            gap: 0.3rem;\n        }\n        label {\n            font-size: 0.8rem;\n            font-weight: 600;\n            color: #334155;\n            text-transform: uppercase;\n        }\n        select, input {\n            padding: 0.5rem 0.75rem;\n            border: 1px solid #cbd5e1;\n            border-radius: 8px;\n            font-size: 0.9rem;\n            background: white;\n        }\n        .btn {\n            background: #1e293b;\n            color: white;\n            border: none;\n            padding: 0.6rem 1.2rem;\n            border-radius: 8px;\n            font-weight: 600;\n            cursor: pointer;\n            transition: 0.2s;\n            margin-top: 0.8rem;\n        }\n        .btn:hover { background: #0f172a; }\n        .plan-section {\n            padding: 1.8rem;\n            background: white;\n        }\n        .plan-header {\n            text-align: center;\n            margin-bottom: 1.5rem;\n            border-bottom: 2px solid #e2e8f0;\n            padding-bottom: 0.8rem;\n        }\n        .plan-title {\n            font-size: 1.6rem;\n            font-weight: 800;\n            color: #0f172a;\n        }\n        .plan-subtitle {\n            color: #475569;\n            font-size: 0.85rem;\n            margin-top: 0.3rem;\n        }\n        .plan-meta {\n            display: flex;\n            flex-wrap: wrap;\n            justify-content: center;\n            gap: 1rem;\n            margin: 1rem 0;\n            background: #f1f5f9;\n            padding: 0.6rem;\n            border-radius: 12px;\n        }\n        .meta-item {\n            background: white;\n            padding: 0.2rem 0.8rem;\n            border-radius: 20px;\n            font-size: 0.75rem;\n            font-weight: 600;\n            color: #1e293b;\n            box-shadow: 0 1px 2px rgba(0,0,0,0.05);\n        }\n        .session-card {\n            margin: 1.2rem 0;\n            page-break-inside: avoid;\n            border-left: 4px solid #3b82f6;\n            background: #fefefe;\n            border-radius: 12px;\n            box-shadow: 0 2px 6px rgba(0,0,0,0.05);\n            overflow: hidden;\n        }\n        .session-header {\n            background: #f8fafc;\n            padding: 0.8rem 1.2rem;\n            border-bottom: 1px solid #e2e8f0;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            flex-wrap: wrap;\n        }\n        .session-name {\n            font-weight: 800;\n            font-size: 1.1rem;\n            color: #0f172a;\n        }\n        .session-time {\n            background: #e2e8f0;\n            padding: 0.2rem 0.8rem;\n            border-radius: 20px;\n            font-size: 0.75rem;\n            font-weight: 600;\n        }\n        .session-body {\n            padding: 1rem 1.2rem;\n        }\n        .session-desc {\n            color: #334155;\n            line-height: 1.5;\n            margin-bottom: 0.8rem;\n        }\n        .tips-box {\n            background: #eff6ff;\n            padding: 0.8rem;\n            border-radius: 10px;\n            margin-top: 0.6rem;\n            border-left: 3px solid #3b82f6;\n        }\n        .tips-title {\n            font-weight: 700;\n            font-size: 0.8rem;\n            color: #1e40af;\n            margin-bottom: 0.3rem;\n        }\n        .tips-content {\n            font-size: 0.8rem;\n            color: #1e293b;\n            line-height: 1.4;\n        }\n        hr {\n            margin: 1rem 0;\n            border-color: #e2e8f0;\n        }\n        .safety-tip, .management-tip {\n            background: #fef9e3;\n            border-left: 4px solid #f59e0b;\n            padding: 0.8rem;\n            margin: 0.8rem 0;\n            font-size: 0.75rem;\n            color: #92400e;\n            border-radius: 8px;\n        }\n        .management-tip {\n            background: #e6f7ec;\n            border-left-color: #10b981;\n            color: #065f46;\n        }\n        @media print {\n            body { background: white; padding: 0; }\n            .config-section { display: none; }\n            .a4-container { box-shadow: none; max-width: 100%; }\n            .session-card { break-inside: avoid; }\n        }\n        @media (max-width: 600px) {\n            .form-grid { grid-template-columns: 1fr; }\n            .plan-section { padding: 1rem; }\n        }\n    <\/style>\n<\/head>\n<body>\n<div class=\"a4-container\">\n    <div class=\"config-section\">\n        <div class=\"config-title\">\u2699\ufe0f \u8bad\u7ec3\u53c2\u6570\u914d\u7f6e<\/div>\n        <div class=\"form-grid\">\n            <div class=\"form-group\"><label>\u5e74\u9f84 (5-18)<\/label><input type=\"number\" id=\"age\" value=\"12\" min=\"5\" max=\"18\"><\/div>\n            <div class=\"form-group\"><label>\u6027\u522b<\/label><select id=\"gender\"><option>\u7537\u5b50<\/option><option>\u5973\u5b50<\/option><option>\u6df7\u5408<\/option><\/select><\/div>\n            <div class=\"form-group\"><label>\u4e0a\u8bfe\u4eba\u6570<\/label><input type=\"number\" id=\"players\" value=\"14\" min=\"4\" max=\"30\"><\/div>\n            <div class=\"form-group\"><label>\u8bad\u7ec3\u65f6\u957f(\u5206\u949f)<\/label><input type=\"number\" id=\"duration\" value=\"75\" min=\"30\" max=\"120\" step=\"5\"><\/div>\n            <div class=\"form-group\"><label>\u8bad\u7ec3\u8bfe\u76ee\u6807<\/label><select id=\"objectiveCat\"><\/select><\/div>\n            <div class=\"form-group\"><label>\u5de5\u4f5c\u91cd\u70b9<\/label><select id=\"objectiveItem\"><\/select><\/div>\n            <div class=\"form-group\"><label>\u57fa\u7840\u80fd\u529b<\/label><select id=\"drillItem\"><\/select><\/div>\n            <div class=\"form-group\"><label>\u6280\u6218\u672f\u5b89\u6392<\/label><select id=\"tacticItem\"><\/select><\/div>\n            <div class=\"form-group\"><label>\u8bad\u7ec3\u5f3a\u5ea6<\/label><select id=\"intensity\"><option>\u5eb7\u590d\u8bad\u7ec3<\/option><option>\u4e2d\u7b49\u5f3a\u5ea6<\/option><option>\u9ad8\u5f3a\u5ea6<\/option><option>\u95f4\u6b47\u9ad8\u5f3a\u5ea6<\/option><\/select><\/div>\n            <div class=\"form-group\"><button class=\"btn\" id=\"generateBtn\">\u751f\u6210\u8bad\u7ec3\u8ba1\u5212<\/button><\/div>\n        <\/div>\n    <\/div>\n    <div class=\"plan-section\">\n        <div class=\"plan-header\">\n            <div class=\"plan-title\">\u9752\u8bad\u8db3\u7403\u8bad\u7ec3\u8ba1\u5212<\/div>\n            <div class=\"plan-subtitle\">\u57fa\u4e8e\u9752\u8bad\u4f53\u7cfb \u00b7 \u4e13\u9879\u80fd\u529b\u7ec3\u4e60\u53c2\u8003<\/div>\n        <\/div>\n        <div id=\"planContent\"><\/div>\n    <\/div>\n<\/div>\n\n<script>\n    (function(){\n        \/\/ ======================= \u6570\u636e\u5b9a\u4e49 =======================\n        const objectiveData = {\n            \"\u63a7\u7403\u4e0e\u7ec4\u7ec7\": {\n                \"\u63a7\u7403\": \"\u53d7\u538b\u73af\u5883\u4e0b\u4fdd\u6301\u7403\u6743\uff0c\u7b2c\u4e00\u89e6\u7403\u8d28\u91cf\",\n                \"\u4f20\u63a7\": \"\u77ed\u4f20\u914d\u5408\u63a7\u5236\u8282\u594f\uff0c\u5efa\u7acb\u4e09\u89d2\u652f\u63f4\",\n                \"\u540e\u573a\u7ec4\u7ec7\": \"\u95e8\u5c06+\u540e\u536b\u7ebf\u7834\u89e3\u9ad8\u4f4d\u538b\u8feb\",\n                \"\u4e2d\u573a\u63a8\u8fdb\": \"\u7b2c\u4e09\u4eba\u8dd1\u4f4d\u4e0e\u5899\u5f0f\u914d\u5408\u7a81\u7834\u4e2d\u573a\",\n                \"\u7834\u5bc6\u96c6\u9632\u5b88\": \"\u5bbd\u5ea6\u62c9\u626f\u4e0e\u4ea4\u53c9\u6362\u4f4d\u521b\u9020\u7a7a\u95f4\",\n                \"\u8282\u594f\u63a7\u5236\": \"\u5feb\u6162\u8f6c\u6362\u4e0e\u5ef6\u7f13\/\u52a0\u901f\u65f6\u673a\"\n            },\n            \"\u8fdb\u653b\u4e0e\u7ec8\u7ed3\": {\n                \"\u7ec8\u7ed3\": \"\u5c04\u95e8\u7cbe\u5ea6\u4e0e\u529b\u91cf\uff08\u8fd0\u52a8\u6218\/\u5b9a\u4f4d\u7403\/1v1\uff09\",\n                \"\u8fb9\u8def\u8fdb\u653b\": \"\u8fb9\u950b\u7a81\u7834\u3001\u5957\u8fb9\u63d2\u4e0a\u3001\u4e0b\u5e95\u4f20\u4e2d\",\n                \"\u4e2d\u8def\u6e17\u900f\": \"\u76f4\u585e\u7403\u3001\u649e\u5899\u914d\u5408\u3001\u524d\u8170\u7a7f\u63d2\",\n                \"\u5feb\u901f\u53cd\u51fb\": \"\u7531\u5b88\u8f6c\u653b\u7eb5\u5411\u7a7a\u95f4\u5229\u7528\",\n                \"\u5b9a\u4f4d\u7403\u8fdb\u653b\": \"\u89d2\u7403\/\u4efb\u610f\u7403\/\u754c\u5916\u7403\u6218\u672f\u8bbe\u8ba1\",\n                \"\u4ea4\u53c9\u6362\u4f4d\": \"\u4f4d\u7f6e\u4e92\u6362\u6253\u4e71\u76ef\u4eba\u4f53\u7cfb\",\n                \"\u7b2c\u4e09\u4eba\u63d2\u4e0a\": \"\u5899\u5f0f\u914d\u5408\u540e\u7b2c\u4e09\u540d\u7403\u5458\u65f6\u673a\u628a\u63e1\"\n            },\n            \"\u9632\u5b88\u4e0e\u538b\u8feb\": {\n                \"\u9632\u5b88\": \"\u79fb\u52a8\u6b65\u4f10\u3001\u62a2\u7403\u3001\u65ad\u7403\u3001\u5c01\u5835\u6280\u672f\",\n                \"\u9ad8\u4f4d\u538b\u8feb\": \"\u524d\u573a\u4e09\u533a\u6574\u4f53\u538b\u8feb\uff0c\u5265\u593a\u6301\u7403\u4eba\u65f6\u95f4\",\n                \"\u4e2d\u573a\u62e6\u622a\": \"\u5efa\u7acb\u4e2d\u573a\u5c4f\u969c\uff0c\u5207\u65ad\u5411\u524d\u4f20\u7403\",\n                \"\u6df1\u5ea6\u9632\u5b88\": \"\u4f4e\u4f4d\u9632\u5b88\u7ec4\u7ec7\uff0c\u9632\u7ebf\u7d27\u51d1\u4fdd\u62a4\u7403\u95e8\",\n                \"\u7531\u653b\u8f6c\u5b88\": \"\u4e22\u7403\u540e\u7acb\u5373\u53cd\u62a2\uff08Counter-Press\uff09\",\n                \"\u5b9a\u4f4d\u7403\u9632\u5b88\": \"\u4eba\u5899\u7ec4\u7ec7\u3001\u76ef\u4eba\u5206\u5de5\u3001\u7a7a\u95f4\u63a7\u5236\",\n                \"1\u5bf91\u9632\u5b88\": \"\u6b63\u9762\/\u4fa7\u9762\/\u80cc\u540e\u9632\u5b88\u4e0e\u9a71\u8d76\u65b9\u5411\"\n            },\n            \"\u8f6c\u6362\u4e0e\u8fc7\u6e21\": {\n                \"\u653b\u5b88\u8f6c\u6362\": \"\u56db\u4e2a\u6bd4\u8d5b\u65f6\u523b\u5feb\u901f\u5207\u6362\",\n                \"\u7acb\u5373\u538b\u8feb\": \"\u4e22\u7403\u540e5\u79d2\u5185\u538b\u8feb\u5229\u7528\u5bf9\u624b\u6df7\u4e71\",\n                \"\u5feb\u901f\u56de\u9632\": \"\u56de\u64a4\u5f62\u6210\u4eba\u6570\u4f18\u52bf\u4e0e\u9632\u7ebf\u7d27\u51d1\",\n                \"\u7eb5\u5411\u63a8\u8fdb\": \"\u5f97\u7403\u540e\u7b2c\u4e00\u65f6\u95f4\u5411\u524d\u4f20\u7403\/\u8fd0\u7403\"\n            },\n            \"\u8eab\u4f53\u7d20\u8d28\": {\n                \"\u901f\u5ea6\": \"\u65e0\u7403\/\u6709\u7403\/\u53cd\u5e94\/\u51b3\u7b56\u901f\u5ea6\u7efc\u5408\",\n                \"\u7075\u654f\u534f\u8c03\": \"\u53d8\u5411\u3001\u5e73\u8861\u3001\u8282\u594f\u611f\u3001\u7a7a\u95f4\u611f\u77e5\",\n                \"\u6838\u5fc3\u529b\u91cf\": \"\u8eaf\u5e72\u7a33\u5b9a\u6027\u3001\u5bf9\u6297\u3001\u4e89\u9876\u3001\u62a4\u7403\",\n                \"\u8010\u529b\": \"\u6709\u6c27\u4e0e\u65e0\u6c27\u8010\u529b\u4fdd\u8bc1\u672b\u6bb5\u8d28\u91cf\",\n                \"\u7206\u53d1\u529b\": \"\u77ed\u51b2\u3001\u8d77\u8df3\u3001\u542f\u52a8\u4e0e\u6025\u505c\u5236\u52a8\"\n            },\n            \"\u5fc3\u667a\u4e0e\u793e\u4ea4\": {\n                \"\u51b3\u7b56\u80fd\u529b\": \"\u9ad8\u538b\u4e0b\u6b63\u786e\u6280\u672f\u4e0e\u6218\u672f\u9009\u62e9\",\n                \"\u89c2\u5bdf\u626b\u63cf\": \"\u63a5\u7403\u524d360\u5ea6\u89c2\u5bdf\uff08Scanning\uff09\",\n                \"\u6c9f\u901a\u534f\u4f5c\": \"\u8bed\u8a00\/\u624b\u52bf\u6c9f\u901a\u4e0e\u56e2\u961f\u51dd\u805a\u529b\",\n                \"\u6297\u538b\u80fd\u529b\": \"\u75b2\u52b3\/\u843d\u540e\/\u5931\u8bef\u540e\u60c5\u7eea\u8c03\u63a7\",\n                \"\u521b\u9020\u529b\": \"\u975e\u5e38\u89c4\u6280\u672f\u4e0e\u6218\u672f\u5373\u5174\u53d1\u6325\"\n            }\n        };\n\n        const drillData = {\n            \"\u6280\u672f\u7ec3\u4e60\": [\"\u7403\u611f\u7ec3\u4e60\",\"\u4f20\u63a5\u7403\",\"\u8fd0\u63a7\u7403\",\"\u5c04\u95e8\",\"\u5934\u9876\u7403\",\"1\u5bf91\u7a81\u7834\"],\n            \"\u5c0f\u7ec4\u6218\u672f\u7ec3\u4e60\": [\"2\u5bf91\",\"2\u5bf92\",\"3\u5bf92\",\"3\u5bf93\",\"\u5899\u5f0f\u914d\u5408\",\"\u4e8c\u8fc7\u4e00\",\"\u4ea4\u53c9\u63a9\u62a4\"],\n            \"\u6574\u4f53\u6218\u672f\u7ec3\u4e60\": [\"Rondo\u62a2\u5708\",\"\u5c0f\u573a\u5730\u6bd4\u8d5b\",\"\u4f4d\u7f6e\u6e38\u620f\",\"\u653b\u9632\u8f6c\u6362\",\"\u5b9a\u5411\u6bd4\u8d5b\",\"\u5168\u573a\u5bf9\u6297\"],\n            \"\u4e13\u9879\u529f\u80fd\u7ec3\u4e60\": [\"\u53cd\u51fb\u8bad\u7ec3\",\"\u4f4d\u7f6e\u8f6e\u6362\",\"\u8fb9\u8def\u4f20\u4e2d\",\"\u540e\u573a\u51fa\u7403\",\"\u524d\u573a\u538b\u8feb\",\"\u5b9a\u4f4d\u7403\"],\n            \"\u8eab\u4f53\u4e0e\u5fc3\u7406\u7ec3\u4e60\": [\"\u901f\u5ea6\u7075\u654f\",\"\u6838\u5fc3\u529b\u91cf\",\"\u534f\u8c03\u6027\",\"\u51b3\u7b56\u6e38\u620f\",\"\u626b\u63cf\u7ec3\u4e60\"]\n        };\n        const drillTips = {\n            \"\u7403\u611f\u7ec3\u4e60\": \"\u6bcf\u4eba\u4e00\u7403\uff0c\u539f\u5730\u8e29\u7403\u3001\u62c9\u7403\u3001\u62e8\u7403\u3001\u811a\u5e95\u62c9\u7403\u8f6c\u8eab\uff0c\u8fdb\u9636\u53ef\u52a0\u5165\u79fb\u52a8\u4e2d\u5b8c\u6210\u3002\",\n            \"\u4f20\u63a5\u7403\": \"2-3\u4eba\u4e00\u7ec4\uff0c5-10\u7c73\u8ddd\u79bb\uff0c\u77ed\u4f20\u3001\u957f\u4f20\u3001\u4e00\u811a\u4f20\u7403\u3002\u5f3a\u8c03\u652f\u6491\u811a\u4f4d\u7f6e\u3002\",\n            \"\u8fd0\u63a7\u7403\": \"\u8bbe\u7f6e\u6807\u5fd7\u6746\uff0c\u66f2\u7ebf\u8fd0\u7403\u3001\u6025\u505c\u53d8\u5411\u3001\u5047\u52a8\u4f5c\u8fc7\u4eba\u3002\u8981\u6c42\u62ac\u5934\u89c2\u5bdf\u3002\",\n            \"\u5c04\u95e8\": \"\u5b9a\u70b9\u5c04\u95e8\u3001\u8fd0\u52a8\u4e2d\u63a5\u7403\u5c04\u95e8\u30011v1\u5bf9\u6297\u5c04\u95e8\u3002\u5f3a\u8c03\u5c04\u95e8\u59ff\u52bf\u548c\u968f\u7403\u52a8\u4f5c\u3002\",\n            \"\u5934\u9876\u7403\": \"\u539f\u5730\u9876\u7403\u3001\u8df3\u8d77\u9876\u7403\u3001\u79fb\u52a8\u4e2d\u4e89\u9876\u3002\u6ce8\u610f\u9888\u90e8\u7d27\u5f20\u3001\u7528\u524d\u989d\u89e6\u7403\u3002\",\n            \"1\u5bf91\u7a81\u7834\": \"\u8bbe\u7acb\u4e24\u4e2a\u5c0f\u7403\u95e8\uff0c\u8fdb\u653b\u65b9\u6301\u7403\u7a81\u7834\u9632\u5b88\u540e\u5c04\u95e8\uff0c\u9632\u5b88\u65b9\u62a2\u65ad\u540e\u8f6c\u6362\u3002\",\n            \"2\u5bf91\": \"\u8fdb\u653b2\u4eba\u901a\u8fc7\u914d\u5408\u7a81\u78341\u540d\u9632\u5b88\uff0c\u4f20\u7403\u65f6\u673a\u4e0e\u8dd1\u4f4d\u3002\",\n            \"2\u5bf92\": \"\u5e73\u8861\u5bf9\u6297\uff0c\u653b\u9632\u51b3\u7b56\uff0c\u534f\u9632\u4e0e\u8f6e\u8f6c\u3002\",\n            \"3\u5bf92\": \"\u4eba\u6570\u4f18\u52bf\uff0c\u5feb\u901f\u4f20\u5bfc\uff0c\u7b2c\u4e09\u4eba\u8dd1\u4f4d\u63d2\u4e0a\u3002\",\n            \"3\u5bf93\": \"\u6807\u51c6\u5c0f\u7ec4\u5bf9\u6297\uff0c\u653b\u5b88\u8f6c\u6362\uff0c\u5c40\u90e8\u914d\u5408\u3002\",\n            \"\u5899\u5f0f\u914d\u5408\": \"\u4e24\u4eba\u4e00\u7ec4\uff0c\u4e00\u4eba\u505a\u5899\uff0c\u4e00\u811a\u56de\u4f20\uff0c\u7b2c\u4e09\u4eba\u63a5\u5e94\u3002\",\n            \"\u4e8c\u8fc7\u4e00\": \"\u659c\u4f20\u76f4\u63d2\u3001\u76f4\u4f20\u659c\u63d2\u3001\u8e22\u5899\u5f0f\u56de\u4f20\u53cd\u5207\u3002\",\n            \"\u4ea4\u53c9\u63a9\u62a4\": \"\u4e24\u4eba\u4ea4\u53c9\u8dd1\u52a8\u4e92\u6362\u4f4d\u7f6e\uff0c\u5e26\u8d70\u9632\u5b88\u4eba\u3002\",\n            \"Rondo\u62a2\u5708\": \"4v1\/5v2\u56f4\u5708\u62a2\u7403\uff0c\u4e2d\u95f4\u9632\u5b88\u538b\u8feb\u3002\u5916\u56f4\u4e24\u811a\u51fa\u7403\uff0c\u5f3a\u8c03\u5feb\u901f\u51b3\u7b56\u3002\",\n            \"\u5c0f\u573a\u5730\u6bd4\u8d5b\": \"3v3\u81f37v7\uff0c\u8bbe\u7f6e\u7279\u5b9a\u89c4\u5219\uff08\u5982\u5fc5\u987b\u5b8c\u62105\u6b21\u4f20\u7403\u624d\u80fd\u5f97\u5206\uff09\u3002\",\n            \"\u4f4d\u7f6e\u6e38\u620f\": \"\u534a\u573a\u56fa\u5b9a\u4f4d\u7f6e\u804c\u8d23\uff0c\u5f3a\u8c03\u9635\u578b\u4fdd\u6301\u548c\u8f6e\u8f6c\u6362\u4f4d\u3002\",\n            \"\u653b\u9632\u8f6c\u6362\": \"\u8bbe\u7f6e\u8f6c\u6362\u6761\u4ef6\uff08\u5982\u65ad\u7403\u540e5\u79d2\u5185\u5fc5\u987b\u5c04\u95e8\uff09\u3002\",\n            \"\u5b9a\u5411\u6bd4\u8d5b\": \"\u89c4\u5b9a\u8fdb\u653b\u65b9\u5411\uff0c\u5f3a\u5236\u8fb9\u8def\u6216\u4e2d\u8def\u63a8\u8fdb\u3002\",\n            \"\u5168\u573a\u5bf9\u6297\": \"\u6807\u51c611\u4eba\u5236\u6216\u7f29\u5c0f\u573a\u5730\uff0c\u68c0\u9a8c\u8bad\u7ec3\u6210\u679c\u3002\",\n            \"\u53cd\u51fb\u8bad\u7ec3\": \"\u9632\u5b88\u65b9\u65ad\u7403\u540e\u5feb\u901f\u7eb5\u5411\u4f20\u7403\uff0c3-4\u4eba\u524d\u63d2\u3002\",\n            \"\u4f4d\u7f6e\u8f6e\u6362\": \"\u6309\u4fe1\u53f7\u6216\u65f6\u95f4\u8f6e\u6362\u4f4d\u7f6e\uff0c\u57f9\u517b\u591a\u4f4d\u7f6e\u9002\u5e94\u3002\",\n            \"\u8fb9\u8def\u4f20\u4e2d\": \"\u8fb9\u950b\u7a81\u7834\u540e\u4f20\u4e2d\uff0c\u4e2d\u8def\u591a\u70b9\u5305\u6284\u3002\",\n            \"\u540e\u573a\u51fa\u7403\": \"\u540e\u536b+\u95e8\u5c06\u7ec4\u7ec7\uff0c\u7834\u89e3\u9ad8\u4f4d\u538b\u8feb\u3002\",\n            \"\u524d\u573a\u538b\u8feb\": \"\u524d\u950b\u7ebf\u96c6\u4f53\u538b\u8feb\uff0c\u5c01\u9501\u4f20\u7403\u7ebf\u8def\u3002\",\n            \"\u5b9a\u4f4d\u7403\": \"\u89d2\u7403\/\u4efb\u610f\u7403\u653b\u9632\u6f14\u7ec3\uff0c\u6218\u672f\u8bbe\u8ba1\u3002\",\n            \"\u901f\u5ea6\u7075\u654f\": \"\u51b2\u523a\u8dd1\u3001\u6298\u8fd4\u8dd1\u3001\u7ef3\u68af\u3001\u53cd\u5e94\u706f\u8bad\u7ec3\u3002\",\n            \"\u6838\u5fc3\u529b\u91cf\": \"\u5e73\u677f\u652f\u6491\u3001\u4fc4\u7f57\u65af\u8f6c\u4f53\u3001\u6297\u963b\u8bad\u7ec3\u3002\",\n            \"\u534f\u8c03\u6027\": \"\u7ef3\u68af\u6b65\u4f10\u3001\u8de8\u680f\u3001\u5e73\u8861\u7403\u7ec3\u4e60\u3002\",\n            \"\u51b3\u7b56\u6e38\u620f\": \"\u9650\u5236\u89e6\u7403\u6b21\u6570\u6216\u65f6\u95f4\uff0c\u9ad8\u538b\u4e0b\u51b3\u7b56\u3002\",\n            \"\u626b\u63cf\u7ec3\u4e60\": \"\u63a5\u7403\u524d\u5f3a\u5236\u8f6c\u5934360\u5ea6\u89c2\u5bdf\uff0c\u7136\u540e\u4f20\u7403\u3002\"\n        };\n\n        const tacticData = {\n            \"\u63a7\u7403\u9636\u6bb5\": [\"\u540e\u573a\u7ec4\u7ec7\",\"\u540e\u573a\u957f\u4f20\",\"\u4e2d\u573a\u63a7\u5236\",\"\u8fb9\u8def\u8fdb\u653b\",\"\u4e2d\u8def\u6e17\u900f\",\"\u5feb\u901f\u63a8\u8fdb\",\"\u63a7\u7403\u6d88\u8017\",\"\u5782\u76f4\u8fdb\u653b\"],\n            \"\u65e0\u7403\u9636\u6bb5\": [\"\u9ad8\u4f4d\u538b\u8feb\",\"\u4e2d\u573a\u538b\u8feb\",\"\u4f4e\u4f4d\u9632\u5b88\",\"\u4eba\u76ef\u4eba\",\"\u533a\u57df\u9632\u5b88\",\"\u6df7\u5408\u9632\u5b88\",\"\u9632\u7ebf\u63a7\u5236\"],\n            \"\u8f6c\u6362\u9636\u6bb5\": [\"\u7acb\u5373\u53cd\u62a2\",\"\u5feb\u901f\u56de\u9632\",\"\u5feb\u901f\u53cd\u51fb\",\"\u63a7\u5236\u8f6c\u6362\",\"\u8fb9\u8def\u8f6c\u6362\",\"\u4e2d\u8def\u8f6c\u6362\"],\n            \"\u5b9a\u4f4d\u7403\u9636\u6bb5\": [\"\u89d2\u7403\u8fdb\u653b\",\"\u89d2\u7403\u9632\u5b88\",\"\u4efb\u610f\u7403\u8fdb\u653b\",\"\u4efb\u610f\u7403\u9632\u5b88\",\"\u754c\u5916\u7403\u6218\u672f\",\"\u70b9\u7403\u8bad\u7ec3\"],\n            \"\u9635\u578b\u4f53\u7cfb\": [\"4-3-3\",\"4-2-3-1\",\"4-4-2\",\"3-5-2\",\"3-4-3\",\"5-4-1\"]\n        };\n        const tacticTips = {\n            \"\u540e\u573a\u7ec4\u7ec7\": \"\u95e8\u5c06\u53c2\u4e0e\u77ed\u4f20\uff0c\u4e2d\u536b\u62c9\u5f00\u5bbd\u5ea6\uff0c\u540e\u8170\u56de\u64a4\u63a5\u5e94\uff0c\u7834\u89e3\u9ad8\u4f4d\u538b\u8feb\u3002\",\n            \"\u9ad8\u4f4d\u538b\u8feb\": \"\u524d\u950b\u7ebf\u6574\u4f53\u538b\u8feb\uff0c\u8fb9\u950b\u5185\u6536\u5c01\u9501\u4e2d\u8def\uff0c\u4e22\u7403\u540e6\u79d2\u53cd\u62a2\u3002\",\n            \"\u5feb\u901f\u53cd\u51fb\": \"\u5f97\u7403\u540e\u7b2c\u4e00\u65f6\u95f4\u5411\u524d\u4f20\u7403\uff0c\u8fb9\u950b\u524d\u63d2\uff0c\u4e2d\u573a\u5feb\u901f\u652f\u63f4\u3002\",\n            \"4-3-3\": \"\u5355\u540e\u8170+\u53cc\u4e2d\u524d\u536b+\u4e09\u524d\u950b\uff0c\u5229\u7528\u5bbd\u5ea6\uff0c\u8fb9\u8def\u8fdb\u653b\u4e3a\u4e3b\u3002\",\n            \"4-2-3-1\": \"\u53cc\u540e\u8170\u4fdd\u62a4\u9632\u7ebf\uff0c\u524d\u8170\u7ec4\u7ec7\uff0c\u8fb9\u524d\u536b\u5185\u5207\u6216\u4f20\u4e2d\u3002\"\n        };\n        function getTacticTip(tactic) { return tacticTips[tactic] || \"\u6839\u636e\u6218\u672f\u8981\u6c42\uff0c\u5728\u8bad\u7ec3\u4e2d\u5f3a\u8c03\u4f4d\u7f6e\u804c\u8d23\u4e0e\u56e2\u961f\u534f\u4f5c\u3002\"; }\n\n        \/\/ ======================= \u5b89\u5168\u63d0\u793a\u5e93 =======================\n        const safetyTips = [\n            \"\u8bad\u7ec3\u524d\u5fc5\u987b\u8fdb\u884c\u81f3\u5c1110\u5206\u949f\u52a8\u6001\u70ed\u8eab\uff0c\u63d0\u5347\u808c\u8089\u6e29\u5ea6\u3002\",\n            \"\u8865\u6c34\u539f\u5219\uff1a\u6bcf15-20\u5206\u949f\u8865\u5145150-200ml\u6c34\u5206\uff0c\u5c11\u91cf\u591a\u6b21\u3002\",\n            \"\u9634\u96e8\u5929\u6ce8\u610f\u573a\u5730\u6e7f\u6ed1\uff0c\u9002\u5f53\u51cf\u5c11\u53d8\u5411\u51b2\u523a\u8bad\u7ec3\u3002\",\n            \"\u9ad8\u6e29\u5929\u6c14\u589e\u52a0\u996e\u6c34\u6b21\u6570\uff0c\u5b89\u6392\u9634\u51c9\u5904\u4f11\u606f\u3002\",\n            \"\u4f4e\u6e29\u5929\u6c14\u5ef6\u957f\u70ed\u8eab\u65f6\u95f4\uff0c\u6ce8\u610f\u4fdd\u6696\uff0c\u9632\u6b62\u808c\u8089\u62c9\u4f24\u3002\",\n            \"\u8bad\u7ec3\u540e\u9759\u6001\u62c9\u4f38\u81f3\u5c115\u5206\u949f\uff0c\u91cd\u70b9\u5173\u6ce8\u5927\u817f\u524d\u540e\u4fa7\u3002\",\n            \"\u4f7f\u7528\u6807\u5fd7\u7269\u65f6\u786e\u4fdd\u56fa\u5b9a\u7262\u56fa\uff0c\u907f\u514d\u7eca\u5012\u98ce\u9669\u3002\",\n            \"\u5bf9\u6297\u7ec3\u4e60\u65f6\u4f69\u6234\u62a4\u817f\u677f\uff0c\u517b\u6210\u81ea\u6211\u4fdd\u62a4\u4e60\u60ef\u3002\",\n            \"\u5934\u7403\u7ec3\u4e60\u63a7\u5236\u6b21\u6570\uff0cU12\u4ee5\u4e0b\u5efa\u8bae\u51cf\u5c11\u5934\u7403\u3002\",\n            \"\u6bcf\u6b21\u8bad\u7ec3\u524d\u68c0\u67e5\u573a\u5730\u662f\u5426\u6709\u5f02\u7269\u6216\u5751\u6d3c\u3002\",\n            \"\u9ad8\u5f3a\u5ea6\u8bad\u7ec3\u540e\u5b89\u639210\u5206\u949f\u6162\u8dd1\u653e\u677e\uff0c\u907f\u514d\u9aa4\u505c\u3002\",\n            \"\u6559\u7ec3\u5e94\u638c\u63e1\u57fa\u672c\u6025\u6551\u77e5\u8bc6\uff0c\u73b0\u573a\u914d\u5907\u6025\u6551\u5305\u3002\",\n            \"\u96f7\u96e8\u5929\u6c14\u7acb\u5373\u505c\u6b62\u8bad\u7ec3\uff0c\u64a4\u79bb\u5230\u5ba4\u5185\u3002\",\n            \"\u7403\u5458\u6709\u4f24\u75c5\u6216\u4e0d\u9002\u65f6\uff0c\u7981\u6b62\u5f3a\u884c\u53c2\u4e0e\u5bf9\u6297\u3002\",\n            \"\u6bcf\u5468\u81f3\u5c11\u5b89\u6392\u4e00\u6b21\u6062\u590d\u6027\u8bad\u7ec3\uff08\u4f4e\u5f3a\u5ea6\u6280\u672f\uff09\u3002\",\n            \"\u6ce8\u610f\u76d1\u63a7\u7403\u5458\u5fc3\u7387\uff0c\u9ad8\u5f3a\u5ea6\u540e\u5fc3\u7387\u5e94\u964d\u81f3120\u4ee5\u4e0b\u518d\u7ee7\u7eed\u3002\",\n            \"\u8bad\u7ec3\u5f3a\u5ea6\u5e94\u5faa\u5e8f\u6e10\u8fdb\uff0c\u907f\u514d\u7a81\u7136\u589e\u52a0\u8d1f\u8377\u3002\",\n            \"\u9f13\u52b1\u7403\u5458\u7761\u7720\u5145\u8db3\uff0c\u9752\u5c11\u5e74\u6bcf\u5929\u81f3\u5c118\u5c0f\u65f6\u3002\",\n            \"\u8425\u517b\u8865\u5145\uff1a\u8bad\u7ec3\u540e30\u5206\u949f\u5185\u8865\u5145\u86cb\u767d\u8d28+\u78b3\u6c34\u3002\",\n            \"\u8bad\u7ec3\u4e2d\u7981\u6b62\u5371\u9669\u52a8\u4f5c\uff08\u5982\u80cc\u540e\u94f2\u7403\u3001\u62ac\u811a\u8fc7\u9ad8\uff09\u3002\",\n            \"\u5206\u7ec4\u5bf9\u6297\u65f6\u4fdd\u6301\u961f\u5f62\u7d27\u51d1\uff0c\u907f\u514d\u7403\u5458\u8fc7\u5ea6\u5206\u6563\u3002\",\n            \"\u5c04\u95e8\u8bad\u7ec3\u65f6\uff0c\u672a\u8f6e\u5230\u7684\u7403\u5458\u7ad9\u5728\u5b89\u5168\u533a\u57df\u3002\",\n            \"\u4f7f\u7528\u5c0f\u7403\u95e8\u65f6\u786e\u8ba4\u56fa\u5b9a\u7262\u9760\uff0c\u9632\u6b62\u503e\u5012\u3002\",\n            \"\u6559\u7ec3\u5e94\u89c2\u5bdf\u7403\u5458\u60c5\u7eea\uff0c\u53ca\u65f6\u8c03\u6574\u8bad\u7ec3\u5185\u5bb9\u3002\",\n            \"\u65b0\u52a0\u5165\u7403\u5458\u9700\u8fdb\u884c\u57fa\u7840\u4f53\u80fd\u8bc4\u4f30\u3002\",\n            \"\u8bad\u7ec3\u8ba1\u5212\u5e94\u5305\u542b10%\u7684\u4f24\u75c5\u9884\u9632\u4e13\u9879\u8bad\u7ec3\u3002\",\n            \"\u5efa\u8bae\u6bcf\u8bad\u7ec350\u5206\u949f\u4f11\u606f5-8\u5206\u949f\u3002\",\n            \"\u6709\u6c27\u8010\u529b\u8bad\u7ec3\u524d\u8fdb\u884c\u52a8\u6001\u62c9\u4f38\uff0c\u8bad\u7ec3\u540e\u8fdb\u884c\u9759\u6001\u62c9\u4f38\u3002\",\n            \"\u529b\u91cf\u8bad\u7ec3\u4ece\u81ea\u91cd\u5f00\u59cb\uff0c12\u5c81\u540e\u518d\u5f15\u5165\u8f7b\u5668\u68b0\u3002\",\n            \"\u901f\u5ea6\u8bad\u7ec3\u5e94\u5728\u7cbe\u529b\u5145\u6c9b\u65f6\u8fdb\u884c\uff08\u8bad\u7ec3\u524d\u671f\uff09\u3002\",\n            \"\u7075\u654f\u8bad\u7ec3\u540e\u9700\u5145\u5206\u653e\u677e\u5c0f\u817f\u548c\u8db3\u5e95\u3002\",\n            \"\u6838\u5fc3\u529b\u91cf\u8bad\u7ec3\u6ce8\u610f\u547c\u5438\u914d\u5408\uff0c\u907f\u514d\u618b\u6c14\u3002\",\n            \"\u8bad\u7ec3\u540e\u51b0\u6577\u5173\u8282\u90e8\u4f4d\u53ef\u51cf\u5c11\u708e\u75c7\u98ce\u9669\u3002\",\n            \"\u590f\u5b63\u8bad\u7ec3\u907f\u5f00\u4e2d\u534811-15\u70b9\u9ad8\u6e29\u65f6\u6bb5\u3002\",\n            \"\u51ac\u5b63\u8bad\u7ec3\u589e\u52a0\u4e2d\u5c42\u4fdd\u6696\uff0c\u8bad\u7ec3\u540e\u53ca\u65f6\u66f4\u8863\u3002\",\n            \"\u957f\u671f\u7f3a\u5e2d\u7684\u7403\u5458\u6062\u590d\u671f\u5e94\u964d\u4f4e\u5f3a\u5ea6\u3002\",\n            \"\u8bad\u7ec3\u5668\u6750\uff08\u7403\u3001\u6807\u5fd7\u6876\uff09\u6446\u653e\u6574\u9f50\uff0c\u907f\u514d\u7eca\u5012\u3002\",\n            \"\u4f7f\u7528\u5f39\u529b\u5e26\u65f6\u68c0\u67e5\u662f\u5426\u8001\u5316\u65ad\u88c2\u3002\",\n            \"\u7981\u6b62\u5728\u7403\u95e8\u540e\u73a9\u800d\uff0c\u9632\u6b62\u88ab\u7403\u51fb\u4e2d\u3002\",\n            \"\u5b88\u95e8\u5458\u8bad\u7ec3\u9700\u7a7f\u6234\u5168\u5957\u62a4\u5177\u3002\",\n            \"\u5bb6\u957f\u5e94\u77e5\u6653\u8bad\u7ec3\u5b89\u5168\u5b88\u5219\uff0c\u914d\u5408\u76d1\u7763\u3002\",\n            \"\u6bcf\u5b63\u5ea6\u8fdb\u884c\u4e00\u6b21\u8fd0\u52a8\u98ce\u9669\u6559\u80b2\u8bfe\u3002\",\n            \"\u8bad\u7ec3\u65e5\u5fd7\u8bb0\u5f55\u4f24\u75c5\u60c5\u51b5\uff0c\u4fbf\u4e8e\u8ffd\u8e2a\u3002\",\n            \"\u96e8\u5929\u8bad\u7ec3\u4f7f\u7528\u4f4e\u5f39\u7403\uff0c\u51cf\u5c11\u6ed1\u5012\u98ce\u9669\u3002\",\n            \"\u4eba\u9020\u8349\u573a\u5730\u9700\u5b9a\u671f\u6d47\u6c34\u964d\u6e29\u3002\",\n            \"\u81ea\u7136\u8349\u573a\u5730\u6ce8\u610f\u5751\u6d1e\u548c\u77f3\u5b50\u3002\",\n            \"\u5ba4\u5185\u8bad\u7ec3\u4fdd\u6301\u901a\u98ce\uff0c\u907f\u514d\u7f3a\u6c27\u3002\",\n            \"\u8bad\u7ec3\u524d\u68c0\u67e5\u7403\u5458\u6307\u7532\u662f\u5426\u8fc7\u957f\u3002\",\n            \"\u7981\u6b62\u4f69\u6234\u9996\u9970\u3001\u624b\u8868\u7b49\u786c\u7269\u8bad\u7ec3\u3002\",\n            \"\u773c\u955c\u5efa\u8bae\u4f7f\u7528\u8fd0\u52a8\u62a4\u76ee\u955c\u6216\u9690\u5f62\u773c\u955c\u3002\",\n            \"\u611f\u5192\u53d1\u70e7\u7403\u5458\u4e25\u7981\u53c2\u52a0\u9ad8\u5f3a\u5ea6\u8bad\u7ec3\u3002\",\n            \"\u54ee\u5598\u7403\u5458\u5e94\u968f\u8eab\u643a\u5e26\u836f\u7269\u3002\",\n            \"\u76ae\u80a4\u64e6\u4f24\u7acb\u5373\u7528\u7898\u4f0f\u6d88\u6bd2\uff0c\u907f\u514d\u611f\u67d3\u3002\",\n            \"\u811a\u8e1d\u626d\u4f24\u9075\u5faaRICE\u539f\u5219\uff08\u4f11\u606f\u3001\u51b0\u6577\u3001\u52a0\u538b\u3001\u62ac\u9ad8\uff09\u3002\",\n            \"\u808c\u8089\u62c9\u4f24\u505c\u6b62\u8bad\u7ec3\uff0c24\u5c0f\u65f6\u5185\u51b0\u6577\u3002\",\n            \"\u8bad\u7ec3\u540e\u4e0d\u8981\u7acb\u5373\u5927\u91cf\u996e\u6c34\uff0c\u5e94\u5c0f\u53e3\u6162\u996e\u3002\",\n            \"\u6dcb\u6d74\u6c34\u6e29\u4e0d\u5b9c\u8fc7\u9ad8\uff0c\u65f6\u95f4\u63a7\u5236\u572810\u5206\u949f\u5185\u3002\",\n            \"\u8bad\u7ec3\u540e\u8865\u5145\u7535\u89e3\u8d28\u996e\u6599\uff08\u975e\u78b3\u9178\uff09\u3002\",\n            \"\u9752\u5c11\u5e74\u6bcf\u5468\u8bad\u7ec33-4\u6b21\u4e3a\u4f73\uff0c\u907f\u514d\u8fc7\u5ea6\u3002\",\n            \"\u8fde\u7eed\u4e24\u5929\u9ad8\u5f3a\u5ea6\u540e\u5e94\u5b89\u6392\u4f4e\u5f3a\u5ea6\u6062\u590d\u3002\",\n            \"\u8d5b\u524d\u51cf\u91cf\u671f\u51cf\u5c11\u529b\u91cf\u8bad\u7ec3\u3002\",\n            \"\u5fc3\u7406\u75b2\u52b3\u65f6\u591a\u5b89\u6392\u8da3\u5473\u6e38\u620f\u3002\",\n            \"\u9f13\u52b1\u7403\u5458\u4e92\u76f8\u4fdd\u62a4\uff0c\u5c24\u5176\u5728\u4e89\u62a2\u65f6\u3002\",\n            \"\u88c1\u5224\u624b\u52bf\u548c\u5b89\u5168\u54e8\u58f0\u9700\u63d0\u524d\u7ea6\u5b9a\u3002\",\n            \"\u8bad\u7ec3\u533a\u57df\u4e0e\u975e\u8bad\u7ec3\u533a\u57df\u660e\u786e\u5212\u5206\u3002\",\n            \"\u89c2\u770b\u6bd4\u8d5b\u89c6\u9891\u65f6\u4fdd\u6301\u9002\u5f53\u8ddd\u79bb\uff0c\u4fdd\u62a4\u89c6\u529b\u3002\",\n            \"\u7981\u6b62\u5728\u8dd1\u52a8\u4e2d\u6254\u7403\u7ed9\u4ed6\u4eba\u3002\",\n            \"\u98a0\u7403\u7ec3\u4e60\u9009\u62e9\u5e73\u5766\u3001\u65e0\u5149\u76f4\u5c04\u533a\u57df\u3002\",\n            \"\u4f20\u63a5\u7403\u7ec3\u4e60\u4fdd\u6301\u95f4\u8ddd\uff0c\u907f\u514d\u76f8\u649e\u3002\",\n            \"\u5934\u7403\u7ec3\u4e60\u65f6\u53cc\u624b\u4fdd\u62a4\u9888\u90e8\u4e24\u4fa7\u3002\",\n            \"\u5012\u5730\u6251\u6551\u7ec3\u4e60\u65f6\u94fa\u8bbe\u8f6f\u57ab\u3002\",\n            \"\u4f7f\u7528\u533b\u7597\u5305\u524d\u786e\u8ba4\u6d88\u6bd2\u65e5\u671f\u3002\",\n            \"\u6559\u7ec3\u6bcf\u5e74\u53c2\u52a0\u6025\u6551\u57f9\u8bad\u66f4\u65b0\u8bc1\u4e66\u3002\",\n            \"\u8bad\u7ec3\u8ba1\u5212\u516c\u793a\u5bb6\u957f\uff0c\u5f81\u8be2\u5065\u5eb7\u610f\u89c1\u3002\",\n            \"\u5973\u751f\u7ecf\u671f\u53ef\u6839\u636e\u4e2a\u4eba\u60c5\u51b5\u964d\u4f4e\u5f3a\u5ea6\u3002\",\n            \"\u4f53\u91cd\u8d85\u91cd\u7403\u5458\u907f\u514d\u8df3\u8dc3\u8fc7\u591a\u3002\",\n            \"\u6241\u5e73\u8db3\u7403\u5458\u52a0\u5f3a\u8db3\u5f13\u8bad\u7ec3\u3002\",\n            \"\u810a\u67f1\u4fa7\u5f2f\u7403\u5458\u907f\u514d\u5355\u4fa7\u8d1f\u8377\u8fc7\u91cd\u3002\",\n            \"\u8bad\u7ec3\u524d\u8be2\u95ee\u7403\u5458\u662f\u5426\u7761\u7720\u5145\u8db3\u3002\",\n            \"\u5348\u9910\u4e0e\u8bad\u7ec3\u95f4\u9694\u81f3\u5c111.5\u5c0f\u65f6\u3002\",\n            \"\u7981\u6b62\u7a7a\u8179\u9ad8\u5f3a\u5ea6\u8bad\u7ec3\uff0c\u53ef\u63d0\u524d\u5403\u9999\u8549\u3002\",\n            \"\u8bad\u7ec3\u540e30\u5206\u949f\u5185\u8865\u5145\u86cb\u767d\u8d28\u3002\",\n            \"\u907f\u514d\u5728\u7a7a\u6c14\u6c61\u67d3\u4e25\u91cd\u65e5\u8fdb\u884c\u5ba4\u5916\u8bad\u7ec3\u3002\",\n            \"\u96fe\u973e\u5929\u6c14\u6539\u4e3a\u5ba4\u5185\u6280\u672f\u8bad\u7ec3\u3002\",\n            \"\u5927\u98ce\u5929\u6ce8\u610f\u9ad8\u7a7a\u5760\u7269\uff08\u7403\u95e8\u3001\u5e7f\u544a\u724c\uff09\u3002\",\n            \"\u591c\u95f4\u8bad\u7ec3\u786e\u4fdd\u573a\u5730\u7167\u660e\u5145\u8db3\u3002\",\n            \"\u8bad\u7ec3\u7ed3\u675f\u540e\u6e05\u70b9\u4eba\u6570\uff0c\u786e\u8ba4\u65e0\u4eba\u6ede\u7559\u3002\",\n            \"\u4ea4\u901a\u5f80\u8fd4\u9700\u6709\u6210\u4eba\u966a\u540c\u3002\",\n            \"\u7403\u961f\u5efa\u7acb\u5065\u5eb7\u6863\u6848\uff0c\u8bb0\u5f55\u8fc7\u654f\u53f2\u3002\",\n            \"\u8bad\u7ec3\u524d\u96c6\u4f53\u505a\u5173\u8282\u6d3b\u52a8\u64cd\u3002\",\n            \"\u7981\u6b62\u5728\u7403\u95e8\u7f51\u5185\u6500\u722c\u3002\",\n            \"\u8bad\u7ec3\u540e\u5f52\u8fd8\u5668\u6750\u65f6\u8f7b\u62ff\u8f7b\u653e\u3002\",\n            \"\u65b0\u5668\u6750\u4f7f\u7528\u524d\u68c0\u67e5\u5b89\u5168\u6027\u3002\",\n            \"\u7981\u6b62\u4f7f\u7528\u7834\u635f\u7684\u7403\u6216\u5668\u6750\u3002\",\n            \"\u8bad\u7ec3\u4e2d\u6559\u7ec3\u624b\u673a\u9759\u97f3\uff0c\u4e13\u6ce8\u89c2\u5bdf\u3002\",\n            \"\u5bb6\u957f\u89c2\u8d5b\u533a\u4e0e\u8bad\u7ec3\u533a\u4fdd\u6301\u5b89\u5168\u8ddd\u79bb\u3002\",\n            \"\u9f13\u52b1\u7403\u5458\u62a5\u544a\u8eab\u4f53\u4e0d\u9002\uff0c\u4e0d\u9690\u7792\u3002\",\n            \"\u6bcf\u5b63\u5ea6\u8fdb\u884c\u4e00\u6b21\u6d88\u9632\/\u6025\u6551\u6f14\u4e60\u3002\",\n            \"\u8bad\u7ec3\u8ba1\u5212\u53ef\u6839\u636e\u5929\u6c14\u5b9e\u65f6\u8c03\u6574\u3002\",\n            \"\u5b89\u5168\u65e0\u5c0f\u4e8b\uff0c\u9884\u9632\u4e3a\u4e3b\uff0c\u9632\u60a3\u672a\u7136\u3002\"\n        ];\n\n        \/\/ ======================= \u8bad\u7ec3\u7ba1\u7406\u5efa\u8bae\u5e93\uff0850+\u6761\uff09 =======================\n        const managementTips = [\n            \"\u6839\u636e\u5e74\u9f84\u548c\u4f53\u80fd\u5dee\u5f02\u5206\u7ec4\uff0c\u907f\u514d\u5f3a\u5f31\u60ac\u6b8a\u5bfc\u81f4\u7403\u5458\u5931\u53bb\u4fe1\u5fc3\u3002\",\n            \"\u6bcf\u8282\u8bad\u7ec3\u8bfe\u8bbe\u7f6e\u660e\u786e\u7684\u5c0f\u76ee\u6807\uff08\u5982\u201c\u5b8c\u621010\u6b21\u6210\u529f\u62a2\u65ad\u201d\uff09\uff0c\u589e\u5f3a\u6210\u5c31\u611f\u3002\",\n            \"\u8bad\u7ec3\u4e2d\u591a\u4f7f\u7528\u79ef\u6781\u9f13\u52b1\uff0c\u5c11\u7528\u6279\u8bc4\uff0c\u5c24\u5176\u5bf9\u4f4e\u9f84\u7403\u5458\u3002\",\n            \"\u6bcf15\u5206\u949f\u53d8\u6362\u4e00\u6b21\u8bad\u7ec3\u5f62\u5f0f\uff0c\u4fdd\u6301\u7403\u5458\u6ce8\u610f\u529b\u96c6\u4e2d\u3002\",\n            \"\u51c6\u5907\u5907\u7528\u8bad\u7ec3\u65b9\u6848\uff0c\u5e94\u5bf9\u5929\u6c14\u3001\u4eba\u6570\u53d8\u5316\u6216\u7403\u5458\u4f24\u75c5\u3002\",\n            \"\u8bad\u7ec3\u524d\u5411\u7403\u5458\u8bb2\u89e3\u672c\u6b21\u8bad\u7ec3\u7684\u6838\u5fc3\u4ef7\u503c\uff08\u5982\u201c\u4eca\u5929\u6211\u4eec\u91cd\u70b9\u7ec3\u4e60\u538b\u8feb\u65f6\u673a\u201d\uff09\u3002\",\n            \"\u4f7f\u7528\u54e8\u58f0\u6216\u624b\u52bf\u5efa\u7acb\u7edf\u4e00\u6307\u4ee4\uff0c\u51cf\u5c11\u53e3\u5934\u558a\u53eb\u3002\",\n            \"\u8bad\u7ec3\u540e5\u5206\u949f\u5feb\u901f\u590d\u76d8\uff0c\u8bf72-3\u540d\u7403\u5458\u5206\u4eab\u611f\u53d7\u3002\",\n            \"\u5b9a\u671f\u8f6e\u6362\u5c0f\u7ec4\u961f\u957f\uff0c\u57f9\u517b\u9886\u5bfc\u529b\u3002\",\n            \"\u5efa\u7acb\u8bad\u7ec3\u6863\u6848\uff0c\u8bb0\u5f55\u6bcf\u4e2a\u7403\u5458\u7684\u8fdb\u6b65\u70b9\u548c\u5f85\u6539\u8fdb\u5904\u3002\",\n            \"\u9f13\u52b1\u7403\u5458\u5728\u8bad\u7ec3\u4e2d\u81ea\u6211\u7ea0\u6b63\uff0c\u6559\u7ec3\u5148\u89c2\u5bdf\u540e\u6307\u5bfc\u3002\",\n            \"\u9ad8\u5f3a\u5ea6\u8bad\u7ec3\u65e5\u4e4b\u540e\u5b89\u6392\u4f4e\u5f3a\u5ea6\u6280\u672f\u8bfe\uff0c\u5e2e\u52a9\u8eab\u4f53\u6062\u590d\u3002\",\n            \"\u4e3a\u4e0d\u540c\u4f4d\u7f6e\u7684\u7403\u5458\u8bbe\u8ba1\u4e2a\u6027\u5316\u7ec3\u4e60\uff08\u5982\u540e\u536b\u4e13\u7ec3\u5934\u7403\u89e3\u56f4\uff09\u3002\",\n            \"\u4f7f\u7528\u89c6\u9891\u5206\u6790\u5de5\u5177\u56de\u653e\u8bad\u7ec3\u7247\u6bb5\uff0c\u63d0\u5347\u6218\u672f\u7406\u89e3\u3002\",\n            \"\u6bcf\u5468\u5b89\u6392\u4e00\u6b21\u65e0\u7403\u534f\u8c03\u6027\u8bad\u7ec3\uff0c\u9884\u9632\u4f24\u75c5\u3002\",\n            \"\u8bad\u7ec3\u4e2d\u8bbe\u7f6e\u6311\u6218\u73af\u8282\uff08\u5982\u201c\u8fde\u7eed20\u811a\u4f20\u7403\u4e0d\u4e22\u201d\uff09\uff0c\u589e\u52a0\u8da3\u5473\u6027\u3002\",\n            \"\u5173\u6ce8\u7403\u5458\u5fc3\u7406\u72b6\u6001\uff0c\u75b2\u52b3\u65f6\u53ca\u65f6\u8c03\u6574\u8bad\u7ec3\u5f3a\u5ea6\u3002\",\n            \"\u65b0\u7403\u5458\u52a0\u5165\u65f6\uff0c\u5b89\u6392\u8001\u7403\u5458\u505a\u642d\u6863\u5e2e\u52a9\u878d\u5165\u3002\",\n            \"\u8bad\u7ec3\u4e2d\u7981\u6b62\u4f7f\u7528\u624b\u673a\uff0c\u6559\u7ec3\u4e13\u6ce8\u89c2\u5bdf\u6bcf\u4e2a\u7403\u5458\u3002\",\n            \"\u4e3a\u5b88\u95e8\u5458\u914d\u5907\u4e13\u95e8\u8f85\u52a9\u6559\u7ec3\u6216\u5668\u6750\u3002\",\n            \"\u96e8\u5929\u8bad\u7ec3\u6539\u4e3a\u5ba4\u5185\u6218\u672f\u8bfe\u6216\u4f4e\u5f3a\u5ea6\u6280\u672f\u7ec3\u4e60\u3002\",\n            \"\u8bad\u7ec3\u524d\u68c0\u67e5\u573a\u5730\u8fb9\u754c\u3001\u7403\u95e8\u56fa\u5b9a\u60c5\u51b5\u3002\",\n            \"\u9f13\u52b1\u7403\u5458\u5728\u8bad\u7ec3\u4e2d\u5927\u58f0\u547c\u558a\uff0c\u57f9\u517b\u6c9f\u901a\u4e60\u60ef\u3002\",\n            \"\u5b9a\u671f\u9080\u8bf7\u5bb6\u957f\u89c2\u6469\u8bad\u7ec3\uff0c\u5c55\u793a\u7403\u5458\u6210\u957f\u3002\",\n            \"\u8bad\u7ec3\u7ed3\u675f\u540e\u7ec4\u7ec7\u7403\u5458\u6574\u7406\u5668\u6750\uff0c\u57f9\u517b\u8d23\u4efb\u611f\u3002\",\n            \"\u6bcf\u5b63\u5ea6\u8fdb\u884c\u4e00\u6b21\u4f53\u80fd\u6d4b\u8bd5\uff0c\u8bc4\u4f30\u8bad\u7ec3\u6548\u679c\u3002\",\n            \"\u4e3a\u53d7\u4f24\u7403\u5458\u5b89\u6392\u6062\u590d\u6027\u8bad\u7ec3\u8ba1\u5212\uff0c\u907f\u514d\u4e8c\u6b21\u635f\u4f24\u3002\",\n            \"\u4f7f\u7528\u6807\u5fd7\u7269\u6e05\u6670\u5212\u5206\u8bad\u7ec3\u533a\u57df\uff0c\u9632\u6b62\u6df7\u4e71\u3002\",\n            \"\u6559\u7ec3\u56e2\u961f\u7edf\u4e00\u672f\u8bed\uff08\u5982\u201c\u538b\u4e0a\u201d\u201c\u56de\u64a4\u201d\uff09\uff0c\u65b9\u4fbf\u7403\u5458\u7406\u89e3\u3002\",\n            \"\u8bad\u7ec3\u4e2d\u8bbe\u7f6e\u5f97\u5206\u89c4\u5219\uff0c\u63d0\u5347\u5bf9\u6297\u6fc0\u70c8\u5ea6\u3002\",\n            \"\u5b9a\u671f\u8f6e\u6362\u7403\u5458\u4f4d\u7f6e\uff0c\u57f9\u517b\u591a\u4f4d\u7f6e\u9002\u5e94\u80fd\u529b\u3002\",\n            \"\u4e3a\u6bcf\u4e2a\u8bad\u7ec3\u9879\u76ee\u8bbe\u7f6e\u65f6\u95f4\u9650\u5236\uff0c\u4fdd\u8bc1\u8282\u594f\u7d27\u51d1\u3002\",\n            \"\u9f13\u52b1\u7403\u5458\u5728\u8bad\u7ec3\u4e2d\u5c1d\u8bd5\u975e\u5e38\u89c4\u52a8\u4f5c\uff0c\u57f9\u517b\u521b\u9020\u529b\u3002\",\n            \"\u8bad\u7ec3\u540e\u63d0\u4f9b\u7b80\u5355\u8425\u517b\u8865\u7ed9\uff08\u5982\u9999\u8549\u3001\u8fd0\u52a8\u996e\u6599\uff09\u3002\",\n            \"\u5efa\u7acb\u7403\u5458\u6863\u6848\uff0c\u8bb0\u5f55\u51fa\u52e4\u7387\u3001\u53d7\u4f24\u53f2\u3001\u8fdb\u6b65\u66f2\u7ebf\u3002\",\n            \"\u6bcf\u534a\u5e74\u7ec4\u7ec7\u4e00\u6b21\u961f\u5185\u53cb\u8c0a\u8d5b\uff0c\u68c0\u9a8c\u8bad\u7ec3\u6210\u679c\u3002\",\n            \"\u8bad\u7ec3\u4e2d\u8bbe\u7f6e\u201c\u6682\u505c\u952e\u201d\uff0c\u6559\u7ec3\u96c6\u4e2d\u8bb2\u89e3\u4e00\u4e2a\u6218\u672f\u7ec6\u8282\u3002\",\n            \"\u4e3a\u4e0d\u540c\u5e74\u9f84\u6bb5\u7403\u5458\u8bbe\u8ba1\u4e0d\u540c\u7684\u6bd4\u8d5b\u89c4\u5219\uff08\u5982U8\u4e0d\u8bbe\u8d8a\u4f4d\uff09\u3002\",\n            \"\u8bad\u7ec3\u4e2d\u591a\u4f7f\u7528\u5c0f\u573a\u5730\u6bd4\u8d5b\uff0c\u589e\u52a0\u89e6\u7403\u6b21\u6570\u3002\",\n            \"\u9f13\u52b1\u7403\u5458\u5728\u4f11\u606f\u65f6\u4e3b\u52a8\u8865\u6c34\uff0c\u517b\u6210\u4e60\u60ef\u3002\",\n            \"\u8bad\u7ec3\u524d\u8fdb\u884c\u56e2\u961f\u53e3\u53f7\u6216\u51fb\u638c\u4eea\u5f0f\uff0c\u63d0\u5347\u51dd\u805a\u529b\u3002\",\n            \"\u6559\u7ec3\u5e94\u7ad9\u5728\u80fd\u89c2\u5bdf\u5230\u6240\u6709\u7403\u5458\u7684\u4f4d\u7f6e\uff0c\u4fbf\u4e8e\u6307\u5bfc\u3002\",\n            \"\u8bad\u7ec3\u4e2d\u6ce8\u610f\u7537\u5973\u7403\u5458\u8eab\u4f53\u5dee\u5f02\uff0c\u5973\u751f\u53ef\u9002\u5f53\u8c03\u6574\u5bf9\u6297\u5f3a\u5ea6\u3002\",\n            \"\u5bf9\u4e8e\u4f53\u578b\u7626\u5c0f\u7684\u7403\u5458\uff0c\u4f18\u5148\u57f9\u517b\u6280\u672f\u548c\u654f\u6377\u6027\u3002\",\n            \"\u8bad\u7ec3\u8ba1\u5212\u5e94\u5305\u542b10%\u7684\u6e38\u620f\u73af\u8282\uff0c\u4fdd\u6301\u5174\u8da3\u3002\",\n            \"\u5b9a\u671f\u9080\u8bf7\u66f4\u9ad8\u6c34\u5e73\u7403\u961f\u8fdb\u884c\u4ea4\u6d41\u8d5b\uff0c\u66b4\u9732\u95ee\u9898\u3002\",\n            \"\u8bad\u7ec3\u540e\u5e03\u7f6e\u89c6\u9891\u4f5c\u4e1a\uff0c\u8ba9\u7403\u5458\u5206\u6790\u81ea\u5df1\u8868\u73b0\u3002\",\n            \"\u5efa\u7acb\u7403\u961f\u6587\u5316\uff08\u5982\u201c\u6c38\u4e0d\u653e\u5f03\u201d\uff09\uff0c\u878d\u5165\u65e5\u5e38\u8bad\u7ec3\u3002\",\n            \"\u6559\u7ec3\u81ea\u8eab\u4fdd\u6301\u5b66\u4e60\uff0c\u6bcf\u5e74\u53c2\u52a0\u9752\u8bad\u7814\u8ba8\u4f1a\u3002\",\n            \"\u8bad\u7ec3\u5668\u6750\u5b9a\u671f\u7ef4\u62a4\uff0c\u635f\u574f\u53ca\u65f6\u66f4\u6362\u3002\",\n            \"\u4e3a\u6bcf\u4e2a\u8bad\u7ec3\u9879\u76ee\u51c6\u5907Plan B\uff0c\u5e94\u5bf9\u7a81\u53d1\u72b6\u51b5\u3002\",\n            \"\u9f13\u52b1\u7403\u5458\u5199\u8bad\u7ec3\u65e5\u8bb0\uff0c\u53cd\u601d\u6280\u672f\u7ec6\u8282\u3002\",\n            \"\u8bad\u7ec3\u4e2d\u6ce8\u610f\u4fdd\u62a4\u7403\u5458\u9690\u79c1\uff0c\u4e0d\u5728\u793e\u4ea4\u5a92\u4f53\u53d1\u5e03\u8d1f\u9762\u5185\u5bb9\u3002\",\n            \"\u8d5b\u5b63\u524d\u5236\u5b9a\u5468\u671f\u5316\u8bad\u7ec3\u8ba1\u5212\uff0c\u907f\u514d\u8fc7\u5ea6\u75b2\u52b3\u3002\",\n            \"\u4e0e\u5bb6\u957f\u4fdd\u6301\u6c9f\u901a\uff0c\u53cd\u9988\u7403\u5458\u8fdb\u6b65\u548c\u9700\u52aa\u529b\u65b9\u5411\u3002\",\n            \"\u8bad\u7ec3\u4e2d\u4f7f\u7528\u5fc3\u7387\u5e26\u76d1\u6d4b\u5f3a\u5ea6\uff0c\u79d1\u5b66\u8c03\u6574\u8d1f\u8377\u3002\",\n            \"\u4e3a\u8868\u73b0\u51fa\u8272\u7684\u7403\u5458\u8bbe\u7f6e\u5c0f\u5956\u52b1\uff08\u5982\u961f\u957f\u8896\u6807\uff09\u3002\",\n            \"\u8bad\u7ec3\u4e2d\u907f\u514d\u957f\u65f6\u95f4\u8bf4\u6559\uff0c\u591a\u91c7\u7528\u793a\u8303+\u6a21\u4eff\u65b9\u5f0f\u3002\",\n            \"\u5c0a\u91cd\u6bcf\u4e2a\u7403\u5458\u7684\u4e2a\u4f53\u5dee\u5f02\uff0c\u56e0\u6750\u65bd\u6559\u3002\"\n        ];\n        function getRandomManagementTip() {\n            return managementTips[Math.floor(Math.random() * managementTips.length)];\n        }\n        function getRandomSafetyTip() { return safetyTips[Math.floor(Math.random() * safetyTips.length)]; }\n\n        \/\/ ======================= \u8f85\u52a9\u51fd\u6570 =======================\n        function ageStage(age) {\n            if (age <= 8) return \"U8 \u542f\u8499\u9636\u6bb5\";\n            if (age <= 12) return \"U12 \u6280\u672f\u9ec4\u91d1\u671f\";\n            if (age <= 15) return \"U15 \u6218\u672f\u8fdb\u9636\u671f\";\n            return \"U18 \u7cbe\u82f1\u8868\u73b0\u671f\";\n        }\n        function allocateTime(total) {\n            return {\n                warm: Math.round(total * 0.12),\n                tech: Math.round(total * 0.28),\n                tactic: Math.round(total * 0.52),\n                cool: total - Math.round(total*0.12) - Math.round(total*0.28) - Math.round(total*0.52)\n            };\n        }\n        function getGamePlan(players, tacticTime) {\n            let gameMinutes = Math.round(tacticTime * 0.6);\n            if (players <= 14) {\n                let teamSize = Math.floor(players \/ 2);\n                let remaining = players % 2;\n                return {\n                    description: `${teamSize} v ${teamSize} \u534a\u573a\u5bf9\u6297${remaining > 0 ? ` + ${remaining}\u540d\u81ea\u7531\u4eba` : ''}`,\n                    field: \"\u534a\u573a\uff08\u7ea640x60\u7c73\uff09\",\n                    groupInfo: \"\u5168\u4f53\u7403\u5458\u5206\u4e3a\u4e24\u961f\uff0c\u8fdb\u884c\u7edf\u4e00\u5bf9\u6297\u3002\",\n                    gameMinutes: gameMinutes\n                };\n            } else {\n                let targetGroupSize = 7;\n                let numGroups = Math.ceil(players \/ targetGroupSize);\n                let groupSize = Math.ceil(players \/ numGroups);\n                let playersPerTeam = Math.floor(groupSize \/ 2);\n                return {\n                    description: `\u5206\u7ec4\u8f6e\u6362\u5bf9\u6297\uff1a\u6bcf\u7ec4\u8fdb\u884c ${playersPerTeam} v ${playersPerTeam} \u5c0f\u573a\u5730\u6bd4\u8d5b\uff0c\u5171 ${numGroups} \u7ec4\u540c\u65f6\u8fdb\u884c\uff0c\u6bcf${Math.ceil(gameMinutes \/ numGroups)}\u5206\u949f\u8f6e\u6362\u4e00\u6b21\u3002`,\n                    field: `\u5c0f\u573a\u5730\uff08\u7ea625x35\u7c73\uff09\uff0c\u6bcf\u7ec4\u4e00\u4e2a\u533a\u57df\u3002`,\n                    groupInfo: `\u5c06${players}\u4eba\u5206\u4e3a${numGroups}\u7ec4\uff0c\u6bcf\u7ec4${groupSize}\u4eba\uff0c\u518d\u5206\u4e3a\u4e24\u961f\u5bf9\u6297\u3002\u6bcf\u7ec4\u6bd4\u8d5b\u65f6\u95f4${Math.ceil(gameMinutes \/ numGroups)}\u5206\u949f\uff0c\u5faa\u73af\u8f6e\u6362\u3002`,\n                    gameMinutes: gameMinutes\n                };\n            }\n        }\n\n        \/\/ ======================= \u751f\u6210\u6559\u6848 =======================\n        function generatePlan() {\n            const age = parseInt(document.getElementById('age').value);\n            const gender = document.getElementById('gender').value;\n            const players = parseInt(document.getElementById('players').value);\n            const duration = parseInt(document.getElementById('duration').value);\n            const objectiveCat = document.getElementById('objectiveCat').value;\n            const objectiveItem = document.getElementById('objectiveItem').value;\n            const objectiveDesc = objectiveData[objectiveCat][objectiveItem];\n            const drill = document.getElementById('drillItem').value;\n            const tactic = document.getElementById('tacticItem').value;\n            const intensity = document.getElementById('intensity').value;\n\n            const times = allocateTime(duration);\n            const stage = ageStage(age);\n            const drillTip = drillTips[drill] || \"\u6839\u636e\u9879\u76ee\u7279\u70b9\uff0c\u8bbe\u7f6e\u5408\u9002\u573a\u5730\u548c\u5668\u6750\u3002\";\n            const tacticTip = getTacticTip(tactic);\n            const safetyTip = getRandomSafetyTip();\n            const managementTip = getRandomManagementTip();\n            const gamePlan = getGamePlan(players, times.tactic);\n\n            let warmupContent = `\u6162\u8dd1 + \u52a8\u6001\u62c9\u4f38\uff08\u9ad8\u62ac\u817f\u3001\u540e\u8e22\u817f\u3001\u4fa7\u5411\u79fb\u52a8\uff09 + \u7403\u611f\u6fc0\u6d3b\uff08\u8e29\u7403\u3001\u62c9\u7403\uff09`;\n            if (intensity === \"\u9ad8\u5f3a\u5ea6\") warmupContent += `\uff0c\u52a0\u5165\u52a0\u901f\u8dd1\u548c\u53cd\u5e94\u8bad\u7ec3`;\n            if (intensity === \"\u5eb7\u590d\u8bad\u7ec3\") warmupContent = `\u4f4e\u5f3a\u5ea6\u6162\u8dd1\u3001\u5173\u8282\u6d3b\u52a8\u3001\u9759\u6001\u62c9\u4f38\u4e3a\u4e3b\uff0c\u907f\u514d\u7206\u53d1\u529b\u52a8\u4f5c\u3002`;\n\n            let techContent = `${drill} \u7ec3\u4e60\uff1a${drillTip}<br>\u7ec4\u7ec7\uff1a\u6839\u636e${players}\u4eba\uff0c\u5206\u6210${Math.ceil(players\/6)}\u7ec4\uff0c\u8f6e\u6362\u8fdb\u884c\u3002\u6559\u7ec3\u91cd\u70b9\u6307\u5bfc\uff1a${objectiveDesc}\u3002`;\n\n            let tacticContent = `${tactic} \u6218\u672f\u6f14\u7ec3\uff1a${tacticTip}<br>\u8bbe\u7f6e\u534a\u573a\u5bf9\u6297\uff0c\u5f3a\u8c03${objectiveCat}\u4e2d\u7684${objectiveItem}\u5173\u952e\u70b9\u3002\u8fdb\u653b\/\u9632\u5b88\u5404${Math.floor(players\/2)}\u4eba\uff0c\u5269\u4f59\u4f5c\u4e3a\u4e2d\u7acb\u7403\u5458\u3002`;\n\n            let gameContent = `\n                <strong>\u5bf9\u6297\u5f62\u5f0f\uff1a<\/strong> ${gamePlan.description}<br>\n                <strong>\u573a\u5730\u8bbe\u7f6e\uff1a<\/strong> ${gamePlan.field}<br>\n                <strong>\u5206\u7ec4\u5b89\u6392\uff1a<\/strong> ${gamePlan.groupInfo}<br>\n                <strong>\u6bd4\u8d5b\u65f6\u95f4\uff1a<\/strong> ${gamePlan.gameMinutes} \u5206\u949f<br>\n                <strong>\u89c4\u5219\u5f3a\u8c03\uff1a<\/strong> \u5e94\u7528\u4eca\u65e5\u8bad\u7ec3\u4e3b\u9898\uff0c\u8bbe\u7f6e\u5f97\u5206\u6761\u4ef6\uff08\u5982\u5b8c\u6210${objectiveItem}\u52a8\u4f5c\u5f97\u5206\u7ffb\u500d\uff09\u3002\u6839\u636e${intensity}\u5f3a\u5ea6\u63a7\u5236\u4f11\u606f\u65f6\u95f4\u3002\n            `;\n\n            let coolContent = `\u9759\u6001\u62c9\u4f38\uff08\u5927\u817f\u3001\u5c0f\u817f\u3001\u8170\u90e8\uff09 + \u6df1\u547c\u5438 + \u6559\u7ec3\u603b\u7ed3\uff0c\u9080\u8bf7\u7403\u5458\u5206\u4eab\u8bad\u7ec3\u611f\u53d7\u3002\u5e03\u7f6e\u8bfe\u540e\u4f5c\u4e1a\uff1a\u89c2\u770b\u76f8\u5173\u6bd4\u8d5b\u89c6\u9891\u7247\u6bb5\u3002`;\n\n            const planHtml = `\n                <div class=\"plan-meta\">\n                    <span class=\"meta-item\">\ud83d\udccc ${stage}<\/span>\n                    <span class=\"meta-item\">\u26a7 ${gender}<\/span>\n                    <span class=\"meta-item\">\ud83d\udc65 ${players}\u4eba<\/span>\n                    <span class=\"meta-item\">\u23f1\ufe0f ${duration}\u5206\u949f<\/span>\n                    <span class=\"meta-item\">\ud83c\udfaf ${objectiveItem}<\/span>\n                    <span class=\"meta-item\">\ud83d\udd25 ${intensity}<\/span>\n                <\/div>\n                <div class=\"session-card\">\n                    <div class=\"session-header\"><span class=\"session-name\">\ud83d\udd25 \u52a8\u6001\u6fc0\u6d3b & \u70ed\u8eab<\/span><span class=\"session-time\">${times.warm} \u5206\u949f<\/span><\/div>\n                    <div class=\"session-body\">\n                        <div class=\"session-desc\">${warmupContent}<\/div>\n                        <div class=\"tips-box\"><div class=\"tips-title\">\ud83d\udca1 \u7ec3\u4e60\u63d0\u793a<\/div><div class=\"tips-content\">\u5fc3\u7387\u63d0\u5347\u81f3\u6700\u5927\u5fc3\u7387\u768460-70%\uff0c\u6ce8\u610f\u52a8\u4f5c\u6807\u51c6\uff0c\u9884\u9632\u635f\u4f24\u3002<\/div><\/div>\n                    <\/div>\n                <\/div>\n                <div class=\"session-card\">\n                    <div class=\"session-header\"><span class=\"session-name\">\u26a1 \u6838\u5fc3\u6280\u672f\u73af\u8282 - ${drill}<\/span><span class=\"session-time\">${times.tech} \u5206\u949f<\/span><\/div>\n                    <div class=\"session-body\">\n                        <div class=\"session-desc\">${techContent}<\/div>\n                        <div class=\"tips-box\"><div class=\"tips-title\">\ud83c\udfaf \u6559\u5b66\u91cd\u70b9<\/div><div class=\"tips-content\">${objectiveDesc}\u3002\u6559\u7ec3\u793a\u8303+\u4e2a\u4f53\u7ea0\u9519\uff0c\u5f3a\u8c03${objectiveItem}\u7684\u5173\u952e\u51b3\u7b56\u70b9\u3002<\/div><\/div>\n                    <\/div>\n                <\/div>\n                <div class=\"session-card\">\n                    <div class=\"session-header\"><span class=\"session-name\">\ud83d\udd04 \u6218\u672f\u60c5\u666f\u8bad\u7ec3 - ${tactic}<\/span><span class=\"session-time\">${times.tactic} \u5206\u949f<\/span><\/div>\n                    <div class=\"session-body\">\n                        <div class=\"session-desc\">${tacticContent}<\/div>\n                        <div class=\"tips-box\"><div class=\"tips-title\">\ud83d\udcd0 \u6218\u672f\u7ec6\u5316<\/div><div class=\"tips-content\">${tacticTip} \u7ed3\u5408 ${objectiveItem} \u8fdb\u884c\u60c5\u666f\u6a21\u62df\uff0c\u6bcf5\u5206\u949f\u6682\u505c\u6307\u5bfc\u3002<\/div><\/div>\n                    <\/div>\n                <\/div>\n                <div class=\"session-card\">\n                    <div class=\"session-header\"><span class=\"session-name\">\u26bd \u5bf9\u6297\u6bd4\u8d5b<\/span><span class=\"session-time\">${gamePlan.gameMinutes} \u5206\u949f<\/span><\/div>\n                    <div class=\"session-body\">\n                        <div class=\"session-desc\">${gameContent}<\/div>\n                        <div class=\"tips-box\"><div class=\"tips-title\">\ud83c\udfc6 \u6bd4\u8d5b\u89c4\u5219<\/div><div class=\"tips-content\">\u9f13\u52b1\u5e94\u7528\u4eca\u65e5\u6280\u672f\/\u6218\u672f\uff0c\u6559\u7ec3\u53ef\u6682\u505c\u6307\u5bfc\u3002\u6ce8\u610f\u4fdd\u62a4\u81ea\u5df1\u4e0e\u961f\u53cb\uff0c\u907f\u514d\u5371\u9669\u52a8\u4f5c\u3002<\/div><\/div>\n                    <\/div>\n                <\/div>\n                <div class=\"session-card\">\n                    <div class=\"session-header\"><span class=\"session-name\">\ud83e\uddd8 \u653e\u677e\u590d\u76d8<\/span><span class=\"session-time\">${times.cool} \u5206\u949f<\/span><\/div>\n                    <div class=\"session-body\">\n                        <div class=\"session-desc\">${coolContent}<\/div>\n                        <div class=\"tips-box\"><div class=\"tips-title\">\ud83d\udcdd \u603b\u7ed3\u8981\u70b9<\/div><div class=\"tips-content\">\u56de\u987e\u4eca\u65e5 ${objectiveItem} \u8bad\u7ec3\u6210\u679c\uff0c\u8868\u626c\u4f18\u79c0\u8868\u73b0\uff0c\u5e03\u7f6e\u4e2a\u4eba\u6280\u80fd\u4f5c\u4e1a\u3002<\/div><\/div>\n                    <\/div>\n                <\/div>\n                <div class=\"safety-tip\">\n                    <strong>\ud83d\udee1\ufe0f \u5b89\u5168\u63d0\u793a\uff1a<\/strong> ${safetyTip}\n                <\/div>\n                <div class=\"management-tip\">\n                    <strong>\ud83d\udccb \u8bad\u7ec3\u5efa\u8bae\uff1a<\/strong> ${managementTip}\n                <\/div>\n            `;\n            document.getElementById('planContent').innerHTML = planHtml;\n        }\n\n        \/\/ ======================= \u521d\u59cb\u5316\u4e0b\u62c9\u6846\u4e0e\u4e8b\u4ef6 =======================\n        function initSelectors() {\n            const catSelect = document.getElementById('objectiveCat');\n            catSelect.innerHTML = '';\n            for (let cat in objectiveData) {\n                let opt = document.createElement('option');\n                opt.value = cat;\n                opt.textContent = cat;\n                catSelect.appendChild(opt);\n            }\n            const updateItems = () => {\n                const cat = catSelect.value;\n                const items = objectiveData[cat];\n                const itemSelect = document.getElementById('objectiveItem');\n                itemSelect.innerHTML = '';\n                for (let item in items) {\n                    let opt = document.createElement('option');\n                    opt.value = item;\n                    opt.textContent = item;\n                    itemSelect.appendChild(opt);\n                }\n            };\n            updateItems();\n            catSelect.addEventListener('change', updateItems);\n\n            const drillSelect = document.getElementById('drillItem');\n            drillSelect.innerHTML = '';\n            for (let group in drillData) {\n                let optgroup = document.createElement('optgroup');\n                optgroup.label = group;\n                drillData[group].forEach(item => {\n                    let opt = document.createElement('option');\n                    opt.value = item;\n                    opt.textContent = item;\n                    optgroup.appendChild(opt);\n                });\n                drillSelect.appendChild(optgroup);\n            }\n\n            const tacticSelect = document.getElementById('tacticItem');\n            tacticSelect.innerHTML = '';\n            for (let group in tacticData) {\n                let optgroup = document.createElement('optgroup');\n                optgroup.label = group;\n                tacticData[group].forEach(item => {\n                    let opt = document.createElement('option');\n                    opt.value = item;\n                    opt.textContent = item;\n                    optgroup.appendChild(opt);\n                });\n                tacticSelect.appendChild(optgroup);\n            }\n        }\n\n        \/\/ \u4e8b\u4ef6\u7ed1\u5b9a\n        window.addEventListener('DOMContentLoaded', () => {\n            initSelectors();\n            generatePlan();\n            const btn = document.getElementById('generateBtn');\n            const inputs = ['age', 'players', 'duration', 'gender', 'intensity', 'objectiveCat', 'objectiveItem', 'drillItem', 'tacticItem'];\n            inputs.forEach(id => {\n                const el = document.getElementById(id);\n                if (el) {\n                    el.addEventListener('change', generatePlan);\n                    if (id === 'age' || id === 'players' || id === 'duration') el.addEventListener('input', generatePlan);\n                }\n            });\n            btn.addEventListener('click', generatePlan);\n        });\n    })();\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>\u9752\u8bad\u8db3\u7403\u8bad\u7ec3\u8ba1\u5212\u751f\u6210\u7cfb\u7edf | \u5b8c\u6574\u6559\u6848 \u00b7 \u5b89\u5168\u63d0\u793a \u00b7 \u8bad\u7ec3\u5efa\u8bae \u2699\ufe0f \u8bad\u7ec3\u53c2\u6570\u914d\u7f6e \u5e74\u9f84 (5-18) \u6027 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-30302","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.worldswim.net\/index.php\/wp-json\/wp\/v2\/pages\/30302","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.worldswim.net\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.worldswim.net\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.worldswim.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.worldswim.net\/index.php\/wp-json\/wp\/v2\/comments?post=30302"}],"version-history":[{"count":24,"href":"https:\/\/www.worldswim.net\/index.php\/wp-json\/wp\/v2\/pages\/30302\/revisions"}],"predecessor-version":[{"id":30327,"href":"https:\/\/www.worldswim.net\/index.php\/wp-json\/wp\/v2\/pages\/30302\/revisions\/30327"}],"wp:attachment":[{"href":"https:\/\/www.worldswim.net\/index.php\/wp-json\/wp\/v2\/media?parent=30302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}