{"id":2642,"date":"2023-12-11T09:33:14","date_gmt":"2023-12-11T01:33:14","guid":{"rendered":"https:\/\/bookmark.tw\/?p=2642"},"modified":"2026-05-17T03:57:48","modified_gmt":"2026-05-16T19:57:48","slug":"correct-self-image","status":"publish","type":"post","link":"https:\/\/xinliceyan.org\/zh\/correct-self-image","title":{"rendered":"\u5c0f\u6e2c\u9a57\uff1a\u4f60\u7684\u81ea\u6211\u5f62\u8c61\u6b63\u78ba\u55ce[\u554f\u5377\u6e2c\u8a66]"},"content":{"rendered":"\n  <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/bootstrap\/5.3.3\/css\/bootstrap.min.css\">\n  <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/bootstrap-icons\/1.11.3\/font\/bootstrap-icons.min.css\">\n  <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/Chart.js\/4.4.1\/chart.umd.min.js\"><\/script>\n<section id=\"quizapp9\" data-quiz-app=\"quiz9\" aria-label=\"\u4f60\u7684\u81ea\u6211\u5f62\u8c61\u6b63\u78ba\u55ce\u7dda\u4e0a\u6e2c\u9a57\">\n  <section id=\"quizintro9\" data-page=\"intro9\">\n    <article data-page-card data-intro-card>\n      <div data-hero-icons aria-hidden=\"true\">\n        <span data-floating-icon><i class=\"bi bi-flower1\"><\/i><\/span>\n        <span data-floating-icon><i class=\"bi bi-heart-pulse\"><\/i><\/span>\n        <span data-floating-icon><i class=\"bi bi-stars\"><\/i><\/span>\n      <\/div>\n      <p data-eyebrow>\u81ea\u6211\u89ba\u5bdf\u5c0f\u6e2c\u9a57<\/p>\n      <h2 id=\"quizintro9-title\" tabindex=\"-1\">\u4f60\u7684\u81ea\u6211\u5f62\u8c61\u6b63\u78ba\u55ce\uff1f<\/h2>\n      <p data-lead>\u6211\u5011\u5e38\u5728\u300c\u73fe\u5728\u7684\u6211\u300d\u8207\u300c\u60f3\u6210\u70ba\u7684\u6211\u300d\u4e4b\u9593\u4f86\u56de\u6821\u6e96\u3002\u9019\u4efd\u6e2c\u9a57\u6703\u7528 50 \u500b\u4eba\u683c\u7279\u8cea\uff0c\u5e6b\u4f60\u770b\u898b\u771f\u5be6\u81ea\u6211\u8207\u7406\u60f3\u81ea\u6211\u4e4b\u9593\u7684\u8ddd\u96e2\u3002<\/p>\n      <div data-intro-notes>\n        <span><i class=\"bi bi-shield-check\" aria-hidden=\"true\"><\/i> \u4e0d\u9700\u767b\u5165<\/span>\n        <span><i class=\"bi bi-phone\" aria-hidden=\"true\"><\/i> \u624b\u6a5f\u53cb\u5584<\/span>\n        <span><i class=\"bi bi-lightning-charge\" aria-hidden=\"true\"><\/i> \u5373\u6642\u5206\u6790<\/span>\n      <\/div>\n      <p data-helper-text>\u6bcf\u984c\u8acb\u4f9d\u76f4\u89ba\u9078\u64c7\u3002\u5206\u6578\u4ee3\u8868\u300c\u771f\u5be6\u81ea\u6211\u300d\u8207\u300c\u7406\u60f3\u81ea\u6211\u300d\u7684\u843d\u5dee\uff0c\u8d8a\u4f4e\u901a\u5e38\u8868\u793a\u8d8a\u4e00\u81f4\u3002<\/p>\n      <div data-center-actions>\n        <button type=\"button\" class=\"btn\" data-action=\"start\">\n          <i class=\"bi bi-play-fill\" aria-hidden=\"true\"><\/i>\n          \u958b\u59cb\u6e2c\u9a57\n        <\/button>\n      <\/div>\n    <\/article>\n  <\/section>\n\n  <section id=\"quizmain9\" data-page=\"quiz9\" hidden>\n    <article data-page-card data-quiz-card>\n      <header data-quiz-header>\n        <p data-eyebrow>\u8acb\u9078\u64c7\u6700\u8cbc\u8fd1\u4f60\u7684\u72c0\u614b<\/p>\n        <h2 id=\"quizmain9-title\" tabindex=\"-1\">\u81ea\u6211\u5f62\u8c61\u6e2c\u9a57<\/h2>\n        <p data-quiz-status tabindex=\"-1\" aria-live=\"polite\">\u7b2c 1 \u984c\uff0c\u8acb\u9078\u64c7\u4e00\u500b\u7b54\u6848\u3002<\/p>\n        <div data-progress-shell>\n          <div data-progress-meta>\n            <span data-progress-text>1 \/ 50<\/span>\n            <span data-progress-percent>2%<\/span>\n          <\/div>\n          <div data-progress-track role=\"progressbar\" aria-label=\"\u6e2c\u9a57\u9032\u5ea6\" aria-valuemin=\"0\" aria-valuemax=\"50\" aria-valuenow=\"1\">\n            <span data-progress-bar><\/span>\n          <\/div>\n        <\/div>\n      <\/header>\n\n      <form data-quiz-form><\/form>\n\n      <div data-back-wrap>\n        <button type=\"button\" class=\"btn\" data-action=\"prev\" disabled>\n          <i class=\"bi bi-arrow-left\" aria-hidden=\"true\"><\/i>\n          \u4e0a\u4e00\u984c\n        <\/button>\n      <\/div>\n    <\/article>\n  <\/section>\n\n  <section id=\"quizresult9\" data-page=\"result9\" hidden>\n    <article data-page-card data-result-card>\n      <p data-eyebrow>\u6e2c\u9a57\u7d50\u679c<\/p>\n      <h2 id=\"quizresult9-title\" tabindex=\"-1\">\u4f60\u7684\u81ea\u6211\u5f62\u8c61\u843d\u5dee\u5206\u6790<\/h2>\n      <p data-result-summary aria-live=\"polite\">\u4f60\u7684\u5206\u6578\u6b63\u5728\u8a08\u7b97\u4e2d\u3002<\/p>\n\n      <div data-score-panel>\n        <div data-score-circle>\n          <span data-score-number>0<\/span>\n          <span data-score-label>\u7e3d\u5206 \/ 50<\/span>\n        <\/div>\n        <div data-score-copy>\n          <h3 data-result-level-title>\u7d50\u679c\u6a19\u984c<\/h3>\n          <p data-result-level-copy>\u7d50\u679c\u8aaa\u660e<\/p>\n        <\/div>\n      <\/div>\n\n      <section data-chart-section>\n        <h3>\u591a\u7dad\u5ea6\u5206\u6578\u7d50\u69cb<\/h3>\n        <p data-chart-status aria-live=\"polite\">\u5716\u8868\u6e96\u5099\u4e2d\u3002<\/p>\n        <div data-chart-wrap>\n          <canvas data-radar-chart width=\"320\" height=\"320\" aria-label=\"\u591a\u7dad\u5ea6\u81ea\u6211\u5f62\u8c61\u5206\u6578\u5716\u8868\"><\/canvas>\n        <\/div>\n        <div data-dimension-detail-list aria-label=\"\u591a\u7dad\u5ea6\u5206\u6790\u8207\u5efa\u8b70\"><\/div>\n      <\/section>\n\n      <section data-chart-section>\n        <h3>\u6574\u9ad4\u8a55\u5206\u4f4d\u7f6e<\/h3>\n        <div data-position-scale aria-label=\"\u7e3d\u5206\u6240\u5728\u5340\u9593\">\n          <div data-scale-track>\n            <span data-scale-segment data-segment=\"excellent\">5 \u5206\u4ee5\u4e0b<\/span>\n            <span data-scale-segment data-segment=\"healthy\">6\u201311<\/span>\n            <span data-scale-segment data-segment=\"watch\">12\u201321<\/span>\n            <span data-scale-segment data-segment=\"growth\">22\u201333<\/span>\n            <span data-scale-segment data-segment=\"support\">34+<\/span>\n            <span data-score-marker aria-hidden=\"true\"><\/span>\n          <\/div>\n          <div data-scale-legend>\n            <span>\u9ad8\u5ea6\u4e00\u81f4<\/span>\n            <span>\u5065\u5eb7\u7a69\u5b9a<\/span>\n            <span>\u9700\u8981\u4fe1\u5fc3<\/span>\n            <span>\u52a0\u5f37\u767c\u5c55<\/span>\n            <span>\u5efa\u8b70\u652f\u6301<\/span>\n          <\/div>\n        <\/div>\n      <\/section>\n\n      <section data-result-blocks>\n        <article data-result-range=\"excellent\">\n          <h3>\u6b63\u5411\u81ea\u6211\u5f62\u8c61\u5f88\u5f37<\/h3>\n          <p>\u4f60\u5c0d\u81ea\u5df1\u6709\u9ad8\u5ea6\u6b63\u9762\u8a55\u50f9\uff0c\u771f\u5be6\u81ea\u6211\u8207\u7406\u60f3\u81ea\u6211\u76f8\u7576\u4e00\u81f4\u3002\u9019\u901a\u5e38\u4ee3\u8868\u4f60\u5f88\u6e05\u695a\u81ea\u5df1\u7684\u80fd\u529b\uff0c\u4e5f\u6bd4\u8f03\u5bb9\u6613\u5f9e\u751f\u6d3b\u8207\u5de5\u4f5c\u4e2d\u7372\u5f97\u6210\u5c31\u611f\u3002<\/p>\n          <p>\u5efa\u8b70\u4f60\u6301\u7e8c\u4fdd\u6301\u81ea\u6211\u89ba\u5bdf\uff0c\u8b93\u81ea\u4fe1\u8207\u5f48\u6027\u4e26\u884c\uff0c\u907f\u514d\u53ea\u7528\u55ae\u4e00\u6a19\u6e96\u770b\u5f85\u81ea\u5df1\u3002<\/p>\n        <\/article>\n        <article data-result-range=\"healthy\" hidden>\n          <h3>\u6574\u9ad4\u5065\u5eb7\u4e14\u7a69\u5b9a<\/h3>\n          <p>\u4f60\u5927\u81f4\u6eff\u610f\u81ea\u5df1\uff0c\u4f46\u771f\u5be6\u81ea\u6211\u8207\u7406\u60f3\u81ea\u6211\u4e4b\u9593\u4ecd\u6709\u4e00\u4e9b\u5dee\u8ddd\u3002\u9019\u6a23\u7684\u5dee\u8ddd\u591a\u534a\u662f\u5065\u5eb7\u7684\u6210\u9577\u52d5\u529b\u3002<\/p>\n          <p>\u5efa\u8b70\u6311 1\u20132 \u500b\u6700\u60f3\u9760\u8fd1\u7684\u7279\u8cea\uff0c\u62c6\u6210\u53ef\u884c\u7684\u5c0f\u884c\u52d5\uff0c\u8b93\u7406\u60f3\u81ea\u6211\u6162\u6162\u843d\u5730\u3002<\/p>\n        <\/article>\n        <article data-result-range=\"watch\" hidden>\n          <h3>\u6709\u4e9b\u770b\u4f4e\u81ea\u5df1<\/h3>\n          <p>\u4f60\u53ef\u80fd\u5076\u723e\u6703\u4f4e\u4f30\u81ea\u5df1\u7684\u50f9\u503c\uff0c\u6216\u89ba\u5f97\u73fe\u5728\u7684\u81ea\u5df1\u548c\u7406\u60f3\u72c0\u614b\u5dee\u5f97\u6709\u9ede\u9060\u3002\u9019\u4e0d\u4ee3\u8868\u4f60\u4e0d\u597d\uff0c\u800c\u662f\u63d0\u9192\u4f60\u9700\u8981\u66f4\u591a\u81ea\u6211\u652f\u6301\u3002<\/p>\n          <p>\u5efa\u8b70\u5148\u8a18\u9304\u81ea\u5df1\u5df2\u7d93\u505a\u5230\u7684\u4e8b\uff0c\u518d\u8a2d\u5b9a\u4e0b\u4e00\u6b65\uff0c\u4e0d\u8981\u53ea\u76ef\u8457\u4e0d\u8db3\u3002<\/p>\n        <\/article>\n        <article data-result-range=\"growth\" hidden>\n          <h3>\u9700\u8981\u6295\u5165\u4eba\u683c\u767c\u5c55<\/h3>\n          <p>\u4f60\u53ef\u80fd\u5e38\u5c0d\u81ea\u5df1\u7684\u5f62\u8c61\u4e0d\u6eff\u610f\uff0c\u4e5f\u8f03\u5bb9\u6613\u61f7\u7591\u81ea\u5df1\u662f\u5426\u80fd\u6210\u529f\u3002\u9019\u4efd\u843d\u5dee\u503c\u5f97\u88ab\u6eab\u67d4\u5730\u770b\u898b\u3002<\/p>\n          <p>\u5efa\u8b70\u5f9e\u7a69\u5b9a\u4f5c\u606f\u3001\u53ef\u5b8c\u6210\u7684\u5c0f\u76ee\u6a19\u8207\u53ef\u4fe1\u4efb\u7684\u4eba\u969b\u56de\u994b\u958b\u59cb\uff0c\u9010\u6b65\u91cd\u5efa\u81ea\u4fe1\u3002<\/p>\n        <\/article>\n        <article data-result-range=\"support\" hidden>\n          <h3>\u5efa\u8b70\u5c0b\u6c42\u66f4\u591a\u652f\u6301<\/h3>\n          <p>\u4f60\u53ef\u80fd\u5c0d\u81ea\u5df1\u611f\u5230\u5931\u671b\uff0c\u4e26\u4e14\u8f03\u5e38\u51fa\u73fe\u632b\u6298\u6216\u5931\u6557\u611f\u3002\u9019\u985e\u611f\u53d7\u4e0d\u9700\u8981\u7368\u81ea\u627f\u53d7\u3002<\/p>\n          <p>\u5efa\u8b70\u8207\u4fe1\u4efb\u7684\u4eba\u8ac7\u8ac7\uff0c\u4e5f\u53ef\u4ee5\u8003\u616e\u5c0b\u6c42\u5fc3\u7406\u5c08\u696d\u4eba\u54e1\u5354\u52a9\uff0c\u8b93\u4f60\u5728\u66f4\u5b89\u5168\u7684\u966a\u4f34\u4e2d\u91cd\u65b0\u6574\u7406\u81ea\u6211\u5f62\u8c61\u3002<\/p>\n        <\/article>\n      <\/section>\n\n      <section data-answer-insights>\n        <h3>\u4f60\u7684\u4f5c\u7b54\u6458\u8981<\/h3>\n        <div data-insight-grid>\n          <article>\n            <span data-insight-number data-now-count>0<\/span>\n            <span data-insight-label>\u76ee\u524d\u8a8d\u540c\u7684\u7279\u8cea<\/span>\n            <div data-trait-list data-now-list><\/div>\n          <\/article>\n          <article>\n            <span data-insight-number data-ideal-count>0<\/span>\n            <span data-insight-label>\u7406\u60f3\u4e2d\u60f3\u5177\u5099\u7684\u7279\u8cea<\/span>\n            <div data-trait-list data-ideal-list><\/div>\n          <\/article>\n          <article>\n            <span data-insight-number data-gap-count>0<\/span>\n            <span data-insight-label>\u6709\u843d\u5dee\u7684\u7279\u8cea<\/span>\n            <div data-trait-list data-gap-list><\/div>\n          <\/article>\n        <\/div>\n      <\/section>\n\n      <div data-center-actions>\n        <button type=\"button\" class=\"btn\" data-action=\"restart\">\n          <i class=\"bi bi-arrow-repeat\" aria-hidden=\"true\"><\/i>\n          \u91cd\u65b0\u6e2c\u9a57\n        <\/button>\n      <\/div>\n    <\/article>\n  <\/section>\n<\/section>\n\n<style>\n#quizapp9,\n[data-quiz-app=\"quiz9\"] {\n  --quiz9-text: #2f2a25;\n  --quiz9-muted: #6f6258;\n  --quiz9-soft: #fffaf4;\n  --quiz9-card: #ffffff;\n  --quiz9-line: #eadfd2;\n  --quiz9-accent: #9b765d;\n  --quiz9-accent-dark: #6d4f3f;\n  --quiz9-accent-soft: #f3e6da;\n  --quiz9-green: #8fae9a;\n  --quiz9-sand: #d9b98f;\n  --quiz9-rose: #d7a99b;\n  --quiz9-brown: #4a3429;\n  width: min(100%, 750px);\n  margin: 0 auto;\n  color: var(--quiz9-text);\n  font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Noto Sans TC\", \"Microsoft JhengHei\", sans-serif;\n  font-size: 16px;\n  line-height: 1.65;\n}\n\n#quizapp9 *,\n#quizapp9 *::before,\n#quizapp9 *::after {\n  box-sizing: border-box;\n}\n\n#quizapp9 [hidden] {\n  display: none !important;\n}\n\n#quizapp9 [data-page] {\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n}\n\n#quizapp9 [data-page-card] {\n  position: relative;\n  overflow: hidden;\n  contain: layout paint;\n  border: 1px solid var(--quiz9-line);\n  border-radius: 28px;\n  padding: 24px;\n  background:\n    radial-gradient(circle at 12% 10%, rgba(217, 185, 143, .25), transparent 26%),\n    radial-gradient(circle at 88% 18%, rgba(143, 174, 154, .22), transparent 26%),\n    linear-gradient(180deg, rgba(255, 250, 244, .96), rgba(255, 255, 255, .98));\n  box-shadow: 0 18px 45px rgba(74, 52, 41, .08);\n}\n\n#quizapp9 [data-intro-card],\n#quizapp9 [data-result-card] {\n  text-align: center;\n  padding-block: 40px;\n}\n\n#quizapp9 [data-hero-icons] {\n  position: relative;\n  min-height: 96px;\n  margin-bottom: 8px;\n}\n\n#quizapp9 [data-floating-icon] {\n  position: absolute;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 64px;\n  height: 64px;\n  border-radius: 999px;\n  color: var(--quiz9-accent-dark);\n  background: rgba(255, 255, 255, .82);\n  box-shadow: 0 12px 30px rgba(74, 52, 41, .10);\n  transform: translateZ(0);\n  transition: transform .25s ease, box-shadow .25s ease;\n}\n\n#quizapp9 [data-floating-icon]:nth-child(1) {\n  left: 50%;\n  top: 8px;\n  transform: translateX(-50%);\n  font-size: 30px;\n}\n\n#quizapp9 [data-floating-icon]:nth-child(2) {\n  left: calc(50% - 96px);\n  top: 32px;\n  font-size: 24px;\n}\n\n#quizapp9 [data-floating-icon]:nth-child(3) {\n  right: calc(50% - 96px);\n  top: 28px;\n  font-size: 26px;\n}\n\n#quizapp9 [data-eyebrow] {\n  margin: 0 0 8px;\n  color: var(--quiz9-accent-dark);\n  font-size: .92rem;\n  font-weight: 700;\n  letter-spacing: .08em;\n}\n\n#quizapp9 h2 {\n  margin: 0 0 16px;\n  color: var(--quiz9-text);\n  font-size: clamp(1.75rem, 6vw, 2.5rem);\n  line-height: 1.18;\n  font-weight: 800;\n}\n\n#quizapp9 h3 {\n  margin: 0 0 12px;\n  color: var(--quiz9-text);\n  font-size: clamp(1.25rem, 4vw, 1.5rem);\n  line-height: 1.35;\n  font-weight: 800;\n}\n\n#quizapp9 h4 {\n  margin: 0;\n  color: var(--quiz9-text);\n  font-size: 1.05rem;\n  line-height: 1.4;\n  font-weight: 850;\n}\n\n#quizapp9 [data-lead] {\n  max-width: 620px;\n  margin: 0 auto 18px;\n  color: var(--quiz9-muted);\n  font-size: clamp(1rem, 3.5vw, 1.125rem);\n}\n\n#quizapp9 [data-helper-text] {\n  max-width: 600px;\n  margin: 16px auto 0;\n  color: var(--quiz9-muted);\n  font-size: 1rem;\n}\n\n#quizapp9 [data-intro-notes] {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 8px;\n  margin: 18px auto;\n}\n\n#quizapp9 [data-intro-notes] span {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  min-height: 36px;\n  padding: 6px 12px;\n  border: 1px solid var(--quiz9-line);\n  border-radius: 999px;\n  background: rgba(255, 255, 255, .72);\n  color: var(--quiz9-muted);\n  font-size: .94rem;\n}\n\n#quizapp9 [data-center-actions],\n#quizapp9 [data-back-wrap] {\n  display: flex;\n  justify-content: center;\n  margin-top: 24px;\n}\n\n#quizapp9 [data-action=\"start\"],\n#quizapp9 [data-action=\"restart\"] {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 8px;\n  min-width: 180px;\n  min-height: 48px;\n  padding: 12px 22px;\n  border: 0;\n  border-radius: 999px;\n  color: #ffffff;\n  background: linear-gradient(135deg, #a88062, #8fae9a);\n  box-shadow: 0 14px 28px rgba(109, 79, 63, .22);\n  font-weight: 800;\n  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;\n}\n\n#quizapp9 [data-action=\"start\"]:hover,\n#quizapp9 [data-action=\"restart\"]:hover {\n  transform: translateY(-2px);\n  box-shadow: 0 18px 34px rgba(109, 79, 63, .25);\n  filter: saturate(1.06);\n}\n\n#quizapp9 [data-quiz-card] {\n  padding: 20px;\n}\n\n#quizapp9 [data-quiz-header] {\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n}\n\n#quizapp9 [data-quiz-status] {\n  margin: 0;\n  color: var(--quiz9-muted);\n}\n\n#quizapp9 [data-progress-shell] {\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n  margin: 8px 0 20px;\n}\n\n#quizapp9 [data-progress-meta] {\n  display: flex;\n  justify-content: space-between;\n  color: var(--quiz9-muted);\n  font-size: .95rem;\n}\n\n#quizapp9 [data-progress-track] {\n  width: 100%;\n  height: 10px;\n  overflow: hidden;\n  border-radius: 999px;\n  background: #efe5dc;\n}\n\n#quizapp9 [data-progress-bar] {\n  display: block;\n  width: 2%;\n  height: 100%;\n  border-radius: inherit;\n  background: linear-gradient(90deg, var(--quiz9-accent), var(--quiz9-green));\n  transition: width .22s ease;\n}\n\n#quizapp9 fieldset {\n  margin: 0;\n  padding: 0;\n  border: 0;\n}\n\n#quizapp9 legend {\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  margin: 0 0 16px;\n}\n\n#quizapp9 [data-question-kicker] {\n  color: var(--quiz9-accent-dark);\n  font-size: .95rem;\n  font-weight: 700;\n}\n\n#quizapp9 [data-question-title] {\n  color: var(--quiz9-text);\n  font-size: clamp(1.25rem, 4.8vw, 1.75rem);\n  line-height: 1.35;\n  font-weight: 800;\n}\n\n#quizapp9 [data-options-grid] {\n  display: grid;\n  gap: 12px;\n}\n\n#quizapp9 [data-option] {\n  min-height: 72px;\n  border: 1px solid var(--quiz9-line);\n  border-radius: 20px;\n  padding: 14px;\n  color: var(--quiz9-text);\n  background: rgba(255, 255, 255, .92);\n  box-shadow: 0 8px 18px rgba(74, 52, 41, .05);\n  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;\n}\n\n#quizapp9 [data-option]:hover {\n  transform: translateY(-1px);\n  border-color: rgba(155, 118, 93, .42);\n  box-shadow: 0 12px 22px rgba(74, 52, 41, .08);\n}\n\n#quizapp9 [data-option][aria-pressed=\"true\"] {\n  border-color: var(--quiz9-accent);\n  background: var(--quiz9-accent-soft);\n  box-shadow: 0 14px 26px rgba(109, 79, 63, .12);\n}\n\n#quizapp9 [data-option-row] {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n}\n\n#quizapp9 [data-select-indicator] {\n  flex: 0 0 32px;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 32px;\n  height: 32px;\n  border: 2px solid #d8c7b7;\n  border-radius: 999px;\n  color: transparent;\n  background: #fffdf9;\n  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;\n}\n\n#quizapp9 [data-option][aria-pressed=\"true\"] [data-select-indicator] {\n  border-color: var(--quiz9-accent-dark);\n  color: #ffffff;\n  background: var(--quiz9-accent-dark);\n  transform: scale(1.04);\n}\n\n#quizapp9 [data-option-copy] {\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n}\n\n#quizapp9 [data-option-title] {\n  font-size: 1rem;\n  font-weight: 800;\n}\n\n#quizapp9 [data-option-hint] {\n  color: var(--quiz9-muted);\n  font-size: .92rem;\n}\n\n#quizapp9 [data-action=\"prev\"] {\n  min-width: 136px;\n  min-height: 44px;\n  border: 1px solid var(--quiz9-line);\n  border-radius: 999px;\n  color: var(--quiz9-accent-dark);\n  background: rgba(255, 255, 255, .86);\n  font-weight: 800;\n}\n\n#quizapp9 [data-action=\"prev\"]:disabled {\n  opacity: .45;\n  cursor: not-allowed;\n}\n\n#quizapp9 [data-score-panel] {\n  display: grid;\n  gap: 18px;\n  align-items: center;\n  margin: 20px 0;\n}\n\n#quizapp9 [data-score-circle] {\n  display: inline-flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  justify-self: center;\n  width: 148px;\n  height: 148px;\n  border: 10px solid var(--quiz9-accent-soft);\n  border-radius: 999px;\n  background: #ffffff;\n  box-shadow: 0 12px 26px rgba(74, 52, 41, .08);\n}\n\n#quizapp9 [data-score-number] {\n  color: var(--quiz9-accent-dark);\n  font-size: 2.5rem;\n  line-height: 1;\n  font-weight: 900;\n}\n\n#quizapp9 [data-score-label] {\n  color: var(--quiz9-muted);\n  font-size: .92rem;\n}\n\n#quizapp9 [data-score-copy] {\n  text-align: left;\n}\n\n#quizapp9 [data-result-summary],\n#quizapp9 [data-result-level-copy] {\n  color: var(--quiz9-muted);\n  margin: 0;\n}\n\n#quizapp9 [data-chart-section],\n#quizapp9 [data-answer-insights],\n#quizapp9 [data-result-blocks] {\n  margin-top: 22px;\n  padding: 18px;\n  border: 1px solid var(--quiz9-line);\n  border-radius: 22px;\n  background: rgba(255, 255, 255, .74);\n}\n\n#quizapp9 [data-chart-wrap] {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  min-height: 280px;\n}\n\n#quizapp9 canvas {\n  max-width: 100%;\n  height: auto !important;\n}\n\n#quizapp9 [data-chart-status] {\n  color: var(--quiz9-muted);\n  font-size: .95rem;\n}\n\n#quizapp9 [data-position-scale] {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n}\n\n#quizapp9 [data-scale-track] {\n  position: relative;\n  display: grid;\n  grid-template-columns: 10% 12% 20% 24% 34%;\n  min-height: 48px;\n  overflow: visible;\n  border-radius: 16px;\n}\n\n#quizapp9 [data-scale-segment] {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 8px 4px;\n  color: #3b312a;\n  font-size: .78rem;\n  font-weight: 800;\n  text-align: center;\n}\n\n#quizapp9 [data-segment=\"excellent\"] { background: #dce8df; border-radius: 16px 0 0 16px; }\n#quizapp9 [data-segment=\"healthy\"] { background: #e8dfca; }\n#quizapp9 [data-segment=\"watch\"] { background: #ead8c8; }\n#quizapp9 [data-segment=\"growth\"] { background: #e6cfc4; }\n#quizapp9 [data-segment=\"support\"] { background: #dec7bd; border-radius: 0 16px 16px 0; }\n\n#quizapp9 [data-score-marker] {\n  position: absolute;\n  left: 0;\n  top: 50%;\n  width: 18px;\n  height: 18px;\n  border: 3px solid #fffaf4;\n  border-radius: 999px;\n  background: var(--quiz9-brown);\n  box-shadow: 0 4px 12px rgba(74, 52, 41, .28);\n  transform: translate(-50%, -50%);\n  transition: left .25s ease;\n}\n\n#quizapp9 [data-scale-legend] {\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 8px;\n  color: var(--quiz9-muted);\n  font-size: .86rem;\n  text-align: left;\n}\n\n#quizapp9 [data-result-blocks] article {\n  text-align: left;\n}\n\n#quizapp9 [data-result-blocks] p {\n  margin: 0 0 10px;\n  color: var(--quiz9-muted);\n}\n\n#quizapp9 [data-insight-grid] {\n  display: grid;\n  gap: 12px;\n}\n\n#quizapp9 [data-insight-grid] article {\n  padding: 16px;\n  border: 1px solid var(--quiz9-line);\n  border-radius: 18px;\n  background: #fffdf9;\n  text-align: left;\n}\n\n#quizapp9 [data-insight-number] {\n  display: block;\n  color: var(--quiz9-accent-dark);\n  font-size: 2rem;\n  font-weight: 900;\n  text-align: center;\n}\n\n#quizapp9 [data-insight-label] {\n  display: block;\n  margin-bottom: 10px;\n  color: var(--quiz9-muted);\n  font-size: .95rem;\n  text-align: center;\n}\n\n#quizapp9 [data-trait-list] ul,\n#quizapp9 [data-mini-trait-list] {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n\n#quizapp9 [data-trait-list] li,\n#quizapp9 [data-mini-trait-list] li {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  padding: 6px 10px;\n  border: 1px solid var(--quiz9-line);\n  border-radius: 999px;\n  background: #ffffff;\n  color: var(--quiz9-text);\n  font-size: .88rem;\n  line-height: 1.35;\n}\n\n#quizapp9 [data-trait-list] li small,\n#quizapp9 [data-mini-trait-list] li small {\n  color: var(--quiz9-muted);\n  font-size: .78rem;\n}\n\n#quizapp9 [data-empty-trait] {\n  color: var(--quiz9-muted) !important;\n  background: rgba(255, 255, 255, .52) !important;\n}\n\n#quizapp9 [data-dimension-detail-list] {\n  display: grid;\n  gap: 14px;\n  margin-top: 18px;\n  text-align: left;\n}\n\n#quizapp9 [data-dimension-card] {\n  padding: 16px;\n  border: 1px solid var(--quiz9-line);\n  border-radius: 20px;\n  background: #fffdf9;\n  box-shadow: 0 8px 18px rgba(74, 52, 41, .04);\n}\n\n#quizapp9 [data-dimension-head] {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: space-between;\n  gap: 8px;\n  margin-bottom: 8px;\n}\n\n#quizapp9 [data-dimension-score] {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  padding: 5px 10px;\n  border-radius: 999px;\n  color: var(--quiz9-accent-dark);\n  background: var(--quiz9-accent-soft);\n  font-size: .82rem;\n  font-weight: 800;\n}\n\n#quizapp9 [data-gap-level=\"low\"] [data-dimension-score] { background: #dce8df; }\n#quizapp9 [data-gap-level=\"moderate\"] [data-dimension-score] { background: #e8dfca; }\n#quizapp9 [data-gap-level=\"high\"] [data-dimension-score] { background: #ead8c8; }\n#quizapp9 [data-gap-level=\"critical\"] [data-dimension-score] { background: #dec7bd; }\n\n#quizapp9 [data-dimension-desc],\n#quizapp9 [data-dimension-analysis],\n#quizapp9 [data-dimension-advice] {\n  margin: 8px 0 0;\n  color: var(--quiz9-muted);\n  font-size: .94rem;\n}\n\n#quizapp9 [data-dimension-analysis] strong,\n#quizapp9 [data-dimension-advice] strong {\n  color: var(--quiz9-text);\n}\n\n#quizapp9 [data-dimension-groups] {\n  display: grid;\n  gap: 10px;\n  margin-top: 12px;\n}\n\n#quizapp9 [data-dimension-group] {\n  padding: 12px;\n  border: 1px solid rgba(234, 223, 210, .85);\n  border-radius: 16px;\n  background: rgba(255, 255, 255, .68);\n}\n\n#quizapp9 [data-dimension-group] strong {\n  display: block;\n  margin-bottom: 8px;\n  color: var(--quiz9-accent-dark);\n  font-size: .9rem;\n}\n\n#quizapp9 :focus-visible {\n  outline: 3px solid rgba(109, 79, 63, .42);\n  outline-offset: 4px;\n}\n\n@media (min-width: 576px) {\n  #quizapp9,\n  [data-quiz-app=\"quiz9\"] {\n    font-size: 17px;\n  }\n\n  #quizapp9 [data-page-card] {\n    padding: 32px;\n  }\n\n  #quizapp9 [data-options-grid] {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  #quizapp9 [data-score-panel] {\n    grid-template-columns: 170px 1fr;\n  }\n\n  #quizapp9 [data-score-copy] {\n    text-align: left;\n  }\n\n  #quizapp9 [data-insight-grid] {\n    grid-template-columns: repeat(3, 1fr);\n  }\n\n  #quizapp9 [data-scale-legend] {\n    grid-template-columns: repeat(5, 1fr);\n    text-align: center;\n  }\n}\n\n@media (min-width: 768px) {\n  #quizapp9 [data-chart-wrap] {\n    min-height: 340px;\n  }\n\n  #quizapp9 [data-scale-segment] {\n    font-size: .9rem;\n  }\n\n  #quizapp9 [data-dimension-groups] {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  #quizapp9 *,\n  #quizapp9 *::before,\n  #quizapp9 *::after {\n    transition-duration: .01ms !important;\n    scroll-behavior: auto !important;\n  }\n}\n<\/style>\n\n<script>\n(() => {\n  'use strict';\n\n  const app = document.querySelector('[data-quiz-app=\"quiz9\"]');\n  if (!app) return;\n\n  const traitNames = [\n    '\u91ce\u5fc3\u52c3\u52c3', '\u597d\u8faf\u7684', '\u7368\u65b7\u7684', '\u5438\u5f15\u4eba\u7684', '\u597d\u6230\u7684',\n    '\u7c97\u9b6f\u7684', '\u8b39\u614e\u7684', '\u8ff7\u4eba\u7684', '\u8070\u660e\u7684', '\u80af\u7af6\u722d\u7684',\n    '\u80af\u5408\u4f5c\u7684', '\u6709\u5275\u9020\u529b\u7684', '\u597d\u5947\u7684', '\u61a4\u4e16\u5ac9\u4fd7\u7684', '\u5927\u81bd\u7684',\n    '\u679c\u65b7\u7684', '\u5805\u6bc5\u7684', '\u8fc2\u56de\u7684', '\u5c0f\u5fc3\u7684', '\u8ce3\u529b\u7684',\n    '\u6709\u6548\u7387\u7684', '\u7cbe\u529b\u5145\u6c9b\u7684', '\u6709\u8da3\u7684', '\u597d\u5fcc\u5992\u7684', '\u5bec\u5927\u7684',\n    '\u53d7\u632b\u7684', '\u6177\u6168\u7684', '\u8aa0\u5be6\u7684', '\u5f15\u4eba\u6ce8\u76ee\u7684', '\u885d\u52d5\u7684',\n    '\u7368\u7acb\u7684', '\u61f6\u60f0\u7684', '\u6a02\u89c0\u7684', '\u80fd\u8a00\u5584\u8faf\u7684', '\u6709\u8010\u6027\u7684',\n    '\u5be6\u969b\u7684', '\u6709\u539f\u5247\u7684', '\u8f15\u9b06\u7684', '\u6a5f\u667a\u7684', '\u81ea\u6211\u4e2d\u5fc3\u7684',\n    '\u6709\u81ea\u4fe1\u7684', '\u654f\u611f\u7684', '\u7cbe\u660e\u80fd\u5e79\u7684', '\u9811\u56fa\u7684', '\u731c\u5fcc\u7684',\n    '\u81bd\u5c0f\u7684', '\u5f37\u786c\u7684', '\u53ef\u4fe1\u7684', '\u6eab\u548c\u7684', '\u9806\u5f9e\u7684'\n  ];\n\n  const answerOptions = [\n    {\n      choice: 'both',\n      score: 0,\n      now: 1,\n      ideal: 1,\n      title: '\u73fe\u5728\u5c31\u662f\uff0c\u4e5f\u60f3\u4fdd\u7559\u9019\u500b\u7279\u8cea',\n      hint: '\u771f\u5be6\u81ea\u6211\u8207\u7406\u60f3\u81ea\u6211\u4e00\u81f4'\n    },\n    {\n      choice: 'current',\n      score: 1,\n      now: 1,\n      ideal: 0,\n      title: '\u73fe\u5728\u662f\uff0c\u4f46\u672a\u5fc5\u60f3\u7e7c\u7e8c\u5f37\u5316',\n      hint: '\u4ee3\u8868\u76ee\u524d\u8207\u7406\u60f3\u4e4b\u9593\u6709\u4e00\u9ede\u843d\u5dee'\n    },\n    {\n      choice: 'ideal',\n      score: 1,\n      now: 0,\n      ideal: 1,\n      title: '\u73fe\u5728\u4e0d\u662f\uff0c\u4f46\u5e0c\u671b\u81ea\u5df1\u5177\u5099',\n      hint: '\u4ee3\u8868\u4f60\u60f3\u671d\u9019\u500b\u7279\u8cea\u9760\u8fd1'\n    },\n    {\n      choice: 'neither',\n      score: 0,\n      now: 0,\n      ideal: 0,\n      title: '\u4e0d\u592a\u50cf\u6211\uff0c\u4e5f\u4e0d\u662f\u76ee\u524d\u8ffd\u6c42\u7684\u6a23\u5b50',\n      hint: '\u9019\u500b\u7279\u8cea\u66ab\u6642\u4e0d\u5728\u4f60\u7684\u81ea\u6211\u5b9a\u7fa9\u88e1'\n    }\n  ];\n\n  const dimensions = [\n    {\n      label: '\u884c\u52d5\u8207\u4f01\u5716',\n      items: [0, 9, 14, 15, 16, 19, 20, 21, 28, 46],\n      description: '\u89c0\u5bdf\u4f60\u5c0d\u76ee\u6a19\u3001\u7af6\u722d\u3001\u884c\u52d5\u529b\u3001\u6548\u7387\u8207\u4e3b\u52d5\u6027\u7684\u8a8d\u540c\u7a0b\u5ea6\u3002',\n      advice: {\n        low: '\u9019\u500b\u7dad\u5ea6\u5f88\u7a69\u5b9a\uff0c\u9069\u5408\u628a\u76ee\u524d\u6709\u6548\u7684\u884c\u52d5\u7bc0\u594f\u4fdd\u7559\u4e0b\u4f86\u3002',\n        moderate: '\u53ef\u4ee5\u6311\u4e00\u500b\u6700\u60f3\u5f37\u5316\u7684\u884c\u52d5\u7279\u8cea\uff0c\u8a2d\u8a08\u4e00\u500b\u4f4e\u9580\u6abb\u7684\u7df4\u7fd2\u3002',\n        high: '\u4f60\u5c0d\u884c\u52d5\u529b\u7684\u671f\u5f85\u8207\u73fe\u6cc1\u5dee\u8ddd\u8f03\u660e\u986f\uff0c\u5efa\u8b70\u628a\u5927\u76ee\u6a19\u62c6\u6210\u77ed\u9031\u671f\u6210\u679c\u3002',\n        critical: '\u9019\u500b\u7dad\u5ea6\u843d\u5dee\u504f\u9ad8\uff0c\u5148\u964d\u4f4e\u81ea\u6211\u8981\u6c42\uff0c\u518d\u7528\u53ef\u5b8c\u6210\u7684\u5c0f\u4efb\u52d9\u91cd\u5efa\u638c\u63a7\u611f\u3002'\n      }\n    },\n    {\n      label: '\u4eba\u969b\u4e92\u52d5',\n      items: [1, 3, 4, 5, 10, 22, 24, 26, 33, 49],\n      description: '\u89c0\u5bdf\u4f60\u5728\u4eba\u969b\u5438\u5f15\u529b\u3001\u5408\u4f5c\u3001\u8868\u9054\u3001\u885d\u7a81\u8207\u95dc\u4fc2\u5f48\u6027\u4e0a\u7684\u81ea\u6211\u671f\u5f85\u3002',\n      advice: {\n        low: '\u4f60\u5728\u4eba\u969b\u9762\u5411\u7684\u81ea\u6211\u611f\u53d7\u8f03\u4e00\u81f4\uff0c\u53ef\u4ee5\u7e7c\u7e8c\u4fdd\u7559\u73fe\u5728\u7684\u4e92\u52d5\u65b9\u5f0f\u3002',\n        moderate: '\u9078\u4e00\u500b\u6700\u5e38\u51fa\u73fe\u7684\u4eba\u969b\u60c5\u5883\uff0c\u7df4\u7fd2\u66f4\u6e05\u695a\u5730\u8868\u9054\u9700\u6c42\u6216\u754c\u7dda\u3002',\n        high: '\u4eba\u969b\u843d\u5dee\u8f03\u660e\u986f\u6642\uff0c\u5efa\u8b70\u5148\u5f9e\u4e00\u6bb5\u5b89\u5168\u95dc\u4fc2\u4e2d\u53d6\u5f97\u5177\u9ad4\u56de\u994b\u3002',\n        critical: '\u5982\u679c\u4eba\u969b\u4e92\u52d5\u5e36\u4f86\u5f88\u591a\u58d3\u529b\uff0c\u5148\u628a\u76ee\u6a19\u653e\u5728\u7a69\u5b9a\u8207\u5b89\u5168\uff0c\u800c\u4e0d\u662f\u7acb\u523b\u6539\u8b8a\u6240\u6709\u95dc\u4fc2\u3002'\n      }\n    },\n    {\n      label: '\u60c5\u7dd2\u89ba\u5bdf',\n      items: [13, 23, 25, 29, 31, 32, 37, 41, 44, 45],\n      description: '\u89c0\u5bdf\u4f60\u5c0d\u60c5\u7dd2\u53cd\u61c9\u3001\u6a02\u89c0\u611f\u3001\u654f\u611f\u5ea6\u3001\u885d\u52d5\u8207\u5167\u5728\u5b89\u5168\u611f\u7684\u770b\u6cd5\u3002',\n      advice: {\n        low: '\u4f60\u5c0d\u60c5\u7dd2\u72c0\u614b\u7684\u7406\u89e3\u8f03\u4e00\u81f4\uff0c\u53ef\u4ee5\u6301\u7e8c\u7528\u8a18\u9304\u6216\u53cd\u601d\u7dad\u6301\u89ba\u5bdf\u3002',\n        moderate: '\u7576\u843d\u5dee\u51fa\u73fe\u6642\uff0c\u5148\u6a19\u8a18\u60c5\u7dd2\u540d\u7a31\uff0c\u518d\u6c7a\u5b9a\u8981\u884c\u52d5\u6216\u66ab\u505c\u3002',\n        high: '\u60c5\u7dd2\u9762\u5411\u843d\u5dee\u8f03\u9ad8\u6642\uff0c\u5efa\u8b70\u5efa\u7acb\u56fa\u5b9a\u7684\u653e\u9b06\u3001\u66f8\u5beb\u6216\u6c42\u52a9\u6d41\u7a0b\u3002',\n        critical: '\u82e5\u9577\u671f\u6709\u632b\u6298\u3001\u5931\u671b\u6216\u5f37\u70c8\u81ea\u8cac\uff0c\u5efa\u8b70\u8207\u4fe1\u4efb\u7684\u4eba\u6216\u5fc3\u7406\u5c08\u696d\u4eba\u54e1\u8a0e\u8ad6\u3002'\n      }\n    },\n    {\n      label: '\u81ea\u6211\u7ba1\u7406',\n      items: [6, 17, 18, 34, 35, 36, 39, 43, 47, 48],\n      description: '\u89c0\u5bdf\u4f60\u5c0d\u8010\u6027\u3001\u539f\u5247\u3001\u53ef\u4fe1\u5ea6\u3001\u8b39\u614e\u3001\u9811\u56fa\u8207\u751f\u6d3b\u7ba1\u7406\u65b9\u5f0f\u7684\u671f\u5f85\u3002',\n      advice: {\n        low: '\u9019\u500b\u7dad\u5ea6\u7684\u4e00\u81f4\u6027\u4e0d\u932f\uff0c\u4ee3\u8868\u4f60\u5c0d\u81ea\u5df1\u7684\u7ba1\u7406\u98a8\u683c\u6709\u4e00\u5b9a\u638c\u63e1\u3002',\n        moderate: '\u53ef\u4ee5\u628a\u60f3\u8abf\u6574\u7684\u7279\u8cea\u8f49\u6210\u4e00\u500b\u5177\u9ad4\u898f\u5247\uff0c\u4f8b\u5982\u6642\u9593\u3001\u754c\u7dda\u6216\u63d0\u9192\u3002',\n        high: '\u81ea\u6211\u7ba1\u7406\u843d\u5dee\u8f03\u9ad8\u6642\uff0c\u5148\u627e\u51fa\u6700\u6d88\u8017\u4f60\u7684\u7fd2\u6163\uff0c\u518d\u5f9e\u4e00\u9805\u66ff\u4ee3\u884c\u70ba\u958b\u59cb\u3002',\n        critical: '\u4e0d\u8981\u4e00\u6b21\u8981\u6c42\u81ea\u5df1\u5168\u9762\u81ea\u5f8b\uff0c\u5148\u628a\u7761\u7720\u3001\u98f2\u98df\u3001\u5de5\u4f5c\u7bc0\u594f\u7b49\u57fa\u790e\u7a69\u4f4f\u3002'\n      }\n    },\n    {\n      label: '\u8cc7\u6e90\u8207\u80fd\u529b',\n      items: [2, 7, 8, 11, 12, 27, 30, 38, 40, 42],\n      description: '\u89c0\u5bdf\u4f60\u5c0d\u80fd\u529b\u611f\u3001\u5275\u9020\u529b\u3001\u597d\u5947\u5fc3\u3001\u7368\u7acb\u6027\u3001\u81ea\u4fe1\u8207\u500b\u4eba\u8cc7\u6e90\u7684\u8a55\u50f9\u3002',\n      advice: {\n        low: '\u4f60\u5c0d\u80fd\u529b\u8207\u8cc7\u6e90\u7684\u8a55\u4f30\u8f03\u7a69\u5b9a\uff0c\u53ef\u4ee5\u628a\u512a\u52e2\u6295\u5165\u5230\u6b63\u5728\u91cd\u8996\u7684\u76ee\u6a19\u4e2d\u3002',\n        moderate: '\u5217\u51fa\u5df2\u7d93\u64c1\u6709\u7684\u80fd\u529b\u8b49\u64da\uff0c\u518d\u9078\u4e00\u500b\u7406\u60f3\u7279\u8cea\u5b89\u6392\u523b\u610f\u7df4\u7fd2\u3002',\n        high: '\u80fd\u529b\u9762\u5411\u843d\u5dee\u8f03\u9ad8\u6642\uff0c\u5bb9\u6613\u4f4e\u4f30\u81ea\u5df1\uff1b\u5efa\u8b70\u7528\u5177\u9ad4\u6210\u679c\u6821\u6e96\u81ea\u6211\u8a55\u50f9\u3002',\n        critical: '\u5982\u679c\u4f60\u89ba\u5f97\u81ea\u5df1\u8207\u7406\u60f3\u80fd\u529b\u5dee\u8ddd\u5f88\u5927\uff0c\u5148\u7e2e\u5c0f\u6bd4\u8f03\u7bc4\u570d\uff0c\u5c08\u6ce8\u4e00\u500b\u53ef\u7d2f\u7a4d\u7684\u6280\u80fd\u3002'\n      }\n    }\n  ];\n\n  const resultLevels = [\n    {\n      key: 'excellent',\n      max: 5,\n      title: '\u6b63\u5411\u81ea\u6211\u5f62\u8c61\u5f88\u5f37',\n      copy: '\u771f\u5be6\u81ea\u6211\u8207\u7406\u60f3\u81ea\u6211\u9ad8\u5ea6\u4e00\u81f4\uff0c\u4f60\u5c0d\u81ea\u5df1\u7684\u80fd\u529b\u8207\u5f62\u8c61\u591a\u534a\u6709\u7a69\u5b9a\u800c\u6b63\u5411\u7684\u611f\u53d7\u3002'\n    },\n    {\n      key: 'healthy',\n      max: 11,\n      title: '\u6574\u9ad4\u5065\u5eb7\u4e14\u7a69\u5b9a',\n      copy: '\u4f60\u5c0d\u81ea\u5df1\u5927\u81f4\u6eff\u610f\uff0c\u5c11\u91cf\u843d\u5dee\u53ef\u4ee5\u6210\u70ba\u6eab\u548c\u7684\u6210\u9577\u52d5\u529b\u3002'\n    },\n    {\n      key: 'watch',\n      max: 21,\n      title: '\u6709\u4e9b\u770b\u4f4e\u81ea\u5df1',\n      copy: '\u4f60\u53ef\u80fd\u5076\u723e\u4f4e\u4f30\u81ea\u5df1\uff0c\u9700\u8981\u7528\u66f4\u5177\u9ad4\u7684\u8b49\u64da\u652f\u6301\u81ea\u4fe1\u3002'\n    },\n    {\n      key: 'growth',\n      max: 33,\n      title: '\u9700\u8981\u6295\u5165\u4eba\u683c\u767c\u5c55',\n      copy: '\u4f60\u5c0d\u81ea\u6211\u5f62\u8c61\u7684\u4e0d\u6eff\u8f03\u660e\u986f\uff0c\u9069\u5408\u5f9e\u5c0f\u76ee\u6a19\u8207\u53ef\u9760\u56de\u994b\u958b\u59cb\u8abf\u6574\u3002'\n    },\n    {\n      key: 'support',\n      max: Infinity,\n      title: '\u5efa\u8b70\u5c0b\u6c42\u66f4\u591a\u652f\u6301',\n      copy: '\u4f60\u53ef\u80fd\u5e38\u611f\u5230\u632b\u6298\u6216\u5931\u671b\uff0c\u5efa\u8b70\u8207\u4fe1\u4efb\u7684\u4eba\u6216\u5c08\u696d\u4eba\u54e1\u4e00\u8d77\u6574\u7406\u9019\u4e9b\u611f\u53d7\u3002'\n    }\n  ];\n\n  const pages = {\n    intro: app.querySelector('[data-page=\"intro9\"]'),\n    quiz: app.querySelector('[data-page=\"quiz9\"]'),\n    result: app.querySelector('[data-page=\"result9\"]')\n  };\n\n  const titles = {\n    intro: app.querySelector('#quizintro9-title'),\n    quiz: app.querySelector('#quizmain9-title'),\n    result: app.querySelector('#quizresult9-title')\n  };\n\n  const nodes = {\n    quizForm: app.querySelector('[data-quiz-form]'),\n    status: app.querySelector('[data-quiz-status]'),\n    progressText: app.querySelector('[data-progress-text]'),\n    progressPercent: app.querySelector('[data-progress-percent]'),\n    progressTrack: app.querySelector('[data-progress-track]'),\n    progressBar: app.querySelector('[data-progress-bar]'),\n    prevButton: app.querySelector('[data-action=\"prev\"]'),\n    resultSummary: app.querySelector('[data-result-summary]'),\n    scoreNumber: app.querySelector('[data-score-number]'),\n    scoreMarker: app.querySelector('[data-score-marker]'),\n    resultTitle: app.querySelector('[data-result-level-title]'),\n    resultCopy: app.querySelector('[data-result-level-copy]'),\n    resultBlocks: Array.from(app.querySelectorAll('[data-result-range]')),\n    nowCount: app.querySelector('[data-now-count]'),\n    idealCount: app.querySelector('[data-ideal-count]'),\n    gapCount: app.querySelector('[data-gap-count]'),\n    nowList: app.querySelector('[data-now-list]'),\n    idealList: app.querySelector('[data-ideal-list]'),\n    gapList: app.querySelector('[data-gap-list]'),\n    dimensionDetailList: app.querySelector('[data-dimension-detail-list]'),\n    chartStatus: app.querySelector('[data-chart-status]'),\n    radarCanvas: app.querySelector('[data-radar-chart]')\n  };\n\n  const createOptionButton = (option) => {\n    const button = document.createElement('button');\n    button.type = 'button';\n    button.className = 'card w-100 text-start';\n    button.dataset.option = '';\n    button.dataset.choice = option.choice;\n    button.dataset.score = String(option.score);\n    button.dataset.now = String(option.now);\n    button.dataset.ideal = String(option.ideal);\n    button.setAttribute('aria-pressed', 'false');\n    button.innerHTML = `\n      <span data-option-row>\n        <span data-select-indicator aria-hidden=\"true\"><i class=\"bi bi-check-lg\"><\/i><\/span>\n        <span data-option-copy>\n          <span data-option-title><\/span>\n          <span data-option-hint><\/span>\n        <\/span>\n      <\/span>\n    `;\n    button.querySelector('[data-option-title]').textContent = option.title;\n    button.querySelector('[data-option-hint]').textContent = option.hint;\n    return button;\n  };\n\n  const renderQuestions = () => {\n    traitNames.forEach((trait, index) => {\n      const fieldset = document.createElement('fieldset');\n      fieldset.dataset.question = '';\n      fieldset.dataset.questionIndex = String(index);\n      if (index !== 0) fieldset.hidden = true;\n\n      const legend = document.createElement('legend');\n      const kicker = document.createElement('span');\n      kicker.dataset.questionKicker = '';\n      kicker.textContent = `\u7b2c ${index + 1} \u984c \/ \u5171 ${traitNames.length} \u984c`;\n\n      const title = document.createElement('span');\n      title.dataset.questionTitle = '';\n      title.tabIndex = -1;\n      title.textContent = `\u300c${trait}\u300d\u9019\u500b\u7279\u8cea\uff0c\u548c\u4f60\u76ee\u524d\u8207\u7406\u60f3\u4e2d\u7684\u81ea\u5df1\u6709\u591a\u63a5\u8fd1\uff1f`;\n\n      legend.append(kicker, title);\n\n      const optionGrid = document.createElement('div');\n      optionGrid.dataset.optionsGrid = '';\n      answerOptions.forEach((option) => optionGrid.appendChild(createOptionButton(option)));\n\n      fieldset.append(legend, optionGrid);\n      nodes.quizForm.appendChild(fieldset);\n    });\n  };\n\n  renderQuestions();\n\n  const questions = Array.from(app.querySelectorAll('[data-question]'));\n  const totalQuestions = questions.length;\n\n  const state = {\n    currentIndex: 0,\n    answers: Array(totalQuestions).fill(null),\n    locked: false,\n    chart: null\n  };\n\n  const scrollToPage = (target) => {\n    target?.scrollIntoView({ behavior: 'smooth', block: 'start' });\n  };\n\n  const focusTitle = (title) => {\n    window.setTimeout(() => title?.focus({ preventScroll: true }), 80);\n  };\n\n  const showPage = (pageKey) => {\n    Object.entries(pages).forEach(([key, page]) => {\n      page.hidden = key !== pageKey;\n    });\n    scrollToPage(pages[pageKey]);\n    focusTitle(titles[pageKey]);\n  };\n\n  const updateProgress = () => {\n    const current = state.currentIndex + 1;\n    const percent = Math.round((current \/ totalQuestions) * 100);\n\n    nodes.status.textContent = `\u7b2c ${current} \u984c\uff0c\u8acb\u9078\u64c7\u4e00\u500b\u7b54\u6848\u3002`;\n    nodes.progressText.textContent = `${current} \/ ${totalQuestions}`;\n    nodes.progressPercent.textContent = `${percent}%`;\n    nodes.progressTrack.setAttribute('aria-valuenow', String(current));\n    nodes.progressBar.style.width = `${percent}%`;\n    nodes.prevButton.disabled = state.currentIndex === 0;\n  };\n\n  const showQuestion = (index) => {\n    questions.forEach((question, questionIndex) => {\n      question.hidden = questionIndex !== index;\n    });\n    state.currentIndex = index;\n    updateProgress();\n    scrollToPage(pages.quiz);\n    focusTitle(questions[index].querySelector('[data-question-title]'));\n  };\n\n  const markSelection = (question, selectedButton) => {\n    question.querySelectorAll('[data-option]').forEach((button) => {\n      button.setAttribute('aria-pressed', button === selectedButton ? 'true' : 'false');\n    });\n  };\n\n  const getScore = () => state.answers.reduce((sum, answer) => sum + (answer?.score || 0), 0);\n\n  const getCounts = () => state.answers.reduce((acc, answer) => {\n    if (!answer) return acc;\n    acc.now += answer.now;\n    acc.ideal += answer.ideal;\n    acc.gap += answer.score;\n    return acc;\n  }, { now: 0, ideal: 0, gap: 0 });\n\n  const getLevel = (score) => resultLevels.find((level) => score <= level.max) || resultLevels[resultLevels.length - 1];\n\n  const getDimensionScores = () => dimensions.map(({ items }) => (\n    items.reduce((sum, itemIndex) => sum + (state.answers[itemIndex]?.score || 0), 0)\n  ));\n\n  const clearNode = (node) => {\n    if (node) node.innerHTML = '';\n  };\n\n  const appendEmptyTrait = (list, emptyText) => {\n    const item = document.createElement('li');\n    item.dataset.emptyTrait = '';\n    item.textContent = emptyText;\n    list.appendChild(item);\n  };\n\n  const appendTraitItem = (list, itemData, type = 'simple') => {\n    const item = document.createElement('li');\n    const trait = document.createElement('span');\n    trait.textContent = itemData.trait;\n    item.appendChild(trait);\n\n    if (type === 'gap' && itemData.note) {\n      const note = document.createElement('small');\n      note.textContent = itemData.note;\n      item.appendChild(note);\n    }\n\n    list.appendChild(item);\n  };\n\n  const renderTraitList = (wrapper, items, emptyText, type = 'simple') => {\n    clearNode(wrapper);\n    const list = document.createElement('ul');\n\n    if (!items.length) {\n      appendEmptyTrait(list, emptyText);\n    } else {\n      items.forEach((item) => appendTraitItem(list, item, type));\n    }\n\n    wrapper.appendChild(list);\n  };\n\n  const getTraitGroups = () => {\n    const now = [];\n    const ideal = [];\n    const gap = [];\n\n    state.answers.forEach((answer, index) => {\n      if (!answer) return;\n      const trait = traitNames[index];\n\n      if (answer.now) now.push({ trait });\n      if (answer.ideal) ideal.push({ trait });\n\n      if (answer.score) {\n        gap.push({\n          trait,\n          note: answer.choice === 'current'\n            ? '\u76ee\u524d\u8a8d\u540c\uff0c\u7406\u60f3\u4e2d\u60f3\u8abf\u4f4e'\n            : '\u7406\u60f3\u60f3\u8981\uff0c\u76ee\u524d\u9084\u4e0d\u660e\u986f'\n        });\n      }\n    });\n\n    return { now, ideal, gap };\n  };\n\n  const getDimensionLevel = (score) => {\n    if (score <= 1) return 'low';\n    if (score <= 3) return 'moderate';\n    if (score <= 6) return 'high';\n    return 'critical';\n  };\n\n  const getDimensionLabel = (score) => {\n    if (score <= 1) return '\u4f4e\u843d\u5dee';\n    if (score <= 3) return '\u8f15\u4e2d\u5ea6\u843d\u5dee';\n    if (score <= 6) return '\u660e\u986f\u843d\u5dee';\n    return '\u9ad8\u5ea6\u843d\u5dee';\n  };\n\n  const getDimensionDetail = (dimension) => {\n    const now = [];\n    const ideal = [];\n    const gap = [];\n    let currentGapCount = 0;\n    let idealGapCount = 0;\n\n    dimension.items.forEach((itemIndex) => {\n      const answer = state.answers[itemIndex];\n      if (!answer) return;\n\n      const trait = traitNames[itemIndex];\n      if (answer.now) now.push({ trait });\n      if (answer.ideal) ideal.push({ trait });\n\n      if (answer.score) {\n        const isCurrentGap = answer.choice === 'current';\n        currentGapCount += isCurrentGap ? 1 : 0;\n        idealGapCount += isCurrentGap ? 0 : 1;\n        gap.push({\n          trait,\n          note: isCurrentGap ? '\u76ee\u524d\u6709\uff0c\u7406\u60f3\u4e2d\u60f3\u8abf\u4f4e' : '\u7406\u60f3\u60f3\u8981\uff0c\u76ee\u524d\u9084\u4e0d\u660e\u986f'\n        });\n      }\n    });\n\n    const score = gap.length;\n    const level = getDimensionLevel(score);\n    const direction = score === 0\n      ? 'aligned'\n      : idealGapCount > currentGapCount\n        ? 'growth'\n        : currentGapCount > idealGapCount\n          ? 'release'\n          : 'balanced';\n\n    return { dimension, now, ideal, gap, score, level, direction };\n  };\n\n  const getDimensionAnalysis = ({ dimension, score, direction }) => {\n    if (score === 0) {\n      return `${dimension.label}\u4e2d\uff0c\u771f\u5be6\u81ea\u6211\u8207\u7406\u60f3\u81ea\u6211\u5e7e\u4e4e\u6c92\u6709\u843d\u5dee\uff0c\u4ee3\u8868\u4f60\u5c0d\u9019\u90e8\u5206\u7684\u81ea\u6211\u5b9a\u4f4d\u6e05\u695a\u800c\u7a69\u5b9a\u3002`;\n    }\n\n    if (direction === 'growth') {\n      return `${dimension.label}\u4e2d\uff0c\u8f03\u591a\u843d\u5dee\u4f86\u81ea\u300c\u60f3\u5177\u5099\u4f46\u76ee\u524d\u9084\u4e0d\u660e\u986f\u300d\u7684\u7279\u8cea\uff0c\u8868\u793a\u9019\u88e1\u6709\u660e\u78ba\u7684\u6210\u9577\u671f\u5f85\u3002`;\n    }\n\n    if (direction === 'release') {\n      return `${dimension.label}\u4e2d\uff0c\u8f03\u591a\u843d\u5dee\u4f86\u81ea\u300c\u76ee\u524d\u6709\uff0c\u4f46\u7406\u60f3\u4e2d\u60f3\u964d\u4f4e\u6216\u4e0d\u518d\u5f37\u5316\u300d\u7684\u7279\u8cea\uff0c\u8868\u793a\u4f60\u6b63\u5728\u91cd\u65b0\u8abf\u6574\u81ea\u6211\u98a8\u683c\u3002`;\n    }\n\n    return `${dimension.label}\u4e2d\uff0c\u540c\u6642\u6709\u60f3\u9760\u8fd1\u7684\u7279\u8cea\uff0c\u4e5f\u6709\u60f3\u8abf\u6574\u7684\u7279\u8cea\uff0c\u4ee3\u8868\u9019\u90e8\u5206\u9700\u8981\u5e73\u8861\u767c\u5c55\u8207\u53d6\u6368\u3002`;\n  };\n\n  const getDimensionAdvice = ({ dimension, level, direction }) => {\n    const directionAdvice = {\n      aligned: '\u628a\u76ee\u524d\u6709\u6548\u7684\u505a\u6cd5\u8a18\u9304\u4e0b\u4f86\uff0c\u4f5c\u70ba\u672a\u4f86\u58d3\u529b\u5347\u9ad8\u6642\u7684\u53c3\u7167\u3002',\n      growth: '\u512a\u5148\u9078\u64c7 1 \u500b\u6700\u60f3\u9760\u8fd1\u7684\u7279\u8cea\uff0c\u8a2d\u8a08\u4e00\u500b\u53ef\u4ee5\u5728 7 \u5929\u5167\u5b8c\u6210\u7684\u5c0f\u884c\u52d5\u3002',\n      release: '\u5148\u89c0\u5bdf\u9019\u4e9b\u7279\u8cea\u5728\u54ea\u4e9b\u5834\u5408\u6703\u904e\u5ea6\u51fa\u73fe\uff0c\u518d\u7528\u66ff\u4ee3\u884c\u70ba\u6162\u6162\u964d\u4f4e\u5b83\u7684\u5f71\u97ff\u3002',\n      balanced: '\u540c\u6642\u8655\u7406\u592a\u591a\u65b9\u5411\u6703\u5206\u6563\u80fd\u91cf\uff0c\u5efa\u8b70\u5148\u6311\u6700\u5f71\u97ff\u7576\u4e0b\u751f\u6d3b\u7684\u4e00\u9805\u958b\u59cb\u3002'\n    };\n\n    return `${dimension.advice[level]} ${directionAdvice[direction]}`;\n  };\n\n  const renderMiniTraitList = (wrapper, items, emptyText, type = 'simple') => {\n    const list = document.createElement('ul');\n    list.dataset.miniTraitList = '';\n\n    if (!items.length) {\n      appendEmptyTrait(list, emptyText);\n    } else {\n      items.forEach((item) => appendTraitItem(list, item, type));\n    }\n\n    wrapper.appendChild(list);\n  };\n\n  const makeLabeledParagraph = (label, text, attrName) => {\n    const paragraph = document.createElement('p');\n    paragraph.dataset[attrName] = '';\n    const strong = document.createElement('strong');\n    strong.textContent = label;\n    paragraph.append(strong, document.createTextNode(text));\n    return paragraph;\n  };\n\n  const renderDimensionDetails = () => {\n    clearNode(nodes.dimensionDetailList);\n\n    dimensions.map(getDimensionDetail).forEach((detail) => {\n      const { dimension, now, ideal, gap, score, level } = detail;\n      const card = document.createElement('article');\n      card.dataset.dimensionCard = '';\n      card.dataset.gapLevel = level;\n\n      const head = document.createElement('div');\n      head.dataset.dimensionHead = '';\n\n      const title = document.createElement('h4');\n      title.textContent = dimension.label;\n\n      const scoreBadge = document.createElement('span');\n      scoreBadge.dataset.dimensionScore = '';\n      scoreBadge.textContent = `${getDimensionLabel(score)} \u00b7 ${score}\/10`;\n\n      head.append(title, scoreBadge);\n\n      const desc = document.createElement('p');\n      desc.dataset.dimensionDesc = '';\n      desc.textContent = dimension.description;\n\n      const groups = document.createElement('div');\n      groups.dataset.dimensionGroups = '';\n\n      [\n        { label: '\u76ee\u524d\u8a8d\u540c', items: now, empty: '\u9019\u500b\u7dad\u5ea6\u6c92\u6709\u76ee\u524d\u8a8d\u540c\u7684\u7279\u8cea' },\n        { label: '\u7406\u60f3\u60f3\u5177\u5099', items: ideal, empty: '\u9019\u500b\u7dad\u5ea6\u6c92\u6709\u7406\u60f3\u60f3\u5177\u5099\u7684\u7279\u8cea' },\n        { label: '\u843d\u5dee\u4f86\u6e90', items: gap, empty: '\u9019\u500b\u7dad\u5ea6\u76ee\u524d\u6c92\u6709\u843d\u5dee', type: 'gap' }\n      ].forEach((groupData) => {\n        const group = document.createElement('div');\n        group.dataset.dimensionGroup = '';\n\n        const label = document.createElement('strong');\n        label.textContent = groupData.label;\n        group.appendChild(label);\n\n        renderMiniTraitList(group, groupData.items, groupData.empty, groupData.type || 'simple');\n        groups.appendChild(group);\n      });\n\n      card.append(\n        head,\n        desc,\n        groups,\n        makeLabeledParagraph('\u591a\u7dad\u5206\u6790\uff1a', getDimensionAnalysis(detail), 'dimensionAnalysis'),\n        makeLabeledParagraph('\u500b\u6027\u5316\u5efa\u8b70\uff1a', getDimensionAdvice(detail), 'dimensionAdvice')\n      );\n\n      nodes.dimensionDetailList.appendChild(card);\n    });\n  };\n\n  const updateScaleMarker = (score) => {\n    const clamped = Math.max(0, Math.min(score, 50));\n    nodes.scoreMarker.style.left = `${(clamped \/ 50) * 100}%`;\n  };\n\n  const toggleResultBlock = (key) => {\n    nodes.resultBlocks.forEach((block) => {\n      block.hidden = block.dataset.resultRange !== key;\n    });\n  };\n\n  const renderChart = () => {\n    if (!nodes.radarCanvas || typeof Chart === 'undefined') {\n      nodes.chartStatus.textContent = '\u5716\u8868\u5957\u4ef6\u5c1a\u672a\u8f09\u5165\uff0c\u4ecd\u53ef\u67e5\u770b\u6587\u5b57\u7d50\u679c\u3002';\n      return;\n    }\n\n    nodes.chartStatus.textContent = '\u5716\u8868\u5df2\u66f4\u65b0\u3002';\n\n    if (state.chart) {\n      state.chart.destroy();\n    }\n\n    const rootStyles = window.getComputedStyle(app);\n    const textColor = rootStyles.getPropertyValue('--quiz9-text').trim() || '#2f2a25';\n    const mutedColor = rootStyles.getPropertyValue('--quiz9-muted').trim() || '#6f6258';\n    const accentColor = rootStyles.getPropertyValue('--quiz9-accent').trim() || '#9b765d';\n    const greenColor = rootStyles.getPropertyValue('--quiz9-green').trim() || '#8fae9a';\n\n    state.chart = new Chart(nodes.radarCanvas, {\n      type: 'radar',\n      data: {\n        labels: dimensions.map((dimension) => dimension.label),\n        datasets: [\n          {\n            label: '\u843d\u5dee\u5206\u6578',\n            data: getDimensionScores(),\n            borderColor: accentColor,\n            backgroundColor: 'rgba(155, 118, 93, 0.18)',\n            pointBackgroundColor: greenColor,\n            pointBorderColor: '#ffffff',\n            pointRadius: 4,\n            pointHoverRadius: 5,\n            borderWidth: 2\n          }\n        ]\n      },\n      options: {\n        responsive: true,\n        maintainAspectRatio: false,\n        layout: {\n          padding: 12\n        },\n        plugins: {\n          legend: {\n            labels: {\n              color: textColor,\n              font: {\n                size: window.matchMedia('(min-width: 768px)').matches ? 16 : 13\n              }\n            }\n          },\n          tooltip: {\n            callbacks: {\n              label: (context) => `${context.label}\uff1a${context.raw} \/ 10`\n            }\n          }\n        },\n        scales: {\n          r: {\n            suggestedMin: 0,\n            suggestedMax: 10,\n            ticks: {\n              stepSize: 2,\n              color: mutedColor,\n              backdropColor: 'rgba(255,255,255,0)'\n            },\n            pointLabels: {\n              color: textColor,\n              font: {\n                size: window.matchMedia('(min-width: 768px)').matches ? 16 : 13,\n                weight: '700'\n              }\n            },\n            grid: {\n              color: 'rgba(111, 98, 88, 0.18)'\n            },\n            angleLines: {\n              color: 'rgba(111, 98, 88, 0.20)'\n            }\n          }\n        }\n      }\n    });\n  };\n\n  const showResults = () => {\n    const score = getScore();\n    const counts = getCounts();\n    const traits = getTraitGroups();\n    const level = getLevel(score);\n\n    nodes.scoreNumber.textContent = String(score);\n    nodes.resultSummary.textContent = `\u4f60\u7684\u7e3d\u5206\u662f ${score} \u5206\u3002\u5206\u6578\u8d8a\u4f4e\uff0c\u4ee3\u8868\u771f\u5be6\u81ea\u6211\u8207\u7406\u60f3\u81ea\u6211\u8d8a\u4e00\u81f4\u3002`;\n    nodes.resultTitle.textContent = level.title;\n    nodes.resultCopy.textContent = level.copy;\n    nodes.nowCount.textContent = String(counts.now);\n    nodes.idealCount.textContent = String(counts.ideal);\n    nodes.gapCount.textContent = String(counts.gap);\n\n    renderTraitList(nodes.nowList, traits.now, '\u6c92\u6709\u76ee\u524d\u8a8d\u540c\u7684\u7279\u8cea');\n    renderTraitList(nodes.idealList, traits.ideal, '\u6c92\u6709\u7406\u60f3\u4e2d\u60f3\u5177\u5099\u7684\u7279\u8cea');\n    renderTraitList(nodes.gapList, traits.gap, '\u6c92\u6709\u843d\u5dee\u7684\u7279\u8cea', 'gap');\n    renderDimensionDetails();\n\n    updateScaleMarker(score);\n    toggleResultBlock(level.key);\n    showPage('result');\n    window.setTimeout(renderChart, 120);\n  };\n\n  const resetQuiz = () => {\n    state.currentIndex = 0;\n    state.answers = Array(totalQuestions).fill(null);\n    state.locked = false;\n\n    questions.forEach((question, index) => {\n      question.hidden = index !== 0;\n      question.querySelectorAll('[data-option]').forEach((button) => {\n        button.setAttribute('aria-pressed', 'false');\n      });\n    });\n\n    if (state.chart) {\n      state.chart.destroy();\n      state.chart = null;\n    }\n\n    [nodes.nowList, nodes.idealList, nodes.gapList, nodes.dimensionDetailList].forEach(clearNode);\n\n    updateProgress();\n    showPage('intro');\n  };\n\n  const handleOptionClick = (button) => {\n    if (state.locked) return;\n\n    const question = button.closest('[data-question]');\n    if (!question) return;\n\n    const index = Number(question.dataset.questionIndex);\n    const answer = {\n      choice: button.dataset.choice,\n      score: Number(button.dataset.score),\n      now: Number(button.dataset.now),\n      ideal: Number(button.dataset.ideal)\n    };\n\n    state.locked = true;\n    state.answers[index] = answer;\n    markSelection(question, button);\n\n    window.setTimeout(() => {\n      state.locked = false;\n      if (index >= totalQuestions - 1) {\n        showResults();\n      } else {\n        showQuestion(index + 1);\n      }\n    }, 180);\n  };\n\n  const goPrevious = () => {\n    if (state.currentIndex <= 0 || state.locked) return;\n    showQuestion(state.currentIndex - 1);\n  };\n\n  app.addEventListener('click', (event) => {\n    const optionButton = event.target.closest('[data-option]');\n    const actionButton = event.target.closest('[data-action]');\n\n    if (optionButton && app.contains(optionButton)) {\n      handleOptionClick(optionButton);\n      return;\n    }\n\n    if (!actionButton || !app.contains(actionButton)) return;\n\n    const action = actionButton.dataset.action;\n    if (action === 'start') {\n      showPage('quiz');\n      showQuestion(0);\n    }\n    if (action === 'prev') goPrevious();\n    if (action === 'restart') resetQuiz();\n  });\n\n  updateProgress();\n})();\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4f60\u7684\u81ea\u6211\u610f\u8bc6\u6b63\u786e\u5417\uff1f\u4e0b\u9762\u670950\u4e2a\u5f62\u5bb9\u8bcd\uff0c\u8bf7\u4ece\u5934\u5230\u5c3e\u8bfb\u4e24\u6b21\u3002\u7b2c\u4e00\u6b21\u8bfb\u65f6\uff0c\u5982\u679c\u78b0\u5230\u7684\u5f62\u5bb9\u8bcd\u5207\u5408\u81ea\u5df1\u7684\u4e2a\u6027\u6216\u5f62\u8c61\uff0c\u5c31\u5728\u300c\u6211\u6b63\u662f\u300d\u90a3\u680f\u7684\u65b9\u683c\u91cc\u753b\u4e00\u4e2a\u300cx\u300d\u3002\u7136\u540e\u8bf7\u4f11\u606f5\u5206\u949f\uff0c\u505a\u4e00\u4e9b\u5176\u4ed6\u4e8b\u60c5\uff0c\u7136\u540e\u906e\u4f4f<\/p>","protected":false},"author":19,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"narrow-width-container","site-content-style":"unboxed","site-sidebar-style":"default","ast-global-header-display":"disabled","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[167,169,168],"tags":[],"class_list":["post-2642","post","type-post","status-publish","format-standard","hentry","category-personality","category-psychological-symptom-scales","category-projective"],"_links":{"self":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/2642","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/comments?post=2642"}],"version-history":[{"count":2,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/2642\/revisions"}],"predecessor-version":[{"id":10796,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/posts\/2642\/revisions\/10796"}],"wp:attachment":[{"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/media?parent=2642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/categories?post=2642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xinliceyan.org\/zh\/wp-json\/wp\/v2\/tags?post=2642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}