{"id":17343,"date":"2026-04-29T00:14:00","date_gmt":"2026-04-28T16:14:00","guid":{"rendered":"https:\/\/tiffanysmandarin.com\/?p=17343"},"modified":"2026-09-24T23:50:09","modified_gmt":"2026-09-24T15:50:09","slug":"body-parts","status":"publish","type":"post","link":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/","title":{"rendered":"\u4eba\u9ad4\u7d50\u69cb"},"content":{"rendered":"\n<div style=\"height:6px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>\u8eab\u5fc3\u90e8\u4f4d\u8207\u6c23\u611f\u5716\u9451 &#8211; OneDotDot Chinese<\/title>\n  <!-- Tailwind CSS CDN -->\n  <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n  <!-- Google Fonts: Inter, Noto Serif TC, Cinzel -->\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cinzel:wght@500;600;700&amp;family=Inter:wght@400;500;600;700&amp;family=Noto+Serif+TC:wght@400;500;600;700&amp;display=swap\" rel=\"stylesheet\">\n\n  <script>\n    tailwind.config = {\n      \/* \u5168\u5c40\u555f\u7528 important\uff1a\u6240\u6709 Tailwind \u6a23\u5f0f\u5747\u81ea\u52d5\u6a19\u8a18 !important\uff0c\u5fb9\u5e95\u9632\u6b62 WordPress \u4e3b\u984c\u6a23\u5f0f\u8986\u84cb *\/\n      important: true,\n      theme: {\n        extend: {\n          colors: {\n            somaBeige: {\n              DEFAULT: '#FAF8F5',\n              soft: '#F4EFEB',\n              card: '#FCFAF7',\n              border: '#E8E2D5',\n              hover: '#EFE9DE'\n            },\n            somaBlue: {\n              DEFAULT: '#4A6B7C',\n              dark: '#344D5A',\n              light: '#EBF1F4',\n              soft: '#7E97A6'\n            },\n            somaGold: {\n              DEFAULT: '#C09548',\n              dark: '#9A7532',\n              light: '#FCF8EE',\n              glow: '#DFC187',\n              halo: 'rgba(192, 149, 72, 0.28)'\n            },\n            somaDark: '#282F33',\n            somaMuted: '#6E7A81'\n          },\n          fontFamily: {\n            serif: ['\"Noto Serif TC\"', 'Georgia', 'serif'],\n            brand: ['Cinzel', 'serif'],\n            sans: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'sans-serif']\n          }\n        }\n      }\n    }\n  <\/script>\n\n  <style>\n    \/* \u5168\u9762\u6ce8\u5165 !important\uff1a\u9632\u79a6 WordPress \/ CMS \u4f48\u666f\u4e3b\u984c\u5f37\u5236\u8986\u5beb *\/\n    html, body {\n      background-color: #FFFFFF !important;\n      color: #282F33 !important;\n      font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;\n      touch-action: manipulation !important;\n      margin: 0 !important;\n      padding: 0 !important;\n    }\n\n    \/* \u9632\u6b62 WordPress \u4e3b\u984c\u7684\u76d2\u6a21\u578b\u8207\u91cd\u8a2d\u6a23\u5f0f\u5e72\u64fe\u5bb9\u5668 *\/\n    *, *::before, *::after {\n      box-sizing: border-box !important;\n    }\n\n    button {\n      font-family: inherit !important;\n      cursor: pointer !important;\n    }\n\n    \/* \u4eba\u9ad4\u5c55\u793a\u5bb9\u5668\u6bd4\u4f8b\u9396\u5b9a *\/\n    #imageStageWrapper {\n      aspect-ratio: 1 \/ 1.7 !important;\n    }\n\n    \/* \u4eba\u9ad4\u76f8\u7247\u5c3a\u5bf8\u9632\u79a6 *\/\n    #frontBodyImage, #backBodyImage {\n      max-width: 100% !important;\n      height: 100% !important;\n      object-fit: contain !important;\n    }\n\n    \/* \u6c23\u611f\u5149\u74b0\u64f4\u6563\u6ce2\u7d0b\u52d5\u756b *\/\n    @keyframes qiWave {\n      0% {\n        transform: scale(0.85);\n        opacity: 0.95;\n      }\n      100% {\n        transform: scale(2.4);\n        opacity: 0;\n      }\n    }\n\n    \/* \u6838\u5fc3\u9632\u8dd1\u4f4d\u67b6\u69cb\uff1aAnchor \u6c38\u9060\u4f9d\u64da\u767e\u5206\u6bd4\u9396\u5b9a\u4e2d\u5fc3 *\/\n    .body-pin-anchor {\n      position: absolute !important;\n      transform: translate(-50%, -50%) !important;\n      width: 36px !important;\n      height: 36px !important;\n      display: flex !important;\n      align-items: center !important;\n      justify-content: center !important;\n      cursor: pointer !important;\n      z-index: 25 !important;\n      outline: none !important;\n      user-select: none !important;\n      -webkit-user-select: none !important;\n    }\n\n    \/* \u622a\u5716\u540c\u6b3e\u6a19\u6e96\u7bc0\u9ede\uff1a\u6df1\u83ab\u862d\u8fea\u85cd\u3001\u767d\u908a\u6846\u3001\u7acb\u9ad4\u6295\u5f71 *\/\n    .body-pin-core {\n      width: 14px !important;\n      height: 14px !important;\n      border-radius: 9999px !important;\n      background-color: #4A6B7C !important;\n      border: 2.5px solid #FFFFFF !important;\n      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.32) !important;\n      transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.2s, box-shadow 0.2s !important;\n      pointer-events: none !important;\n    }\n\n    \/* \u80fd\u91cf\u4e2d\u5fc3\u7279\u6b8a\u9ede\u4f4d\u6a19\u8b58 (\u4e39\u7530\u3001\u5fc3\u7aa9) *\/\n    .body-pin-anchor.energy-point .body-pin-core {\n      background-color: #C09548 !important;\n      width: 16px !important;\n      height: 16px !important;\n      border-width: 3px !important;\n      box-shadow: 0 0 0 2px rgba(192, 149, 72, 0.3), 0 3px 6px rgba(0, 0, 0, 0.3) !important;\n    }\n\n    \/* \u592a\u967d\u795e\u7d93\u53e2\u8d85\u5927\u534a\u900f\u660e\u91d1\u8272\u80fd\u91cf\u5149\u6688 (Golden Halo) *\/\n    .body-pin-anchor.solar-halo-center .body-pin-core {\n      background-color: #C09548 !important;\n      width: 18px !important;\n      height: 18px !important;\n      border: 3px solid #FFFFFF !important;\n      box-shadow: 0 0 0 2px rgba(192, 149, 72, 0.4), 0 4px 8px rgba(0, 0, 0, 0.35) !important;\n    }\n\n    .solar-golden-aura {\n      position: absolute !important;\n      width: 68px !important;\n      height: 68px !important;\n      border-radius: 9999px !important;\n      background: radial-gradient(circle, rgba(192, 149, 72, 0.48) 0%, rgba(192, 149, 72, 0.26) 55%, rgba(192, 149, 72, 0) 78%) !important;\n      pointer-events: none !important;\n      z-index: -1 !important;\n      transform: scale(1) !important;\n      transition: transform 0.3s ease !important;\n    }\n\n    .body-pin-anchor:hover .solar-golden-aura {\n      transform: scale(1.18) !important;\n    }\n\n    \/* \u61f8\u505c\u8996\u89ba\u5fae\u653e\u5927 (\u5167\u90e8\u653e\u5927\uff0c\u5916\u90e8\u5ea7\u6a19\u7d55\u5c0d\u9396\u5b9a) *\/\n    .body-pin-anchor:hover .body-pin-core {\n      transform: scale(1.35) !important;\n      background-color: #C09548 !important;\n      box-shadow: 0 0 10px rgba(192, 149, 72, 0.8), 0 0 0 3px rgba(255, 255, 255, 0.9) !important;\n    }\n\n    \/* \u9078\u4e2d\u555f\u7528\u9ad8\u4eae\u614b *\/\n    .body-pin-anchor.active .body-pin-core {\n      transform: scale(1.45) !important;\n      background-color: #C09548 !important;\n      box-shadow: 0 0 0 5px rgba(192, 149, 72, 0.35), 0 0 14px rgba(192, 149, 72, 0.85) !important;\n      border-color: #FFFFFF !important;\n    }\n\n    \/* \u9078\u4e2d\u6642\u6301\u7e8c\u64f4\u6563\u7684\u5149\u6ce2\u7d0b *\/\n    .body-pin-anchor.active .body-pin-wave {\n      position: absolute !important;\n      width: 26px !important;\n      height: 26px !important;\n      border-radius: 9999px !important;\n      border: 2px solid #C09548 !important;\n      pointer-events: none !important;\n      animation: qiWave 1.8s cubic-bezier(0.12, 0.72, 0.22, 1) infinite !important;\n    }\n\n    \/* \u6372\u8ef8\u7f8e\u5316 *\/\n    ::-webkit-scrollbar {\n      width: 5px !important;\n      height: 5px !important;\n    }\n    ::-webkit-scrollbar-thumb {\n      background: #DCD6C9 !important;\n      border-radius: 999px !important;\n    }\n  <\/style>\n\n\n\n\n  <!-- \u9802\u90e8\u6a19\u984c\u8207\u529f\u80fd\u5217 -->\n  <header class=\"w-full bg-white border-b border-somaBeige-border sticky top-0 z-40 px-4 py-3 sm:px-8 shadow-xs\">\n    <div class=\"max-w-7xl mx-auto flex flex-wrap justify-between items-center gap-3\">\n      \n      <!-- \u4e3b\u6a19\u984c\u8207\u54c1\u724c\u6a19\u8a18 -->\n      <div class=\"flex items-center space-x-3.5\">\n        <div class=\"w-10 h-10 rounded-2xl bg-somaBeige text-somaBlue flex items-center justify-center text-xl border border-somaBeige-border shadow-2xs\">\n          \ud83c\udf3f\n        <\/div>\n        <div>\n          <div class=\"flex items-center gap-2\">\n            <h1 class=\"text-lg sm:text-xl font-bold font-serif text-somaDark tracking-tight\" id=\"headerTitle\">\n              \u8eab\u5fc3\u90e8\u4f4d\n            <\/h1>\n            <span class=\"font-brand text-xs font-semibold text-somaBlue tracking-wider border border-somaBlue\/30 px-2 py-0.5 rounded-full\">\n              OneDotDot Chinese\n            <\/span>\n          <\/div>\n          <p class=\"text-xs text-somaMuted\" id=\"headerSubtitle\">\n            \n          <\/p>\n        <\/div>\n      <\/div>\n\n      <!-- \u53f3\u5074\u5de5\u5177\u63a7\u5236\u9805\uff1a\u91cd\u8a2d\u5ea7\u6a19\u3001\u7e41\/\u7c21\u5207\u63db\u3001\u8a9e\u97f3\u8a2d\u5b9a -->\n      <div class=\"flex items-center gap-2 sm:gap-2.5\">\n        <button id=\"resetCoordsBtn\" type=\"button\" title=\"\u91cd\u8a2d\u70ba\u6700\u65b0\u6821\u6e96\u5ea7\u6a19\" class=\"hidden sm:flex items-center gap-1.5 px-3 py-1.5 rounded-full bg-somaBeige border border-somaBeige-border text-[11px] font-medium text-somaDark hover:bg-somaBeige-hover transition cursor-pointer\">\n          <span class=\"w-2 h-2 rounded-full bg-emerald-500\"><\/span>\n          \n        <\/button>\n\n     \n\n        <!-- \u8a9e\u97f3\u6717\u8b80\u958b\u95dc\u63d0\u793a -->\n        <button id=\"soundMuteBtn\" type=\"button\" class=\"flex items-center space-x-1 px-3 py-1.5 rounded-full border border-somaBeige-border bg-white hover:bg-somaBeige text-xs font-medium text-somaMuted hover:text-somaDark transition cursor-pointer\">\n          <span id=\"soundMuteIcon\">\ud83d\udd0a<\/span>\n          <span id=\"soundMuteText\">\u8a9e\u97f3\u958b\u555f<\/span>\n        <\/button>\n      <\/div>\n    <\/div>\n  <\/header>\n\n  <main class=\"max-w-7xl w-full mx-auto p-4 sm:p-6 lg:p-8 flex-1 grid grid-cols-1 lg:grid-cols-12 gap-6 items-start\">\n\n    <!-- \u5de6\u5074\u6b04\u4f4d\uff1a\u76f4\u7acb\u7ad9\u59ff\u4eba\u9ad4 (\u6b63\u9762\u8207\u80cc\u9762\u771f\u5be6\u76f8\u7247\u8207\u611f\u61c9\u9ede) (5 \u6b04) -->\n    <section class=\"lg:col-span-5 bg-somaBeige-card border border-somaBeige-border rounded-3xl p-4 sm:p-5 shadow-sm flex flex-col items-center relative\">\n      \n      <!-- \u63a7\u5236\u9802\u90e8\u6a19\u7c64\uff1a\u76f4\u7acb\u7ad9\u59ff [\u6b63\u9762 \/ \u80cc\u9762] \u5207\u63db -->\n      <div class=\"w-full flex justify-between items-center mb-3\">\n        <div class=\"flex items-center gap-1 bg-white p-1 rounded-2xl border border-somaBeige-border shadow-2xs\">\n          <button id=\"viewFrontBtn\" type=\"button\" class=\"px-4 py-1.5 rounded-xl text-xs font-bold transition shadow-xs bg-somaBlue text-white cursor-pointer\">\n            \ud83e\uddcd \u6b63\u9762 (Front)\n          <\/button>\n          <button id=\"viewBackBtn\" type=\"button\" class=\"px-4 py-1.5 rounded-xl text-xs font-medium transition text-somaMuted hover:text-somaDark cursor-pointer\">\n            \ud83d\udd04 \u80cc\u9762 (Back)\n          <\/button>\n        <\/div>\n\n       \n          \n          <span id=\"clickHintBadge\"><\/span>\n        <\/div>\n      \n\n      <!-- \u4eba\u9ad4\u76f4\u7acb\u5c55\u793a\u5bb9\u5668\uff1a\u9396\u5b9a\u6bd4\u4f8b\uff0c\u9ede\u4f4d\u7d55\u5c0d\u4f9d\u9644\u65bc\u771f\u5be6\u76f8\u7247 -->\n      <div class=\"w-full relative flex justify-center items-center select-none bg-white rounded-2xl p-2 border border-somaBeige-border shadow-2xs\">\n        <div id=\"imageStageWrapper\" class=\"relative w-full max-w-[390px] mx-auto overflow-hidden rounded-xl bg-[#FAF9F7] flex items-center justify-center\" style=\"aspect-ratio: 1 \/ 1.7;\">\n          \n          <!-- \u6b63\u9762\uff1a3D \u6b63\u9762\u7ad9\u59ff\u771f\u5be6\u5716\u7247 -->\n          <img decoding=\"async\" id=\"frontBodyImage\" src=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/VCG41N182137787.jpg\" alt=\"3D \u6b63\u9762\u76f4\u7acb\u4eba\u9ad4\u6a21\u578b\" class=\"w-full h-full object-contain rounded-xl block pointer-events-none select-none drop-shadow-xs\" onerror=\"handleFrontImageFallback(this)\">\n\n          <!-- \u80cc\u9762\uff1a3D \u80cc\u9762\u7ad9\u59ff\u771f\u5be6\u5716\u7247 (\u652f\u63f4 URL \u7de8\u78bc\u8207\u4e2d\u6587\u6a94\u540d\u96d9\u5411\u5bb9\u932f) -->\n          <img decoding=\"async\" id=\"backBodyImage\" src=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/%E8%83%8C%E9%9D%A2.jpg\" alt=\"3D \u80cc\u9762\u76f4\u7acb\u4eba\u9ad4\u6a21\u578b\" class=\"w-full h-full object-contain rounded-xl hidden pointer-events-none select-none drop-shadow-xs\" onerror=\"handleBackImageFallback(this)\">\n\n          <!-- \u56fa\u5b9a\u9ede\u4f4d\u8986\u84cb\u5c64 (\u767e\u5206\u6bd4\u7d55\u5c0d\u5b9a\u4f4d\uff0c\u6c38\u4e0d\u8dd1\u4f4d) -->\n          <div id=\"bodyPinsOverlay\" class=\"absolute inset-0 w-full h-full pointer-events-auto\">\n            <!-- \u7531 JavaScript \u6ce8\u5165\u56fa\u5b9a\u5ea7\u6a19\u9328\u9ede -->\n          <\/div>\n\n          <!-- \u6d6e\u52d5\u63d0\u793a Tooltip -->\n          <div id=\"hoverTooltip\" class=\"absolute pointer-events-none opacity-0 transition-opacity duration-150 bg-somaDark\/95 text-white text-xs px-2.5 py-1.5 rounded-lg shadow-lg whitespace-nowrap z-40\">\n            <span id=\"tooltipZh\" class=\"font-semibold\">\u90e8\u4f4d<\/span>\n            <span id=\"tooltipPy\" class=\"text-somaGold-light text-[11px] ml-1\">pinyin<\/span>\n          <\/div>\n\n        <\/div>\n      <\/div>\n\n      <!-- \u5e95\u90e8\u63d0\u793a\u6587\u5b57 -->\n      <div class=\"w-full text-center text-xs text-somaMuted mt-3 flex items-center justify-center gap-1.5\">\n        \n       \n      <\/div>\n\n      <!-- \u5ea7\u6a19\u5fae\u8abf\u62bd\u5c5c (\u53ef\u96a8\u6642\u5c55\u958b\uff0c\u5fae\u8abf\u767e\u5206\u6bd4\u4e26\u4e00\u9375\u8907\u88fd JSON) -->\n      <details class=\"w-full mt-3 bg-white border border-somaBeige-border rounded-2xl p-3 text-xs text-somaDark\">\n        <summary class=\"font-semibold text-somaBlue cursor-pointer flex items-center justify-between\">\n          <span>\u5ea7\u6a19\u4e00\u76f4\u8dd1\u6389\ud83d\ude2d<\/span>\n          <span class=\"text-[11px] text-somaMuted\">\u5c55\u958b \/ \u6536\u5408<\/span>\n        <\/summary>\n        <div class=\"mt-2.5 pt-2 border-t border-somaBeige-border space-y-2\">\n          <div class=\"flex items-center justify-between text-[11px]\">\n            <span class=\"text-somaMuted\">\u7576\u524d\u6821\u6e96\u9ede\u4f4d\uff1a<\/span>\n            <span id=\"calibrationActiveNode\" class=\"font-bold text-somaDark\">\u624b\u80cc<\/span>\n          <\/div>\n          <div class=\"grid grid-cols-2 gap-2\">\n            <div>\n              <label class=\"text-[10px] text-somaMuted block mb-0.5\">\u6c34\u5e73 X (%)<\/label>\n              <input type=\"number\" id=\"calibX\" step=\"0.1\" min=\"0\" max=\"100\" class=\"w-full px-2 py-1 border border-somaBeige-border rounded-lg bg-somaBeige-card font-mono text-xs\">\n            <\/div>\n            <div>\n              <label class=\"text-[10px] text-somaMuted block mb-0.5\">\u5782\u76f4 Y (%)<\/label>\n              <input type=\"number\" id=\"calibY\" step=\"0.1\" min=\"0\" max=\"100\" class=\"w-full px-2 py-1 border border-somaBeige-border rounded-lg bg-somaBeige-card font-mono text-xs\">\n            <\/div>\n          <\/div>\n          <div class=\"flex justify-between items-center gap-2 pt-1\">\n            <button id=\"resetDefaultCoordsBtn\" type=\"button\" class=\"px-2.5 py-1 rounded-lg bg-rose-50 border border-rose-200 text-rose-700 text-[11px] font-medium hover:bg-rose-100 cursor-pointer\">\n              \u21ba \u91cd\u8a2d\u70ba\u6821\u6e96\u9810\u8a2d\n            <\/button>\n            <button id=\"copyAllCoordsBtn\" type=\"button\" class=\"px-2.5 py-1 rounded-lg bg-somaBeige border border-somaBeige-border text-[11px] font-medium hover:bg-somaBeige-hover cursor-pointer\">\n              \ud83d\udccb \u8907\u88fd\u5168\u90e8\u5ea7\u6a19 JSON\n            <\/button>\n          <\/div>\n        <\/div>\n      <\/details>\n\n    <\/section>\n\n    <!-- \u53f3\u5074\u6b04\u4f4d\uff1a\u9078\u4e2d\u90e8\u4f4d\u5361\u7247\u3001\u5206\u985e\u7be9\u9078\u8207\u5feb\u901f\u8a5e\u5f59\u5eab (7 \u6b04) -->\n    <section class=\"lg:col-span-7 flex flex-col gap-5\">\n      \n      <!-- \u5206\u985e\u5feb\u901f\u7be9\u9078\u81a0\u56ca -->\n      <div class=\"bg-somaBeige-card border border-somaBeige-border rounded-3xl p-4 shadow-sm\">\n        <div class=\"text-xs font-semibold text-somaMuted tracking-wider uppercase mb-2\" id=\"filterLabel\">\u5feb\u901f\u5206\u985e\u7be9\u9078<\/div>\n        <div class=\"flex flex-wrap gap-2\" id=\"categoryFilterContainer\">\n          <button data-cat=\"all\" type=\"button\" class=\"cat-pill px-3.5 py-1.5 rounded-full text-xs font-bold transition bg-somaBlue text-white shadow-2xs cursor-pointer\">\u5168\u90e8 (All)<\/button>\n          <button data-cat=\"energy\" type=\"button\" class=\"cat-pill px-3.5 py-1.5 rounded-full text-xs font-medium transition bg-white text-somaDark border border-somaBeige-border hover:bg-somaBlue-light cursor-pointer\">\u26a1 \u80fd\u91cf\u4e2d\u5fc3 (\u4e39\u7530\/\u5fc3\u7aa9)<\/button>\n          <button data-cat=\"head\" type=\"button\" class=\"cat-pill px-3.5 py-1.5 rounded-full text-xs font-medium transition bg-white text-somaDark border border-somaBeige-border hover:bg-somaBlue-light cursor-pointer\">\ud83d\udc64 \u982d\u9762\u9838\u90e8<\/button>\n          <button data-cat=\"torso\" type=\"button\" class=\"cat-pill px-3.5 py-1.5 rounded-full text-xs font-medium transition bg-white text-somaDark border border-somaBeige-border hover:bg-somaBlue-light cursor-pointer\">\ud83e\udec1 \u8ec0\u5e79\u6838\u5fc3\u8207\u810a\u67f1<\/button>\n          <button data-cat=\"limbs\" type=\"button\" class=\"cat-pill px-3.5 py-1.5 rounded-full text-xs font-medium transition bg-white text-somaDark border border-somaBeige-border hover:bg-somaBlue-light cursor-pointer\">\ud83e\uddb5 \u56db\u80a2\u8207\u95dc\u7bc0<\/button>\n        <\/div>\n      <\/div>\n\n      <!-- \u7576\u524d\u9078\u4e2d\u90e8\u4f4d\u8cc7\u8a0a\u5361 -->\n      <div id=\"detailCard\" class=\"bg-somaBeige-card border border-somaBeige-border rounded-3xl p-6 sm:p-7 shadow-sm transition-all duration-300 relative\">\n        \n        <!-- \u5361\u7247\u9802\u90e8\uff1a\u8a5e\u5f59\u985e\u5225\u6a19\u7c64\u8207\u767c\u97f3\u6309\u9215 -->\n        <div class=\"flex items-center justify-between mb-3\">\n          <div class=\"inline-flex items-center gap-2\">\n            <span id=\"detailCategoryBadge\" class=\"px-3 py-1 rounded-full bg-somaBlue-light text-somaBlue text-xs font-semibold\">\n              \u80fd\u91cf\u4e2d\u5fc3\n            <\/span>\n            <span id=\"detailViewBadge\" class=\"text-xs text-somaMuted\">\n              \u76f4\u7acb\u6b63\u9762\n            <\/span>\n          <\/div>\n\n          <!-- \u8a9e\u97f3\u6717\u8b80\u90e8\u4f4d\u540d\u7a31\u6309\u9215 -->\n          <button id=\"pronounceWordBtn\" type=\"button\" class=\"flex items-center space-x-1.5 px-3.5 py-1.5 rounded-full bg-white hover:bg-somaBlue hover:text-white text-somaDark transition text-xs font-semibold border border-somaBeige-border shadow-2xs cursor-pointer group\">\n            <svg class=\"w-4 h-4 text-somaBlue group-hover:text-white transition-colors\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\">\n              <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z\"><\/path>\n            <\/svg>\n            <span id=\"pronounceBtnLabel\">\u6717\u8b80\u90e8\u4f4d\u767c\u97f3<\/span>\n          <\/button>\n        <\/div>\n\n        <!-- \u90e8\u4f4d\u5927\u6a19\u984c\u8207\u6a19\u6e96\u62fc\u97f3 -->\n        <div class=\"flex flex-wrap items-baseline gap-3 mb-1\">\n          <h2 class=\"text-3xl sm:text-4xl font-bold font-serif text-somaDark tracking-tight\" id=\"detailName\">\n            \u592a\u967d\u795e\u7d93\u53e2\n          <\/h2>\n          <span class=\"text-lg sm:text-xl font-sans text-somaBlue font-medium tracking-wide\" id=\"detailPinyin\">\n            t\u00e0i y\u00e1ng sh\u00e9n j\u012bng c\u00f3ng\n          <\/span>\n          <span class=\"text-xs text-somaMuted font-sans\" id=\"detailEnLabel\">\n            (Solar Plexus \/ Manipura)\n          <\/span>\n        <\/div>\n\n        <!-- \u6838\u5fc3\u80fd\u91cf\u6982\u5ff5\u7279\u5225\u8fa8\u6790\u5361\uff08\u5fc3\u7aa9 vs \u592a\u967d\u795e\u7d93\u53e2 vs \u4e39\u7530\uff09 -->\n        <div id=\"culturalNoteBox\" class=\"mt-4 p-4 rounded-2xl bg-somaGold-light\/90 border border-somaGold\/40 text-xs text-amber-950 leading-relaxed shadow-2xs\">\n          <div class=\"flex items-center gap-2 mb-1.5 font-bold text-amber-900\">\n            <span>\u2728<\/span>\n            <span id=\"culturalHeading\">\u6838\u5fc3\u8eab\u5fc3\u6982\u5ff5\u8fa8\u6790\uff08\u5fc3\u7aa9 vs \u592a\u967d\u795e\u7d93\u53e2 vs \u4e39\u7530\uff09<\/span>\n          <\/div>\n          <div id=\"culturalNoteContent\" class=\"space-y-1\">\n            <!-- JS \u52d5\u614b\u6ce8\u5165\u4e09\u8005\u6bd4\u5c0d\u5361 -->\n          <\/div>\n        <\/div>\n\n        <!-- \u7a7a\u9593\u8207\u89e3\u5256\u8aaa\u660e -->\n        <div class=\"mt-5\">\n          <h3 class=\"text-xs font-bold text-somaMuted tracking-wider uppercase mb-1.5\" id=\"descHeading\">\n            \u7a7a\u9593\u8207\u89e3\u5256\u8aaa\u660e\n          <\/h3>\n          <p class=\"text-sm text-somaDark leading-relaxed\" id=\"detailDesc\">\n            \u5fc3\u7aa9\u504f\u4e0b\u3001\u80c3\u90e8\u5468\u570d\uff0c\u745c\u4f3d\u8207\u897f\u65b9\u8eab\u5fc3\u9ad4\u7cfb\u7a31\u4e4b\u70ba\u300cSolar Plexus\u300d\uff0c\u638c\u7ba1\u81ea\u4fe1\u3001\u610f\u5fd7\u529b\u8207\u91d1\u8272\u71b1\u80fd\u3002\n          <\/p>\n        <\/div>\n\n        <!-- \u6c23\u611f\u9ad4\u6703\u6a19\u7c64 -->\n        <div class=\"mt-4 flex flex-wrap items-center gap-2 text-xs\">\n          <span class=\"text-somaMuted font-medium\" id=\"sensationLabel\">\u5e38\u898b\u6c23\u611f\u9ad4\u6703\uff1a<\/span>\n          <div id=\"sensationTags\" class=\"flex flex-wrap gap-1.5\">\n            <!-- JS \u6ce8\u5165 -->\n          <\/div>\n        <\/div>\n\n        <!-- \u2605 \u6c23\u6d41\u5f15\u5c0e\u53e5 (\u5305\u542b\u5b8c\u6574\u6f22\u5b57\u3001\u5e36\u8abf\u62fc\u97f3\u8207\u6162\u901f\u767c\u97f3\u6717\u8b80) -->\n        <div class=\"mt-5 pt-5 border-t border-somaBeige-border\">\n          <div class=\"flex items-center justify-between mb-2.5\">\n            <div class=\"flex items-center space-x-1.5\">\n              <span class=\"text-somaGold font-bold text-sm\">\u0f04<\/span>\n              <h3 class=\"text-xs font-bold text-somaBlue uppercase tracking-wider\" id=\"exampleHeading\">\n                \u6c23\u6d41\u5f15\u5c0e\u53e5\n              <\/h3>\n            <\/div>\n            <!-- \u6c23\u6d41\u5f15\u5c0e\u53e5\u8a9e\u97f3\u6309\u9215 -->\n            <button id=\"pronounceSentenceBtn\" type=\"button\" class=\"px-3 py-1 rounded-full bg-white hover:bg-somaBlue hover:text-white border border-somaBeige-border text-xs text-somaBlue transition font-medium flex items-center gap-1.5 shadow-2xs cursor-pointer\">\n              <span>\ud83d\udd0a<\/span>\n              <span id=\"pronounceSentenceLabel\">\u6717\u8b80\u6c23\u6d41\u5f15\u5c0e\u53e5<\/span>\n            <\/button>\n          <\/div>\n\n          <!-- \u5f15\u5c0e\u53e5\u5c55\u793a\u5361 (\u6f22\u5b57 + \u5b8c\u6574\u5e36\u8072\u8abf\u62fc\u97f3) -->\n          <div class=\"bg-white p-4 sm:p-5 rounded-2xl border-l-4 border-somaBlue shadow-2xs border-r border-t border-b border-somaBeige-border\">\n            <blockquote class=\"text-sm sm:text-base font-serif font-medium text-somaDark leading-relaxed\" id=\"detailSentence\">\n              \u300c\u628a\u610f\u5ff5\u5b89\u653e\u5728\u592a\u967d\u795e\u7d93\u53e2\uff0c\u611f\u89ba\u91d1\u8272\u7684\u71b1\u80fd\u6c23\u6d41\u5728\u8179\u4e2d\u5411\u5916\u64f4\u6563\u3002\u300d\n            <\/blockquote>\n            <div class=\"mt-2.5 pt-2 border-t border-dashed border-somaBeige-border text-xs sm:text-[13px] text-somaBlue font-sans font-medium tracking-wide leading-relaxed\" id=\"detailSentencePinyin\">\n              B\u01ce y\u00ecni\u00e0n \u0101nf\u00e0ng z\u00e0i t\u00e0iy\u00e1ng sh\u00e9nj\u012bngc\u00f3ng, g\u01cenju\u00e9 j\u012bns\u00e8 de r\u00e8n\u00e9ng q\u00ecli\u00fa z\u00e0i f\u00f9 zh\u014dng xi\u00e0ng w\u00e0i ku\u00f2s\u00e0n.\n            <\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n\n      <!-- \u5feb\u6377\u90e8\u4f4d\u6e05\u55ae (\u96d9\u5411\u9023\u52d5\u9ede\u4f4d\uff0c\u7d55\u4e0d\u8dd1\u4f4d) -->\n      <div class=\"bg-somaBeige-card border border-somaBeige-border rounded-3xl p-5 shadow-sm\">\n        <div class=\"flex justify-between items-center mb-3\">\n          <div class=\"text-xs font-semibold text-somaMuted tracking-wider uppercase\">\n            <span id=\"directoryTitle\">\u5feb\u6377\u90e8\u4f4d\u6e05\u55ae<\/span>\n            <span class=\"text-somaBlue font-normal ml-1\" id=\"directorySubtext\">(\u9ede\u64ca\u53ef\u540c\u6b65\u9ede\u4eae\u4eba\u9ad4\u90e8\u4f4d)<\/span>\n          <\/div>\n          <span class=\"text-xs text-somaMuted font-medium\" id=\"nodeCountBadge\">\u5171 24 \u500b\u90e8\u4f4d<\/span>\n        <\/div>\n        \n        <!-- \u55ae\u8a5e\u6a19\u7c64\u6e05\u55ae -->\n        <div id=\"vocabChipList\" class=\"flex flex-wrap gap-2 max-h-56 overflow-y-auto pr-1\">\n          <!-- JS \u6ce8\u5165 -->\n        <\/div>\n      <\/div>\n\n    <\/section>\n  <\/main>\n\n  <!-- \u9801\u9762\u5e95\u90e8 -->\n  <footer class=\"w-full border-t border-somaBeige-border bg-white py-6 px-6 text-center text-xs text-somaMuted mt-8\">\n    <div class=\"font-brand text-sm tracking-widest text-somaDark font-semibold\">\n      OneDotDot Chinese\n    <\/div>\n    <div class=\"text-[11px] text-somaMuted mt-1\" id=\"footerSub\">\n      Tiffany Huang \u88fd\u4f5c\n    <\/div>\n  <\/footer>\n\n  <script>\n    \/* \u76f4\u7acb\u7ad9\u59ff\u4eba\u9ad4\u90e8\u4f4d\u8207\u6c23\u6d41\u5f15\u5c0e\u8cc7\u6599\u5eab\uff08\u6b63\u9762\u8207\u80cc\u9762\u4f9d\u622a\u5716\u7cbe\u78ba\u6821\u6e96\u5ea7\u6a19\uff09 *\/\n    const DEFAULT_BODY_DATA = [\n      \/* ==================== \u6b63\u9762\u90e8\u4f4d (Front) ==================== *\/\n      {\n        id: \"\u982d\u9802\",\n        view: \"front\",\n        zh_tw: \"\u982d\u9802\", zh_cn: \"\u5934\u9876\",\n        pinyin: \"t\u00f3u d\u01d0ng\", en: \"Crown of the Head\",\n        category: \"head\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 50.0, y: 5.6 },\n        desc_tw: \"\u982d\u6700\u4e0a\u65b9\uff0c\u5e38\u4f5c\u70ba\u8eab\u9ad4\u6383\u63cf\u8207\u6c23\u6d41\u5f15\u5c0e\u7531\u4e0a\u800c\u4e0b\u7684\u8d77\u9ede\uff0c\u5f15\u5c0e\u610f\u8b58\u56de\u6b78\u5b89\u975c\u89ba\u77e5\u3002\",\n        desc_cn: \"\u5934\u6700\u4e0a\u65b9\uff0c\u5e38\u4f5c\u4e3a\u8eab\u4f53\u626b\u63cf\u4e0e\u6c14\u6d41\u5f15\u5bfc\u7531\u4e0a\u800c\u4e0b\u7684\u8d77\u70b9\uff0c\u5f15\u5bfc\u610f\u8bc6\u56de\u5f52\u5b89\u9759\u89c9\u77e5\u3002\",\n        sentence_tw: \"\u300c\u5c07\u6ce8\u610f\u529b\u653e\u5728\u982d\u9802\uff0c\u611f\u89ba\u4e00\u80a1\u6e05\u6dbc\u7684\u6c23\u6d41\u5f9e\u982d\u9802\u8f15\u8f15\u7051\u843d\u3002\u300d\",\n        sentence_cn: \"\u201c\u5c06\u6ce8\u610f\u529b\u653e\u5728\u5934\u9876\uff0c\u611f\u89c9\u4e00\u80a1\u6e05\u51c9\u7684\u6c14\u6d41\u4ece\u5934\u9876\u8f7b\u8f7b\u6d12\u843d\u3002\u201d\",\n        sentence_py: \"Ji\u0101ng zh\u00f9y\u00ecl\u00ec f\u00e0ng z\u00e0i t\u00f3ud\u01d0ng, g\u01cenju\u00e9 y\u012b g\u01d4 q\u012bngli\u00e1ng de q\u00ecli\u00fa c\u00f3ng t\u00f3ud\u01d0ng q\u012bngq\u012bng s\u01celu\u00f2.\",\n        sensations_tw: [\"\u653e\u9b06\", \"\u6e05\u6dbc\", \"\u6253\u958b\", \"\u964d\u6c23\"], sensations_cn: [\"\u653e\u677e\", \"\u6e05\u51c9\", \"\u6253\u5f00\", \"\u964d\u6c14\"]\n      },\n      {\n        id: \"\u592a\u967d\u7a74\",\n        view: \"front\",\n        zh_tw: \"\u592a\u967d\u7a74\", zh_cn: \"\u592a\u9633\u7a74\",\n        pinyin: \"t\u00e0i y\u00e1ng xu\u00e8\", en: \"Temples\",\n        category: \"head\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 45.0, y: 10.8 },\n        desc_tw: \"\u773c\u5c3e\u5916\u5074\u3001\u982d\u90e8\u5169\u5074\u5fae\u51f9\u8655\uff0c\u5bb9\u6613\u7d2f\u7a4d\u9577\u6642\u9593\u7528\u8166\u904e\u5ea6\u5e36\u4f86\u7684\u7dca\u7e43\u51dd\u6eef\u6c23\u611f\u3002\",\n        desc_cn: \"\u773c\u5c3e\u5916\u4fa7\u3001\u5934\u90e8\u4e24\u4fa7\u5fae\u51f9\u5904\uff0c\u5bb9\u6613\u7d2f\u79ef\u957f\u65f6\u95f4\u7528\u8111\u8fc7\u5ea6\u5e26\u6765\u7684\u7d27\u7ef7\u51dd\u6ede\u6c14\u611f\u3002\",\n        sentence_tw: \"\u300c\u611f\u89ba\u5169\u5074\u592a\u967d\u7a74\u7684\u7dca\u7e43\uff0c\u6b63\u96a8\u8457\u547c\u6c23\u7684\u6c23\u6d41\u6162\u6162\u6d88\u878d\u6563\u958b\u3002\u300d\",\n        sentence_cn: \"\u201c\u611f\u89c9\u4e24\u4fa7\u592a\u9633\u7a74\u7684\u7d27\u7ef7\uff0c\u6b63\u968f\u7740\u547c\u6c14\u7684\u6c14\u6d41\u6162\u6162\u6d88\u878d\u6563\u5f00\u3002\u201d\",\n        sentence_py: \"G\u01cenju\u00e9 li\u01cengc\u00e8 t\u00e0iy\u00e1ngxu\u00e9 de j\u01d0nb\u0113ng, zh\u00e8ng su\u00edzhe h\u016bq\u00ec de q\u00ecli\u00fa m\u00e0nm\u00e0n xi\u0101or\u00f3ng s\u00e0nk\u0101i.\",\n        sensations_tw: [\"\u6d88\u878d\", \"\u653e\u9b06\", \"\u901a\u66a2\"], sensations_cn: [\"\u6d88\u878d\", \"\u653e\u677e\", \"\u901a\u7545\"]\n      },\n      {\n        id: \"\u7709\u5fc3\",\n        view: \"front\",\n        zh_tw: \"\u7709\u5fc3\", zh_cn: \"\u7709\u5fc3\",\n        pinyin: \"m\u00e9i x\u012bn\", en: \"Mid-brow (Third Eye)\",\n        category: \"head\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 50.0, y: 11.2 },\n        desc_tw: \"\u5169\u7709\u4e4b\u9593\uff0c\u745c\u4f3d\u4e2d\u7684\u300c\u7b2c\u4e09\u773c\u300d\u4f4d\u7f6e\uff0c\u662f\u91cb\u653e\u524d\u984d\u601d\u7dd2\u7dca\u7e43\u8207\u6e05\u660e\u610f\u5ff5\u7684\u95dc\u9375\u9ede\u3002\",\n        desc_cn: \"\u4e24\u7709\u4e4b\u95f4\uff0c\u745c\u4f3d\u4e2d\u7684\u201c\u7b2c\u4e09\u773c\u201d\u4f4d\u7f6e\uff0c\u662f\u91ca\u653e\u524d\u989d\u601d\u7eea\u7d27\u7ef7\u4e0e\u6e05\u660e\u610f\u5ff5\u7684\u5173\u952e\u70b9\u3002\",\n        sentence_tw: \"\u300c\u653e\u9b06\u4f60\u7684\u7709\u5fc3\uff0c\u8b93\u6e05\u6f88\u7684\u6c23\u606f\u64ab\u5e73\u984d\u982d\u6240\u6709\u7684\u7dca\u7e43\u601d\u7dd2\u3002\u300d\",\n        sentence_cn: \"\u201c\u653e\u677e\u4f60\u7684\u7709\u5fc3\uff0c\u8ba9\u6e05\u6f88\u7684\u6c14\u606f\u629a\u5e73\u989d\u5934\u6240\u6709\u7684\u7d27\u7ef7\u601d\u7eea\u3002\u201d\",\n        sentence_py: \"F\u00e0ngs\u014dng n\u01d0 de m\u00e9ix\u012bn, r\u00e0ng q\u012bngch\u00e8 de q\u00ecx\u012b f\u01d4p\u00edng \u00e9t\u00f3u su\u01d2y\u01d2u de j\u01d0nb\u0113ng s\u012bx\u00f9.\",\n        sensations_tw: [\"\u8212\u5c55\", \"\u5e73\u975c\", \"\u64f4\u5f35\"], sensations_cn: [\"\u8212\u5c55\", \"\u5e73\u9759\", \"\u6269\u5f20\"]\n      },\n      {\n        id: \"\u4e0b\u5df4\",\n        view: \"front\",\n        zh_tw: \"\u4e0b\u5df4\", zh_cn: \"\u4e0b\u5df4\",\n        pinyin: \"xi\u00e0 b\u0101\", en: \"Chin \/ Jaw\",\n        category: \"head\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 50.0, y: 15.0 },\n        desc_tw: \"\u81c9\u90e8\u6700\u4e0b\u65b9\u3002\u653e\u9b06\u4e0b\u5df4\u80fd\u76f4\u63a5\u9b06\u89e3\u54ac\u5408\u808c\u8207\u4e0b\u981c\u95dc\u7bc0\u7684\u6df1\u5c64\u58d3\u529b\uff0c\u4f7f\u6c23\u606f\u9806\u5229\u4e0b\u884c\u3002\",\n        desc_cn: \"\u8138\u90e8\u6700\u4e0b\u65b9\u3002\u653e\u677e\u4e0b\u5df4\u80fd\u76f4\u63a5\u677e\u89e3\u54ac\u5408\u808c\u4e0e\u4e0b\u988c\u5173\u8282\u7684\u6df1\u5c42\u538b\u529b\uff0c\u4f7f\u6c14\u606f\u987a\u5229\u4e0b\u884c\u3002\",\n        sentence_tw: \"\u300c\u7259\u9f52\u5fae\u5fae\u5206\u958b\uff0c\u8b93\u6c23\u6d41\u6c89\u964d\uff0c\u4e0b\u5df4\u81ea\u7136\u5f80\u4e0b\u6c89\u589c\u5b8c\u5168\u653e\u9b06\u3002\u300d\",\n        sentence_cn: \"\u201c\u7259\u9f7f\u5fae\u5fae\u5206\u5f00\uff0c\u8ba9\u6c14\u6d41\u6c89\u964d\uff0c\u4e0b\u5df4\u81ea\u7136\u5f80\u4e0b\u6c89\u5760\u5b8c\u5168\u653e\u677e\u3002\u201d\",\n        sentence_py: \"Y\u00e1ch\u01d0 w\u0113iw\u0113i f\u0113nk\u0101i, r\u00e0ng q\u00ecli\u00fa ch\u00e9nji\u00e0ng, xi\u00e0b\u0101 z\u00ecr\u00e1n xi\u00e0xi\u00e0ng ch\u00e9nzhu\u00ec w\u00e1nqu\u00e1n f\u00e0ngs\u014dng.\",\n        sensations_tw: [\"\u4e0b\u6c89\", \"\u9b06\u958b\", \"\u67d4\u8edf\"], sensations_cn: [\"\u4e0b\u6c89\", \"\u677e\u5f00\", \"\u67d4\u8f6f\"]\n      },\n      {\n        id: \"\u5589\u56a8\",\n        view: \"front\",\n        zh_tw: \"\u5589\u56a8 \/ \u5589\u982d\", zh_cn: \"\u5589\u5499 \/ \u5589\u5934\",\n        pinyin: \"h\u00f3u l\u00f3ng \/ h\u00f3u t\u00f3u\", en: \"Throat\",\n        category: \"head\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 50.0, y: 17.2 },\n        desc_tw: \"\u9838\u90e8\u524d\u65b9\uff0c\u547c\u5438\u6c23\u6d41\u8207\u8072\u97f3\u8868\u9054\u7684\u9580\u6236\uff0c\u5e38\u5c0d\u61c9\u60c5\u611f\u771f\u5be6\u8868\u9054\u7684\u80fd\u91cf\u901a\u9053\u3002\",\n        desc_cn: \"\u9888\u90e8\u524d\u65b9\uff0c\u547c\u5438\u6c14\u6d41\u4e0e\u58f0\u97f3\u8868\u8fbe\u7684\u95e8\u6237\uff0c\u5e38\u5bf9\u5e94\u60c5\u611f\u771f\u5b9e\u8868\u8fbe\u7684\u80fd\u91cf\u901a\u9053\u3002\",\n        sentence_tw: \"\u300c\u5589\u56a8\u653e\u9b06\u6253\u958b\uff0c\u8b93\u547c\u5438\u6c23\u6d41\u9032\u51fa\u6642\u611f\u89ba\u7121\u6bd4\u901a\u66a2\u8207\u67d4\u8edf\u3002\u300d\",\n        sentence_cn: \"\u201c\u5589\u5499\u653e\u677e\u6253\u5f00\uff0c\u8ba9\u547c\u5438\u6c14\u6d41\u8fdb\u51fa\u65f6\u611f\u89c9\u65e0\u6bd4\u901a\u7545\u4e0e\u67d4\u8f6f\u3002\u201d\",\n        sentence_py: \"H\u00f3ul\u00f3ng f\u00e0ngs\u014dng d\u01cek\u0101i, r\u00e0ng h\u016bx\u012b q\u00ecli\u00fa j\u00ecnch\u016b sh\u00ed g\u01cenju\u00e9 w\u00fab\u01d0 t\u014dngch\u00e0ng y\u01d4 r\u00f3uru\u01cen.\",\n        sensations_tw: [\"\u901a\u66a2\", \"\u67d4\u8edf\", \"\u6253\u958b\"], sensations_cn: [\"\u901a\u7545\", \"\u67d4\u8f6f\", \"\u6253\u5f00\"]\n      },\n      {\n        id: \"\u9396\u9aa8\",\n        view: \"front\",\n        zh_tw: \"\u9396\u9aa8\", zh_cn: \"\u9501\u9aa8\",\n        pinyin: \"su\u01d2 g\u01d4\", en: \"Clavicle \/ Collarbone\",\n        category: \"torso\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 50.0, y: 20.8 },\n        desc_tw: \"\u80f8\u53e3\u4e0a\u65b9\u6a6b\u5411\u7a81\u8d77\u7684\u9aa8\u982d\uff0c\u6df1\u9577\u4e09\u6bb5\u5f0f\u547c\u5438\u5230\u9054\u9802\u9ede\u6642\u6703\u611f\u53d7\u6c23\u6d41\u5fae\u5e45\u62ac\u5347\u9396\u9aa8\u3002\",\n        desc_cn: \"\u80f8\u53e3\u4e0a\u65b9\u6a2a\u5411\u7a81\u8d77\u7684\u9aa8\u5934\uff0c\u6df1\u957f\u4e09\u6bb5\u5f0f\u547c\u5438\u5230\u8fbe\u9876\u70b9\u65f6\u4f1a\u611f\u53d7\u6c14\u6d41\u5fae\u5e45\u62ac\u5347\u9501\u9aa8\u3002\",\n        sentence_tw: \"\u300c\u6df1\u5438\u4e00\u53e3\u6c23\uff0c\u5f15\u5c0e\u6c23\u6d41\u98fd\u6eff\u5730\u4e0a\u5347\u5230\u5169\u5074\u9396\u9aa8\u8207\u4e0a\u80f8\u3002\u300d\",\n        sentence_cn: \"\u201c\u6df1\u5438\u4e00\u53e3\u6c14\uff0c\u5f15\u5bfc\u6c14\u6d41\u9971\u6ee1\u5730\u4e0a\u5347\u5230\u4e24\u4fa7\u9501\u9aa8\u4e0e\u4e0a\u80f8\u3002\u201d\",\n        sentence_py: \"Sh\u0113n x\u012b y\u012b k\u01d2u q\u00ec, y\u01d0nd\u01ceo q\u00ecli\u00fa b\u01ceom\u01cen de sh\u00e0ngsh\u0113ng d\u00e0o li\u01cengc\u00e8 su\u01d2g\u01d4 y\u01d4 sh\u00e0ngxi\u014dng.\",\n        sensations_tw: [\"\u4e0a\u5347\", \"\u64f4\u5f35\", \"\u8212\u5c55\"], sensations_cn: [\"\u4e0a\u5347\", \"\u6269\u5f20\", \"\u8212\u5c55\"]\n      },\n      {\n        id: \"\u80f8\u8154\",\n        view: \"front\",\n        zh_tw: \"\u80f8\u8154 \/ \u80f8\u53e3\", zh_cn: \"\u80f8\u8154 \/ \u80f8\u53e3\",\n        pinyin: \"xi\u014dng qi\u0101ng \/ xi\u014dng k\u01d2u\", en: \"Chest \/ Thoracic Cavity\",\n        category: \"torso\",\n        category_tw: \"\u5927\u7bc4\u570d\u5340\u584a\", category_cn: \"\u5927\u8303\u56f4\u533a\u5757\",\n        coords: { x: 50.0, y: 24.5 },\n        desc_tw: \"\u6574\u500b\u80f8\u90e8\u5167\u90e8\u7a7a\u9593\uff0c\u5bb9\u7d0d\u5fc3\u80ba\uff0c\u547c\u5438\u6642\u5c55\u73fe\u6c23\u606f\u64f4\u5f35\u8207\u6536\u7e2e\u7684\u81ea\u7136\u5f8b\u52d5\u3002\",\n        desc_cn: \"\u6574\u4e2a\u80f8\u90e8\u5185\u90e8\u7a7a\u95f4\uff0c\u5bb9\u7eb3\u5fc3\u80ba\uff0c\u547c\u5438\u65f6\u5c55\u73b0\u6c14\u606f\u6269\u5f20\u4e0e\u6536\u7f29\u7684\u81ea\u7136\u5f8b\u52a8\u3002\",\n        sentence_tw: \"\u300c\u5438\u6c23\u6642\u80f8\u8154\u5411\u5916\u64f4\u5f35\uff0c\u611f\u89ba\u6eab\u6696\u7684\u6c23\u6d41\u5145\u76c8\u6574\u500b\u80f8\u53e3\u3002\u300d\",\n        sentence_cn: \"\u201c\u5438\u6c14\u65f6\u80f8\u8154\u5411\u5916\u6269\u5f20\uff0c\u611f\u89c9\u6e29\u6696\u7684\u6c14\u6d41\u5145\u76c8\u6574\u4e2a\u80f8\u53e3\u3002\u201d\",\n        sentence_py: \"X\u012bq\u00ec sh\u00ed xi\u014dngqi\u0101ng xi\u00e0ng w\u00e0i ku\u00f2zh\u0101ng, g\u01cenju\u00e9 w\u0113nnu\u01cen de q\u00ecli\u00fa ch\u014dngy\u00edng zh\u011bngg\u00e8 xi\u014dngk\u01d2u.\",\n        sensations_tw: [\"\u64f4\u5f35\", \"\u6253\u958b\", \"\u6eab\u6696\"], sensations_cn: [\"\u6269\u5f20\", \"\u6253\u5f00\", \"\u6e29\u6696\"]\n      },\n      {\n        id: \"\u5fc3\u7aa9\",\n        view: \"front\",\n        zh_tw: \"\u5fc3\u7aa9\", zh_cn: \"\u5fc3\u7a9d\",\n        pinyin: \"x\u012bn w\u014d\", en: \"Pit of the Stomach \/ Precordial Area\",\n        category: \"energy\",\n        category_tw: \"\u80fd\u91cf\u4e2d\u5fc3 \/ \u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u80fd\u91cf\u4e2d\u5fc3 \/ \u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 50.0, y: 28.5 },\n        desc_tw: \"\u80f8\u53e3\u4e2d\u592e\u504f\u4e0b\u3001\u5169\u5074\u808b\u9aa8\u4ea4\u6703\u51f9\u9677\u8655\uff0c\u5e38\u7528\u4f86\u5f62\u5bb9\u300c\u5fc3\u53e3\u300d\u7684\u611f\u53d7\uff0c\u662f\u6700\u6613\u7d2f\u7a4d\u60c5\u7dd2\u7dca\u7e43\u7684\u5be6\u9ad4\u89e3\u5256\u5340\u57df\u3002\",\n        desc_cn: \"\u80f8\u53e3\u4e2d\u592e\u504f\u4e0b\u3001\u4e24\u4fa7\u808b\u9aa8\u4ea4\u4f1a\u51f9\u9677\u5904\uff0c\u5e38\u7528\u7528\u6765\u5f62\u5bb9\u201c\u5fc3\u53e3\u201d\u7684\u611f\u53d7\uff0c\u662f\u6700\u6613\u7d2f\u79ef\u60c5\u7eea\u7d27\u7ef7\u7684\u5b9e\u4f53\u89e3\u5256\u533a\u57df\u3002\",\n        sentence_tw: \"\u300c\u8b93\u90a3\u500b\u6eab\u6696\u7684\u6c23\u6d41\u5f9e\u5fc3\u7aa9\u51fa\u767c\uff0c\u9806\u8457\u624b\u81c2\u7de9\u7de9\u6d41\u52d5\u5230\u6307\u5c16\u3002\u300d\",\n        sentence_cn: \"\u201c\u8ba9\u90a3\u4e2a\u6e29\u6696\u7684\u6c14\u6d41\u4ece\u5fc3\u7a9d\u51fa\u53d1\uff0c\u987a\u7740\u624b\u81c2\u7f13\u7f13\u6d41\u52a8\u5230\u6307\u5c16\u3002\u201d\",\n        sentence_py: \"R\u00e0ng n\u00e0ge w\u0113nnu\u01cen de q\u00ecli\u00fa c\u00f3ng x\u012bnw\u014d ch\u016bf\u0101, sh\u00f9nzhe sh\u01d2ub\u00ec hu\u01cenhu\u01cen li\u00fad\u00f2ng d\u00e0o zh\u01d0ji\u0101n.\",\n        sensations_tw: [\"\u6d41\u52d5\", \"\u6eab\u6696\", \"\u67d4\u8edf\", \"\u6253\u958b\"], sensations_cn: [\"\u6d41\u52a8\", \"\u6e29\u6696\", \"\u67d4\u8f6f\", \"\u6253\u5f00\"]\n      },\n      {\n        id: \"\u592a\u967d\u795e\u7d93\u53e2\",\n        view: \"front\",\n        zh_tw: \"\u592a\u967d\u795e\u7d93\u53e2\", zh_cn: \"\u592a\u9633\u795e\u7ecf\u4e1b\",\n        pinyin: \"t\u00e0i y\u00e1ng sh\u00e9n j\u012bng c\u00f3ng\", en: \"Solar Plexus (Manipura)\",\n        category: \"energy\",\n        category_tw: \"\u80fd\u91cf\u4e2d\u5fc3\", category_cn: \"\u80fd\u91cf\u4e2d\u5fc3\",\n        isSolarHalo: true,\n        coords: { x: 50.0, y: 33.2 },\n        desc_tw: \"\u5fc3\u7aa9\u504f\u4e0b\u3001\u80c3\u90e8\u5468\u570d\uff0c\u745c\u4f3d\u8207\u897f\u65b9\u8eab\u5fc3\u9ad4\u7cfb\u7a31\u4e4b\u70ba\u300cSolar Plexus\u300d\uff0c\u638c\u7ba1\u81ea\u4fe1\u3001\u610f\u5fd7\u529b\u8207\u91d1\u8272\u71b1\u80fd\u3002\",\n        desc_cn: \"\u5fc3\u7a9d\u504f\u4e0b\u3001\u80c3\u90e8\u5468\u56f4\uff0c\u745c\u4f3d\u4e0e\u897f\u65b9\u8eab\u5fc3\u4f53\u7cfb\u79f0\u4e4b\u4e3a\u201cSolar Plexus\u201d\uff0c\u638c\u7ba1\u81ea\u4fe1\u3001\u610f\u5fd7\u529b\u4e0e\u91d1\u8272\u70ed\u80fd\u3002\",\n        sentence_tw: \"\u300c\u628a\u610f\u5ff5\u5b89\u653e\u5728\u592a\u967d\u795e\u7d93\u53e2\uff0c\u611f\u89ba\u91d1\u8272\u7684\u71b1\u80fd\u6c23\u6d41\u5728\u8179\u4e2d\u5411\u5916\u64f4\u6563\u3002\u300d\",\n        sentence_cn: \"\u201c\u628a\u610f\u5ff5\u5b89\u653e\u5728\u592a\u9633\u795e\u7ecf\u4e1b\uff0c\u611f\u89c9\u91d1\u8272\u7684\u70ed\u80fd\u6c14\u6d41\u5728\u8179\u4e2d\u5411\u5916\u6269\u6563\u3002\u201d\",\n        sentence_py: \"B\u01ce y\u00ecni\u00e0n \u0101nf\u00e0ng z\u00e0i t\u00e0iy\u00e1ng sh\u00e9nj\u012bngc\u00f3ng, g\u01cenju\u00e9 j\u012bns\u00e8 de r\u00e8n\u00e9ng q\u00ecli\u00fa z\u00e0i f\u00f9 zh\u014dng xi\u00e0ng w\u00e0i ku\u00f2s\u00e0n.\",\n        sensations_tw: [\"\u6eab\u71b1\", \"\u64f4\u5f35\", \"\u529b\u91cf\"], sensations_cn: [\"\u6e29\u70ed\", \"\u6269\u5f20\", \"\u529b\u91cf\"]\n      },\n      {\n        id: \"\u8179\u8154\",\n        view: \"front\",\n        zh_tw: \"\u8179\u8154 \/ \u809a\u5b50\", zh_cn: \"\u8179\u8154 \/ \u809a\u5b50\",\n        pinyin: \"f\u00f9 qi\u0101ng \/ d\u00f9 zi\", en: \"Abdomen \/ Belly\",\n        category: \"torso\",\n        category_tw: \"\u5927\u7bc4\u570d\u5340\u584a\", category_cn: \"\u5927\u8303\u56f4\u533a\u5757\",\n        coords: { x: 50.0, y: 38.0 },\n        desc_tw: \"\u6574\u500b\u8179\u90e8\u5167\u90e8\u7a7a\u9593\uff0c\u8179\u5f0f\u547c\u5438\u6642\u96a8\u8457\u6a6b\u8188\u819c\u8d77\u4f0f\uff0c\u5438\u6c23\u6642\u5fae\u51f8\u3001\u5410\u6c23\u6642\u5167\u6536\u653e\u9b06\u3002\",\n        desc_cn: \"\u6574\u4e2a\u8179\u90e8\u5185\u90e8\u7a7a\u95f4\uff0c\u8179\u5f0f\u547c\u5438\u65f6\u968f\u7740\u6a2a\u8188\u819c\u8d77\u4f0f\uff0c\u5438\u6c14\u65f6\u5fae\u51f8\u3001\u5410\u6c14\u65f6\u5185\u6536\u653e\u677e\u3002\",\n        sentence_tw: \"\u300c\u5410\u6c23\u6642\u8179\u8154\u5fae\u5fae\u6536\u7e2e\uff0c\u5c07\u9ad4\u5167\u6b98\u9918\u7684\u7dca\u7e43\u6fc1\u6c23\u9806\u66a2\u6392\u51fa\u3002\u300d\",\n        sentence_cn: \"\u201c\u5410\u6c14\u65f6\u8179\u8154\u5fae\u5fae\u6536\u7f29\uff0c\u5c06\u4f53\u5185\u6b8b\u4f59\u7684\u7d27\u7ef7\u6d4a\u6c14\u987a\u7545\u6392\u51fa\u3002\u201d\",\n        sentence_py: \"T\u01d4q\u00ec sh\u00ed f\u00f9qi\u0101ng w\u0113iw\u0113i sh\u014dusu\u014d, ji\u0101ng t\u01d0n\u00e8i c\u00e1ny\u00fa de j\u01d0nb\u0113ng zhu\u00f3q\u00ec sh\u00f9nch\u00e0ng p\u00e1ich\u016b.\",\n        sensations_tw: [\"\u6536\u7e2e\", \"\u64f4\u5f35\", \"\u5e73\u7a69\"], sensations_cn: [\"\u6536\u7f29\", \"\u6269\u5f20\", \"\u5e73\u7a33\"]\n      },\n      {\n        id: \"\u4e39\u7530\",\n        view: \"front\",\n        zh_tw: \"\u4e39\u7530\", zh_cn: \"\u4e39\u7530\",\n        pinyin: \"d\u0101n ti\u00e1n\", en: \"Dantian (Lower Energy Sea)\",\n        category: \"energy\",\n        category_tw: \"\u80fd\u91cf\u4e2d\u5fc3\", category_cn: \"\u80fd\u91cf\u4e2d\u5fc3\",\n        coords: { x: 50.0, y: 43.0 },\n        desc_tw: \"\u809a\u81cd\u4e0b\u65b9\u7d04\u4e09\u6307\u5bec\u3001\u8eab\u9ad4\u6df1\u8655\u6838\u5fc3\uff0c\u4e2d\u5f0f\u8eab\u5fc3\u50b3\u7d71\u4e2d\u7684\u5143\u6c23\u5132\u5b58\u805a\u5bf6\u76c6\uff0c\u5f37\u8abf\u4e0b\u6c89\u624e\u6839\u3002\",\n        desc_cn: \"\u809a\u8110\u4e0b\u65b9\u7ea6\u4e09\u6307\u5bbd\u3001\u8eab\u4f53\u6df1\u5904\u6838\u5fc3\uff0c\u4e2d\u5f0f\u8eab\u5fc3\u4f20\u7edf\u4e2d\u7684\u5143\u6c14\u50a8\u5b58\u805a\u5b9d\u76c6\uff0c\u5f3a\u8c03\u4e0b\u6c89\u624e\u6839\u3002\",\n        sentence_tw: \"\u300c\u4e00\u80a1\u6c89\u7a69\u6eab\u71b1\u7684\u6c23\u6d41\uff0c\u5f9e\u4e39\u7530\u6df1\u8655\u6162\u6162\u5411\u5168\u8eab\u5347\u8d77\u8207\u6d41\u6dcc\u3002\u300d\",\n        sentence_cn: \"\u201c\u4e00\u80a1\u6c89\u7a33\u6e29\u70ed\u7684\u6c14\u6d41\uff0c\u4ece\u4e39\u7530\u6df1\u5904\u6162\u6162\u5411\u5168\u8eab\u5347\u8d77\u4e0e\u6d41\u6dcc\u3002\u201d\",\n        sentence_py: \"Y\u012b g\u01d4 ch\u00e9nw\u011bn w\u0113nr\u00e8 de q\u00ecli\u00fa, c\u00f3ng d\u0101nti\u00e1n sh\u0113nch\u00f9 m\u00e0nm\u00e0n xi\u00e0ng qu\u00e1nsh\u0113n sh\u0113ngq\u01d0 y\u01d4 li\u00fat\u01ceng.\",\n        sensations_tw: [\"\u4e0a\u5347\", \"\u6eab\u6696\", \"\u6c89\u7a69\", \"\u624e\u6839\"], sensations_cn: [\"\u4e0a\u5347\", \"\u6e29\u6696\", \"\u6c89\u7a33\", \"\u624e\u6839\"]\n      },\n      {\n        id: \"\u9aa8\u76c6\",\n        view: \"front\",\n        zh_tw: \"\u9aa8\u76c6\", zh_cn: \"\u9aa8\u76c6\",\n        pinyin: \"g\u01d4 p\u00e9n\", en: \"Pelvis\",\n        category: \"torso\",\n        category_tw: \"\u5927\u7bc4\u570d\u5340\u584a\", category_cn: \"\u5927\u8303\u56f4\u533a\u5757\",\n        coords: { x: 50.0, y: 48.0 },\n        desc_tw: \"\u8170\u90e8\u4ee5\u4e0b\u3001\u5927\u817f\u4ee5\u4e0a\u7684\u9aa8\u67b6\u7897\u72c0\u5340\u57df\uff0c\u627f\u8f09\u8ec0\u5e79\u91cd\u91cf\uff0c\u5f15\u5c0e\u6c23\u6d41\u5411\u4e0b\u624e\u6839\u65bc\u96d9\u817f\u6216\u5927\u5730\u3002\",\n        desc_cn: \"\u8170\u90e8\u4ee5\u4e0b\u3001\u5927\u817f\u4ee5\u4e0a\u7684\u9aa8\u67b6\u7897\u72b6\u533a\u57df\uff0c\u627f\u8f7d\u8eaf\u5e72\u91cd\u91cf\uff0c\u5f15\u5bfc\u6c14\u6d41\u5411\u4e0b\u624e\u6839\u4e8e\u53cc\u817f\u6216\u5927\u5730\u3002\",\n        sentence_tw: \"\u300c\u611f\u53d7\u6c23\u6d41\u6c89\u5165\u9aa8\u76c6\uff0c\u6574\u500b\u4eba\u50cf\u5927\u6a39\u822c\u7a69\u7a69\u624e\u6839\u65bc\u5927\u5730\u3002\u300d\",\n        sentence_cn: \"\u201c\u611f\u53d7\u6c14\u6d41\u6c89\u5165\u9aa8\u76c6\uff0c\u6574\u4e2a\u4eba\u50cf\u5927\u6811\u822c\u7a33\u7a33\u624e\u6839\u4e8e\u5927\u5730\u3002\u201d\",\n        sentence_py: \"G\u01censh\u00f2u q\u00ecli\u00fa ch\u00e9n r\u00f9 g\u01d4p\u00e9n, zh\u011bngg\u00e8 r\u00e9n xi\u00e0ng d\u00e0sh\u00f9 b\u0101n w\u011bnw\u011bn zh\u0101g\u0113n y\u00fa d\u00e0d\u00ec.\",\n        sensations_tw: [\"\u4e0b\u6c89\", \"\u624e\u6839\", \"\u7a69\u5b9a\"], sensations_cn: [\"\u4e0b\u6c89\", \"\u624e\u6839\", \"\u7a33\u5b9a\"]\n      },\n      {\n        id: \"\u80a9\u95dc\u7bc0\",\n        view: \"front\",\n        zh_tw: \"\u80a9\u95dc\u7bc0 \/ \u80a9\u8180\", zh_cn: \"\u80a9\u5173\u8282 \/ \u80a9\u8180\",\n        pinyin: \"ji\u0101n gu\u0101n ji\u00e9 \/ ji\u0101n b\u01ceng\", en: \"Shoulder Joint\",\n        category: \"limbs\",\n        category_tw: \"\u95dc\u7bc0\u8207\u9023\u63a5\u8655\", category_cn: \"\u5173\u8282\u4e0e\u8fde\u63a5\u5904\",\n        coords: { x: 68.0, y: 24.5 },\n        desc_tw: \"\u624b\u81c2\u8207\u8ec0\u5e79\u9023\u63a5\u8655\uff0c\u6700\u5e38\u56e0\u7dca\u5f35\u800c\u4e0d\u81ea\u89ba\u8073\u8d77\u7d2f\u7a4d\u58d3\u529b\uff0c\u547c\u6c23\u6642\u5f15\u5c0e\u6c23\u611f\u4e0b\u6c89\u6d88\u6563\u3002\",\n        desc_cn: \"\u624b\u81c2\u4e0e\u8eaf\u5e72\u8fde\u63a5\u5904\uff0c\u6700\u5e38\u56e0\u7d27\u5f20\u800c\u4e0d\u81ea\u89c9\u8038\u8d77\u7d2f\u79ef\u538b\u529b\uff0c\u547c\u6c14\u65f6\u5f15\u5bfc\u6c14\u611f\u4e0b\u6c89\u6d88\u6563\u3002\",\n        sentence_tw: \"\u300c\u547c\u6c23\u6642\u653e\u9b06\u80a9\u95dc\u7bc0\uff0c\u611f\u89ba\u51dd\u6eef\u7684\u6c23\u611f\u77ac\u9593\u6d88\u6563\u4e0b\u6c89\u3002\u300d\",\n        sentence_cn: \"\u201c\u547c\u6c14\u65f6\u653e\u677e\u80a9\u5173\u8282\uff0c\u611f\u89c9\u51dd\u6ede\u7684\u6c14\u611f\u77ac\u95f4\u6d88\u6563\u4e0b\u6c89\u3002\u201d\",\n        sentence_py: \"H\u016bq\u00ec sh\u00ed f\u00e0ngs\u014dng ji\u0101ngu\u0101nji\u00e9, g\u01cenju\u00e9 n\u00edngzh\u00ec de q\u00ecg\u01cen sh\u00f9nji\u0101n xi\u0101os\u00e0n xi\u00e0ch\u00e9n.\",\n        sensations_tw: [\"\u4e0b\u6c89\", \"\u9b06\u958b\", \"\u901a\u66a2\"], sensations_cn: [\"\u4e0b\u6c89\", \"\u677e\u5f00\", \"\u901a\u7545\"]\n      },\n      {\n        id: \"\u8098\u95dc\u7bc0\",\n        view: \"front\",\n        zh_tw: \"\u8098\u95dc\u7bc0 \/ \u624b\u8098\", zh_cn: \"\u8098\u5173\u8282 \/ \u624b\u8098\",\n        pinyin: \"zh\u01d2u gu\u0101n ji\u00e9 \/ sh\u01d2u zh\u01d2u\", en: \"Elbow Joint\",\n        category: \"limbs\",\n        category_tw: \"\u95dc\u7bc0\u8207\u9023\u63a5\u8655\", category_cn: \"\u5173\u8282\u4e0e\u8fde\u63a5\u5904\",\n        coords: { x: 74.8, y: 37.8 },\n        desc_tw: \"\u624b\u81c2\u4e2d\u9593\u5f4e\u66f2\u8655\uff0c\u6c23\u8840\u5faa\u624b\u81c2\u6d41\u5411\u624b\u638c\u7684\u6a1e\u7d10\u7bc0\u9ede\u3002\",\n        desc_cn: \"\u624b\u81c2\u4e2d\u95f4\u5f2f\u66f2\u5904\uff0c\u6c14\u8840\u5faa\u624b\u81c2\u6d41\u5411\u624b\u638c\u7684\u67a2\u7ebd\u8282\u70b9\u3002\",\n        sentence_tw: \"\u300c\u8b93\u9019\u80a1\u6d41\u52d5\u7684\u6c23\u611f\u9806\u8457\u624b\u8098\uff0c\u901a\u66a2\u5730\u6ed1\u5411\u624b\u8155\u8207\u624b\u638c\u3002\u300d\",\n        sentence_cn: \"\u201c\u8ba9\u8fd9\u80a1\u6d41\u52a8\u7684\u6c14\u611f\u987a\u7740\u624b\u8098\uff0c\u901a\u7545\u5730\u6ed1\u5411\u624b\u8155\u4e0e\u624b\u638c\u3002\u201d\",\n        sentence_py: \"R\u00e0ng zh\u00e8 g\u01d4 li\u00fad\u00f2ng de q\u00ecg\u01cen sh\u00f9nzhe sh\u01d2uzh\u01d2u, t\u014dngch\u00e0ng de hu\u00e1 xi\u00e0ng sh\u01d2uw\u00e0n y\u01d4 sh\u01d2uzh\u01ceng.\",\n        sensations_tw: [\"\u6d41\u52d5\", \"\u901a\u66a2\", \"\u653e\u9b06\"], sensations_cn: [\"\u6d41\u52a8\", \"\u901a\u7545\", \"\u653e\u677e\"]\n      },\n      {\n        id: \"\u8155\u95dc\u7bc0\",\n        view: \"front\",\n        zh_tw: \"\u8155\u95dc\u7bc0 \/ \u624b\u8155\", zh_cn: \"\u8155\u5173\u8282 \/ \u624b\u8155\",\n        pinyin: \"w\u00e0n gu\u0101n ji\u00e9 \/ sh\u01d2u w\u00e0n\", en: \"Wrist Joint\",\n        category: \"limbs\",\n        category_tw: \"\u95dc\u7bc0\u8207\u9023\u63a5\u8655\", category_cn: \"\u5173\u8282\u4e0e\u8fde\u63a5\u5904\",\n        coords: { x: 81.5, y: 48.0 },\n        desc_tw: \"\u624b\u638c\u8207\u5c0f\u81c2\u9023\u63a5\u8655\uff0c\u73fe\u4ee3\u751f\u6d3b\u6700\u5e38\u904e\u5ea6\u7528\u529b\u7684\u7cbe\u7d30\u95dc\u7bc0\u3002\",\n        desc_cn: \"\u624b\u638c\u4e0e\u5c0f\u81c2\u8fde\u63a5\u5904\uff0c\u73b0\u4ee3\u751f\u6d3b\u6700\u5e38\u8fc7\u5ea6\u7528\u529b\u7684\u7cbe\u7ec6\u5173\u8282\u3002\",\n        sentence_tw: \"\u300c\u9b06\u958b\u8155\u95dc\u7bc0\u7684\u5fae\u5c0f\u5f35\u529b\uff0c\u8b93\u6c23\u8840\u6beb\u7121\u963b\u7919\u5730\u901a\u904e\u624b\u8155\u3002\u300d\",\n        sentence_cn: \"\u201c\u677e\u5f00\u8155\u5173\u8282\u7684\u5fae\u5c0f\u5f20\u529b\uff0c\u8ba9\u6c14\u8840\u6beb\u65e0\u963b\u788d\u5730\u901a\u8fc7\u624b\u8155\u3002\u201d\",\n        sentence_py: \"S\u014dngk\u0101i w\u00e0ngu\u0101nji\u00e9 de w\u0113ixi\u01ceo zh\u0101ngl\u00ec, r\u00e0ng q\u00ecxu\u00e8 h\u00e1o w\u00fa z\u01d4'\u00e0i de t\u014dnggu\u00f2 sh\u01d2uw\u00e0n.\",\n        sensations_tw: [\"\u9b06\u958b\", \"\u901a\u66a2\"], sensations_cn: [\"\u677e\u5f00\", \"\u901a\u7545\"]\n      },\n      {\n        id: \"\u624b\u5fc3\",\n        view: \"front\",\n        zh_tw: \"\u624b\u5fc3\", zh_cn: \"\u624b\u5fc3\",\n        pinyin: \"sh\u01d2u x\u012bn\", en: \"Palm Center (Laogong)\",\n        category: \"limbs\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 84.0, y: 51.5 },\n        desc_tw: \"\u624b\u638c\u4e2d\u592e\uff08\u52de\u5bae\u7a74\uff09\uff0c\u4eba\u9ad4\u6c23\u611f\u6700\u654f\u92b3\u7684\u4f4d\u7f6e\u4e4b\u4e00\uff0c\u5e38\u6709\u6eab\u71b1\u5fae\u9ebb\u7684\u80fd\u91cf\u51dd\u805a\u611f\u3002\",\n        desc_cn: \"\u624b\u638c\u4e2d\u592e\uff08\u52b3\u5bab\u7a74\uff09\uff0c\u4eba\u4f53\u6c14\u611f\u6700\u654f\u9510\u7684\u4f4d\u7f6e\u4e4b\u4e00\uff0c\u5e38\u6709\u6e29\u70ed\u5fae\u9ebb\u7684\u80fd\u91cf\u51dd\u805a\u611f\u3002\",\n        sentence_tw: \"\u300c\u6ce8\u610f\u529b\u96c6\u4e2d\u5728\u624b\u5fc3\u52de\u5bae\uff0c\u611f\u53d7\u4e00\u5718\u6eab\u71b1\u5fae\u9ebb\u7684\u6c23\u5718\u6b63\u5728\u51dd\u805a\u3002\u300d\",\n        sentence_cn: \"\u201c\u6ce8\u610f\u529b\u96c6\u4e2d\u5728\u624b\u5fc3\u52b3\u5bab\uff0c\u611f\u53d7\u4e00\u56e2\u6e29\u70ed\u5fae\u9ebb\u7684\u6c14\u56e2\u6b63\u5728\u51dd\u805a\u3002\u201d\",\n        sentence_py: \"Zh\u00f9y\u00ecl\u00ec j\u00edzh\u014dng z\u00e0i sh\u01d2ux\u012bn l\u00e1og\u014dng, g\u01censh\u00f2u y\u012b tu\u00e1n w\u0113nr\u00e8 w\u0113im\u00e1 de q\u00ectu\u00e1n zh\u00e8ngz\u00e0i n\u00edngj\u00f9.\",\n        sensations_tw: [\"\u5fae\u71b1\", \"\u5fae\u9ebb\", \"\u6c23\u611f\"], sensations_cn: [\"\u5fae\u70ed\", \"\u5fae\u9ebb\", \"\u6c14\u611f\"]\n      },\n      {\n        id: \"\u6307\u7bc0\",\n        view: \"front\",\n        zh_tw: \"\u6307\u7bc0\", zh_cn: \"\u6307\u8282\",\n        pinyin: \"zh\u01d0 ji\u00e9\", en: \"Knuckles \/ Finger Joints\",\n        category: \"limbs\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 85.0, y: 53.5 },\n        desc_tw: \"\u624b\u6307\u5404\u6bb5\u7684\u5fae\u5c0f\u95dc\u7bc0\u8655\uff0c\u89ba\u5bdf\u6307\u7bc0\u80fd\u935b\u934a\u6975\u7d30\u5fae\u7684\u672c\u9ad4\u795e\u7d93\u611f\u77e5\u3002\",\n        desc_cn: \"\u624b\u6307\u5404\u6bb5\u7684\u5fae\u5c0f\u5173\u8282\u5904\uff0c\u89c9\u5bdf\u6307\u8282\u80fd\u953b\u70bc\u6781\u7ec6\u5fae\u7684\u672c\u4f53\u795e\u7ecf\u611f\u77e5\u3002\",\n        sentence_tw: \"\u300c\u9806\u8457\u6307\u7bc0\u4e00\u4e00\u653e\u9b06\uff0c\u96d9\u624b\u6c92\u6709\u4efb\u4f55\u7dca\u7e43\u3002\u300d\",\n        sentence_cn: \"\u201c\u987a\u7740\u6307\u8282\u4e00\u4e00\u653e\u677e\uff0c\u53cc\u624b\u6ca1\u6709\u4efb\u4f55\u7d27\u7ef7\u3002\u201d\",\n        sentence_py: \"Sh\u00f9nzhe zh\u01d0ji\u00e9 y\u012by\u012b f\u00e0ngs\u014dng, shu\u0101ngsh\u01d2u m\u00e9iy\u01d2u r\u00e8nh\u00e9 j\u01d0nb\u0113ng.\",\n        sensations_tw: [\"\u653e\u9b06\", \"\u901a\u66a2\"], sensations_cn: [\"\u653e\u677e\", \"\u901a\u7545\"]\n      },\n      {\n        id: \"\u6307\u5c16\",\n        view: \"front\",\n        zh_tw: \"\u6307\u5c16\", zh_cn: \"\u6307\u5c16\",\n        pinyin: \"zh\u01d0 ji\u0101n\", en: \"Fingertips\",\n        category: \"limbs\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 86.2, y: 55.8 },\n        desc_tw: \"\u624b\u6307\u6700\u672b\u7aef\uff0c\u795e\u7d93\u8207\u5fae\u5faa\u74b0\u672b\u68a2\uff0c\u5e38\u6709\u9ebb\u3001\u8df3\u52d5\u6216\u5411\u5916\u6563\u767c\u8cab\u7a7f\u7684\u6c23\u6d41\u611f\u3002\",\n        desc_cn: \"\u624b\u6307\u6700\u672b\u7aef\uff0c\u795e\u7ecf\u4e0e\u5fae\u5faa\u73af\u672b\u68a2\uff0c\u5e38\u6709\u9ebb\u3001\u8df3\u52a8\u6216\u5411\u5916\u6563\u53d1\u8d2f\u7a7f\u7684\u6c14\u6d41\u611f\u3002\",\n        sentence_tw: \"\u300c\u4e00\u80a1\u6c23\u6d41\u8cab\u7a7f\u6574\u689d\u624b\u81c2\uff0c\u4e00\u76f4\u5ef6\u4f38\u5230\u5341\u6839\u6307\u5c16\u5411\u5916\u7dbb\u653e\u3002\u300d\",\n        sentence_cn: \"\u201c\u4e00\u80a1\u6c14\u6d41\u8d2f\u7a7f\u6574\u6761\u624b\u81c2\uff0c\u4e00\u76f4\u5ef6\u4f38\u5230\u5341\u6839\u6307\u5c16\u5411\u5916\u7efd\u653e\u3002\u201d\",\n        sentence_py: \"Y\u012b g\u01d4 q\u00ecli\u00fa gu\u00e0nchu\u0101n zh\u011bng ti\u00e1o sh\u01d2ub\u00ec, y\u012bzh\u00ed y\u00e1nsh\u0113n d\u00e0o sh\u00ed g\u0113n zh\u01d0ji\u0101n xi\u00e0ng w\u00e0i zh\u00e0nf\u00e0ng.\",\n        sensations_tw: [\"\u8cab\u7a7f\", \"\u6d41\u52d5\", \"\u5fae\u9ebb\"], sensations_cn: [\"\u8d2f\u7a7f\", \"\u6d41\u52a8\", \"\u5fae\u9ebb\"]\n      },\n      {\n        id: \"\u5927\u817f\",\n        view: \"front\",\n        zh_tw: \"\u5927\u817f\", zh_cn: \"\u5927\u817f\",\n        pinyin: \"d\u00e0 tu\u01d0\", en: \"Thigh\",\n        category: \"limbs\",\n        category_tw: \"\u5927\u7bc4\u570d\u5340\u584a\", category_cn: \"\u5927\u8303\u56f4\u533a\u5757\",\n        coords: { x: 57.0, y: 58.0 },\n        desc_tw: \"\u9ad6\u90e8\u4ee5\u4e0b\u3001\u819d\u90e8\u4ee5\u4e0a\u7684\u7c97\u58ef\u80a2\u9ad4\uff0c\u860a\u542b\u5f37\u5065\u529b\u91cf\u7684\u808c\u8089\u7fa4\u3002\",\n        desc_cn: \"\u9acb\u90e8\u4ee5\u4e0b\u3001\u819d\u90e8\u4ee5\u4e0a\u7684\u7c97\u58ee\u80a2\u4f53\uff0c\u8574\u542b\u5f3a\u5065\u529b\u91cf\u7684\u808c\u8089\u7fa4\u3002\",\n        sentence_tw: \"\u300c\u5927\u817f\u7684\u808c\u8089\u6162\u6162\u9b06\u958b\uff0c\u91cb\u653e\u6240\u6709\u7ad9\u7acb\u6216\u8d70\u8def\u7684\u75b2\u618a\u3002\u300d\",\n        sentence_cn: \"\u201c\u5927\u817f\u7684\u808c\u8089\u6162\u6162\u677e\u5f00\uff0c\u91ca\u653e\u6240\u6709\u7ad9\u7acb\u6216\u8d70\u8def\u7684\u75b2\u60eb\u3002\u201d\",\n        sentence_py: \"D\u00e0tu\u01d0 de j\u012br\u00f2u m\u00e0nm\u00e0n s\u014dngk\u0101i, sh\u00ecf\u00e0ng su\u01d2y\u01d2u zh\u00e0nl\u00ec hu\u00f2 z\u01d2ul\u00f9 de p\u00edb\u00e8i.\",\n        sensations_tw: [\"\u9b06\u958b\", \"\u6c89\u7a69\"], sensations_cn: [\"\u677e\u5f00\", \"\u6c89\u7a33\"]\n      },\n      {\n        id: \"\u819d\u95dc\u7bc0\",\n        view: \"front\",\n        zh_tw: \"\u819d\u95dc\u7bc0 \/ \u819d\u84cb\", zh_cn: \"\u819d\u5173\u8282 \/ \u819d\u76d6\",\n        pinyin: \"x\u012b gu\u0101n ji\u00e9 \/ x\u012b g\u00e0i\", en: \"Knee Joint\",\n        category: \"limbs\",\n        category_tw: \"\u95dc\u7bc0\u8207\u9023\u63a5\u8655\", category_cn: \"\u5173\u8282\u4e0e\u8fde\u63a5\u5904\",\n        coords: { x: 57.0, y: 69.5 },\n        desc_tw: \"\u817f\u90e8\u4e2d\u9593\u5f4e\u66f2\u8655\uff0c\u627f\u8f09\u4eba\u9ad4\u5927\u90e8\u5206\u9ad4\u91cd\u7684\u91cd\u8981\u95dc\u7bc0\u6a1e\u7d10\u3002\",\n        desc_cn: \"\u817f\u90e8\u4e2d\u95f4\u5f2f\u66f2\u5904\uff0c\u627f\u8f7d\u4eba\u4f53\u5927\u90e8\u5206\u4f53\u91cd\u7684\u91cd\u8981\u5173\u8282\u67a2\u7ebd\u3002\",\n        sentence_tw: \"\u300c\u89ba\u5bdf\u819d\u95dc\u7bc0\u5167\u90e8\uff0c\u611f\u89ba\u6eab\u6f64\u901a\u66a2\u7684\u6c23\u6d41\u6d41\u904e\u95dc\u7bc0\u8154\u3002\u300d\",\n        sentence_cn: \"\u201c\u89c9\u5bdf\u819d\u5173\u8282\u5185\u90e8\uff0c\u611f\u89c9\u6e29\u6da6\u901a\u7545\u7684\u6c14\u6d41\u6d41\u8fc7\u5173\u8282\u8154\u3002\u201d\",\n        sentence_py: \"Ju\u00e9ch\u00e1 x\u012bgu\u0101nji\u00e9 n\u00e8ib\u00f9, g\u01cenju\u00e9 w\u0113nr\u00f9n t\u014dngch\u00e0ng de q\u00ecli\u00fa li\u00fagu\u00f2 gu\u0101nji\u00e9qi\u0101ng.\",\n        sensations_tw: [\"\u901a\u66a2\", \"\u6eab\u6696\", \"\u67d4\u8edf\"], sensations_cn: [\"\u901a\u7545\", \"\u6e29\u6696\", \"\u67d4\u8f6f\"]\n      },\n      {\n        id: \"\u5c0f\u817f\",\n        view: \"front\",\n        zh_tw: \"\u5c0f\u817f\", zh_cn: \"\u5c0f\u817f\",\n        pinyin: \"xi\u01ceo tu\u01d0\", en: \"Calf \/ Lower Leg\",\n        category: \"limbs\",\n        category_tw: \"\u5927\u7bc4\u570d\u5340\u584a\", category_cn: \"\u5927\u8303\u56f4\u533a\u5757\",\n        coords: { x: 57.0, y: 79.0 },\n        desc_tw: \"\u819d\u84cb\u4ee5\u4e0b\u3001\u8173\u8e1d\u4ee5\u4e0a\u7684\u5340\u57df\uff0c\u6709\u52a9\u65bc\u8840\u6db2\u56de\u6d41\u5fc3\u81df\u7684\u300c\u7b2c\u4e8c\u5fc3\u81df\u300d\u3002\",\n        desc_cn: \"\u819d\u76d6\u4ee5\u4e0b\u3001\u811a\u8e1d\u4ee5\u4e0a\u7684\u533a\u57df\uff0c\u6709\u52a9\u4e8e\u8840\u6db2\u56de\u6d41\u5fc3\u810f\u7684\u201c\u7b2c\u4e8c\u5fc3\u810f\u201d\u3002\",\n        sentence_tw: \"\u300c\u5c0f\u817f\u808c\u8089\u5b8c\u5168\u653e\u9b06\uff0c\u91cd\u91cf\u9806\u66a2\u5730\u4e0b\u6c89\u5230\u5730\u9762\u3002\u300d\",\n        sentence_cn: \"\u201c\u5c0f\u817f\u808c\u8089\u5b8c\u5168\u653e\u677e\uff0c\u91cd\u91cf\u987a\u7545\u5730\u4e0b\u6c89\u5230\u5730\u9762\u3002\u201d\",\n        sentence_py: \"Xi\u01ceotu\u01d0 j\u012br\u00f2u w\u00e1nqu\u00e1n f\u00e0ngs\u014dng, zh\u00f2ngli\u00e0ng sh\u00f9nch\u00e0ng de xi\u00e0ch\u00e9n d\u00e0o di\u00e0n.\",\n        sensations_tw: [\"\u4e0b\u6c89\", \"\u653e\u9b06\"], sensations_cn: [\"\u4e0b\u6c89\", \"\u653e\u677e\"]\n      },\n      {\n        id: \"\u8e1d\u95dc\u7bc0\",\n        view: \"front\",\n        zh_tw: \"\u8e1d\u95dc\u7bc0 \/ \u8173\u8e1d\", zh_cn: \"\u8e1d\u5173\u8282 \/ \u811a\u8e1d\",\n        pinyin: \"hu\u00e1i gu\u0101n ji\u00e9 \/ ji\u01ceo hu\u00e1i\", en: \"Ankle Joint\",\n        category: \"limbs\",\n        category_tw: \"\u95dc\u7bc0\u8207\u9023\u63a5\u8655\", category_cn: \"\u5173\u8282\u4e0e\u8fde\u63a5\u5904\",\n        coords: { x: 57.0, y: 88.5 },\n        desc_tw: \"\u8173\u638c\u8207\u5c0f\u817f\u9023\u63a5\u8655\uff0c\u8ca0\u8cac\u8eab\u9ad4\u5fae\u8abf\u5e73\u8861\u8207\u624e\u6839\u7684\u91cd\u8981\u63a5\u9ede\u3002\",\n        desc_cn: \"\u811a\u638c\u4e0e\u5c0f\u817f\u8fde\u63a5\u5904\uff0c\u8d1f\u8d23\u8eab\u4f53\u5fae\u8c03\u5e73\u8861\u4e0e\u624e\u6839\u7684\u91cd\u8981\u63a5\u70b9\u3002\",\n        sentence_tw: \"\u300c\u653e\u9b06\u8e1d\u95dc\u7bc0\uff0c\u6c23\u6d41\u5728\u6b64\u6beb\u7121\u5361\u9813\u5730\u704c\u6ce8\u9032\u6574\u500b\u8173\u638c\u3002\u300d\",\n        sentence_cn: \"\u201c\u653e\u677e\u8e1d\u5173\u8282\uff0c\u6c14\u6d41\u5728\u6b64\u6beb\u65e0\u5361\u987f\u5730\u704c\u6ce8\u8fdb\u6574\u4e2a\u811a\u638c\u3002\u201d\",\n        sentence_py: \"F\u00e0ngs\u014dng hu\u00e1igu\u0101nji\u00e9, q\u00ecli\u00fa z\u00e0i c\u01d0 h\u00e1o w\u00fa k\u01ced\u00f9n de gu\u00e0nzh\u00f9 j\u00ecn zh\u011bngg\u00e8 ji\u01ceozh\u01ceng.\",\n        sensations_tw: [\"\u50b3\u5c0e\", \"\u901a\u66a2\"], sensations_cn: [\"\u4f20\u5bfc\", \"\u901a\u7545\"]\n      },\n      {\n        id: \"\u8173\u5e95\",\n        view: \"front\",\n        zh_tw: \"\u8173\u5e95\", zh_cn: \"\u811a\u5e95\",\n        pinyin: \"ji\u01ceo d\u01d0\", en: \"Sole of the Foot (Yongquan)\",\n        category: \"limbs\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 58.0, y: 94.8 },\n        desc_tw: \"\u8173\u638c\u5e95\u90e8\uff08\u6e67\u6cc9\u7a74\u6240\u5728\uff09\uff0c\u8eab\u9ad4\u91cd\u91cf\u5f80\u4e0b\u6c89\u3001\u624e\u6839\u5927\u5730\u7684\u63a5\u5730\u9762\u3002\",\n        desc_cn: \"\u811a\u638c\u5e95\u90e8\uff08\u6d8c\u6cc9\u7a74\u6240\u5728\uff09\uff0c\u8eab\u4f53\u91cd\u91cf\u5f80\u4e0b\u6c89\u3001\u624e\u6839\u5927\u5730\u7684\u63a5\u5730\u9762\u3002\",\n        sentence_tw: \"\u300c\u611f\u89ba\u8eab\u9ad4\u7684\u91cd\u91cf\u8207\u6c23\u6d41\u4e0b\u6c89\u5230\u8173\u5e95\u6e67\u6cc9\uff0c\u7a69\u7a69\u624e\u6839\u65bc\u5927\u5730\u3002\u300d\",\n        sentence_cn: \"\u201c\u611f\u89c9\u8eab\u4f53\u7684\u91cd\u91cf\u4e0e\u6c14\u6d41\u4e0b\u6c89\u5230\u811a\u5e95\u6d8c\u6cc9\uff0c\u7a33\u7a33\u624e\u6839\u4e8e\u5927\u5730\u3002\u201d\",\n        sentence_py: \"G\u01cenju\u00e9 sh\u0113nt\u01d0 de zh\u00f2ngli\u00e0ng y\u01d4 q\u00ecli\u00fa xi\u00e0ch\u00e9n d\u00e0o ji\u01ceod\u01d0 y\u01d2ngqu\u00e1n, w\u011bnw\u011bn zh\u0101g\u0113n y\u00fa d\u00e0d\u00ec.\",\n        sensations_tw: [\"\u4e0b\u6c89\", \"\u624e\u6839\", \"\u8e0f\u5be6\"], sensations_cn: [\"\u4e0b\u6c89\", \"\u624e\u6839\", \"\u8e0f\u5b9e\"]\n      },\n      {\n        id: \"\u8173\u5c16\",\n        view: \"front\",\n        zh_tw: \"\u8173\u5c16\", zh_cn: \"\u811a\u5c16\",\n        pinyin: \"ji\u01ceo ji\u0101n\", en: \"Toes \/ Tip of the Foot\",\n        category: \"limbs\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 60.0, y: 96.0 },\n        desc_tw: \"\u8173\u8dbe\u6700\u672b\u7aef\uff0c\u4e0b\u80a2\u6c23\u8840\u5fae\u5faa\u74b0\u7684\u7d42\u9ede\u8207\u5ef6\u4f38\u3002\",\n        desc_cn: \"\u811a\u8dbe\u6700\u672b\u7aef\uff0c\u4e0b\u80a2\u6c14\u8840\u5fae\u5faa\u73af\u7684\u7ec8\u70b9\u4e0e\u5ef6\u4f38\u3002\",\n        sentence_tw: \"\u300c\u7d30\u7d30\u9ad4\u6703\uff0c\u6709\u4e00\u80a1\u8f15\u5fae\u7684\u9ebb\u8139\u6c23\u611f\u4e00\u76f4\u5ef6\u4f38\u5230\u8173\u5c16\u3002\u300d\",\n        sentence_cn: \"\u201c\u7ec6\u7ec6\u4f53\u4f1a\uff0c\u6709\u4e00\u80a1\u8f7b\u5fae\u7684\u9ebb\u80c0\u6c14\u611f\u4e00\u76f4\u5ef6\u4f38\u5230\u811a\u5c16\u3002\u201d\",\n        sentence_py: \"X\u00ecx\u00ec t\u01d0hu\u00ec, y\u01d2u y\u012b g\u01d4 q\u012bngw\u0113i de m\u00e1zh\u00e0ng q\u00ecg\u01cen y\u012bzh\u00ed y\u00e1nsh\u0113n d\u00e0o ji\u01ceoji\u0101n.\",\n        sensations_tw: [\"\u5fae\u9ebb\", \"\u5ef6\u4f38\", \"\u901a\u66a2\"], sensations_cn: [\"\u5fae\u9ebb\", \"\u5ef6\u4f38\", \"\u901a\u7545\"]\n      },\n\n      \/* ==================== \u80cc\u9762\u90e8\u4f4d (Back) \u622a\u5716\u7cbe\u6e96\u6821\u6e96\u5ea7\u6a19 ==================== *\/\n      {\n        id: \"\u982d\u9802_back\",\n        canonicalId: \"\u982d\u9802\",\n        view: \"back\",\n        zh_tw: \"\u982d\u9802\", zh_cn: \"\u5934\u9876\",\n        pinyin: \"t\u00f3u d\u01d0ng\", en: \"Crown of the Head\",\n        category: \"head\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 50.0, y: 5.6 }, \/\/ \u4e2d\u8ef8\n        desc_tw: \"\u982d\u90e8\u6700\u9ad8\u9ede\uff0c\u7531\u5f8c\u65b9\u89c0\u770b\u66f4\u986f\u633a\u62d4\uff0c\u662f\u7763\u8108\u6c23\u8840\u4e0a\u884c\u532f\u805a\u4e4b\u8655\u3002\",\n        desc_cn: \"\u5934\u90e8\u6700\u9ad8\u70b9\uff0c\u7531\u540e\u65b9\u89c2\u770b\u66f4\u663e\u633a\u62d4\uff0c\u662f\u7763\u8109\u6c14\u8840\u4e0a\u884c\u6c47\u805a\u4e4b\u5904\u3002\",\n        sentence_tw: \"\u300c\u810a\u6881\u5411\u4e0a\u5ef6\u5c55\uff0c\u5f77\u5f7f\u6709\u4e00\u689d\u6eab\u67d4\u7684\u7dda\u81ea\u982d\u9802\u5c07\u8eab\u8ec0\u8f15\u8f15\u63d0\u8d77\u3002\u300d\",\n        sentence_cn: \"\u201c\u810a\u6881\u5411\u4e0a\u5ef6\u5c55\uff0c\u4eff\u4f5b\u6709\u4e00\u6761\u6e29\u67d4\u7684\u7ebf\u81ea\u5934\u9876\u5c06\u8eab\u8eaf\u8f7b\u8f7b\u63d0\u8d77\u3002\u201d\",\n        sentence_py: \"J\u01d0li\u00e1ng xi\u00e0ng sh\u00e0ng y\u00e1nzh\u01cen, f\u01cengf\u00fa y\u01d2u y\u012b ti\u00e1o w\u0113nr\u00f3u de xi\u00e0n z\u00ec t\u00f3ud\u01d0ng ji\u0101ng sh\u0113nq\u016b q\u012bngq\u012bng t\u00edq\u01d0.\",\n        sensations_tw: [\"\u5ef6\u5c55\", \"\u63d0\u62d4\", \"\u6e05\u660e\"], sensations_cn: [\"\u5ef6\u5c55\", \"\u63d0\u62d4\", \"\u6e05\u660e\"]\n      },\n      {\n        id: \"\u5f8c\u8166\u52fa\",\n        view: \"back\",\n        zh_tw: \"\u5f8c\u8166\u52fa\", zh_cn: \"\u540e\u8111\u52fa\",\n        pinyin: \"h\u00f2u n\u01ceo sh\u00e1o\", en: \"Occiput \/ Back of Head\",\n        category: \"head\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 50.0, y: 10.5 }, \/\/ \u4e2d\u8ef8\n        desc_tw: \"\u982d\u90e8\u5f8c\u65b9\u3001\u6795\u9aa8\u8655\uff0c\u8996\u89ba\u8207\u795e\u7d93\u58d3\u529b\u5e38\u5728\u6b64\u51dd\u7d50\uff0c\u662f\u8eab\u5fc3\u653e\u9b06\u7684\u91cd\u8981\u9580\u6236\u3002\",\n        desc_cn: \"\u5934\u90e8\u540e\u65b9\u3001\u6795\u9aa8\u5904\uff0c\u89c6\u89c9\u4e0e\u795e\u7ecf\u538b\u529b\u5e38\u5728\u6b64\u51dd\u7ed3\uff0c\u662f\u8eab\u5fc3\u653e\u677e\u7684\u91cd\u8981\u95e8\u6237\u3002\",\n        sentence_tw: \"\u300c\u5f8c\u8166\u52fa\u611f\u89ba\u6c89\u7538\u7538\u5730\u653e\u9b06\uff0c\u5c07\u6240\u6709\u7684\u601d\u8003\u601d\u616e\u6162\u6162\u653e\u4e0b\u3002\u300d\",\n        sentence_cn: \"\u201c\u540e\u8111\u52fa\u611f\u89c9\u6c89\u7538\u7538\u5730\u653e\u677e\uff0c\u5c06\u6240\u6709\u7684\u601d\u8003\u601d\u8651\u6162\u6162\u653e\u4e0b\u3002\u201d\",\n        sentence_py: \"H\u00f2un\u01ceosh\u00e1o g\u01cenju\u00e9 ch\u00e9ndi\u00e0ndi\u00e0n de f\u00e0ngs\u014dng, ji\u0101ng su\u01d2y\u01d2u de s\u012bk\u01ceo s\u012bl\u01dc m\u00e0nm\u00e0n f\u00e0ngxi\u00e0.\",\n        sensations_tw: [\"\u653e\u9b06\", \"\u6c89\u7538\u7538\", \"\u6e05\u6dbc\"], sensations_cn: [\"\u653e\u677e\", \"\u6c89\u7538\u7538\", \"\u6e05\u51c9\"]\n      },\n      {\n        id: \"\u9838\u690e\",\n        view: \"back\",\n        zh_tw: \"\u9838\u690e\", zh_cn: \"\u9888\u690e\",\n        pinyin: \"j\u01d0ng zhu\u012b\", en: \"Cervical Spine\",\n        category: \"head\",\n        category_tw: \"\u95dc\u7bc0\u8207\u9023\u63a5\u8655\", category_cn: \"\u5173\u8282\u4e0e\u8fde\u63a5\u5904\",\n        coords: { x: 50.0, y: 16.5 }, \/\/ \u4e2d\u8ef8\n        desc_tw: \"\u8116\u5b50\u90e8\u4f4d\u7684\u810a\u690e\uff0c\u627f\u6258\u982d\u9871\u91cd\u529b\uff0c\u5bb9\u6613\u56e0\u4f4e\u982d\u800c\u50f5\u786c\uff0c\u9700\u5f15\u5c0e\u6c23\u6d41\u6eab\u6f64\u62c9\u958b\u7bc0\u8207\u7bc0\u7684\u8ddd\u96e2\u3002\",\n        desc_cn: \"\u8116\u5b50\u90e8\u4f4d\u7684\u810a\u690e\uff0c\u627f\u6258\u5934\u9885\u91cd\u529b\uff0c\u5bb9\u6613\u56e0\u4f4e\u5934\u800c\u50f5\u786c\uff0c\u9700\u5f15\u5bfc\u6c14\u6d41\u6e29\u6da6\u62c9\u5f00\u8282\u4e0e\u8282\u7684\u8ddd\u79bb\u3002\",\n        sentence_tw: \"\u300c\u9838\u690e\u4e00\u7bc0\u4e00\u7bc0\u5730\u62c9\u958b\u7a7a\u9593\uff0c\u8116\u5b50\u611f\u89ba\u67d4\u8edf\u800c\u901a\u66a2\u3002\u300d\",\n        sentence_cn: \"\u201c\u9888\u690e\u4e00\u8282\u4e00\u8282\u5730\u62c9\u5f00\u7a7a\u95f4\uff0c\u8116\u5b50\u611f\u89c9\u67d4\u8f6f\u800c\u901a\u7545\u3002\u201d\",\n        sentence_py: \"J\u01d0ngzhu\u012b y\u012b ji\u00e9 y\u012b ji\u00e9 de l\u0101k\u0101i k\u014dngji\u0101n, b\u00f3zi g\u01cenju\u00e9 r\u00f3uru\u01cen \u00e9r t\u014dngch\u00e0ng.\",\n        sensations_tw: [\"\u901a\u66a2\", \"\u67d4\u8edf\", \"\u62c9\u958b\u7a7a\u9593\"], sensations_cn: [\"\u901a\u7545\", \"\u67d4\u8f6f\", \"\u62c9\u5f00\u7a7a\u95f4\"]\n      },\n      {\n        id: \"\u80a9\u80cc\",\n        view: \"back\",\n        zh_tw: \"\u80a9\u80cc \/ \u80a9\u80db\u9aa8\", zh_cn: \"\u80a9\u80cc \/ \u80a9\u80db\u9aa8\",\n        pinyin: \"ji\u0101n b\u00e8i \/ ji\u0101n ji\u01ce g\u01d4\", en: \"Scapula \/ Upper Back\",\n        category: \"torso\",\n        category_tw: \"\u5927\u7bc4\u570d\u5340\u584a\", category_cn: \"\u5927\u8303\u56f4\u533a\u5757\",\n        coords: { x: 58.5, y: 24.0 }, \/\/ \u53f3\u5074\u80a9\u80db\u9aa8\n        desc_tw: \"\u80a9\u80db\u9aa8\u8207\u4e0a\u80cc\u5340\u57df\uff0c\u6700\u5e38\u627f\u64d4\u751f\u6d3b\u58d3\u529b\u8207\u8cac\u4efb\u5f35\u529b\uff0c\u9700\u900f\u904e\u547c\u6c23\u5b8c\u5168\u9b06\u958b\u878d\u5316\u3002\",\n        desc_cn: \"\u80a9\u80db\u9aa8\u4e0e\u4e0a\u80cc\u533a\u57df\uff0c\u6700\u5e38\u627f\u62c5\u751f\u6d3b\u538b\u529b\u4e0e\u8d23\u4efb\u5f20\u529b\uff0c\u9700\u901a\u8fc7\u547c\u6c14\u5b8c\u5168\u677e\u5f00\u878d\u5316\u3002\",\n        sentence_tw: \"\u300c\u547c\u6c23\u6642\u80a9\u80db\u9aa8\u5411\u5169\u5074\u6c89\u843d\uff0c\u4e0a\u80cc\u7684\u6c89\u91cd\u611f\u96a8\u4e4b\u6d88\u878d\u3002\u300d\",\n        sentence_cn: \"\u201c\u547c\u6c14\u65f6\u80a9\u80db\u9aa8\u5411\u4e24\u4fa7\u6c89\u843d\uff0c\u4e0a\u80cc\u7684\u6c89\u91cd\u611f\u968f\u4e4b\u6d88\u878d\u3002\u201d\",\n        sentence_py: \"H\u016bq\u00ec sh\u00ed ji\u0101nji\u01ceg\u01d4 xi\u00e0ng li\u01cengc\u00e8 ch\u00e9nlu\u00f2, sh\u00e0ngb\u00e8i de ch\u00e9nzh\u00f2ngg\u01cen su\u00edzh\u012b xi\u0101or\u00f3ng.\",\n        sensations_tw: [\"\u6c89\u843d\", \"\u6d88\u878d\", \"\u5bec\u95ca\"], sensations_cn: [\"\u6c89\u843d\", \"\u6d88\u878d\", \"\u5bbd\u9614\"]\n      },\n      {\n        id: \"\u810a\u690e\",\n        view: \"back\",\n        zh_tw: \"\u810a\u690e \/ \u810a\u80cc\", zh_cn: \"\u810a\u690e \/ \u810a\u80cc\",\n        pinyin: \"j\u01d0 zhu\u012b \/ j\u01d0 b\u00e8i\", en: \"Thoracic Spine \/ Mid Back\",\n        category: \"torso\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d \/ \u9aa8\u67b6\u4e2d\u8ef8\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d \/ \u9aa8\u67b6\u4e2d\u8f74\",\n        coords: { x: 50.0, y: 28.5 }, \/\/ \u4e2d\u8ef8\u810a\u80cc\n        desc_tw: \"\u80cc\u90e8\u4e2d\u8ef8\uff0c\u8eab\u9ad4\u7684\u652f\u67f1\uff0c\u4e2d\u5f0f\u8eab\u5fc3\u4fee\u7149\u4e2d\u300c\u6c23\u8cab\u4e2d\u8ef8\u300d\u7684\u6838\u5fc3\u901a\u9053\u3002\",\n        desc_cn: \"\u80cc\u90e8\u4e2d\u8f74\uff0c\u8eab\u4f53\u7684\u652f\u67f1\uff0c\u4e2d\u5f0f\u8eab\u5fc3\u4fee\u70bc\u4e2d\u201c\u6c14\u8d2f\u4e2d\u8f74\u201d\u7684\u6838\u5fc3\u901a\u9053\u3002\",\n        sentence_tw: \"\u300c\u4e00\u80a1\u6c23\u8cab\u7a7f\u4e86\u6574\u689d\u810a\u690e\uff0c\u7531\u4e0b\u5f80\u4e0a\u901a\u66a2\u7121\u963b\u5730\u6d41\u52d5\u3002\u300d\",\n        sentence_cn: \"\u201c\u4e00\u80a1\u6c14\u8d2f\u7a7f\u4e86\u6574\u6761\u810a\u690e\uff0c\u7531\u4e0b\u5f80\u4e0a\u901a\u7545\u65e0\u963b\u5730\u6d41\u52a8\u3002\u201d\",\n        sentence_py: \"Y\u012b g\u01d4 q\u00ec gu\u00e0nchu\u0101n le zh\u011bng ti\u00e1o j\u01d0zhu\u012b, y\u00f3u xi\u00e0 w\u01ceng sh\u00e0ng t\u014dngch\u00e0ng w\u00faz\u01d4 de li\u00fad\u00f2ng.\",\n        sensations_tw: [\"\u8cab\u7a7f\", \"\u4e0a\u5347\", \"\u901a\u66a2\"], sensations_cn: [\"\u8d2f\u7a7f\", \"\u4e0a\u5347\", \"\u901a\u7545\"]\n      },\n      {\n        id: \"\u8170\u90e8\",\n        view: \"back\",\n        zh_tw: \"\u8170\u90e8 \/ \u547d\u9580\", zh_cn: \"\u8170\u90e8 \/ \u547d\u95e8\",\n        pinyin: \"y\u0101o b\u00f9 \/ m\u00ecng m\u00e9n\", en: \"Lumbar \/ Lower Back\",\n        category: \"torso\",\n        category_tw: \"\u5927\u7bc4\u570d\u5340\u584a\", category_cn: \"\u5927\u8303\u56f4\u533a\u5757\",\n        coords: { x: 50.0, y: 39.0 }, \/\/ \u622a\u5716\u8170\u90e8\u4e2d\u8ef8\u9ede\n        desc_tw: \"\u810a\u690e\u4e2d\u6bb5\u8207\u9aa8\u76c6\u4e4b\u9593\u7684\u5340\u57df\uff08\u547d\u9580\u7a74\u4f4d\u7f6e\uff09\uff0c\u4e2d\u91ab\u8a8d\u70ba\u662f\u4eba\u9ad4\u7cbe\u6c23\u6240\u7e6b\u3002\",\n        desc_cn: \"\u810a\u690e\u4e2d\u6bb5\u4e0e\u9aa8\u76c6\u4e4b\u95f4\u7684\u533a\u57df\uff08\u547d\u95e8\u7a74\u4f4d\u7f6e\uff09\uff0c\u4e2d\u533b\u8ba4\u4e3a\u662f\u4eba\u4f53\u7cbe\u6c14\u6240\u7cfb\u3002\",\n        sentence_tw: \"\u300c\u8170\u90e8\u547d\u9580\u7684\u5730\u65b9\uff0c\u611f\u89ba\u7279\u5225\u5bec\u9b06\u6eab\u71b1\uff0c\u6c92\u6709\u4e00\u7d72\u50f5\u786c\u3002\u300d\",\n        sentence_cn: \"\u201c\u8170\u90e8\u547d\u95e8\u7684\u5730\u65b9\uff0c\u611f\u89c9\u7279\u522b\u5bbd\u677e\u6e29\u70ed\uff0c\u6ca1\u6709\u4e00\u4e1d\u50f5\u786c\u3002\u201d\",\n        sentence_py: \"Y\u0101ob\u00f9 m\u00ecngm\u00e9n de d\u00ecf\u0101ng, g\u01cenju\u00e9 t\u00e8bi\u00e9 ku\u0101ns\u014dng w\u0113nr\u00e8, m\u00e9iy\u01d2u y\u012bs\u012b ji\u0101ngy\u00ecng.\",\n        sensations_tw: [\"\u5bec\u9b06\", \"\u6eab\u71b1\", \"\u67d4\u8edf\"], sensations_cn: [\"\u5bbd\u677e\", \"\u6e29\u70ed\", \"\u67d4\u8f6f\"]\n      },\n      {\n        id: \"\u5c3e\u690e\",\n        view: \"back\",\n        zh_tw: \"\u5c3e\u690e\", zh_cn: \"\u5c3e\u690e\",\n        pinyin: \"w\u011bi zhu\u012b\", en: \"Tailbone \/ Coccyx\",\n        category: \"torso\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 50.0, y: 46.5 }, \/\/ \u622a\u5716\u81c0\u6e9d\u4e0a\u65b9\u5c3e\u9aa8\u9ede\n        desc_tw: \"\u810a\u690e\u6700\u4e0b\u7aef\uff0c\u9aa8\u76c6\u5e95\u90e8\u7684\u5c16\u7aef\uff0c\u5c07\u610f\u5ff5\u5f15\u5c0e\u5411\u4e0b\u6c89\u5be6\u7684\u4e0b\u6c89\u9328\u5b9a\u9ede\u3002\",\n        desc_cn: \"\u810a\u690e\u6700\u4e0b\u7aef\uff0c\u9aa8\u76c6\u5e95\u90e8\u7684\u5c16\u7aef\uff0c\u5c06\u610f\u5ff5\u5f15\u5bfc\u5411\u4e0b\u6c89\u5b9e\u7684\u4e0b\u6c89\u951a\u5b9a\u70b9\u3002\",\n        sentence_tw: \"\u300c\u6ce8\u610f\u529b\u4f86\u5230\u5c3e\u690e\uff0c\u611f\u89ba\u6574\u500b\u8eab\u9ad4\u7684\u91cd\u91cf\u7a69\u7a69\u5411\u4e0b\u843d\u5b9a\u3002\u300d\",\n        sentence_cn: \"\u201c\u6ce8\u610f\u529b\u6765\u5230\u5c3e\u690e\uff0c\u611f\u89c9\u6574\u4e2a\u8eab\u4f53\u7684\u91cd\u91cf\u7a33\u7a33\u5411\u4e0b\u843d\u5b9a\u3002\u201d\",\n        sentence_py: \"Zh\u00f9y\u00ecl\u00ec l\u00e1i d\u00e0o w\u011bizhu\u012b, g\u01cenju\u00e9 zh\u011bngg\u00e8 sh\u0113nt\u01d0 de zh\u00f2ngli\u00e0ng w\u011bnw\u011bn xi\u00e0xi\u00e0ng lu\u00f2d\u00ecng.\",\n        sensations_tw: [\"\u843d\u5b9a\", \"\u4e0b\u6c89\", \"\u7a69\u5b9a\"], sensations_cn: [\"\u843d\u5b9a\", \"\u4e0b\u6c89\", \"\u7a33\u5b9a\"]\n      },\n      {\n        id: \"\u624b\u80cc\",\n        view: \"back\",\n        zh_tw: \"\u624b\u80cc\", zh_cn: \"\u624b\u80cc\",\n        pinyin: \"sh\u01d2u b\u00e8i\", en: \"Back of Hand\",\n        category: \"limbs\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 69.5, y: 51.5 }, \/\/ \u7cbe\u6e96\u6821\u6e96\u81f3\u53f3\u624b\u81c2\u5782\u653e\u624b\u80cc\u8655\uff08\u544a\u5225\u61f8\u7a7a\uff09\n        desc_tw: \"\u624b\u638c\u53cd\u9762\uff0c\u76ae\u819a\u8f03\u8584\u4e14\u8840\u7ba1\u808c\u8171\u6e05\u6670\uff0c\u80fd\u654f\u92b3\u89ba\u5bdf\u5468\u906d\u7a7a\u6c23\u6d41\u52d5\u7684\u6eab\u5ea6\u8b8a\u5316\u3002\",\n        desc_cn: \"\u624b\u638c\u53cd\u9762\uff0c\u76ae\u80a4\u8f83\u8584\u4e14\u8840\u7ba1\u808c\u8171\u6e05\u6670\uff0c\u80fd\u654f\u9510\u89c9\u5bdf\u5468\u906d\u7a7a\u6c14\u6d41\u52a8\u7684\u6e29\u5ea6\u53d8\u5316\u3002\",\n        sentence_tw: \"\u300c\u611f\u89ba\u624b\u80cc\u4e0a\u7a7a\u6c23\u6d41\u52d5\u5e36\u4f86\u7684\u5fae\u6dbc\u611f\uff0c\u7d30\u7dfb\u800c\u6e05\u6670\u3002\u300d\",\n        sentence_cn: \"\u201c\u611f\u89c9\u624b\u80cc\u4e0a\u7a7a\u6c14\u6d41\u52a8\u5e26\u6765\u7684\u5fae\u51c9\u611f\uff0c\u7ec6\u81f4\u800c\u6e05\u6670\u3002\u201d\",\n        sentence_py: \"G\u01cenju\u00e9 sh\u01d2ub\u00e8i sh\u00e0ng k\u014dngq\u00ec li\u00fad\u00f2ng d\u00e0il\u00e1i de w\u0113ili\u00e1ng g\u01cen, x\u00eczh\u00ec \u00e9r q\u012bngx\u012b.\",\n        sensations_tw: [\"\u5fae\u6dbc\", \"\u6e05\u900f\", \"\u653e\u9b06\"], sensations_cn: [\"\u5fae\u51c9\", \"\u6e05\u900f\", \"\u653e\u677e\"]\n      },\n      {\n        id: \"\u5927\u817f\u5f8c\u5074\",\n        view: \"back\",\n        zh_tw: \"\u5927\u817f\u5f8c\u5074\", zh_cn: \"\u5927\u817f\u540e\u4fa7\",\n        pinyin: \"d\u00e0 tu\u01d0 h\u00f2u c\u00e8\", en: \"Hamstrings \/ Back of Thigh\",\n        category: \"limbs\",\n        category_tw: \"\u5927\u7bc4\u570d\u5340\u584a\", category_cn: \"\u5927\u8303\u56f4\u533a\u5757\",\n        coords: { x: 59.8, y: 58.5 }, \/\/ \u7cbe\u6e96\u6821\u6e96\u81f3\u53f3\u5927\u817f\u808c\u7fa4\u4e2d\u8ef8\uff08\u544a\u5225\u5167\u5074\u7e2b\u9699\uff09\n        desc_tw: \"\u5927\u817f\u5f8c\u5074\u808c\u7fa4\uff08\u8195\u65c1\u808c\uff09\uff0c\u5e38\u56e0\u4e45\u5750\u800c\u7dca\u7e2e\uff0c\u9700\u5f15\u5c0e\u6df1\u9577\u547c\u6c23\u52a0\u4ee5\u8212\u5c55\u3002\",\n        desc_cn: \"\u5927\u817f\u540e\u4fa7\u808c\u7fa4\uff08\u8158\u65c1\u808c\uff09\uff0c\u5e38\u56e0\u4e45\u5750\u800c\u7d27\u7f29\uff0c\u9700\u5f15\u5bfc\u6df1\u957f\u547c\u6c14\u52a0\u4ee5\u8212\u5c55\u3002\",\n        sentence_tw: \"\u300c\u96a8\u8457\u5410\u6c23\uff0c\u8b93\u5927\u817f\u5f8c\u5074\u7684\u5f35\u529b\u6162\u6162\u91cb\u653e\u3001\u4f38\u5c55\u958b\u4f86\u3002\u300d\",\n        sentence_cn: \"\u201c\u968f\u7740\u5410\u6c14\uff0c\u8ba9\u5927\u817f\u540e\u4fa7\u7684\u5f20\u529b\u6162\u6162\u91ca\u653e\u3001\u4f38\u5c55\u5f00\u6765\u3002\u201d\",\n        sentence_py: \"Su\u00edzhe t\u01d4q\u00ec, r\u00e0ng d\u00e0tu\u01d0 h\u00f2uc\u00e8 de zh\u0101ngl\u00ec m\u00e0nm\u00e0n sh\u00ecf\u00e0ng, sh\u0113nzh\u01cen k\u0101i l\u00e1i.\",\n        sensations_tw: [\"\u8212\u5c55\", \"\u91cb\u653e\", \"\u67d4\u8edf\"], sensations_cn: [\"\u8212\u5c55\", \"\u91ca\u653e\", \"\u67d4\u8f6f\"]\n      },\n      {\n        id: \"\u819d\u7aa9\",\n        view: \"back\",\n        zh_tw: \"\u819d\u7aa9 \/ \u819d\u95dc\u7bc0\u5f8c\u5074\", zh_cn: \"\u819d\u7a9d \/ \u819d\u5173\u8282\u540e\u4fa7\",\n        pinyin: \"x\u012b w\u014d \/ x\u012b gu\u0101n ji\u00e9 h\u00f2u c\u00e8\", en: \"Popliteal Fossa \/ Back of Knee\",\n        category: \"limbs\",\n        category_tw: \"\u95dc\u7bc0\u8207\u9023\u63a5\u8655\", category_cn: \"\u5173\u8282\u4e0e\u8fde\u63a5\u5904\",\n        coords: { x: 59.8, y: 69.5 }, \/\/ \u7cbe\u6e96\u6821\u6e96\u81f3\u53f3\u819d\u95dc\u7bc0\u7aa9\u51f9\u9677\u6b63\u4e2d\n        desc_tw: \"\u819d\u84cb\u5f8c\u65b9\u7684\u51f9\u9677\u8655\uff08\u59d4\u4e2d\u7a74\u6240\u5728\uff09\uff0c\u662f\u4e0b\u80a2\u6c23\u8840\u8207\u795e\u7d93\u901a\u9054\u7684\u91cd\u8981\u6a1e\u7d10\u3002\",\n        desc_cn: \"\u819d\u76d6\u540e\u65b9\u7684\u51f9\u9677\u5904\uff08\u59d4\u4e2d\u7a74\u6240\u5728\uff09\uff0c\u662f\u4e0b\u80a2\u6c14\u8840\u4e0e\u795e\u7ecf\u901a\u8fbe\u7684\u91cd\u8981\u67a2\u7ebd\u3002\",\n        sentence_tw: \"\u300c\u653e\u9b06\u819d\u7aa9\u5fae\u5c0f\u7684\u5f35\u529b\uff0c\u611f\u89ba\u6c23\u8840\u5728\u6b64\u7121\u963b\u7919\u5730\u6d41\u5411\u4e0b\u80a2\u3002\u300d\",\n        sentence_cn: \"\u201c\u653e\u677e\u819d\u7a9d\u5fae\u5c0f\u7684\u5f20\u529b\uff0c\u611f\u89c9\u6c14\u8840\u5728\u6b64\u65e0\u963b\u788d\u5730\u6d41\u5411\u4e0b\u80a2\u3002\u201d\",\n        sentence_py: \"F\u00e0ngs\u014dng x\u012bw\u014d w\u0113ixi\u01ceo de zh\u0101ngl\u00ec, g\u01cenju\u00e9 q\u00ecxu\u00e8 z\u00e0i c\u01d0 w\u00fa z\u01d4'\u00e0i de li\u00fa xi\u00e0ng xi\u00e0zh\u012b.\",\n        sensations_tw: [\"\u901a\u66a2\", \"\u67d4\u8edf\", \"\u9b06\u958b\"], sensations_cn: [\"\u901a\u7545\", \"\u67d4\u8f6f\", \"\u677e\u5f00\"]\n      },\n      {\n        id: \"\u5c0f\u817f\u5f8c\u5074\",\n        view: \"back\",\n        zh_tw: \"\u5c0f\u817f\u5f8c\u5074 \/ \u5c0f\u817f\u809a\", zh_cn: \"\u5c0f\u817f\u540e\u4fa7 \/ \u5c0f\u817f\u809a\",\n        pinyin: \"xi\u01ceo tu\u01d0 h\u00f2u c\u00e8 \/ xi\u01ceo tu\u01d0 d\u00f9\", en: \"Calf Muscles\",\n        category: \"limbs\",\n        category_tw: \"\u5927\u7bc4\u570d\u5340\u584a\", category_cn: \"\u5927\u8303\u56f4\u533a\u5757\",\n        coords: { x: 59.8, y: 79.0 }, \/\/ \u7cbe\u6e96\u6821\u6e96\u81f3\u53f3\u5c0f\u817f\u8153\u8178\u808c\u4e2d\u8ef8\n        desc_tw: \"\u5c0f\u817f\u809a\u8153\u8178\u808c\u8207\u6bd4\u76ee\u9b5a\u808c\uff0c\u8ca0\u8cac\u884c\u8d70\u5f48\u8df3\uff0c\u6975\u6613\u7a4d\u7d2f\u4e73\u9178\u8207\u75b2\u52de\u611f\u3002\",\n        desc_cn: \"\u5c0f\u817f\u809a\u8153\u80a0\u808c\u4e0e\u6bd4\u76ee\u9c7c\u808c\uff0c\u8d1f\u8d23\u884c\u8d70\u5f39\u8df3\uff0c\u6781\u6613\u79ef\u7d2f\u4e73\u9178\u4e0e\u75b2\u52b3\u611f\u3002\",\n        sentence_tw: \"\u300c\u611f\u89ba\u5c0f\u817f\u809a\u5b8c\u5168\u653e\u9b06\uff0c\u6c89\u7538\u7538\u5730\u8cbc\u8fd1\u5730\u9762\u3002\u300d\",\n        sentence_cn: \"\u201c\u611f\u89c9\u5c0f\u817f\u809a\u5b8c\u5168\u653e\u677e\uff0c\u6c89\u7538\u7538\u5730\u8d34\u8fd1\u5730\u9762\u3002\u201d\",\n        sentence_py: \"G\u01cenju\u00e9 xi\u01ceotu\u01d0d\u00f9 w\u00e1nqu\u00e1n f\u00e0ngs\u014dng, ch\u00e9ndi\u00e0ndi\u00e0n de ti\u0113j\u00ecn di\u00e0n.\",\n        sensations_tw: [\"\u6c89\u7538\u7538\", \"\u653e\u9b06\", \"\u4e0b\u6c89\"], sensations_cn: [\"\u6c89\u7538\u7538\", \"\u653e\u677e\", \"\u4e0b\u6c89\"]\n      },\n      {\n        id: \"\u8173\u8ddf\",\n        view: \"back\",\n        zh_tw: \"\u8173\u8ddf\", zh_cn: \"\u811a\u8ddf\",\n        pinyin: \"ji\u01ceo g\u0113n\", en: \"Heel\",\n        category: \"limbs\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 59.8, y: 92.5 }, \/\/ \u7cbe\u6e96\u6821\u6e96\u81f3\u53f3\u8173\u8ddf\u8207\u963f\u57fa\u91cc\u65af\u8171\u4e2d\u8ef8\n        desc_tw: \"\u8173\u5f8c\u8ddf\uff0c\u7ad9\u7acb\u6642\u627f\u64d4\u5f8c\u5074\u91cd\u5fc3\u7684\u9aa8\u9abc\u652f\u67f1\uff0c\u6df1\u6c89\u539a\u5be6\uff0c\u8207\u5927\u5730\u7dca\u5bc6\u8cbc\u5408\u3002\",\n        desc_cn: \"\u811a\u540e\u8ddf\uff0c\u7ad9\u7acb\u65f6\u627f\u62c5\u540e\u4fa7\u91cd\u5fc3\u7684\u9aa8\u9abc\u652f\u67f1\uff0c\u6df1\u6c89\u539a\u5b9e\uff0c\u4e0e\u5927\u5730\u7d27\u5bc6\u8d34\u5408\u3002\",\n        sentence_tw: \"\u300c\u628a\u91cd\u91cf\u5b8c\u5168\u4ea4\u7d66\u8173\u8ddf\uff0c\u611f\u89ba\u5927\u5730\u5728\u7a69\u7a69\u6258\u4f4f\u81ea\u5df1\u3002\u300d\",\n        sentence_cn: \"\u201c\u628a\u91cd\u91cf\u5b8c\u5168\u4ea4\u7ed9\u811a\u8ddf\uff0c\u611f\u89c9\u5927\u5730\u5728\u7a33\u7a33\u6258\u4f4f\u81ea\u5df1\u3002\u201d\",\n        sentence_py: \"B\u01ce zh\u00f2ngli\u00e0ng w\u00e1nqu\u00e1n ji\u0101og\u011bi ji\u01ceog\u0113n, g\u01cenju\u00e9 d\u00e0d\u00ec z\u00e0i w\u011bnw\u011bn tu\u014dzh\u00f9 z\u00ecj\u01d0.\",\n        sensations_tw: [\"\u4e0b\u6c89\", \"\u539a\u5be6\", \"\u8e0f\u5be6\"], sensations_cn: [\"\u4e0b\u6c89\", \"\u539a\u5b9e\", \"\u8e0f\u5b9e\"]\n      },\n      {\n        id: \"\u8173\u5e95_back\",\n        canonicalId: \"\u8173\u5e95\",\n        view: \"back\",\n        zh_tw: \"\u8173\u5e95\", zh_cn: \"\u811a\u5e95\",\n        pinyin: \"ji\u01ceo d\u01d0\", en: \"Sole of the Foot\",\n        category: \"limbs\",\n        category_tw: \"\u7d30\u90e8\u90e8\u4f4d\", category_cn: \"\u7ec6\u90e8\u90e8\u4f4d\",\n        coords: { x: 59.8, y: 96.0 }, \/\/ \u7cbe\u6e96\u6821\u6e96\u81f3\u53f3\u8173\u638c\u8457\u5730\u5e95\u9762\u4e2d\u5fc3\n        desc_tw: \"\u8173\u638c\u63a5\u89f8\u5927\u5730\u7684\u6839\u57fa\uff0c\u7531\u5f8c\u5074\u89c0\u7167\u80fd\u6df1\u523b\u9ad4\u6703\u300c\u5411\u4e0b\u6c89\u5be6\u300d\u7684\u652f\u6490\u529b\u3002\",\n        desc_cn: \"\u811a\u638c\u63a5\u89e6\u5927\u5730\u7684\u6839\u57fa\uff0c\u7531\u540e\u4fa7\u89c2\u7167\u80fd\u6df1\u523b\u4f53\u4f1a\u201c\u5411\u4e0b\u6c89\u5b9e\u201d\u7684\u652f\u6491\u529b\u3002\",\n        sentence_tw: \"\u300c\u5c07\u610f\u8b58\u6536\u675f\u5728\u8173\u5e95\uff0c\u611f\u53d7\u5b89\u7a69\u8207\u5e73\u975c\u3002\u300d\",\n        sentence_cn: \"\u201c\u5c06\u610f\u8bc6\u6536\u675f\u5728\u811a\u5e95\uff0c\u611f\u53d7\u5b89\u7a33\u4e0e\u5e73\u9759\u3002\u201d\",\n        sentence_py: \"Ji\u0101ng y\u00ecsh\u00ed sh\u014dush\u00f9 z\u00e0i ji\u01ceod\u01d0, g\u01censh\u00f2u \u0101nw\u011bn y\u01d4 p\u00edngj\u00ecng.\",\n        sensations_tw: [\"\u624e\u6839\", \"\u5b89\u7a69\", \"\u6536\u675f\"], sensations_cn: [\"\u624e\u6839\", \"\u5b89\u7a33\", \"\u6536\u675f\"]\n      }\n    ];\n\n    \/* \u5feb\u53d6\u5b58\u53d6\u7248\u672c v3 (\u9632\u6b62\u820a\u7248\u504f\u659c\u5ea7\u6a19\u8986\u84cb) *\/\n    const STORAGE_KEY_COORDS = 'somatic_pins_coords_v3';\n\n    function getSafeStorage(key, fallbackVal) {\n      try {\n        const val = localStorage.getItem(key);\n        return val !== null ? val : fallbackVal;\n      } catch (err) {\n        return fallbackVal;\n      }\n    }\n\n    function setSafeStorage(key, val) {\n      try {\n        localStorage.setItem(key, val);\n      } catch (err) {}\n    }\n\n    \/* \u8f09\u5165\u5ea7\u6a19\u8cc7\u6599\uff1a\u512a\u5148\u6df1\u62f7\u8c9d\u6700\u65b0\u6821\u6e96\u8cc7\u6599 *\/\n    function loadActiveBodyData() {\n      const saved = getSafeStorage(STORAGE_KEY_COORDS, null);\n      if (saved) {\n        try {\n          const parsed = JSON.parse(saved);\n          return DEFAULT_BODY_DATA.map(item => {\n            const found = parsed.find(p => p.id === item.id && p.view === item.view);\n            if (found && typeof found.x === 'number' && typeof found.y === 'number') {\n              return { ...item, coords: { x: found.x, y: found.y } };\n            }\n            return { ...item, coords: { ...item.coords } };\n          });\n        } catch (e) {\n          console.warn('Coordinates JSON parse error, restoring default:', e);\n        }\n      }\n      return JSON.parse(JSON.stringify(DEFAULT_BODY_DATA));\n    }\n\n    let BODY_DATA = loadActiveBodyData();\n\n    const State = {\n      lang: getSafeStorage('onedotdot_standing_lang', 'tw'),\n      view: 'front', \/\/ 'front' | 'back'\n      selectedId: '\u592a\u967d\u795e\u7d93\u53e2',\n      selectedCategory: 'all',\n      soundEnabled: true\n    };\n\n    \/* DOM \u7bc0\u9ede\u5f15\u7528 *\/\n    const bodyPinsOverlay = document.getElementById('bodyPinsOverlay');\n    const imageStageWrapper = document.getElementById('imageStageWrapper');\n    const frontBodyImage = document.getElementById('frontBodyImage');\n    const backBodyImage = document.getElementById('backBodyImage');\n    const viewFrontBtn = document.getElementById('viewFrontBtn');\n    const viewBackBtn = document.getElementById('viewBackBtn');\n    const hoverTooltip = document.getElementById('hoverTooltip');\n    const tooltipZh = document.getElementById('tooltipZh');\n    const tooltipPy = document.getElementById('tooltipPy');\n\n    \/* \u8a73\u60c5\u5361\u5143\u7d20\u5f15\u7528 *\/\n    const detailCategoryBadge = document.getElementById('detailCategoryBadge');\n    const detailViewBadge = document.getElementById('detailViewBadge');\n    const detailName = document.getElementById('detailName');\n    const detailPinyin = document.getElementById('detailPinyin');\n    const detailEnLabel = document.getElementById('detailEnLabel');\n    const culturalNoteBox = document.getElementById('culturalNoteBox');\n    const culturalNoteContent = document.getElementById('culturalNoteContent');\n    const detailDesc = document.getElementById('detailDesc');\n    const detailSentence = document.getElementById('detailSentence');\n    const detailSentencePinyin = document.getElementById('detailSentencePinyin');\n    const sensationTags = document.getElementById('sensationTags');\n    const vocabChipList = document.getElementById('vocabChipList');\n    const nodeCountBadge = document.getElementById('nodeCountBadge');\n\n    \/* \u5ea7\u6a19\u5fae\u8abf\u5143\u7d20\u5f15\u7528 *\/\n    const calibrationActiveNode = document.getElementById('calibrationActiveNode');\n    const calibX = document.getElementById('calibX');\n    const calibY = document.getElementById('calibY');\n    const copyAllCoordsBtn = document.getElementById('copyAllCoordsBtn');\n    const resetCoordsBtn = document.getElementById('resetCoordsBtn');\n    const resetDefaultCoordsBtn = document.getElementById('resetDefaultCoordsBtn');\n\n    function speakText(text) {\n      if (!State.soundEnabled) return;\n      if (!('speechSynthesis' in window)) return;\n      try {\n        window.speechSynthesis.cancel();\n        const cleanText = text.replace(\/[\u300c\u300d\u201c\u201d\/]\/g, ' ');\n        const utterance = new SpeechSynthesisUtterance(cleanText);\n        utterance.lang = State.lang === 'tw' ? 'zh-TW' : 'zh-CN';\n        utterance.rate = 0.82; \/\/ \u6162\u901f\u51a5\u60f3\u8a9e\u901f\n        utterance.pitch = 0.95;\n        window.speechSynthesis.speak(utterance);\n      } catch (e) {\n        console.warn('Speech synthesis error:', e);\n      }\n    }\n\n    \/* \u6b63\u9762\u5716\u7247\u932f\u8aa4\u5bb9\u932f *\/\n    function handleFrontImageFallback(imgEl) {\n      console.warn('Front image fallback triggered');\n      imgEl.src = 'https:\/\/placehold.co\/390x650\/FAF8F5\/4A6B7C?text=Front+Standing+Model';\n    }\n\n    \/* \u80cc\u9762\u5716\u7247\u932f\u8aa4\u5bb9\u932f (\u96d9\u5411\u5617\u8a66\u4e2d\u6587\u6a94\u540d\u8207\u5df2\u7de8\u78bc\u6a94\u540d) *\/\n    function handleBackImageFallback(imgEl) {\n      console.warn('Back image load issue, trying encoded path fallback');\n      const currentSrc = imgEl.getAttribute('src');\n      if (currentSrc.includes('%E8%83%8C%E9%9D%A2.jpg')) {\n        imgEl.src = 'https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/\u80cc\u9762.jpg';\n      } else {\n        imgEl.src = 'https:\/\/placehold.co\/390x650\/FAF8F5\/4A6B7C?text=Back+Standing+Model';\n      }\n    }\n\n    \/* \u6e32\u67d3\u5716\u7247\u8986\u84cb\u9328\u9ede (\u767e\u5206\u6bd4\u9396\u5b9a\uff0c\u4e0d\u8dd1\u4f4d\u67b6\u69cb) *\/\n    function renderBodyPins() {\n      bodyPinsOverlay.innerHTML = '';\n\n      const filteredList = BODY_DATA.filter(item => {\n        const matchView = item.view === State.view;\n        const matchCat = State.selectedCategory === 'all' || item.category === State.selectedCategory;\n        return matchView && matchCat;\n      });\n\n      filteredList.forEach(item => {\n        const isSelected = item.id === State.selectedId;\n        const isEnergy = item.category === 'energy';\n        const isSolarHalo = !!item.isSolarHalo;\n\n        \/\/ \u5916\u5c64\u56fa\u5b9a\u9328\u9ede (Anchor)\uff1a\u7d55\u5c0d\u767e\u5206\u6bd4\u5b9a\u4f4d\uff0c\u4e0d\u56e0 hover\/click \u4f4d\u79fb\n        const anchor = document.createElement('div');\n        anchor.className = `body-pin-anchor ${isEnergy ? 'energy-point' : ''} ${isSolarHalo ? 'solar-halo-center' : ''} ${isSelected ? 'active' : ''}`;\n        anchor.style.left = `${item.coords.x}%`;\n        anchor.style.top = `${item.coords.y}%`;\n        anchor.setAttribute('data-pin-id', item.id);\n        anchor.setAttribute('title', item.zh_tw);\n\n        \/\/ \u622a\u5716\u540c\u6b3e\u592a\u967d\u795e\u7d93\u53e2\u8d85\u5927\u534a\u900f\u660e\u91d1\u8272\u80fd\u91cf\u5149\u6688 (Golden Halo)\n        if (isSolarHalo) {\n          const aura = document.createElement('div');\n          aura.className = 'solar-golden-aura';\n          anchor.appendChild(aura);\n        }\n\n        \/\/ \u5167\u5c64\u8996\u89ba\u6838\u5fc3 (Core Dot)\n        const dotCore = document.createElement('div');\n        dotCore.className = 'body-pin-core';\n\n        \/\/ \u5167\u5c64\u8108\u885d\u5149\u6ce2\u7d0b (Wave)\n        const dotWave = document.createElement('div');\n        dotWave.className = 'body-pin-wave';\n\n        anchor.appendChild(dotWave);\n        anchor.appendChild(dotCore);\n\n        \/\/ \u9ede\u64ca\u4e8b\u4ef6\uff1a\u76f4\u63a5\u9078\u53d6\u8a72\u90e8\u4f4d\n        anchor.addEventListener('click', (e) => {\n          e.stopPropagation();\n          selectBodyPart(item.id, true);\n        });\n\n        \/\/ \u61f8\u505c Tooltip\n        anchor.addEventListener('mouseenter', () => {\n          tooltipZh.textContent = State.lang === 'tw' ? item.zh_tw : item.zh_cn;\n          tooltipPy.textContent = item.pinyin;\n\n          const stageRect = imageStageWrapper.getBoundingClientRect();\n          const posX = (item.coords.x \/ 100) * stageRect.width;\n          const posY = (item.coords.y \/ 100) * stageRect.height;\n\n          hoverTooltip.style.left = `${posX + 18}px`;\n          hoverTooltip.style.top = `${posY - 14}px`;\n          hoverTooltip.classList.remove('opacity-0');\n        });\n\n        anchor.addEventListener('mouseleave', () => {\n          hoverTooltip.classList.add('opacity-0');\n        });\n\n        bodyPinsOverlay.appendChild(anchor);\n      });\n    }\n\n    function selectBodyPart(id, autoSpeak = false) {\n      State.selectedId = id;\n      const item = BODY_DATA.find(i => i.id === id && i.view === State.view) || BODY_DATA.find(i => i.id === id);\n      if (!item) return;\n\n      if (item.view !== State.view) {\n        switchView(item.view);\n        return;\n      }\n\n      \/\/ \u66f4\u65b0\u6240\u6709\u9ede\u4f4d\u7684 active \u72c0\u614b (classList \u5207\u63db\uff0c\u4fdd\u8b49\u4e0d\u9583\u720d\u4e0d\u79fb\u4f4d)\n      document.querySelectorAll('.body-pin-anchor').forEach(el => {\n        if (el.getAttribute('data-pin-id') === id) {\n          el.classList.add('active');\n        } else {\n          el.classList.remove('active');\n        }\n      });\n\n      updateDetailCard(item);\n      highlightActiveChip(id);\n      syncCalibrationInputs(item);\n\n      if (autoSpeak && State.soundEnabled) {\n        const word = State.lang === 'tw' ? item.zh_tw : item.zh_cn;\n        speakText(word);\n      }\n    }\n\n    function syncCalibrationInputs(item) {\n      if (!item) return;\n      calibrationActiveNode.textContent = `${item.zh_tw} (${item.view === 'front' ? '\u6b63\u9762' : '\u80cc\u9762'})`;\n      calibX.value = item.coords.x;\n      calibY.value = item.coords.y;\n    }\n\n    \/* \u66f4\u65b0\u53f3\u5074\u8cc7\u8a0a\u5361\u5167\u5bb9 *\/\n    function updateDetailCard(item) {\n      const isTw = State.lang === 'tw';\n\n      detailName.textContent = isTw ? item.zh_tw : item.zh_cn;\n      detailPinyin.textContent = item.pinyin;\n      detailEnLabel.textContent = `(${item.en})`;\n      detailCategoryBadge.textContent = isTw ? item.category_tw : item.category_cn;\n      detailViewBadge.textContent = item.view === 'front' \n        ? (isTw ? '\u76f4\u7acb\u6b63\u9762' : '\u76f4\u7acb\u6b63\u9762') \n        : (isTw ? '\u76f4\u7acb\u80cc\u9762' : '\u76f4\u7acb\u80cc\u9762');\n\n      detailDesc.textContent = isTw ? item.desc_tw : item.desc_cn;\n\n      \/\/ \u6c23\u6d41\u5f15\u5c0e\u53e5\u8207\u62fc\u97f3\u66f4\u65b0\n      detailSentence.textContent = isTw ? item.sentence_tw : item.sentence_cn;\n      detailSentencePinyin.textContent = item.sentence_py;\n\n      \/\/ \u6838\u5fc3\u80fd\u91cf\u6982\u5ff5\u5c08\u9580\u8fa8\u6790\u5361 (\u5fc3\u7aa9 \/ \u592a\u967d\u795e\u7d93\u53e2 \/ \u4e39\u7530)\n      if (['\u5fc3\u7aa9', '\u592a\u967d\u795e\u7d93\u53e2', '\u4e39\u7530'].includes(item.id)) {\n        culturalNoteBox.classList.remove('hidden');\n        renderComparativeBox(item.id);\n      } else {\n        culturalNoteBox.classList.add('hidden');\n      }\n\n      \/\/ \u6c23\u611f\u9ad4\u6703\u6a19\u7c64\n      sensationTags.innerHTML = '';\n      const sensations = isTw ? item.sensations_tw : item.sensations_cn;\n      sensations.forEach(s => {\n        const span = document.createElement('span');\n        span.className = 'px-2.5 py-1 rounded-lg bg-white border border-somaBeige-border text-somaBlue font-medium shadow-2xs';\n        span.textContent = s;\n        sensationTags.appendChild(span);\n      });\n    }\n\n    function renderComparativeBox(activeId) {\n      const isTw = State.lang === 'tw';\n      culturalNoteContent.innerHTML = `\n        <div class=\"grid grid-cols-1 sm:grid-cols-3 gap-2 mt-2 pt-1\">\n          <div class=\"p-2.5 rounded-xl border ${activeId === '\u5fc3\u7aa9' ? 'bg-amber-100\/90 border-amber-300 font-bold shadow-2xs' : 'bg-white\/80 border-somaBeige-border'}\">\n            <div class=\"text-[11px] text-amber-900 font-semibold\">${isTw ? '\u2460 \u5fc3\u7aa9 (\u5be6\u9ad4\u89e3\u5256)' : '\u2460 \u5fc3\u7a9d (\u5b9e\u4f53\u89e3\u5256)'}<\/div>\n            <div class=\"text-[11px] text-somaDark mt-0.5\">${isTw ? '\u80f8\u9aa8\u528d\u7a81\u4e0b\u51f9\u9677\u8655\u3002\u65e5\u5e38\u751f\u6d3b\u5f62\u5bb9\u5fc3\u53e3\u7dca\u7e43\u3001\u60c5\u7dd2\u58d3\u529b\u7684\u5177\u9ad4\u751f\u7406\u90e8\u4f4d\u3002' : '\u80f8\u9aa8\u5251\u7a81\u4e0b\u51f9\u9677\u5904\u3002\u65e5\u5e38\u751f\u6d3b\u5f62\u5bb9\u5fc3\u53e3\u7d27\u7ef7\u3001\u60c5\u7eea\u538b\u529b\u7684\u5177\u4f53\u751f\u7406\u90e8\u4f4d\u3002'}<\/div>\n          <\/div>\n          <div class=\"p-2.5 rounded-xl border ${activeId === '\u592a\u967d\u795e\u7d93\u53e2' ? 'bg-amber-100\/90 border-amber-300 font-bold shadow-2xs' : 'bg-white\/80 border-somaBeige-border'}\">\n            <div class=\"text-[11px] text-amber-900 font-semibold\">${isTw ? '\u2461 \u592a\u967d\u795e\u7d93\u53e2 (\u897f\u65b9\/\u745c\u4f3d)' : '\u2461 \u592a\u9633\u795e\u7ecf\u4e1b (\u897f\u65b9\/\u745c\u4f3d)'}<\/div>\n            <div class=\"text-[11px] text-somaDark mt-0.5\">${isTw ? '\u7b2c\u4e09\u8108\u8f2a (Solar Plexus)\u3002\u5fc3\u7aa9\u504f\u4e0b\u3001\u80c3\u90e8\u5468\u570d\uff0c\u5c0d\u61c9\u81ea\u4fe1\u3001\u610f\u5fd7\u529b\u8207\u91d1\u8272\u71b1\u80fd\u3002' : '\u7b2c\u4e09\u8109\u8f6e (Solar Plexus)\u3002\u5fc3\u7a9d\u504f\u4e0b\u3001\u80c3\u90e8\u5468\u56f4\uff0c\u5bf9\u5e94\u81ea\u4fe1\u3001\u610f\u5fd7\u529b\u4e0e\u91d1\u8272\u70ed\u80fd\u3002'}<\/div>\n          <\/div>\n          <div class=\"p-2.5 rounded-xl border ${activeId === '\u4e39\u7530' ? 'bg-amber-100\/90 border-amber-300 font-bold shadow-2xs' : 'bg-white\/80 border-somaBeige-border'}\">\n            <div class=\"text-[11px] text-amber-900 font-semibold\">${isTw ? '\u2462 \u4e39\u7530 (\u4e2d\u91ab\u6c23\u611f)' : '\u2462 \u4e39\u7530 (\u4e2d\u533b\u6c14\u611f)'}<\/div>\n            <div class=\"text-[11px] text-somaDark mt-0.5\">${isTw ? '\u809a\u81cd\u4e0b\u4e09\u6307\u8eab\u9ad4\u6df1\u8655\uff08\u4e0b\u4e39\u7530\uff09\u3002\u5143\u6c23\u4e4b\u6d77\uff0c\u5f37\u8abf\u4e0b\u6c89\u624e\u6839\u3001\u91cd\u5fc3\u5167\u6582\u8207\u84c4\u6c23\u3002' : '\u809a\u8110\u4e0b\u4e09\u6307\u8eab\u4f53\u6df1\u5904\uff08\u4e0b\u4e39\u7530\uff09\u3002\u5143\u6c14\u4e4b\u6d77\uff0c\u5f3a\u8c03\u4e0b\u6c89\u624e\u6839\u3001\u91cd\u5fc3\u5185\u655b\u4e0e\u84c4\u6c14\u3002'}<\/div>\n          <\/div>\n        <\/div>\n      `;\n    }\n\n    \/* \u6e32\u67d3\u5feb\u6377\u90e8\u4f4d\u6e05\u55ae (Pills \/ \u7d22\u5f15\u5eab) *\/\n    function renderVocabChips() {\n      vocabChipList.innerHTML = '';\n      \n      const filteredList = BODY_DATA.filter(item => {\n        const matchView = item.view === State.view;\n        const matchCat = State.selectedCategory === 'all' || item.category === State.selectedCategory;\n        return matchView && matchCat;\n      });\n\n      nodeCountBadge.textContent = State.lang === 'tw' ? `\u5171 ${filteredList.length} \u500b\u90e8\u4f4d` : `\u5171 ${filteredList.length} \u4e2a\u90e8\u4f4d`;\n\n      filteredList.forEach(item => {\n        const btn = document.createElement('button');\n        const isActive = item.id === State.selectedId;\n        btn.setAttribute('type', 'button');\n        btn.setAttribute('data-chip-id', item.id);\n        btn.className = `px-3 py-1.5 rounded-xl text-xs font-medium transition flex items-center gap-1.5 border cursor-pointer ${\n          isActive \n            ? 'bg-somaBlue text-white border-somaBlue shadow-2xs font-bold' \n            : 'bg-white text-somaDark border-somaBeige-border hover:bg-somaBeige-soft'\n        }`;\n        \n        const zh = State.lang === 'tw' ? item.zh_tw : item.zh_cn;\n        btn.innerHTML = `<span>${zh}<\/span><span class=\"text-[10px] opacity-70\">${item.pinyin.split(' ')[0]}<\/span>`;\n\n        btn.addEventListener('click', (e) => {\n          e.stopPropagation();\n          selectBodyPart(item.id, true);\n        });\n\n        vocabChipList.appendChild(btn);\n      });\n    }\n\n    function highlightActiveChip(id) {\n      document.querySelectorAll('#vocabChipList button').forEach(btn => {\n        const chipId = btn.getAttribute('data-chip-id');\n        if (chipId === id) {\n          btn.className = 'px-3 py-1.5 rounded-xl text-xs font-bold transition flex items-center gap-1.5 border bg-somaBlue text-white border-somaBlue shadow-2xs cursor-pointer';\n        } else {\n          btn.className = 'px-3 py-1.5 rounded-xl text-xs font-medium transition flex items-center gap-1.5 border bg-white text-somaDark border-somaBeige-border hover:bg-somaBeige-soft cursor-pointer';\n        }\n      });\n    }\n\n    function switchView(viewName) {\n      State.view = viewName;\n\n      if (viewName === 'front') {\n        frontBodyImage.classList.remove('hidden');\n        backBodyImage.classList.add('hidden');\n        viewFrontBtn.className = 'px-4 py-1.5 rounded-xl text-xs font-bold transition shadow-xs bg-somaBlue text-white cursor-pointer';\n        viewBackBtn.className = 'px-4 py-1.5 rounded-xl text-xs font-medium transition text-somaMuted hover:text-somaDark cursor-pointer';\n        \n        const frontItem = BODY_DATA.find(i => i.id === State.selectedId && i.view === 'front');\n        if (!frontItem) State.selectedId = '\u592a\u967d\u795e\u7d93\u53e2';\n      } else {\n        frontBodyImage.classList.add('hidden');\n        backBodyImage.classList.remove('hidden');\n        viewBackBtn.className = 'px-4 py-1.5 rounded-xl text-xs font-bold transition shadow-xs bg-somaBlue text-white cursor-pointer';\n        viewFrontBtn.className = 'px-4 py-1.5 rounded-xl text-xs font-medium transition text-somaMuted hover:text-somaDark cursor-pointer';\n        \n        const backItem = BODY_DATA.find(i => i.id === State.selectedId && i.view === 'back');\n        if (!backItem) State.selectedId = '\u624b\u80cc';\n      }\n\n      renderBodyPins();\n      renderVocabChips();\n      const currentItem = BODY_DATA.find(i => i.id === State.selectedId && i.view === State.view);\n      if (currentItem) {\n        updateDetailCard(currentItem);\n        syncCalibrationInputs(currentItem);\n      }\n    }\n\n    function toggleLanguage() {\n      State.lang = State.lang === 'tw' ? 'cn' : 'tw';\n      setSafeStorage('onedotdot_standing_lang', State.lang);\n      const isTw = State.lang === 'tw';\n\n      document.getElementById('langBtnText').textContent = isTw ? '\u7e41\u9ad4\u4e2d\u6587' : '\u7b80\u4f53\u4e2d\u6587';\n      document.getElementById('headerTitle').textContent = isTw ? '\u8eab\u5fc3\u90e8\u4f4d\u8207\u6c23\u611f\u5716\u9451' : '\u8eab\u5fc3\u90e8\u4f4d\u4e0e\u6c14\u611f\u56fe\u9274';\n      document.getElementById('headerSubtitle').textContent = isTw \n        ? '\u76f4\u7acb\u7ad9\u59ff\u8eab\u5fc3\u6383\u63cf \u2022 \u96d9\u5411\u611f\u77e5\u76f4\u89ba\u9ede\u64ca\u6559\u5b78' \n        : '\u76f4\u7acb\u7ad9\u59ff\u8eab\u5fc3\u626b\u63cf \u2022 \u53cc\u5411\u611f\u77e5\u76f4\u89c9\u70b9\u51fb\u6559\u5b66';\n      document.getElementById('lockStatusBadge').textContent = isTw ? '\ud83d\udd12 \u80cc\u9762\u5ea7\u6a19\u5df2\u6821\u6e96 (\u9ede\u64ca\u91cd\u8a2d)' : '\ud83d\udd12 \u80cc\u9762\u5750\u6807\u5df2\u6821\u51c6 (\u70b9\u51fb\u91cd\u8bbe)';\n      document.getElementById('bottomHintText').textContent = isTw \n        ? '\u6df1\u85cd\u9ede\u70ba\u6a19\u6e96\u90e8\u4f4d\uff0c\u91d1\u8272\u9ede\u70ba\u80fd\u91cf\u4e2d\u5fc3\uff08\u592a\u967d\u795e\u7d93\u53e2\u5177\u5c08\u5c6c\u5149\u6688\uff09' \n        : '\u6df1\u84dd\u70b9\u4e3a\u6807\u51c6\u90e8\u4f4d\uff0c\u91d1\u8272\u70b9\u4e3a\u80fd\u91cf\u4e2d\u5fc3\uff08\u592a\u9633\u795e\u7ecf\u4e1b\u5177\u4e13\u5c5e\u5149\u6655\uff09';\n      document.getElementById('filterLabel').textContent = isTw ? '\u5feb\u901f\u5206\u985e\u7be9\u9078' : '\u5feb\u901f\u5206\u7c7b\u7b5b\u9009';\n      document.getElementById('pronounceBtnLabel').textContent = isTw ? '\u6717\u8b80\u90e8\u4f4d\u767c\u97f3' : '\u6717\u8bfb\u90e8\u4f4d\u53d1\u97f3';\n      document.getElementById('descHeading').textContent = isTw ? '\u7a7a\u9593\u8207\u89e3\u5256\u8aaa\u660e' : '\u7a7a\u95f4\u4e0e\u89e3\u5256\u8bf4\u660e';\n      document.getElementById('exampleHeading').textContent = isTw ? '\u6c23\u6d41\u5f15\u5c0e\u53e5' : '\u6c14\u6d41\u5f15\u5bfc\u53e5';\n      document.getElementById('pronounceSentenceLabel').textContent = isTw ? '\u6717\u8b80\u6c23\u6d41\u5f15\u5c0e\u53e5' : '\u6717\u8bfb\u6c14\u6d41\u5f15\u5bfc\u53e5';\n      document.getElementById('sensationLabel').textContent = isTw ? '\u5e38\u898b\u6c23\u611f\u9ad4\u6703\uff1a' : '\u5e38\u89c1\u6c14\u611f\u4f53\u4f1a\uff1a';\n      document.getElementById('directoryTitle').textContent = isTw ? '\u5feb\u6377\u90e8\u4f4d\u6e05\u55ae' : '\u5feb\u6377\u90e8\u4f4d\u6e05\u5355';\n      document.getElementById('directorySubtext').textContent = isTw ? '(\u9ede\u64ca\u53ef\u540c\u6b65\u9ede\u4eae\u4eba\u9ad4\u90e8\u4f4d)' : '(\u70b9\u51fb\u53ef\u540c\u6b65\u70b9\u4eae\u4eba\u4f53\u90e8\u4f4d)';\n\n      renderBodyPins();\n      renderVocabChips();\n      const currentItem = BODY_DATA.find(i => i.id === State.selectedId && i.view === State.view);\n      if (currentItem) updateDetailCard(currentItem);\n    }\n\n    \/* \u7d81\u5b9a\u5206\u985e\u904e\u6ffe\u5668 *\/\n    function setupCategoryFilter() {\n      const pills = document.querySelectorAll('.cat-pill');\n      pills.forEach(pill => {\n        pill.addEventListener('click', () => {\n          pills.forEach(p => {\n            p.className = 'cat-pill px-3.5 py-1.5 rounded-full text-xs font-medium transition bg-white text-somaDark border border-somaBeige-border hover:bg-somaBlue-light cursor-pointer';\n          });\n          pill.className = 'cat-pill px-3.5 py-1.5 rounded-full text-xs font-bold transition bg-somaBlue text-white shadow-2xs cursor-pointer';\n\n          State.selectedCategory = pill.getAttribute('data-cat');\n          renderBodyPins();\n          renderVocabChips();\n        });\n      });\n    }\n\n    \/* \u5ea7\u6a19\u5be6\u6642\u5fae\u8abf\u76e3\u807d\u5668 *\/\n    function setupCalibration() {\n      function applyTuning() {\n        const item = BODY_DATA.find(i => i.id === State.selectedId && i.view === State.view);\n        if (!item) return;\n\n        const newX = parseFloat(calibX.value);\n        const newY = parseFloat(calibY.value);\n        if (!isNaN(newX) && !isNaN(newY)) {\n          item.coords.x = newX;\n          item.coords.y = newY;\n          renderBodyPins();\n\n          \/\/ \u5132\u5b58\u5fae\u8abf\u5ea7\u6a19\u81f3\u5feb\u53d6 v3\n          const compact = BODY_DATA.map(i => ({ id: i.id, view: i.view, x: i.coords.x, y: i.coords.y }));\n          setSafeStorage(STORAGE_KEY_COORDS, JSON.stringify(compact));\n        }\n      }\n\n      calibX.addEventListener('input', applyTuning);\n      calibY.addEventListener('input', applyTuning);\n\n      function resetToDefaults() {\n        BODY_DATA = JSON.parse(JSON.stringify(DEFAULT_BODY_DATA));\n        try {\n          localStorage.removeItem(STORAGE_KEY_COORDS);\n        } catch (e) {}\n        renderBodyPins();\n        renderVocabChips();\n        const currentItem = BODY_DATA.find(i => i.id === State.selectedId && i.view === State.view);\n        if (currentItem) syncCalibrationInputs(currentItem);\n\n        resetCoordsBtn.innerHTML = '<span class=\"w-2 h-2 rounded-full bg-emerald-500\"><\/span><span>\u2705 \u5df2\u6062\u5fa9\u6700\u65b0\u6821\u6e96\u5ea7\u6a19<\/span>';\n        setTimeout(() => {\n          resetCoordsBtn.innerHTML = '<span class=\"w-2 h-2 rounded-full bg-emerald-500\"><\/span><span id=\"lockStatusBadge\">\ud83d\udd12 \u80cc\u9762\u5ea7\u6a19\u5df2\u6821\u6e96 (\u9ede\u64ca\u91cd\u8a2d)<\/span>';\n        }, 2200);\n      }\n\n      resetCoordsBtn.addEventListener('click', resetToDefaults);\n      resetDefaultCoordsBtn.addEventListener('click', resetToDefaults);\n\n      copyAllCoordsBtn.addEventListener('click', () => {\n        const compactCoords = BODY_DATA.map(i => ({\n          id: i.id, view: i.view, x: i.coords.x, y: i.coords.y\n        }));\n        const text = JSON.stringify(compactCoords, null, 2);\n\n        \/\/ \u5b89\u5168\u8907\u88fd\u5230\u526a\u8cbc\u7c3f\n        const tempTextArea = document.createElement('textarea');\n        tempTextArea.value = text;\n        document.body.appendChild(tempTextArea);\n        tempTextArea.select();\n        try {\n          document.execCommand('copy');\n          copyAllCoordsBtn.textContent = '\u2705 \u5df2\u8907\u88fd\u5ea7\u6a19 JSON\uff01';\n          setTimeout(() => {\n            copyAllCoordsBtn.textContent = '\ud83d\udccb \u8907\u88fd\u5168\u90e8\u5ea7\u6a19 JSON';\n          }, 2000);\n        } catch (e) {\n          console.warn('Copy failed:', e);\n        }\n        document.body.removeChild(tempTextArea);\n      });\n    }\n\n    function initEventHandlers() {\n      viewFrontBtn.addEventListener('click', () => switchView('front'));\n      viewBackBtn.addEventListener('click', () => switchView('back'));\n      document.getElementById('langToggleBtn').addEventListener('click', toggleLanguage);\n\n      \/\/ \u8a9e\u97f3\u958b\u95dc\u6309\u9215\n      document.getElementById('soundMuteBtn').addEventListener('click', () => {\n        State.soundEnabled = !State.soundEnabled;\n        const icon = document.getElementById('soundMuteIcon');\n        const text = document.getElementById('soundMuteText');\n        if (State.soundEnabled) {\n          icon.textContent = '\ud83d\udd0a';\n          text.textContent = State.lang === 'tw' ? '\u8a9e\u97f3\u958b\u555f' : '\u8bed\u97f3\u5f00\u542f';\n        } else {\n          icon.textContent = '\ud83d\udd07';\n          text.textContent = State.lang === 'tw' ? '\u8a9e\u97f3\u95dc\u9589' : '\u8bed\u97f3\u5173\u95ed';\n        }\n      });\n\n      \/\/ \u6717\u8b80\u90e8\u4f4d\u540d\u7a31\n      document.getElementById('pronounceWordBtn').addEventListener('click', () => {\n        const item = BODY_DATA.find(i => i.id === State.selectedId && i.view === State.view);\n        if (item) {\n          const word = State.lang === 'tw' ? item.zh_tw : item.zh_cn;\n          speakText(word);\n        }\n      });\n\n      \/\/ \u6717\u8b80\u300c\u6c23\u6d41\u5f15\u5c0e\u53e5\u300d\n      document.getElementById('pronounceSentenceBtn').addEventListener('click', () => {\n        const item = BODY_DATA.find(i => i.id === State.selectedId && i.view === State.view);\n        if (item) {\n          const sentence = State.lang === 'tw' ? item.sentence_tw : item.sentence_cn;\n          speakText(sentence);\n        }\n      });\n\n      setupCategoryFilter();\n      setupCalibration();\n    }\n\n    \/\/ \u8996\u7a97\u52a0\u8f09\u5b8c\u6210\u5f8c\u555f\u52d5\uff0c\u8f09\u5165\u8a2d\u5b9a\n    window.addEventListener('DOMContentLoaded', () => {\n      initEventHandlers();\n      switchView('back'); \/\/ \u9810\u8a2d\u5148\u9032\u5165\u80cc\u9762\u8996\u89d2\uff0c\u65b9\u4fbf\u76f4\u63a5\u9a57\u8b49\u6821\u6e96\u6210\u679c\n      selectBodyPart('\u624b\u80cc', false);\n\n      if (State.lang === 'cn') {\n        State.lang = 'tw';\n        toggleLanguage();\n      }\n    });\n  <\/script>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u8eab\u5fc3\u90e8\u4f4d\u8207\u6c23\u611f\u5716\u9451 &#8211; OneDotDot Chinese \ud83c\udf3f \u8eab\u5fc3\u90e8\u4f4d OneDotDot Chinese \ud83d\udd0a \u8a9e\u97f3\u958b\u555f \ud83e\uddcd \u6b63\u9762 (Front) \ud83d\udd04 \u80cc\u9762 (Back) \u90e8\u4f4d pinyin \u5ea7\u6a19\u4e00\u76f4\u8dd1\u6389\ud83d\ude2d \u5c55\u958b \/ \u6536\u5408 \u7576\u524d\u6821\u6e96\u9ede\u4f4d\uff1a \u624b\u80cc \u6c34\u5e73 X (%) \u5782\u76f4 Y (%) \u21ba \u91cd\u8a2d\u70ba\u6821\u6e96\u9810\u8a2d \ud83d\udccb \u8907\u88fd\u5168\u90e8\u5ea7\u6a19 JSON \u5feb\u901f\u5206\u985e\u7be9\u9078 \u5168\u90e8 (All) \u26a1 \u80fd\u91cf\u4e2d\u5fc3 (\u4e39\u7530\/\u5fc3\u7aa9) \ud83d\udc64 \u982d\u9762\u9838\u90e8 \ud83e\udec1 \u8ec0\u5e79\u6838\u5fc3\u8207\u810a\u67f1 \ud83e\uddb5 \u56db\u80a2\u8207\u95dc\u7bc0 \u80fd\u91cf\u4e2d\u5fc3 \u76f4\u7acb\u6b63\u9762 \u6717\u8b80\u90e8\u4f4d\u767c\u97f3 \u592a\u967d\u795e\u7d93\u53e2 t\u00e0i y\u00e1ng sh\u00e9n j\u012bng&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_wp_convertkit_post_meta":{"form":"-1","landing_page":"0","tag":"0","restrict_content":"0"},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-17343","post","type-post","status-publish","format-standard","hentry","category-no-category"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u4eba\u9ad4\u7d50\u69cb - OneDotDot Chinese<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u4eba\u9ad4\u7d50\u69cb - OneDotDot Chinese\" \/>\n<meta property=\"og:description\" content=\"\u8eab\u5fc3\u90e8\u4f4d\u8207\u6c23\u611f\u5716\u9451 &#8211; OneDotDot Chinese \ud83c\udf3f \u8eab\u5fc3\u90e8\u4f4d OneDotDot Chinese \ud83d\udd0a \u8a9e\u97f3\u958b\u555f \ud83e\uddcd \u6b63\u9762 (Front) \ud83d\udd04 \u80cc\u9762 (Back) \u90e8\u4f4d pinyin \u5ea7\u6a19\u4e00\u76f4\u8dd1\u6389\ud83d\ude2d \u5c55\u958b \/ \u6536\u5408 \u7576\u524d\u6821\u6e96\u9ede\u4f4d\uff1a \u624b\u80cc \u6c34\u5e73 X (%) \u5782\u76f4 Y (%) \u21ba \u91cd\u8a2d\u70ba\u6821\u6e96\u9810\u8a2d \ud83d\udccb \u8907\u88fd\u5168\u90e8\u5ea7\u6a19 JSON \u5feb\u901f\u5206\u985e\u7be9\u9078 \u5168\u90e8 (All) \u26a1 \u80fd\u91cf\u4e2d\u5fc3 (\u4e39\u7530\/\u5fc3\u7aa9) \ud83d\udc64 \u982d\u9762\u9838\u90e8 \ud83e\udec1 \u8ec0\u5e79\u6838\u5fc3\u8207\u810a\u67f1 \ud83e\uddb5 \u56db\u80a2\u8207\u95dc\u7bc0 \u80fd\u91cf\u4e2d\u5fc3 \u76f4\u7acb\u6b63\u9762 \u6717\u8b80\u90e8\u4f4d\u767c\u97f3 \u592a\u967d\u795e\u7d93\u53e2 t\u00e0i y\u00e1ng sh\u00e9n j\u012bng...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/\" \/>\n<meta property=\"og:site_name\" content=\"OneDotDot Chinese\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-28T16:14:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-24T15:50:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/VCG41N182137787.jpg\" \/>\n<meta name=\"author\" content=\"tiffany\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"tiffany\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/04\\\/29\\\/body-parts\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/04\\\/29\\\/body-parts\\\/\"},\"author\":{\"name\":\"tiffany\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"headline\":\"\u4eba\u9ad4\u7d50\u69cb\",\"datePublished\":\"2026-04-28T16:14:00+00:00\",\"dateModified\":\"2026-09-24T15:50:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/04\\\/29\\\/body-parts\\\/\"},\"wordCount\":70,\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/04\\\/29\\\/body-parts\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/VCG41N182137787.jpg\",\"articleSection\":[\"No category\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/04\\\/29\\\/body-parts\\\/\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/04\\\/29\\\/body-parts\\\/\",\"name\":\"\u4eba\u9ad4\u7d50\u69cb - OneDotDot Chinese\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/04\\\/29\\\/body-parts\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/04\\\/29\\\/body-parts\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/VCG41N182137787.jpg\",\"datePublished\":\"2026-04-28T16:14:00+00:00\",\"dateModified\":\"2026-09-24T15:50:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/04\\\/29\\\/body-parts\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/04\\\/29\\\/body-parts\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/04\\\/29\\\/body-parts\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/VCG41N182137787.jpg\",\"contentUrl\":\"https:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/VCG41N182137787.jpg\",\"width\":455,\"height\":800},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/2026\\\/04\\\/29\\\/body-parts\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u4eba\u9ad4\u7d50\u69cb\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#website\",\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/\",\"name\":\"OneDotDot Chinese\",\"description\":\"Learn a little Chinese every day\",\"publisher\":{\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tiffanysmandarin.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/tiffanysmandarin.com\\\/#\\\/schema\\\/person\\\/3556e1160fac98b190d03b8aa8604d99\",\"name\":\"tiffany\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/cropped-logo_tiffany2-1.png\",\"url\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/cropped-logo_tiffany2-1.png\",\"contentUrl\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/cropped-logo_tiffany2-1.png\",\"width\":214,\"height\":214,\"caption\":\"tiffany\"},\"logo\":{\"@id\":\"http:\\\/\\\/tiffanysmandarin.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/cropped-logo_tiffany2-1.png\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/tiffanys_talk\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/tiffany-huang-mandarin\\\/\"],\"url\":\"https:\\\/\\\/tiffanysmandarin.com\\\/index.php\\\/author\\\/tiffany\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u4eba\u9ad4\u7d50\u69cb - OneDotDot Chinese","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/","og_locale":"en_US","og_type":"article","og_title":"\u4eba\u9ad4\u7d50\u69cb - OneDotDot Chinese","og_description":"\u8eab\u5fc3\u90e8\u4f4d\u8207\u6c23\u611f\u5716\u9451 &#8211; OneDotDot Chinese \ud83c\udf3f \u8eab\u5fc3\u90e8\u4f4d OneDotDot Chinese \ud83d\udd0a \u8a9e\u97f3\u958b\u555f \ud83e\uddcd \u6b63\u9762 (Front) \ud83d\udd04 \u80cc\u9762 (Back) \u90e8\u4f4d pinyin \u5ea7\u6a19\u4e00\u76f4\u8dd1\u6389\ud83d\ude2d \u5c55\u958b \/ \u6536\u5408 \u7576\u524d\u6821\u6e96\u9ede\u4f4d\uff1a \u624b\u80cc \u6c34\u5e73 X (%) \u5782\u76f4 Y (%) \u21ba \u91cd\u8a2d\u70ba\u6821\u6e96\u9810\u8a2d \ud83d\udccb \u8907\u88fd\u5168\u90e8\u5ea7\u6a19 JSON \u5feb\u901f\u5206\u985e\u7be9\u9078 \u5168\u90e8 (All) \u26a1 \u80fd\u91cf\u4e2d\u5fc3 (\u4e39\u7530\/\u5fc3\u7aa9) \ud83d\udc64 \u982d\u9762\u9838\u90e8 \ud83e\udec1 \u8ec0\u5e79\u6838\u5fc3\u8207\u810a\u67f1 \ud83e\uddb5 \u56db\u80a2\u8207\u95dc\u7bc0 \u80fd\u91cf\u4e2d\u5fc3 \u76f4\u7acb\u6b63\u9762 \u6717\u8b80\u90e8\u4f4d\u767c\u97f3 \u592a\u967d\u795e\u7d93\u53e2 t\u00e0i y\u00e1ng sh\u00e9n j\u012bng...","og_url":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/","og_site_name":"OneDotDot Chinese","article_published_time":"2026-04-28T16:14:00+00:00","article_modified_time":"2026-09-24T15:50:09+00:00","og_image":[{"url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/VCG41N182137787.jpg","type":"","width":"","height":""}],"author":"tiffany","twitter_card":"summary_large_image","twitter_misc":{"Written by":"tiffany","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/#article","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/"},"author":{"name":"tiffany","@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"headline":"\u4eba\u9ad4\u7d50\u69cb","datePublished":"2026-04-28T16:14:00+00:00","dateModified":"2026-09-24T15:50:09+00:00","mainEntityOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/"},"wordCount":70,"publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/VCG41N182137787.jpg","articleSection":["No category"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/","url":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/","name":"\u4eba\u9ad4\u7d50\u69cb - OneDotDot Chinese","isPartOf":{"@id":"https:\/\/tiffanysmandarin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/#primaryimage"},"image":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/#primaryimage"},"thumbnailUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/VCG41N182137787.jpg","datePublished":"2026-04-28T16:14:00+00:00","dateModified":"2026-09-24T15:50:09+00:00","breadcrumb":{"@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/#primaryimage","url":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/VCG41N182137787.jpg","contentUrl":"https:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2026\/09\/VCG41N182137787.jpg","width":455,"height":800},{"@type":"BreadcrumbList","@id":"https:\/\/tiffanysmandarin.com\/index.php\/2026\/04\/29\/body-parts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/tiffanysmandarin.com\/"},{"@type":"ListItem","position":2,"name":"\u4eba\u9ad4\u7d50\u69cb"}]},{"@type":"WebSite","@id":"https:\/\/tiffanysmandarin.com\/#website","url":"https:\/\/tiffanysmandarin.com\/","name":"OneDotDot Chinese","description":"Learn a little Chinese every day","publisher":{"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tiffanysmandarin.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/tiffanysmandarin.com\/#\/schema\/person\/3556e1160fac98b190d03b8aa8604d99","name":"tiffany","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/cropped-logo_tiffany2-1.png","url":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/cropped-logo_tiffany2-1.png","contentUrl":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/cropped-logo_tiffany2-1.png","width":214,"height":214,"caption":"tiffany"},"logo":{"@id":"http:\/\/tiffanysmandarin.com\/wp-content\/uploads\/2022\/06\/cropped-logo_tiffany2-1.png"},"sameAs":["https:\/\/www.instagram.com\/tiffanys_talk\/","https:\/\/www.linkedin.com\/in\/tiffany-huang-mandarin\/"],"url":"https:\/\/tiffanysmandarin.com\/index.php\/author\/tiffany\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/17343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/comments?post=17343"}],"version-history":[{"count":10,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/17343\/revisions"}],"predecessor-version":[{"id":17412,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/posts\/17343\/revisions\/17412"}],"wp:attachment":[{"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/media?parent=17343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/categories?post=17343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiffanysmandarin.com\/index.php\/wp-json\/wp\/v2\/tags?post=17343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}