{"id":46518,"date":"2026-04-15T14:25:34","date_gmt":"2026-04-15T06:25:34","guid":{"rendered":"https:\/\/natureconceptcm.com\/?page_id=46518"},"modified":"2026-07-16T10:24:34","modified_gmt":"2026-07-16T02:24:34","slug":"height-revive-365-assessment","status":"publish","type":"page","link":"https:\/\/natureconceptcm.com\/zh\/height-revive-365-assessment\/","title":{"rendered":"Height Revive 365+ Assessment"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"46518\" class=\"elementor elementor-46518\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9b6d094 e-flex e-con-boxed e-con e-parent\" data-id=\"9b6d094\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-189bbb0 elementor-widget elementor-widget-html\" data-id=\"189bbb0\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"zh-CN\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>\u8bda\u5fb7\u4e2d\u533b \u00b7 \u513f\u7ae5\u6210\u957f\u6f5c\u529b\u8bc4\u4f30<\/title>\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Noto+Sans+SC:wght@300;400;500;700&display=swap');\r\n\r\n:root {\r\n  --cd-primary: #0b1470;\r\n  --cd-primary-light: #1a237e;\r\n  --cd-accent: #6f0000;\r\n  --cd-accent-light: #8b0000;\r\n  --cd-gold: #B8860B;\r\n  --cd-gold-light: #F0E68C;\r\n  --cd-bg: #F8F9FA;\r\n  --cd-bg-blue: #E8EAF6;\r\n  --cd-bg-red: #FFEBEE;\r\n  --cd-text: #1a1a2e;\r\n  --cd-text-light: #4a4a5a;\r\n  --cd-white: #FFFFFF;\r\n  --cd-shadow: 0 4px 24px rgba(11,20,112,0.12);\r\n  --cd-radius: 16px;\r\n  --cd-radius-sm: 10px;\r\n}\r\n\r\n* { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n.cd-quiz-wrap {\r\n  font-family: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;\r\n  background: var(--cd-bg);\r\n  max-width: 720px;\r\n  margin: 0 auto;\r\n  border-radius: var(--cd-radius);\r\n  overflow: hidden;\r\n  box-shadow: var(--cd-shadow);\r\n  position: relative;\r\n}\r\n\r\n\/* \u8fdb\u5ea6\u6761 *\/\r\n.cd-progress-bar { height: 6px; background: #E0E0E0; width: 100%; position: relative; overflow: hidden; }\r\n.cd-progress-fill { height: 100%; background: linear-gradient(90deg, var(--cd-primary), var(--cd-accent)); width: 0%; transition: width 0.6s cubic-bezier(0.4,0,0.2,1); border-radius: 0 3px 3px 0; }\r\n.cd-progress-text { text-align: center; font-size: 13px; color: var(--cd-text-light); padding: 8px 0 0; font-weight: 500; }\r\n\r\n\/* \u6b65\u9aa4 *\/\r\n.cd-step { display: none; padding: 32px 28px; animation: cdFadeIn 0.5s ease; }\r\n.cd-step.active { display: block; }\r\n@keyframes cdFadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }\r\n\r\n\/* \u5c01\u9762 *\/\r\n.cd-hero { text-align: center; padding: 40px 28px 32px; }\r\n.cd-hero-badge { display: inline-flex; align-items: center; gap: 6px; background: var(--cd-bg-blue); color: var(--cd-primary); padding: 6px 16px; border-radius: 20px; font-size: 13px; font-weight: 600; margin-bottom: 20px; border: 1px solid rgba(11,20,112,0.15); }\r\n.cd-hero h1 { font-size: 26px; font-weight: 700; color: var(--cd-text); line-height: 1.4; margin-bottom: 12px; }\r\n.cd-hero h1 span { color: var(--cd-primary); position: relative; }\r\n.cd-hero h1 span::after { content: ''; position: absolute; bottom: 2px; left: 0; width: 100%; height: 8px; background: rgba(11,20,112,0.12); border-radius: 4px; z-index: -1; }\r\n.cd-hero-sub { font-size: 15px; color: var(--cd-text-light); line-height: 1.7; margin-bottom: 28px; }\r\n.cd-hero-stats { display: flex; justify-content: center; gap: 24px; margin-bottom: 28px; flex-wrap: wrap; }\r\n.cd-stat-item { text-align: center; }\r\n.cd-stat-num { font-size: 28px; font-weight: 700; color: var(--cd-primary); display: block; }\r\n.cd-stat-label { font-size: 12px; color: var(--cd-text-light); margin-top: 2px; }\r\n\r\n\/* \u9898\u76ee *\/\r\n.cd-question { margin-bottom: 24px; }\r\n.cd-question h2 { font-size: 20px; font-weight: 700; color: var(--cd-text); margin-bottom: 8px; line-height: 1.5; }\r\n.cd-question .cd-q-desc { font-size: 14px; color: var(--cd-text-light); margin-bottom: 20px; }\r\n.cd-question .cd-q-number { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: var(--cd-primary); color: white; border-radius: 50%; font-size: 13px; font-weight: 700; margin-right: 10px; vertical-align: middle; }\r\n\r\n\/* \u9009\u9879 *\/\r\n.cd-options { display: flex; flex-direction: column; gap: 10px; }\r\n.cd-option { display: flex; align-items: center; padding: 16px 18px; background: var(--cd-white); border: 2px solid #E0E0E0; border-radius: var(--cd-radius-sm); cursor: pointer; transition: all 0.25s ease; position: relative; }\r\n.cd-option:hover { border-color: var(--cd-primary-light); background: var(--cd-bg-blue); transform: translateX(4px); }\r\n.cd-option.selected { border-color: var(--cd-primary); background: var(--cd-bg-blue); box-shadow: 0 2px 8px rgba(11,20,112,0.12); }\r\n.cd-option.selected .cd-check { background: var(--cd-primary); border-color: var(--cd-primary); }\r\n.cd-option.selected .cd-check svg { display: block; }\r\n.cd-option.multi.selected { border-color: var(--cd-primary); background: var(--cd-bg-blue); }\r\n.cd-option.multi.selected .cd-check { background: var(--cd-primary); border-color: var(--cd-primary); }\r\n.cd-option.multi.selected .cd-check svg { display: block; }\r\n.cd-option.multi .cd-check { border-radius: 6px; }\r\n.cd-check { width: 22px; height: 22px; border: 2px solid #CCC; border-radius: 50%; margin-right: 14px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: all 0.2s; }\r\n.cd-check svg { display: none; width: 12px; height: 12px; fill: white; }\r\n.cd-option-text { flex: 1; }\r\n.cd-option-title { font-size: 15px; font-weight: 500; color: var(--cd-text); display: block; }\r\n.cd-option-desc { font-size: 13px; color: var(--cd-text-light); margin-top: 2px; display: block; }\r\n\r\n\/* \u8f93\u5165\u6846 *\/\r\n.cd-input-group { display: flex; gap: 12px; flex-wrap: wrap; }\r\n.cd-input-wrap { flex: 1; min-width: 140px; }\r\n.cd-input-wrap label { display: block; font-size: 13px; font-weight: 600; color: var(--cd-text); margin-bottom: 6px; }\r\n.cd-input-wrap input, .cd-input-wrap select { width: 100%; padding: 14px 16px; border: 2px solid #E0E0E0; border-radius: var(--cd-radius-sm); font-size: 15px; color: var(--cd-text); transition: border-color 0.2s; font-family: inherit; }\r\n.cd-input-wrap input:focus, .cd-input-wrap select:focus { outline: none; border-color: var(--cd-primary-light); background: var(--cd-bg-blue); }\r\n.cd-input-wrap input.error { border-color: var(--cd-accent-lighter); background: var(--cd-bg-red); }\r\n.cd-input-wrap .cd-error-msg { font-size: 12px; color: var(--cd-accent); margin-top: 4px; display: none; }\r\n.cd-input-wrap .cd-error-msg.show { display: block; }\r\n\r\n\/* \u7535\u8bdd\u8f93\u5165 *\/\r\n.cd-phone-group { display: flex; flex-direction: row; width: 100%; border: 2px solid #E0E0E0; border-radius: var(--cd-radius-sm); overflow: hidden; transition: border-color 0.2s; }\r\n.cd-phone-group:focus-within { border-color: var(--cd-primary-light); }\r\n.cd-phone-group.error { border-color: var(--cd-accent-lighter); }\r\n.cd-phone-code { width: 110px; min-width: 110px; flex-shrink: 0; border: none; border-right: 1px solid #E0E0E0; padding: 14px 8px; font-size: 15px; color: var(--cd-text); background: #f5f5f5; font-family: inherit; cursor: pointer; }\r\n.cd-phone-input { flex: 1; min-width: 0; border: none; padding: 14px 16px; font-size: 15px; color: var(--cd-text); font-family: inherit; background: var(--cd-white); }\r\n.cd-phone-input:focus { outline: none; background: var(--cd-bg-blue); }\r\n\r\n\/* \u63d0\u793a *\/\r\n.cd-tip { display: none; margin-top: 14px; padding: 12px 16px; background: var(--cd-bg-blue); border-left: 4px solid var(--cd-primary); border-radius: 0 var(--cd-radius-sm) var(--cd-radius-sm) 0; font-size: 14px; color: var(--cd-text); line-height: 1.6; animation: cdSlideUp 0.4s ease; }\r\n.cd-tip.show { display: block; }\r\n.cd-tip strong { color: var(--cd-primary); }\r\n@keyframes cdSlideUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }\r\n\r\n\/* \u6309\u94ae *\/\r\n.cd-btn-group { display: flex; gap: 12px; margin-top: 28px; justify-content: space-between; }\r\n.cd-btn { padding: 14px 28px; border-radius: var(--cd-radius-sm); font-size: 15px; font-weight: 600; cursor: pointer; transition: all 0.25s; border: none; font-family: inherit; display: inline-flex; align-items: center; gap: 8px; }\r\n.cd-btn-primary { background: linear-gradient(135deg, var(--cd-primary), var(--cd-primary-light)); color: white; box-shadow: 0 4px 12px rgba(11,20,112,0.25); }\r\n.cd-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(11,20,112,0.35); }\r\n.cd-btn-primary:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }\r\n.cd-btn-secondary { background: var(--cd-white); color: var(--cd-text-light); border: 2px solid #E0E0E0; }\r\n.cd-btn-secondary:hover { border-color: var(--cd-text-light); color: var(--cd-text); }\r\n\r\n\/* \u8ba1\u7b97\u4e2d *\/\r\n.cd-calculating { text-align: center; padding: 60px 28px; }\r\n.cd-spinner { width: 64px; height: 64px; border: 4px solid var(--cd-bg-blue); border-top-color: var(--cd-primary); border-radius: 50%; animation: cdSpin 1s linear infinite; margin: 0 auto 24px; }\r\n@keyframes cdSpin { to { transform: rotate(360deg); } }\r\n.cd-calculating h3 { font-size: 20px; color: var(--cd-text); margin-bottom: 10px; }\r\n.cd-calculating p { font-size: 14px; color: var(--cd-text-light); }\r\n\r\n\/* ================= \u7ed3\u679c\u9875 ================= *\/\r\n\r\n\/* \u65f6\u671f Pill *\/\r\n.cd-period-pill {\r\n  display: inline-flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n  padding: 8px 18px;\r\n  border-radius: 24px;\r\n  font-size: 13px;\r\n  font-weight: 600;\r\n  margin-top: 16px;\r\n  flex-wrap: wrap;\r\n  justify-content: center;\r\n}\r\n.cd-period-pill.boost {\r\n  background: linear-gradient(135deg, var(--cd-accent), var(--cd-accent-light));\r\n  color: white;\r\n  animation: cdPulsePill 2.5s infinite;\r\n}\r\n.cd-period-pill.preboost {\r\n  background: linear-gradient(135deg, var(--cd-primary), var(--cd-primary-light));\r\n  color: white;\r\n}\r\n@keyframes cdPulsePill {\r\n  0%, 100% { box-shadow: 0 0 0 0 rgba(111,0,0,0.35); }\r\n  50% { box-shadow: 0 0 0 8px rgba(111,0,0,0); }\r\n}\r\n.cd-period-dot { width: 8px; height: 8px; border-radius: 50%; background: #FFD54F; flex-shrink: 0; }\r\n\r\n\/* \u7ed3\u679c\u5fbd\u7ae0 *\/\r\n.cd-result-header { text-align: center; margin-bottom: 24px; }\r\n.cd-result-badge { \r\n  display: inline-flex; align-items: center; gap: 6px; padding: 10px 24px; border-radius: 24px; \r\n  font-size: 16px; font-weight: 700; margin-bottom: 12px; animation: cdBadgePulse 2s infinite;\r\n}\r\n.cd-result-badge.gold { \r\n  background: linear-gradient(135deg, #E8EAF6, #C5CAE9); color: var(--cd-primary); \r\n  border: 2px solid var(--cd-primary-light); box-shadow: 0 4px 16px rgba(11,20,112,0.15);\r\n}\r\n.cd-result-badge.key { \r\n  background: linear-gradient(135deg, #FFF3E0, #FFE0B2); color: #E65100; \r\n  border: 2px solid #FFB74D; box-shadow: 0 4px 16px rgba(230,81,0,0.15);\r\n}\r\n.cd-result-badge.chase {\r\n  display: flex; margin: 0 auto 16px; justify-content: center; width: fit-content;\r\n  background: linear-gradient(135deg, var(--cd-accent), var(--cd-accent-light));\r\n  color: white; border: none; font-size: 22px; padding: 16px 40px;\r\n  animation: cdChasePulse 1.2s infinite; box-shadow: 0 6px 24px rgba(111,0,0,0.4);\r\n}\r\n@keyframes cdBadgePulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.02); opacity: 0.9; } }\r\n@keyframes cdChasePulse {\r\n  0%, 100% { transform: scale(1); opacity: 1; box-shadow: 0 6px 24px rgba(111,0,0,0.4); }\r\n  50% { transform: scale(1.1); opacity: 0.85; box-shadow: 0 10px 40px rgba(111,0,0,0.6); }\r\n}\r\n.cd-result-header h2 { font-size: 22px; color: var(--cd-text); margin-bottom: 8px; }\r\n.cd-result-header p { font-size: 15px; color: var(--cd-text-light); line-height: 1.6; }\r\n\r\n\/* ================= \u56fe\u8868 v5\uff1a\u4e0a\u4e0b\u4ea4\u9519\u6392\u5217 ================= *\/\r\n.cd-chart-box {\r\n  background: var(--cd-white);\r\n  border-radius: var(--cd-radius);\r\n  padding: 24px;\r\n  margin-bottom: 20px;\r\n  box-shadow: var(--cd-shadow);\r\n}\r\n.cd-chart-title {\r\n  font-size: 16px;\r\n  font-weight: 700;\r\n  color: var(--cd-text);\r\n  margin-bottom: 20px;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n}\r\n\r\n\/* \u6807\u5c3a\u5bb9\u5668 - \u4e0a\u4e0b\u7559\u51fa\u7a7a\u95f4 *\/\r\n.cd-ruler-v5 {\r\n  position: relative;\r\n  padding: 90px 0 90px;\r\n  margin-bottom: 10px;\r\n}\r\n.cd-ruler-bar-v5 {\r\n  height: 8px;\r\n  background: linear-gradient(90deg, var(--cd-accent) 0%, var(--cd-primary) 35%, var(--cd-primary-light) 65%, var(--cd-gold) 100%);\r\n  border-radius: 4px;\r\n  position: relative;\r\n}\r\n\r\n\/* \u4e0a\u65b9\u6807\u8bb0 - \u4ece\u6a2a\u6761\u5411\u4e0a\u5ef6\u4f38 *\/\r\n.cd-ruler-mark-top {\r\n  position: absolute;\r\n  bottom: calc(50% + 8px);\r\n  transform: translateX(-50%);\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  text-align: center;\r\n  width: 130px;\r\n}\r\n.cd-ruler-mark-top::after {\r\n  content: '';\r\n  width: 2px;\r\n  height: 12px;\r\n  background: #CCC;\r\n  margin-top: 4px;\r\n}\r\n.cd-ruler-mark-top.current::after { background: var(--cd-accent); height: 14px; }\r\n.cd-ruler-mark-top.target::after { background: var(--cd-primary); }\r\n.cd-ruler-mark-top.boost::after { background: var(--cd-gold); height: 14px; }\r\n\r\n\/* \u4e0b\u65b9\u6807\u8bb0 - \u4ece\u6a2a\u6761\u5411\u4e0b\u5ef6\u4f38 *\/\r\n.cd-ruler-mark-bottom {\r\n  position: absolute;\r\n  top: calc(50% + 8px);\r\n  transform: translateX(-50%);\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  text-align: center;\r\n  width: 130px;\r\n}\r\n.cd-ruler-mark-bottom::before {\r\n  content: '';\r\n  width: 2px;\r\n  height: 12px;\r\n  background: #CCC;\r\n  margin-bottom: 4px;\r\n}\r\n.cd-ruler-mark-bottom.current::before { background: var(--cd-accent); height: 14px; }\r\n.cd-ruler-mark-bottom.target::before { background: var(--cd-primary); }\r\n.cd-ruler-mark-bottom.boost::before { background: var(--cd-gold); height: 14px; }\r\n\r\n\/* \u5706\u70b9 *\/\r\n.cd-mark-dot-v5 {\r\n  width: 14px;\r\n  height: 14px;\r\n  border-radius: 50%;\r\n  border: 3px solid white;\r\n  box-shadow: 0 2px 6px rgba(0,0,0,0.15);\r\n  margin-bottom: 6px;\r\n  flex-shrink: 0;\r\n}\r\n.cd-mark-dot-v5.current { background: var(--cd-accent); width: 18px; height: 18px; }\r\n.cd-mark-dot-v5.target { background: var(--cd-primary); }\r\n.cd-mark-dot-v5.boost { background: var(--cd-gold); width: 18px; height: 18px; border-color: #B8860B; }\r\n\r\n\/* \u6807\u7b7e\u6587\u5b57 *\/\r\n.cd-mark-label-v5 { font-size: 12px; font-weight: 600; color: var(--cd-text); line-height: 1.3; white-space: nowrap; }\r\n.cd-mark-value-v5 { font-size: 15px; font-weight: 700; line-height: 1.3; }\r\n.cd-ruler-mark-top.current .cd-mark-value-v5,\r\n.cd-ruler-mark-bottom.current .cd-mark-value-v5 { color: var(--cd-accent); font-size: 17px; }\r\n.cd-ruler-mark-top.target .cd-mark-value-v5,\r\n.cd-ruler-mark-bottom.target .cd-mark-value-v5 { color: var(--cd-primary); }\r\n.cd-ruler-mark-top.boost .cd-mark-value-v5,\r\n.cd-ruler-mark-bottom.boost .cd-mark-value-v5 { color: var(--cd-gold); font-size: 17px; }\r\n.cd-mark-desc-v5 { font-size: 11px; color: var(--cd-text-light); margin-top: 2px; line-height: 1.3; white-space: nowrap; }\r\n\r\n\/* \u56fe\u4f8b *\/\r\n.cd-chart-legend {\r\n  display: flex;\r\n  justify-content: center;\r\n  gap: 20px;\r\n  font-size: 13px;\r\n  color: var(--cd-text-light);\r\n  flex-wrap: wrap;\r\n  margin-top: 24px;\r\n}\r\n.cd-legend-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; }\r\n\r\n\/* \u98ce\u9669\u5361\u7247 *\/\r\n.cd-risk-cards { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }\r\n.cd-risk-card { background: var(--cd-white); border-radius: var(--cd-radius-sm); padding: 18px; border-left: 4px solid var(--cd-accent-lighter); box-shadow: var(--cd-shadow); }\r\n.cd-risk-card h4 { font-size: 15px; font-weight: 700; color: var(--cd-text); margin-bottom: 6px; display: flex; align-items: center; gap: 8px; }\r\n.cd-risk-card p { font-size: 14px; color: var(--cd-text-light); line-height: 1.6; }\r\n.cd-risk-card .cd-tcm-tag { display: inline-block; margin-top: 8px; padding: 4px 12px; background: var(--cd-bg-blue); color: var(--cd-primary); font-size: 13px; font-weight: 600; border-radius: 6px; }\r\n\r\n\/* TCM\u533a *\/\r\n.cd-tcm-box { background: linear-gradient(135deg, var(--cd-primary), var(--cd-primary-light)); color: white; border-radius: var(--cd-radius); padding: 24px; margin-bottom: 24px; text-align: center; }\r\n.cd-tcm-box h3 { font-size: 18px; margin-bottom: 10px; color: white; }\r\n.cd-tcm-box p { font-size: 14px; opacity: 0.95; line-height: 1.7; margin-bottom: 16px; }\r\n.cd-tcm-cta { display: inline-block; background: var(--cd-gold-light); color: var(--cd-text); padding: 12px 28px; border-radius: var(--cd-radius-sm); font-weight: 700; font-size: 15px; text-decoration: none; transition: all 0.3s; cursor: pointer; border: none; font-family: inherit; }\r\n.cd-tcm-cta:hover { background: #E6DB74; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.2); }\r\n\r\n\/* \u7a00\u7f3a\u6027 *\/\r\n.cd-scarcity { display: flex; align-items: center; justify-content: center; gap: 8px; background: var(--cd-bg-red); color: var(--cd-accent); padding: 10px 16px; border-radius: var(--cd-radius-sm); font-size: 13px; font-weight: 600; margin-bottom: 16px; border: 1px solid #FFCDD2; animation: cdPulse 2s infinite; }\r\n@keyframes cdPulse { 0%,100% { opacity:1; } 50% { opacity:0.85; } }\r\n\r\n\/* \u8868\u5355 *\/\r\n.cd-form-box { background: var(--cd-white); border-radius: var(--cd-radius); padding: 28px; box-shadow: var(--cd-shadow); }\r\n.cd-form-box h3 { font-size: 18px; color: var(--cd-text); margin-bottom: 6px; }\r\n.cd-form-desc { font-size: 14px; color: var(--cd-text-light); margin-bottom: 20px; }\r\n.cd-form-row { margin-bottom: 16px; }\r\n.cd-form-row label { display: block; font-size: 14px; font-weight: 600; color: var(--cd-text); margin-bottom: 6px; }\r\n.cd-required { color: var(--cd-accent); margin-left: 2px; }\r\n.cd-form-row input, .cd-form-row select { width: 100%; padding: 14px 16px; border: 2px solid #E0E0E0; border-radius: var(--cd-radius-sm); font-size: 15px; font-family: inherit; transition: all 0.2s; }\r\n.cd-form-row input:focus, .cd-form-row select:focus { outline: none; border-color: var(--cd-primary-light); background: var(--cd-bg-blue); }\r\n.cd-form-row input.error { border-color: var(--cd-accent-lighter); background: var(--cd-bg-red); }\r\n.cd-form-row .cd-error-msg { font-size: 12px; color: var(--cd-accent); margin-top: 4px; display: none; }\r\n#err-privacy { color: #6f0000 !important; font-weight: 600; }\r\n.cd-form-row .cd-error-msg.show { display: block; }\r\n.cd-form-row.cd-inline { display: flex; gap: 12px; }\r\n.cd-form-row.cd-inline > div { flex: 1; }\r\n.cd-privacy { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0; }\r\n.cd-privacy input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--cd-primary); }\r\n.cd-privacy label { font-size: 13px; color: var(--cd-text-light); line-height: 1.5; }\r\n.cd-privacy label a { color: var(--cd-primary); text-decoration: underline; }\r\n\r\n\/* \u6210\u529f\u9875 *\/\r\n.cd-success { text-align: center; padding: 48px 28px; }\r\n.cd-success-icon { width: 72px; height: 72px; background: var(--cd-bg-blue); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; font-size: 36px; }\r\n.cd-success h2 { font-size: 22px; color: var(--cd-text); margin-bottom: 10px; }\r\n.cd-success p { font-size: 15px; color: var(--cd-text-light); line-height: 1.7; margin-bottom: 24px; }\r\n.cd-whatsapp-btn { display: inline-flex; align-items: center; gap: 10px; background: #25D366; color: white; padding: 14px 32px; border-radius: var(--cd-radius-sm); font-size: 16px; font-weight: 700; text-decoration: none; transition: all 0.3s; margin-bottom: 20px; }\r\n.cd-whatsapp-btn:hover { background: #1DA851; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(37,211,102,0.3); }\r\n\r\n\/* \u5206\u9662\u8868 *\/\r\n.cd-branch-table { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: 14px; }\r\n.cd-branch-table th { background: var(--cd-primary); color: white; padding: 12px; text-align: left; font-weight: 600; }\r\n.cd-branch-table td { padding: 12px; border-bottom: 1px solid #EEE; color: var(--cd-text); }\r\n.cd-branch-table tr:last-child td { border-bottom: none; }\r\n\r\n\/* \u514d\u8d23\u58f0\u660e *\/\r\n.cd-disclaimer { background: #F0F0F0; padding: 16px 20px; border-radius: var(--cd-radius-sm); font-size: 12px; color: #888; line-height: 1.6; margin-top: 20px; border-left: 3px solid #CCC; }\r\n\r\n\/* \u591a\u9009\u63d0\u793a *\/\r\n.cd-multi-hint { font-size: 13px; color: var(--cd-text-light); margin-bottom: 12px; font-style: italic; }\r\n\r\n\r\n\/* ===== \u7535\u8bdd\u8f93\u5165 - \u5f3a\u5236\u5355\u884c\u5e76\u6392 ===== *\/\r\n.cd-phone-row {\r\n  display: flex !important;\r\n  flex-direction: row !important;\r\n  flex-wrap: nowrap !important;\r\n  align-items: stretch !important;\r\n  width: 100%;\r\n  border: 2px solid #E0E0E0;\r\n  border-radius: var(--cd-radius-sm);\r\n  overflow: hidden;\r\n  transition: border-color 0.2s;\r\n  background: var(--cd-white);\r\n  box-sizing: border-box;\r\n}\r\n.cd-phone-row:focus-within { border-color: var(--cd-primary-light); }\r\n.cd-phone-row.error { border-color: var(--cd-accent-lighter); background: var(--cd-bg-red); }\r\n\r\n.cd-phone-code-wrap {\r\n  display: flex !important;\r\n  flex-direction: row !important;\r\n  align-items: center !important;\r\n  justify-content: center !important;\r\n  width: 110px !important;\r\n  min-width: 110px !important;\r\n  max-width: 110px !important;\r\n  flex-shrink: 0 !important;\r\n  flex-grow: 0 !important;\r\n  border-right: 1px solid #E0E0E0;\r\n  background: #f5f5f5;\r\n  padding: 0 8px;\r\n  box-sizing: border-box;\r\n}\r\n.cd-phone-code-wrap select {\r\n  display: block !important;\r\n  width: 100% !important;\r\n  height: 48px !important;\r\n  line-height: 48px !important;\r\n  border: none !important;\r\n  padding: 0 18px 0 0 !important;\r\n  margin: 0 !important;\r\n  font-size: 15px;\r\n  color: var(--cd-text);\r\n  background: transparent;\r\n  font-family: inherit;\r\n  cursor: pointer;\r\n  -webkit-appearance: none;\r\n  -moz-appearance: none;\r\n  appearance: none;\r\n  background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'\/%3E%3C\/svg%3E\");\r\n  background-repeat: no-repeat;\r\n  background-position: right 0 center;\r\n  white-space: nowrap;\r\n  overflow: hidden;\r\n  text-overflow: ellipsis;\r\n}\r\n\r\n.cd-phone-number-wrap {\r\n  display: block !important;\r\n  flex: 1 1 auto !important;\r\n  min-width: 0 !important;\r\n  width: auto !important;\r\n  background: var(--cd-white);\r\n  box-sizing: border-box;\r\n}\r\n.cd-phone-number-wrap input {\r\n  display: block !important;\r\n  width: 100% !important;\r\n  height: 48px !important;\r\n  line-height: 48px !important;\r\n  border: none !important;\r\n  padding: 0 16px !important;\r\n  margin: 0 !important;\r\n  font-size: 15px;\r\n  color: var(--cd-text);\r\n  font-family: inherit;\r\n  background: transparent;\r\n  box-sizing: border-box;\r\n}\r\n.cd-phone-number-wrap input:focus { outline: none; background: var(--cd-bg-blue); }\r\n.cd-phone-number-wrap input::placeholder { color: #AAA; }\r\n\r\n\/* ===== \u9690\u79c1\u63d0\u793a - \u54c1\u724c\u7ea2\u8272 ===== *\/\r\n#err-privacy {\r\n  color: #6f0000 !important;\r\n  font-weight: 600;\r\n  display: none;\r\n}\r\n\r\n\/* ================= \u54cd\u5e94\u5f0f ================= *\/\r\n@media (max-width: 480px) {\r\n  .cd-step { padding: 24px 18px; }\r\n  .cd-hero h1 { font-size: 22px; }\r\n  .cd-question h2 { font-size: 18px; }\r\n  .cd-input-group { flex-direction: column; }\r\n  .cd-btn-group { flex-direction: column-reverse; }\r\n  .cd-btn { width: 100%; justify-content: center; }\r\n  .cd-form-row.cd-inline { flex-direction: column; }\r\n  .cd-phone-row { flex-direction: row !important; flex-wrap: nowrap !important; }\r\n  .cd-phone-code-wrap { width: 95px !important; min-width: 95px !important; max-width: 95px !important; padding: 0 4px 0 6px; }\r\n  .cd-phone-code-wrap select { padding-right: 16px !important; font-size: 13px; }\r\n  .cd-phone-number-wrap input { padding: 0 10px !important; font-size: 14px; }\r\n  \/* \u56fe\u8868\u624b\u673a\u9002\u914d *\/\r\n  .cd-ruler-v5 { padding: 70px 0 70px; }\r\n  .cd-ruler-mark-top, .cd-ruler-mark-bottom { width: 100px; }\r\n  .cd-mark-label-v5 { font-size: 10px; }\r\n  .cd-mark-value-v5 { font-size: 12px; }\r\n  .cd-ruler-mark-top.current .cd-mark-value-v5,\r\n  .cd-ruler-mark-bottom.current .cd-mark-value-v5,\r\n  .cd-ruler-mark-top.boost .cd-mark-value-v5,\r\n  .cd-ruler-mark-bottom.boost .cd-mark-value-v5 { font-size: 14px; }\r\n  .cd-mark-desc-v5 { display: none; }\r\n  .cd-ruler-mark-top::after,\r\n  .cd-ruler-mark-bottom::before { height: 8px; }\r\n\r\n  .cd-period-pill { font-size: 12px; padding: 6px 12px; }\r\n  .cd-result-badge { font-size: 14px; padding: 8px 16px; }\r\n  .cd-result-badge.chase { font-size: 18px; padding: 12px 28px; }\r\n}\r\n@media (max-width: 360px) {\r\n  .cd-ruler-mark-top, .cd-ruler-mark-bottom { width: 80px; }\r\n  .cd-mark-label-v5 { font-size: 9px; }\r\n}\r\n<\/style>\r\n<base target=\"_blank\">\r\n<\/head>\r\n<body>\r\n\r\n<div class=\"cd-quiz-wrap\" id=\"cdQuiz\">\r\n\r\n  <div class=\"cd-progress-bar\"><div class=\"cd-progress-fill\" id=\"progressFill\"><\/div><\/div>\r\n  <div class=\"cd-progress-text\" id=\"progressText\">\u51c6\u5907\u5f00\u59cb \u00b7 0%<\/div>\r\n\r\n  <!-- ========== Step 0: \u5c01\u9762 ========== -->\r\n  <div class=\"cd-step active\" data-step=\"0\">\r\n    <div class=\"cd-hero\">\r\n      <div class=\"cd-hero-badge\">\r\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z\"\/><\/svg>\r\n        \u8bda\u5fb7\u4e2d\u533b\u513f\u79d1\u4e13\u79d1 \u00b7 \u8f6c\u9aa8\u589e\u9ad8 365+ \u5168\u5468\u671f\u7cfb\u7edf\r\n      <\/div>\r\n      <h1>\u6d4b\u6d4b\u60a8\u5b69\u5b50\u8fd8\u80fd\u957f\u591a\u9ad8\uff1f<br><span>3\u5206\u949f\u89e3\u9501\u751f\u957f\u6f5c\u529b<\/span><\/h1>\r\n      <p class=\"cd-hero-sub\">\r\n        \u57fa\u4e8e\u9057\u4f20\u5b66\u9776\u8eab\u9ad8\u516c\u5f0f<br> +<br> \u4e2d\u533b\u4f53\u8d28\u8fa8\u8bc6<br>\r\n        \u7cbe\u51c6\u5224\u65ad\u5b69\u5b50\u5904\u4e8e<br>\u300c\u9ec4\u91d1\u671f \/ \u5173\u952e\u671f \/ \u8ffd\u8d76\u671f\u300d\r\n      <\/p>\r\n      <div class=\"cd-hero-stats\">\r\n        <div class=\"cd-stat-item\">\r\n          <span class=\"cd-stat-num\">70+<\/span>\r\n          <span class=\"cd-stat-label\">\u4e2a\u54c1\u724c\u5408\u4f5c\u4f19\u4f34<\/span>\r\n        <\/div>\r\n        <div class=\"cd-stat-item\">\r\n          <span class=\"cd-stat-num\">365+<\/span>\r\n          <span class=\"cd-stat-label\">\u5929\u5168\u5e74\u966a\u8dd1<\/span>\r\n        <\/div>\r\n        <div class=\"cd-stat-item\">\r\n          <span class=\"cd-stat-num\">2\u6b21<\/span>\r\n          <span class=\"cd-stat-label\">\u5e74\u5ea6\u7206\u53d1\u7a97\u53e3<\/span>\r\n        <\/div>\r\n      <\/div>\r\n      <button class=\"cd-btn cd-btn-primary\" onclick=\"goToStep(1)\" style=\"font-size:17px; padding:16px 40px;\">\r\n        \u7acb\u5373\u514d\u8d39\u6d4b\u8bd5\r\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\r\n      <\/button>\r\n      <p style=\"margin-top:14px; font-size:12px; color:#999;\">\u5df2\u4e3a <span id=\"dynamicCount\">88<\/span> \u4f4d\u5bb6\u957f\u63d0\u4f9b\u4e13\u4e1a\u8bc4\u4f30\u5efa\u8bae<\/p>\r\n    <\/div>\r\n    <div class=\"cd-disclaimer\">\r\n      <strong>\u514d\u8d23\u58f0\u660e\uff1a<\/strong>\u672c\u8bc4\u6d4b\u4ec5\u4f9b\u5bb6\u957f\u53c2\u8003\u4f7f\u7528\uff0c\u4e0d\u6784\u6210\u533b\u7597\u8bca\u65ad\u6216\u6cbb\u7597\u5efa\u8bae\u3002\u5177\u4f53\u8eab\u9ad8\u589e\u957f\u60c5\u51b5\u56e0\u4eba\u800c\u5f02\uff0c\u9700\u7ecf\u4e13\u4e1a\u533b\u5e08\u9762\u8bca\u8bc4\u4f30\u3002\u8bda\u5fb7\u4e2d\u533b\u4fdd\u7559\u6700\u7ec8\u8be0\u91ca\u6743\u3002\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- ========== Step 1-6: \u95ee\u5377\uff08\u7701\u7565\u91cd\u590d\u90e8\u5206\uff0c\u4e0ev6\u76f8\u540c\uff09 ========== -->\r\n  <div class=\"cd-step\" data-step=\"1\">\r\n    <div class=\"cd-question\">\r\n      <h2><span class=\"cd-q-number\">1<\/span>\u5b69\u5b50\u7684\u57fa\u7840\u4fe1\u606f<\/h2>\r\n      <p class=\"cd-q-desc\">\u6211\u4eec\u5c06\u636e\u6b64\u8ba1\u7b97\u9057\u4f20\u9776\u8eab\u9ad8\u4e0e\u751f\u957f\u767e\u5206\u4f4d<\/p>\r\n    <\/div>\r\n    <div class=\"cd-input-group\">\r\n      <div class=\"cd-input-wrap\">\r\n        <label>\u5b69\u5b50\u6027\u522b <span style=\"color:var(--cd-accent)\">*<\/span><\/label>\r\n        <select id=\"childGender\" onchange=\"validateStep1()\"><option value=\"\">\u8bf7\u9009\u62e9<\/option><option value=\"boy\">\u7537\u5b69<\/option><option value=\"girl\">\u5973\u5b69<\/option><\/select>\r\n        <span class=\"cd-error-msg\" id=\"err-gender\">\u8bf7\u9009\u62e9\u6027\u522b<\/span>\r\n      <\/div>\r\n      <div class=\"cd-input-wrap\">\r\n        <label>\u5b69\u5b50\u5e74\u9f84\uff08\u5c81\uff09<span style=\"color:var(--cd-accent)\">*<\/span><\/label>\r\n        <input type=\"number\" id=\"childAge\" min=\"3\" max=\"18\" placeholder=\"3-18\u5c81\" oninput=\"validateStep1()\">\r\n        <span class=\"cd-error-msg\" id=\"err-age\">\u5e74\u9f84\u5fc5\u987b\u5728 3-18 \u5c81\u4e4b\u95f4<\/span>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"cd-input-group\" style=\"margin-top:12px;\">\r\n      <div class=\"cd-input-wrap\">\r\n        <label>\u5f53\u524d\u8eab\u9ad8\uff08cm\uff09<span style=\"color:var(--cd-accent)\">*<\/span><\/label>\r\n        <input type=\"number\" id=\"childHeight\" min=\"80\" max=\"200\" placeholder=\"80-200cm\" oninput=\"validateStep1()\">\r\n        <span class=\"cd-error-msg\" id=\"err-height\">\u8eab\u9ad8\u5fc5\u987b\u5728 80-200cm \u4e4b\u95f4<\/span>\r\n      <\/div>\r\n      <div class=\"cd-input-wrap\">\r\n        <label>\u5f53\u524d\u4f53\u91cd\uff08kg\uff0c\u9009\u586b\uff09<\/label>\r\n        <input type=\"number\" id=\"childWeight\" min=\"10\" max=\"100\" placeholder=\"10-100kg\" oninput=\"validateStep1()\">\r\n        <span class=\"cd-error-msg\" id=\"err-weight\">\u4f53\u91cd\u5fc5\u987b\u5728 10-100kg \u4e4b\u95f4<\/span>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"cd-tip\" id=\"tip1\"><strong>\ud83d\udca1 \u533b\u5b66\u5c0f\u77e5\u8bc6\uff1a<\/strong>\u7537\u5b69\u9aa8\u9f84\u901a\u5e38\u6bd4\u5b9e\u9645\u5e74\u9f84\u665a1-2\u5e74\u95ed\u5408\uff0c\u5973\u5b69\u5219\u65e91-2\u5e74\u3002\u82e5\u5973\u5b698\u5c81\u524d\/\u7537\u5b699\u5c81\u524d\u51fa\u73b0\u7b2c\u4e8c\u6027\u5f81\uff0c\u9700\u8b66\u60d5\u6027\u65e9\u719f\u5bfc\u81f4\u9aa8\u9aba\u63d0\u524d\u95ed\u5408\u3002<\/div>\r\n    <div class=\"cd-btn-group\"><div><\/div><button class=\"cd-btn cd-btn-primary\" id=\"btn1\" onclick=\"goToStep(2)\" disabled>\u4e0b\u4e00\u6b65<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M9 18l6-6-6-6\"\/><\/svg><\/button><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"cd-step\" data-step=\"2\">\r\n    <div class=\"cd-question\">\r\n      <h2><span class=\"cd-q-number\">2<\/span>\u7236\u6bcd\u8eab\u9ad8\uff08\u9057\u4f20\u6f5c\u529b\uff09<\/h2>\r\n      <p class=\"cd-q-desc\">\u9057\u4f20\u5360\u8eab\u9ad8\u6f5c\u529b\u768470%\uff0c\u4f46\u540e\u5929\u8c03\u7406\u53ef\u7a81\u7834\u9057\u4f20\u9650\u5236 5-10cm<\/p>\r\n    <\/div>\r\n    <div class=\"cd-input-group\">\r\n      <div class=\"cd-input-wrap\">\r\n        <label>\u7236\u4eb2\u8eab\u9ad8\uff08cm\uff09<span style=\"color:var(--cd-accent)\">*<\/span><\/label>\r\n        <input type=\"number\" id=\"fatherHeight\" min=\"140\" max=\"220\" placeholder=\"140-220cm\" oninput=\"validateStep2()\">\r\n        <span class=\"cd-error-msg\" id=\"err-father\">\u7236\u4eb2\u8eab\u9ad8\u5fc5\u987b\u5728 140-220cm \u4e4b\u95f4<\/span>\r\n      <\/div>\r\n      <div class=\"cd-input-wrap\">\r\n        <label>\u6bcd\u4eb2\u8eab\u9ad8\uff08cm\uff09<span style=\"color:var(--cd-accent)\">*<\/span><\/label>\r\n        <input type=\"number\" id=\"motherHeight\" min=\"140\" max=\"200\" placeholder=\"140-200cm\" oninput=\"validateStep2()\">\r\n        <span class=\"cd-error-msg\" id=\"err-mother\">\u6bcd\u4eb2\u8eab\u9ad8\u5fc5\u987b\u5728 140-200cm \u4e4b\u95f4<\/span>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"cd-tip\" id=\"tip2\"><strong>\ud83d\udca1 \u9057\u4f20\u9776\u8eab\u9ad8\u516c\u5f0f\uff1a<\/strong><br>\u7537\u5b69 = (\u7236\u8eab\u9ad8 + \u6bcd\u8eab\u9ad8 + 13) \u00f7 2 \u00b1 8.5cm<br>\u5973\u5b69 = (\u7236\u8eab\u9ad8 + \u6bcd\u8eab\u9ad8 \u2212 13) \u00f7 2 \u00b1 8.5cm<br><span style=\"color:var(--cd-primary);font-weight:600;\">\u8bda\u5fb7 \u8f6c\u9aa8\u589e\u9ad8365+\u7cfb\u7edf \u901a\u8fc7\u8c03\u7406\u813e\u80c3\u4e0e\u80be\u6c14\uff0c\u5e2e\u52a9\u5b69\u5b50\u5728\u9057\u4f20\u533a\u95f4\u5185\u5411\u4e0a\u9650\u903c\u8fd1\uff0c\u751a\u81f3\u7a81\u7834\u4e0a\u9650\u3002<\/span><\/div>\r\n    <div class=\"cd-btn-group\"><button class=\"cd-btn cd-btn-secondary\" onclick=\"goToStep(1)\">\u8fd4\u56de<\/button><button class=\"cd-btn cd-btn-primary\" id=\"btn2\" onclick=\"goToStep(3)\" disabled>\u4e0b\u4e00\u6b65<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M9 18l6-6-6-6\"\/><\/svg><\/button><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"cd-step\" data-step=\"3\">\r\n    <div class=\"cd-question\">\r\n      <h2><span class=\"cd-q-number\">3<\/span>\u8fd1 12 \u4e2a\u6708\u957f\u9ad8\u591a\u5c11\uff1f<\/h2>\r\n      <p class=\"cd-q-desc\">\u751f\u957f\u901f\u5ea6\u662f\u5224\u65ad\u751f\u957f\u677f\u6d3b\u6027\u7684\u9ec4\u91d1\u6307\u6807<\/p>\r\n    <\/div>\r\n    <div class=\"cd-options\">\r\n      <div class=\"cd-option\" onclick=\"selectOption(this, 'growth', 'slow')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">\u4e0d\u5230 4 \u5398\u7c73<\/span><span class=\"cd-option-desc\">\u660e\u663e\u504f\u6162\uff0c\u5efa\u8bae\u5c3d\u5feb\u8bc4\u4f30\u751f\u957f\u677f\u72b6\u6001<\/span><\/div><\/div>\r\n      <div class=\"cd-option\" onclick=\"selectOption(this, 'growth', 'normal')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">4 - 6 \u5398\u7c73<\/span><span class=\"cd-option-desc\">\u4e2d\u7b49\u901f\u5ea6\uff0c\u4ecd\u6709\u4f18\u5316\u7a7a\u95f4<\/span><\/div><\/div>\r\n      <div class=\"cd-option\" onclick=\"selectOption(this, 'growth', 'good')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">6 - 8 \u5398\u7c73<\/span><span class=\"cd-option-desc\">\u6b63\u5e38\u901f\u5ea6\uff0c\u7ee7\u7eed\u4fdd\u6301<\/span><\/div><\/div>\r\n      <div class=\"cd-option\" onclick=\"selectOption(this, 'growth', 'excellent')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">\u8d85\u8fc7 8 \u5398\u7c73<\/span><span class=\"cd-option-desc\">\u751f\u957f\u52bf\u5934\u826f\u597d\uff0c\u9700\u5de9\u56fa\u9632\u56de\u843d<\/span><\/div><\/div>\r\n    <\/div>\r\n    <div class=\"cd-tip\" id=\"tip3\"><strong>\ud83d\udca1 \u751f\u957f\u901f\u5ea6\u9884\u8b66\uff1a<\/strong>3\u5c81~\u9752\u6625\u671f\u524d\uff0c\u6bcf\u5e74\u5e94\u957f\u9ad85-7cm\u3002\u82e5\u8fde\u7eed2\u5e74\u4f4e\u4e8e4cm\uff0c\u53ef\u80fd\u63d0\u793a\u751f\u957f\u6fc0\u7d20\u5206\u6ccc\u4e0d\u8db3\u3001\u813e\u80c3\u5438\u6536\u969c\u788d\u6216\u6162\u6027\u75c5\u56e0\uff0c\u5efa\u8bae\u7ed3\u5408\u9aa8\u9f84\u7247\u8bc4\u4f30\u3002<\/div>\r\n    <div class=\"cd-btn-group\"><button class=\"cd-btn cd-btn-secondary\" onclick=\"goToStep(2)\">\u8fd4\u56de<\/button><button class=\"cd-btn cd-btn-primary\" id=\"btn3\" onclick=\"goToStep(4)\" disabled>\u4e0b\u4e00\u6b65<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M9 18l6-6-6-6\"\/><\/svg><\/button><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"cd-step\" data-step=\"4\">\r\n    <div class=\"cd-question\">\r\n      <h2><span class=\"cd-q-number\">4<\/span>\u76ee\u524d\u5b58\u5728\u54ea\u4e9b\u751f\u6d3b\u4e60\u60ef\u95ee\u9898\uff1f<\/h2>\r\n      <p class=\"cd-q-desc\">\u53ef\u591a\u9009 \u00b7 \u4e2d\u533b\u8f6c\u9aa8\u53ef\u9488\u5bf9\u6027\u4f18\u5316\u8fd9\u4e9b\u56e0\u7d20<\/p>\r\n    <\/div>\r\n    <p class=\"cd-multi-hint\">\ud83d\udc46 \u70b9\u51fb\u9009\u62e9\u6240\u6709\u7b26\u5408\u7684\u9009\u9879\uff08\u81f3\u5c11\u90091\u9879\uff09<\/p>\r\n    <div class=\"cd-options\">\r\n      <div class=\"cd-option multi\" onclick=\"toggleMulti(this, 'habits', 'sleep')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">\ud83c\udf19 \u7761\u7720\u4e0d\u8db3\u6216\u8d28\u91cf\u5dee<\/span><span class=\"cd-option-desc\">\u665a\u7761\u3001\u591c\u9192\u3001\u7761\u7720\u6d45\uff08\u751f\u957f\u6fc0\u7d2070%\u5728\u591c\u95f4\u6df1\u7761\u671f\u5206\u6ccc\uff09<\/span><\/div><\/div>\r\n      <div class=\"cd-option multi\" onclick=\"toggleMulti(this, 'habits', 'diet')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">\ud83c\udf7d\ufe0f \u6311\u98df\u3001\u4fbf\u79d8\u6216\u8179\u80c0<\/span><span class=\"cd-option-desc\">\u813e\u80c3\u8fd0\u5316\u5f31\uff0c\u8425\u517b\u5438\u6536\u7387\u4f4e\u4e0b\uff08\u4e2d\u533b\u79f0\u300c\u540e\u5929\u4e4b\u672c\u5931\u517b\u300d\uff09<\/span><\/div><\/div>\r\n      <div class=\"cd-option multi\" onclick=\"toggleMulti(this, 'habits', 'exercise')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">\ud83c\udfc3 \u7f3a\u4e4f\u8fd0\u52a8\uff0c\u4e45\u5750\u4e0d\u52a8<\/span><span class=\"cd-option-desc\">\u9aa8\u9abc\u7f3a\u4e4f\u673a\u68b0\u523a\u6fc0\uff0c\u751f\u957f\u677f\u6d3b\u6027\u964d\u4f4e<\/span><\/div><\/div>\r\n      <div class=\"cd-option multi\" onclick=\"toggleMulti(this, 'habits', 'stress')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">\ud83d\ude30 \u60c5\u7eea\u538b\u529b\u5927\u6216\u6613\u7126\u8651<\/span><span class=\"cd-option-desc\">\u8bfe\u4e1a\/\u793e\u4ea4\u538b\u529b\u5bfc\u81f4\u809d\u6c14\u90c1\u7ed3\uff0c\u5185\u5206\u6ccc\u7d0a\u4e71<\/span><\/div><\/div>\r\n      <div class=\"cd-option multi\" onclick=\"toggleMulti(this, 'habits', 'sick')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">\ud83e\udd27 \u7ecf\u5e38\u611f\u5192\uff0c\u4f53\u8d28\u504f\u5f31<\/span><span class=\"cd-option-desc\">\u536b\u5916\u4e0d\u56fa\uff0c\u9891\u7e41\u751f\u75c5\u4e2d\u65ad\u751f\u957f\u7597\u7a0b<\/span><\/div><\/div>\r\n      <div class=\"cd-option multi\" onclick=\"toggleMulti(this, 'habits', 'none')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">\u2705 \u4ee5\u4e0a\u90fd\u6ca1\u6709\uff0c\u72b6\u6001\u826f\u597d<\/span><span class=\"cd-option-desc\">\u7ee7\u7eed\u4fdd\u6301\uff0c\u53ef\u8fdb\u5165\u84c4\u80fd\u671f\u63d0\u524d\u50a8\u5907\u80fd\u91cf<\/span><\/div><\/div>\r\n    <\/div>\r\n    <div class=\"cd-tip\" id=\"tip4\"><strong>\ud83d\udca1 \u4e2d\u533b\u4e94\u810f\u4e0e\u751f\u957f\u5173\u8054\uff1a<\/strong><br>\u2022 \u80be\u4e3b\u9aa8 \u2192 \u80be\u6c14\u8db3\u5219\u9aa8\u9abc\u53d1\u80b2\u6709\u52a8\u529b<br>\u2022 \u813e\u4e3b\u8fd0\u5316 \u2192 \u813e\u80c3\u597d\u5219\u8425\u517b\u5438\u6536\u5145\u5206<br>\u2022 \u809d\u4e3b\u758f\u6cc4 \u2192 \u809d\u6c14\u6761\u8fbe\u5219\u7761\u7720\u5b89\u7a33\u3001\u60c5\u7eea\u5e73\u548c<br><span style=\"color:var(--cd-primary);font-weight:600;\">\u8bda\u5fb7 \u8f6c\u9aa8\u589e\u9ad8365+\u7cfb\u7edf \u901a\u8fc7\u8336\u7597+\u98df\u7597\u5148\u8c03\u7406\u813e\u80c3\uff08\u84c4\u80fd\uff09\uff0c\u518d\u4e8e3\u6708\/9\u6708\u4ee5\u4e13\u65b9+\u9488\u7078\u542f\u52a8\u7206\u53d1\u3002<\/span><\/div>\r\n    <div class=\"cd-btn-group\"><button class=\"cd-btn cd-btn-secondary\" onclick=\"goToStep(3)\">\u8fd4\u56de<\/button><button class=\"cd-btn cd-btn-primary\" id=\"btn4\" onclick=\"goToStep(5)\" disabled>\u4e0b\u4e00\u6b65<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M9 18l6-6-6-6\"\/><\/svg><\/button><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"cd-step\" data-step=\"5\">\r\n    <div class=\"cd-question\">\r\n      <h2><span class=\"cd-q-number\">5<\/span>\u60a8\u6700\u62c5\u5fc3\u7684\u95ee\u9898\u662f\u4ec0\u4e48\uff1f<\/h2>\r\n      <p class=\"cd-q-desc\">\u6211\u4eec\u5c06\u636e\u6b64\u5728\u62a5\u544a\u4e2d\u91cd\u70b9\u5206\u6790<\/p>\r\n    <\/div>\r\n    <div class=\"cd-options\">\r\n      <div class=\"cd-option\" onclick=\"selectOption(this, 'worry', 'height')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">\ud83d\udccf \u8eab\u9ad8\u660e\u663e\u6bd4\u540c\u9f84\u4eba\u77ee<\/span><span class=\"cd-option-desc\">\u5728\u73ed\u7ea7\u6392\u961f\u603b\u662f\u7ad9\u524d\u9762<\/span><\/div><\/div>\r\n      <div class=\"cd-option\" onclick=\"selectOption(this, 'worry', 'puberty')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">\u23f0 \u62c5\u5fc3\u9519\u8fc7\u9752\u6625\u671f\u524d\u6700\u540e\u673a\u4f1a<\/span><span class=\"cd-option-desc\">\u5b69\u5b50\u5df2\u7ecf10\u5c81+\uff0c\u6015\u751f\u957f\u677f\u5f88\u5feb\u95ed\u5408<\/span><\/div><\/div>\r\n      <div class=\"cd-option\" onclick=\"selectOption(this, 'worry', 'constitution')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">\ud83c\udf43 \u4f53\u8d28\u5dee\uff0c\u7ecf\u5e38\u751f\u75c5\u5f71\u54cd\u751f\u957f<\/span><span class=\"cd-option-desc\">\u4e00\u611f\u5192\u5c31\u505c\u8bad\u505c\u836f\uff0c\u7597\u7a0b\u603b\u4e2d\u65ad<\/span><\/div><\/div>\r\n      <div class=\"cd-option\" onclick=\"selectOption(this, 'worry', 'hormone')\"><div class=\"cd-check\"><svg viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><div class=\"cd-option-text\"><span class=\"cd-option-title\">\ud83d\udc89 \u4e0d\u60f3\u6253\u751f\u957f\u6fc0\u7d20\uff0c\u5bfb\u6c42\u81ea\u7136\u65b9\u6848<\/span><span class=\"cd-option-desc\">\u62c5\u5fc3\u6fc0\u7d20\u526f\u4f5c\u7528\uff0c\u503e\u5411\u4e2d\u533b\u8c03\u7406<\/span><\/div><\/div>\r\n    <\/div>\r\n    <div class=\"cd-tip\" id=\"tip5\"><strong>\ud83d\udca1 \u5bb6\u957f\u5e38\u89c1\u8bef\u533a\uff1a<\/strong>\u8bb8\u591a\u5bb6\u957f\u7b49\u5230\u5b69\u5b5012-14\u5c81\u624d\u7740\u6025\uff0c\u4f46\u5973\u5b69\u9aa8\u9f8414\u5c81\u3001\u7537\u5b69\u9aa8\u9f8416\u5c81\u540e\u751f\u957f\u677f\u63a5\u8fd1\u95ed\u5408\uff0c\u5e72\u9884\u7a97\u53e3\u6025\u5267\u7f29\u5c0f\u3002<span style=\"color:var(--cd-primary);font-weight:600;\">\u8d8a\u65e9\u8bc4\u4f30\uff0c\u53ef\u8c03\u63a7\u7a7a\u95f4\u8d8a\u5927\u3002<\/span><\/div>\r\n    <div class=\"cd-btn-group\"><button class=\"cd-btn cd-btn-secondary\" onclick=\"goToStep(4)\">\u8fd4\u56de<\/button><button class=\"cd-btn cd-btn-primary\" id=\"btn5\" onclick=\"goToStep(6)\" disabled>\u4e0b\u4e00\u6b65<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M9 18l6-6-6-6\"\/><\/svg><\/button><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"cd-step\" data-step=\"6\">\r\n    <div class=\"cd-question\">\r\n      <h2><span class=\"cd-q-number\">6<\/span>\u60a8\u6240\u5728\u7684\u57ce\u5e02\uff1f<\/h2>\r\n      <p class=\"cd-q-desc\">\u8f93\u5165\u57ce\u5e02\u540d\u79f0\uff0c\u6211\u4eec\u5c06\u4e3a\u60a8\u5339\u914d\u6700\u8fd1\u7684\u5206\u9662\u6216\u7ebf\u4e0a\u54a8\u8be2\u65b9\u6848<\/p>\r\n    <\/div>\r\n    <div class=\"cd-input-group\">\r\n      <div class=\"cd-input-wrap\" style=\"flex:2;\">\r\n        <label>\u57ce\u5e02\u540d\u79f0 <span style=\"color:var(--cd-accent)\">*<\/span><\/label>\r\n        <input type=\"text\" id=\"cityInput\" placeholder=\"\u4f8b\u5982\uff1aJohor Bahru \/ Kuala Lumpur \/ Penang \/ Kuching\" oninput=\"validateStep6()\">\r\n        <span class=\"cd-error-msg\" id=\"err-city\">\u8bf7\u8f93\u5165\u60a8\u6240\u5728\u7684\u57ce\u5e02<\/span>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"cd-tip\" id=\"tip6\" style=\"display:block;\">\r\n      <strong>\ud83d\udccd \u5206\u9662\u8986\u76d6\u8303\u56f4\uff1a<\/strong><br>\u2022 <strong>\u65b0\u5c71\u5730\u533a<\/strong>\uff1a\u8bda\u5fb7\u4e2d\u533b\u603b\u9662\u53ca\u591a\u95f4\u5206\u9662<br>\u2022 <strong>\u5409\u9686\u5761\/\u69df\u57ce\/\u9a6c\u516d\u7532<\/strong>\uff1a\u53ef\u9884\u7ea6\u7ebf\u4e0a\u54a8\u8be2\u6216\u5b89\u6392\u5408\u4f5c\u95e8\u8bca\u8f6c\u8bca<br>\u2022 <strong>\u5176\u4ed6\u57ce\u5e02\/\u4e1c\u9a6c<\/strong>\uff1a\u63d0\u4f9b\u8fdc\u7a0b\u76d1\u62a4 + \u90ae\u5bc4\u8c03\u7406\u65b9\u6848<br><span style=\"color:var(--cd-primary);font-weight:600;\">\u65e0\u8bba\u60a8\u5728\u54ea\u91cc\uff0c\u8f6c\u9aa8\u589e\u9ad8365+\u7cfb\u7edf \u90fd\u53ef\u4ee5\u670d\u52a1\u3002<\/span>\r\n    <\/div>\r\n    <div class=\"cd-btn-group\"><button class=\"cd-btn cd-btn-secondary\" onclick=\"goToStep(5)\">\u8fd4\u56de<\/button><button class=\"cd-btn cd-btn-primary\" id=\"btn6\" onclick=\"calculateAndShow()\" disabled>\u514d\u8d39\u751f\u6210\u6211\u7684\u62a5\u544a<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M9 18l6-6-6-6\"\/><\/svg><\/button><\/div>\r\n  <\/div>\r\n\r\n  <!-- ========== Step 7: \u8ba1\u7b97\u4e2d ========== -->\r\n  <div class=\"cd-step\" data-step=\"7\">\r\n    <div class=\"cd-calculating\">\r\n      <div class=\"cd-spinner\"><\/div>\r\n      <h3>\u6b63\u5728\u5206\u6790\u751f\u957f\u6f5c\u529b...<\/h3>\r\n      <p>\u5df2\u52a0\u8f7d\u9057\u4f20\u9776\u8eab\u9ad8\u6a21\u578b \u00b7 \u4f53\u8d28\u8fa8\u8bc6\u7b97\u6cd5 \u00b7 365+\u9636\u6bb5\u5339\u914d\u7cfb\u7edf<\/p>\r\n      <p style=\"margin-top:8px; font-size:12px; color:#AAA;\">\u9884\u8ba1\u5269\u4f59 3 \u79d2<\/p>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- ========== Step 8: \u7ed3\u679c\u9875\uff08\u4e0a\u4e0b\u4ea4\u9519\u56fe\u8868\uff09 ========== -->\r\n  <div class=\"cd-step\" data-step=\"8\">\r\n    <div class=\"cd-result-header\">\r\n      <div class=\"cd-result-badge\" id=\"resultBadge\">\ud83c\udfaf \u9ec4\u91d1\u671f<\/div>\r\n      <h2 id=\"resultTitle\">\u5b69\u5b50\u6b63\u5904\u4e8e\u300c\u9ec4\u91d1\u751f\u957f\u671f\u300d<\/h2>\r\n      <p id=\"resultSubtitle\">\u751f\u957f\u6761\u4ef6\u826f\u597d\uff0c\u5efa\u8bae\u901a\u8fc7 \u8f6c\u9aa8\u589e\u9ad8365+ \u63d0\u524d\u84c4\u80fd\uff0c\u57283\u6708\/9\u6708\u7206\u53d1\u7a97\u53e3\u5b9e\u73b0\u7a81\u7834<\/p>\r\n\r\n      <div class=\"cd-period-pill preboost\" id=\"resultPeriodPill\">\r\n        <span class=\"cd-period-dot\"><\/span>\r\n        <span id=\"resultPeriodText\">\u84c4\u80fd\u9ec4\u91d1\u671f \u00b7 \u8ddd 9\u6708 \u7206\u53d1\u8fd8\u6709 4 \u4e2a\u6708<\/span>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u56fe\u8868 v5\uff1a\u4e0a\u4e0b\u4ea4\u9519\u6392\u5217 -->\r\n    <div class=\"cd-chart-box\">\r\n      <div class=\"cd-chart-title\">\r\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"var(--cd-primary)\"><path d=\"M3 17v2h2v-2H3zm4 0v2h2v-2H7zm4 0v2h2v-2h-2zm4 0v2h2v-2h-2zm4 0v2h2v-2h-2zM3 13v2h2v-2H3zm4 0v2h2v-2H7zm4 0v2h2v-2h-2zm4 0v2h2v-2h-2zm4 0v2h2v-2h-2zM3 9v2h2V9H3zm4 0v2h2V9H7zm4 0v2h2V9h-2zm4 0v2h2V9h-2zm4 0v2h2V9h-2zM3 5v2h2V5H3zm4 0v2h2V5H7zm4 0v2h2V5h-2zm4 0v2h2V5h-2zm4 0v2h2V5h-2z\"\/><\/svg>\r\n        \u9057\u4f20\u9776\u8eab\u9ad8\u9884\u6d4b\u533a\u95f4\r\n      <\/div>\r\n      <div class=\"cd-ruler-v5\">\r\n        <div class=\"cd-ruler-bar-v5\"><\/div>\r\n        <div id=\"growthChartV5\" style=\"position:relative; width:100%; height:0;\">\r\n          <!-- JS \u52a8\u6001\u751f\u6210\u4e0a\u4e0b\u4ea4\u9519\u6807\u8bb0 -->\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"cd-chart-legend\">\r\n        <span><span class=\"cd-legend-dot\" style=\"background:var(--cd-primary)\"><\/span>\u9057\u4f20\u9776\u8eab\u9ad8<\/span>\r\n        <span><span class=\"cd-legend-dot\" style=\"background:var(--cd-accent)\"><\/span>\u5b69\u5b50\u5f53\u524d\u8eab\u9ad8<\/span>\r\n        <span><span class=\"cd-legend-dot\" style=\"background:var(--cd-gold);border:1px solid #B8860B\"><\/span>365+\u4f18\u5316\u540e\u6f5c\u529b<\/span>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u98ce\u9669\u5361\u7247 -->\r\n    <div class=\"cd-risk-cards\" id=\"riskCards\"><\/div>\r\n\r\n    <!-- TCM\u533a -->\r\n    <div class=\"cd-tcm-box\">\r\n      <h3>\ud83c\udf3f \u4e2d\u533b\u8f6c\u9aa8\u53ef\u4f18\u5316\u56e0\u7d20<\/h3>\r\n      <p id=\"tcmText\">\u6839\u636e\u60a8\u5b69\u5b50\u7684\u60c5\u51b5\uff0c\u8bda\u5fb7 \u8f6c\u9aa8\u589e\u9ad8365+\u7cfb\u7edf \u53ef\u901a\u8fc7\u300c\u84c4\u80fd\u9ec4\u91d1\u671f\u300d\u8336\u7597+\u98df\u7597 \u5148\u8c03\u7406\u813e\u80c3\u8fd0\u5316\uff0c\u4e3a\u4e0b\u4e00\u4e2a3\u6708\/9\u6708\u300c\u8f6c\u9aa8\u7206\u53d1\u671f\u300d\u63d0\u5347 50% \u4ee5\u4e0a\u7684\u836f\u529b\u5438\u6536\u7387\u3002<\/p>\r\n      <button class=\"cd-tcm-cta\" onclick=\"goToStep(9)\">\r\n        \u9886\u53d6\u5b8c\u6574\u62a5\u544a + \u9884\u7ea6\u9aa8\u9f84\u8bc4\u4f30\r\n        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M9 18l6-6-6-6\"\/><\/svg>\r\n      <\/button>\r\n      <p style=\"font-size:12px; opacity:0.8; margin-top:10px;\">\r\n        \u26a1 <span id=\"periodLabel\">\u84c4\u80fd\u9ec4\u91d1\u671f<\/span>\u540d\u989d\u6709\u9650 \u00b7 \u672c\u6708\u4ec5\u5269 <span id=\"slotsLeft\" style=\"font-weight:700; color:#FFD54F;\">18<\/span> \u4f4d\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"cd-disclaimer\">\r\n      <strong>\u7ed3\u679c\u8bf4\u660e\uff1a<\/strong>\u672c\u62a5\u544a\u57fa\u4e8e\u60a8\u63d0\u4f9b\u7684\u95ee\u5377\u4fe1\u606f\u751f\u6210\uff0c\u9057\u4f20\u9776\u8eab\u9ad8\u516c\u5f0f\u53c2\u8003Tanner\u6807\u51c6\u3002\u5b9e\u9645\u751f\u957f\u60c5\u51b5\u53d7\u9aa8\u9f84\u3001\u6fc0\u7d20\u6c34\u5e73\u3001\u8425\u517b\u72b6\u51b5\u7b49\u591a\u56e0\u7d20\u5f71\u54cd\uff0c\u5177\u4f53\u8bca\u7597\u65b9\u6848\u9700\u7ecf\u8bda\u5fb7\u4e2d\u533b\u513f\u79d1\u533b\u5e08\u9762\u8bca\u540e\u5236\u5b9a\u3002\u672c\u6d4b\u8bd5\u4e0d\u6784\u6210\u533b\u7597\u8bca\u65ad\u3002\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- ========== Step 9: \u7559\u8d44\u8868\u5355 ========== -->\r\n  <div class=\"cd-step\" data-step=\"9\">\r\n    <div class=\"cd-form-box\">\r\n      <div class=\"cd-scarcity\" id=\"formScarcity\">\r\n        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"\/><\/svg>\r\n        <span id=\"scarcityText\">\u672c\u6708\u9aa8\u9f84\u8bc4\u4f30\u540d\u989d\u4ec5\u5269 18 \u4f4d\uff0c\u586b\u5199\u540e\u52a9\u7406\u5c06\u572824\u5c0f\u65f6\u5185\u8054\u7cfb\u60a8<\/span>\r\n      <\/div>\r\n      <h3>\ud83d\udccb \u9886\u53d6\u300a\u8eab\u9ad8\u7ba1\u7406\u5b8c\u6574\u62a5\u544a\u300b<\/h3>\r\n      <p class=\"cd-form-desc\">\u5305\u542b\uff1a\u9057\u4f20\u9776\u8eab\u9ad8\u8be6\u7ec6\u5206\u6790 \u00b7 \u4f53\u8d28\u8fa8\u8bc6\u7ed3\u679c \u00b7 365+ \u4e2a\u6027\u5316\u7597\u7a0b\u5efa\u8bae \u00b7 \u996e\u98df\u8fd0\u52a8\u5904\u65b9<\/p>\r\n\r\n      <div class=\"cd-form-row\">\r\n        <label>\u5bb6\u957f\u59d3\u540d <span class=\"cd-required\">*<\/span><\/label>\r\n        <input type=\"text\" id=\"parentName\" placeholder=\"\u4f8b\u5982\uff1a\u9648\u5973\u58eb\">\r\n        <span class=\"cd-error-msg\" id=\"err-pname\">\u8bf7\u8f93\u5165\u5bb6\u957f\u59d3\u540d<\/span>\r\n      <\/div>\r\n\r\n      <div class=\"cd-form-row\">\r\n        <label>\u8054\u7cfb\u7535\u8bdd\uff08\u53ef WhatsApp\uff09<span class=\"cd-required\">*<\/span><\/label>\r\n        <div class=\"cd-phone-row\" id=\"phoneGroup\">\r\n          <div class=\"cd-phone-code-wrap\">\r\n            <select id=\"countryCode\" onchange=\"updatePhonePlaceholder()\">\r\n              <option value=\"+60\" selected>\ud83c\uddf2\ud83c\uddfe +60<\/option>\r\n              <option value=\"+65\">\ud83c\uddf8\ud83c\uddec +65<\/option>\r\n              <option value=\"+86\">\ud83c\udde8\ud83c\uddf3 +86<\/option>\r\n              <option value=\"+62\">\ud83c\uddee\ud83c\udde9 +62<\/option>\r\n              <option value=\"+66\">\ud83c\uddf9\ud83c\udded +66<\/option>\r\n              <option value=\"+852\">\ud83c\udded\ud83c\uddf0 +852<\/option>\r\n              <option value=\"+886\">\ud83c\uddf9\ud83c\uddfc +886<\/option>\r\n            <\/select>\r\n          <\/div>\r\n          <div class=\"cd-phone-number-wrap\">\r\n            <input type=\"tel\" id=\"parentPhone\" placeholder=\"\u4f8b\u5982\uff1a12-3456789\" oninput=\"validatePhone()\">\r\n          <\/div>\r\n        <\/div>\r\n        <span class=\"cd-error-msg\" id=\"err-phone\">\u8bf7\u8f93\u5165\u6709\u6548\u7684\u8054\u7cfb\u7535\u8bdd<\/span>\r\n      <\/div>\r\n\r\n      <div class=\"cd-form-row cd-inline\">\r\n        <div>\r\n          <label>\u65b9\u4fbf\u8054\u7cfb\u65f6\u95f4 <span class=\"cd-required\">*<\/span><\/label>\r\n          <select id=\"contactTime\">\r\n            <option value=\"\">\u8bf7\u9009\u62e9<\/option>\r\n            <option value=\"morning\">\u4e0a\u5348 09:00 - 12:00<\/option>\r\n            <option value=\"afternoon\">\u4e0b\u5348 14:00 - 17:00<\/option>\r\n          <\/select>\r\n          <span class=\"cd-error-msg\" id=\"err-time\">\u8bf7\u9009\u62e9\u8054\u7cfb\u65f6\u95f4<\/span>\r\n        <\/div>\r\n        <div>\r\n          <label>\u6240\u5728\u57ce\u5e02 <span class=\"cd-required\">*<\/span><\/label>\r\n          <input type=\"text\" id=\"formCity\" placeholder=\"\u4f8b\u5982\uff1aJohor Bahru\" readonly style=\"background:#f5f5f5;\">\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"cd-form-row\">\r\n        <label>\u5b69\u5b50\u59d3\u540d\uff08\u7528\u4e8e\u62a5\u544a\u4e2a\u6027\u5316\uff09<\/label>\r\n        <input type=\"text\" id=\"childName\" placeholder=\"\u4f8b\u5982\uff1a\u5c0f\u660e\">\r\n      <\/div>\r\n\r\n      <div class=\"cd-privacy\">\r\n        <input type=\"checkbox\" id=\"privacyCheck\" onchange=\"togglePrivacyError()\">\r\n        <label for=\"privacyCheck\">\u6211\u5df2\u9605\u8bfb\u5e76\u540c\u610f<a href=\"#\" target=\"_blank\">\u300a\u9690\u79c1\u653f\u7b56\u300b<\/a>\uff0c\u6388\u6743\u8bda\u5fb7\u4e2d\u533b\uff08Nature Concept T&CM\uff09\u901a\u8fc7\u7535\u8bdd\/WhatsApp\u8054\u7cfb\u6211\uff0c\u63d0\u4f9b\u8eab\u9ad8\u7ba1\u7406\u54a8\u8be2\u4e0e\u9884\u7ea6\u670d\u52a1\u3002\u6211\u7684\u4e2a\u4eba\u4fe1\u606f\u5c06\u4e25\u683c\u4fdd\u5bc6\uff0c\u4e0d\u4f1a\u7528\u4e8e\u5176\u4ed6\u5546\u4e1a\u7528\u9014\u3002<\/label>\r\n      <\/div>\r\n      <span class=\"cd-error-msg\" id=\"err-privacy\" style=\"margin-bottom:12px; display:none; color:#6f0000; font-weight:600;\">\u8bf7\u540c\u610f\u9690\u79c1\u653f\u7b56\u4ee5\u7ee7\u7eed<\/span>\r\n\r\n      <button class=\"cd-btn cd-btn-primary\" id=\"submitBtn\" onclick=\"submitForm()\" style=\"width:100%; justify-content:center; font-size:16px; padding:16px;\">\r\n        \u7acb\u5373\u63d0\u4ea4\uff0c\u9884\u7ea6\u514d\u8d39\u8bc4\u4f30\r\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\r\n      <\/button>\r\n\r\n      <p style=\"text-align:center; margin-top:12px; font-size:12px; color:#AAA;\">\ud83d\udd12 \u60a8\u7684\u4fe1\u606f\u53d7\u9a6c\u6765\u897f\u4e9a\u300a\u4e2a\u4eba\u6570\u636e\u4fdd\u62a4\u6cd5\u300b(PDPA) \u4fdd\u62a4<\/p>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- ========== Step 10: \u9884\u7ea6\u6210\u529f ========== -->\r\n  <div class=\"cd-step\" data-step=\"10\">\r\n    <div class=\"cd-success\">\r\n      <div class=\"cd-success-icon\">\ud83c\udf89<\/div>\r\n      <h2>\u63d0\u4ea4\u6210\u529f\uff01\u52a9\u7406\u5c06\u5c3d\u5feb\u8054\u7cfb\u60a8<\/h2>\r\n      <p>\u8bda\u5fb7\u4e2d\u533b\u513f\u79d1\u4e13\u79d1\u56e2\u961f\u5df2\u6536\u5230\u60a8\u7684\u8d44\u6599\u3002<br>\u6211\u4eec\u5c06\u5728 <strong>24\u5c0f\u65f6\u5185<\/strong> \u901a\u8fc7\u7535\u8bdd\u6216WhatsApp\u4e0e\u60a8\u786e\u8ba4\u9884\u7ea6\u65f6\u95f4\u3002<br>\u8bf7\u7559\u610f\u6765\u7535\u663e\u793a\u4e3a <strong>Nature Concept T&CM<\/strong>\u3002<\/p>\r\n      <a class=\"cd-whatsapp-btn\" id=\"waLink\" href=\"#\" target=\"_blank\">\r\n        <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z\"\/><\/svg>\r\n        \u76f4\u63a5 WhatsApp \u9884\u7ea6\r\n      <\/a>\r\n      <div style=\"text-align:left; margin-top:24px;\">\r\n        <h3 style=\"font-size:16px; color:var(--cd-text); margin-bottom:12px; text-align:center;\">\ud83d\udccd \u8bda\u5fb7\u4e2d\u533b\u9662\u6240\u4fe1\u606f<\/h3>\r\n        <table class=\"cd-branch-table\">\r\n          <thead><tr><th>\u5206\u9662<\/th><th>\u5730\u5740<\/th><th>\u9884\u7ea6\u4e13\u7ebf<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><strong>\u65b0\u5c71\u58eb\u59d1\u6765\u603b\u9662<\/strong><\/td><td>Skudai Danga Utama<\/td><td>6012-585 8952<\/td><\/tr>\r\n            <tr><td><strong>\u65b0\u5c71\u827a\u8fbe\u56ed\u5206\u9662<\/strong><\/td><td>Adda Heights<\/td><td>6018-986 8952<\/td><\/tr>\r\n            <tr><td><strong>\u9a6c\u897f\u81f3\u8fbe\u57ce\u5206\u9662<\/strong><\/td><td>Masai Seri Alam<\/td><td>6018-946 8952<\/td><\/tr>\r\n            <tr><td><strong>\u65b0\u5c71\u62ff\u7763\u7fc1\u9547\u5206\u9662<\/strong><\/td><td>Bandar Dato Onn<\/td><td>6018-980 9661<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"cd-disclaimer\">\r\n      <strong>\u6e29\u99a8\u63d0\u793a\uff1a<\/strong>\u82e524\u5c0f\u65f6\u5185\u672a\u6536\u5230\u8054\u7cfb\uff0c\u8bf7\u4e3b\u52a8\u901a\u8fc7 WhatsApp +60189768952  \u8054\u7cfb\u52a9\u7406\u3002\u514d\u8d39\u9aa8\u9f84\u8bc4\u4f30\u540d\u989d\u4ee5\u5b9e\u9645\u9884\u7ea6\u786e\u8ba4\u4e3a\u51c6\uff0c\u5148\u5230\u5148\u5f97\u3002\r\n    <\/div>\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\nconst state = {\r\n  currentStep: 0,\r\n  answers: { gender:'', age:'', height:'', weight:'', fatherH:'', motherH:'', growth:'', habits:[], worry:'', city:'' },\r\n  result: {}\r\n};\r\nconst totalSteps = 6;\r\n\r\nfunction updateDynamicCount() {\r\n  const start = new Date('2026-01-01T00:00:00+08:00');\r\n  const now = new Date();\r\n  const hours = (now - start) \/ (1000 * 60 * 60);\r\n  const added = Math.floor(hours \/ 3);\r\n  const total = 88 + added;\r\n  const el = document.getElementById('dynamicCount');\r\n  if (el) el.textContent = total.toLocaleString();\r\n}\r\nupdateDynamicCount();\r\nsetInterval(updateDynamicCount, 60000);\r\n\r\nfunction getPeriodInfo() {\r\n  const now = new Date();\r\n  const month = now.getMonth() + 1;\r\n  if (month === 3) {\r\n    return { type:'boost', text:'\ud83d\udd25 \u6625\u751f\u7206\u53d1\u671f\uff083\u6708\uff09\u00b7 \u542f\u52a8\u8f6c\u9aa8\u5f15\u64ce\u7684\u6700\u4f73\u65f6\u673a', resultText:'\u6625\u751f\u7206\u53d1\u671f\uff083\u6708\uff09\u8fdb\u884c\u4e2d \u00b7 \u7a97\u53e3\u5373\u5c06\u5173\u95ed \u00b7 \u7acb\u5373\u9884\u7ea6', label:'3\u6708\u7206\u53d1\u671f', slotsBase:12 };\r\n  } else if (month === 9) {\r\n    return { type:'boost', text:'\ud83d\udd25 \u79cb\u6536\u7206\u53d1\u671f\uff089\u6708\uff09\u00b7 \u542f\u52a8\u8f6c\u9aa8\u5f15\u64ce\u7684\u6700\u4f73\u65f6\u673a', resultText:'\u79cb\u6536\u7206\u53d1\u671f\uff089\u6708\uff09\u8fdb\u884c\u4e2d \u00b7 \u7a97\u53e3\u5373\u5c06\u5173\u95ed \u00b7 \u7acb\u5373\u9884\u7ea6', label:'9\u6708\u7206\u53d1\u671f', slotsBase:12 };\r\n  } else {\r\n    let nextName, monthsAway;\r\n    if (month < 3) { nextName='3\u6708\u6625\u751f\u7206\u53d1'; monthsAway=3-month; }\r\n    else if (month < 9) { nextName='9\u6708\u79cb\u6536\u7206\u53d1'; monthsAway=9-month; }\r\n    else { nextName='\u660e\u5e743\u6708\u6625\u751f\u7206\u53d1'; monthsAway=(12-month)+3; }\r\n    return { type:'preboost', text:`\u84c4\u80fd\u9ec4\u91d1\u671f \u00b7 \u8ddd${nextName}\u8fd8\u6709 ${monthsAway} \u4e2a\u6708`, resultText:`\u84c4\u80fd\u9ec4\u91d1\u671f\u8fdb\u884c\u4e2d \u00b7 \u8ddd${nextName}\u8fd8\u6709 ${monthsAway} \u4e2a\u6708 \u00b7 \u7acb\u5373\u84c4\u80fd`, label:'\u84c4\u80fd\u9ec4\u91d1\u671f', slotsBase:20 };\r\n  }\r\n}\r\n\r\nfunction goToStep(n) {\r\n  document.querySelectorAll('.cd-step').forEach(el => el.classList.remove('active'));\r\n  const target = document.querySelector(`.cd-step[data-step=\"${n}\"]`);\r\n  if (target) target.classList.add('active');\r\n  state.currentStep = n;\r\n  updateProgress();\r\n  document.getElementById('cdQuiz').scrollIntoView({ behavior:'smooth', block:'start' });\r\n  if (n === 7) setTimeout(() => generateResult(), 2500);\r\n  if (n === 10) setupSuccessPage();\r\n  if (n === 9) { \r\n    document.getElementById('formCity').value = state.answers.city || ''; \r\n    updateDynamicSlots(); \r\n    updatePhonePlaceholder();\r\n  }\r\n}\r\n\r\nfunction updateProgress() {\r\n  let pct = state.currentStep === 0 ? 0 : state.currentStep >= 1 && state.currentStep <= 6 ? (state.currentStep\/totalSteps)*100 : state.currentStep === 7 ? 95 : 100;\r\n  document.getElementById('progressFill').style.width = pct + '%';\r\n  const labels = ['\u51c6\u5907\u5f00\u59cb','\u57fa\u7840\u4fe1\u606f','\u9057\u4f20\u6f5c\u529b','\u751f\u957f\u901f\u5ea6','\u751f\u6d3b\u4e60\u60ef','\u6838\u5fc3\u62c5\u5fe7','\u6240\u5728\u57ce\u5e02','\u5206\u6790\u4e2d...','\u67e5\u770b\u62a5\u544a','\u586b\u5199\u9884\u7ea6','\u5b8c\u6210'];\r\n  document.getElementById('progressText').textContent = `${labels[state.currentStep]||''} \u00b7 ${Math.round(pct)}%`;\r\n}\r\n\r\nfunction selectOption(el, key, value) {\r\n  const parent = el.parentElement;\r\n  parent.querySelectorAll('.cd-option').forEach(opt => opt.classList.remove('selected'));\r\n  el.classList.add('selected');\r\n  state.answers[key] = value;\r\n  const btn = document.getElementById('btn' + state.currentStep);\r\n  if (btn) btn.disabled = false;\r\n  showTip(state.currentStep);\r\n}\r\n\r\nfunction toggleMulti(el, key, value) {\r\n  if (value === 'none') {\r\n    el.parentElement.querySelectorAll('.cd-option').forEach(opt => { if (opt !== el) opt.classList.remove('selected'); });\r\n    el.classList.add('selected');\r\n    state.answers[key] = ['none'];\r\n  } else {\r\n    const noneOpt = Array.from(el.parentElement.querySelectorAll('.cd-option')).find(o => o.querySelector('.cd-option-title') && o.querySelector('.cd-option-title').textContent.includes('\u4ee5\u4e0a\u90fd\u6ca1\u6709'));\r\n    if (noneOpt) noneOpt.classList.remove('selected');\r\n    el.classList.toggle('selected');\r\n    const arr = [];\r\n    el.parentElement.querySelectorAll('.cd-option.selected').forEach(opt => {\r\n      const t = opt.getAttribute('onclick');\r\n      const match = t.match(\/toggleMulti\\(this, 'habits', '(.+?)'\\)\/);\r\n      if (match && match[1] !== 'none') arr.push(match[1]);\r\n    });\r\n    state.answers[key] = arr;\r\n  }\r\n  const btn = document.getElementById('btn' + state.currentStep);\r\n  if (btn) btn.disabled = !(state.answers[key] && state.answers[key].length > 0);\r\n}\r\n\r\nfunction showTip(stepNum) {\r\n  const tip = document.getElementById('tip' + stepNum);\r\n  if (tip) tip.classList.add('show');\r\n}\r\n\r\nfunction validateStep1() {\r\n  const g = document.getElementById('childGender').value;\r\n  const a = parseFloat(document.getElementById('childAge').value);\r\n  const h = parseFloat(document.getElementById('childHeight').value);\r\n  const w = document.getElementById('childWeight').value;\r\n  let valid = true;\r\n  if (!g) { valid = false; document.getElementById('err-gender').classList.add('show'); }\r\n  else { document.getElementById('err-gender').classList.remove('show'); state.answers.gender = g; }\r\n  const ageEl = document.getElementById('childAge');\r\n  if (!a || a < 3 || a > 18) { valid = false; ageEl.classList.add('error'); document.getElementById('err-age').classList.add('show'); }\r\n  else { ageEl.classList.remove('error'); document.getElementById('err-age').classList.remove('show'); state.answers.age = a; }\r\n  const hEl = document.getElementById('childHeight');\r\n  if (!h || h < 80 || h > 200) { valid = false; hEl.classList.add('error'); document.getElementById('err-height').classList.add('show'); }\r\n  else { hEl.classList.remove('error'); document.getElementById('err-height').classList.remove('show'); state.answers.height = h; }\r\n  const wEl = document.getElementById('childWeight');\r\n  if (w && w !== '') { const wv = parseFloat(w); if (wv < 10 || wv > 100) { valid = false; wEl.classList.add('error'); document.getElementById('err-weight').classList.add('show'); } else { wEl.classList.remove('error'); document.getElementById('err-weight').classList.remove('show'); state.answers.weight = wv; } }\r\n  else { wEl.classList.remove('error'); document.getElementById('err-weight').classList.remove('show'); }\r\n  document.getElementById('btn1').disabled = !valid;\r\n  if (valid) showTip(1);\r\n}\r\n\r\nfunction validateStep2() {\r\n  const f = parseFloat(document.getElementById('fatherHeight').value);\r\n  const m = parseFloat(document.getElementById('motherHeight').value);\r\n  let valid = true;\r\n  const fEl = document.getElementById('fatherHeight');\r\n  if (!f || f < 140 || f > 220) { valid = false; fEl.classList.add('error'); document.getElementById('err-father').classList.add('show'); }\r\n  else { fEl.classList.remove('error'); document.getElementById('err-father').classList.remove('show'); state.answers.fatherH = f; }\r\n  const mEl = document.getElementById('motherHeight');\r\n  if (!m || m < 140 || m > 200) { valid = false; mEl.classList.add('error'); document.getElementById('err-mother').classList.add('show'); }\r\n  else { mEl.classList.remove('error'); document.getElementById('err-mother').classList.remove('show'); state.answers.motherH = m; }\r\n  document.getElementById('btn2').disabled = !valid;\r\n  if (valid) showTip(2);\r\n}\r\n\r\nfunction validateStep6() {\r\n  const city = document.getElementById('cityInput').value.trim();\r\n  const el = document.getElementById('cityInput');\r\n  if (!city || city.length < 2) { el.classList.add('error'); document.getElementById('err-city').classList.add('show'); document.getElementById('btn6').disabled = true; }\r\n  else { el.classList.remove('error'); document.getElementById('err-city').classList.remove('show'); state.answers.city = city; document.getElementById('btn6').disabled = false; }\r\n}\r\n\r\nfunction updatePhonePlaceholder() {\r\n  const code = document.getElementById('countryCode').value;\r\n  const input = document.getElementById('parentPhone');\r\n  const placeholders = {\r\n    '+60': '\u4f8b\u5982\uff1a12-3456789', '+65': '\u4f8b\u5982\uff1a8123-4567', '+86': '\u4f8b\u5982\uff1a138-1234-5678',\r\n    '+62': '\u4f8b\u5982\uff1a812-3456-7890', '+66': '\u4f8b\u5982\uff1a81-234-5678', '+852': '\u4f8b\u5982\uff1a5123-4567', '+886': '\u4f8b\u5982\uff1a912-345-678'\r\n  };\r\n  input.placeholder = placeholders[code] || '\u8bf7\u8f93\u5165\u7535\u8bdd\u53f7\u7801';\r\n}\r\n\r\nfunction validatePhone() {\r\n  const phone = document.getElementById('parentPhone').value.trim();\r\n  const group = document.getElementById('phoneGroup');\r\n  if (!phone || phone.length < 6) {\r\n    group.classList.add('error');\r\n    document.getElementById('err-phone').classList.add('show');\r\n  } else {\r\n    group.classList.remove('error');\r\n    document.getElementById('err-phone').classList.remove('show');\r\n  }\r\n}\r\n\r\nfunction togglePrivacyError() {\r\n  const checked = document.getElementById('privacyCheck').checked;\r\n  const err = document.getElementById('err-privacy');\r\n  if (checked) err.classList.remove('show');\r\n}\r\n\r\nfunction calculateAndShow() { goToStep(7); }\r\n\r\nfunction generateResult() {\r\n  const a = state.answers;\r\n  let targetMid, targetMin, targetMax;\r\n  if (a.gender === 'boy') targetMid = (a.fatherH + a.motherH + 13) \/ 2;\r\n  else targetMid = (a.fatherH + a.motherH - 13) \/ 2;\r\n  targetMin = targetMid - 8.5; targetMax = targetMid + 8.5;\r\n  let boostPotential;\r\n  if (a.height >= targetMax) {\r\n    boostPotential = a.height + (a.gender === 'boy' ? 3 : 2);\r\n  } else {\r\n    boostPotential = targetMax + (a.gender === 'boy' ? 5 : 4);\r\n  }\r\n\r\n  let growthLabel, growthScore;\r\n  switch(a.growth) { case 'slow': growthLabel='\u504f\u6162'; growthScore=1; break; case 'normal': growthLabel='\u4e2d\u7b49'; growthScore=2; break; case 'good': growthLabel='\u6b63\u5e38'; growthScore=3; break; case 'excellent': growthLabel='\u826f\u597d'; growthScore=4; break; default: growthLabel='\u672a\u77e5'; growthScore=2; }\r\n\r\n  const riskFactors = a.habits.filter(h => h !== 'none');\r\n  const riskCount = riskFactors.length;\r\n\r\n  let phase, phaseClass, phaseTitle, phaseDesc, badgeText;\r\n  const age = a.age;\r\n  const heightGap = a.height - targetMid;\r\n\r\n  if (age <= 10 && growthScore >= 3 && riskCount <= 1) {\r\n    phase='gold'; phaseClass='gold'; badgeText='\ud83c\udf1f \u9ec4\u91d1\u671f'; phaseTitle='\u5b69\u5b50\u6b63\u5904\u4e8e\u300c\u9ec4\u91d1\u751f\u957f\u671f\u300d'; phaseDesc='\u751f\u957f\u6761\u4ef6\u826f\u597d\uff0c\u5efa\u8bae\u901a\u8fc7365+\u84c4\u80fd\u671f\u63d0\u524d\u8c03\u7406\uff0c\u57283\u6708\/9\u6708\u7206\u53d1\u7a97\u53e3\u5b9e\u73b0\u9057\u4f20\u4e0a\u9650\u7a81\u7834\u3002';\r\n  } else if ((age > 10 && age <= 14) || growthScore <= 2 || riskCount >= 2 || heightGap < -5) {\r\n    if (age > 14 || heightGap < -8 || growthScore === 1) {\r\n      phase='chase'; phaseClass='chase'; badgeText='\u26a1 \u8ffd\u8d76\u671f'; phaseTitle='\u5b69\u5b50\u5904\u4e8e\u300c\u5173\u952e\u8ffd\u8d76\u671f\u300d'; phaseDesc='\u751f\u957f\u7a97\u53e3\u6b63\u5728\u6536\u7a84\uff0c\u9700\u7acb\u5373\u542f\u52a8365+\u7cfb\u7edf\u3002\u901a\u8fc7\u300c\u5148\u4fee\u8def\u540e\u5f00\u8f66\u300d\u7b56\u7565\uff0c\u5728\u975e\u7206\u53d1\u671f\u84c4\u80fd\uff0c\u4e0b\u4e00\u4e2a\u8282\u6c14\u5168\u529b\u51b2\u523a\u3002';\r\n    } else {\r\n      phase='key'; phaseClass='key'; badgeText='\ud83d\udd11 \u5173\u952e\u671f'; phaseTitle='\u5b69\u5b50\u5904\u4e8e\u300c\u6210\u957f\u5173\u952e\u671f\u300d'; phaseDesc='\u751f\u957f\u901f\u5ea6\u6216\u751f\u6d3b\u4e60\u60ef\u5b58\u5728\u4f18\u5316\u7a7a\u95f4\uff0c\u5efa\u8bae\u5c3d\u5feb\u8bc4\u4f30\u9aa8\u9f84\uff0c\u5236\u5b9a\u4e2a\u6027\u5316365+\u5e72\u9884\u65b9\u6848\u3002';\r\n    }\r\n  } else {\r\n    phase='gold'; phaseClass='gold'; badgeText='\ud83c\udf1f \u9ec4\u91d1\u671f'; phaseTitle='\u5b69\u5b50\u6b63\u5904\u4e8e\u300c\u9ec4\u91d1\u751f\u957f\u671f\u300d'; phaseDesc='\u751f\u957f\u6761\u4ef6\u826f\u597d\uff0c\u5efa\u8bae\u901a\u8fc7365+\u84c4\u80fd\u671f\u63d0\u524d\u8c03\u7406\uff0c\u57283\u6708\/9\u6708\u7206\u53d1\u7a97\u53e3\u5b9e\u73b0\u9057\u4f20\u4e0a\u9650\u7a81\u7834\u3002';\r\n  }\r\n\r\n  const risks = [];\r\n  if (a.habits.includes('sleep')) risks.push({ icon:'\ud83c\udf19', title:'\u7761\u7720\u98ce\u9669\uff1a\u751f\u957f\u6fc0\u7d20\u5206\u6ccc\u7a97\u53e3\u4e0d\u8db3', text:'\u5b69\u5b50\u6df1\u7761\u7720\u65f6\u95f4\u53ef\u80fd\u4e0d\u8db3\uff0c\u5bfc\u81f4\u591c\u95f4\u751f\u957f\u6fc0\u7d20\uff08GH\uff09\u8109\u51b2\u5206\u6ccc\u5cf0\u503c\u4e0b\u964d\u3002', tcm:'\u8bda\u5fb7\u9488\u7078+\u8033\u7a74\u53ef\u4f18\u5316\u7761\u7720\u5468\u671f\uff0c\u63d0\u5347\u6df1\u7761\u671fGH\u5206\u6ccc\uff1b\u914d\u5408\u818f\u65b9\u5b89\u795e\u56fa\u672c\u3002' });\r\n  if (a.habits.includes('diet')) risks.push({ icon:'\ud83c\udf7d\ufe0f', title:'\u813e\u80c3\u98ce\u9669\uff1a\u8425\u517b\u5438\u6536\u7387\u4f4e\u4e0b', text:'\u6311\u98df\u3001\u4fbf\u79d8\u6216\u8179\u80c0\u63d0\u793a\u813e\u80c3\u8fd0\u5316\u529f\u80fd\u5f31\uff0c\u300c\u540e\u5929\u4e4b\u672c\u300d\u5931\u517b\uff0c\u8865\u518d\u591a\u4e5f\u5438\u6536\u4e0d\u4e86\u3002', tcm:'365+\u84c4\u80fd\u671f\u8336\u7597+\u98df\u7597\u5148\u300c\u4fee\u8def\u300d\uff0c\u8c03\u7406\u813e\u80c3\u8fd0\u5316\uff0c\u4e3a\u8f6c\u9aa8\u7206\u53d1\u671f\u63d0\u534750%\u4ee5\u4e0a\u5438\u6536\u7387\u3002' });\r\n  if (a.habits.includes('exercise')) risks.push({ icon:'\ud83c\udfc3', title:'\u9aa8\u9abc\u523a\u6fc0\u4e0d\u8db3\uff1a\u751f\u957f\u677f\u6d3b\u6027\u4f4e', text:'\u7f3a\u4e4f\u7eb5\u5411\u8fd0\u52a8\u5bfc\u81f4\u9aa8\u9abc\u673a\u68b0\u5e94\u529b\u4e0d\u8db3\uff0c\u751f\u957f\u677f\u8f6f\u9aa8\u7ec6\u80de\u589e\u6b96\u53d7\u9650\u3002', tcm:'\u8f6c\u9aa8\u671f\u914d\u5408\u9488\u7078\u758f\u901a\u7ecf\u7edc\uff0c\u4fc3\u8fdb\u6c14\u8840\u8fd0\u884c\uff1b\u533b\u5e08\u6307\u5bfc\u7eb5\u5411\u8fd0\u52a8\u5904\u65b9\u3002' });\r\n  if (a.habits.includes('stress')) risks.push({ icon:'\ud83d\ude30', title:'\u60c5\u7eea\u98ce\u9669\uff1a\u809d\u6c14\u90c1\u7ed3\u5f71\u54cd\u5185\u5206\u6ccc', text:'\u957f\u671f\u538b\u529b\u5bfc\u81f4\u76ae\u8d28\u9187\u5347\u9ad8\uff0c\u6291\u5236\u751f\u957f\u6fc0\u7d20\u5206\u6ccc\uff0c\u5f62\u6210\u300c\u538b\u529b\u6027\u751f\u957f\u505c\u6ede\u300d\u3002', tcm:'\u758f\u809d\u89e3\u90c1\u65b9+\u8033\u7a74\u9547\u9759\uff0c\u8c03\u8282\u4e0b\u4e18\u8111-\u5782\u4f53-\u6027\u817a\u8f74\uff0c\u6062\u590d\u5185\u5206\u6ccc\u5e73\u8861\u3002' });\r\n  if (a.habits.includes('sick')) risks.push({ icon:'\ud83e\udd27', title:'\u4f53\u8d28\u98ce\u9669\uff1a\u9891\u7e41\u751f\u75c5\u4e2d\u65ad\u751f\u957f', text:'\u53cd\u590d\u611f\u5192\u53d1\u70ed\u6d88\u8017\u751f\u957f\u80fd\u91cf\uff0c\u4e14\u7528\u836f\uff08\u5c24\u5176\u6297\u751f\u7d20\uff09\u53ef\u80fd\u6270\u4e71\u80a0\u9053\u83cc\u7fa4\u4e0e\u8425\u517b\u5438\u6536\u3002', tcm:'365+\u914d\u5957\u542b5\u6b21\u611f\u5192\u9632\u6cbb\uff0c\u818f\u65b9\u56fa\u672c\u57f9\u5143\u63d0\u5347\u536b\u5916\u80fd\u529b\uff0c\u51cf\u5c11\u751f\u75c5\u4e2d\u65ad\u3002' });\r\n  if (risks.length === 0) risks.push({ icon:'\u2705', title:'\u72b6\u6001\u826f\u597d\uff1a\u5efa\u8bae\u63d0\u524d\u84c4\u80fd', text:'\u5b69\u5b50\u76ee\u524d\u751f\u6d3b\u4e60\u60ef\u65e0\u660e\u663e\u98ce\u9669\u70b9\uff0c\u6b63\u662f\u300c\u5148\u4fee\u8def\u540e\u5f00\u8f66\u300d\u7684\u6700\u4f73\u65f6\u673a\u3002', tcm:'\u84c4\u80fd\u9ec4\u91d1\u671f\u901a\u8fc7\u8336\u7597+\u98df\u7597\u5fae\u8c03\u4f53\u8d28\uff0c\u57283\u6708\/9\u6708\u7206\u53d1\u671f\u5b9e\u73b0\u300c\u6ee1\u6cb9\u51b2\u523a\u300d\u3002' });\r\n\r\n  let tcmText = '';\r\n  const hasBrokenLimit = a.height >= targetMax;\r\n  if (hasBrokenLimit) {\r\n    if (a.habits.includes('diet') || a.habits.includes('sick')) {\r\n      tcmText = '\u5b69\u5b50\u5f53\u524d\u8eab\u9ad8\u5df2\u7a81\u7834\u9057\u4f20\u4e0a\u9650\uff0c\u8868\u73b0\u4f18\u5f02\uff01\u8bda\u5fb7365+\u7cfb\u7edf\u5efa\u8bae\u8fdb\u5165\u300c\u5de9\u56fa\u6df1\u8015\u671f\u300d\uff1a\u901a\u8fc7\u8336\u7597+\u98df\u7597\u8c03\u7406\u813e\u80c3\u8fd0\u5316\uff0c\u914d\u5408\u6bcf\u6708\u4f53\u8d28\u56de\u8bca\uff0c\u5de9\u56fa\u73b0\u6709\u4f18\u52bf\u5e76\u5411\u6700\u4f73\u7ec8\u8eab\u9ad8\u903c\u8fd1\uff0c\u9632\u6b62\u751f\u957f\u52bf\u5934\u56de\u843d\u3002';\r\n    } else if (a.habits.includes('sleep') || a.habits.includes('stress')) {\r\n      tcmText = '\u5b69\u5b50\u5f53\u524d\u8eab\u9ad8\u5df2\u7a81\u7834\u9057\u4f20\u4e0a\u9650\uff0c\u8868\u73b0\u4f18\u5f02\uff01\u8bda\u5fb7365+\u7cfb\u7edf\u5efa\u8bae\u901a\u8fc7\u9488\u7078+\u8033\u7a74\u4f18\u5316\u7761\u7720\u4e0e\u60c5\u7eea\u8282\u5f8b\uff0c\u914d\u5408\u5b9a\u5236\u818f\u65b9\u6301\u7eed\u8865\u80be\u758f\u809d\uff0c\u786e\u4fdd\u751f\u957f\u677f\u5728\u95ed\u5408\u524d\u5145\u5206\u53d1\u6325\u6700\u540e\u6f5c\u529b\u3002';\r\n    } else {\r\n      tcmText = '\u5b69\u5b50\u5f53\u524d\u8eab\u9ad8\u5df2\u7a81\u7834\u9057\u4f20\u4e0a\u9650\uff0c\u8868\u73b0\u4f18\u5f02\uff01\u8bda\u5fb7365+\u7cfb\u7edf\u5efa\u8bae\u7acb\u5373\u8fdb\u5165\u300c\u5de9\u56fa\u6df1\u8015\u671f\u300d\uff1a\u901a\u8fc7\u818f\u65b9+\u8336\u7597+\u98df\u7597\u7ef4\u6301\u6700\u4f73\u72b6\u6001\uff0c\u4ee5\u4e13\u65b9\u51b2\u5242+\u9488\u7078+\u836f\u81b3\u4e09\u7ef4\u5e72\u9884\uff0c\u5411\u6700\u4f73\u7ec8\u8eab\u9ad8\u903c\u8fd1\u5e76\u9632\u6b62\u56de\u843d\u3002';\r\n    }\r\n  } else {\r\n    if (a.habits.includes('diet') || a.habits.includes('sick')) tcmText = '\u6839\u636e\u60a8\u5b69\u5b50\u7684\u60c5\u51b5\uff0c\u8bda\u5fb7365+\u7cfb\u7edf\u5efa\u8bae\u5148\u8fdb\u5165\u300c\u84c4\u80fd\u9ec4\u91d1\u671f\u300d\uff1a\u901a\u8fc7\u8336\u7597+\u98df\u7597\u8c03\u7406\u813e\u80c3\u8fd0\u5316\uff0c\u914d\u5408\u6bcf\u67081\u6b21\u4f53\u8d28\u56de\u8bca\u3002\u5f85\u4e0b\u4e00\u4e2a3\u6708\/9\u6708\u300c\u8f6c\u9aa8\u7206\u53d1\u671f\u300d\u542f\u52a8\u4e13\u65b9\u51b2\u5242+\u9488\u7078\u7406\u7597\uff0c\u5438\u6536\u7387\u53ef\u63d0\u534750%\u4ee5\u4e0a\u3002';\r\n    else if (a.habits.includes('sleep') || a.habits.includes('stress')) tcmText = '\u6839\u636e\u60a8\u5b69\u5b50\u7684\u60c5\u51b5\uff0c\u8bda\u5fb7365+\u7cfb\u7edf\u5efa\u8bae\u901a\u8fc7\u9488\u7078+\u8033\u7a74\u4f18\u5316\u7761\u7720\u4e0e\u60c5\u7eea\u8282\u5f8b\uff0c\u914d\u5408\u5b9a\u5236\u818f\u65b9\u5728\u975e\u7206\u53d1\u671f\u6301\u7eed\u8865\u80be\u758f\u809d\u3002\u591c\u95f4\u751f\u957f\u6fc0\u7d20\u5206\u6ccc\u5cf0\u503c\u63d0\u5347\u540e\uff0c\u8f6c\u9aa8\u836f\u81b3\u4e0e\u51b2\u5242\u7684\u751f\u7269\u5229\u7528\u5ea6\u5c06\u663e\u8457\u589e\u5f3a\u3002';\r\n    else tcmText = '\u5b69\u5b50\u76ee\u524d\u57fa\u7840\u6761\u4ef6\u826f\u597d\uff0c\u8bda\u5fb7365+\u7cfb\u7edf\u5efa\u8bae\u7acb\u5373\u8fdb\u5165\u300c\u84c4\u80fd\u9ec4\u91d1\u671f\u300d\u50a8\u5907\u80fd\u91cf\u3002\u901a\u8fc7\u818f\u65b9+\u8336\u7597+\u98df\u7597\u7ef4\u6301\u6700\u4f73\u72b6\u6001\uff0c\u57283\u6708\/9\u6708\u300c\u8f6c\u9aa8\u7206\u53d1\u671f\u300d\u4ee5\u4e13\u65b9\u51b2\u5242+\u9488\u7078+\u836f\u81b3\u4e09\u7ef4\u5e72\u9884\uff0c\u5411\u9057\u4f20\u4e0a\u9650\u903c\u8fd1\u751a\u81f3\u7a81\u7834\u3002';\r\n  }\r\n\r\n  state.result = { targetMid, targetMin, targetMax, boostPotential, phase, phaseClass, phaseTitle, phaseDesc, badgeText, risks, tcmText, growthLabel };\r\n  renderResult();\r\n  goToStep(8);\r\n}\r\n\r\n\/* ================= \u6e32\u67d3\u7ed3\u679c\u9875 - \u4e0a\u4e0b\u4ea4\u9519\u56fe\u8868 ================= *\/\r\nfunction renderResult() {\r\n  const r = state.result;\r\n  const a = state.answers;\r\n  const info = getPeriodInfo();\r\n\r\n  const pill = document.getElementById('resultPeriodPill');\r\n  const pillText = document.getElementById('resultPeriodText');\r\n  if (pill && pillText) {\r\n    pill.className = 'cd-period-pill ' + info.type;\r\n    pillText.textContent = info.resultText;\r\n  }\r\n\r\n  document.getElementById('resultBadge').textContent = r.badgeText;\r\n  document.getElementById('resultBadge').className = 'cd-result-badge ' + r.phaseClass;\r\n  document.getElementById('resultTitle').textContent = r.phaseTitle;\r\n  document.getElementById('resultSubtitle').textContent = r.phaseDesc;\r\n  document.getElementById('tcmText').textContent = r.tcmText;\r\n\r\n  updateDynamicSlots();\r\n\r\n  \/\/ \u56fe\u8868 v5\uff1a\u4e0a\u4e0b\u4ea4\u9519\u6392\u5217\r\n  const chart = document.getElementById('growthChartV5');\r\n  chart.innerHTML = '';\r\n\r\n  \/\/ \u8ba1\u7b97\u6570\u503c\u8303\u56f4\r\n  const allValues = [a.height, r.targetMin, r.targetMid, r.targetMax, r.boostPotential];\r\n  const minVal = Math.min(...allValues) - 5;\r\n  const maxVal = Math.max(...allValues) + 5;\r\n  const range = maxVal - minVal;\r\n\r\n  function pos(val) {\r\n    return ((val - minVal) \/ range) * 100;\r\n  }\r\n\r\n  \/\/ \u5b9a\u4e495\u4e2a\u6807\u8bb0\uff0c\u5206\u914d\u4e0a\u4e0b\u4f4d\u7f6e\r\n  \/\/ \u4e0a\u65b9\uff1a\u5f53\u524d\u8eab\u9ad8\uff08\u7ea2\u8272\uff09\u3001365+\u4f18\u5316\u6f5c\u529b\uff08\u91d1\u8272\uff09- \u6700\u91cd\u8981\u7684\u4e24\u4e2a\r\n  \/\/ \u4e0b\u65b9\uff1a\u9057\u4f20\u4e0b\u9650\u3001\u9057\u4f20\u4e2d\u503c\u3001\u9057\u4f20\u4e0a\u9650\r\n  const rawMarks = [\r\n    { label: '\u5b69\u5b50\u5f53\u524d\u8eab\u9ad8', value: a.height + 'cm', desc: '\u5b9e\u6d4b\u503c', cls: 'current', num: a.height },\r\n    { label: '\u9057\u4f20\u4e0b\u9650', value: r.targetMin.toFixed(1) + 'cm', desc: '\u4e0d\u5e72\u9884\u53ef\u80fd\u8fbe\u5230', cls: 'target', num: r.targetMin },\r\n    { label: '\u9057\u4f20\u4e2d\u503c', value: r.targetMid.toFixed(1) + 'cm', desc: '\u81ea\u7136\u751f\u957f\u9884\u671f', cls: 'target', num: r.targetMid },\r\n    { label: '\u9057\u4f20\u4e0a\u9650', value: r.targetMax.toFixed(1) + 'cm', desc: '\u81ea\u7136\u751f\u957f\u6781\u9650', cls: 'target', num: r.targetMax },\r\n    { label: '365+\u4f18\u5316\u6f5c\u529b', value: r.boostPotential.toFixed(1) + 'cm', desc: a.height >= r.targetMax ? '\u5de9\u56fa+\u5fae\u589e' : '\u4e2d\u533b\u8c03\u7406\u7a81\u7834\u503c', cls: 'boost', num: r.boostPotential }\r\n  ];\r\n  rawMarks.sort((a, b) => a.num - b.num);\r\n  const marks = rawMarks.map((m) => {\r\n    let pos = 'bottom';\r\n    if (m.cls === 'current' || m.cls === 'boost') pos = 'top';\r\n    return { ...m, position: pos };\r\n  });\r\n\r\n  marks.forEach(m => {\r\n    const div = document.createElement('div');\r\n    div.className = 'cd-ruler-mark-' + m.position + ' ' + m.cls;\r\n    div.style.left = pos(m.num) + '%';\r\n    div.innerHTML = `\r\n      <div class=\"cd-mark-dot-v5 ${m.cls}\"><\/div>\r\n      <div class=\"cd-mark-label-v5\">${m.label}<\/div>\r\n      <div class=\"cd-mark-value-v5\">${m.value}<\/div>\r\n      <div class=\"cd-mark-desc-v5\">${m.desc}<\/div>\r\n    `;\r\n    chart.appendChild(div);\r\n  });\r\n\r\n  \/\/ \u98ce\u9669\u5361\u7247\r\n  const riskContainer = document.getElementById('riskCards');\r\n  riskContainer.innerHTML = '';\r\n  r.risks.slice(0, 2).forEach(risk => {\r\n    const card = document.createElement('div');\r\n    card.className = 'cd-risk-card';\r\n    card.innerHTML = `<h4>${risk.icon} ${risk.title}<\/h4><p>${risk.text}<\/p><span class=\"cd-tcm-tag\">${risk.tcm}<\/span>`;\r\n    riskContainer.appendChild(card);\r\n  });\r\n}\r\n\r\nfunction updateDynamicSlots() {\r\n  const info = getPeriodInfo();\r\n  const now = new Date();\r\n  const hours = now.getHours();\r\n  const slots = info.slotsBase + (hours % 8) - 4;\r\n  const els = document.querySelectorAll('#slotsLeft');\r\n  els.forEach(el => { if(el) el.textContent = Math.max(5, Math.min(28, slots)); });\r\n}\r\n\r\nfunction submitForm() {\r\n  const name = document.getElementById('parentName').value.trim();\r\n  const phone = document.getElementById('parentPhone').value.trim();\r\n  const time = document.getElementById('contactTime').value;\r\n  const privacy = document.getElementById('privacyCheck').checked;\r\n  let valid = true;\r\n\r\n  if (!name) { valid = false; document.getElementById('err-pname').classList.add('show'); }\r\n  else { document.getElementById('err-pname').classList.remove('show'); }\r\n\r\n  if (!phone || phone.length < 6) { \r\n    valid = false; \r\n    document.getElementById('phoneGroup').classList.add('error');\r\n    document.getElementById('err-phone').classList.add('show'); \r\n  }\r\n  else { \r\n    document.getElementById('phoneGroup').classList.remove('error');\r\n    document.getElementById('err-phone').classList.remove('show'); \r\n  }\r\n\r\n  if (!time) { valid = false; document.getElementById('err-time').classList.add('show'); }\r\n  else { document.getElementById('err-time').classList.remove('show'); }\r\n\r\n  if (!privacy) { \r\n    valid = false; \r\n    document.getElementById('err-privacy').style.display = 'block';\r\n    document.getElementById('err-privacy').classList.add('show'); \r\n  }\r\n  else { \r\n    document.getElementById('err-privacy').style.display = 'none';\r\n    document.getElementById('err-privacy').classList.remove('show'); \r\n  }\r\n\r\n  if (!valid) return;\r\n\r\n  const payload = {\r\n    parentName: name, \r\n    phone: document.getElementById('countryCode').value + phone, \r\n    whatsapp: document.getElementById('countryCode').value + phone,\r\n    contactTime: time, city: state.answers.city,\r\n    childName: document.getElementById('childName').value.trim(),\r\n    quizAnswers: state.answers, quizResult: state.result,\r\n    source: 'elementor_quiz', submittedAt: new Date().toISOString()\r\n  };\r\n  fetch('https:\/\/hook.us2.make.com\/c6g82m47xhdl9n280xfss6a8z2dwdtqa', {\r\n    method: 'POST',\r\n    body: JSON.stringify(payload),\r\n    headers: { 'Content-Type': 'application\/json' }\r\n  }).catch(err => console.error('\u63d0\u4ea4\u5931\u8d25:', err));\r\n  \r\n  goToStep(10);\r\n}\r\n\r\nfunction setupSuccessPage() {\r\n  const a = state.answers;\r\n  const code = document.getElementById('countryCode').value;\r\n  const phone = document.getElementById('parentPhone').value.trim();\r\n  let waNum = '60189768952';\r\n  let waMsg = `\u60a8\u597d\uff0c\u6211\u521a\u5b8c\u6210\u4e86\u8bda\u5fb7\u4e2d\u533b\u513f\u7ae5\u6210\u957f\u6f5c\u529b\u8bc4\u4f30\uff0c\u60f3\u9884\u7ea6\u9aa8\u9f84\u8bc4\u4f30\u3002\u5b69\u5b50${a.gender==='boy'?'\u7537':'\u5973'}\uff0c${a.age}\u5c81\uff0c\u5f53\u524d\u8eab\u9ad8${a.height}cm\u3002\u8bf7\u534f\u52a9\u5b89\u6392\uff0c\u8c22\u8c22\uff01`;\r\n  document.getElementById('waLink').href = `https:\/\/wa.me\/${waNum}?text=${encodeURIComponent(waMsg)}`;\r\n}\r\n\r\nupdateProgress();\r\nupdatePhonePlaceholder();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u8bda\u5fb7\u4e2d\u533b \u00b7 \u513f\u7ae5\u6210\u957f\u6f5c\u529b\u8bc4\u4f30 \u51c6\u5907\u5f00\u59cb \u00b7 0% \u8bda\u5fb7\u4e2d\u533b\u513f\u79d1\u4e13\u79d1 \u00b7 \u8f6c\u9aa8\u589e\u9ad8 365+ \u5168\u5468\u671f\u7cfb\u7edf \u6d4b\u6d4b\u60a8\u5b69\u5b50\u8fd8\u80fd\u957f\u591a\u9ad8\uff1f3\u5206\u949f\u89e3\u9501\u751f\u957f\u6f5c\u529b \u57fa\u4e8e\u9057\u4f20\u5b66\u9776\u8eab\u9ad8\u516c\u5f0f + \u4e2d\u533b\u4f53\u8d28\u8fa8\u8bc6 \u7cbe\u51c6\u5224\u65ad\u5b69\u5b50\u5904\u4e8e\u300c\u9ec4\u91d1\u671f \/ \u5173\u952e\u671f \/ \u8ffd\u8d76\u671f\u300d 70+ \u4e2a\u54c1\u724c\u5408\u4f5c\u4f19\u4f34 365+ \u5929\u5168\u5e74\u966a\u8dd1 2\u6b21 \u5e74\u5ea6\u7206\u53d1\u7a97\u53e3 \u7acb\u5373\u514d\u8d39\u6d4b\u8bd5 \u5df2\u4e3a 88 \u4f4d\u5bb6\u957f\u63d0\u4f9b\u4e13\u4e1a\u8bc4\u4f30\u5efa\u8bae \u514d\u8d23\u58f0\u660e\uff1a\u672c\u8bc4\u6d4b\u4ec5\u4f9b\u5bb6\u957f\u53c2\u8003\u4f7f\u7528\uff0c\u4e0d\u6784\u6210\u533b\u7597\u8bca\u65ad\u6216\u6cbb\u7597\u5efa\u8bae\u3002\u5177\u4f53\u8eab\u9ad8\u589e\u957f\u60c5\u51b5\u56e0\u4eba\u800c\u5f02\uff0c\u9700\u7ecf\u4e13\u4e1a\u533b\u5e08\u9762\u8bca\u8bc4\u4f30\u3002\u8bda\u5fb7\u4e2d\u533b\u4fdd\u7559\u6700\u7ec8\u8be0\u91ca\u6743\u3002 1\u5b69\u5b50\u7684\u57fa\u7840\u4fe1\u606f \u6211\u4eec\u5c06\u636e\u6b64\u8ba1\u7b97\u9057\u4f20\u9776\u8eab\u9ad8\u4e0e\u751f\u957f\u767e\u5206\u4f4d \u5b69\u5b50\u6027\u522b * \u8bf7\u9009\u62e9\u7537\u5b69\u5973\u5b69 \u8bf7\u9009\u62e9\u6027\u522b \u5b69\u5b50\u5e74\u9f84\uff08\u5c81\uff09* \u5e74\u9f84\u5fc5\u987b\u5728 3-18 \u5c81\u4e4b\u95f4 \u5f53\u524d\u8eab\u9ad8\uff08cm\uff09* \u8eab\u9ad8\u5fc5\u987b\u5728 80-200cm \u4e4b\u95f4 \u5f53\u524d\u4f53\u91cd\uff08kg\uff0c\u9009\u586b\uff09 \u4f53\u91cd\u5fc5\u987b\u5728 10-100kg \u4e4b\u95f4 \ud83d\udca1 \u533b\u5b66\u5c0f\u77e5\u8bc6\uff1a\u7537\u5b69\u9aa8\u9f84\u901a\u5e38\u6bd4\u5b9e\u9645\u5e74\u9f84\u665a1-2\u5e74\u95ed\u5408\uff0c\u5973\u5b69\u5219\u65e91-2\u5e74\u3002\u82e5\u5973\u5b698\u5c81\u524d\/\u7537\u5b699\u5c81\u524d\u51fa\u73b0\u7b2c\u4e8c\u6027\u5f81\uff0c\u9700\u8b66\u60d5\u6027\u65e9\u719f\u5bfc\u81f4\u9aa8\u9aba\u63d0\u524d\u95ed\u5408\u3002 \u4e0b\u4e00\u6b65 2\u7236\u6bcd\u8eab\u9ad8\uff08\u9057\u4f20\u6f5c\u529b\uff09 \u9057\u4f20\u5360\u8eab\u9ad8\u6f5c\u529b\u768470%\uff0c\u4f46\u540e\u5929\u8c03\u7406\u53ef\u7a81\u7834\u9057\u4f20\u9650\u5236 5-10cm&hellip;<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_theme","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-46518","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/pages\/46518","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/comments?post=46518"}],"version-history":[{"count":72,"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/pages\/46518\/revisions"}],"predecessor-version":[{"id":48434,"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/pages\/46518\/revisions\/48434"}],"wp:attachment":[{"href":"https:\/\/natureconceptcm.com\/zh\/wp-json\/wp\/v2\/media?parent=46518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}