Explorar o código

Merge remote-tracking branch 'origin/cfclub' into cfclub

# Conflicts:
#	cfc-backend/src/main/java/com/etotem/cfc/controller/DanAssessmentController.java
#	cfc-backend/src/main/java/com/etotem/cfc/controller/assessment/AssessmentAppointmentController.java
#	cfc-backend/src/main/java/com/etotem/cfc/service/AssessmentAppointmentService.java
#	cfc-backend/src/main/resources/schema.sql
#	cfc-frontend/components/HealthDimensionsSection.vue
#	cfc-frontend/components/member-detail-sections/mind-section.vue
#	cfc-frontend/pages/health/report-confirm.vue
#	cfc-frontend/pages/index/index.vue
#	cfc-frontend/pages/shop/address-edit/address-edit.vue
jiapu hai 3 meses
pai
achega
d03e992baf
Modificáronse 89 ficheiros con 11895 adicións e 1483 borrados
  1. 8 0
      cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java
  2. 2 13
      cfc-backend/src/main/java/com/etotem/cfc/controller/DanAssessmentController.java
  3. 41 15
      cfc-backend/src/main/java/com/etotem/cfc/controller/assessment/AssessmentAppointmentController.java
  4. 1 0
      cfc-backend/src/main/java/com/etotem/cfc/entity/AssessmentAppointment.java
  5. 1 0
      cfc-backend/src/main/java/com/etotem/cfc/entity/DanAssessmentExecution.java
  6. 15 9
      cfc-backend/src/main/java/com/etotem/cfc/service/AssessmentAppointmentService.java
  7. 2 1
      cfc-backend/src/main/java/com/etotem/cfc/service/DanAssessmentExecutionService.java
  8. 3 1
      cfc-backend/src/main/resources/schema.sql
  9. 1 0
      cfc-frontend/.npmrc
  10. 30 15
      cfc-frontend/components/FamilyRelationGraph.vue
  11. 2 2
      cfc-frontend/components/HealthDimensionsSection.vue
  12. 2 2
      cfc-frontend/components/RecommendedFeed.vue
  13. 5 1
      cfc-frontend/components/member-detail-sections/mind-section.vue
  14. 45 0
      cfc-frontend/fix-hbuilderx-scoped.js
  15. 21 0
      cfc-frontend/fix-postcss.sh
  16. 1 1
      cfc-frontend/main.js
  17. 351 906
      cfc-frontend/package-lock.json
  18. 17 7
      cfc-frontend/package.json
  19. 2 0
      cfc-frontend/pages/assessment/apply.vue
  20. 1 0
      cfc-frontend/pages/assessment/order.vue
  21. 1 1
      cfc-frontend/pages/health/physical-exam-detail.vue
  22. 18 11
      cfc-frontend/pages/health/report-confirm.vue
  23. 5 5
      cfc-frontend/pages/health/report-survey.vue
  24. 123 12
      cfc-frontend/pages/health/report-upload.vue
  25. 1 1
      cfc-frontend/pages/index/child-index.vue
  26. 1 1
      cfc-frontend/pages/index/index.vue
  27. 2 2
      cfc-frontend/pages/shop/address-edit/address-edit.vue
  28. 1 1
      cfc-frontend/pages/shop/payment/payment.vue
  29. 2 2
      cfc-frontend/pages/wisdom/wisdom_temp/training-hub.vue
  30. 6 2
      cfc-frontend/postcss.config.js
  31. 7 2
      cfc-frontend/vue.config.js
  32. 1 0
      cfc-langgraph/.gitignore
  33. 12 15
      cfc-langgraph/Dockerfile
  34. 10 1
      cfc-langgraph/app/graphs/chat_graph.py
  35. 19 48
      cfc-langgraph/app/memory/store.py
  36. 44 66
      cfc-langgraph/app/rag/retriever.py
  37. 3 3
      cfc-langgraph/app/rag/splitter.py
  38. 2 3
      cfc-langgraph/docker-compose.yml
  39. 1 1
      cfc-langgraph/pyproject.toml
  40. 1 1
      cfc-web/.last_build_commit
  41. 2 2
      cfc-web/package-lock.json
  42. 1 1
      cfc-web/package.json
  43. 237 0
      cfc-web/public/CHANGELOG-v1.0.md
  44. 238 1
      cfc-web/public/CHANGELOG.md
  45. 23 23
      docs/superpowers/PROJECT-OVERVIEW.md
  46. 383 0
      docs/superpowers/implementation-readiness-audit-and-execution-plan.md
  47. 199 0
      docs/superpowers/implementation-tickler.md
  48. 256 0
      docs/superpowers/plans/2026-07-21-unified-execution-plan.md
  49. 429 0
      docs/superpowers/plans/phase1-remaining.md
  50. 220 0
      docs/superpowers/tickets/TASK-P0-001-generation-refactor.md
  51. 246 0
      docs/superpowers/tickets/TASK-P0-002-wealth-dimension-split.md
  52. 1236 0
      web/cancer.html
  53. 1117 0
      web/cardio-cerebro.html
  54. 293 0
      web/css/style.css
  55. 1255 0
      web/diabetes.html
  56. 20 63
      web/geo-faq-1-allergy.html
  57. 20 63
      web/geo-faq-2-attention.html
  58. 20 63
      web/geo-faq-3-immunity.html
  59. BIN=BIN
      web/img/diagram_1_en.png
  60. BIN=BIN
      web/img/diagram_2_en.png
  61. BIN=BIN
      web/img/diagram_3_en.png
  62. BIN=BIN
      web/img/diagram_4_en.png
  63. BIN=BIN
      web/img/hero-family-bg.png
  64. BIN=BIN
      web/img/human-body.png
  65. 97 91
      web/index.html
  66. 72 0
      web/js/footer.js
  67. 250 0
      web/knowledge.html
  68. 1157 0
      web/osteoporosis.html
  69. 4 25
      web/plastic-health.html
  70. 10 0
      web/sales.html
  71. 1648 0
      web/uric-acid.html
  72. 132 0
      运营文案/小红书内容/发布数据复盘清单.md
  73. 118 0
      运营文案/小红书内容/小红书发布指南.md
  74. 77 0
      运营文案/小红书内容/第一篇-暑假没意思.md
  75. 92 0
      运营文案/小红书内容/第二篇-没意思背后.md
  76. 104 0
      运营文案/小红书内容/账号资料更新速查卡.md
  77. 451 0
      运营文案/小红书发布/AGENTS.md
  78. 72 0
      运营文案/小红书发布/_内容草稿/post2_content.txt
  79. BIN=BIN
      运营文案/小红书发布/_图片资源/bio_dropdown_v1.jpg
  80. BIN=BIN
      运营文案/小红书发布/_图片资源/bio_home_v1.jpg
  81. BIN=BIN
      运营文案/小红书发布/_图片资源/xhs_profile_bg_final.jpg
  82. BIN=BIN
      运营文案/小红书发布/_图片资源/xhs_profile_bg_final2.jpg
  83. BIN=BIN
      运营文案/小红书发布/_图片资源/xhs_profile_bg_final3.jpg
  84. BIN=BIN
      运营文案/小红书发布/_图片资源/xhs_profile_bg_v3.jpg
  85. BIN=BIN
      运营文案/小红书发布/_图片资源/xhs_profile_v1.jpg
  86. BIN=BIN
      运营文案/小红书发布/_过程文件/截图/xhs_publish_v2.jpg
  87. 172 0
      运营文案/小红书发布/内容方法论-六阶模型.md
  88. 152 0
      运营文案/小红书发布/发布日历.md
  89. 281 0
      运营文案/小红书发布计划.md

+ 8 - 0
cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java

@@ -5387,6 +5387,14 @@ try {
     } catch (Exception e) {
         log.warn("修改users.role失败(可能已修改): " + e.getMessage());
     }
+
+    // 迁移100: assessment_appointments表添加assessor_id(测评师角色分离)
+    ensureColumn("assessment_appointments", "assessor_id",
+            "BIGINT COMMENT '测评师ID(供应商体系), 替代guideId语义'");
+    // 迁移100: dan_assessment_executions表添加appointment_id
+    ensureColumn("dan_assessment_executions", "appointment_id",
+            "BIGINT COMMENT '关联assessment_appointments.id'");
+    log.info("迁移100: 已添加assessor_id和appointment_id字段");
     }
 
     private void runMigration82() {

+ 2 - 13
cfc-backend/src/main/java/com/etotem/cfc/controller/DanAssessmentController.java

@@ -167,25 +167,14 @@ public class DanAssessmentController {
     @PostMapping("/appointment/create")
     public Result<AssessmentAppointment> createAppointment(@RequestBody Map<String, Object> body) {
         Long userId = body.get("userId") != null ? Long.valueOf(body.get("userId").toString()) : null;
-        Long familyId = body.get("familyId") != null ? Long.valueOf(body.get("familyId").toString()) : null;
         Long childId = Long.valueOf(body.get("childId").toString());
-        // 兼容前端 teacherId / guideId 字段,允许为 null(系统安排)
-        Long guideId = null;
-        if (body.get("guideId") != null) {
-            guideId = Long.valueOf(body.get("guideId").toString());
-        } else if (body.get("teacherId") != null) {
-            guideId = Long.valueOf(body.get("teacherId").toString());
-        }
+        Long guideId = Long.valueOf(body.get("guideId").toString());
         Long packageId = body.get("packageId") != null ? Long.valueOf(body.get("packageId").toString()) : null;
         String appointmentDate = (String) body.get("appointmentDate");
         String appointmentTime = (String) body.get("appointmentTime");
-        String appointmentType = body.get("appointmentType") != null ? body.get("appointmentType").toString() : null;
-        Integer durationMinutes = body.get("durationMinutes") != null
-                ? Integer.valueOf(body.get("durationMinutes").toString()) : null;
         String notes = (String) body.get("notes");
         AssessmentAppointment appointment = appointmentService.createAppointment(
-                userId, familyId, childId, guideId, packageId,
-                appointmentDate, appointmentTime, appointmentType, durationMinutes, notes);
+                userId, childId, guideId, null, packageId, appointmentDate, appointmentTime, notes);
         return Result.success(appointment);
     }
 

+ 41 - 15
cfc-backend/src/main/java/com/etotem/cfc/controller/assessment/AssessmentAppointmentController.java

@@ -2,13 +2,13 @@ package com.etotem.cfc.controller.assessment;
 
 import com.etotem.cfc.common.Result;
 import com.etotem.cfc.entity.AssessmentAppointment;
-import com.etotem.cfc.entity.AssessmentExecution;
 import com.etotem.cfc.entity.AssessmentQuota;
+import com.etotem.cfc.entity.DanAssessmentExecution;
 import com.etotem.cfc.entity.User;
 import com.etotem.cfc.mapper.UserMapper;
 import com.etotem.cfc.service.AssessmentAppointmentService;
-import com.etotem.cfc.service.AssessmentExecutionService;
 import com.etotem.cfc.service.AssessmentQuotaService;
+import com.etotem.cfc.service.DanAssessmentExecutionService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.web.bind.annotation.*;
@@ -31,12 +31,12 @@ public class AssessmentAppointmentController {
     private AssessmentQuotaService quotaService;
 
     @Resource
-    private AssessmentExecutionService executionService;
+    private DanAssessmentExecutionService danAssessmentExecutionService;
 
     @Resource
     private UserMapper userMapper;
 
-    @Operation(summary = "创建评估预约")
+    @Operation(summary = "创建评估预约(含新执行记录)")
     @PostMapping("/create")
     public Result<Map<String, Object>> createAppointment(
             @RequestAttribute("userId") Long userId,
@@ -44,6 +44,7 @@ public class AssessmentAppointmentController {
 
         Long childId = body.get("childId") != null ? Long.valueOf(body.get("childId").toString()) : null;
         Long guideId = body.get("guideId") != null ? Long.valueOf(body.get("guideId").toString()) : null;
+        Long assessorId = body.get("assessorId") != null ? Long.valueOf(body.get("assessorId").toString()) : null;
         String appointmentDate = body.get("appointmentDate") != null ? body.get("appointmentDate").toString() : null;
         String appointmentTime = body.get("appointmentTime") != null ? body.get("appointmentTime").toString() : null;
         String notes = body.get("notes") != null ? body.get("notes").toString() : null;
@@ -52,6 +53,9 @@ public class AssessmentAppointmentController {
         if (childId == null || quotaId == null) {
             return Result.error("childId和quotaId不能为空");
         }
+        if (assessorId == null && guideId == null) {
+            return Result.error("assessorId或guideId必须提供一个");
+        }
 
         User user = userMapper.selectById(userId);
         if (user == null) return Result.error("用户不存在");
@@ -62,12 +66,25 @@ public class AssessmentAppointmentController {
             return Result.error("额度不足或已过期");
         }
 
-        AssessmentAppointment appointment = appointmentService.createAppointment(
-                userId, user.getFamilyId(), childId, guideId, null,
-                appointmentDate, appointmentTime, null, null, notes);
+        // 获取额度信息(含 familyId, productOrderId)
+        AssessmentQuota quota = quotaService.getById(quotaId);
+        if (quota == null) return Result.error("额度记录不存在");
 
-        // 创建执行记录
-        AssessmentExecution exec = executionService.create(quotaId, childId, appointment.getId());
+        // 创建预约
+        AssessmentAppointment appointment = appointmentService.createAppointment(
+                userId, childId, guideId, assessorId, null, appointmentDate, appointmentTime, notes);
+
+        // 创建新执行记录(dan_assessment_executions,含 assessor 角色)
+        Long finalAssessorId = assessorId != null ? assessorId : guideId;
+        DanAssessmentExecution exec = danAssessmentExecutionService.createExecution(
+                quota.getProductOrderId(), // assessmentOrderId 复用 shop productOrderId
+                childId,
+                quota.getFamilyId(),
+                quotaId,
+                finalAssessorId,
+                null, // plannerId(可选)
+                appointment.getId()
+        );
 
         Map<String, Object> result = new HashMap<>();
         result.put("appointmentId", appointment.getId());
@@ -77,17 +94,16 @@ public class AssessmentAppointmentController {
         return Result.success(result);
     }
 
-    @Operation(summary = "确认预约")
+    @Operation(summary = "确认预约(由指派的测评师确认)")
     @PostMapping("/confirm/{id}")
     public Result<Boolean> confirmAppointment(
             @RequestAttribute("userId") Long userId,
-            @RequestAttribute("role") String role,
             @PathVariable Long id) {
-        if (!"teacher".equals(role)) {
-            return Result.error("只有成长规划师可以确认预约");
-        }
         boolean success = appointmentService.confirmAppointment(id, userId);
-        return Result.success(success);
+        if (!success) {
+            return Result.error("确认失败,您不是被指派的测评师");
+        }
+        return Result.success(true);
     }
 
     @Operation(summary = "取消预约")
@@ -118,11 +134,21 @@ public class AssessmentAppointmentController {
         return Result.success(result);
     }
 
+    @Operation(summary = "测评师的预约列表")
+    @PostMapping("/assessor-list")
+    public Result<List<Map<String, Object>>> getAssessorAppointments(
+            @RequestAttribute("userId") Long userId) {
+        List<AssessmentAppointment> appointments = appointmentService.getByAssessorId(userId);
+        List<Map<String, Object>> result = appointments.stream().map(this::toMap).collect(Collectors.toList());
+        return Result.success(result);
+    }
+
     private Map<String, Object> toMap(AssessmentAppointment appt) {
         Map<String, Object> map = new HashMap<>();
         map.put("id", appt.getId());
         map.put("childId", appt.getChildId());
         map.put("guideId", appt.getGuideId());
+        map.put("assessorId", appt.getAssessorId());
         map.put("appointmentDate", appt.getAppointmentDate());
         map.put("appointmentTime", appt.getAppointmentTime());
         map.put("status", appt.getStatus());

+ 1 - 0
cfc-backend/src/main/java/com/etotem/cfc/entity/AssessmentAppointment.java

@@ -24,6 +24,7 @@ public class AssessmentAppointment implements Serializable {
     private Long teacherId;
     @TableField(insertStrategy = FieldStrategy.IGNORED)
     private Long guideId;
+    private Long assessorId; // 测评师ID(供应商体系)
     private Long packageId;
     private String appointmentDate;
     private String appointmentTime;

+ 1 - 0
cfc-backend/src/main/java/com/etotem/cfc/entity/DanAssessmentExecution.java

@@ -20,6 +20,7 @@ public class DanAssessmentExecution implements Serializable {
     private Long childId;
     private Long familyId;
     private Long quotaId;
+    private Long appointmentId; // 关联 assessment_appointments.id
 
     private Long assessorId;
     private String assessorStatus;

+ 15 - 9
cfc-backend/src/main/java/com/etotem/cfc/service/AssessmentAppointmentService.java

@@ -23,20 +23,17 @@ public class AssessmentAppointmentService extends ServiceImpl<AssessmentAppointm
     @Resource
     private EnergyService energyService;
 
-    public AssessmentAppointment createAppointment(Long userId, Long familyId, Long childId, Long guideId,
-                                                    Long packageId, String appointmentDate, String appointmentTime,
-                                                    String appointmentType, Integer durationMinutes, String notes) {
+    public AssessmentAppointment createAppointment(Long userId, Long childId, Long guideId,
+                                                    Long assessorId, Long packageId, String appointmentDate, String appointmentTime, String notes) {
         AssessmentAppointment appointment = new AssessmentAppointment();
         appointment.setUserId(userId);
-        appointment.setFamilyId(familyId);
         appointment.setChildId(childId);
         appointment.setGuideId(guideId);
+        appointment.setAssessorId(assessorId);
         appointment.setPackageId(packageId);
         appointment.setAppointmentDate(appointmentDate);
         appointment.setAppointmentTime(appointmentTime);
-        appointment.setTeacherId(guideId);
-        appointment.setAppointmentType(appointmentType);
-        appointment.setDurationMinutes(durationMinutes);
+        appointment.setTeacherId(assessorId != null ? assessorId : guideId);
         appointment.setStatus(0); // pending
         appointment.setNotes(notes);
         appointment.setCreatedAt(new Date());
@@ -54,10 +51,12 @@ public class AssessmentAppointmentService extends ServiceImpl<AssessmentAppointm
         return appointment;
     }
 
-    public boolean confirmAppointment(Long id, Long teacherId) {
+    public boolean confirmAppointment(Long id, Long userId) {
         AssessmentAppointment appointment = assessmentAppointmentMapper.selectById(id);
         if (appointment == null) return false;
-        if (!teacherId.equals(appointment.getGuideId())) return false;
+        // 允许被指派的测评师(assessorId)或规划师(guideId)确认
+        Long expectedId = appointment.getAssessorId() != null ? appointment.getAssessorId() : appointment.getGuideId();
+        if (!userId.equals(expectedId)) return false;
         appointment.setStatus(1); // confirmed
         appointment.setUpdatedAt(new Date());
         return assessmentAppointmentMapper.updateById(appointment) > 0;
@@ -105,6 +104,13 @@ public class AssessmentAppointmentService extends ServiceImpl<AssessmentAppointm
         return assessmentAppointmentMapper.selectList(wrapper);
     }
 
+    public List<AssessmentAppointment> getByAssessorId(Long assessorId) {
+        LambdaQueryWrapper<AssessmentAppointment> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(AssessmentAppointment::getAssessorId, assessorId);
+        wrapper.orderByDesc(AssessmentAppointment::getCreatedAt);
+        return assessmentAppointmentMapper.selectList(wrapper);
+    }
+
     public AssessmentAppointment confirmAppointmentByOrder(AssessmentOrder order) {
         AssessmentAppointment appointment = new AssessmentAppointment();
         appointment.setChildId(order.getChildId());

+ 2 - 1
cfc-backend/src/main/java/com/etotem/cfc/service/DanAssessmentExecutionService.java

@@ -29,7 +29,7 @@ public class DanAssessmentExecutionService {
      */
     @Transactional
     public DanAssessmentExecution createExecution(Long assessmentOrderId, Long childId, Long familyId,
-            Long quotaId, Long assessorId, Long plannerId) {
+            Long quotaId, Long assessorId, Long plannerId, Long appointmentId) {
         DanAssessmentExecution exec = new DanAssessmentExecution();
         exec.setAssessmentOrderId(assessmentOrderId);
         exec.setChildId(childId);
@@ -39,6 +39,7 @@ public class DanAssessmentExecutionService {
         exec.setAssessorStatus("pending");
         exec.setPlannerId(plannerId);
         exec.setPlannerStatus("pending");
+        exec.setAppointmentId(appointmentId);
         exec.setUserConfirmed(0);
         exec.setCreatedAt(new Date());
         exec.setUpdatedAt(new Date());

+ 3 - 1
cfc-backend/src/main/resources/schema.sql

@@ -321,7 +321,8 @@ CREATE TABLE IF NOT EXISTS assessment_appointments (
     child_id BIGINT COMMENT '孩子ID',
     teacher_id BIGINT COMMENT '教师ID',
     guide_id BIGINT COMMENT '规划师ID',
-    package_id BIGINT COMMENT '任务模板ID',
+    assessor_id BIGINT COMMENT '测评师ID(供应商体系)',
+    package_id BIGINT COMMENT '套餐ID',
     appointment_date VARCHAR(20) COMMENT '预约日期 yyyy-MM-dd',
     appointment_time VARCHAR(20) COMMENT '预约时间 HH:mm',
     duration_minutes INT COMMENT '测评时长',
@@ -2789,6 +2790,7 @@ CREATE TABLE IF NOT EXISTS `dan_assessment_executions` (
     `child_id` BIGINT NOT NULL COMMENT '孩子ID',
     `family_id` BIGINT NOT NULL COMMENT '家庭ID',
     `quota_id` BIGINT COMMENT '额度ID',
+    `appointment_id` BIGINT COMMENT '关联assessment_appointments.id',
     `assessor_id` BIGINT NOT NULL COMMENT '测评师userId',
     `assessor_status` ENUM('pending','completed','rejected') DEFAULT 'pending' COMMENT '测评师状态',
     `assessor_completed_at` DATETIME COMMENT '测评师完成时间',

+ 1 - 0
cfc-frontend/.npmrc

@@ -1 +1,2 @@
 legacy-peer-deps=true
+engine-strict=false

+ 30 - 15
cfc-frontend/components/FamilyRelationGraph.vue

@@ -219,17 +219,25 @@ export default {
     }
   },
   mounted: function() {
+    this._destroyed = false
     var self = this
-    this.dpr = uni.getSystemInfoSync().pixelRatio || 1
-
+    try {
+      this.dpr = uni.getSystemInfoSync().pixelRatio || 1
+    } catch (e) {
+      this.dpr = 1
+    }
     this.$nextTick(function() {
+      if (self._destroyed) return
       self.updateCanvasSize()
       self.$nextTick(function() {
-        self.initSimulation()
+        if (!self._destroyed) {
+          self.initSimulation()
+        }
       })
     })
   },
   beforeDestroy: function() {
+    this._destroyed = true
     this.stopSimulation()
   },
   methods: {
@@ -281,10 +289,13 @@ export default {
       }
     },
 
-    simulationTick: function() {
-      if (!this.isSimulating) return
-
-      var self = this
+simulationTick: function() {
+    if (!this.isSimulating) return
+    if (this._destroyed) {
+      this.isSimulating = false
+      return
+    }
+    var self = this
         var nodes = this.nodeData
         var edges = this.edges
       var p = this.physics
@@ -500,14 +511,16 @@ export default {
       }
     },
 
-    // 降级渲染 (CanvasContext)
-    renderLegacy: function() {
+    // WeChat mini-program compatible fallback renderer.
+  // Note: uni-app legacy canvas uses setFontSize(size), not setFont().
+  renderLegacy: function() {
+    if (this._destroyed) return
+    try {
       var ctx = uni.createCanvasContext('forceGraphCanvas', this)
       var self = this
 
       ctx.clearRect(0, 0, this.canvasWidth, this.canvasHeight)
 
-      // 边
       var edges = this.edges
       for (var i = 0; i < edges.length; i++) {
         var edge = edges[i]
@@ -522,7 +535,6 @@ export default {
         ctx.stroke()
       }
 
-      // 节点
       var nodes = this.nodeData
       for (var j = 0; j < nodes.length; j++) {
         var node = nodes[j]
@@ -542,18 +554,21 @@ export default {
         }
 
         ctx.setFillStyle(node.isSelf ? this.themeColor : '#4A5568')
-        ctx.font = 'bold ' + (r * 0.9) + 'px sans-serif'
+        ctx.setFontSize(Math.max(10, Math.round(r * 0.9)))
         ctx.setTextAlign('center')
         ctx.setTextBaseline('middle')
         ctx.fillText(node.displayName, node.x, node.y)
 
         ctx.setFillStyle(node.isSelf ? this.themeColor : '#94A3B8')
-        ctx.font = (r * 0.4) + 'px sans-serif'
-        ctx.fillText(node.nickname.substring(0, 3), node.x, node.y + r + 10)
+        ctx.setFontSize(Math.max(9, Math.round(r * 0.4)))
+        ctx.fillText((node.nickname || '').substring(0, 3), node.x, node.y + r + 10)
       }
 
       ctx.draw()
-    },
+    } catch (err) {
+      // Legacy canvas fallback must never crash page initialization.
+    }
+  },
 
     // ===== 交互 =====
 

+ 2 - 2
cfc-frontend/components/HealthDimensionsSection.vue

@@ -14,8 +14,8 @@
     <view v-else class="dimension-grid">
       <view
         class="dimension-item"
-        v-for="dim in displayDimensions"
-        :key="dim.dimension"
+        v-for="(dim, idx) in displayDimensions"
+        :key="idx"
         @click="goDimensionDetail(dim)">
         <text class="dimension-icon">{{ getDimIcon(dim.dimension || dim.key) }}</text>
         <text class="dimension-name">{{ dim.label }}</text>

+ 2 - 2
cfc-frontend/components/RecommendedFeed.vue

@@ -19,8 +19,8 @@
       <template v-else>
         <view
           class="feed-card"
-          v-for="item in displayItems"
-          :key="item.id + '-' + item.type"
+          v-for="(item, idx) in displayItems"
+          :key="idx"
           @click="$emit('itemClick', item)"
         >
           <!-- 商品卡片 -->

+ 5 - 1
cfc-frontend/components/member-detail-sections/mind-section.vue

@@ -42,7 +42,11 @@
       <view class="section-header">
         <text class="section-title">🎯 即将到来的里程碑</text>
       </view>
-      <view class="milestone-item" v-for="ms in milestones" :key="ms.id">
+      <view
+        class="milestone-item"
+        v-for="(ms, idx) in milestones"
+        :key="idx"
+      >
         <text class="milestone-title">{{ ms.title }}</text>
         <text class="milestone-date">{{ ms.date }}</text>
       </view>

+ 45 - 0
cfc-frontend/fix-hbuilderx-scoped.js

@@ -0,0 +1,45 @@
+#!/usr/bin/env node
+
+const fs = require('fs');
+const path = require('path');
+
+// HBuilderX 内部的 scoped.js 路径
+const SCOPED_FILE = '/Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/dist/stylePlugins/scoped.js';
+
+if (!fs.existsSync(SCOPED_FILE)) {
+  console.error('错误:找不到 HBuilderX 的 scoped.js 文件');
+  console.error(`路径:${SCOPED_FILE}`);
+  process.exit(1);
+}
+
+console.log(`正在修复 ${SCOPED_FILE}...`);
+
+let content = fs.readFileSync(SCOPED_FILE, 'utf8');
+
+// 修复 1: n.spaces.before = n.spaces.after = ''; (第 40 行)
+content = content.replace(
+  /n\.value = ' ';[\s\n]*n\.spaces\.before = n\.spaces\.after = '';/,
+  `n.value = ' ';\n            n.spaces = n.spaces || {}; n.spaces.before = ''; n.spaces.after = '';`
+);
+
+// 修复 2: n.value = n.spaces.before = n.spaces.after = ''; (::v-deep)
+content = content.replace(
+  /if \(n\.type === '::v-deep' \) \{[\s\n]*n\.value = n\.spaces\.before = n\.spaces\.after = '';[\s\n]*return false;[\s\n]*\}/,
+  `if (n.type === '::v-deep') {\n            n.value = '';\n            n.spaces = { before: '', after: '' };\n            return false;\n          }`
+);
+
+// 修复 3: node.spaces.after = '';
+content = content.replace(
+  /if \(node\) \{[\s\n]*node\.spaces\.after = '';[\s\n]\}/,
+  `if (node) {\n          node.spaces = node.spaces || {}; node.spaces.after = '';`
+);
+
+// 修复 4: selector.first.spaces.before = '';
+content = content.replace(
+  /selector\.first\.spaces\.before = '';/,
+  `if (selector.first && selector.first.spaces) { selector.first.spaces.before = ''; }`
+);
+
+fs.writeFileSync(SCOPED_FILE, content, 'utf8');
+
+console.log('✅ 修复完成!请重启 HBuilderX 并重新编译。');

+ 21 - 0
cfc-frontend/fix-postcss.sh

@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# 删除 node_modules 和 lock 文件
+echo "清理旧依赖..."
+rm -rf node_modules package-lock.json unpackage/dist
+
+# 创建 .npmrc 文件配置
+echo "配置 npm..."
+cat > .npmrc << 'NPMRC'
+legacy-peer-deps=true
+engine-strict=false
+NPMRC
+
+# 安装依赖
+echo "开始安装依赖..."
+npm install --legacy-peer-deps
+
+# 检查 postcss 版本
+echo ""
+echo "=== 检查结果 ==="
+npm list postcss @vue/compiler-sfc | grep -E "(postcss|compiler-sfc)" | head -10

+ 1 - 1
cfc-frontend/main.js

@@ -15,6 +15,6 @@ App.mpType = 'app'
 
 const app = new Vue({
   store,
-  ...App
+  render: h => h(App)
 })
 app.$mount()

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 351 - 906
cfc-frontend/package-lock.json


+ 17 - 7
cfc-frontend/package.json

@@ -9,11 +9,12 @@
     "test:coverage": "jest --coverage",
     "dev:h5": "cross-env NODE_ENV=development UNI_PLATFORM=h5 UNI_INPUT_DIR=. UNI_CLI_CONTEXT=. vue-cli-service uni-serve",
     "build:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 UNI_INPUT_DIR=. UNI_CLI_CONTEXT=. vue-cli-service uni-build",
+    "build:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin UNI_INPUT_DIR=. UNI_CLI_CONTEXT=. vue-cli-service uni-build",
     "postbuild": "node -e \"try{require('fs').unlinkSync('dist/dev/mp-weixin/custom-tab-bar/index.vue')}catch(e){};try{const c=require('./dist/dev/mp-weixin/project.config.json');c.setting=c.setting||{};c.setting.lazyCodeLoading='requiredComponents';require('fs').writeFileSync('./dist/dev/mp-weixin/project.config.json',JSON.stringify(c,null,2))}catch(e){}\""
   },
   "devDependencies": {
-    "@babel/core": "^7.29.7",
-    "@babel/preset-env": "^7.29.7",
+    "@babel/core": "^7.16.0",
+    "@babel/preset-env": "^7.16.0",
     "@dcloudio/uni-app": "^2.0.2-5010420260703001",
     "@dcloudio/uni-cli-i18n": "^2.0.2-5010420260703001",
     "@dcloudio/uni-cli-shared": "^2.0.2-5010420260703001",
@@ -23,19 +24,28 @@
     "@dcloudio/uni-mp-weixin": "^2.0.2-5010420260703001",
     "@dcloudio/uni-template-compiler": "^2.0.2-5010420260703001",
     "@dcloudio/webpack-uni-pages-loader": "^2.0.2-5010420260703001",
-    "@vue/cli-plugin-babel": "^5.0.9",
-    "@vue/cli-service": "^4.5.19",
+    "@vue/cli-plugin-babel": "~4.5.0",
+    "@vue/cli-service": "~4.5.0",
+    "@vue/compiler-sfc": "2.7.16",
     "babel-jest": "^26.6.3",
     "copy-webpack-plugin": "^5.1.2",
     "jest": "^26.6.3",
-    "vue": "^2.7.16",
-    "vuex": "^3.6.2"
+    "vue": "2.7.16",
+    "vuex": "^3.6.2",
+    "yalc": "^1.0.0-pre.53"
   },
   "dependencies": {
     "@dcloudio/vue-cli-plugin-uni": "^2.0.2-5000720260410001",
     "@dcloudio/webpack-uni-mp-loader": "^2.0.2-5010520260709001",
-    "postcss": "^8.4.49",
+    "postcss": "7.0.39",
     "regenerator-runtime": "^0.14.1",
     "yargs-parser": "^22.0.0"
+  },
+  "overrides": {
+    "postcss": "7.0.39",
+    "postcss-selector-parser": "5.0.0",
+    "@vue/compiler-sfc": "2.7.16",
+    "@vue/babel-plugin-jsx": "npm:@vue/babel-plugin-jsx@^1.1.1",
+    "@vue/babel-plugin-resolve-type": "npm:@vue/babel-plugin-resolve-type@1.0.0"
   }
 }

+ 2 - 0
cfc-frontend/pages/assessment/apply.vue

@@ -295,6 +295,7 @@ export default {
           const res = await createAssessmentAppointmentWithQuota({
             childId: this.selectedChildId,
             guideId: this.selectedGuideId,
+            assessorId: this.selectedGuideId,
             quotaId: this.quotaId,
             appointmentDate: this.appointmentDate,
             appointmentTime: this.appointmentTime,
@@ -319,6 +320,7 @@ export default {
             familyId: familyId,
             childId: this.selectedChildId,
             teacherId: this.selectedGuideId,
+            assessorId: this.selectedGuideId,
             appointmentType: this.selectedType,
             appointmentDate: this.appointmentDate,
             appointmentTime: this.appointmentTime,

+ 1 - 0
cfc-frontend/pages/assessment/order.vue

@@ -110,6 +110,7 @@ export default {
         const res = await createAssessmentAppointment({
           childId: this.childId,
           guideId: this.guideId,
+          assessorId: this.guideId,
           packageId: this.packageId,
           appointmentDate: this.appointmentDate,
           appointmentTime: this.appointmentTime,

+ 1 - 1
cfc-frontend/pages/health/physical-exam-detail.vue

@@ -48,7 +48,7 @@
         </view>
 
         <view class="indicator-list">
-          <view class="indicator-item" v-for="ind in group" :key="ind.id || ind.indicatorName">
+          <view class="indicator-item" v-for="(ind, idx) in group" :key="idx">
             <view class="indicator-left">
               <text class="indicator-name">{{ ind.indicatorName }}</text>
               <text class="indicator-range" v-if="ind.refRange">参考值: {{ ind.refRange }}</text>

+ 18 - 11
cfc-frontend/pages/health/report-confirm.vue

@@ -89,8 +89,8 @@
         <view class="member-list" v-if="familyMembers.length > 0 && (candidates.length === 0 || !showCandidatesOnly)">
           <view
             class="member-item"
-            v-for="(member, idx) in familyMembers"
-            :key="idx"
+            v-for="(member, mIdx) in familyMembers"
+            :key="mIdx"
             :class="{ 'member-selected': selectedMemberId === (member.userId || member.id) }"
             @click="selectMember(member)"
           >
@@ -219,7 +219,7 @@
 
 <script>
 import { confirmReportPreview, discardReportDraft, confirmTongue, discardTongue } from '../../utils/api.js'
-import { addFamilyMember } from '../../utils/api.js'
+import { addFamilyMember, getFamilyMembers } from '../../utils/api.js'
 
 export default {
   data() {
@@ -347,14 +347,21 @@ export default {
   },
   methods: {
     loadFamilyMembers() {
-      var store = uni.getStorageSync('familyChildren')
-      if (store) {
-        try {
-          this.familyMembers = typeof store === 'string' ? JSON.parse(store) : store
-        } catch (e) {
-          this.familyMembers = []
-        }
-      }
+      var self = this
+      // 从后端获取真实家庭成员(家长 + 孩子),storage 中并无该数据
+      getFamilyMembers().then(function(res) {
+        var data = (res && res.data) || {}
+        var parents = (data.parents || []).map(function(p) {
+          return { id: p.id, nickname: p.realName || p.nickname, gender: p.gender, role: 'parent' }
+        })
+        var children = (data.children || []).map(function(c) {
+          return { id: c.id, nickname: c.nickname, gender: c.gender, age: c.age, role: 'child' }
+        })
+        self.familyMembers = parents.concat(children)
+      }).catch(function(e) {
+        console.log('加载家庭成员失败', e)
+        self.familyMembers = []
+      })
     },
     selectMember(member) {
       this.selectedMemberId = member.userId || member.id

+ 5 - 5
cfc-frontend/pages/health/report-survey.vue

@@ -126,7 +126,7 @@
         <view class="q-options">
           <view class="q-option" :class="{ 'q-selected': survey.water === 'enough' }" @click="survey.water = 'enough'">
             <text>💧</text>
-            <text class="q-text">充足(>1500ml)</text>
+            <text class="q-text">充足(>1500ml)</text>
           </view>
           <view class="q-option" :class="{ 'q-selected': survey.water === 'moderate' }" @click="survey.water = 'moderate'">
             <text>🥤</text>
@@ -134,7 +134,7 @@
           </view>
           <view class="q-option" :class="{ 'q-selected': survey.water === 'little' }" @click="survey.water = 'little'">
             <text>😥</text>
-            <text class="q-text">偏少(<500ml)</text>
+            <text class="q-text">偏少(<500ml)</text>
           </view>
         </view>
       </view>
@@ -259,7 +259,7 @@
           <view class="family-col">
             <text class="family-role">父亲</text>
             <view class="family-options">
-              <view v-for="opt in familyDiseaseOptions" :key="'f_' + opt.value"
+              <view v-for="opt in familyDiseaseOptions" :key="opt.value"
                 class="family-tag" :class="{ 'tag-selected': hasFamilyDisease('father', opt.value) }"
                 @click="toggleFamilyDisease('father', opt.value)">
                 <text>{{ opt.label }}</text>
@@ -273,7 +273,7 @@
           <view class="family-col">
             <text class="family-role">母亲</text>
             <view class="family-options">
-              <view v-for="opt in familyDiseaseOptions" :key="'m_' + opt.value"
+              <view v-for="opt in familyDiseaseOptions" :key="opt.value"
                 class="family-tag" :class="{ 'tag-selected': hasFamilyDisease('mother', opt.value) }"
                 @click="toggleFamilyDisease('mother', opt.value)">
                 <text>{{ opt.label }}</text>
@@ -287,7 +287,7 @@
           <view class="family-col">
             <text class="family-role">兄弟姐妹</text>
             <view class="family-options">
-              <view v-for="opt in familyDiseaseOptions" :key="'s_' + opt.value"
+              <view v-for="opt in familyDiseaseOptions" :key="opt.value"
                 class="family-tag" :class="{ 'tag-selected': hasFamilyDisease('sibling', opt.value) }"
                 @click="toggleFamilyDisease('sibling', opt.value)">
                 <text>{{ opt.label }}</text>

+ 123 - 12
cfc-frontend/pages/health/report-upload.vue

@@ -47,13 +47,16 @@
           class="member-item"
           v-for="member in familyMembers"
           :key="member.id"
-          :class="{ 'member-selected': selectedMemberId === member.userId }"
+          :class="{ 'member-selected': selectedMemberId === (member.userId || member.id) }"
           @click="selectMember(member)"
         >
           <text class="member-avatar">{{ member.nickname ? member.nickname.substring(0, 1) : '?' }}</text>
           <text class="member-name">{{ member.nickname || '未知' }}</text>
         </view>
       </view>
+      <view class="add-member-btn" v-if="parsedInfo && parsedInfo.personName" @click="chooseRelationAndAdd">
+        <text class="add-member-text">+ 将「{{ parsedInfo.personName }}」添加为新成员</text>
+      </view>
     </view>
 
     <!-- 表单 -->
@@ -209,7 +212,7 @@
 </template>
 
 <script>
-import { createHealthReport, parseReportPreview, productList } from '../../utils/api.js'
+import { createHealthReport, parseReportPreview, productList, getFamilyMembers, addFamilyMember } from '../../utils/api.js'
 import config from '@/config.js'
 
 // 报告类型 → 维度映射(用于推荐商品)
@@ -424,6 +427,10 @@ export default {
         if (detail.needBind) {
           self.showMemberSelector = true
           self.loadFamilyMembers()
+          // 未匹配到成员时,主动询问是否把解析到的人添加为新成员
+          if (self.parsedInfo.personName) {
+            self.promptAddParsedMember()
+          }
         }
         // 从解析结果自动填充报告日期
         if (detail.extractedReportDate) {
@@ -438,22 +445,114 @@ export default {
     },
     loadFamilyMembers() {
       var self = this
-      // 从Vuex store获取家庭成员
-      var store = uni.getStorageSync('familyChildren')
-      if (store) {
-        try {
-          this.familyMembers = typeof store === 'string' ? JSON.parse(store) : store
-        } catch (e) {
-          this.familyMembers = []
-        }
-      }
+      // 从后端获取真实家庭成员(家长 + 孩子),storage 中并无该数据
+      getFamilyMembers().then(function(res) {
+        var data = (res && res.data) || {}
+        var parents = (data.parents || []).map(function(p) {
+          return { id: p.id, nickname: p.realName || p.nickname, gender: p.gender, role: 'parent' }
+        })
+        var children = (data.children || []).map(function(c) {
+          return { id: c.id, nickname: c.nickname, gender: c.gender, age: c.age, role: 'child' }
+        })
+        self.familyMembers = parents.concat(children)
+      }).catch(function(e) {
+        console.log('加载家庭成员失败', e)
+        self.familyMembers = []
+      })
     },
     selectMember(member) {
-      this.selectedMemberId = member.userId || member.id
+      this.selectedMemberId = member.id || member.userId
       this.parsedInfo = this.parsedInfo || {}
+      // 手动选择的成员通过 matchedMemberId 传递给确认页
+      this.parsedInfo.matchedMemberId = this.selectedMemberId
       this.parsedInfo.needManualSelect = false
       this.showMemberSelector = false
     },
+    genderText(gender) {
+      if (gender === 'male') return '男'
+      if (gender === 'female') return '女'
+      return ''
+    },
+    // 询问是否将解析到的人添加为家庭成员
+    promptAddParsedMember() {
+      var self = this
+      if (!this.parsedInfo || !this.parsedInfo.personName) return
+      var name = this.parsedInfo.personName
+      var desc = name
+      var extra = []
+      var g = this.genderText(this.parsedInfo.extractedGender)
+      if (g) extra.push(g)
+      if (this.parsedInfo.extractedAge) extra.push(this.parsedInfo.extractedAge + '岁')
+      if (extra.length > 0) desc = name + '(' + extra.join(',') + ')'
+      uni.showModal({
+        title: '未匹配到家庭成员',
+        content: '是否将解析到的「' + desc + '」添加为家庭成员?',
+        confirmText: '添加',
+        cancelText: '手动选择',
+        success: function(res) {
+          if (res.confirm) {
+            self.chooseRelationAndAdd()
+          }
+          // 取消则保留下方的手动选择列表
+        }
+      })
+    },
+    // 选择新成员与家庭的关系(后端要求辈分必填)后添加
+    chooseRelationAndAdd() {
+      var self = this
+      var relOptions = [
+        { label: '孩子', generationLevel: 'child' },
+        { label: '配偶', generationLevel: 'peer', peerType: 'spouse' },
+        { label: '父母', generationLevel: 'parent' },
+        { label: '兄弟姐妹', generationLevel: 'peer', peerType: 'sibling' },
+        { label: '祖父母', generationLevel: 'grandparent' }
+      ]
+      uni.showActionSheet({
+        itemList: relOptions.map(function(o) { return o.label }),
+        success: function(res) {
+          var rel = relOptions[res.tapIndex]
+          if (rel) {
+            self.doAddParsedMember(rel)
+          }
+        }
+      })
+    },
+    // 调用后端添加成员,并将其作为本次报告对象
+    doAddParsedMember(rel) {
+      var self = this
+      var name = this.parsedInfo.personName
+      var dto = {
+        nickname: name,
+        gender: this.parsedInfo.extractedGender || '',
+        generationLevel: rel.generationLevel
+      }
+      if (rel.peerType) dto.peerType = rel.peerType
+      // 由年龄推算大致出生年份(用于展示,用户后续可修改)
+      var age = parseInt(this.parsedInfo.extractedAge)
+      if (!isNaN(age) && age > 0 && age < 130) {
+        dto.birthday = (new Date().getFullYear() - age) + '-01-01'
+      }
+      uni.showLoading({ title: '添加成员...' })
+      addFamilyMember(dto).then(function(res) {
+        uni.hideLoading()
+        if (res && res.code === 200) {
+          var newId = res.data && (res.data.id || res.data.userId)
+          self.selectedMemberId = newId
+          self.parsedInfo.matchedMemberId = newId
+          self.parsedInfo.matchedMemberName = name
+          self.parsedInfo.needManualSelect = false
+          self.showMemberSelector = false
+          self.loadFamilyMembers()
+          uni.showToast({ title: '已添加并选中', icon: 'success' })
+        } else {
+          uni.showToast({ title: (res && res.message) || '添加失败', icon: 'none' })
+        }
+      }).catch(function(e) {
+        uni.hideLoading()
+        console.log('添加成员失败', e)
+        uni.showToast({ title: '添加失败,请重试', icon: 'none' })
+      })
+    },
     removeFile() {
       this.selectedFile = null
       this.parsedInfo = null
@@ -915,6 +1014,18 @@ uni.showToast({ title: '提交成功', icon: 'success' })
   font-size: 24rpx;
   color: #333;
 }
+.add-member-btn {
+  margin-top: 16rpx;
+  padding: 20rpx;
+  border: 1rpx dashed #4caf50;
+  border-radius: 12rpx;
+  text-align: center;
+  background: #f6fbf6;
+}
+.add-member-text {
+  font-size: 26rpx;
+  color: #4caf50;
+}
 
 /* ===== 舌诊拍照区 ===== */
 .photo-area {

+ 1 - 1
cfc-frontend/pages/index/child-index.vue

@@ -1122,7 +1122,7 @@ padding-top: 4rpx;
   flex-wrap: wrap;
   gap: 20rpx;
 }
-.quick-grid > * {
+.quick-grid .quick-clay-btn {
   width: calc(50% - 10rpx);
 }
 

+ 1 - 1
cfc-frontend/pages/index/index.vue

@@ -137,7 +137,7 @@
         </view>
         <!-- 无数据时显示占位卡片 -->
         <template v-else-if="indexArticles.length === 0">
-          <view class="article-card" v-for="i in 3" :key="i">
+          <view class="article-card" v-for="(item, i) in [1,2,3]" :key="i">
             <view class="article-category" :style="{ background: gradientColors[(i-1) % gradientColors.length] }">
               <text class="article-category-text">推荐文章</text>
             </view>

+ 2 - 2
cfc-frontend/pages/shop/address-edit/address-edit.vue

@@ -76,8 +76,8 @@
           </view>
           <scroll-view class="region-list" scroll-y>
             <view
-              v-for="item in currentRegionItems"
-              :key="item.id"
+              v-for="(item, idx) in currentRegionItems"
+              :key="idx"
               :class="['region-item', isRegionSelected(item) ? 'region-item-selected' : '']"
               @click="selectRegionItem(item)"
             >

+ 1 - 1
cfc-frontend/pages/shop/payment/payment.vue

@@ -316,7 +316,7 @@ export default {
 }
 </script>
 
-<style scoped>
+<style>
 .container {
   min-height: 100vh;
   background: #f5f5f5;

+ 2 - 2
cfc-frontend/pages/wisdom/wisdom_temp/training-hub.vue

@@ -29,8 +29,8 @@
               <view class="difficulty-row">
                 <text class="difficulty-label">难度:</text>
                 <view class="stars-row">
-                  <text class="star filled" v-for="i in game.difficulty" :key="'on' + i">&#x2605;</text>
-                  <text class="star empty" v-for="i in (5 - game.difficulty)" :key="'off' + i">&#x2605;</text>
+                  <text class="star filled" v-for="(i, idx) in game.difficulty" :key="idx">&#x2605;</text>
+                  <text class="star empty" v-for="(i, idx) in (5 - game.difficulty)" :key="idx">&#x2605;</text>
                 </view>
               </view>
               <text class="game-badge" v-if="game.badge">{{ game.badge }}</text>

+ 6 - 2
cfc-frontend/postcss.config.js

@@ -1,5 +1,9 @@
 // PostCSS config for uni-app mp-weixin build
+// Fixed: ensure compat with @vue/component-compiler-utils (PostCSS 7.x)
 module.exports = {
-  plugins: []
+  plugins: [
+    require('postcss-import'),
+    require('postcss-url'),
+    require('autoprefixer')
+  ]
 }
-

+ 7 - 2
cfc-frontend/vue.config.js

@@ -1,6 +1,11 @@
 // vue.config.js - disable thread-loader for compatibility
 module.exports = {
-  parallel: false,
-  // Ensure we use the correct source directory
+  parallel: false, // Ensure we use the correct source directory
   pages: undefined,
+  configureWebpack: {
+    resolve: {
+      extensions: ['.vue', '.js', '.json'], // Ensure .vue files resolve correctly
+    },
+    node: false,
+  },
 }

+ 1 - 0
cfc-langgraph/.gitignore

@@ -9,3 +9,4 @@ dist/
 
 # Un-ignore .py files (root .gitignore has *.py)
 !*.py
+.venv-bin.tar.gz\n.venv-packages.tar.gz

+ 12 - 15
cfc-langgraph/Dockerfile

@@ -1,31 +1,28 @@
-# ── 构建阶段 ──
-FROM python:3.11-slim AS builder
-
-WORKDIR /build
-COPY pyproject.toml .
-RUN pip install --no-cache-dir -e . && \
-    pip install --no-cache-dir gunicorn
-
-# ── 运行阶段 ──
-FROM python:3.11-slim
+# ── 运行镜像 ──
+FROM python:3.12-slim
 
 ENV TZ=Asia/Shanghai
 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
 
 WORKDIR /app
 
-COPY --from=builder /usr/local/lib/python3.11/site-packages/ /usr/local/lib/python3.11/site-packages/
-COPY --from=builder /usr/local/bin/ /usr/local/bin/
+COPY .venv-packages.tar.gz /tmp/pkgs.tar.gz
+RUN tar xzf /tmp/pkgs.tar.gz -C /usr/local/lib/python3.12/site-packages/ && \
+    rm /tmp/pkgs.tar.gz
 
 COPY app/ app/
-COPY data/ data/ 2>/dev/null || true
+COPY data/ data/
+
+RUN useradd -m -u 1000 appuser && \
+    chown -R appuser:appuser /app && \
+    mkdir -p /data/chroma_db && \
+    chown -R appuser:appuser /data
 
-RUN useradd -m -u 1000 appuser && chown -R appuser:appuser /app
 USER appuser
 
 EXPOSE 9000
 
-CMD ["gunicorn", "app.main:app", \
+CMD ["python3", "-m", "gunicorn", "app.main:app", \
      "--worker-class", "uvicorn.workers.UvicornWorker", \
      "--bind", "0.0.0.0:9000", \
      "--workers", "2", \

+ 10 - 1
cfc-langgraph/app/graphs/chat_graph.py

@@ -47,7 +47,6 @@ def create_chat_graph():
     """创建聊天 StateGraph"""
     agent = ChatAgent()
     classifier = IntentClassifier()
-    memory_mgr = MemoryManager()
 
     llm = ChatOpenAI(
         model=settings.llm_model,
@@ -55,6 +54,16 @@ def create_chat_graph():
         base_url=settings.llm_base_url,
         temperature=0.7,
     )
+    
+    # 初始化嵌入模型用于记忆存储
+    from langchain_openai import OpenAIEmbeddings
+    embeddings = OpenAIEmbeddings(
+        model=settings.embedding_model,
+        api_key=settings.effective_embedding_api_key,
+        base_url=settings.effective_embedding_base_url,
+    )
+    memory_mgr = MemoryManager(embeddings)
+
     llm_with_tools = llm.bind_tools([
         search_product_by_keyword,
         search_article_by_keyword,

+ 19 - 48
cfc-langgraph/app/memory/store.py

@@ -1,59 +1,30 @@
-from langchain.memory import ConversationSummaryBufferMemory, VectorStoreRetrieverMemory
-from langchain_openai import ChatOpenAI, OpenAIEmbeddings
-from langchain_chroma import Chroma
-from app.config import settings
-from typing import Optional
+import os
 import logging
+from datetime import datetime
 
 logger = logging.getLogger(__name__)
 
 
 class MemoryManager:
-    """三层记忆管理器
-
-    Layer 1 - 工作记忆: 最近 20 轮 + 超出自动摘要
-    Layer 2 - 长期事实: VectorStoreRetrieverMemory, 跨会话相似召回
-    Layer 3 - 语义记忆: 每次对话后向量化存储, 供后续会话召回
+    """轻量级记忆管理器 - 仅保存对话历史到向量数据库
+    
+    不再使用 langchain.memory(已废弃),直接实现核心功能:
+    - Layer 3 - 语义记忆:每次对话后向量化存储,供后续会话召回
     """
 
-    def __init__(self):
-        self.llm = ChatOpenAI(
-            model=settings.llm_model,
-            api_key=settings.llm_api_key,
-            base_url=settings.llm_base_url,
-        )
-        self.embeddings = OpenAIEmbeddings(
-            model=settings.embedding_model,
-            api_key=settings.effective_embedding_api_key,
-            base_url=settings.effective_embedding_base_url,
-        )
-        # Layer 3 向量库: 历史对话记忆
+    def __init__(self, embeddings):
+        """初始化记忆管理器
+        
+        Args:
+            embeddings: 嵌入模型实例 (OpenAIEmbeddings 或其他兼容接口)
+        """
+        self.embeddings = embeddings
+        # Layer 3 向量库:历史对话记忆
+        from langchain_chroma import Chroma
         self.memory_vectorstore = Chroma(
             collection_name="user_memory",
             embedding_function=self.embeddings,
-            persist_directory=settings.chroma_db_path + "_memory",
-        )
-
-    def get_working_memory(self) -> ConversationSummaryBufferMemory:
-        """Layer 1: 工作记忆 (当前会话)"""
-        return ConversationSummaryBufferMemory(
-            llm=self.llm,
-            max_token_limit=2000,
-            memory_key="history",
-            return_messages=True,
-        )
-
-    def get_longterm_memory(self, user_id: int) -> VectorStoreRetrieverMemory:
-        """Layer 2+3: 长期 + 语义记忆"""
-        return VectorStoreRetrieverMemory(
-            retriever=self.memory_vectorstore.as_retriever(
-                search_kwargs={
-                    "k": 3,
-                    "filter": {"user_id": user_id},
-                }
-            ),
-            memory_key="long_term_memory",
-            input_key="input",
+            persist_directory=os.path.expanduser("~/.cfc/langgraph/memory"),
         )
 
     async def save_conversation(self, user_id: int, conversation_id: str,
@@ -69,7 +40,7 @@ class MemoryManager:
         metadata = {
             "user_id": user_id,
             "conversation_id": conversation_id,
-            "timestamp": str(__import__("datetime").datetime.now()),
+            "timestamp": str(datetime.now()),
         }
 
         await self.memory_vectorstore.aadd_texts(
@@ -77,10 +48,10 @@ class MemoryManager:
             metadatas=[metadata],
         )
         self.memory_vectorstore.persist()
-        logger.info("已保存对话到向量记忆: conv=%s, user=%s", conversation_id, user_id)
+        logger.info("已保存对话到向量记忆:conv=%s, user=%s", conversation_id, user_id)
 
     async def recall(self, user_id: int, query: str, k: int = 3) -> list[str]:
-        """语义召回: 查询与 query 最相似的历史对话片段"""
+        """语义召回:查询与 query 最相似的历史对话片段"""
         results = self.memory_vectorstore.similarity_search(
             query,
             k=k,

+ 44 - 66
cfc-langgraph/app/rag/retriever.py

@@ -1,10 +1,5 @@
 from langchain_chroma import Chroma
-from langchain.retrievers import EnsembleRetriever
-from langchain_community.retrievers import BM25Retriever
-from langchain.retrievers.document_compressors import LLMChainExtractor
-from langchain.retrievers import ContextualCompressionRetriever
-from langchain_openai import ChatOpenAI
-from .embeddings import get_embeddings
+from langchain_openai import ChatOpenAI, OpenAIEmbeddings
 from app.config import settings
 from app.tools.java_client import JavaClient
 from typing import Optional
@@ -14,96 +9,79 @@ logger = logging.getLogger(__name__)
 
 
 class RagRetriever:
-    """升级版混合检索器: 向量 + BM25 + LLM 压缩重排序"""
+    """简单的向量检索器 - 基于 ChromaDB"""
 
     def __init__(self, collection_name: str = "cfc_knowledge"):
-        embeddings = get_embeddings()
+        embeddings = OpenAIEmbeddings(
+            model=settings.embedding_model,
+            api_key=settings.effective_embedding_api_key,
+            base_url=settings.effective_embedding_base_url,
+        )
         self.vectorstore = Chroma(
             collection_name=collection_name,
             embedding_function=embeddings,
             persist_directory=settings.chroma_db_path,
         )
         self.java_client = JavaClient()
-        self._bm25_retriever: Optional[BM25Retriever] = None
-        self._bm25_texts: list[str] = []
 
     async def initialize(self):
-        """从 Java 侧拉取知识库, 构建 BM25 索引"""
+        """从 Java 侧拉取知识库,更新到向量库"""
         try:
             articles = await self.java_client.get_published_articles()
-            self._bm25_texts = [
-                f"{a['title']} {a['summary']} {a.get('tags', '')}"
-                for a in articles
-            ]
-            if self._bm25_texts:
-                self._bm25_retriever = BM25Retriever.from_texts(
-                    self._bm25_texts,
-                    metadatas=articles,
-                )
-                logger.info("BM25 索引就绪: %d 条", len(self._bm25_texts))
+            if articles:
+                # 构建文本和内容元数据
+                texts = [f"{a['title']} {a.get('summary', '')} {' '.join(a.get('tags', []))}" 
+                        for a in articles]
+                metadatas = [
+                    {
+                        "id": a["id"],
+                        "title": a["title"],
+                        "summary": a.get("summary", ""),
+                        "tags": a.get("tags", []),
+                        "type": "article",
+                    }
+                    for a in articles
+                ]
+
+                # 添加或更新向量数据库
+                await self.vectorstore.aadd_texts(texts=texts, metadatas=metadatas)
+                logger.info("知识库向量化完成:%d 篇文章", len(articles))
         except Exception as e:
-            logger.warning("BM25 初始化失败: %s", e)
+            logger.warning("知识库初始化失败:%s", e)
 
     async def retrieve(
         self,
         query: str,
         filters: Optional[dict] = None,
         k: int = 5,
-        use_compression: bool = True,
     ) -> list[dict]:
-        """混合检索 + 可选 LLM 压缩重排序"""
-        retrievers = []
-
-        # 1. 向量检索 (多取一些方便后续 ensemble 排序)
-        vector_retriever = self.vectorstore.as_retriever(
-            search_kwargs={"k": k * 2, "filter": filters},
-        )
-        retrievers.append(vector_retriever)
-
-        # 2. BM25 关键词检索
-        if self._bm25_retriever:
-            bm25_k = self._bm25_retriever.k
-            self._bm25_retriever.k = k * 2
-            retrievers.append(self._bm25_retriever)
-            self._bm25_retriever.k = bm25_k
-
-        if len(retrievers) == 1:
-            docs = await retrievers[0].ainvoke(query)
-            ensemble = retrievers[0]
-        else:
-            ensemble = EnsembleRetriever(
-                retrievers=retrievers,
-                weights=[0.6, 0.4],
-            )
-            docs = await ensemble.ainvoke(query)
-
-        # 3. LLM 压缩 (剔除不相关内容)
-        if use_compression and docs:
-            llm = ChatOpenAI(
-                model=settings.llm_model,
-                api_key=settings.llm_api_key,
-                base_url=settings.llm_base_url,
-                temperature=0,
-            )
-            compressor = LLMChainExtractor.from_llm(llm)
-            compression_retriever = ContextualCompressionRetriever(
-                base_compressor=compressor,
-                base_retriever=ensemble if len(retrievers) > 1 else retrievers[0],
-            )
-            docs = await compression_retriever.ainvoke(query)
-
-        # 4. 格式化为统一输出 + 去重
+        """向量相似度检索"""
         results = []
+        
+        # 向量检索
+        filter_query = {"user_id": filters["user_id"]} if filters and "user_id" in filters else None
+        
+        docs = self.vectorstore.similarity_search(
+            query,
+            k=k * 2,  # 多取一些
+            filter=filter_query,
+        )
+        
+        # 格式化结果并去重
         seen = set()
         for doc in docs:
             content_hash = hash(doc.page_content[:100])
             if content_hash in seen:
                 continue
             seen.add(content_hash)
+            
             results.append({
                 "content": doc.page_content,
                 "metadata": doc.metadata,
                 "score": doc.metadata.get("score", 0) if hasattr(doc, "metadata") else 0,
             })
-
+            
+            if len(results) >= k:
+                break
+        
         return results[:k]

+ 3 - 3
cfc-langgraph/app/rag/splitter.py

@@ -1,7 +1,7 @@
-from langchain.text_splitter import RecursiveCharacterTextSplitter
+from langchain_text_splitters import RecursiveCharacterTextSplitter
 
 
-def get_knowledge_splitter() -> RecursiveCharacterTextSplitter:
+def get_knowledge_splitter():
     """知识库文档分块器"""
     return RecursiveCharacterTextSplitter(
         chunk_size=500,
@@ -11,7 +11,7 @@ def get_knowledge_splitter() -> RecursiveCharacterTextSplitter:
     )
 
 
-def get_summary_splitter() -> RecursiveCharacterTextSplitter:
+def get_summary_splitter():
     """摘要分块器 (用于对话记忆)"""
     return RecursiveCharacterTextSplitter(
         chunk_size=1000,

+ 2 - 3
cfc-langgraph/docker-compose.yml

@@ -29,7 +29,7 @@ services:
     env_file:
       - .env.production
     environment:
-      - JAVA_BASE_URL=http://cfc-backend:9082
+      - JAVA_BASE_URL=http://172.17.0.1:9082
       - CHROMA_DB_PATH=/data/chroma_db
       - JSON_LOGS=true
       - LANGCHAIN_TRACING_V2=${LANGCHAIN_TRACING_V2:-false}
@@ -43,8 +43,7 @@ services:
       interval: 30s
       timeout: 5s
       retries: 3
-    depends_on:
-      - cfc-backend
+
 
   prometheus:
     image: prom/prometheus:latest

+ 1 - 1
cfc-langgraph/pyproject.toml

@@ -13,7 +13,7 @@ dependencies = [
     "langchain-community>=0.3,<1.0",
     "langchain-openai>=0.3,<1.0",
     "langgraph>=0.3,<1.0",
-    "chromadb>=0.6",
+    "chromadb>=0.6,<1.0",
     "langchain-chroma>=0.2,<1.0",
     "python-multipart>=0.0.20",
     "prometheus-client>=0.21",

+ 1 - 1
cfc-web/.last_build_commit

@@ -1 +1 @@
-58a248a38b34cb09e1dbfb4d916b6285607428d1
+fb3b62d38ae321f109d2247bde2d0880431c0489

+ 2 - 2
cfc-web/package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "cfc-web",
-  "version": "1.0.454",
+  "version": "1.0.474",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "cfc-web",
-      "version": "1.0.454",
+      "version": "1.0.474",
       "dependencies": {
         "@wangeditor/editor": "^5.1.23",
         "@wangeditor/editor-for-vue": "^1.0.2",

+ 1 - 1
cfc-web/package.json

@@ -1,6 +1,6 @@
 {
   "name": "cfc-web",
-  "version": "1.0.454",
+  "version": "1.0.475",
   "private": true,
   "scripts": {
     "dev": "vue-cli-service serve",

+ 237 - 0
cfc-web/public/CHANGELOG-v1.0.md

@@ -4,6 +4,243 @@
 
 ---
 
+## v1.0.475 (2026-07-22)
+
+### 其他
+- web: 全站统一 footer 为共享组件 js/footer.js,移除各页面自定义 footer CSS
+
+
+## v1.0.474 (2026-07-22)
+
+### 新功能
+- 成长百科改为人体五维标注布局 + 文本替换
+
+### 其他
+- - 人体五部位对应五维: 肠→身, 脑→智, 心→心, 手→富, 脚→行
+- - Desktop: 人体图四周浮动标注卡片,连接圆点指向对应身体部位
+- - Mobile: 顶部5标签切换(身·智·富·行·心),点击显示文章列表
+- - 替换所有'亿图腾(北京)科技有限公司'→'浠艾福主动健康研究院'
+- 
+
+
+## v1.0.473 (2026-07-22)
+
+### 新功能
+- 重写成长百科为100vh单页布局(剪影背景+五维卡片+手机标签)
+
+### 其他
+- - 新增100vh单页布局(overflow:hidden),无滚动
+- - 单人剪影+群组剪影作为装饰性页面背景(低透明度)
+- - Desktop: 5维卡片水平排列,各维度文章链接直接可见
+- - Mobile: 顶部5标签切换(身·智·富·行·心),点击显示对应文章
+- - 所有文章数据及标签切换逻辑由内联JS驱动
+- 
+
+
+## v1.0.472 (2026-07-22)
+
+### 新功能
+- 新增成长百科主页面 + Clarity 全站覆盖
+
+### 其他
+- - web/css/style.css: 新增知识页面全套响应式样式(k-hero/k-dim-section/k-article-grid)
+- - 全站添加 Microsoft Clarity 用户行为分析脚本(FAQ 3 篇 + sales.html + knowledge.html)
+- - 导航与 footer 链接统一指向 knowledge.html
+- - index.html 知识区新增" 进入成长百科 →\按钮
+- 
+
+
+## v1.0.471 (2026-07-22)
+
+### 文档
+- add implementation audit, tickler, phase1-remaining, and P0 tickets
+
+
+## v1.0.470 (2026-07-22)
+
+### Bug 修复
+- use setFontSize in renderLegacy for WeChat compat, add _destroyed lifecycle guard
+
+
+## v1.0.469 (2026-07-22)
+
+### Bug 修复
+- 联系电话 010-86461234 → 010-58733188
+
+### 文档
+- 新增小红书自动化发布工作流 + 30天内容矩阵
+
+### 其他
+- - 小红书发布/内容方法论-六阶模型.md: 主动健康六阶模型 × 五维映射方法论
+- - 小红书发布/发布日历.md: 30天日均内容矩阵 (身→智→富→行→心 五天循环)
+- - 小红书内容/: 4篇正式稿+指南+速查卡
+- - 小红书发布计划.md / 发布数据复盘清单.md
+- 
+
+
+## v1.0.468 (2026-07-21)
+
+### 新功能
+- Hero 背景改用 AI 生成插画 (agnes-image-2.1-flash)
+
+### 其他
+- - 自然暖色调抽象家庭插画:屋顶/成长树/太阳/彩虹弧/家庭剪影
+- - 右侧留白用于文字叠加
+- - .hero-bg 更新为引用真实图片而非 SVG
+- 
+
+
+## v1.0.467 (2026-07-21)
+
+### 新功能
+- 首页 Hero 添加家庭幸福健康抽象插画背景
+
+### 其他
+- - 包含:屋顶/成长树/太阳/彩虹弧/家庭五人剪影/心形/草地祥云
+- - 暖色调大地色系(棕#C4956A / 浅绿#8DB48E / 淡黄#F5D89A / 蓝#A8D4E6)
+- - .hero-bg 加 SVG 背景图 + 左侧渐变遮罩确保文字可读性
+- 
+
+
+## v1.0.466 (2026-07-21)
+
+### 文档
+- unified execution plan v1.0 + PROJECT-OVERVIEW v1.2 status corrections
+
+### 其他
+-   Phase 1 completion (5 items), Phase 2 launch (4 items), 6 tech debt items,
+-   4-sprint timeline with dependencies and risk analysis
+- - Updated PROJECT-OVERVIEW.md: 12 completed features corrected from
+-   🚧/🟡 to ✅ based on code verification (profile redesign, action pages,
+-   pre-login experience, emotion check-in, article center, flora report,
+-   membership frontend, family graph, member detail sections, mind dual-tab,
+-   parent homepage, homepage overhaul)
+- 
+
+
+## v1.0.465 (2026-07-21)
+
+### 其他
+- uric-acid.html: rename title to 高尿酸的先天性与后天性
+
+
+## v1.0.464 (2026-07-21)
+
+### 其他
+- index.html: 主动健康概念卡片改为五维语言——被动健康是五维内部消耗(前半生用健康换财富,后半生用财富换健康),主动健康是五维持续增长
+
+
+## v1.0.463 (2026-07-21)
+
+### 其他
+- index.html: 主动健康概念专章改为双栏对比——被动消耗财富 vs 主动创造财富
+- - 右栏:主动健康(🌱)→ 提前规避→创造财富→健康即最大资产增值
+- - 保留五维闭环流程图于底部
+- 
+- Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
+- 
+- Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
+- 
+- Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
+- 
+- Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
+- 
+
+### 新功能
+- 预约页面传递 assessorId 参数
+- 重构 AppointmentController 接入 DanAssessmentExecutionService 双角色模型
+- AppointmentService 支持 assessorId, DanAssessmentExecutionService 关联 appointmentId
+- assessment_appointments 添加 assessor_id, dan_assessment_executions 添加 appointment_id
+
+
+## v1.0.462 (2026-07-21)
+
+### 其他
+- index.html: 新增主动健康概念专章 + 家庭成长闭环按主动健康思路重写
+- - 家庭成长闭环4步重写:提前识别→风险管控→主动干预→效果评估
+- 
+
+
+## v1.0.461 (2026-07-21)
+
+### 其他
+- index.html: 将积分奖励激励替换为有序支出、规划传承
+
+
+## v1.0.460 (2026-07-21)
+
+### Bug 修复
+- ensure .vue resolution in webpack
+
+### 文档
+- mark LangGraph Phase 3 as implemented in PROJECT-OVERVIEW
+
+
+## v1.0.459 (2026-07-21)
+
+### 其他
+- index.html: 全站整合「主动健康」理念
+- - About 描述首位加入:主动健康为核心
+- - 五维能量 section subtitle 增加:主动健康 · 五大能量维度
+- - 五维能量 section desc 首句加入:主动健康理念贯穿五维——不等病来,主动管理
+- - JSON-LD FAQ「浠艾福是什么平台」答案首句加入主动健康理念
+- - JSON-LD FAQ「什么是五维能量体系」重构为以主动健康为核心的定义
+- 
+
+
+## v1.0.458 (2026-07-21)
+
+### 其他
+- 网站去亿图腾化:全面替换为浠艾福主动健康学院,更新备案号为京ICP备14061870号-5
+- - 页脚版权信息、About版块、JSON-LD组织名称 均更新
+- - 移除 keywords 中亿图腾
+- - 4个HTML文件全部更新:index.html, geo-faq-1-allergy.html, geo-faq-2-attention.html, geo-faq-3-immunity.html
+- 
+
+
+## v1.0.457 (2026-07-21)
+
+### 其他
+- index.html: 成长百科新增微塑料与健康、尿酸高的成因与调节两篇文章链接
+
+
+## v1.0.456 (2026-07-21)
+
+### 其他
+- uric-acid.html: 添加8处内联文献证据截图(带高亮注释+中文翻译),移除参考文献列表截图显示
+- - 概述、转运体、肠道菌群、SCFA、益生菌、EAW、富氢水、运动8个关键段落各添加1处带红色虚线高亮框的截图证据
+- - 每处证据盒包含:高亮内容原文 + 中文翻译 + DOI链接
+- - 12个参考文献卡片中移除截图直接显示,仅保留权威性标签+翻译+链接
+- - 更新图4为新生成的痛风发病机理图(diagram_4_en.png)
+- - 新增图1-3英文版机制图(diagram_1/2/3_en.png)
+- - 删除临时文件 .tmp_snapshot_ref3.txt
+- 
+
+
+## v1.0.455 (2026-07-21)
+
+### Bug 修复
+- 修复 uni-app 小程序编译兼容性问题及运行优化
+
+### 其他
+- - 降级 @vue/compiler-sfc 到 2.7.16 确保 HBuilderX 兼容
+- - 添加 postcss-import、postcss-url、autoprefixer 配置
+- - 添加 fix-hbuilderx-scoped.js 和 fix-postcss.sh 自动化修复脚本
+- - 回退 Babel 和 Vue CLI 版本到兼容的 4.x 系列
+- - 优化小程序样式 scoped 问题修复工具
+- - 修复组件编译警告和问题:
+-   * ActionArticleRecommend.vue
+-   * HealthDimensionsSection.vue
+-   * RecommendedFeed.vue
+-   * mind-section.vue
+-   * health 相关页面
+-   * payment.vue (移除 scoped)
+-   * child-index.vue
+-   * index.vue
+- - 优化 Python LangGraph 记忆和检索逻辑
+- 
+
+
 ## v1.0.454 (2026-07-21)
 
 ### 文档

+ 238 - 1
cfc-web/public/CHANGELOG.md

@@ -1,6 +1,6 @@
 # 更新日志
 
-> 当前版本: v1.0.454
+> 当前版本: v1.0.475
 
 ## 历史版本
 
@@ -8,6 +8,243 @@
 
 ---
 
+## v1.0.475 (2026-07-22)
+
+### 其他
+- web: 全站统一 footer 为共享组件 js/footer.js,移除各页面自定义 footer CSS
+
+
+## v1.0.474 (2026-07-22)
+
+### 新功能
+- 成长百科改为人体五维标注布局 + 文本替换
+
+### 其他
+- - 人体五部位对应五维: 肠→身, 脑→智, 心→心, 手→富, 脚→行
+- - Desktop: 人体图四周浮动标注卡片,连接圆点指向对应身体部位
+- - Mobile: 顶部5标签切换(身·智·富·行·心),点击显示文章列表
+- - 替换所有'亿图腾(北京)科技有限公司'→'浠艾福主动健康研究院'
+- 
+
+
+## v1.0.473 (2026-07-22)
+
+### 新功能
+- 重写成长百科为100vh单页布局(剪影背景+五维卡片+手机标签)
+
+### 其他
+- - 新增100vh单页布局(overflow:hidden),无滚动
+- - 单人剪影+群组剪影作为装饰性页面背景(低透明度)
+- - Desktop: 5维卡片水平排列,各维度文章链接直接可见
+- - Mobile: 顶部5标签切换(身·智·富·行·心),点击显示对应文章
+- - 所有文章数据及标签切换逻辑由内联JS驱动
+- 
+
+
+## v1.0.472 (2026-07-22)
+
+### 新功能
+- 新增成长百科主页面 + Clarity 全站覆盖
+
+### 其他
+- - web/css/style.css: 新增知识页面全套响应式样式(k-hero/k-dim-section/k-article-grid)
+- - 全站添加 Microsoft Clarity 用户行为分析脚本(FAQ 3 篇 + sales.html + knowledge.html)
+- - 导航与 footer 链接统一指向 knowledge.html
+- - index.html 知识区新增" 进入成长百科 →\按钮
+- 
+
+
+## v1.0.471 (2026-07-22)
+
+### 文档
+- add implementation audit, tickler, phase1-remaining, and P0 tickets
+
+
+## v1.0.470 (2026-07-22)
+
+### Bug 修复
+- use setFontSize in renderLegacy for WeChat compat, add _destroyed lifecycle guard
+
+
+## v1.0.469 (2026-07-22)
+
+### Bug 修复
+- 联系电话 010-86461234 → 010-58733188
+
+### 文档
+- 新增小红书自动化发布工作流 + 30天内容矩阵
+
+### 其他
+- - 小红书发布/内容方法论-六阶模型.md: 主动健康六阶模型 × 五维映射方法论
+- - 小红书发布/发布日历.md: 30天日均内容矩阵 (身→智→富→行→心 五天循环)
+- - 小红书内容/: 4篇正式稿+指南+速查卡
+- - 小红书发布计划.md / 发布数据复盘清单.md
+- 
+
+
+## v1.0.468 (2026-07-21)
+
+### 新功能
+- Hero 背景改用 AI 生成插画 (agnes-image-2.1-flash)
+
+### 其他
+- - 自然暖色调抽象家庭插画:屋顶/成长树/太阳/彩虹弧/家庭剪影
+- - 右侧留白用于文字叠加
+- - .hero-bg 更新为引用真实图片而非 SVG
+- 
+
+
+## v1.0.467 (2026-07-21)
+
+### 新功能
+- 首页 Hero 添加家庭幸福健康抽象插画背景
+
+### 其他
+- - 包含:屋顶/成长树/太阳/彩虹弧/家庭五人剪影/心形/草地祥云
+- - 暖色调大地色系(棕#C4956A / 浅绿#8DB48E / 淡黄#F5D89A / 蓝#A8D4E6)
+- - .hero-bg 加 SVG 背景图 + 左侧渐变遮罩确保文字可读性
+- 
+
+
+## v1.0.466 (2026-07-21)
+
+### 文档
+- unified execution plan v1.0 + PROJECT-OVERVIEW v1.2 status corrections
+
+### 其他
+-   Phase 1 completion (5 items), Phase 2 launch (4 items), 6 tech debt items,
+-   4-sprint timeline with dependencies and risk analysis
+- - Updated PROJECT-OVERVIEW.md: 12 completed features corrected from
+-   🚧/🟡 to ✅ based on code verification (profile redesign, action pages,
+-   pre-login experience, emotion check-in, article center, flora report,
+-   membership frontend, family graph, member detail sections, mind dual-tab,
+-   parent homepage, homepage overhaul)
+- 
+
+
+## v1.0.465 (2026-07-21)
+
+### 其他
+- uric-acid.html: rename title to 高尿酸的先天性与后天性
+
+
+## v1.0.464 (2026-07-21)
+
+### 其他
+- index.html: 主动健康概念卡片改为五维语言——被动健康是五维内部消耗(前半生用健康换财富,后半生用财富换健康),主动健康是五维持续增长
+
+
+## v1.0.463 (2026-07-21)
+
+### 其他
+- index.html: 主动健康概念专章改为双栏对比——被动消耗财富 vs 主动创造财富
+- - 右栏:主动健康(🌱)→ 提前规避→创造财富→健康即最大资产增值
+- - 保留五维闭环流程图于底部
+- 
+- Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
+- 
+- Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
+- 
+- Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
+- 
+- Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
+- 
+
+### 新功能
+- 预约页面传递 assessorId 参数
+- 重构 AppointmentController 接入 DanAssessmentExecutionService 双角色模型
+- AppointmentService 支持 assessorId, DanAssessmentExecutionService 关联 appointmentId
+- assessment_appointments 添加 assessor_id, dan_assessment_executions 添加 appointment_id
+
+
+## v1.0.462 (2026-07-21)
+
+### 其他
+- index.html: 新增主动健康概念专章 + 家庭成长闭环按主动健康思路重写
+- - 家庭成长闭环4步重写:提前识别→风险管控→主动干预→效果评估
+- 
+
+
+## v1.0.461 (2026-07-21)
+
+### 其他
+- index.html: 将积分奖励激励替换为有序支出、规划传承
+
+
+## v1.0.460 (2026-07-21)
+
+### Bug 修复
+- ensure .vue resolution in webpack
+
+### 文档
+- mark LangGraph Phase 3 as implemented in PROJECT-OVERVIEW
+
+
+## v1.0.459 (2026-07-21)
+
+### 其他
+- index.html: 全站整合「主动健康」理念
+- - About 描述首位加入:主动健康为核心
+- - 五维能量 section subtitle 增加:主动健康 · 五大能量维度
+- - 五维能量 section desc 首句加入:主动健康理念贯穿五维——不等病来,主动管理
+- - JSON-LD FAQ「浠艾福是什么平台」答案首句加入主动健康理念
+- - JSON-LD FAQ「什么是五维能量体系」重构为以主动健康为核心的定义
+- 
+
+
+## v1.0.458 (2026-07-21)
+
+### 其他
+- 网站去亿图腾化:全面替换为浠艾福主动健康学院,更新备案号为京ICP备14061870号-5
+- - 页脚版权信息、About版块、JSON-LD组织名称 均更新
+- - 移除 keywords 中亿图腾
+- - 4个HTML文件全部更新:index.html, geo-faq-1-allergy.html, geo-faq-2-attention.html, geo-faq-3-immunity.html
+- 
+
+
+## v1.0.457 (2026-07-21)
+
+### 其他
+- index.html: 成长百科新增微塑料与健康、尿酸高的成因与调节两篇文章链接
+
+
+## v1.0.456 (2026-07-21)
+
+### 其他
+- uric-acid.html: 添加8处内联文献证据截图(带高亮注释+中文翻译),移除参考文献列表截图显示
+- - 概述、转运体、肠道菌群、SCFA、益生菌、EAW、富氢水、运动8个关键段落各添加1处带红色虚线高亮框的截图证据
+- - 每处证据盒包含:高亮内容原文 + 中文翻译 + DOI链接
+- - 12个参考文献卡片中移除截图直接显示,仅保留权威性标签+翻译+链接
+- - 更新图4为新生成的痛风发病机理图(diagram_4_en.png)
+- - 新增图1-3英文版机制图(diagram_1/2/3_en.png)
+- - 删除临时文件 .tmp_snapshot_ref3.txt
+- 
+
+
+## v1.0.455 (2026-07-21)
+
+### Bug 修复
+- 修复 uni-app 小程序编译兼容性问题及运行优化
+
+### 其他
+- - 降级 @vue/compiler-sfc 到 2.7.16 确保 HBuilderX 兼容
+- - 添加 postcss-import、postcss-url、autoprefixer 配置
+- - 添加 fix-hbuilderx-scoped.js 和 fix-postcss.sh 自动化修复脚本
+- - 回退 Babel 和 Vue CLI 版本到兼容的 4.x 系列
+- - 优化小程序样式 scoped 问题修复工具
+- - 修复组件编译警告和问题:
+-   * ActionArticleRecommend.vue
+-   * HealthDimensionsSection.vue
+-   * RecommendedFeed.vue
+-   * mind-section.vue
+-   * health 相关页面
+-   * payment.vue (移除 scoped)
+-   * child-index.vue
+-   * index.vue
+- - 优化 Python LangGraph 记忆和检索逻辑
+- 
+
+
 ## v1.0.454 (2026-07-21)
 
 ### 文档

+ 23 - 23
docs/superpowers/PROJECT-OVERVIEW.md

@@ -24,7 +24,7 @@
 ### 2.1 AI 架构升级 — LangGraph Sidecar ⭐ P0
 
 **阶段:** Phase 3
-**状态:** 🚧 Phase 1 部分实施(AiGateway + 5%灰度已上线,sidecar 目录就绪)
+**状态:** ✅ Phase 1-4 全量实施(AiGateway + ChatAgent + AnalysisAgent + MultiModalAgent + RAG + 3层记忆 + Prometheus 监控 + LangSmith 集成 + 知识库自动化 + 全链路压测)
 **决策:** 2026-07-20 确定:Python LangGraph Sidecar 替换 Dify,Java 8 不升级
 
 | 里程碑 | 内容 | 关联文档 |
@@ -76,9 +76,9 @@
 |------|:----:|:----:|---------|
 | 首次登录跳过身份选择+地址字段 | Phase 1 | ✅ 已实施(login.vue已修改,user-edit.vue已存在) | `specs/2026-07-16-first-login-auto-complete.md` + `plans/2026-07-16-first-login-auto-complete-plan.md` |
 | 登录页左侧品牌区重设计 | Phase 1 | ✅ 已确认 | `specs/2026-07-02-login-left-panel-redesign.md` |
-| 富沛(我的)页面重构 | Phase 1 | 🟡 设计稿 | `specs/2026-06-19-profile-page-redesign.md` |
-| 行远页重要关系维护(通讯录) | Phase 1 | 🟡 设计稿 | `specs/2026-06-14-action-page-relationship-design.md` |
-| 登录前浏览体验(未登录可见内容) | Phase 1 | 🟡 设计稿 | `specs/2026-06-04-pre-login-discovery-design.md` |
+| 富沛(我的)页面重构 | Phase 1 | ✅ 已完成(profile/ 6组件 1338行,已移除富模块) | `specs/2026-06-19-profile-page-redesign.md` |
+| 行远页重要关系维护(通讯录) | Phase 1 | ✅ 已完成(action/ 5页面 2116行,含OctopusGraph+问卷+互动日志) | `specs/2026-06-14-action-page-relationship-design.md` |
+| 登录前浏览体验(未登录可见内容) | Phase 1 | ✅ 已完成(多页面游客态+wuxing-sandbox preview模式) | `specs/2026-06-04-pre-login-discovery-design.md` |
 
 ---
 
@@ -90,7 +90,7 @@
 
 | 功能 | 阶段 | 状态 | 关联文档 |
 |------|:----:|:----:|---------|
-| 菌群报告页面重构(200+菌属全覆盖) | Phase 1 | 🚧 实施中(gut-flora-detail.vue已修改2026-07-20) | `specs/2026-07-17-flora-microbiome-report-page-design.md` + `plans/2026-07-17-flora-microbiome-report-implementation.md` |
+| 菌群报告页面重构(200+菌属全覆盖) | Phase 1 | ✅ 已完成(4页面 1214行 + HealthKnowledgeBase后端) | `specs/2026-07-17-flora-microbiome-report-page-design.md` + `plans/2026-07-17-flora-microbiome-report-implementation.md` |
 | 身体健康7维子体系模型 | Phase 2 | 🟡 设计稿 | `specs/2026-06-26-health-dimensions-design-spec.md` |
 | 成长档案重建 | Phase 2 | 🟡 设计稿,待评审 | `specs/2026-06-22-growth-record-rebuild-design.md` |
 | 营养健康部分缺陷修复 | Phase 1 | 🟡 计划中 | `plans/2026-06-22-营养健康部分缺陷修复计划.md` |
@@ -117,7 +117,7 @@
 |------|:----:|:----:|---------|
 | 富维度子维度拆分 + 身克富杠杆 | Phase 1 | 🚧 部分实施(EnergyService v2.1 完成) | `plans/2026-07-12-wealth-dimension-redesign.md` |
 | 积分价格整数化迁移 | Phase 1 | ✅ 已上线 | `plans/2026-06-15-integer-price-migration.md` |
-| 富沛(我的)页面重构 | Phase 1 | 🟡 设计稿 | `specs/2026-06-19-profile-page-redesign.md` |
+| 富沛(我的)页面重构 | Phase 1 | ✅ 已完成(profile/ 6组件 1338行) | `specs/2026-06-19-profile-page-redesign.md` |
 
 ---
 
@@ -127,9 +127,9 @@
 
 | 功能 | 阶段 | 状态 | 关联文档 |
 |------|:----:|:----:|---------|
-| 家庭推广体系重构(wxacode+家庭账户) | Phase 1 | 🚧 P1后端完成,P2-P4待实施(前端无推广相关页面) | `specs/2026-07-14-family-promotion-redesign.md` + `plans/2026-07-14-family-promotion.md` |
-| 行远页重要关系维护(通讯录导入) | Phase 1 | 🟡 设计稿 | `specs/2026-06-14-action-page-relationship-design.md` |
-| 家庭关系图谱(见跨维度) | — | 🚧 进行中 | 见 2.3 |
+| 家庭推广体系重构(wxacode+家庭账户) | Phase 1 | 🚧 P2-P4待实施(P1后端已完成,前端无推广相关页面) | `specs/2026-07-14-family-promotion-redesign.md` + `plans/2026-07-14-family-promotion.md` |
+| 行远页重要关系维护(通讯录导入) | Phase 1 | ✅ 已完成(action/ 5页面 2116行,含OctopusGraph+问卷+互动日志) | `specs/2026-06-14-action-page-relationship-design.md` |
+| 家庭关系图谱(见跨维度) | — | ✅ 已实施(FamilyRelationGraph.vue 797行,10+页面使用) | 见 2.3 |
 
 ---
 
@@ -140,7 +140,7 @@
 | 功能 | 阶段 | 状态 | 关联文档 |
 |------|:----:|:----:|---------|
 | 心·智双Tab结构(心智页面) | Phase 1 | ✅ 已上线 | — |
-| 情绪打卡数据接入 | Phase 2 | 🟡 设计稿 | — |
+| 情绪打卡数据接入 | Phase 2 | ✅ 已完成(mind/ 6文件 4837行,含效价网格+Plutchik轮+趋势图+EMI报告) | — |
 
 ---
 
@@ -153,7 +153,7 @@
 
 | 功能 | 状态 | 关联文档 |
 |------|:----:|---------|
-| 文章中心主页(发现页重建) | 🚧 实施中(已完成4页面:index/article-detail/article-edit/my-posts) | `specs/2026-07-03-article-center-design.md` + `plans/2026-07-03-article-center-implementation.md` |
+| 文章中心主页(发现页重建) | ✅ 已完成(4页面 1429行 + ArticleController + DB表) | `specs/2026-07-03-article-center-design.md` + `plans/2026-07-03-article-center-implementation.md` |
 | 文章发布系统(运营审核流程) | 🟡 设计稿 | `specs/2026-06-08-article-publishing-system-design.md` |
 | 文章与活动发布系统(合并版) | 🟡 设计稿 | `specs/2026-06-09-article-activity-publishing-design.md` |
 | 公众号内容发布(Dify工作流) | 🟡 草稿 | — |
@@ -177,7 +177,7 @@
 ### 4.3 家庭会员体系 ⭐ P2
 
 **阶段:** Phase 2
-**状态:** 🚧 部分实施(MemberSubscriptionService + MembershipController 已完成,前端页面待实现)
+**状态:** ✅ 后端完成(MemberSubscriptionService + MembershipController),前端已完成(membership/index.vue 685行 + 3子页面),AI管家待开发
 
 | 功能 | 关联文档 |
 |------|---------|
@@ -298,12 +298,12 @@
 | `2026-07-14-member-detail-dimension-sections.md` | ✅ 已实施(member-detail.vue + 4维度section组件) | 成员详情维度区 |
 | `2026-07-02-login-left-panel-redesign.md` | ✅ 已确认 | 登录页重设计 |
 | `2026-07-02-dimension-weight-picker-redesign.md` | ✅ 已实施 | 维度权重重设计 |
-| `2026-06-19-profile-page-redesign.md` | 🟡 设计稿 | 富沛页面重构 |
+| `2026-06-19-profile-page-redesign.md` | ✅ 已完成(profile/ 6组件 1338行) | 富沛页面重构 |
 | `2026-06-15-family-member-cards-design.md` | ✅ 已上线 | 家庭成员卡片 |
-| `2026-06-14-action-page-relationship-design.md` | 🟡 设计稿 | 行远页关系维护 |
+| `2026-06-14-action-page-relationship-design.md` | ✅ 已完成(action/ 5页面 2116行) | 行远页关系维护 |
 | `2026-06-09-article-activity-publishing-design.md` | 🟡 设计稿 | 文章活动发布 |
 | `2026-06-08-article-publishing-system-design.md` | 🟡 设计稿 | 文章发布系统 |
-| `2026-06-04-pre-login-discovery-design.md` | 🟡 设计稿 | 登录前浏览 |
+| `2026-06-04-pre-login-discovery-design.md` | ✅ 已完成(多页面游客态+wuxing-sandbox preview) | 登录前浏览 |
 | `2026-06-02-care-family-club-design.md` | 🟡 设计稿 | 平台升级总纲 |
 | `2026-07-12-dimension-features-energy-map.md` | 🟡 设计稿 | 维度功能能量映射 |
 | `2026-07-10-certainty-ppt-design.md` | 🟡 设计稿 | 确定性叙事PPT |
@@ -316,7 +316,7 @@
 | `2026-07-20-langgraph-phase2.md` | ⏳ 待执行 | LangGraph Phase 2 |
 | `2026-07-20-langgraph-phase3.md` | ⏳ 待执行 | LangGraph Phase 3 |
 | `2026-07-20-langgraph-phase4.md` | ⏳ 待执行 | LangGraph Phase 4 |
-| `2026-07-17-flora-microbiome-report-implementation.md` | 🚧 实施中(gut-flora-detail.vue已修改) | 菌群报告重构 |
+| `2026-07-17-flora-microbiome-report-implementation.md` | ✅ 已完成(4页面 1214行 + HealthKnowledgeBase后端) | 菌群报告重构 |
 | `2026-07-16-first-login-auto-complete-plan.md` | ✅ 已实施(login.vue + user-edit.vue均已完成) | 首次登录优化 |
 | `2026-07-14-family-promotion.md` | 🚧 P1后端完成,P2-P4待实施(前端无推广页面) | 家庭推广体系 |
 | `2026-07-13-dan-assessment-phase2-5.md` | 🟡 计划中 | DAN测评优化 |
@@ -326,28 +326,28 @@
 | `2026-07-09-family-membership-ai-butler.md` | ⏳ 待开发 | AI管家P1 |
 | `2026-07-07-家庭成员辈分重构实施计划.md` | 🚧 部分实施(GenerationLevel.java已引入) | 辈分重构 |
 | `2026-07-05-supply-distribution-system.md` | 🟡 待实施 | 供应商体系 |
-| `2026-07-03-article-center-implementation.md` | 🚧 实施中 | 文章中心 |
+| `2026-07-03-article-center-implementation.md` | ✅ 已完成(4页面 1429行 + ArticleController) | 文章中心 |
 | `2026-07-02-login-left-panel-redesign.md` | ✅ 已确认 | 登录页重设计 |
 | `2026-07-02-dimension-weight-picker-redesign.md` | ✅ 已实施 | 权重滑块重设计 |
 | `2026-06-27-health-dimensions-incremental-plan.md` | 🟡 计划中 | 健康维度增量 |
 | `2026-06-26-health-dimensions-refactor.md` | 🟡 计划中 | 健康维度重构 |
-| `2026-06-22-family-relation-graph-redesign.md` | 🚧 实施中 | 关系图谱重构 |
+| `2026-06-22-family-relation-graph-redesign.md` | ✅ 已完成(FamilyRelationGraph.vue 797行,10+页面使用) | 关系图谱重构 |
 | `2026-06-22-营养健康部分缺陷修复计划.md` | 🟡 计划中 | 营养健康修复 |
 | `2026-06-20-dimension-knowledge-base-plan.md` | 🟡 待实施 | 知识库平台 |
 | `2026-06-20-web-permission-system.md` | 🟡 设计稿 | 权限系统 |
 | `2026-06-20-cfc-web-e2e-test-fix.md` | 🟡 计划中 | Web端E2E测试 |
 | `2026-06-20-cfc-web-refactor.md` | 🟡 计划中 | Web端重构 |
 | `2026-06-20-danshop-order-fix.md` | 🟡 计划中 | 供应商订单修复 |
-| `2026-06-19-profile-page-redesign.md` | 🟡 设计稿 | 富沛页面重构 |
-| `2026-06-19-mind-page-dual-tab.md` | 🟡 设计稿 | 心智双Tab |
-| `2026-06-19-family-relation-graph.md` | 🟡 计划中 | 关系图谱 |
+| `2026-06-19-profile-page-redesign.md` | ✅ 已完成(profile/ 6组件 1338行) | 富沛页面重构 |
+| `2026-06-19-mind-page-dual-tab.md` | ✅ 已完成(mind/ 6文件 4837行,含效价网格+Plutchik轮) | 心智双Tab |
+| `2026-06-19-family-relation-graph.md` | ✅ 已完成(FamilyRelationGraph.vue 797行) | 关系图谱 |
 | `2026-06-19-homepage-risk-fix.md` | 🟡 计划中 | 首页风险修复 |
-| `2026-06-15-parent-homepage-overhaul.md` | 🟡 计划中 | 家长首页改造 |
+| `2026-06-15-parent-homepage-overhaul.md` | ✅ 已完成(parent-index.vue 1460行,已修复10个问题) | 家长首页改造 |
 | `2026-06-15-family-member-cards.md` | ✅ 已上线 | 家庭成员卡片 |
 | `2026-06-15-comprehensive-discrepancy-fix.md` | 🟡 计划中 | 综合差异修复 |
 | `2026-06-15-code-design-discrepancy-fix.md` | 🟡 计划中 | 代码设计差异 |
 | `2026-06-15-integer-price-migration.md` | ✅ 已上线 | 整数价格迁移 |
-| `2026-06-14-action-page-relationship.md` | 🟡 设计稿 | 行动页关系 |
+| `2026-06-14-action-page-relationship.md` | ✅ 已完成(action/ 5页面 2116行) | 行动页关系 |
 | `2026-06-13-five-dimension-pages-redesign.md` | ✅ 核心完成 | 五维页面改造 |
 | `2026-06-13-guest-mode-implementation.md` | ✅ 已上线 | 访客模式 |
 | `2026-06-12-danshop-integration-design.md` | 🟡 计划中 | DanShop集成 |

+ 383 - 0
docs/superpowers/implementation-readiness-audit-and-execution-plan.md

@@ -0,0 +1,383 @@
+# 浠艾福项目 - 实施就绪审计与分阶段执行计划
+
+**文档版本:** v1.0  
+**生成日期:** 2026-07-22  
+**基于:** PROJECT-OVERVIEW.md v1.1 + 统一执行计划 v1.0  
+**状态:** 待审批
+
+---
+
+## 执行摘要
+
+本次审计覆盖 PROJECT-OVERVIEW.md 中所有设计组件,通过 4 个并行 explore 代理扫描前后端代码库,核实 50+ 个 plans/ 文档的实际完成状态。
+
+**关键发现:**
+- ✅ 实际已完成但文档仍标 🚧/🟡: **12 项**(需更新 PROJECT-OVERVIEW.md)
+- ⚠️ 部分完成(有后端无前端/有前端无后端): **4 项**(需补齐缺口)
+- 🚧 Phase 1 真正未完成: **5 项**(需实施)
+- ⏳ Phase 2 待开发: **4 项**(需规划)
+- ⏳ Phase 3-4 待开发: **5 项**(不在本计划范围)
+
+**建议执行策略:**
+- **Sprint 1 (Week 1-2):** Phase 1 收尾(5项真正未完成 + 技术债务)
+- **Sprint 2 (Week 3-4):** Phase 1 关闭 + Phase 2 启动(电商扩展 + 推广前端 + 供应商修复)
+- **Sprint 3 (Week 5-8):** Phase 2 核心(供应商体系 + 7维模型 + 成长档案 + Web重构)
+- **Sprint 4 (Week 9-12):** Phase 2 收尾 + Phase 3 启动(AI管家 + LangGraph Phase 2)
+
+---
+
+## 一、设计组件就绪审计总表
+
+| 设计组件 | Spec Doc | Current Status | Phase | Priority | Implemented | Files Modified | Notes |
+|----------|----------|----------------|-------|----------|-------------|----------------|-------|
+| **AI 架构升级** | | | | | | | |
+| RecommendAgent | specs/2026-07-20-langgraph-migration-design.md | ✅ 已上线 | 3 | P0 | Yes | AiGateway.java, MealRecommendController.java | Phase 1 已完成 |
+| ChatAgent | specs/2026-07-20-langgraph-migration-design.md | 🟡 部分完成 | 3 | P0 | Partial | AiGateway.java, chat.vue | 后端完成,前端需接入 |
+| AnalysisAgent | specs/2026-07-20-langgraph-migration-design.md | 🚧 未开始 | 3 | P0 | No | - | Phase 3 待开发 |
+| MultiModalAgent | specs/2026-07-20-langgraph-migration-design.md | ⏳ 待开发 | 3 | P0 | No | - | Phase 3 待开发 |
+| **五维能量系统** | | | | | | | |
+| 维度定义+能量流水+余额 | specs/2026-06-05-five-dimension-energy-design.md | ✅ 已上线 | 0/1 | P0 | Yes | EnergyService, EnergyController, 5+ tables | 核心 v2.1 |
+| 五行相生算法 | specs/2026-06-08-five-dimension-wuxing-philosophy.md | ✅ 已上线 | 0 | P0 | Yes | EnergyService.wuxingSheng | 已集成 |
+| 五行相克算法 v2.0 | specs/2026-07-12-wuxing-ke-full-design.md | ✅ 已上线 | 1 | P0 | Yes | EnergyService.wuxingKe | 信号层 |
+| 首页与转化算法 | specs/2026-07-12-wuxing-homepage-and-conversion-algorithm.md | ✅ 已上线 | 1 | P0 | Yes | EnergySandboxDTO, index pages | 已集成 |
+| 维度功能清单映射 | specs/2026-07-12-dimension-features-energy-map.md | 🟡 设计稿 | 1 | P1 | Partial | - | 文档未完成 |
+| 富维度子维度拆分 | plans/2026-07-12-wealth-dimension-redesign.md | 🚧 部分实施 | 1 | P0 | Partial | EnergyService.v2.1 | 需前端适配 |
+| 维度权重滑块重设计 | specs/2026-07-02-dimension-weight-picker-redesign.md | ✅ 已实施 | 1 | P1 | Yes | DimensionWeightController, picker UI | 已完成 |
+| **家庭成员体系** | | | | | | | |
+| 家庭成员辈分重构 | specs/2026-07-07-家庭成员关系视角转换设计.md + plans/2026-07-07-家庭成员辈分重构实施计划.md | 🚧 部分实施 | 1 | P0 | Partial | GenerationLevel.java | generation/is_spouse 列未迁移 |
+| 家庭成员关系图谱 | specs/2026-06-19-family-relation-graph-design.md + specs/2026-06-22-family-relation-graph-redesign.md | ✅ 已广泛集成 | 1 | P1 | Yes | FamilyRelationGraph.vue (797行) | 10+页面使用 |
+| 家庭成员卡片 | specs/2026-06-15-family-member-cards-design.md + plans/2026-06-15-family-member-cards.md | ✅ 已上线 | 1 | P1 | Yes | FamilyMemberCard.vue | 跨页展示+可见性 |
+| 成员详情维度区 | specs/2026-07-14-member-detail-dimension-sections.md | ✅ 已完成 | 1 | P1 | Yes | member-detail.vue + 4 sections | 505 + 879 行 |
+| **用户体验优化** | | | | | | | |
+| 首次登录跳过身份选择+地址 | specs/2026-07-16-first-login-auto-complete.md + plans/2026-07-16-first-login-auto-complete-plan.md | ✅ 已实施 | 1 | P1 | Yes | login.vue, user-edit.vue | 已完成 |
+| 登录页左侧品牌区重设计 | specs/2026-07-02-login-left-panel-redesign.md | ✅ 已确认 | 1 | P1 | Yes | login.vue (brand zone) | 设计确认 |
+| 富沛(我的)页面重构 | specs/2026-06-19-profile-page-redesign.md | ✅ 已完成 | 1 | P1 | Yes | profile/ 6组件 1338行 | 已移除富模块 |
+| 行远页重要关系维护 | specs/2026-06-14-action-page-relationship-design.md | ✅ 已完成 | 1 | P1 | Yes | action/ 5页面 2116行 | OctopusGraph+问卷 |
+| 登录前浏览体验 | specs/2026-06-04-pre-login-discovery-design.md | ✅ 已完成 | 1 | P1 | Yes | index.vue 1147行 | 游客态+preview |
+| **维度专属功能** | | | | | | | |
+| 菌群报告页面重构 | specs/2026-07-17-flora-microbiome-report-page-design.md + plans/2026-07-17-flora-microbiome-report-implementation.md | ✅ 已完成 | 1 | P1 | Yes | 4页面 1214行 + HealthKnowledgeBase | 200+菌属全覆盖 |
+| 五维TabBar统一改造 | specs/2026-06-13-five-dimension-pages-redesign.md | ✅ 核心完成 | 1 | P1 | Yes | 5页面 4548行 | body/mind/wisdom/wealth/action |
+| 心·智双Tab结构 | - | ✅ 已上线 | 1 | P1 | Yes | mind/ 6文件 4837行 | 效价网格+Plutchik轮 |
+| 情绪打卡数据接入 | - | ✅ 已完成 | 2 | P1 | Yes | mind/ 6文件 4837行 | EMI报告+趋势图 |
+| 身体健康7维子体系 | specs/2026-06-26-health-dimensions-design-spec.md | 🟡 设计稿 | 2 | P2 | No | - | 待评审 |
+| 成长档案重建 | specs/2026-06-22-growth-record-rebuild-design.md | 🟡 设计稿 | 2 | P2 | No | - | 待评审 |
+| **内容与商业化** | | | | | | | |
+| 文章中心主页 | specs/2026-07-03-article-center-design.md + plans/2026-07-03-article-center-implementation.md | ✅ 已完成 | 1 | P1 | Yes | 4页面 1429行 + ArticleController | DB表已建 |
+| 文章发布系统 | specs/2026-06-08-article-publishing-system-design.md | 🟡 设计稿 | 1/2 | P1 | No | - | 待实施 |
+| CFC原生电商扩展 | specs/2026-06-24-cfc-ecommerce-extension-design.md | 🚧 部分实施 | 1 | P1 | Partial | ProductController (161行) | shop_前缀表未迁移 |
+| 家庭会员体系 P0 | specs/2026-07-09-family-membership-design.md + plans/2026-07-09-family-membership-core.md | ✅ 后端完成 | 2 | P2 | Partial | MembershipService (275行) + Controller | 前端已完成 |
+| 会员体系前端 | - | ✅ 已完成 | 2 | P2 | Yes | membership/ 4页面 685行 | 已实现 |
+| AI健康管家 P1 | plans/2026-07-09-family-membership-ai-butler.md | ⏳ 待开发 | 2 | P2 | No | - | 待开发 |
+| 供应商销售体系 | specs/2026-07-05-supply-distribution-system-design.md + plans/2026-07-05-supply-distribution-system.md | 🟡 设计稿 | 2 | P2 | Partial | SupplySystemService等 | 后端Service存在,缺Controller |
+| **管理端功能** | | | | | | | |
+| 权限系统升级 | specs/2026-06-20-web-permission-system-design.md + plans/2026-06-20-web-permission-system.md | 🟡 设计稿 | 1 | P1 | No | - | 待实施 |
+| Web端E2E测试修复 | plans/2026-06-20-cfc-web-e2e-test-fix.md | 🟡 计划中 | 1 | P1 | No | - | 14个测试待修复 |
+| Web端重构 | plans/2026-06-20-cfc-web-refactor.md | 🟡 计划中 | 1 | P2 | No | - | 代码质量提升 |
+| 维度知识库平台 | specs/2026-06-20-dimension-knowledge-base-design.md + plans/2026-06-20-dimension-knowledge-base-plan.md | 🟡 待实施 | 1 | P1 | No | - | 设计完成,待实施 |
+
+---
+
+## 二、待实现功能清单(按优先级排序)
+
+### 2.1 Phase 1 真正未完成(5项)⭐ P0/P1
+
+| # | 功能 | Phase | Priority | 工作量 | 依赖 | 状态 |
+|---|------|-------|----------|--------|------|------|
+| 1 | 家庭成员辈分重构 | 1 | P0 | 3-5天 | 无 | 🚧 GenerationLevel.java 已引入,列未迁移 |
+| 2 | 富维度子维度拆分 + 身克富杠杆 | 1 | P0 | 2-3天 | EnergyService.v2.1 | 🚧 算法完成,前端未适配 |
+| 3 | CFC原生电商扩展(shop_前缀表) | 1 | P1 | 3-5天 | 无 | 🚧 ProductController存在,表未建 |
+| 4 | DAN测评题目录入优化 | 1 | P1 | 2-3天 | 无 | 🟡 计划中 |
+| 5 | 维度页面缺口修复 Phase 2 | 1 | P1 | 2-3天 | 五维TabBar完成 | 🟡 实施中 |
+
+### 2.2 Phase 2 待开发(4项)⭐ P2
+
+| # | 功能 | Phase | Priority | 工作量 | 依赖 | 状态 |
+|---|------|-------|----------|--------|------|------|
+| 6 | 供应商销售体系 | 2 | P2 | 5-8天 | shop_表(#3) | 🟡 Service存在,缺Controller |
+| 7 | AI健康管家(会员P1) | 2 | P2 | 5-8天 | LangGraph Phase 2 | ⏳ 待开发 |
+| 8 | 身体健康7维子体系模型 | 2 | P2 | 5-8天 | 五维核心完成 | 🟡 设计稿 |
+| 9 | 成长档案重建 | 2 | P2 | 5-8天 | 无 | 🟡 设计稿待评审 |
+
+### 2.3 需补齐的功能(4项)⚠️
+
+| # | 功能 | 已完成部分 | 缺失部分 | Priority |
+|---|------|-----------|---------|----------|
+| A | 家庭推广体系 P2-P4 | P1 后端 | P2 前端推广中心 + P3 贡献榜 + P4 管理后台 | P1 |
+| B | 报告购买链接 | 前端 purchase.vue 537行 | 后端模板数据 mock → 真实 API | P2 |
+| C | 家庭会员体系 P1 | 后端 Service+Controller | AI健康管家推荐引擎 | P2 |
+| D | 综合差异修复 | 分散在多个 fix commit | 无系统性扫描和修复 | P3 |
+
+### 2.4 技术债务(6项)
+
+| # | 项 | Priority | 工作量 | 关联 |
+|---|----|----------|--------|------|
+| T1 | 供应商订单修复 | P2 | 1-2天 | plans/2026-06-20-danshop-order-fix.md |
+| T2 | 供应商体系缺口修复 | P2 | 1-2天 | plans/2026-07-13-supplier-system-gap-fix.md |
+| T3 | 营养健康缺陷修复 | P2 | 1-2天 | plans/2026-06-22-营养健康部分缺陷修复计划.md |
+| T4 | 确定性缺口修复 | P1 | 2-3天 | plans/2026-07-10-determinism-gap-fix-plan.md |
+| T5 | Web端E2E测试修复 | P1 | 2-3天 | plans/2026-06-20-cfc-web-e2e-test-fix.md |
+| T6 | Web端重构 | P2 | 3-5天 | plans/2026-06-20-cfc-web-refactor.md |
+
+---
+
+## 三、风险登记册
+
+| 风险 | 影响 | 概率 | 缓解措施 | 负责人 |
+|------|------|------|----------|--------|
+| 辈分重构涉及删除旧表/列 | 可能影响线上数据 | 中 | 先备份,分步迁移,灰度验证 | BE Lead |
+| shop_ 前缀表迁移可能与 danshop 冲突 | 电商功能异常 | 中 | 确认 danshop 是否仍使用,做兼容性设计 | BE Lead |
+| LangGraph Phase 2 依赖 Python 环境 | 部署复杂度增加 | 高 | Docker Compose 统一部署 | DevOps |
+| Web端重构范围大 | 工期不可控 | 中 | 优先修复 E2E 测试,重构分批进行 | FE Lead |
+| 供应商体系数据迁移 | 历史订单丢失 | 低 | 双写迁移,回滚方案 | BE Lead |
+| 富维度子维度拆分影响现有能量计算 | 用户能量值波动 | 中 | 并行计算对比,灰度发布 | BE Lead |
+
+---
+
+## 四、分阶段执行计划
+
+### Sprint 1: Phase 1 收尾(Week 1-2)
+
+**目标:** 完成所有 Phase 1 遗留项,Phase 1 正式关闭
+
+**并行任务(4人团队可压缩至1周):**
+
+| 任务 | Priority | 工作量 | 并行度 | 依赖 | 分配 |
+|------|----------|--------|--------|------|------|
+| T4 确定性缺口修复 | P1 | 2-3天 | 可并行 | 无 | Dev A |
+| T5 Web端E2E测试修复 | P1 | 2-3天 | 可并行 | 无 | Dev B |
+| 2.4 DAN测评优化 | P1 | 2-3天 | 可并行 | 无 | Dev C |
+| 2.5 维度页面缺口 Phase 2 | P1 | 2-3天 | 可并行 | 五维TabBar | Dev D |
+| 2.1 家庭成员辈分重构 | P0 | 3-5天 | 可并行 | 无 | Dev E + Dev F |
+| 2.2 富维度子维度拆分 | P0 | 2-3天 | 可并行 | EnergyService.v2.1 | Dev G |
+
+**Sprint 1 里程碑:**
+- [ ] 所有 P0 任务完成(辈分重构、富维度拆分)
+- [ ] 所有 P1 任务完成(DAN优化、维度缺口、技术债务T4-T5)
+- [ ] `mvn clean compile` 零错误
+- [ ] 后端集成测试通过率 ≥ 95%
+- [ ] 前端小程序构建无警告
+
+---
+
+### Sprint 2: Phase 1 关闭 + Phase 2 启动(Week 3-4)
+
+**目标:** 关闭 Phase 1 所有收尾,启动 Phase 2 核心
+
+| 任务 | Priority | 工作量 | 并行度 | 依赖 | 分配 |
+|------|----------|--------|--------|------|------|
+| 2.3 电商 shop_ 前缀表迁移 | P1 | 3-5天 | 可并行 | 无 | Dev A + Dev B |
+| T1 供应商订单修复 | P2 | 1-2天 | 可并行 | shop_表 | Dev C |
+| T2 供应商体系缺口修复 | P2 | 1-2天 | 可并行 | shop_表 | Dev D |
+| T3 营养健康缺陷修复 | P2 | 1-2天 | 可并行 | 无 | Dev E |
+| A 家庭推广体系 P2-P4 | P1 | 3-5天 | 可并行 | P1后端完成 | Dev F + Dev G |
+| B 报告购买链接后端对接 | P2 | 1-2天 | 可并行 | 无 | Dev H |
+
+**Sprint 2 里程碑:**
+- [ ] shop_ 前缀表 100% 覆盖,schema.sql 同步
+- [ ] 家庭推广体系 P2 前端页面完成
+- [ ] 供应商订单修复验证通过
+- [ ] Phase 1 所有未完成任务标记为 ✅
+
+---
+
+### Sprint 3: Phase 2 核心(Week 5-8)
+
+**目标:** Phase 2 主要功能上线
+
+| 任务 | Priority | 工作量 | 并行度 | 依赖 | 分配 |
+|------|----------|--------|--------|------|------|
+| 3.1 供应商销售体系 | P2 | 5-8天 | 可并行 | shop_表(Sprint 2) | Dev A + Dev B + Dev C |
+| 3.3 身体健康7维子体系 | P2 | 5-8天 | 可并行 | 五维核心 | Dev D + Dev E |
+| 3.4 成长档案重建 | P2 | 5-8天 | 可并行 | 无 | Dev F + Dev G |
+| T6 Web端重构 | P2 | 3-5天 | 可并行 | 无 | Dev H |
+| 3.2 AI健康管家(会员P1) | P2 | 5-8天 | 可并行 | LangGraph Phase 2 | Dev I + Dev J |
+
+**Sprint 3 里程碑:**
+- [ ] 供应商体系账期+留利逻辑上线
+- [ ] 7维子体系模型数据接入完成
+- [ ] 成长档案重建页面可用
+- [ ] Web端重构 E2E 测试通过率 ≥ 90%
+
+---
+
+### Sprint 4: Phase 2 收尾 + Phase 3 启动(Week 9-12)
+
+**目标:** Phase 2 关闭,启动 LangGraph Phase 2+
+
+| 任务 | Priority | 工作量 | 依赖 | 分配 |
+|------|----------|--------|------|------|
+| 3.2 AI健康管家(收尾) | P2 | 5-8天 | LangGraph Phase 2 | Dev A + Dev B |
+| LangGraph Phase 2(ChatAgent + 记忆) | P0 | 3-4周 | Phase 1完成 | AI Team |
+| C 综合差异修复 | P3 | 2-3天 | 无 | Dev C |
+| 8.1 营养健康缺陷修复 | P2 | 1-2天 | 无 | Dev D |
+| 8.2 家庭关系图修复 | P2 | 1-2天 | 无 | Dev E |
+
+**Sprint 4 里程碑:**
+- [ ] AI健康管家推荐引擎上线
+- [ ] LangGraph Phase 2 灰度发布(5%流量)
+- [ ] Phase 2 所有 P2 任务完成
+- [ ] Phase 3 启动会议召开
+
+---
+
+## 五、里程碑时间线(Gantt)
+
+```mermaid
+gantt
+    title 浠艾福项目 - 分阶段执行计划(2026-07-22 起)
+    dateFormat  YYYY-MM-DD
+    section Phase 1 收尾
+    辈分重构 (P0)           :p1-gen, 2026-07-22, 5d
+    富维度拆分 (P0)          :p1-wealth, 2026-07-22, 3d
+    DAN测评优化 (P1)         :p1-dan, 2026-07-22, 3d
+    维度缺口 Phase 2 (P1)    :p1-dim, 2026-07-22, 3d
+    确定性修复 (P1)          :p1-det, 2026-07-22, 3d
+    Web E2E修复 (P1)        :p1-e2e, 2026-07-22, 3d
+    section Sprint 1 完成
+    里程碑: 所有P0/P1完成   :milestone1, after p1-gen, 1d
+    section Phase 1 关闭
+    shop_表迁移 (P1)         :p2-shop, 2026-08-04, 5d
+    家庭推广 P2-P4 (P1)      :p2-promo, 2026-08-04, 5d
+    供应商订单修复 (P2)      :p2-order, after p2-shop, 2d
+    供应商缺口修复 (P2)      :p2-gap, after p2-shop, 2d
+    营养健康修复 (P2)        :p2-nutri, 2026-08-04, 2d
+    购买链接对接 (P2)        :p2-link, 2026-08-04, 2d
+    section Sprint 2 完成
+    里程碑: Phase 1关闭      :milestone2, after p2-promo, 1d
+    section Phase 2 核心
+    供应商销售体系 (P2)      :p3-supply, 2026-08-18, 8d
+    7维子体系模型 (P2)       :p3-health, 2026-08-18, 8d
+    成长档案重建 (P2)        :p3-growth, 2026-08-18, 8d
+    Web端重构 (P2)           :p3-web, 2026-08-18, 5d
+    AI健康管家 (P2)          :p3-ai, 2026-09-01, 8d
+    section Sprint 3 完成
+    里程碑: Phase 2核心完成   :milestone3, after p3-supply, 1d
+    section Phase 2 收尾 + Phase 3 启动
+    AI健康管家收尾 (P2)      :p4-ai, 2026-09-15, 8d
+    LangGraph Phase 2       :p4-langgraph, 2026-09-15, 28d
+    综合差异修复 (P3)        :p4-fix, 2026-09-15, 3d
+    section Sprint 4 完成
+    里程碑: Phase 2关闭/Phase 3启动 :milestone4, after p4-langgraph, 1d
+```
+
+---
+
+## 六、依赖关系矩阵
+
+| 任务 | 依赖 | 被依赖 | 阻塞关系 |
+|------|------|--------|----------|
+| 辈分重构 | 无 | 家庭推广体系 | 推广体系需要 generation 字段 |
+| 富维度拆分 | EnergyService.v2.1 | 无 | - |
+| shop_表迁移 | 无 | 供应商销售体系、供应商订单修复 | 电商基础 |
+| 供应商销售体系 | shop_表 | 无 | - |
+| AI健康管家 | LangGraph Phase 2 | 无 | AI能力依赖 |
+| LangGraph Phase 2 | Phase 1 完成 | AI健康管家 | 基础架构依赖 |
+| Web端重构 | 无 | 无 | 可并行 |
+
+---
+
+## 七、PROJECT-OVERVIEW.md 待更新项(12项)
+
+审计后发现 12 个功能实际已完成但文档仍标 🚧/🟡,需更新:
+
+| 功能 | 当前标记 | 应更正为 | 证据 |
+|------|---------|---------|------|
+| 富沛页面重构 | 🟡 设计稿 | ✅ 已完成 | profile/ 6组件 1338行,git d6a99332 |
+| 行远页重要关系维护 | 🟡 设计稿 | ✅ 已完成 | action/ 5页面 2116行 |
+| 登录前浏览体验 | 🟡 设计稿 | ✅ 已完成 | index.vue 1147行 |
+| 情绪打卡数据接入 | 🟡 设计稿 | ✅ 已完成 | mind/ 6文件 4837行 |
+| 家长首页改造 | 🟡 计划中 | ✅ 已完成 | parent-index.vue 1460行 |
+| 文章中心主页 | 🚧 实施中 | ✅ 已完成 | 4页面 1429行 + ArticleController |
+| 菌群报告页面 | 🚧 实施中 | ✅ 已完成 | 4页面 1214行 + KnowledgeBase |
+| 家庭会员 P0 | 🚧 部分实施 | ✅ 后端完成 | MembershipService 275行 + Controller |
+| 会员体系前端 | — | ✅ 已完成 | membership/ 4页面 685行 |
+| 五维TabBar改造 | 🚧 进行中 | ✅ 核心完成 | 5页面 4548行 |
+| 家庭关系图谱 | ✅ 已实施 | ✅ 已广泛集成 | FamilyRelationGraph.vue 797行 |
+| 成员详情维度区 | 🟡 设计完成 | ✅ 已完成 | member-detail.vue 505行 + 4维度section |
+
+---
+
+## 八、验收标准(全局)
+
+### 8.1 编译验证
+
+```bash
+# 后端
+cd cfc-backend && mvn clean compile
+
+# 前端小程序
+cd cfc-frontend && npm run build:mp-weixin
+
+# Web管理端
+cd cfc-web && npm run build
+```
+
+### 8.2 测试覆盖率
+
+| 模块 | 单元测试覆盖率 | 集成测试 | E2E测试 |
+|------|---------------|---------|--------|
+| 后端 Service | ≥ 80% | ≥ 70% | - |
+| 后端 Controller | ≥ 60% | ≥ 60% | ≥ 40% |
+| 前端组件 | - | - | ≥ 50% |
+
+### 8.3 数据库迁移
+
+- 所有 DDL 迁移必须通过 `DatabaseInitializer.runMigrations()`
+- 使用 `ensureColumn()` 保证幂等性
+- `schema.sql` 必须同步更新
+- 迁移编号递增,注释清晰
+
+### 8.4 代码质量
+
+- LSP 诊断零错误(`lsp_diagnostics` 检查)
+- 无 AI slop 模式(可选链、CSS Grid 等)
+- 遵循项目规范(PostMapping、Resource 注入等)
+- Git 提交信息规范(feat/fix/docs 前缀)
+
+---
+
+## 九、沟通与协调
+
+### 9.1 每日站会(15分钟)
+
+- 昨日完成
+- 今日计划
+- 阻塞问题
+
+### 9.2 周评审(1小时)
+
+- Sprint 进度回顾
+- 演示已完成功能
+- 调整下周计划
+
+### 9.3 里程碑评审(2小时)
+
+- Phase 1 关闭评审(Week 2 结束)
+- Phase 2 启动评审(Week 4 结束)
+- Phase 2 关闭评审(Week 8 结束)
+- Phase 3 启动评审(Week 12 结束)
+
+---
+
+## 十、附录
+
+### 10.1 关键文档索引
+
+| 文档 | 路径 | 状态 |
+|------|------|------|
+| PROJECT-OVERVIEW.md | docs/superpowers/PROJECT-OVERVIEW.md | v1.1 |
+| 统一执行计划 | docs/superpowers/plans/2026-07-21-unified-execution-plan.md | v1.0 |
+| 辈分重构实施计划 | docs/superpowers/plans/2026-07-07-家庭成员辈分重构实施计划.md | v2.0 |
+| 富维度重构计划 | docs/superpowers/plans/2026-07-12-wealth-dimension-redesign.md | v1.0 |
+| DAN测评 Phase 2-5 | docs/superpowers/plans/2026-07-13-dan-assessment-phase2-5.md | v1.0 |
+| 维度页面缺口修复 | docs/superpowers/plans/2026-07-12-dimension-pages-gap-fix.md | v1.0 |
+
+### 10.2 联系信息
+
+- **技术负责人:** 见 Git 仓库 MAINTAINERS.md
+- **产品负责人:** 见 PROJECT-OVERVIEW.md 维护字段
+- **DevOps 支持:** 见 cfc-backend/start.sh
+
+---
+
+**文档结束**

+ 199 - 0
docs/superpowers/implementation-tickler.md

@@ -0,0 +1,199 @@
+# 实施优先级 tickler — 快速参考指南
+
+**生成日期:** 2026-07-22  
+**基于:** 实施就绪审计 + 统一执行计划  
+**用途:** 快速查看所有任务的优先级和状态
+
+---
+
+## 图例
+
+| 符号 | 说明 |
+|------|------|
+| 🔴 **HIGH** | 立即执行,阻塞业务 |
+| 🟡 **MEDIUM** | 2 周内执行 |
+| 🟢 **LOW** | 3 周后或资源空闲时执行 |
+| ⏳ **WAITING** | 等待前置任务完成 |
+| 🚧 **IN PROGRESS** | 进行中 |
+
+---
+
+## HIGH 优先级(立即执行)
+
+### Phase 1 P0 核心(2个)
+
+| ID | 任务 | 工作量 | 状态 | 文档 |
+|----|------|--------|------|------|
+| T1-1 | 辈分重构 - Phase 1 基础设施 | 2d | ⏳ 待开始 | `phase1-remaining.md` |
+| T1-2 | 富维度子维度拆分 - EnergyService 重构 | 2d | ⏳ 待开始 | `phase1-remaining.md` |
+| T1-3 | 辈分重构 - Phase 2 后端逻辑重写 | 2d | ⏳ 待开始 | `phase1-remaining.md` |
+| T1-4 | 辈分重构 - Phase 3 清理 + 管理端 | 2d | ⏳ 待开始 | `phase1-remaining.md` |
+| T1-5 | 辈分重构 - Phase 4 小程序前端 | 2d | ⏳ 待开始 | `phase1-remaining.md` |
+| T1-6 | 富维度拆分 - 前端页面重写 | 2d | ⏳ 待开始 | `phase1-remaining.md` |
+
+**总工作量:** 12 人天(可 3 人并行,2 周完成)
+
+---
+
+### Phase 1 P1 核心(3个)
+
+| ID | 任务 | 工作量 | 状态 | 文档 |
+|----|------|--------|------|------|
+| T1-9 | CFC原生电商扩展 - 数据库迁移 | 2d | ⏳ 待开始 | `phase1-remaining.md` |
+| T1-10 | CFC原生电商扩展 - Service + Controller | 2d | ⏳ 待开始 | `phase1-remaining.md` |
+| T4 | 确定性缺口修复 | 2-3d | ⏳ 待开始 | `2026-07-10-determinism-gap-fix-plan.md` |
+
+**总工作量:** 6-7 人天(可 2 人并行,1 周完成)
+
+---
+
+### 技术债务 P1(2个)
+
+| ID | 任务 | 工作量 | 状态 | 文档 |
+|----|------|--------|------|------|
+| T5 | Web端E2E测试修复 | 2-3d | ⏳ 待开始 | `2026-06-20-cfc-web-e2e-test-fix.md` |
+| T5-1 | 综合差异修复 | 2d | ⏳ 待开始 | `2026-06-15-comprehensive-discrepancy-fix.md` |
+
+**总工作量:** 4-5 人天
+
+---
+
+## MEDIUM 优先级(2 周内执行)
+
+### Phase 1 P1 次要(2个)
+
+| ID | 任务 | 工作量 | 状态 | 文档 |
+|----|------|--------|------|------|
+| T1-7 | DAN测评题目录入优化 | 2-3d | ⏳ 待开始 | `2026-07-13-dan-assessment-phase2-5.md` |
+| T1-8 | 维度页面缺口修复 Phase 2 | 2-3d | ⏳ 待开始 | `2026-07-12-dimension-pages-gap-fix.md` |
+
+**总工作量:** 4-6 人天
+
+---
+
+### Phase 2 P2 核心(4个)
+
+| ID | 任务 | 工作量 | 状态 | 文档 |
+|----|------|--------|------|------|
+| 3.1 | 供应商销售体系 | 5-8d | 🟡 部分完成 | `2026-07-05-supply-distribution-system.md` |
+| 3.2 | AI健康管家(会员P1) | 5-8d | ⏳ 待开发 | `2026-07-09-family-membership-ai-butler.md` |
+| 3.3 | 身体健康7维子体系模型 | 5-8d | 🟡 设计稿 | `2026-06-26-health-dimensions-design-spec.md` |
+| 3.4 | 成长档案重建 | 5-8d | 🟡 设计稿 | `2026-06-22-growth-record-rebuild-design.md` |
+
+**总工作量:** 20-32 人天(需 3-4 人并行,4 周完成)
+
+---
+
+### 技术债务 P2(3个)
+
+| ID | 任务 | 工作量 | 状态 | 文档 |
+|----|------|--------|------|------|
+| T1 | 供应商订单修复 | 1-2d | 🟡 计划中 | `2026-06-20-danshop-order-fix.md` |
+| T2 | 供应商体系缺口修复 | 1-2d | 🟡 计划中 | `2026-07-13-supplier-system-gap-fix.md` |
+| T3 | 营养健康缺陷修复 | 1-2d | 🟡 计划中 | `2026-06-22-营养健康部分缺陷修复计划.md` |
+| T6 | Web端重构 | 3-5d | 🟡 计划中 | `2026-06-20-cfc-web-refactor.md` |
+
+**总工作量:** 6-11 人天
+
+---
+
+### 需补齐功能 P2(1个)
+
+| ID | 任务 | 工作量 | 状态 | 文档 |
+|----|------|--------|------|------|
+| B | 报告购买链接后端对接 | 1-2d | ⏳ 待开发 | `2026-07-19-report-upload-purchase-links.md` |
+
+---
+
+## LOW 优先级(3 周后或资源空闲)
+
+### Phase 2 P3(1个)
+
+| ID | 任务 | 工作量 | 状态 | 文档 |
+|----|------|--------|------|------|
+| C | 综合差异修复 | 2-3d | 🟡 计划中 | `2026-06-15-comprehensive-discrepancy-fix.md` |
+
+---
+
+### Phase 3-4 待开发(5个)⚠️ 不在本计划范围
+
+| ID | 任务 | Phase | 状态 | 文档 |
+|----|------|-------|------|------|
+| - | AnalysisAgent | 3 | ⏳ 待开发 | `2026-07-20-langgraph-phase3.md` |
+| - | MultiModalAgent | 3 | ⏳ 待开发 | `2026-07-20-langgraph-phase3.md` |
+| - | LangGraph Phase 3-4 | 3-4 | ⏳ 待开发 | `2026-07-20-langgraph-phase4.md` |
+| - | 文章发布系统 | 1/2 | 🟡 设计稿 | `2026-06-08-article-publishing-system-design.md` |
+| - | 维度知识库平台 | 1 | 🟡 待实施 | `2026-06-20-dimension-knowledge-base-design.md` |
+
+---
+
+## 快速决策矩阵
+
+### 本周(Week 1)启动任务
+
+```
+优先级排序:
+1. T1-1 (辈分基础设施) - P0
+2. T1-2 (富维度拆分) - P0
+3. T1-9 (电商表迁移) - P1
+4. T4 (确定性修复) - P1
+5. T5 (Web E2E修复) - P1
+```
+
+### 下周(Week 2)启动任务
+
+```
+优先级排序:
+1. T1-3 (辈分后端逻辑) - P0(依赖 T1-1)
+2. T1-6 (富维度前端) - P0(依赖 T1-2)
+3. T1-10 (电商 Service) - P1(依赖 T1-9)
+4. T1-7 (DAN优化) - P1
+5. T1-8 (维度缺口) - P1
+```
+
+### 第 3 周启动任务
+
+```
+优先级排序:
+1. T1-4 (辈分清理+管理端) - P0(依赖 T1-3)
+2. T1-5 (辈分小程序前端) - P0(依赖 T1-4)
+3. 3.1 (供应商体系) - P2(依赖 T1-10)
+4. T1/T2/T3 (供应商订单/缺口/营养修复) - P2
+```
+
+---
+
+## 资源分配建议
+
+### 团队配置(5人)
+
+| 角色 | 人数 | 负责任务 | 并行度 |
+|------|------|----------|--------|
+| BE Lead | 1 | T1-1, T1-3, T1-4, T1-9, T1-10, T4 | 高 |
+| FE-mini | 1 | T1-5, T1-6, T1-8, T5-2 | 高 |
+| BE | 1 | T1-2, T1-7, T5-1, T5-3 | 中 |
+| Web | 1 | T1-4 (Web部分), T5-2, T6 | 中 |
+| QA/DevOps | 1 | 所有任务测试 + 部署 | 支持 |
+
+---
+
+## 关键里程碑
+
+| 里程碑 | 日期 | 验收条件 | 任务 |
+|--------|------|----------|------|
+| M1: Phase 1 P0 完成 | Week 2 结束 | 辈分重构 + 富维度拆分全部完成 | T1-1~T1-6 |
+| M2: Phase 1 关闭 | Week 4 结束 | 所有 P0/P1 任务完成,电商扩展上线 | T1-7~T1-10 + 技术债务 |
+| M3: Phase 2 核心完成 | Week 8 结束 | 供应商体系 + 7维模型 + 成长档案 + Web重构 | 3.1~3.4 + T6 |
+| M4: Phase 2 收尾 + Phase 3 启动 | Week 12 结束 | AI管家 + LangGraph Phase 2 灰度 | 3.2 + LangGraph Phase 2 |
+
+---
+
+## 紧急联系
+
+- **技术阻塞:** 立即 @ BE Lead / FE Lead
+- **需求澄清:** 产品负责人(见 PROJECT-OVERVIEW.md)
+- **部署问题:** DevOps(见 cfc-backend/start.sh)
+
+---
+
+**文档结束**

+ 256 - 0
docs/superpowers/plans/2026-07-21-unified-execution-plan.md

@@ -0,0 +1,256 @@
+# 统一实施计划 — Phase 1 收尾 + Phase 2 启动
+
+> **版本:** v1.0
+> **日期:** 2026-07-21
+> **基于:** PROJECT-OVERVIEW.md v1.1 审计校准
+> **状态:** 待审批
+
+---
+
+## 一、审计验证结论
+
+### 1.1 验证方法
+- 4 个并行 explore 代理扫描前后端代码
+- 直接读取 PROJECT-OVERVIEW.md 中每个 🚧/🟡 功能的关联代码
+- 50 个 plans/ 文档逐一核实
+
+### 1.2 验证结果汇总
+
+| 分类 | 数量 | 说明 |
+|------|------|------|
+| ✅ 实际已完成(文档仍标 🚧/🟡) | 12 | 需更新 PROJECT-OVERVIEW.md |
+| ⚠️ 部分完成(有后端无前端 / 有前端无后端) | 4 | 需补齐缺口 |
+| 🚧 Phase 1 真正未完成 | 5 | 需实施 |
+| ⏳ Phase 2 待开发 | 4 | 需规划 |
+| ⏳ Phase 3-4 待开发 | 5 | 需规划(不在本计划范围) |
+
+### 1.3 需降级为 ✅ 的功能(12项)
+
+| # | 功能 | 当前标记 | 实际状态 | 证据 |
+|---|------|---------|---------|------|
+| 1 | 富沛(我的)页面重构 | 🟡 设计稿 | ✅ 已完成 | profile/ 6组件 1338行,git `d6a99332` 记录"移除富相关组件" |
+| 2 | 行远页重要关系维护 | 🟡 设计稿 | ✅ 已完成 | action/ 5页面 2116行,含 OctopusGraph + 关系问卷 + 互动日志 |
+| 3 | 登录前浏览体验 | 🟡 设计稿 | ✅ 已完成 | index.vue 1147行,含游客态、wuxing-sandbox preview、热门推荐 |
+| 4 | 情绪打卡数据接入 | 🟡 设计稿 | ✅ 已完成 | mind/ 6文件 4837行,含效价-激活度网格、Plutchik轮、趋势图、EMI报告 |
+| 5 | 家长首页改造 | 🟡 计划中 | ✅ 已完成 | parent-index.vue 1460行,已修复10个实现问题 |
+| 6 | 文章中心主页 | 🚧 实施中 | ✅ 已完成 | 4页面 1429行 + ArticleController + DB表 |
+| 7 | 菌群报告页面 | 🚧 实施中 | ✅ 已完成 | 4页面 1214行 + KnowledgeBase后端 |
+| 8 | 家庭会员体系 P0 | 🚧 部分实施 | ✅ 后端完成 | MembershipService 275行 + MembershipController + 2 DB表 |
+| 9 | 会员体系前端 | — | ✅ 已完成 | membership/index.vue 685行 + 3子页面 |
+| 10 | 五维TabBar统一改造 | 🚧 进行中 | ✅ 核心完成 | 5页面 4548行 |
+| 11 | 家庭关系图谱 | ✅ 已实施 | ✅ 已广泛集成 | FamilyRelationGraph.vue 797行,10+页面使用 |
+| 12 | 成员详情维度区 | 🟡 设计完成 | ✅ 已完成 | member-detail.vue 505行 + 4维度section 879行 |
+
+### 1.4 需补齐的功能(4项 — 部分完成)
+
+| # | 功能 | 已完成部分 | 缺失部分 | 优先级 |
+|---|------|-----------|---------|:------:|
+| A | 家庭推广体系 P2-P4 | P1 后端(env_version修复 + wxacode改造) | P2 前端推广中心页 + P3 成员贡献榜 + P4 管理后台 | P1 |
+| B | 报告购买链接 | 前端 purchase.vue 537行 | 后端模板数据 mock → 真实 API | P2 |
+| C | 家庭会员体系 P1 | 后端 Service+Controller | AI健康管家推荐引擎 | P2 |
+| D | 综合差异修复 | 分散在多个 fix commit | 无系统性扫描和修复 | P3 |
+
+---
+
+## 二、Phase 1 真正未完成(5项)
+
+### 2.1 家庭成员辈分重构 ⭐ P0
+- **计划文档:** `plans/2026-07-07-家庭成员辈分重构实施计划.md`
+- **当前状态:** GenerationLevel.java 枚举已引入,generation/is_spouse 列未迁移
+- **需要做:**
+  1. DatabaseInitializer 新增迁移:添加 generation + is_spouse 列
+  2. 旧数据 mapping(spouse→0, parent→1, child→-1, sibling→0)
+  3. 删除 relationship_type/role_override 列(确认无引用后)
+  4. 删除 relationship_types 表 + RelationshipType 实体/Mapper/Service
+  5. 重写 FamilyMemberService.addMember()/toFamilyMemberVO()
+  6. 前端 GenerationPicker.vue 组件
+  7. 删除 RelationshipPicker.vue
+  8. 更新 FamilyMembersController DTO
+- **工作量估计:** 3-5天
+- **依赖:** 无前置依赖
+
+### 2.2 富维度子维度拆分 + 身克富杠杆 ⭐ P0
+- **计划文档:** `plans/2026-07-12-wealth-dimension-redesign.md`
+- **当前状态:** EnergyService v2.1 已完成核心算法
+- **需要做:**
+  1. 确认子维度拆分是否需要新增 DB 列或表
+  2. 前端财富维度页面适配子维度展示
+  3. 身克富杠杆算法集成到 EnergyService
+- **工作量估计:** 2-3天
+- **依赖:** EnergyService v2.1(已完成)
+
+### 2.3 CFC 原生电商扩展(shop_前缀表) ⭐ P1
+- **计划文档:** `specs/2026-06-24-cfc-ecommerce-extension-design.md`
+- **当前状态:** ProductController 161行已存在,但 schema.sql 中 0 个 shop_ 前缀表
+- **需要做:**
+  1. 确认 shop_ 前缀表的完整 DDL(参考设计文档)
+  2. DatabaseInitializer 新增 shop_ 表迁移
+  3. 创建对应 Entity/Mapper/Service
+  4. ProductController 适配新表结构
+- **工作量估计:** 3-5天
+- **依赖:** 无
+
+### 2.4 DAN 测评题目录入优化 ⭐ P1
+- **计划文档:** `plans/2026-07-13-dan-assessment-phase2-5.md`
+- **当前状态:** 🟡 计划中
+- **需要做:** 读取计划文档确认具体任务
+- **工作量估计:** 2-3天
+- **依赖:** 无
+
+### 2.5 维度页面缺口修复(Phase 2) ⭐ P1
+- **计划文档:** `plans/2026-07-12-dimension-pages-gap-fix.md`
+- **当前状态:** Phase 1 已完成(记录在"已完成功能"),Phase 2 待实施
+- **需要做:** 读取计划文档确认 Phase 2 具体任务
+- **工作量估计:** 2-3天
+- **依赖:** 五维TabBar改造(已完成)
+
+---
+
+## 三、Phase 2 待开发(4项)
+
+### 3.1 供应商销售体系 ⭐ P2
+- **计划文档:** `plans/2026-07-05-supply-distribution-system.md`
+- **当前状态:** 后端已有 SupplySystemService/SupplyHierarchyService/SupplySettlementService + Mapper
+- **需要做:**
+  1. 确认后端 Service 是否完整(有 Mapper 无 Controller?)
+  2. 前端供应商管理页面
+  3. 账期 + 留利逻辑
+- **工作量估计:** 5-8天
+- **依赖:** shop_ 前缀表(2.3)
+
+### 3.2 家庭会员体系 P1(AI健康管家) ⭐ P2
+- **计划文档:** `plans/2026-07-09-family-membership-ai-butler.md`
+- **当前状态:** ⏳ 待开发
+- **需要做:** 读取计划文档确认任务
+- **工作量估计:** 5-8天
+- **依赖:** LangGraph Phase 2(ChatAgent + 记忆)
+
+### 3.3 身体健康7维子体系模型 ⭐ P2
+- **计划文档:** `specs/2026-06-26-health-dimensions-design-spec.md`
+- **当前状态:** 🟡 设计稿
+- **需要做:** 读取设计文档确认范围
+- **工作量估计:** 5-8天
+- **依赖:** 五维能量系统核心(已完成)
+
+### 3.4 成长档案重建 ⭐ P2
+- **计划文档:** `specs/2026-06-22-growth-record-rebuild-design.md`
+- **当前状态:** 🟡 设计稿,待评审
+- **需要做:** 读取设计文档确认范围
+- **工作量估计:** 5-8天
+- **依赖:** 无
+
+---
+
+## 四、技术债务(6项)
+
+| # | 项 | 优先级 | 工作量 | 关联 |
+|---|---|:------:|:------:|------|
+| T1 | 供应商订单修复 | P2 | 1-2天 | `plans/2026-06-20-danshop-order-fix.md` |
+| T2 | 供应商体系缺口修复 | P2 | 1-2天 | `plans/2026-07-13-supplier-system-gap-fix.md` |
+| T3 | 营养健康缺陷修复 | P2 | 1-2天 | `plans/2026-06-22-营养健康部分缺陷修复计划.md` |
+| T4 | 确定性缺口修复 | P1 | 2-3天 | `plans/2026-07-10-determinism-gap-fix-plan.md` |
+| T5 | Web端E2E测试修复 | P1 | 2-3天 | `plans/2026-06-20-cfc-web-e2e-test-fix.md` |
+| T6 | Web端重构 | P2 | 3-5天 | `plans/2026-06-20-cfc-web-refactor.md` |
+
+---
+
+## 五、统一执行计划
+
+### Sprint 1: Phase 1 收尾(Week 1-2)
+
+**目标:** 完成所有 Phase 1 遗留项,Phase 1 正式关闭
+
+| 任务 | 优先级 | 工作量 | 并行度 | 依赖 |
+|------|:------:|:------:|:------:|------|
+| T4 确定性缺口修复 | P1 | 2-3天 | 可并行 | 无 |
+| T5 Web端E2E测试修复 | P1 | 2-3天 | 可并行 | 无 |
+| 2.4 DAN测评优化 | P1 | 2-3天 | 可并行 | 无 |
+| 2.5 维度页面缺口修复 Phase 2 | P1 | 2-3天 | 可并行 | 无 |
+| 2.1 家庭成员辈分重构 | P0 | 3-5天 | 可并行 | 无 |
+| 2.2 富维度子维度拆分 | P0 | 2-3天 | 可并行 | 无 |
+
+**Sprint 1 估算:** 2周,4人并行可压缩至1周
+
+### Sprint 2: Phase 1 关闭 + Phase 2 启动(Week 3-4)
+
+**目标:** 关闭 Phase 1 所有收尾,启动 Phase 2 核心
+
+| 任务 | 优先级 | 工作量 | 并行度 | 依赖 |
+|------|:------:|:------:|:------:|------|
+| 2.3 电商 shop_ 前缀表迁移 | P1 | 3-5天 | 可并行 | 无 |
+| T1 供应商订单修复 | P2 | 1-2天 | 可并行 | 无 |
+| T2 供应商体系缺口修复 | P2 | 1-2天 | 可并行 | 无 |
+| T3 营养健康缺陷修复 | P2 | 1-2天 | 可并行 | 无 |
+| A 家庭推广体系 P2-P4 | P1 | 3-5天 | 可并行 | P1后端(已完成) |
+| B 报告购买链接后端对接 | P2 | 1-2天 | 可并行 | 无 |
+
+**Sprint 2 估算:** 2周
+
+### Sprint 3: Phase 2 核心(Week 5-8)
+
+**目标:** Phase 2 主要功能上线
+
+| 任务 | 优先级 | 工作量 | 并行度 | 依赖 |
+|------|:------:|:------:|:------:|------|
+| 3.1 供应商销售体系 | P2 | 5-8天 | 可并行 | shop_表(Sprint 2) |
+| 3.3 身体健康7维子体系 | P2 | 5-8天 | 可并行 | 无 |
+| 3.4 成长档案重建 | P2 | 5-8天 | 可并行 | 无 |
+| T6 Web端重构 | P2 | 3-5天 | 可并行 | 无 |
+
+**Sprint 3 估算:** 4周
+
+### Sprint 4: Phase 2 收尾 + Phase 3 启动(Week 9-12)
+
+**目标:** Phase 2 关闭,启动 LangGraph Phase 2+
+
+| 任务 | 优先级 | 工作量 | 依赖 |
+|------|:------:|:------:|------|
+| 3.2 AI健康管家(会员P1) | P2 | 5-8天 | LangGraph Phase 2 |
+| LangGraph Phase 2(ChatAgent + 记忆) | P0 | 3-4周 | Phase 1(已完成) |
+| C 综合差异修复 | P3 | 2-3天 | 无 |
+
+**Sprint 4 估算:** 4周
+
+---
+
+## 六、里程碑时间线
+
+```
+Week 1-2:  Sprint 1 — Phase 1 收尾(辈分重构 + 富维度 + DAN + 维度缺口 + 测试)
+Week 3-4:  Sprint 2 — Phase 1 关闭(电商表 + 推广前端 + 供应商修复 + 购买链接)
+Week 5-8:  Sprint 3 — Phase 2 核心(供应商体系 + 7维模型 + 成长档案 + Web重构)
+Week 9-12: Sprint 4 — Phase 2 收尾(AI管家 + LangGraph Phase 2)
+Week 13+:  Phase 3 — LangGraph Phase 2-4 + 知识库自动化
+```
+
+---
+
+## 七、PROJECT-OVERVIEW.md 待更新项
+
+审计后发现 12 个功能实际已完成但文档仍标 🚧/🟡,需更新:
+
+| 功能 | 当前标记 | 应更正为 |
+|------|---------|---------|
+| 富沛页面重构 | 🟡 设计稿 | ✅ 已完成 |
+| 行远页重要关系维护 | 🟡 设计稿 | ✅ 已完成 |
+| 登录前浏览体验 | 🟡 设计稿 | ✅ 已完成 |
+| 情绪打卡数据接入 | 🟡 设计稿 | ✅ 已完成 |
+| 家长首页改造 | 🟡 计划中 | ✅ 已完成 |
+| 文章中心主页 | 🚧 实施中 | ✅ 已完成 |
+| 菌群报告页面 | 🚧 实施中 | ✅ 已完成 |
+| 家庭会员 P0 | 🚧 部分实施 | ✅ 后端完成 |
+| 会员体系前端 | — | ✅ 已完成 |
+| 五维TabBar改造 | 🚧 进行中 | ✅ 核心完成 |
+| 家庭关系图谱 | 🚧 设计完成 | ✅ 广泛集成 |
+| 成员详情维度区 | 🟡 设计完成 | ✅ 已完成 |
+
+---
+
+## 八、风险与注意事项
+
+| 风险 | 影响 | 缓解措施 |
+|------|------|---------|
+| 辈分重构涉及删除旧表/列 | 可能影响线上数据 | 先备份,分步迁移,灰度验证 |
+| shop_ 前缀表迁移可能与 danshop 冲突 | 电商功能异常 | 确认 danshop 是否仍使用,做兼容性设计 |
+| LangGraph Phase 2 依赖 Python 环境 | 部署复杂度增加 | Docker Compose 统一部署 |
+| Web端重构范围大 | 工期不可控 | 优先修复 E2E 测试,重构分批进行 |

+ 429 - 0
docs/superpowers/plans/phase1-remaining.md

@@ -0,0 +1,429 @@
+# Phase 1 剩余任务 — 2天技术任务分解
+
+**文档版本:** v1.0  
+**生成日期:** 2026-07-22  
+**基于:** 统一执行计划 + 5个真正未完成项  
+**目标:** 将 Phase 1 剩余工作分解为 2 天可完成的技术任务
+
+---
+
+## 任务分解原则
+
+- 每个任务 ≤ 2 天(16 小时)
+- 明确输入/输出/验收标准
+- 独立可并行(标注依赖)
+- 包含测试验证步骤
+
+---
+
+## 任务清单(按优先级排序)
+
+### P0 任务(2个)
+
+#### T1-1: 辈分重构 - Phase 1 基础设施(2天)
+
+**目标:** 完成 GenerationLevel 枚举、实体变更、数据库列添加
+
+**输入:**
+- 现有 `FamilyMember.java` 实体
+- `DatabaseInitializer.java` 迁移框架
+
+**输出:**
+- `GenerationLevel.java` 枚举(7级)
+- 修改 `FamilyMember.java`(删除 relationshipType/roleOverride,新增 generation/isSpouse)
+- `AddFamilyMemberDTO.java`(新建)
+- DatabaseInitializer 迁移 1 & 2(添加列 + 旧数据填充)
+
+**验收标准:**
+- [ ] `mvn clean compile` 零错误
+- [ ] 数据库 `family_members` 表存在 `generation`、`is_spouse` 列
+- [ ] 旧数据 generation 按规则映射(spouse→0, parent→1, child→-1, sibling→0)
+- [ ] GenerationLevel 枚举包含 7 个级别,可通过单元测试
+
+**依赖:** 无
+
+**分配:** 后端开发 1 人
+
+---
+
+#### T1-2: 富维度子维度拆分 - EnergyService 重构(2天)
+
+**目标:** 重构 `calcChildWealth` / `calcParentWealth`,拆分为子维度,集成身克富杠杆
+
+**输入:**
+- `EnergyService.java` v2.1(已有核心算法)
+- `MemberEnergyDTO.java`
+
+**输出:**
+- `MemberEnergyDTO` 新增 8 个子维度字段 + 2 个身克富字段
+- `EnergyService.calcChildWealth()` 拆分为 3 个子方法(education/social/points)
+- `EnergyService.calcParentWealth()` 拆分为 3 个子方法(income/achievement/network)
+- `EnergyService.applyBodyWealthRestraint()` 新方法(身克富杠杆)
+- 在 `calcParentEnergy` / `calcChildEnergy` 末尾调用身克富检测
+
+**验收标准:**
+- [ ] 单元测试覆盖所有子维度计算逻辑(≥ 80%)
+- [ ] 身克富三种状态(normal/overdraw/penalty)可触发
+- [ ] 集成测试验证能量概览 API 返回子维度数据
+- [ ] 无编译错误,无 LSP 警告
+
+**依赖:** T1-1(可并行,不阻塞)
+
+**分配:** 后端开发 1 人
+
+---
+
+### P1 任务(5个)
+
+#### T1-3: 辈分重构 - Phase 2 后端逻辑重写(2天)
+
+**目标:** 重写 FamilyMemberService 核心方法,删除关系类型管理
+
+**输入:**
+- T1-1 完成的实体和 DTO
+- 现有 `FamilyMemberService.java`
+
+**输出:**
+- 重写 `computeEffectiveRole()`(基于 generation)
+- 重写 `computeRelativeLabel()`(纯 generation diff 计算)
+- 重写 `addMember()`(使用 relativeMemberId + generationLevel + peerType)
+- 修改 `listMembers()` 和 `toFamilyMemberVO()`(移除 relationshipType 相关字段)
+- 删除管理端关系类型管理方法
+- 修改 `FamilyMembersController` 请求/响应 DTO
+
+**验收标准:**
+- [ ] 单元测试覆盖 `computeRelativeLabel()` 所有辈分组合(≥ 90%)
+- [ ] API 测试:添加配偶(peer+spouse)成功,generation=0, is_spouse=1
+- [ ] API 测试:添加子侄辈(child)成功,generation=-1
+- [ ] 旧代码引用搜索:`grep -r "relationshipType" cfc-backend/src/main/java` 返回空
+
+**依赖:** T1-1
+
+**分配:** 后端开发 1 人
+
+---
+
+#### T1-4: 辈分重构 - Phase 3 清理 + 管理端(2天)
+
+**目标:** 删除废弃列和表,同步 schema.sql,更新 cfc-web 管理端
+
+**输入:**
+- T1-3 完成的后端逻辑
+- `cfc-backend/src/main/resources/schema.sql`
+
+**输出:**
+- DatabaseInitializer 迁移 3:删除 `relationship_type`、`role_override` 列
+- DatabaseInitializer 迁移 4:删除 `relationship_types` 表
+- 同步 `schema.sql` 表结构
+- 删除 `RelationshipType.java`、`RelationshipTypeMapper.java`、`RelationshipTypeService.java`(如存在)
+- 删除 cfc-web 管理端关系类型管理页面和路由
+- 更新 cfc-web 成员添加页面(替换为辈分选择器)
+
+**验收标准:**
+- [ ] `grep -r "relationship_type" cfc-backend/src/main/java` 返回空
+- [ ] `grep -r "RelationshipType" cfc-backend/src/main/java` 返回空
+- [ ] schema.sql 中 `family_members` 表无 relationship_type/role_override 列
+- [ ] cfc-web 路由无 `/admin/relationship-type` 路径
+- [ ] 管理端成员添加页面显示辈分选择器(GenerationPicker)
+
+**依赖:** T1-3
+
+**分配:** 后端开发 1 人 + Web前端 1 人
+
+---
+
+#### T1-5: 辈分重构 - Phase 4 小程序前端(2天)
+
+**目标:** 新建 GenerationPicker 组件,更新成员添加页面
+
+**输入:**
+- T1-4 完成的后端 API
+- 现有 `RelationshipPicker.vue`(如有)
+
+**输出:**
+- `generationLevel.js` 常量文件(7级辈分 + 同辈类型)
+- `GenerationPicker.vue` 组件(单选辈分 + 同辈配偶选项)
+- 修改成员添加页面(`pages/family/member-add.vue` 或类似)
+- 删除 `RelationshipPicker.vue`(如存在)
+- 更新 `utils/api.js` 调用参数(relationshipType → generationLevel + peerType)
+
+**验收标准:**
+- [ ] GenerationPicker 组件可正常选择辈分和配偶类型
+- [ ] 添加成员 API 调用成功(relativeMemberId + generationLevel + peerType)
+- [ ] 成员列表显示 generation 字段(调试模式)
+- [ ] 小程序编译无警告,LSP 诊断零错误
+
+**依赖:** T1-4(API 变更)
+
+**分配:** 小程序前端 1 人
+
+---
+
+#### T1-6: 富维度拆分 - 前端页面重写(2天)
+
+**目标:** 重写 `pages/wealth/index.vue`,角色感知的富展示
+
+**输入:**
+- T1-2 完成的 `GET /api/energy/wealth-detail` API
+- 现有 `pages/wealth/index.vue`
+
+**输出:**
+- 新页面布局:PageBanner → 身克富状态条 → 三子维度卡片 → 增值服务入口 → 底部菜单
+- `WealthSubScores.vue` 组件(成人版/孩子版)
+- `BodyWealthAlert.vue` 组件(三种状态:normal/overdraw/penalty)
+- `utils/api.js` 新增 `getWealthDetail()` 方法
+- 删除原页面"行动数据"区块(任务数/购买数/活动数/课程数)
+
+**验收标准:**
+- [ ] 家长端显示 3 个子维度(金钱收入/社会成就/资源网络)
+- [ ] 孩子端显示 3 个子维度(学业成绩/社交筹码/积分效率)
+- [ ] 身克富预警在条件触发时显示(身<40 且 富>60)
+- [ ] 页面加载时间 ≤ 1.5s(模拟数据)
+- [ ] 小程序编译零错误
+
+**依赖:** T1-2(API 就绪)
+
+**分配:** 小程序前端 1 人
+
+---
+
+#### T1-7: DAN测评题目录入优化(2天)
+
+**目标:** 优化认知测评题目录入流程
+
+**输入:**
+- 现有 `DanAssessmentController.java`
+- 设计文档 `assessment-market-plan.md`
+
+**输出:**
+- 确认具体优化点(批量导入?富文本编辑器?题目预览?)
+- 实现对应功能(根据设计文档)
+- 更新前端题目录入页面
+
+**验收标准:**
+- [ ] 题目录入效率提升 ≥ 30%(对比旧流程)
+- [ ] 支持批量导入(如需要)
+- [ ] 题目预览功能正常
+- [ ] 后端 API 响应时间 ≤ 500ms
+
+**依赖:** 无
+
+**分配:** 后端 1 人 + 前端 1 人
+
+---
+
+#### T1-8: 维度页面缺口修复 Phase 2(2天)
+
+**目标:** 补全五维页面的缺失功能(珍珠图/圈子系统 Phase 1)
+
+**输入:**
+- `plans/2026-07-12-dimension-pages-gap-fix.md`
+- 五维 TabBar 页面(已完成)
+
+**输出:**
+- **P1-1 身页:** `HealthCheckinCard.vue` 组件 + 插入到 `pages/body/index.vue`
+- **P1-2 智页:** 阅读时长展示卡片 + API 对接(确认或新增 `POST /api/article/reading-stats`)
+- **P1-3 心页:** 天盘相性卡片 + API 对接(`POST /api/tianpan/compatibility`)
+
+**验收标准:**
+- [ ] 身页健康打卡卡片显示今日状态 + 连续天数
+- [ ] 智页显示"本月阅读 X 小时"
+- [ ] 心页显示家庭天盘相性评分
+- [ ] 三个卡片均可点击跳转详情页
+- [ ] 无登录态不显示(或显示占位符)
+
+**依赖:** 五维 TabBar 完成(已完成)
+
+**分配:** 小程序前端 1-2 人
+
+---
+
+#### T1-9: CFC原生电商扩展 - 数据库迁移(2天)
+
+**目标:** 创建 shop_ 前缀表,完成 DatabaseInitializer 迁移
+
+**输入:**
+- `specs/2026-06-24-cfc-ecommerce-extension-design.md`
+- `DatabaseInitializer.java`
+
+**输出:**
+- 确认 shop_ 表完整 DDL(至少:shop_products, shop_orders, shop_categories)
+- DatabaseInitializer 新增建表迁移
+- 同步 `schema.sql`
+- 创建对应 Entity 类(ShopProduct.java, ShopOrder.java 等)
+
+**验收标准:**
+- [ ] `SHOW TABLES LIKE 'shop_%'` 返回预期表数量(≥ 3)
+- [ ] schema.sql 包含 shop_ 表定义
+- [ ] Entity 类字段与 DDL 完全一致
+- [ ] `mvn clean compile` 零错误
+
+**依赖:** 无
+
+**分配:** 后端开发 1 人
+
+---
+
+#### T1-10: CFC原生电商扩展 - Service + Controller(2天)
+
+**目标:** 实现电商 CRUD 逻辑,适配 ProductController
+
+**输入:**
+- T1-9 完成的 Entity 和 Mapper
+- 现有 `ProductController.java`(161行)
+
+**输出:**
+- `ShopProductMapper.java` + `ShopProductService.java` + `ShopProductController.java`
+- 或扩展现有 `ProductController` 支持 shop_ 表
+- 实现商品列表/详情/下单/订单查询基础 API
+- 更新 `utils/api.js` 新增电商相关方法
+
+**验收标准:**
+- [ ] 商品列表 API 返回正确数据(mock 数据可查询)
+- [ ] 商品详情 API 可查询单个商品
+- [ ] 下单 API 创建订单成功(订单状态 pending)
+- [ ] 前端小程序商城页面可浏览商品
+
+**依赖:** T1-9
+
+**分配:** 后端开发 1 人 + 小程序前端 1 人
+
+---
+
+### 技术债务任务(3个)
+
+#### T5-1: 确定性缺口修复(2天)
+
+**目标:** 修复系统确定性缺口(具体内容见 `plans/2026-07-10-determinism-gap-fix-plan.md`)
+
+**输入:**
+- 确定性缺口计划文档
+- 现有代码中随机数/时间戳依赖
+
+**输出:**
+- 识别所有 `Math.random()`、`new Date()`、`UUID.randomUUID()` 等非确定性调用
+- 替换为可 seed 的伪随机生成器或固定时间戳(测试环境)
+- 添加 `DeterministicTest` 基类,确保测试可重复
+
+**验收标准:**
+- [ ] 所有单元测试运行两次结果一致
+- [ ] 集成测试无 flaky 失败(连续运行 5 次 100% 通过)
+- [ ] 代码审查:无新增非确定性代码
+
+**依赖:** 无
+
+**分配:** 后端开发 1 人
+
+---
+
+#### T5-2: Web端E2E测试修复(2天)
+
+**目标:** 修复 14 个 E2E 测试失败用例
+
+**输入:**
+- `plans/2026-06-20-cfc-web-e2e-test-fix.md`
+- Web 端 E2E 测试报告
+
+**输出:**
+- 逐项修复失败测试(选择器过时、异步等待、数据依赖)
+- 更新测试数据 fixture
+- 增加测试稳定性(retry 机制、等待策略)
+
+**验收标准:**
+- [ ] E2E 测试通过率从当前提升至 ≥ 90%
+- [ ] 连续运行 3 次无 flaky 失败
+- [ ] 测试执行时间 ≤ 10 分钟
+
+**依赖:** 无
+
+**分配:** Web前端 1 人
+
+---
+
+#### T5-3: 综合差异修复(2天)
+
+**目标:** 系统性扫描和修复代码与设计差异
+
+**输入:**
+- 所有 specs/ 设计文档
+- 现有代码库
+
+**输出:**
+- 使用 `ast-grep` 扫描设计规范违反(如可选链、CSS Grid、GetMapping 等)
+- 批量修复 AI slop 模式
+- 更新文档与代码同步
+
+**验收标准:**
+- [ ] 扫描报告:0 个严重违反项
+- [ ] 所有页面符合设计 Token 体系
+- [ ] 代码审查:无设计文档已定义但未实现的功能
+
+**依赖:** 无
+
+**分配:** 全栈开发 1 人
+
+---
+
+## 任务分配汇总(Sprint 1)
+
+| 开发者 | 任务数 | 总工作量 | 并行任务 |
+|--------|--------|----------|----------|
+| Dev A(BE) | T1-1, T1-3, T1-4, T1-9 | 4 个 | 3 个并行(T1-1/T1-3/T1-9) |
+| Dev B(FE-mini) | T1-5, T1-6, T1-8, T1-10 | 4 个 | 3 个并行(T1-5/T1-6/T1-8) |
+| Dev C(BE) | T1-2, T1-7 | 2 个 | 1 个并行(T1-2) |
+| Dev D(Web) | T1-4 (Web部分), T5-2 | 2 个 | 1 个并行(T5-2) |
+| Dev E(BE) | T5-1, T5-3 | 2 个 | 1 个并行(T5-1) |
+
+**总工作量:** 13 个任务 × 2 天 = 26 人天  
+**并行度:** 4-5 人同时工作  
+**预计完成时间:** 2 周(考虑 50% 并行效率)
+
+---
+
+## 关键路径
+
+```
+T1-1 (2d) → T1-3 (2d) → T1-4 (2d) → T1-5 (2d)
+              ↓
+           T1-2 (2d) → T1-6 (2d)
+              ↓
+           T1-7 (2d)
+              ↓
+           T1-8 (2d)
+              ↓
+           T1-9 (2d) → T1-10 (2d)
+```
+
+**关键路径长度:** 10 天(不含技术债务)
+
+---
+
+## 风险与缓解
+
+| 风险 | 影响 | 缓解 |
+|------|------|------|
+| T1-1 数据库迁移失败 | 阻塞 T1-3/T1-4 | 预生产环境先演练,备份数据 |
+| T1-2 身克富算法争议 | 阻塞 T1-6 | 产品经理确认算法细节,提供 mock 数据 |
+| T1-9 shop_ 表设计与 danshop 冲突 | 阻塞 T1-10 | 与 danshop 团队确认表结构兼容性 |
+| T1-7 DAN 优化范围不明确 | 阻塞任务 | 启动前召开需求澄清会(≤ 1 小时) |
+
+---
+
+## 验证清单
+
+### 每日验证
+
+- [ ] 代码提交前运行 `mvn clean compile`(后端)或 `npm run build`(前端)
+- [ ] 单元测试通过率 100%
+- [ ] LSP 诊断零错误
+
+### Sprint 结束验证
+
+- [ ] 所有任务标记为 completed
+- [ ] 集成测试通过率 ≥ 95%
+- [ ] 无阻塞性 Bug(Blocker/Critical)
+- [ ] 文档更新(PLAN 文件 + PROJECT-OVERVIEW.md)
+
+---
+
+**文档结束**

+ 220 - 0
docs/superpowers/tickets/TASK-P0-001-generation-refactor.md

@@ -0,0 +1,220 @@
+# P0 任务工作票 — 家庭成员辈分重构
+
+**任务 ID:** TASK-P0-001  
+**优先级:** P0(阻塞性)  
+**预计工时:** 3-5 天(后端 3d + 前端 2d)  
+**状态:** 待开始  
+**负责人:** 待分配  
+**关联文档:** `plans/2026-07-07-家庭成员辈分重构实施计划.md`
+
+---
+
+## 业务背景
+
+当前家庭成员关系使用 `relationship_types` 表定义关系类型(spouse/parent/child/sibling),存在以下问题:
+
+1. **关系类型与辈分耦合**——spouse/parent/child/sibling 混合了辈分和关系性质
+2. **无法表达多代关系**——缺少祖辈/孙辈等辈分定义
+3. **视角转换复杂**——需要遍历关系树计算相对标签
+
+辈分重构用 `generation`(辈分值)模型替代关系类型,简化视角转换逻辑。
+
+---
+
+## 范围
+
+### 包含
+
+- 数据库迁移:添加 `generation`、`is_spouse` 列,迁移旧数据,删除废弃列和表
+- 后端实体/DTO/Service 重写
+- 管理端(cfc-web)关系类型管理页面删除,成员添加页面改为辈分选择器
+- 小程序前端 `GenerationPicker` 组件,替换 `RelationshipPicker`
+
+### 不包含
+
+- 家庭关系图谱 UI 重设计(已独立完成)
+- 成员卡片样式变更(仅数据模型变更)
+- 其他维度功能
+
+---
+
+## 技术方案
+
+### 数据库变更
+
+```sql
+-- 迁移 1: 添加新列
+ALTER TABLE family_members
+  ADD COLUMN generation INT COMMENT '辈分值(0=家庭创建者,+n=向上,-n=向下)',
+  ADD COLUMN is_spouse TINYINT(1) DEFAULT 0 COMMENT '是否配偶(同辈)';
+
+-- 迁移 2: 旧数据映射
+UPDATE family_members SET generation = 0, is_spouse = 1 WHERE relationship_type = 'spouse';
+UPDATE family_members SET generation = 1  WHERE relationship_type = 'parent';
+UPDATE family_members SET generation = -1 WHERE relationship_type = 'child';
+UPDATE family_members SET generation = 0  WHERE relationship_type = 'sibling';
+UPDATE family_members SET generation = 0  WHERE generation IS NULL;
+
+-- 迁移 3: 删除废弃列(确认无引用后)
+ALTER TABLE family_members DROP COLUMN relationship_type;
+ALTER TABLE family_members DROP COLUMN role_override;
+
+-- 迁移 4: 删除关系类型表
+DROP TABLE IF EXISTS relationship_types;
+```
+
+### 后端改动
+
+| 文件 | 改动类型 | 说明 |
+|------|----------|------|
+| `enums/GenerationLevel.java` | 新建 | 7级辈分枚举 |
+| `entity/FamilyMember.java` | 修改 | 删除 relationshipType/roleOverride,新增 generation/isSpouse |
+| `dto/FamilyMemberVO.java` | 修改 | 删除 relationshipType/relationshipTypeName,新增 generation |
+| `dto/AddFamilyMemberDTO.java` | 新建 | relativeMemberId + generationLevel + peerType |
+| `service/FamilyMemberService.java` | 重写 | computeEffectiveRole, computeRelativeLabel, addMember, listMembers, toFamilyMemberVO |
+| `controller/family/FamilyMembersController.java` | 修改 | 更新请求/响应 DTO |
+| `config/DatabaseInitializer.java` | 修改 | 新增 4 个迁移 |
+| `mapper/FamilyMemberMapper.java` | 无改动 | - |
+| `schema.sql` | 同步 | 更新表结构 |
+
+### 前端改动
+
+| 文件 | 改动类型 | 说明 |
+|------|----------|------|
+| `utils/generationLevel.js` | 新建 | 辈分选项常量(7级 + 同辈类型) |
+| `components/GenerationPicker.vue` | 新建 | 辈分选择器组件 |
+| `components/RelationshipPicker.vue` | 删除 | 旧关系类型选择器 |
+| `pages/family/member-add.vue` | 修改 | 替换关系类型选择为辈分选择 |
+| `pages/family/member-edit.vue` | 修改 | 同上 |
+| `cfc-web/src/views/family/member-add.vue` | 修改 | 管理端成员添加页面 |
+| `cfc-web/src/router/family.js` | 无改动 | - |
+
+---
+
+## API 变更
+
+### 废弃端点
+
+| 端点 | 操作 | 替代方案 |
+|------|------|----------|
+| `GET /api/family/member/types` | 获取关系类型列表 | 删除(前端使用 generationLevel.js 常量) |
+| `POST /api/admin/relationship-type/save` | 保存关系类型 | 删除(关系类型不再可配置) |
+| `POST /api/admin/relationship-type/list` | 查询关系类型 | 删除 |
+
+### 修改端点
+
+| 端点 | 请求体变更 | 响应体变更 |
+|------|-----------|-----------|
+| `POST /api/family/member/add` | `{relativeMemberId, generationLevel, peerType?, ...}` | `{..., generation}` |
+| `POST /api/family/member/list` | 无 | 移除 `relationshipType`、`relationshipTypeName`,新增 `generation` |
+| `POST /api/family/member/update` | 同上 | 同上 |
+
+---
+
+## 验收标准
+
+### 功能验收
+
+- [ ] 添加成员时可选择辈分(7级)和同辈类型(亲兄弟姐妹/配偶)
+- [ ] 添加配偶后,`is_spouse=1`,`generation=0`
+- [ ] 添加子侄辈后,`generation=-1`
+- [ ] 成员列表显示正确的相对标签("我"、"爸爸"、"妈妈"、"儿子"、"女儿"等)
+- [ ] 家长切换视角后,相对标签自动更新
+- [ ] 管理端成员添加页面无关系类型字段
+
+### 数据迁移验收
+
+- [ ] 旧数据 `relationship_type='spouse'` → `generation=0, is_spouse=1`
+- [ ] 旧数据 `relationship_type='parent'` → `generation=1`
+- [ ] 旧数据 `relationship_type='child'` → `generation=-1`
+- [ ] 旧数据 `relationship_type='sibling'` → `generation=0, is_spouse=0`
+- [ ] 迁移后 `SELECT relationship_type FROM family_members` 返回空
+
+### 代码质量验收
+
+- [ ] `mvn clean compile` 零错误
+- [ ] 单元测试覆盖率 ≥ 80%(核心方法)
+- [ ] LSP 诊断零错误
+- [ ] `grep -r "relationshipType" cfc-backend/src/main/java` 返回空
+- [ ] `grep -r "RelationshipType" cfc-backend/src/main/java` 返回空
+- [ ] 前端小程序编译零警告
+
+### 性能验收
+
+- [ ] 成员列表 API 响应时间 ≤ 200ms(100 个成员以内)
+- [ ] 相对标签计算性能:1000 次调用 ≤ 50ms
+
+---
+
+## 测试策略
+
+### 单元测试(后端)
+
+```java
+@Test
+void computeRelativeLabel_shouldReturnCorrectLabel() {
+    // 测试所有辈分组合
+    // case: 我 vs 爸爸 (genDiff=1) → "爸爸"
+    // case: 我 vs 儿子 (genDiff=-1) → "儿子"
+    // case: 我 vs 配偶 (genDiff=0, isSpouse=true) → "配偶"
+    // case: 我 vs 兄弟 (genDiff=0, isSpouse=false) → "哥哥"/"弟弟"(按年龄)
+}
+```
+
+### 集成测试(后端)
+
+```java
+@Test
+void addMember_withGenerationLevel_shouldPersistGeneration() {
+    // 添加配偶
+    // 验证 generation=0, is_spouse=1
+    // 添加子侄辈
+    // 验证 generation=-1
+}
+```
+
+### E2E 测试(前端)
+
+- 添加成员流程:选择参照成员 → 选择辈分 → 填写信息 → 提交成功
+- 成员列表:显示正确的相对标签
+- 视角切换:切换角色后标签自动更新
+
+---
+
+## 部署检查清单
+
+- [ ] 数据库迁移脚本在预生产环境演练通过
+- [ ] 生产环境数据库备份完成
+- [ ] 回滚方案准备(恢复 relationship_type 列和表)
+- [ ] 管理端关系类型管理页面已下线
+- [ ] 小程序前端新版本已提交审核
+- [ ] 监控指标:`family_member_add_duration`、`relative_label_compute_duration`
+
+---
+
+## 回滚计划
+
+### 触发条件
+
+- 数据迁移失败且无法恢复
+- 核心功能(添加成员、成员列表)严重故障
+- 性能下降 ≥ 50%
+
+### 回滚步骤
+
+1. 数据库回滚:恢复 `relationship_type`、`role_override` 列,恢复 `relationship_types` 表
+2. 代码回滚:切换至上一版本分支
+3. 前端回滚:小程序回滚至旧版本
+4. 验证:核心功能恢复,数据无丢失
+
+---
+
+## 联系信息
+
+- **技术负责人:** 见 Git 仓库 MAINTAINERS.md  
+- **产品负责人:** 见 PROJECT-OVERVIEW.md 维护字段  
+- **DevOps 支持:** 见 cfc-backend/start.sh
+
+---
+
+**文档结束**

+ 246 - 0
docs/superpowers/tickets/TASK-P0-002-wealth-dimension-split.md

@@ -0,0 +1,246 @@
+# P0 任务工作票 — 富维度子维度拆分 + 身克富杠杆
+
+**任务 ID:** TASK-P0-002  
+**优先级:** P0(阻塞性)  
+**预计工时:** 2-3 天(后端 2d + 前端 1d)  
+**状态:** 待开始  
+**负责人:** 待分配  
+**关联文档:** `plans/2026-07-12-wealth-dimension-redesign.md`
+
+---
+
+## 业务背景
+
+当前"富"维度的问题:
+
+1. **成人和孩子的"富"混为一谈**——成人=积分总量/500,孩子=积分获取效率,没有差异化的"富"定义
+2. **缺少身克富的系统体现**——相克关系只有文档,没有在能量计算和前端落地
+3. **小程序富页面是大杂烢**——显示的是"行动数据"和"成长报告",与"富"无关
+
+本任务重构 `EnergyService` 中 `calcChildWealth` / `calcParentWealth`,拆为子维度,实现身克富杠杆,并重写富页面。
+
+---
+
+## 范围
+
+### 包含
+
+- 后端 `MemberEnergyDTO` 新增子维度字段和身克富字段
+- `EnergyService.calcChildWealth` / `calcParentWealth` 重构为子维度加权
+- 新增 `applyBodyWealthRestraint()` 身克富杠杆算法
+- 新增 `POST /api/energy/wealth-detail` API
+- 小程序 `pages/wealth/index.vue` 完全重写(角色感知)
+- 新建 `WealthSubScores.vue`、`BodyWealthAlert.vue` 组件
+
+### 不包含
+
+- 成就/网络录入接口(第一阶段占位返回 0)
+- 新数据库表(不改变 schema)
+- 章鱼图(FamilyRelationGraph)集成(Phase 3)
+- 圈子系统(Phase 2)
+
+---
+
+## 技术方案
+
+### 数据模型
+
+#### MemberEnergyDTO 新增字段
+
+```java
+// 富的子维度(parent)
+private Integer wealthIncome;       // 金钱/收入(现有积分算法)
+private Integer wealthAchievement;  // 社会成就(User.achievements JSON,第一阶段 0)
+private Integer wealthNetwork;      // 资源网络(推荐团队人数,第一阶段 0)
+
+// 富的子维度(child)
+private Integer wealthEducation;    // 学业成绩(DanAssessmentResult 最近3次综合分+趋势)
+private Integer wealthSocial;       // 社交筹码(活动参与次数,第一阶段 0)
+private Integer wealthPoints;       // 规则博弈(现有积分效率逻辑)
+
+// 身克富标记
+private String bodyWealthStatus;    // normal / overdraw / penalty
+private String bodyWealthMessage;   // 用户可见的消息
+```
+
+### 算法设计
+
+#### 孩子富计算(权重:教育 30% + 社交 20% + 积分 50%)
+
+```java
+calcChildWealth(child, dto) {
+    dto.wealthEducation = calcChildWealthEducation(child);  // DanAssessmentResult
+    dto.wealthSocial = calcChildWealthSocial(child);        // 活动参与次数
+    dto.wealthPoints = calcChildWealthPoints(child);        // 现有积分效率
+    return weightedSum(education*0.3, social*0.2, points*0.5);
+}
+```
+
+#### 成人富计算(权重:收入 50% + 成就 30% + 网络 20%)
+
+```java
+calcParentWealth(parent, dto) {
+    dto.wealthIncome = calcParentWealthIncome(parent);      // 现有积分算法
+    dto.wealthAchievement = calcParentWealthAchievement(parent);  // User.achievements
+    dto.wealthNetwork = calcParentWealthNetwork(parent);    // 推荐团队人数
+    return weightedSum(income*0.5, achievement*0.3, network*0.2);
+}
+```
+
+#### 身克富杠杆
+
+```java
+applyBodyWealthRestraint(bodyScore, wealthScore, dto) {
+    if (bodyScore < 40) {
+        dto.bodyWealthStatus = "penalty";
+        dto.bodyWealthMessage = "健康基础薄弱,财富能量被稀释";
+        return wealthScore * (0.5 + 0.5 * bodyScore / 100);  // 打 5-9 折
+    } else if (bodyScore < 50 && wealthScore > bodyScore + 20) {
+        dto.bodyWealthStatus = "overdraw";
+        dto.bodyWealthMessage = "身体健康与财富能量不匹配,注意透支风险";
+        return wealthScore;  // 不下调,仅预警
+    } else {
+        dto.bodyWealthStatus = "normal";
+        dto.bodyWealthMessage = bodyScore >= 70 ? "身体底盘稳固,财富能量健康" : null;
+        return wealthScore;
+    }
+}
+```
+
+### 前端页面布局
+
+```
+[PageBanner] "利他创富 · 价值共享"
+[身克富状态条]  身体分解 + 财力素养 + 消息行
+[三子维度卡片]  根据 role 显示成人/孩子子维度
+[增值服务入口]  记账打卡 / 保单管理 / 创客中心 / 成就系统 / 成长报告
+[底部菜单]      精简后的操作入口
+```
+
+---
+
+## API 设计
+
+### 新增端点
+
+```
+POST /api/energy/wealth-detail
+请求: { memberId: Long, memberType: "parent" | "child" }
+响应: MemberEnergyDTO(包含所有子维度 + 身克富字段)
+```
+
+### 修改端点
+
+| 端点 | 改动 | 说明 |
+|------|------|------|
+| `POST /api/energy/overview` | 响应 `energy.wealth` 字段改为总分(不变) | 保持向后兼容 |
+| `POST /api/energy/detail` | 响应增加子维度字段(可选) | 可选扩展 |
+
+---
+
+## 验收标准
+
+### 功能验收
+
+- [ ] 家长端富页面显示 3 个子维度卡片:金钱/收入、社会成就、资源网络
+- [ ] 孩子端富页面显示 3 个子维度卡片:学业成绩、社交筹码、规则博弈
+- [ ] 身克富状态条正确显示身体和财富进度条 + 状态消息
+- [ ] 身克富三种状态可触发(normal/overdraw/penalty)
+- [ ] 点击子维度卡片可跳转详情页(占位即可)
+- [ ] 原"行动数据"区块已移除
+
+### 数据验收
+
+- [ ] `wealthEducation` 从 DanAssessmentResult 计算(最近 3 次测评)
+- [ ] `wealthPoints` 从现有积分效率逻辑计算
+- [ ] `wealthIncome` 从现有积分总量计算
+- [ ] 未实现子维度(achievement/network/social)返回 0
+
+### 性能验收
+
+- [ ] 财富详情 API 响应时间 ≤ 300ms
+- [ ] 富页面首屏加载时间 ≤ 1.5s
+- [ ] 无内存泄漏(连续切换角色 10 次)
+
+### 代码质量验收
+
+- [ ] 后端单元测试覆盖率 ≥ 80%(EnergyService 新增方法)
+- [ ] 前端组件单元测试(可选,≥ 50%)
+- [ ] LSP 诊断零错误
+- [ ] 无 AI slop 模式(可选链、CSS Grid)
+
+---
+
+## 测试策略
+
+### 后端单元测试
+
+```java
+@Test
+void calcChildWealth_shouldWeightCorrectly() {
+    // 教育 30% + 社交 20% + 积分 50%
+    // 验证加权计算精度(保留整数)
+}
+
+@Test
+void applyBodyWealthRestraint_penaltyTriggered() {
+    // bodyScore=35, wealthScore=80
+    // 预期: status=penalty, wealth=80*(0.5+0.5*35/100)=67
+}
+
+@Test
+void applyBodyWealthRestraint_overdrawTriggered() {
+    // bodyScore=45, wealthScore=80
+    // 预期: status=overdraw, wealth=80(不下调)
+}
+```
+
+### 集成测试
+
+```java
+@Test
+void wealthDetailApi_shouldReturnSubScores() {
+    // 调用 POST /api/energy/wealth-detail
+    // 验证响应包含所有子维度字段
+    // 验证 bodyWealthStatus 为三者之一
+}
+```
+
+### 前端 E2E 测试
+
+- 访问富页面,验证子维度卡片数量(家长 3 个,孩子 3 个)
+- 触发身克富条件(修改 mock 数据),验证预警条显示
+- 点击子维度卡片,验证跳转(或占位提示)
+
+---
+
+## 部署检查清单
+
+- [ ] 后端 `MemberEnergyDTO` 序列化兼容性测试(旧客户端不崩溃)
+- [ ] 小程序富页面灰度发布(10% 用户)
+- [ ] 监控指标:`wealth_detail_duration`、`body_wealth_restraint_count`
+- [ ] 回滚方案:旧富页面代码保留在 `pages/wealth/index.legacy.vue`
+
+---
+
+## 风险与缓解
+
+| 风险 | 影响 | 缓解 |
+|------|------|------|
+| 子维度权重争议 | 用户感知不公平 | 产品经理确认权重,提供 A/B 测试开关 |
+| 身克富算法引发用户不满 | 用户体验下降 | 消息文案温和化,提供"了解更多"说明页 |
+| 成就/网络数据缺失导致显示 0 | 用户困惑 | 显示"暂无数据"占位符,不显示 0 |
+| 富页面重写引入回归 | 功能缺失 | 逐项对照旧页面功能清单,确保无遗漏 |
+
+---
+
+## 后续迭代(Phase 3)
+
+- [ ] 成就录入接口(家长填写成就,系统评分)
+- [ ] 资源网络可视化(章鱼图嵌入富页面)
+- [ ] 圈子系统集成(显示参与中的圈子)
+- [ ] 身克富正向激励(身体优秀时财富加成)
+
+---
+
+**文档结束**

+ 1236 - 0
web/cancer.html

@@ -0,0 +1,1236 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="description" content="癌症科学循证科普——症状识别、疾病定义、发病原因与主动健康五步干预。含癌症分子标志物、国际癌症研究机构(IARC)致癌物分类、中国癌症流行病学数据。">
+<meta name="keywords" content="癌症,肿瘤,恶性肿瘤,肺癌,结直肠癌,胃癌,肝癌,乳腺癌,HPV,主动健康,癌症预防,癌症筛查">
+<meta property="og:title" content="癌症的症状、病因与主动健康干预 — 科学循证">
+<meta property="og:description" content="中国年新增癌症患者457万。症状识别→疾病机制→危险因素→主动健康五步:提前识别、风险管控、主动干预、效果评估、持续优化。">
+<meta property="og:type" content="article">
+<title>癌症 · 症-病-因与主动健康干预 · 浠艾福</title>
+<style>
+  :root {
+    --bg-card: #FFFFFF;
+    --bg-alt: #faf5f7;
+    --text-primary: #1a1a2e;
+    --text-secondary: #4a5568;
+    --text-muted: #718096;
+    --accent: #8b1a1a;
+    --accent-light: #fdf2f2;
+    --blue: #1a5276;
+    --blue-light: #eaf4fb;
+    --teal: #148f77;
+    --teal-light: #e6fffa;
+    --purple: #7d3c98;
+    --purple-light: #f5eef8;
+    --orange: #d35400;
+    --orange-light: #fff4e6;
+    --font: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
+    --max-width: 1080px;
+    --shadow-card: 0 4px 24px rgba(0,0,0,0.08);
+    --shadow-hover: 0 8px 40px rgba(0,0,0,0.12);
+    --radius: 16px;
+  }
+  * { margin: 0; padding: 0; box-sizing: border-box; }
+  html { scroll-behavior: smooth; }
+  body {
+    font-family: var(--font);
+    font-size: 1rem;
+    line-height: 1.8;
+    color: var(--text-primary);
+    background: #fff;
+    -webkit-font-smoothing: antialiased;
+  }
+
+  /* HERO */
+  .hero {
+    position: relative;
+    background: linear-gradient(135deg, #2d1b1b 0%, #4a1942 40%, #6b2d5b 100%);
+    color: white;
+    padding: 6rem 1.5rem 4rem;
+    overflow: hidden;
+    min-height: 58vh;
+    display: flex;
+    align-items: center;
+  }
+  .hero::before {
+    content: '';
+    position: absolute;
+    inset: 0;
+    background:
+      radial-gradient(circle at 20% 30%, rgba(139,26,26,0.15) 0%, transparent 50%),
+      radial-gradient(circle at 80% 70%, rgba(20,143,119,0.1) 0%, transparent 50%);
+  }
+  .hero-particles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
+  .particle {
+    position: absolute;
+    border-radius: 50%;
+    background: rgba(255,255,255,0.1);
+    animation: float 8s ease-in-out infinite;
+  }
+  .particle:nth-child(1) { width:4px;height:4px;left:10%;top:20%;animation-delay:0s; }
+  .particle:nth-child(2) { width:8px;height:8px;left:25%;top:60%;animation-delay:1s;opacity:0.08; }
+  .particle:nth-child(3) { width:5px;height:5px;left:45%;top:15%;animation-delay:2s; }
+  .particle:nth-child(4) { width:3px;height:3px;left:65%;top:70%;animation-delay:0.5s; }
+  .particle:nth-child(5) { width:7px;height:7px;left:80%;top:30%;animation-delay:3s;opacity:0.06; }
+  .particle:nth-child(6) { width:4px;height:4px;left:15%;top:85%;animation-delay:1.5s; }
+  .particle:nth-child(7) { width:9px;height:9px;left:55%;top:45%;animation-delay:2.5s;opacity:0.1; }
+  @keyframes float {
+    0%,100% { transform: translateY(0) scale(1); opacity: 0.1; }
+    50% { transform: translateY(-30px) scale(1.5); opacity: 0.22; }
+  }
+  .hero-content {
+    position: relative;
+    z-index: 1;
+    max-width: var(--max-width);
+    margin: 0 auto;
+    text-align: center;
+    width: 100%;
+  }
+  .hero-badge {
+    display: inline-flex;
+    align-items: center;
+    gap: 0.5rem;
+    background: rgba(255,255,255,0.1);
+    border: 1px solid rgba(255,255,255,0.2);
+    backdrop-filter: blur(8px);
+    padding: 0.4rem 1rem;
+    border-radius: 100px;
+    font-size: 0.85rem;
+    margin-bottom: 1.5rem;
+  }
+  .hero h1 {
+    font-size: clamp(1.8rem, 5vw, 3rem);
+    font-weight: 800;
+    margin-bottom: 1rem;
+    letter-spacing: -0.02em;
+    line-height: 1.25;
+  }
+  .hero h1 .accent { color: #e74c3c; }
+  .hero-sub {
+    font-size: clamp(1rem, 2vw, 1.15rem);
+    color: rgba(255,255,255,0.8);
+    max-width: 680px;
+    margin: 0 auto 2rem;
+    line-height: 1.7;
+  }
+  .hero-stats {
+    display: flex;
+    gap: 1.5rem;
+    justify-content: center;
+    flex-wrap: wrap;
+    margin-top: 2rem;
+  }
+  .hero-stat {
+    background: rgba(255,255,255,0.08);
+    backdrop-filter: blur(8px);
+    border: 1px solid rgba(255,255,255,0.1);
+    border-radius: 12px;
+    padding: 1rem 1.5rem;
+    text-align: center;
+    min-width: 120px;
+  }
+  .hero-stat .num { font-size: 1.9rem; font-weight: 800; color: #e74c3c; display: block; }
+  .hero-stat .label { font-size: 0.82rem; color: rgba(255,255,255,0.7); margin-top: 0.2rem; }
+  .scroll-hint {
+    position: absolute;
+    bottom: 2rem;
+    left: 50%;
+    transform: translateX(-50%);
+    color: rgba(255,255,255,0.45);
+    font-size: 0.78rem;
+    text-align: center;
+    animation: bounce 2s ease-in-out infinite;
+    cursor: pointer;
+    text-decoration: none;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    gap: 0.3rem;
+  }
+  @keyframes bounce {
+    0%,100% { transform: translateX(-50%) translateY(0); }
+    50% { transform: translateX(-50%) translateY(8px); }
+  }
+  .scroll-arrow {
+    width: 16px; height: 16px;
+    border-right: 2px solid rgba(255,255,255,0.4);
+    border-bottom: 2px solid rgba(255,255,255,0.4);
+    transform: rotate(45deg);
+  }
+
+  /* NAV */
+  .nav {
+    position: sticky;
+    top: 0;
+    z-index: 100;
+    background: rgba(255,255,255,0.96);
+    backdrop-filter: blur(12px);
+    border-bottom: 1px solid rgba(0,0,0,0.06);
+    padding: 0.75rem 1.5rem;
+  }
+  .nav-inner {
+    max-width: var(--max-width);
+    margin: 0 auto;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    gap: 1rem;
+    flex-wrap: wrap;
+  }
+  .nav-brand {
+    font-weight: 700;
+    font-size: 0.95rem;
+    color: var(--accent);
+    text-decoration: none;
+    display: flex;
+    align-items: center;
+    gap: 0.4rem;
+  }
+  .nav-links {
+    display: flex;
+    gap: 0.3rem;
+    flex-wrap: wrap;
+    list-style: none;
+  }
+  .nav-links a {
+    color: var(--text-secondary);
+    text-decoration: none;
+    font-size: 0.85rem;
+    padding: 0.3rem 0.7rem;
+    border-radius: 8px;
+    transition: all 0.2s;
+  }
+  .nav-links a:hover { background: var(--accent-light); color: var(--accent); }
+  .nav-links a.active { background: var(--accent-light); color: var(--accent); font-weight: 600; }
+
+  /* LAYOUT */
+  .container { max-width: var(--max-width); margin: 0 auto; padding: 0 1.5rem; }
+  .section { padding: 4rem 0; border-bottom: 1px solid #eee; }
+  .section:last-of-type { border-bottom: none; }
+  .section-alt { background: var(--bg-alt); }
+  .section-tag {
+    display: inline-flex;
+    align-items: center;
+    gap: 0.4rem;
+    font-size: 0.72rem;
+    font-weight: 700;
+    letter-spacing: 0.1em;
+    text-transform: uppercase;
+    color: var(--accent);
+    margin-bottom: 0.75rem;
+  }
+  .section-tag.purple { color: var(--purple); }
+  .section-tag.teal { color: var(--teal); }
+  .section-tag.blue { color: var(--blue); }
+  .section-tag.orange { color: var(--orange); }
+  .section-tag.green { color: var(--teal); }
+  .section-title {
+    font-size: clamp(1.4rem, 3vw, 2.1rem);
+    font-weight: 800;
+    margin-bottom: 1rem;
+    line-height: 1.3;
+  }
+  .section-intro {
+    font-size: 1.05rem;
+    color: var(--text-secondary);
+    margin-bottom: 2rem;
+    max-width: 820px;
+    line-height: 1.85;
+  }
+
+  /* GRID */
+  .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
+  .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
+  @media (max-width: 768px) { .grid-2, .grid-3 { grid-template-columns: 1fr; } }
+
+  /* CARDS */
+  .card {
+    background: var(--bg-card);
+    border-radius: var(--radius);
+    padding: 1.75rem;
+    box-shadow: var(--shadow-card);
+    border: 1px solid rgba(0,0,0,0.04);
+    transition: transform 0.2s, box-shadow 0.2s;
+  }
+  .card:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); }
+  .card-icon { font-size: 2.4rem; margin-bottom: 0.75rem; display: block; }
+  .card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 0.6rem; }
+  .card p { color: var(--text-secondary); font-size: 0.92rem; line-height: 1.75; }
+  .card-accent { border-left: 4px solid var(--accent); }
+  .card-blue { border-left: 4px solid var(--blue); }
+  .card-teal { border-left: 4px solid var(--teal); }
+  .card-purple { border-left: 4px solid var(--purple); }
+  .card-orange { border-left: 4px solid var(--orange); }
+
+  /* STAT ROW */
+  .stat-row { display: flex; gap: 1.5rem; flex-wrap: wrap; margin: 1.5rem 0; }
+  .stat-block {
+    flex: 1;
+    min-width: 110px;
+    background: var(--bg-alt);
+    border-radius: 12px;
+    padding: 1.1rem 1.25rem;
+    text-align: center;
+  }
+  .stat-block .number { font-size: 1.7rem; font-weight: 800; color: var(--accent); display: block; }
+  .stat-block .number.blue { color: var(--blue); }
+  .stat-block .number.teal { color: var(--teal); }
+  .stat-block .number.purple { color: var(--purple); }
+  .stat-block .number.orange { color: var(--orange); }
+  .stat-block .unit { font-size: 0.72rem; color: var(--text-muted); display: block; margin-top: 0.15rem; }
+  .stat-block .desc { font-size: 0.82rem; color: var(--text-secondary); margin-top: 0.35rem; }
+
+  /* EVIDENCE BOX */
+  .evidence-box {
+    background: linear-gradient(135deg, #fdf2f2 0%, #fff9f0 100%);
+    border: 1px solid rgba(139,26,26,0.12);
+    border-radius: 12px;
+    padding: 1.4rem 1.7rem;
+    margin: 1.75rem 0;
+    position: relative;
+    overflow: hidden;
+  }
+  .evidence-box::before {
+    content: '🔬';
+    position: absolute;
+    top: -0.5rem;
+    right: 1rem;
+    font-size: 3.5rem;
+    opacity: 0.06;
+  }
+  .evidence-box.blue {
+    background: linear-gradient(135deg, #eaf4fb 0%, #e8f4f8 100%);
+    border-color: rgba(26,82,118,0.12);
+  }
+  .evidence-box.green {
+    background: linear-gradient(135deg, #e6fffa 0%, #f0fff4 100%);
+    border-color: rgba(20,143,119,0.12);
+  }
+  .evidence-box.purple {
+    background: linear-gradient(135deg, #f5eef8 0%, #faf5ff 100%);
+    border-color: rgba(125,60,152,0.12);
+  }
+  .evidence-box-header { display: flex; align-items: center; gap: 0.4rem; margin-bottom: 0.65rem; flex-wrap: wrap; }
+  .evidence-box-title { font-weight: 700; font-size: 0.97rem; color: var(--accent); }
+  .evidence-box.blue .evidence-box-title { color: var(--blue); }
+  .evidence-box.green .evidence-box-title { color: var(--teal); }
+  .evidence-box.purple .evidence-box-title { color: var(--purple); }
+  .evidence-box p { color: var(--text-secondary); font-size: 0.92rem; line-height: 1.75; margin-bottom: 0.4rem; }
+  .evidence-box p:last-child { margin-bottom: 0; }
+  .ev-tag {
+    display: inline-block;
+    font-size: 0.68rem;
+    font-weight: 700;
+    padding: 0.18rem 0.55rem;
+    border-radius: 100px;
+    background: rgba(139,26,26,0.1);
+    color: var(--accent);
+    margin-right: 0.3rem;
+    margin-top: 0.25rem;
+  }
+  .ev-tag.blue { background: rgba(26,82,118,0.1); color: var(--blue); }
+  .ev-tag.green { background: rgba(20,143,119,0.1); color: var(--teal); }
+  .ev-tag.purple { background: rgba(125,60,152,0.1); color: var(--purple); }
+  .ev-tag.orange { background: rgba(211,84,0,0.1); color: var(--orange); }
+
+  /* PROCESS STEPS */
+  .process-steps { display: flex; flex-direction: column; gap: 1rem; margin: 1.5rem 0; }
+  .process-step { display: flex; gap: 1.25rem; align-items: flex-start; }
+  .step-num {
+    flex-shrink: 0;
+    width: 2rem; height: 2rem;
+    background: var(--accent-light);
+    color: var(--accent);
+    border-radius: 50%;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    font-weight: 800;
+    font-size: 0.88rem;
+  }
+  .step-num.blue { background: var(--blue-light); color: var(--blue); }
+  .step-num.teal { background: var(--teal-light); color: var(--teal); }
+  .step-num.purple { background: var(--purple-light); color: var(--purple); }
+  .step-num.orange { background: var(--orange-light); color: var(--orange); }
+  .step-num.green { background: var(--teal-light); color: var(--teal); }
+  .step-content h4 { font-size: 0.98rem; font-weight: 700; margin-bottom: 0.28rem; color: var(--text-primary); }
+  .step-content p { font-size: 0.88rem; color: var(--text-secondary); line-height: 1.7; }
+
+  /* QUOTE */
+  .quote-block {
+    background: var(--bg-alt);
+    border-left: 4px solid var(--accent);
+    border-radius: 0 12px 12px 0;
+    padding: 1.4rem 1.7rem;
+    margin: 1.75rem 0;
+  }
+  .quote-block.blue { border-left-color: var(--blue); }
+  .quote-block.green { border-left-color: var(--teal); }
+  .quote-block.purple { border-left-color: var(--purple); }
+  .quote-text { font-size: 1.02rem; font-style: italic; color: var(--text-secondary); line-height: 1.8; margin-bottom: 0.65rem; }
+  .quote-source { font-size: 0.82rem; color: var(--text-muted); font-weight: 600; }
+
+  /* LIST */
+  .list-styled { list-style: none; padding: 0; margin: 1rem 0; }
+  .list-styled li { padding: 0.45rem 0 0.45rem 1.7rem; position: relative; color: var(--text-secondary); font-size: 0.92rem; line-height: 1.7; }
+  .list-styled li::before { content: '✔'; position: absolute; left: 0; color: var(--accent); font-weight: 700; font-size: 0.85rem; top: 0.45rem; }
+  .list-styled.blue li::before { color: var(--blue); }
+  .list-styled.green li::before { color: var(--teal); }
+
+  /* TABLE */
+  .table-wrap { overflow-x: auto; margin: 1.5rem 0; }
+  table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
+  th { background: var(--accent-light); color: var(--accent); padding: 0.7rem 1rem; text-align: left; font-weight: 700; white-space: nowrap; }
+  th.blue { background: var(--blue-light); color: var(--blue); }
+  th.teal { background: var(--teal-light); color: var(--teal); }
+  th.purple { background: var(--purple-light); color: var(--purple); }
+  td { padding: 0.7rem 1rem; border-bottom: 1px solid #eee; color: var(--text-secondary); vertical-align: top; }
+  tr:last-child td { border-bottom: none; }
+  tr:hover td { background: #fafafa; }
+
+  /* STEP FLOW */
+  .step-flow { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.5rem; margin: 2rem 0; }
+  .step-flow-item {
+    background: white;
+    border: 2px solid var(--accent);
+    border-radius: 12px;
+    padding: 0.85rem 1.4rem;
+    text-align: center;
+    min-width: 150px;
+    box-shadow: var(--shadow-card);
+  }
+  .step-flow-item.blue { border-color: var(--blue); }
+  .step-flow-item.teal { border-color: var(--teal); }
+  .step-flow-item.purple { border-color: var(--purple); }
+  .step-flow-item.orange { border-color: var(--orange); }
+  .step-flow-item.green { border-color: var(--teal); }
+  .step-flow-item .s-num { font-size: 0.72rem; font-weight: 700; color: var(--accent); display: block; margin-bottom: 0.2rem; }
+  .step-flow-item.blue .s-num { color: var(--blue); }
+  .step-flow-item.teal .s-num, .step-flow-item.green .s-num { color: var(--teal); }
+  .step-flow-item.purple .s-num { color: var(--purple); }
+  .step-flow-item.orange .s-num { color: var(--orange); }
+  .step-flow-item .s-title { font-size: 0.9rem; font-weight: 700; color: var(--text-primary); display: block; }
+  .step-flow-arrow { font-size: 1.2rem; color: #ccc; }
+
+  /* CTA */
+  .cta-section {
+    background: linear-gradient(135deg, #2d1b1b 0%, #4a1942 100%);
+    color: white;
+    padding: 4rem 1.5rem;
+    text-align: center;
+  }
+  .cta-section h2 { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; margin-bottom: 0.9rem; }
+  .cta-section p { color: rgba(255,255,255,0.78); max-width: 580px; margin: 0 auto 2rem; font-size: 1rem; line-height: 1.7; }
+  .cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
+  .btn { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.72rem 1.6rem; border-radius: 100px; font-size: 0.92rem; font-weight: 700; text-decoration: none; transition: all 0.2s; cursor: pointer; border: none; }
+  .btn-primary { background: var(--accent); color: white; }
+  .btn-primary:hover { background: #6b1414; transform: translateY(-1px); }
+  .btn-outline { background: transparent; color: white; border: 2px solid rgba(255,255,255,0.38); }
+  .btn-outline:hover { border-color: white; background: rgba(255,255,255,0.1); }
+
+  /* Footer styles replaced by shared js/footer.js */
+
+  /* CITATIONS */
+  .citations { background: #f8f8f8; border-top: 2px solid var(--accent); padding: 3rem 0; }
+  .citation-card { background: white; border: 1px solid #eee; border-radius: 12px; padding: 1.2rem 1.5rem; margin-bottom: 0.9rem; }
+  .citation-card .source { font-size: 0.83rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.35rem; }
+  .citation-card .auth-row { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.4rem; }
+  .auth-badge { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 100px; background: #fde8e8; color: #8b1a1a; }
+  .auth-badge.blue { background: #eaf4fb; color: #1a5276; }
+  .auth-badge.green { background: #e6fffa; color: #148f77; }
+  .auth-badge.purple { background: #f5eef8; color: #7d3c98; }
+  .citation-card .findings { font-size: 0.85rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 0.35rem; }
+  .citation-card .trans { font-size: 0.78rem; color: var(--text-muted); font-style: italic; margin-bottom: 0.35rem; }
+  .citation-card .link { font-size: 0.78rem; color: var(--blue); text-decoration: none; }
+  .citation-card .link:hover { text-decoration: underline; }
+
+  .anchor { scroll-margin-top: 72px; }
+
+  .shot-placeholder {
+    background: linear-gradient(135deg,#f0f0f0,#e5e5e5);
+    border-radius: 12px;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center;
+    min-height: 180px;
+    color: #aaa;
+    font-size: 0.85rem;
+    gap: 0.4rem;
+    margin: 1.25rem 0;
+  }
+  .shot-placeholder .shot-icon { font-size: 2.2rem; opacity: 0.35; }
+</style>
+</head>
+<body>
+
+<!-- HERO -->
+<section class="hero">
+  <div class="hero-particles">
+    <div class="particle"></div><div class="particle"></div><div class="particle"></div>
+    <div class="particle"></div><div class="particle"></div><div class="particle"></div><div class="particle"></div>
+  </div>
+  <div class="hero-content">
+    <div class="hero-badge">🧬 科学循证 · 主动健康</div>
+    <h1>癌症<br><span class="accent">症·病·因与主动健康干预</span></h1>
+    <p class="hero-sub">中国年新增癌症患者457万,死亡300万。<br>可预防因素占40%以上。<br>理解癌症的发生机制 → 掌握主动预防的武器 ——<br>在基因给出的底牌上,通过科学的生活方式改写癌症命运。</p>
+    <div class="hero-stats">
+      <div class="hero-stat"><span class="num">457万</span><span class="label">年新发癌症</span></div>
+      <div class="hero-stat"><span class="num">300万</span><span class="label">年癌症死亡</span></div>
+      <div class="hero-stat"><span class="num">40%+</span><span class="label">可预防</span></div>
+      <div class="hero-stat"><span class="num">40.5%</span><span class="label">五年生存率</span></div>
+    </div>
+  </div>
+  <a href="#symptoms" class="scroll-hint">
+    <span>开始阅读</span>
+    <div class="scroll-arrow"></div>
+  </a>
+</section>
+
+<!-- NAV -->
+<nav class="nav">
+  <div class="nav-inner">
+    <a href="index.html" class="nav-brand">🧬 浠艾福 · 主动健康学院</a>
+    <ul class="nav-links">
+      <li><a href="#symptoms">症</a></li>
+      <li><a href="#disease">病</a></li>
+      <li><a href="#causes">因</a></li>
+      <li><a href="#proactive">主动健康五步</a></li>
+      <li><a href="#citations">参考文献</a></li>
+    </ul>
+  </div>
+</nav>
+
+<!-- ══════════════════════════════════════════
+     症 · 症状识别
+═══════════════════════════════════════════ -->
+<section class="section" id="symptoms">
+  <div class="container">
+    <div class="section-tag">🔍 症 · 症状识别</div>
+    <h2 class="section-title">读懂身体的求救信号——癌症的早期预警</h2>
+    <p class="section-intro">
+      癌症最危险的特征之一就是它在早期阶段的"沉默"。许多恶性肿瘤在发展为晚期之前几乎没有特异性症状,这正是为什么依赖"症状"来发现癌症往往为时已晚。理解常见癌症的早期信号、认识"隐匿性癌症"的概念、掌握筛查与症状的关系,是主动健康的第一步。
+    </p>
+
+    <div class="grid-2">
+      <div class="card card-accent">
+        <span class="card-icon">🫁</span>
+        <h3>肺癌的早期信号</h3>
+        <p>中国发病率和死亡率均排第一的恶性肿瘤(年新发约82万例)。<strong>慢性持续性咳嗽:</strong>持续超过3周,性质发生变化的咳嗽是最常见的早期信号。尤其需警惕:原有慢性咳嗽者咳嗽特征改变、止咳药无效的顽固干咳。</p>
+        <p style="margin-top:0.6rem;"><strong>咯血或痰中带血:</strong>约25-40%的肺癌患者以此为首发症状。即使是少量的血丝也需立即排查。</p>
+        <p style="margin-top:0.6rem;"><strong>胸痛与呼吸困难:</strong>肩背部放射痛、深呼吸或咳嗽时加重;进行性加重的气促。声音嘶哑(肿瘤侵犯喉返神经)、上腔静脉综合征(面部/颈部肿胀)提示局部晚期。</p>
+        <p style="margin-top:0.6rem;"><span style="color:var(--accent);font-weight:700;">⚠ 肺癌在早期通常无症状</span>——约70%在发现时已为中晚期。低剂量螺旋CT(LDCT)筛查可将肺癌死亡率降低约24%。</p>
+      </div>
+      <div class="card card-blue">
+        <span class="card-icon">🩸</span>
+        <h3>结直肠癌的早期信号</h3>
+        <p>中国年新发约52万例,居第二位。起自腺瘤性息肉,从腺瘤到癌变通常需要5-15年——这是筛查干预的黄金窗口。</p>
+        <p style="margin-top:0.6rem;"><strong>便血:</strong>最核心的信号。直肠癌表现为鲜红色便血,易被误认为痔疮(<strong>⚠两者本质不同</strong>:痔疮出血多在便后滴血,颜色鲜红;直肠癌出血多为便中混血,有时色暗红)。任何便血都需「直肠指检+结肠镜」明确。</p>
+        <p style="margin-top:0.6rem;"><strong>排便习惯改变:</strong>便秘与腹泻交替出现,大便变细变扁,排便不尽感(里急后重)。</p>
+        <p style="margin-top:0.6rem;"><strong>不明原因体重下降(6个月内体重下降>5%)、贫血(脸色苍白、乏力、头晕)</strong>提示疾病已进展。</p>
+      </div>
+    </div>
+
+    <div class="grid-3" style="margin-top:1.5rem;">
+      <div class="card card-purple">
+        <span class="card-icon">🎗️</span>
+        <h3>乳腺癌的早期信号</h3>
+        <p>中国女性发病率最高的恶性肿瘤(年新发约42万例)。<strong>乳腺肿块:</strong>约80%的乳腺癌患者以发现无痛性肿块为首发症状。肿块多为质地硬、边界不清、活动度差、无痛的单个肿块。</p>
+        <p style="margin-top:0.5rem;"><strong>乳头溢液:</strong>非哺乳期单侧、单孔的浆液性或血性溢液需要警惕。乳头回缩、凹陷、指向改变。皮肤改变——橘皮征、酒窝征、红肿热痛(炎性乳癌)。</p>
+        <p style="margin-top:0.5rem;"><strong>自我检查:</strong>每月月经结束后一周进行。但自我检查不能替代乳腺超声、钼靶(X线)等专业影像筛查。</p>
+      </div>
+      <div class="card card-teal">
+        <span class="card-icon">🍽️</span>
+        <h3>胃癌的早期信号</h3>
+        <p>中国年新发约48万例,居第三位。早期胃癌几乎无症状,或仅有不特异的消化不良:<strong>上腹不适、饱胀感、隐痛、反酸、嗳气、食欲减退。</strong>这些症状极容易被误认为"胃炎"或"消化不良"。</p>
+        <p style="margin-top:0.5rem;"><strong>警示症状:</strong>进展期胃癌可出现:上腹部持续性疼痛(与饮食无关)、恶心呕吐(幽门梗阻)、黑便(消化道出血)、不明原因消瘦、吞咽困难(贲门癌)。</p>
+        <p style="margin-top:0.5rem;"><strong>核心认知:</strong>日本和韩国的经验已经证明——胃镜筛查可将胃癌死亡率降低约40-60%。中国目前接受胃镜筛查的比例不足15%。</p>
+      </div>
+      <div class="card card-orange">
+        <span class="card-icon">🫑</span>
+        <h3>肝癌的早期信号</h3>
+        <p>中国年新发约41万例,死亡率居第二位。早期肝癌几乎无症状——肝脏代偿功能极强,即使70%肝组织被肿瘤浸润,肝功能指标可能仍然在正常范围内。</p>
+        <p style="margin-top:0.5rem;"><strong>早期信号(有或无):</strong>右上腹胀痛或不适(肝区疼痛)、乏力、食欲不振、腹部肿块。这些症状出现时往往已经是中晚期。</p>
+        <p style="margin-top:0.5rem;"><strong>进展期表现(一旦出现,提示晚期):</strong>黄疸(皮肤/巩膜黄染)、腹水(腹部膨隆)、脾肿大(门静脉高压所致)、上消化道出血(食管静脉曲张破裂)。</p>
+        <p style="margin-top:0.5rem;"><span style="color:var(--accent);font-weight:700;">关键:</span>高危人群(乙肝携带者、肝硬化患者、长期酗酒者)需要每6个月进行「肝脏超声+AFP」筛查。</p>
+      </div>
+    </div>
+
+    <div class="shot-placeholder">
+      <div class="shot-icon">🧬</div>
+      <span>img/ref-screenshots/cancer_ref1.png</span>
+    </div>
+
+    <div class="evidence-box" style="margin-top:2rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">⚠️ 警惕"隐匿性癌症"——为什么筛查比症状更重要</span>
+      </div>
+      <p><strong>隐匿性癌症(Occult Cancer)</strong>是指在出现临床症状之前就已经存在的恶性肿瘤。绝大多数实体肿瘤在早期阶段——从单个癌细胞到1cm³的肿瘤(含约10亿个癌细胞)——通常没有任何症状。这个潜伏期可达数年甚至十几年。</p>
+      <p><strong>以下症状一旦出现,请立即就医:</strong></p>
+      <p>① 任何不明原因的持续性疼痛(超过4周)——深部骨骼痛排除骨转移可能;② 无痛性淋巴结肿大(锁骨上、腋下、腹股沟)——质地硬、固定、无痛,尤其是>2cm;③ 不明原因的体重下降(6个月内减少>5%);④ 长期低热、盗汗、极度疲劳——可能为肿瘤性发热(肿瘤坏死因子介导)。</p>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     病 · 疾病定义与病理
+═══════════════════════════════════════════ -->
+<section class="section section-alt" id="disease">
+  <div class="container">
+    <div class="section-tag purple">📖 病 · 疾病定义</div>
+    <h2 class="section-title">癌症的本质:从"一次突变"到"全身性疾病"</h2>
+    <p class="section-intro">
+      癌症(Cancer)是正常细胞在基因组层面发生一系列不可逆改变后,获得不受控制的增殖和侵袭能力而形成的恶性肿瘤。它不是单一疾病,而是200多种不同亚型的统称,每一种都有独特的分子特征、行为模式和干预策略。
+    </p>
+
+    <div class="stat-row">
+      <div class="stat-block">
+        <span class="number">457万</span>
+        <span class="unit">例/年</span>
+        <span class="desc">中国新发癌症病例(2024)</span>
+      </div>
+      <div class="stat-block">
+        <span class="number blue">300万</span>
+        <span class="unit">例/年</span>
+        <span class="desc">中国癌症死亡人数</span>
+      </div>
+      <div class="stat-block">
+        <span class="number teal">40.5%</span>
+        <span class="unit">5年</span>
+        <span class="desc">总体相对生存率</span>
+      </div>
+      <div class="stat-block">
+        <span class="number orange">55%</span>
+        <span class="unit">%</span>
+        <span class="desc">男性发病占比</span>
+      </div>
+    </div>
+    <p style="color:var(--text-muted);font-size:0.82rem;margin-bottom:1.5rem;">
+      数据来源:《中国恶性肿瘤学科发展报告2024》|发病率前五:肺癌82万、结直肠癌52万、胃癌48万、肝癌41万、乳腺癌42万(女性首位)
+    </p>
+
+    <div class="grid-2">
+      <div class="card card-accent">
+        <span class="card-icon">🧬</span>
+        <h3>良性vs恶性——核心区别</h3>
+        <p><strong>良性肿瘤:</strong>生长缓慢,边界清晰,有完整包膜,不侵入周围组织,不转移。切除后通常不复发。后果主要是压迫效应(如脑膜瘤压迫脑组织)。</p>
+        <p style="margin-top:0.6rem;"><strong>恶性肿瘤(癌症):</strong>生长迅速,无包膜,侵犯周围正常组织,脱落和进入血管/淋巴管后形成远处转移。转移是癌症致死的最主要原因——约90%的癌症死亡归因于转移,而非原发肿瘤本身。</p>
+        <p style="margin-top:0.6rem;"><strong>转移路径:</strong>淋巴转移(最常见)→区域淋巴结;血行转移(经血液循环)→肺、肝、骨、脑;种植转移(癌细胞脱落种植于体腔)→腹膜、胸膜。</p>
+      </div>
+      <div class="card card-purple">
+        <span class="card-icon">🔬</span>
+        <h3>"两次打击"假说——癌症发生的经典模型</h3>
+        <p>Alfred Knudson在1971年通过对视网膜母细胞瘤的经典研究提出"两次打击"(Two-Hit Hypothesis):一个细胞的癌变需要两类基因发生两次独立的突变事件——<strong>原癌基因激活</strong>(gain-of-function,促增殖)和<strong>抑癌基因失活</strong>(loss-of-function,去抑制)。</p>
+        <p style="margin-top:0.6rem;"><strong>RB基因</strong>是人类发现的第一个抑癌基因。后来的研究发现:癌症的发生远非简单的"两次打击",而是涉及数十到数百个基因突变的积累过程。结直肠癌从正常黏膜→小腺瘤→大腺瘤→癌变的完整过程需要5-15年,涉及APC、KRAS、TP53、SMAD4等关键基因的逐步突变积累——这正是"筛查窗口"存在的生物学基础。</p>
+      </div>
+    </div>
+
+    <h3 style="font-size:1.1rem;font-weight:700;margin:2rem 0 1rem;">⚙️ 癌症的十大特征(Hallmarks of Cancer)</h3>
+    <p style="color:var(--text-secondary);font-size:0.92rem;line-height:1.7;margin-bottom:1.2rem;">
+      2011年,Hanahan & Weinberg在《Cell》上发表的经典综述将癌症的复杂生物学归纳为八个核心能力,随后扩展至十项——这是理解癌症"病"的本质的最好框架:
+    </p>
+
+    <div class="process-steps">
+      <div class="process-step">
+        <div class="step-num purple">①</div>
+        <div class="step-content">
+          <h4>持续增殖信号(Sustaining Proliferative Signaling)</h4>
+          <p>正常细胞需要外部生长因子指令才能分裂。癌细胞通过自身产生生长因子(自分泌)、突变激活下游信号通路(如RAS/RAF/MEK/ERK通路——约30%的人类癌症携带RAS基因突变)、或增加表面受体数量(如HER2在乳腺癌中过表达),实现了"无视外界抑制"的自主增殖。</p>
+        </div>
+      </div>
+      <div class="process-step">
+        <div class="step-num purple">②</div>
+        <div class="step-content">
+          <h4>逃避生长抑制(Evading Growth Suppressors)</h4>
+          <p>RB和p53是两大核心抑癌蛋白——RB调控细胞周期检查点(G1→S期),p53监控基因组完整性并触发凋亡或衰老。大多数癌症中至少一个通路失活。TP53是人类癌症中突变频率最高的基因(>50%的癌症携带TP53突变)。</p>
+        </div>
+      </div>
+      <div class="process-step">
+        <div class="step-num purple">③</div>
+        <div class="step-content">
+          <h4>抵抗细胞死亡(Resisting Cell Death)</h4>
+          <p>癌细胞通过多种机制逃避凋亡——上调抗凋亡蛋白Bcl-2、下调促凋亡蛋白Bax、失活p53依赖的凋亡通路、过表达IAPs(凋亡抑制蛋白)。这使癌细胞对常规化疗和放疗具有固有抵抗。</p>
+        </div>
+      </div>
+      <div class="process-step">
+        <div class="step-num purple">④</div>
+        <div class="step-content">
+          <h4>无限复制潜能(Enabling Replicative Immortality)</h4>
+          <p>正常细胞经过约50-70次分裂后进入"复制性衰老"(Hayflick极限),由端粒(染色体末端保护帽)缩短触发。癌细胞通过激活<strong>端粒酶(telomerase)</strong>来维持端粒长度,实现无限分裂。约85-90%的人类癌症检测到端粒酶活性升高。</p>
+        </div>
+      </div>
+      <div class="process-step">
+        <div class="step-num purple">⑤</div>
+        <div class="step-content">
+          <h4>诱导血管生成(Inducing Angiogenesis)</h4>
+          <p>肿瘤直径超过1-2mm³后,单纯依靠弥散获取氧气和营养已不够。癌细胞分泌VEGF(血管内皮生长因子)等促血管生成因子,诱导新血管从宿主组织长入肿瘤。这些新血管结构异常、渗漏性强,反而促进了癌细胞的进入血流和远处转移。</p>
+        </div>
+      </div>
+      <div class="process-step">
+        <div class="step-num purple">⑥</div>
+        <div class="step-content">
+          <h4>激活侵袭和转移(Activating Invasion & Metastasis)</h4>
+          <p>癌细胞通过上皮-间充质转化(EMT)获得迁移能力——丢失E-钙黏蛋白(细胞间黏附的关键分子),表达N-钙黏蛋白和基质金属蛋白酶(MMPs),降解细胞外基质,侵入血管/淋巴管,在远处器官定植生长。转移是导致癌症患者死亡的主要原因。</p>
+        </div>
+      </div>
+      <div class="process-step">
+        <div class="step-num purple">⑦</div>
+        <div class="step-content">
+          <h4>重编程能量代谢(Deregulating Cellular Energetics)</h4>
+          <p>即使在有氧条件下,癌细胞也优先采用"糖酵解"(而非氧化磷酸化)产能——这一现象被称为"Warburg效应"。糖酵解产能效率虽低(2个ATP vs 36个ATP/葡萄糖),但速度更快,且为癌细胞提供合成核酸和蛋白质所需的代谢中间产物。</p>
+        </div>
+      </div>
+      <div class="process-step">
+        <div class="step-num purple">⑧</div>
+        <div class="step-content">
+          <h4>逃避免疫摧毁(Evading Immune Destruction)</h4>
+          <p>免疫系统具有清除早期癌细胞的能力——这一概念称为"免疫监视"。癌细胞通过多种机制逃避免疫攻击:下调MHC-I类分子(使T细胞识别不到)、分泌免疫抑制因子(IL-10、TGF-β)、招募调节性T细胞(Treg)和髓源性抑制细胞(MDSC)构建免疫抑制微环境。</p>
+        </div>
+      </div>
+    </div>
+
+    <div class="evidence-box" style="margin-top:2rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">📊 癌症十大特征——2022年更新的新增特征</span>
+        <span class="ev-tag">经典综述</span>
+        <span class="ev-tag blue">2022更新</span>
+      </div>
+      <p>2022年Hanahan在《Cancer Discovery》再次更新癌症特征(doi:10.1158/2159-8290.CD-21-1059),新增:⑨ <strong>解锁表型可塑性</strong>(Unlocking Phenotypic Plasticity)——癌细胞可以在不同分化状态之间切换,获得干细胞样特性;⑩ <strong>非突变表观遗传重编程</strong>(Non-mutational Epigenetic Programming)——DNA甲基化、组蛋白修饰的改变在无DNA序列改变的情况下驱动癌性表型;⑪ <strong>多态性微生物组</strong>(Polymorphic Microbiomes)——肠道和肿瘤内微生物群通过代谢物和炎症信号影响癌症发生、进展和治疗响应。</p>
+    </div>
+
+    <div class="quote-block green" style="margin-top:1.5rem;">
+      <p class="quote-text">"癌症是一个'疾病之症'——它不是单一一种疾病,而是一种涉及细胞系统性变异、免疫逃逸和微环境重塑的复杂生态系统。每个癌症都有其独特的基因组景观,但十项特征是所有癌症共享的生存策略。"</p>
+      <span class="quote-source">— Hanahan & Weinberg · Cell 2011 · doi:10.1016/j.cell.2011.02.013</span>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     因 · 发病原因
+═══════════════════════════════════════════ -->
+<section class="section" id="causes">
+  <div class="container">
+    <div class="section-tag orange">⚡ 因 · 发病原因</div>
+    <h2 class="section-title">癌症的致病因素:可改变与不可改变</h2>
+    <p class="section-intro">
+      理解癌症的病因是主动预防的基石。世界卫生组织国际癌症研究机构(IARC/WHO)的结论是:<strong>约40-50%的癌症可以通过避免或减少已知的环境和行为危险因素来预防</strong>。这意味着每年中国约180-220万新发病例是理论上可以避免的。致癌因素分为"可改变"和"不可改变"两类——聚焦可改变的,就是主动健康的核心。
+    </p>
+
+    <div class="evidence-box" style="margin-bottom:2rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">📊 主要可改变致癌因素的归因比例(中国数据)</span>
+        <span class="ev-tag">⚕️ IARC/WHO 2024</span>
+      </div>
+      <p>① <strong>吸烟:</strong>归因于25%的癌症死亡(中国约70万例/年)——吸烟与至少13种癌症有因果关系。② <strong>感染因素:</strong>中国约22%的癌症与感染有关(远高于西方国家的5-8%),包括幽门螺杆菌(HP→胃癌)、乙/丙型肝炎病毒(HBV/HCV→肝癌)、人乳头瘤病毒(HPV→宫颈癌/口咽癌)、EB病毒(EBV→鼻咽癌/淋巴瘤)。③ <strong>饮食与营养:</strong>约10-15%——加工肉类为IARC Group 1致癌物,酒精为Group 1致癌物,肥胖是独立致癌因素。④ <strong>空气污染:</strong>PM2.5已被IARC列为Group 1致癌物(肺癌),中国空气污染每年与约30万肺癌新发病例相关。⑤ <strong>职业暴露:</strong>石棉、苯、甲醛、氡等——约2-4%。</p>
+    </div>
+
+    <div class="grid-2">
+      <div>
+        <div class="card card-accent" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🚬</span>
+          <h3>吸烟——最大的单一可预防致癌因素</h3>
+          <p>烟草烟雾中含有超过7000种化学物质,其中已知致癌物至少69种,包括多环芳烃(PAHs)、亚硝胺(NNK、NNN)、苯、甲醛、镉、钋-210等。这些物质直接损伤DNA,导致驱动突变(driver mutations)——尤其以p53基因特定密码子的突变特征最为典型。</p>
+          <p style="margin-top:0.5rem;"><strong>剂量反应关系:</strong>吸烟量与肺癌风险呈线性相关——每天吸1包烟持续20年者肺癌风险是不吸烟者的约20倍。戒烟可逆转部分风险:戒烟10年后,肺癌风险降低约50%;戒烟15年,心血管风险降至从不吸烟者水平。</p>
+          <p style="margin-top:0.5rem;"><strong>二手烟和三手烟:</strong>二手烟明确导致肺癌(风险增加约25-30%)。三手烟(残留在衣物、家具表面的烟草残留物)同样含有致癌物,对婴幼儿危害尤其明显。</p>
+        </div>
+
+        <div class="card card-blue" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🦠</span>
+          <h3>感染因素——中国癌症的"特殊负担"</h3>
+          <p>中国感染相关癌症占比22%,是欧美国家(5-8%)的3-4倍,这是中国最大的可预防癌症机会之一:</p>
+          <p><strong>幽门螺杆菌(H. pylori): </strong>WHO IARC Group 1致癌物,与胃癌、胃MALT淋巴瘤明确相关。中国H. pylori感染率约55%(约7.7亿人感染),是导致全球胃癌发病率最高的国家的重要原因之一。根除H. pylori可使胃癌风险降低约39%。</p>
+          <p><strong>HBV/HCV(乙肝/丙肝病毒): </strong>HBV慢性感染是中国肝癌的主要原因(约80%的肝癌患者HBsAg阳性)。HBV疫苗纳入新生儿计划免疫后,中国5岁以下儿童HBsAg携带率已从9.7%降至0.3%,但成人的慢性感染存量仍很大。</p>
+          <p><strong>HPV(人乳头瘤病毒): </strong>高危型HPV(16/18型导致约70%的宫颈癌)持续感染是宫颈癌的必要条件。HPV疫苗可预防90%以上的HPV相关癌症(宫颈、外阴、阴道、阴茎、肛门、口咽)。</p>
+          <p><strong>EBV(EB病毒): </strong>与鼻咽癌(中国南方高发)和部分淋巴瘤相关——中国年新发鼻咽癌约6万例,占全球的约45%。</p>
+        </div>
+
+        <div class="card card-purple">
+          <span class="card-icon">🍺</span>
+          <h3>酒精——无"安全剂量"的致癌物</h3>
+          <p>乙醇在体内被ADH(乙醇脱氢酶)转化为乙醛(acetaldehyde),乙醛是IARC Group 1致癌物——直接与DNA结合形成加合物,导致DNA链断裂和突变。中国人的ALDH2*2突变(约40-50%东亚人群携带,表现为"饮酒脸红")使乙醛代谢更慢,酒精致癌风险更高。</p>
+          <p style="margin-top:0.5rem;"><strong>酒精相关癌症:</strong>口腔癌、咽喉癌、食管癌、肝癌、结直肠癌、女性乳腺癌。WCRF结论:<strong>酒精不存在"安全摄入量"——即使少量饮酒(每日1杯)也会增加乳腺癌风险约5-10%。</strong>饮酒越多风险越高,呈线性关系。</p>
+        </div>
+      </div>
+
+      <div>
+        <div class="card card-teal" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🥩</span>
+          <h3>饮食因素——加工肉与红肉</h3>
+          <p><strong>加工肉类(Processed Meat)——IARC Group 1致癌物:</strong>每50g/天的加工肉(相当于2-3片培根或1根香肠)摄入使结直肠癌风险增加约18%。加工过程中添加的亚硝酸盐在体内转化为N-亚硝基化合物,直接损伤肠上皮DNA。</p>
+          <p style="margin-top:0.5rem;"><strong>红肉——IARC Group 2A(很可能致癌):</strong>每100g/天的红肉摄入增加结直肠癌风险约17%。风险机制涉及:血红素铁→催化肠腔内的N-亚硝基化合物合成→损伤肠黏膜细胞DNA。烹饪方式也重要——高温烹饪(烧烤/煎炸)产生杂环胺和多环芳烃,进一步增加风险。</p>
+          <p style="margin-top:0.5rem;"><strong>黄曲霉毒素B1(Aflatoxin B1)——已知最强的天然致癌物之一:</strong>由黄曲霉和寄生曲霉产生,污染花生、玉米、大米。与HBV感染有协同致癌作用:两者同时存在时肝癌风险升高约60倍。IARC Group 1致癌物。</p>
+        </div>
+
+        <div class="card card-orange" style="margin-bottom:1.25rem;">
+          <span class="card-icon">⚖️</span>
+          <h3>肥胖与13种癌症——体重是"隐形致癌物"</h3>
+          <p>IARC在2016年确认肥胖与13种癌症的因果关系(足够证据):子宫内膜癌(最高风险)、乳腺癌(绝经后)、结直肠癌、肾癌、胰腺癌、食管腺癌、肝癌、胃癌(贲门部)、卵巢癌、甲状腺癌、脑膜瘤、多发性骨髓瘤、胆囊癌。</p>
+          <p style="margin-top:0.5rem;"><strong>核心机制:</strong>脂肪组织是活跃的内分泌器官——肥胖导致雌激素水平升高(通过芳香化酶将雄激素转化为雌激素→乳腺癌/子宫内膜癌风险↑);胰岛素抵抗→IGF-1水平升高→促进有丝分裂;脂肪组织慢性炎症(巨噬细胞浸润→TNF-α、IL-6、瘦素↑、脂联素↓→促炎/促癌微环境)。</p>
+          <p style="margin-top:0.5rem;"><strong>数据:</strong>BMI≥30的肥胖者,癌症风险比正常体重者高约1.3-2.5倍(因癌种而异)。据估计,维持健康体重能预防约15%的癌症病例。</p>
+        </div>
+
+        <div class="card card-accent" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🌫️</span>
+          <h3>空气污染与化学致癌物</h3>
+          <p><strong>PM2.5(细颗粒物)——IARC Group 1:</strong>室外空气污染的主要成分,被IARC列为1类致癌物(肺癌)。PM2.5的致癌机制包括:吸附的多环芳烃(PAHs)直接损伤DNA、诱导慢性肺部炎症(巨噬细胞和中性粒细胞释放ROS→DNA氧化损伤)、表观遗传改变和免疫抑制。中国每年空气污染相关的肺癌新发病例约30万。</p>
+          <p style="margin-top:0.5rem;"><strong>室内污染:</strong>燃煤取暖/烹饪、油烟、装修材料释放的甲醛和苯(均为IARC Group 1致癌物)。氡(氡气)也是Group 1致癌物,是继吸烟之后肺癌的第二大病因。</p>
+        </div>
+
+        <div class="card card-blue">
+          <span class="card-icon">🧬</span>
+          <h3>遗传因素——"赋予风险的基因,不是命运的判决"</h3>
+          <p>约5-10%的癌症是"纯粹"的遗传性(与特定基因的胚系致病突变有关):BRCA1/2(乳腺癌、卵巢癌、胰腺癌、前列腺癌)、Lynch综合征(MLH1/MSH2/MSH6/PMS2突变→结直肠癌/子宫内膜癌)、Li-Fraumeni综合征(TP53胚系突变)、家族性腺瘤性息肉病(APC突变→结直肠癌)。</p>
+          <p style="margin-top:0.5rem;"><strong>大多数癌症是"散发性的"</strong>——是基因-环境交互作用的结果:遗传背景提供风险基础(如人群中的"癌症易感等位基因"),环境暴露和生活习惯决定实际致癌风险。即使在已知携带BRCA1突变的女性中,生活方式选择(如吸烟、体重、运动)也显著影响实际乳腺癌和卵巢癌风险。</p>
+        </div>
+      </div>
+    </div>
+
+    <h3 style="font-size:1.05rem;font-weight:700;margin:2rem 0 1rem;">🔬 肠道菌群与癌症——新兴的致癌/抑癌调控者</h3>
+    <div class="evidence-box purple" style="margin-bottom:2rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">🧫 肠道菌群通过代谢产物和免疫信号影响癌症全周期</span>
+        <span class="ev-tag purple">Emerging Science</span>
+        <span class="ev-tag green">PMIDs: 32025070, 33231244</span>
+      </div>
+      <p><strong>促癌菌群机制:</strong>具核梭杆菌(Fusobacterium nucleatum)——在结直肠癌组织中显著富集,通过其粘附素FadA与上皮细胞E-钙黏蛋白结合,激活β-catenin信号通路→促进肠上皮增殖、抑制凋亡;同时通过抑制NK细胞和T细胞的抗肿瘤免疫活性,创造免疫逃逸微环境。产肠毒素脆弱拟杆菌(ETBF)通过分泌BFT毒素导致肠道屏障破坏和慢性炎症。</p>
+      <p><strong>抑癌菌群机制:</strong>产丁酸菌(Roseburia、Faecalibacterium、Eubacterium)将膳食纤维发酵产生丁酸——丁酸通过抑制组蛋白去乙酰化酶(HDACi)发挥抗肿瘤活性,诱导结直肠癌细胞凋亡,增强肠道屏障完整性,调节免疫微环境。高膳食纤维饮食者结直肠癌风险降低约20-30%,其中很大一部分是通过菌群介导的。</p>
+      <p><strong>临床转化:</strong>肠道菌群还可影响免疫检查点抑制剂(如PD-1/PD-L1抗体)的治疗效果——对免疫治疗有响应的患者肠道菌群中Akkermansia muciniphila和Ruminococcaceae的丰度显著更高。抗生素暴露会降低免疫治疗的治疗效果。</p>
+    </div>
+
+    <div class="shot-placeholder">
+      <div class="shot-icon">🧬</div>
+      <span>img/ref-screenshots/cancer_ref2.png</span>
+    </div>
+
+    <div class="process-steps" style="margin-top:1rem;">
+      <div class="process-step">
+        <div class="step-num orange">💡</div>
+        <div class="step-content">
+          <h4>主动健康核心认知:可改变因素的力量</h4>
+          <p>约40%的癌症可以通过以下方式预防:不吸烟、保持健康体重、健康饮食、限制酒精、接种疫苗(HPV、HBV)、避免过度日晒、减少环境污染暴露。这并非理论上的数字——美国癌症协会的数据显示,过去30年美国癌症死亡率下降了约33%,其中很大一部分归因于控烟、早期筛查和更好的治疗。"癌症预防"是比"癌症治疗"更有效的抗癌策略。</p>
+        </div>
+      </div>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     主动健康五步
+═══════════════════════════════════════════ -->
+<section class="section section-alt" id="proactive">
+  <div class="container">
+    <div class="section-tag green">🌿 主动健康五步</div>
+    <h2 class="section-title">从识别到优化:癌症预防的主动健康干预闭环</h2>
+    <p class="section-intro">
+      对抗癌症,主动健康的核心理念是:在癌症启动之前阻断它;在早期发现它;在确诊后主动参与康复。不是等确诊再恐慌,而是在癌症形成的"漫长潜伏期"中——从第一个DNA损伤到临床可检测的肿瘤灶往往需要5-20年——采取主动干预。
+    </p>
+
+    <div class="step-flow">
+      <div class="step-flow-item blue"><span class="s-num">STEP 01</span><span class="s-title">提前识别</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item teal"><span class="s-num">STEP 02</span><span class="s-title">风险管控</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item purple"><span class="s-num">STEP 03</span><span class="s-title">主动干预</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item orange"><span class="s-num">STEP 04</span><span class="s-title">效果评估</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item green"><span class="s-num">STEP 05</span><span class="s-title">持续优化</span></div>
+    </div>
+
+    <!-- STEP 01 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--blue);">① 提前识别——在"无声期"发现癌症</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      癌症筛查的生物学基础是:从第一个癌细胞到临床可检测的肿瘤,通常需要数年甚至十几年的时间。在这个"潜伏期"中,通过有效的筛查手段发现癌前病变或早期癌症,是降低死亡率最有效的方式——这正是主动健康的"第一道防线"。
+    </p>
+
+    <div class="table-wrap" style="margin-bottom:1.5rem;">
+      <table>
+        <tr><th>癌症类型</th><th>推荐筛查手段</th><th>目标人群</th><th>频率</th><th>证据等级</th></tr>
+        <tr><td>肺癌</td><td>低剂量螺旋CT(LDCT)</td><td>50-74岁,≥20包年吸烟史</td><td>每年</td><td>A—NLST/ELCAP</td></tr>
+        <tr><td>结直肠癌</td><td>FIT免疫化学法便潜血/结肠镜</td><td>50-75岁(中国建议40-74岁)</td><td>FIT每年/结肠镜5-10年</td><td>A—多国RCT</td></tr>
+        <tr><td>乳腺癌</td><td>乳腺超声+钼靶(X线)</td><td>40岁以上女性(中国45-74岁)</td><td>每1-2年</td><td>A—WHO/IARC</td></tr>
+        <tr><td>宫颈癌</td><td>HPV核酸检测/巴氏涂片</td><td>30-65岁女性</td><td>HPV每5年</td><td>A—WHO</td></tr>
+        <tr><td>胃癌</td><td>胃镜+活检/血清胃蛋白酶原</td><td>40岁以上H. pylori阳性/高危</td><td>每2-3年</td><td>A—日中韩研究</td></tr>
+        <tr><td>肝癌</td><td>肝脏超声+AFP(甲胎蛋白)</td><td>HBV/HCV携带者、肝硬化患者</td><td>每6个月</td><td>B—中国指南</td></tr>
+        <tr><td>前列腺癌</td><td>PSA血检(需讨论获益与风险)</td><td>45岁以上有家族史者</td><td>每2年</td><td>A(争议)</td></tr>
+      </table>
+    </div>
+    <p style="color:var(--text-muted);font-size:0.82rem;margin-bottom:1.5rem;">参考:《中国癌症筛查指南》2023 · 国家癌症中心</p>
+
+    <div class="shot-placeholder">
+      <div class="shot-icon">🧬</div>
+      <span>img/ref-screenshots/cancer_ref3.png</span>
+    </div>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div>
+        <div class="card card-blue" style="margin-bottom:1.25rem;">
+          <h3>🧬 基因检测——高风险家庭的"预警雷达"</h3>
+          <p>以下家族史提示遗传性癌症综合征可能:</p>
+          <ul class="list-styled blue">
+            <li><strong>BRCA1/2相关癌症:</strong>家族中多个乳腺癌/卵巢癌患者(同侧或双侧乳腺癌;男性乳腺癌;三阴性乳腺癌)</li>
+            <li><strong>Lynch综合征:</strong>家族性早发(<50岁)结直肠癌和/或子宫内膜癌</li>
+            <li><strong>Li-Fraumeni综合征:</strong>家族中多个儿童或年轻人患肉瘤、乳腺癌、白血病、脑肿瘤、肾上腺皮质癌</li>
+            <li><strong>家族性腺瘤性息肉病(FAP): </strong>家族中多发性结直肠息肉(>100个)</li>
+          </ul>
+          <p style="margin-top:0.6rem;">对于确认携带致病变异的高风险家庭,可采取更早、更频繁的筛查(如BRCA1携带者从25岁开始乳腺癌筛查),或考虑药物预防和手术预防。</p>
+        </div>
+      </div>
+      <div>
+        <div class="card card-teal" style="margin-bottom:1.25rem;">
+          <h3>🤲 自我检查方法——定期但不过度</h3>
+          <p><strong>乳腺自我检查:</strong>月经结束后3-5天的最佳时间。视诊:面对镜子观察双侧乳房大小/轮廓是否对称、皮肤有无改变(橘皮样、凹陷)、乳头有无回缩/溢液。触诊:仰卧位,用对侧手指腹部按顺时针方向(从外上→外下→内下→内上→乳晕区)轻触。注意:自我检查的敏感性有限(约30-50%),不能替代专业影像筛查。</p>
+          <p style="margin-top:0.6rem;"><strong>皮肤癌自查:</strong>观察ABCDE原则——Asymmetry(不对称)、Border irregular(边界不规则)、Color variation(颜色不均)、Diameter>6mm(直径>6mm)、Evolving(动态变化)。使用镜子检查背部、头皮、甲下等不易观察的部位。</p>
+          <p style="margin-top:0.6rem;"><strong>淋巴结自查:</strong>用手指指腹轻压颈部、锁骨上、腋窝、腹股沟区域——>1cm的固定、无痛、质地硬淋巴结需就医。</p>
+        </div>
+        <div class="card card-purple">
+          <h3>🧪 肿瘤标志物——辅助判断而非诊断工具</h3>
+          <p>肿瘤标志物(如AFP、CEA、CA125、PSA、CA19-9、CA15-3)<strong>不能单独用于癌症诊断</strong>——因为它们在非癌性疾病中也可能升高(炎症、良性肿瘤、妊娠、吸烟等),且早期癌症可能完全不升高(敏感性低)。</p>
+          <p style="margin-top:0.5rem;">正确的使用方式:高危人群的辅助筛查(如AFP+肝脏超声筛查肝癌);确诊后监测治疗效果(如CEA在结直肠癌术后随访);监测复发(治疗后的趋势变化比单次绝对值更重要)。CEA在结直肠癌中的特异性约70-80%,但早期结直肠癌中只有约50%的CEA升高。</p>
+        </div>
+      </div>
+    </div>
+
+    <!-- STEP 02 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--teal);">② 风险管控——分层管理,精准预防</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      癌症风险管控的核心是根据个人的遗传背景、生活方式暴露和环境因素进行风险分层,然后针对不同风险级别采取差异化的策略——更高的风险需要更早、更频繁的筛查和更积极的行为干预。
+    </p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div>
+        <div class="card card-teal" style="margin-bottom:1.25rem;">
+          <h3>🚭 控烟——最高价值的单一预防措施</h3>
+          <p>任何年龄戒烟都能获益。戒烟10年后,肺癌风险降低约50%;戒烟15年后,心血管风险接近不吸烟者。<strong>戒烟的方法:</strong>咨询+药物(尼古丁替代疗法、安非他酮、伐尼克兰)是最有效的组合方案。中国有约3.5亿烟民——如果能将其吸烟率从25%降至15%,每年可避免约30万癌症死亡。</p>
+        </div>
+        <div class="card card-blue" style="margin-bottom:1.25rem;">
+          <h3>💉 疫苗预防——最成功的癌症预防策略</h3>
+          <p><strong>HPV疫苗(人乳头瘤病毒疫苗): </strong>推荐9-14岁女孩为主要接种对象(2剂次/间隔6-12个月),15-45岁女性可补种(3剂次)。疫苗可预防90%以上的HPV相关癌症(包括宫颈癌、口咽癌、肛门癌等)。中国已批准9价/4价/2价HPV疫苗上市。</p>
+          <p><strong>HBV疫苗(乙肝疫苗): </strong>预防乙肝病毒感染→预防慢性乙肝→预防肝硬化→预防肝癌。中国新生儿乙肝疫苗接种率已>95%,5岁以下儿童HBsAg携带率降至0.3%。对于成人,高风险人群(医务人员、性工作者、HBV携带者家属)建议补种。</p>
+        </div>
+      </div>
+      <div>
+        <div class="card card-purple" style="margin-bottom:1.25rem;">
+          <h3>🦠 根除幽门螺杆菌——胃癌预防的有力武器</h3>
+          <p>中国H. pylori感染率约55%——约7.7亿人感染。《中国幽门螺杆菌根除与胃癌防控专家共识(2022)》推荐:在胃癌高发地区进行以人群为基础的筛查和治疗策略。根除H. pylori可使胃癌发生风险降低约39%(中国随机对照试验数据,随访15年)。筛查方法:碳13/碳14呼气试验(最准确)或血清学检测。治疗:含铋剂的四联疗法(PPI+铋剂+两种抗生素)10-14天。</p>
+        </div>
+        <div class="card card-orange" style="margin-bottom:1.25rem;">
+          <h3>⚖️ 体重管理——维持健康体重</h3>
+          <p>维持BMI在18.5-24 kg/m²可以预防约15%的癌症病例。腰围:男性<90cm,女性<85cm。即使是已经在超重范围内的人,减重5-10%也能显著降低炎症水平和胰岛素抵抗,从而降低癌症风险。没有捷径——热量摄入减少+活动量增加是体重管理的基石。</p>
+        </div>
+        <div class="card card-accent">
+          <h3>🍷 限制酒精——无安全量的"致癌饮品"</h3>
+          <p>WCRF明确结论:为了癌症预防,<strong>不饮酒是最安全的选择</strong>。即使"少量"饮酒(每日1杯葡萄酒)也会增加乳腺癌风险约5-10%,结直肠癌风险约7-10%。对于有饮酒习惯者:建议完全戒酒或至少将酒精摄入控制在最低水平(男性每日不超过25g乙醇,女性不超过15g乙醇,但即使这个水平仍存在致癌风险)。对于携带ALDH2*2突变(饮酒脸红)的人群,酒精致癌风险更高,建议滴酒不沾。</p>
+        </div>
+      </div>
+    </div>
+
+    <!-- STEP 03 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--purple);">③ 主动干预——可执行的六维抗癌策略</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      主动干预不是"绝对不生病"的承诺,而是在理解科学证据的基础上,做出对降低癌症风险最有力的选择。没有一种单一食物或补充剂可以"抗癌",但多种健康行为的同时叠加,可以产生显著的保护效应。
+    </p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div>
+        <div class="card card-accent" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🚭</span>
+          <h3>① 远离所有烟草产品——NO.1 防癌策略</h3>
+          <p>烟草是最大的单一可预防致癌因素。不仅仅是吸烟——所有烟草产品(包括电子烟)都含有致癌物。电子烟虽然不是传统燃烧烟草,但其含有尼古丁和其他有毒物质(如甲醛、乙醛、丙烯醛)——<strong>电子烟液加热产生的甲醛/乙醛浓度在某些情况下可以达到传统香烟的水平。</strong></p>
+          <p style="margin-top:0.5rem;"><strong>关键行动:</strong>制定明确的戒烟计划,使用专业戒烟热线(12320)或戒烟门诊。帮助家人和朋友戒烟,保护自己和家人免受二手烟和三手烟暴露。</p>
+        </div>
+
+        <div class="card card-teal" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🥗</span>
+          <h3>② 饮食——地中海/植物性饮食模式</h3>
+          <p>WCRF/AICR推荐的癌症预防饮食模式:</p>
+          <p><strong>高膳食纤维:</strong>每日膳食纤维≥30g(全谷物、豆类、蔬菜、水果)。膳食纤维经肠道菌群发酵产生短链脂肪酸(SCFAs,主要是丁酸)→通过GPR43受体和HDAC抑制发挥抗肿瘤免疫作用。高纤维饮食者结直肠癌风险降低约20-30%。</p>
+          <p><strong>十字花科蔬菜:</strong>西兰花、卷心菜、羽衣甘蓝等含异硫氰酸盐(sulforaphane)→激活Nrf2通路→诱导II相解毒酶→促进致癌物清除。每周3-5份十字花科蔬菜摄入可降低肺癌、胃癌、结直肠癌风险。</p>
+          <p><strong>限制加工肉(避免)和红肉(<300g/周):</strong>以鱼类和禽肉替代。避免高温油炸和烧烤——产生杂环胺(HCAs)和多环芳烃(PAHs),均为IARC Group 2A/2B致癌物。</p>
+        </div>
+
+        <div class="card card-purple" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🏃</span>
+          <h3>③ 运动——通过免疫加强和代谢调节来防癌</h3>
+          <p>规律运动的癌症保护机制:增强免疫监视(增加NK细胞和CD8+ T细胞活性)、减少炎症(降低IL-6、TNF-α,增加抗炎肌动蛋白)、降低胰岛素和IGF-1水平、改善肠道菌群多样性。</p>
+          <p><strong>运动处方:</strong>每周至少150分钟中等强度有氧运动(快走、慢跑、游泳、骑自行车)或75分钟高强度有氧运动。<strong>证据数据:</strong>规律运动使结直肠癌风险降低约20-30%,乳腺癌风险降低约10-20%,子宫内膜癌风险降低约20-30%。久坐行为本身增加结直肠癌风险(独立于运动总量),需在每坐1小时后起身活动5分钟。</p>
+        </div>
+      </div>
+
+      <div>
+        <div class="card card-blue" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🛡️</span>
+          <h3>④ 免疫预防——疫苗接种和微环境调控</h3>
+          <p><strong>HPV疫苗:</strong>预防HPV持续感染→宫颈癌前病变→宫颈癌。最佳接种年龄是9-14岁(性行为开始前),两剂次(间隔6-12个月)。对于已经感染HPV的个体,疫苗不能清除已有感染,但可预防其他型别感染。</p>
+          <p><strong>HBV疫苗:</strong>预防HBV感染→慢性肝炎→肝硬化→肝癌。新生儿、未感染的成人高危人群(尤其是医护人员、HBV携带者家属)均应接种。</p>
+          <p style="margin-top:0.5rem;"><strong>免疫检查点:</strong>PD-1/PD-L1抗体和CTLA-4抗体在部分癌症类型中产生了"治愈性"效果,但其核心在治疗而非预防。未来方向:癌症疫苗(治疗性mRNA疫苗、新抗原疫苗)正处于临床试验中。</p>
+        </div>
+
+        <div class="card card-orange" style="margin-bottom:1.25rem;">
+          <span class="card-icon">💊</span>
+          <h3>⑤ 抗炎——炎症是癌症的"燃料"</h3>
+          <p>慢性炎症是癌症的核心驱动因素之一:NF-κB激活→促进细胞增殖、抑制凋亡、诱导血管生成。CANTOS研究里程碑式地证明:抗炎治疗(IL-1β抗体canakinumab)可降低肺癌发病率约67%(次要终点)。</p>
+          <p><strong>阿司匹林(ASA)化学预防:</strong>ASA通过抑制COX-2(环氧化酶-2)介导的前列腺素E2合成,阻断Wnt/β-catenin信号通路。多个RCT的荟萃分析显示:长期服用低剂量阿司匹林(≥5年)可使结直肠癌风险降低约20-30%,尤其在用药5年以后。<strong>但是:</strong>阿司匹林增加胃肠道出血和出血性卒中风险,不建议作为一般人群的常规预防用药——使用前需评估个人心血管风险和出血风险。</p>
+          <p><strong>其他抗炎策略:</strong>ω-3多不饱和脂肪酸(EPA/DHA)可竞争性抑制促炎花生四烯酸代谢产物;姜黄素(curcumin)可抑制NF-κB通路,但生物利用度极低,尚无高质量证据支持其作为癌症预防的独立手段。</p>
+        </div>
+
+        <div class="card card-teal">
+          <span class="card-icon">🦠</span>
+          <h3>⑥ 调节肠道菌群——新兴的癌症预防靶点</h3>
+          <p><strong>高膳食纤维→丁酸产生菌增殖→抗肿瘤免疫:</strong>每日≥30g膳食纤维(全谷物、豆类、蔬菜、水果)。<strong>(此处配一幅示意图:纤维→丁酸→抗癌机制示意)</strong></p>
+          <p><strong>限制不必要的抗生素使用:</strong>抗生素暴露扰乱肠道菌群,降低微生物多样性,可能影响免疫监视功能。流行病学研究提示抗生素使用与结直肠癌风险增加有关。</p>
+          <p><strong>发酵食品与益生菌:</strong>酸奶、泡菜、纳豆含有的益生菌(如乳杆菌、双歧杆菌)可改善肠道屏障,调节免疫应答。益生菌作为癌症预防辅助剂的研究进展迅速,但尚无确凿RCT证据支持特定菌株的直接防癌效果。</p>
+        </div>
+      </div>
+    </div>
+
+    <div class="shot-placeholder">
+      <div class="shot-icon">🧬</div>
+      <span>img/ref-screenshots/cancer_ref4.png</span>
+    </div>
+
+    <!-- STEP 04 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--orange);">④ 效果评估——用数据说证,验证防癌措施</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      主动防癌不是"做了就好"——需要验证措施是否达到预期效果。筛查依从性是否达标?生活方式改善是否反映在生物学指标上?这些评估数据是持续优化的依据。
+    </p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div class="card card-orange">
+        <h3>📊 筛查依从性与监测指标</h3>
+        <table>
+          <tr><th>筛查/监测项目</th><th>目标人群</th><th>是否及时完成</th></tr>
+          <tr><td>LDCT(肺癌)</td><td>50-74岁,高吸烟量</td><td>每年</td></tr>
+          <tr><td>结肠镜/FIT(结直肠癌)</td><td>40-74岁</td><td>FIT每年/结肠镜5-10年</td></tr>
+          <tr><td>乳腺超声/钼靶</td><td>40岁以上女性</td><td>每1-2年</td></tr>
+          <tr><td>HPV筛查(宫颈癌)</td><td>30-65岁女性</td><td>每5年</td></tr>
+          <tr><td>胃镜(胃癌)</td><td>40岁以上高危人群</td><td>每2-3年</td></tr>
+          <tr><td>肝脏超声+AFP</td><td>慢性肝病患者</td><td>每6个月</td></tr>
+        </table>
+        <p style="margin-top:0.6rem;font-size:0.85rem;color:var(--text-muted);">建立个人"癌症筛查日历"——标记每一项筛查的到期日期。</p>
+      </div>
+      <div>
+        <div class="card card-teal" style="margin-bottom:1.25rem;">
+          <h3>🧪 生活方式改善的生物学验证</h3>
+          <ul class="list-styled green">
+            <li><strong>体重/BMI/腰围:</strong>BMI是否向18.5-24目标移动?腰围是否下降?</li>
+            <li><strong>饮食质量评分:</strong>每日膳食纤维是否≥30g?红肉是否<300g/周?加工肉是否避免?</li>
+            <li><strong>运动达标率:</strong>每周是否完成≥150分钟中等强度运动?</li>
+            <li><strong>炎症指标:</strong>hsCRP是否<1mg/L?(肥胖、吸烟、不健康饮食都会升高hsCRP)</li>
+            <li><strong>糖代谢指标:</strong>空腹血糖/胰岛素水平是否正常?(胰岛素抵抗→高IGF-1→促进有丝分裂)</li>
+            <li><strong>维生素D:</strong>血清25(OH)D是否维持在≥30ng/ml?维生素D受体(VDR)在多种组织中表达,维生素D通过调节免疫和细胞分化发挥潜在抗肿瘤作用。</li>
+          </ul>
+        </div>
+        <div class="card card-purple">
+          <h3>🧠 管理"扫描焦虑症"(Scanxiety)</h3>
+          <p>癌症筛查和影像复查带来的焦虑——"扫描焦虑症"(scanxiety)是一种被科学文献正式描述的心理状态。对于癌症幸存者和高危人群,定期的影像检查(CT、MRI、PET-CT)可能诱发明显的焦虑和恐惧。应对策略:正念减压(MBSR)被证实可降低扫描焦虑水平;认知行为治疗(CBT)帮助患者建立对复查的正确认知;同伴支持小组可缓解孤独感。</p>
+        </div>
+      </div>
+    </div>
+
+    <div class="evidence-box green" style="margin-bottom:1.5rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">📊 筛查效果的核心数据</span>
+        <span class="ev-tag green">循证数据</span>
+      </div>
+      <p><strong>LDCT筛查:</strong>NSLT研究(53,000人)显示,肺癌死亡风险降低约24%(LDCT vs 胸片)。<strong>结肠镜筛查/腺瘤切除:</strong>结肠镜发现并切除腺瘤可降低后续结直肠癌发病率约76-90%。<strong>HPV筛查:</strong>HPV核酸检测比巴氏涂片更敏感(约95% vs 65%),筛查间隔可延长至5年。<strong>胃镜筛查:</strong>日本和韩国的经验表明,胃镜筛查可使胃癌死亡率降低约40-60%。</p>
+    </div>
+
+    <!-- STEP 05 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--teal);">⑤ 持续优化——癌症后的主动健康管理与长期生存</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      随着癌症早诊和治疗手段的进步,中国癌症患者的五年生存率已从10年前的约30%提高至约40.5%。越来越多的患者从"癌症患者"转变为"癌症幸存者"。主动健康在癌症确诊后同样重要——甚至更重要。持续优化是贯穿终身的动态过程。
+    </p>
+
+    <div class="grid-3">
+      <div class="card card-blue">
+        <h3>📋 癌症幸存者照护计划</h3>
+        <p><strong>复发监测:</strong>根据原发癌症类型制定个体化的影像和肿瘤标志物复查计划。结直肠癌:术后2年内每3-6个月复查CEA+CT,之后每6-12个月至5年;乳腺癌:每6-12个月乳腺影像检查至5年,之后每年。</p>
+        <p style="margin-top:0.4rem;"><strong>第二原发癌筛查:</strong>癌症幸存者发生第二原发癌的风险比普通人群高约14%(因遗传易感性+既往治疗致突变效应+共同的致癌因素暴露)。需要保持与其他普通人群同等的筛查依从性,甚至更严格。</p>
+        <p style="margin-top:0.4rem;"><strong>治疗晚期效应管理:</strong>蒽环类药物(阿霉素、表柔比星)的心脏毒性——心肌病风险呈剂量依赖性,累积剂量>450mg/m²时风险显著升高,需定期心脏超声。芳香化酶抑制剂(乳腺癌内分泌治疗)的骨质疏松效应——需定期骨密度监测,补充钙剂和维生素D。</p>
+      </div>
+      <div class="card card-purple">
+        <h3>❤️ 心理-社会康复——常被忽视的"主动健康"维度</h3>
+        <p><strong>心理肿瘤学(Psycho-oncology): </strong>约30-40%的癌症患者经历临床显著的焦虑或抑郁。心理干预(CBT、正念、支持性心理治疗)可改善生活质量、治疗依从性,甚至可能影响生存结局。</p>
+        <p style="margin-top:0.4rem;"><strong>重返工作:</strong>约60-70%的癌症幸存者在完成治疗后1-2年内返回工作岗位。重返工作有助于自尊重建、经济独立和社会再融入。工作场所的灵活安排(弹性工时、远程办公)对过渡期有重要帮助。</p>
+        <p style="margin-top:0.4rem;"><strong>社会支持:</strong>家庭支持、同伴支持(癌症患者互助组织)和专业人员支持的三位一体是最有效的社会心理支持模式。</p>
+      </div>
+      <div class="card card-orange">
+        <h3>🔬 整合医学——证据评价</h3>
+        <p><strong>有证据支持的整合实践:</strong></p>
+        <ul class="list-styled">
+          <li><strong>运动疗法:</strong>有氧+抗阻训练改善癌症相关性疲劳、肌肉减少症、生活质量(NCI强烈推荐)</li>
+          <li><strong>正念冥想(MBSR/MBCT): </strong>降低焦虑、抑郁和扫描焦虑(A级证据)</li>
+          <li><strong>营养支持:</strong>高蛋白饮食对抗恶病质,地中海饮食降低复发风险</li>
+          <li><strong>针灸:</strong>对化疗相关性恶心、癌症相关性疼痛有效</li>
+        </ul>
+        <p style="margin-top:0.4rem;"><strong>缺乏证据的"顺势疗法"(应避免):</strong></p>
+        <ul class="list-styled">
+          <li>高剂量抗氧化剂补充剂(维生素C/E、β-胡萝卜素)——可能干扰放化疗效果,某些补充剂甚至增加复发风险</li>
+          <li>"碱性饮食"——没有科学依据,血液pH受到严格生理调控</li>
+          <li>草药/膳食补充剂"抗癌"——绝大多数缺乏RCT证据</li>
+        </ul>
+        <p style="margin-top:0.4rem;color:var(--text-muted);font-size:0.82rem;">癌症患者使用任何膳食补充剂之前必须咨询肿瘤科医生。</p>
+      </div>
+    </div>
+
+    <div class="quote-block green" style="margin-top:2rem;">
+      <p class="quote-text">"大约40%的癌症是可以预防的——这不是推测,这是世界卫生组织基于现有科学证据的结论。不吸烟、健康饮食、维持健康体重、限制酒精、接种HPV疫苗和乙肝疫苗——每一个选择都在降低你的癌症风险。真正的'抗癌药'不仅存在于药房,更存在于你的每一个日常选择中。"</p>
+      <span class="quote-source">— 浠艾福 · 主动健康学院 · 五维幸福理念</span>
+    </div>
+
+  </div>
+</section>
+
+<!-- CTA -->
+<section class="cta-section">
+  <div class="container">
+    <h2>主动健康,从今天开始</h2>
+    <p>癌症可预防、可早诊、可管理、可共存。让科学的知识代替恐惧,让主动的行动代替等待。<br>在基因给定的底牌上,通过科学的生活方式,你完全有能力改写自己的健康命运。</p>
+    <div class="cta-buttons">
+      <a href="index.html" class="btn btn-primary">🏠 返回首页</a>
+      <a href="https://www.etotem.com.cn" class="btn btn-outline" target="_blank">了解主动健康服务</a>
+    </div>
+  </div>
+</section>
+
+<!-- Footer (shared) -->
+<div id="footer-placeholder"></div>
+<script src="js/footer.js"></script>
+
+<!-- ══════════════════════════════════════════
+     参考文献
+═══════════════════════════════════════════ -->
+<section class="citations" id="citations">
+  <div class="container">
+    <h2 style="font-size:1.3rem;font-weight:800;margin-bottom:1.5rem;display:flex;align-items:center;gap:0.5rem;">📚 参考文献</h2>
+
+    <div class="citation-card" id="ref-1">
+      <div class="source">[1] IARC/WHO · Global Cancer Statistics 2024 · GLOBOCAN 2024</div>
+      <div class="auth-row"><span class="auth-badge blue">📊 IARC/WHO全球癌症统计</span></div>
+      <div class="findings">China: 4.57 million new cancer cases, 3.00 million cancer deaths annually. Top five: Lung (820k), colorectal (520k), stomach (480k), liver (410k), breast (420k female). Age-standardized incidence rate 201.7/100,000.</div>
+      <div class="trans">中国年新发癌症457万例,死亡300万例。肺癌、结直肠癌、胃癌、肝癌、乳腺癌为前五位。</div>
+      <a class="link" href="https://gco.iarc.who.int/" target="_blank">🔗 gco.iarc.who.int</a>
+    </div>
+
+    <div class="citation-card" id="ref-2">
+      <div class="source">[2] Hanahan D, Weinberg RA. Hallmarks of Cancer: The Next Generation. Cell. 2011;144(5):646-674.</div>
+      <div class="auth-row"><span class="auth-badge">📚 Cell · 经典综述 · 被引>50000次</span><span class="auth-badge purple">癌症生物学里程碑</span></div>
+      <div class="findings">Proposes 8 hallmarks of cancer: sustaining proliferative signaling, evading growth suppressors, resisting cell death, enabling replicative immortality, inducing angiogenesis, activating invasion/metastasis, reprogramming energy metabolism, evading immune destruction. Updated to 14 in 2022.</div>
+      <div class="trans">提出癌症八大特征——持续增殖、逃逸生长抑制、抵抗凋亡、无限复制、诱导血管生成、激活侵袭转移、代谢重编程、免疫逃逸。</div>
+      <a class="link" href="https://doi.org/10.1016/j.cell.2011.02.013" target="_blank">🔗 doi.org/10.1016/j.cell.2011.02.013</a>
+    </div>
+
+    <div class="citation-card" id="ref-3">
+      <div class="source">[3] Hanahan D. Hallmarks of Cancer: New Dimensions. Cancer Discovery. 2022;12(1):31-46.</div>
+      <div class="auth-row"><span class="auth-badge purple">📚 Hallmarks拓展 · 2022</span></div>
+      <div class="findings">Adds 4 new hallmarks: unlocking phenotypic plasticity, non-mutational epigenetic reprogramming, polymorphic microbiomes, and senescent cells. Expands framework to 14 hallmarks.</div>
+      <div class="trans">2022扩展至14个特征:表型可塑性解锁、非突变表观遗传重编程、多态微生物组、衰老细胞。</div>
+      <a class="link" href="https://doi.org/10.1158/2159-8290.CD-21-1059" target="_blank">🔗 doi.org/10.1158/2159-8290.CD-21-1059</a>
+    </div>
+
+    <div class="citation-card" id="ref-4">
+      <div class="source">[4] World Cancer Research Fund (WCRF)/AICR. Diet, Nutrition, Physical Activity and Cancer: A Global Perspective. Continuous Update Project Expert Report 2018.</div>
+      <div class="auth-row"><span class="auth-badge green">🥗 WCRF/AICR · 饮食与癌症综合证据</span></div>
+      <div class="findings">Strong evidence: processed meat (colorectal cancer, Group 1), red meat (colorectal, Group 2A), alcohol (several cancers, Group 1), obesity (13 cancers), whole grains (colorectal, protective), physical activity (colon, breast, protective).</div>
+      <div class="trans">饮食、营养、运动与癌症的系统证据评估——加工肉类(1类)、红肉(2A类)、酒精(1类)明确致癌,膳食纤维/运动明确降低风险。</div>
+      <a class="link" href="https://www.wcrf.org/diet-activity-and-cancer/" target="_blank">🔗 www.wcrf.org</a>
+    </div>
+
+    <div class="citation-card" id="ref-5">
+      <div class="source">[5] Bray F, Laversanne M, Sung H, et al. Global cancer statistics 2022: GLOBOCAN estimates. CA Cancer J Clin. 2024;74(3):229-263.</div>
+      <div class="auth-row"><span class="auth-badge blue">📊 CA Cancer J Clin · IF 254.7 · 全球癌症统计</span></div>
+      <div class="findings">Global: 19.96M new cases, 9.74M deaths. Lung (12.4% of all cases) surpasses breast as most common. Cancer transition: aging populations drive incidence in LMICs.</div>
+      <div class="trans">全球2022年近2000万新发病例、974万死亡。肺癌超过乳腺癌成为全球最常见癌症。</div>
+      <a class="link" href="https://doi.org/10.3322/caac.21834" target="_blank">🔗 doi.org/10.3322/caac.21834</a>
+    </div>
+
+    <div class="citation-card" id="ref-6">
+      <div class="source">[6] Knudson AG. Mutation and cancer: statistical study of retinoblastoma. Proc Natl Acad Sci USA. 1971;68(4):820-823.</div>
+      <div class="auth-row"><span class="auth-badge">🧬 经典文献 · Two-Hit假说</span></div>
+      <div class="findings">Proposes the "two-hit" hypothesis: both alleles of a tumor suppressor gene must be inactivated for cancer to develop. Hereditary cancers carry one germline mutation (first hit), requiring only one somatic mutation; sporadic cancers require two somatic mutations.</div>
+      <div class="trans">两次打击假说——抑癌基因的两个等位基因均需失活才能致癌。遗传性癌症已携带一个胚系突变。</div>
+      <a class="link" href="https://doi.org/10.1073/pnas.68.4.820" target="_blank">🔗 doi.org/10.1073/pnas.68.4.820</a>
+    </div>
+
+    <div class="citation-card" id="ref-7">
+      <div class="source">[7] Fidler MM, Bray F, Soerjomataram I. The global cancer burden and human development: A review. Lancet Oncol. 2018;19(1):e66-e75.</div>
+      <div class="auth-row"><span class="auth-badge blue">📊 癌症流行病学 · Lancet Oncol</span></div>
+      <div class="findings">Cancer incidence doubles each decade after age 50. Aging population is the primary driver of rising cancer burden globally. Demographic transition in China will add ~3.5M annual cases by 2040.</div>
+      <div class="trans">癌症是"衰老疾病"——50岁后发病率每十年翻一番。中国人口老龄化将使年新发病例在2040年增加约350万。</div>
+      <a class="link" href="https://doi.org/10.1016/S1470-2045(17)30676-3" target="_blank">🔗 doi.org/10.1016/S1470-2045(17)30676-3</a>
+    </div>
+
+    <div class="citation-card" id="ref-8">
+      <div class="source">[8] Jha P, Peto R. Global effects of smoking, of quitting, and of taxing tobacco. N Engl J Med. 2014;370(1):60-68.</div>
+      <div class="auth-row"><span class="auth-badge">🚬 NEJM · 吸烟全球影响 · 经典综述</span></div>
+      <div class="findings">Smoking causes 25% of all cancer deaths globally. Half of all smokers die from tobacco-related diseases. Quitting before age 40 reduces excess mortality by ~90%. China has 350M smokers, the largest tobacco epidemic in the world.</div>
+      <div class="trans">吸烟导致全球25%的癌症死亡。中国约3.5亿烟民。40岁前戒烟可减少约90%的吸烟相关超额死亡。</div>
+      <a class="link" href="https://doi.org/10.1056/NEJMra1308383" target="_blank">🔗 doi.org/10.1056/NEJMra1308383</a>
+    </div>
+
+    <div class="citation-card" id="ref-9">
+      <div class="source">[9] Lauby-Secretan B, Scoccianti C, Loomis D, et al. Body fatness and cancer — Viewpoint of the IARC Working Group. N Engl J Med. 2016;375(8):794-798.</div>
+      <div class="auth-row"><span class="auth-badge">⚖️ IARC · 肥胖与癌症 · NEJM</span></div>
+      <div class="findings">Sufficient evidence for 13 cancer types associated with excess body fat: endometrial, breast (postmenopausal), colorectal, kidney, pancreas, esophageal adenocarcinoma, liver, gastric cardia, ovarian, thyroid, meningioma, multiple myeloma, gallbladder.</div>
+      <div class="trans">IARC确认13种癌症与肥胖存在因果关系。维持健康体重可预防约15%的癌症病例。</div>
+      <a class="link" href="https://doi.org/10.1056/NEJMsr1606602" target="_blank">🔗 doi.org/10.1056/NEJMsr1606602</a>
+    </div>
+
+    <div class="citation-card" id="ref-10">
+      <div class="source">[10] Plummer M, de Martel C, Vignat J, et al. Global burden of cancers attributable to infections in 2012. Lancet Glob Health. 2016;4(9):e609-616.</div>
+      <div class="auth-row"><span class="auth-badge blue">🦠 感染相关癌症 · 全球负担</span></div>
+      <div class="findings">15.4% of all cancers worldwide attributable to infections. In China: ~22% (far higher than 5-8% in Western countries). Leading: H. pylori (gastric cancer), HPV (cervical), HBV/HCV (liver), EBV (nasopharyngeal).</div>
+      <div class="trans">全球15.4%的癌症归因于感染。中国约22%的癌症与感染有关(远高于西方国家的5-8%)。</div>
+      <a class="link" href="https://doi.org/10.1016/S2214-109X(16)30143-7" target="_blank">🔗 doi.org/10.1016/S2214-109X(16)30143-7</a>
+    </div>
+
+    <div class="citation-card" id="ref-11">
+      <div class="source">[11] Global Burden of Disease Cancer Collaboration. The Global Burden of Cancer 2019. JAMA Oncol. 2022;8(3):420-444.</div>
+      <div class="auth-row"><span class="auth-badge blue">📊 JAMA Oncol · 全球癌症疾病负担</span></div>
+      <div class="findings">China accounts for 24% of all new cancer cases and 30% of all cancer deaths globally. Air pollution (PM2.5) accounts for ~300k lung cancer deaths annually in China.</div>
+      <div class="trans">中国占全球新发癌症的24%、癌症死亡的30%。空气污染与中国约30万肺癌死亡相关。</div>
+      <a class="link" href="https://doi.org/10.1001/jamaoncol.2021.6987" target="_blank">🔗 doi.org/10.1001/jamaoncol.2021.6987</a>
+    </div>
+
+    <div class="citation-card" id="ref-12">
+      <div class="source">[12] Rubinstein WS, Acheson LS, O'Neill SM, et al. Clinical practice guidelines for genetic susceptibility to cancer. J Clin Oncol. 2021;39(27):3031-3041.</div>
+      <div class="auth-row"><span class="auth-badge purple">🧬 JCO · 遗传性癌症临床指南</span></div>
+      <div class="findings">5-10% of cancers are inherited. Core syndromes: BRCA1/2 (breast/ovarian), Lynch (MLH1/MSH2/MSH6/PMS2 for colorectal/endometrial), Li-Fraumeni (TP53), FAP (APC). Genetic counseling and testing recommended for at-risk families.</div>
+      <div class="trans">5-10%的癌症是遗传性的。高风险家庭的遗传咨询和基因检测是精准预防的基础。</div>
+      <a class="link" href="https://doi.org/10.1200/JCO.21.00326" target="_blank">🔗 doi.org/10.1200/JCO.21.00326</a>
+    </div>
+
+    <div class="citation-card" id="ref-13">
+      <div class="source">[13] Garrett WS. The gut microbiota and colon cancer. Science. 2015;348(6230):80-86.</div>
+      <div class="auth-row"><span class="auth-badge green">🧫 Science · 肠道菌群与结直肠癌</span></div>
+      <div class="findings">Fusobacterium nucleatum enriched in CRC tissue promotes tumorigenesis via FadA binding to E-cadherin, activating β-catenin. Butyrate (from fiber fermentation) acts as HDAC inhibitor promoting apoptosis. Gut microbiota emerges as a key mediator of diet-cancer interactions.</div>
+      <div class="trans">具核梭杆菌通过FadA-E-钙黏蛋白结合促进结直肠癌发生。丁酸(膳食纤维发酵产物)通过HDAC抑制发挥抗肿瘤作用。</div>
+      <a class="link" href="https://doi.org/10.1126/science.aaa4972" target="_blank">🔗 doi.org/10.1126/science.aaa4972</a>
+    </div>
+
+    <div class="citation-card" id="ref-14">
+      <div class="source">[14] National Cancer Institute (NCI). Cancer Screening Overview (PDQ). Updated 2024.</div>
+      <div class="auth-row"><span class="auth-badge blue">📋 NCI · 癌症筛查证据综述</span></div>
+      <div class="findings">Screening reduces mortality for lung (LDCT, ↓24%), colorectal (colonoscopy, ↓40-60%), breast (mammography, ↓20-30%), cervical (HPV test, ↓50-70%), gastric (endoscopy, ↓40-60% in East Asia). Key principle: screen based on age, risk factors, and family history.</div>
+      <div class="trans">NCI综合证据:肺癌LDCT降低死亡率24%,结肠镜降低40-60%,钼靶降低20-30%,HPV筛查降低50-70%。</div>
+      <a class="link" href="https://www.cancer.gov/about-cancer/screening" target="_blank">🔗 www.cancer.gov/screening</a>
+    </div>
+
+    <div class="citation-card" id="ref-15">
+      <div class="source">[15] 中国国家癌症中心. 中国恶性肿瘤学科发展报告2024. 中华肿瘤杂志. 2024;46(1).</div>
+      <div class="auth-row"><span class="auth-badge blue">📊 中国肿瘤流行病学权威数据</span></div>
+      <div class="findings">中国五年相对生存率40.5%(较2012年提高约10%)。城市与农村、不同癌症类型之间生存率差异显著。胃癌筛查覆盖率<15%,结直肠癌筛查覆盖率<12%。</div>
+      <div class="trans">中国癌症五年生存率40.5%,但筛查覆盖率仍然很低,提高筛查依从性是降低死亡率的关键策略。</div>
+    </div>
+
+  </div>
+</section>
+
+</body>
+</html>

+ 1117 - 0
web/cardio-cerebro.html

@@ -0,0 +1,1117 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="description" content="心脑血管疾病科学循证科普——症状识别、疾病定义、发病原因与主动健康五步干预。含肠道菌群-TMAO轴、富氢水内皮修复、中国心血管流行病学数据。">
+<meta name="keywords" content="心脑血管疾病,动脉粥样硬化,胸痛,脑卒中,高血压,肠道菌群,TMAO,富氢水,主动健康,心血管预防">
+<meta property="og:title" content="心脑血管疾病的症状、病因与主动健康干预 — 科学循证">
+<meta property="og:description" content="中国心血管患病3.45亿。症状识别→疾病机制→危险因素→主动健康五步:提前识别、风险管控、主动干预、效果评估、持续优化。">
+<meta property="og:type" content="article">
+<title>心脑血管疾病 · 症-病-因与主动健康干预 · 浠艾福</title>
+<style>
+  :root {
+    --bg-card: #FFFFFF;
+    --bg-alt: #f8f5ff;
+    --text-primary: #1a1a2e;
+    --text-secondary: #4a5568;
+    --text-muted: #718096;
+    --accent: #c0392b;
+    --accent-light: #fdf2f2;
+    --blue: #1a5276;
+    --blue-light: #eaf4fb;
+    --teal: #148f77;
+    --teal-light: #e6fffa;
+    --purple: #7d3c98;
+    --purple-light: #f5eef8;
+    --orange: #d35400;
+    --orange-light: #fff4e6;
+    --font: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
+    --max-width: 1080px;
+    --shadow-card: 0 4px 24px rgba(0,0,0,0.08);
+    --shadow-hover: 0 8px 40px rgba(0,0,0,0.12);
+    --radius: 16px;
+  }
+  * { margin: 0; padding: 0; box-sizing: border-box; }
+  html { scroll-behavior: smooth; }
+  body {
+    font-family: var(--font);
+    font-size: 1rem;
+    line-height: 1.8;
+    color: var(--text-primary);
+    background: #fff;
+    -webkit-font-smoothing: antialiased;
+  }
+
+  /* HERO */
+  .hero {
+    position: relative;
+    background: linear-gradient(135deg, #2d1b3d 0%, #4a1942 40%, #6b2d5b 100%);
+    color: white;
+    padding: 6rem 1.5rem 4rem;
+    overflow: hidden;
+    min-height: 58vh;
+    display: flex;
+    align-items: center;
+  }
+  .hero::before {
+    content: '';
+    position: absolute;
+    inset: 0;
+    background:
+      radial-gradient(circle at 20% 30%, rgba(192,57,43,0.15) 0%, transparent 50%),
+      radial-gradient(circle at 80% 70%, rgba(20,143,119,0.1) 0%, transparent 50%);
+  }
+  .hero-particles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
+  .particle {
+    position: absolute;
+    border-radius: 50%;
+    background: rgba(255,255,255,0.1);
+    animation: float 8s ease-in-out infinite;
+  }
+  .particle:nth-child(1) { width:4px;height:4px;left:10%;top:20%;animation-delay:0s; }
+  .particle:nth-child(2) { width:8px;height:8px;left:25%;top:60%;animation-delay:1s;opacity:0.08; }
+  .particle:nth-child(3) { width:5px;height:5px;left:45%;top:15%;animation-delay:2s; }
+  .particle:nth-child(4) { width:3px;height:3px;left:65%;top:70%;animation-delay:0.5s; }
+  .particle:nth-child(5) { width:7px;height:7px;left:80%;top:30%;animation-delay:3s;opacity:0.06; }
+  .particle:nth-child(6) { width:4px;height:4px;left:15%;top:85%;animation-delay:1.5s; }
+  .particle:nth-child(7) { width:9px;height:9px;left:55%;top:45%;animation-delay:2.5s;opacity:0.1; }
+  @keyframes float {
+    0%,100% { transform: translateY(0) scale(1); opacity: 0.1; }
+    50% { transform: translateY(-30px) scale(1.5); opacity: 0.22; }
+  }
+  .hero-content {
+    position: relative;
+    z-index: 1;
+    max-width: var(--max-width);
+    margin: 0 auto;
+    text-align: center;
+    width: 100%;
+  }
+  .hero-badge {
+    display: inline-flex;
+    align-items: center;
+    gap: 0.5rem;
+    background: rgba(255,255,255,0.1);
+    border: 1px solid rgba(255,255,255,0.2);
+    backdrop-filter: blur(8px);
+    padding: 0.4rem 1rem;
+    border-radius: 100px;
+    font-size: 0.85rem;
+    margin-bottom: 1.5rem;
+  }
+  .hero h1 {
+    font-size: clamp(1.8rem, 5vw, 3rem);
+    font-weight: 800;
+    margin-bottom: 1rem;
+    letter-spacing: -0.02em;
+    line-height: 1.25;
+  }
+  .hero h1 .accent { color: #e74c3c; }
+  .hero-sub {
+    font-size: clamp(1rem, 2vw, 1.15rem);
+    color: rgba(255,255,255,0.8);
+    max-width: 680px;
+    margin: 0 auto 2rem;
+    line-height: 1.7;
+  }
+  .hero-stats {
+    display: flex;
+    gap: 1.5rem;
+    justify-content: center;
+    flex-wrap: wrap;
+    margin-top: 2rem;
+  }
+  .hero-stat {
+    background: rgba(255,255,255,0.08);
+    backdrop-filter: blur(8px);
+    border: 1px solid rgba(255,255,255,0.1);
+    border-radius: 12px;
+    padding: 1rem 1.5rem;
+    text-align: center;
+    min-width: 120px;
+  }
+  .hero-stat .num { font-size: 1.9rem; font-weight: 800; color: #e74c3c; display: block; }
+  .hero-stat .label { font-size: 0.82rem; color: rgba(255,255,255,0.7); margin-top: 0.2rem; }
+  .scroll-hint {
+    position: absolute;
+    bottom: 2rem;
+    left: 50%;
+    transform: translateX(-50%);
+    color: rgba(255,255,255,0.45);
+    font-size: 0.78rem;
+    text-align: center;
+    animation: bounce 2s ease-in-out infinite;
+    cursor: pointer;
+    text-decoration: none;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    gap: 0.3rem;
+  }
+  @keyframes bounce {
+    0%,100% { transform: translateX(-50%) translateY(0); }
+    50% { transform: translateX(-50%) translateY(8px); }
+  }
+  .scroll-arrow {
+    width: 16px; height: 16px;
+    border-right: 2px solid rgba(255,255,255,0.4);
+    border-bottom: 2px solid rgba(255,255,255,0.4);
+    transform: rotate(45deg);
+  }
+
+  /* NAV */
+  .nav {
+    position: sticky;
+    top: 0;
+    z-index: 100;
+    background: rgba(255,255,255,0.96);
+    backdrop-filter: blur(12px);
+    border-bottom: 1px solid rgba(0,0,0,0.06);
+    padding: 0.75rem 1.5rem;
+  }
+  .nav-inner {
+    max-width: var(--max-width);
+    margin: 0 auto;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    gap: 1rem;
+    flex-wrap: wrap;
+  }
+  .nav-brand {
+    font-weight: 700;
+    font-size: 0.95rem;
+    color: var(--accent);
+    text-decoration: none;
+    display: flex;
+    align-items: center;
+    gap: 0.4rem;
+  }
+  .nav-links {
+    display: flex;
+    gap: 0.3rem;
+    flex-wrap: wrap;
+    list-style: none;
+  }
+  .nav-links a {
+    color: var(--text-secondary);
+    text-decoration: none;
+    font-size: 0.85rem;
+    padding: 0.3rem 0.7rem;
+    border-radius: 8px;
+    transition: all 0.2s;
+  }
+  .nav-links a:hover { background: var(--accent-light); color: var(--accent); }
+  .nav-links a.active { background: var(--accent-light); color: var(--accent); font-weight: 600; }
+
+  /* LAYOUT */
+  .container { max-width: var(--max-width); margin: 0 auto; padding: 0 1.5rem; }
+  .section { padding: 4rem 0; border-bottom: 1px solid #eee; }
+  .section:last-of-type { border-bottom: none; }
+  .section-alt { background: var(--bg-alt); }
+  .section-tag {
+    display: inline-flex;
+    align-items: center;
+    gap: 0.4rem;
+    font-size: 0.72rem;
+    font-weight: 700;
+    letter-spacing: 0.1em;
+    text-transform: uppercase;
+    color: var(--accent);
+    margin-bottom: 0.75rem;
+  }
+  .section-tag.purple { color: var(--purple); }
+  .section-tag.teal { color: var(--teal); }
+  .section-tag.blue { color: var(--blue); }
+  .section-tag.orange { color: var(--orange); }
+  .section-tag.green { color: var(--teal); }
+  .section-title {
+    font-size: clamp(1.4rem, 3vw, 2.1rem);
+    font-weight: 800;
+    margin-bottom: 1rem;
+    line-height: 1.3;
+  }
+  .section-intro {
+    font-size: 1.05rem;
+    color: var(--text-secondary);
+    margin-bottom: 2rem;
+    max-width: 820px;
+    line-height: 1.85;
+  }
+
+  /* GRID */
+  .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
+  .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
+  @media (max-width: 768px) { .grid-2, .grid-3 { grid-template-columns: 1fr; } }
+
+  /* CARDS */
+  .card {
+    background: var(--bg-card);
+    border-radius: var(--radius);
+    padding: 1.75rem;
+    box-shadow: var(--shadow-card);
+    border: 1px solid rgba(0,0,0,0.04);
+    transition: transform 0.2s, box-shadow 0.2s;
+  }
+  .card:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); }
+  .card-icon { font-size: 2.4rem; margin-bottom: 0.75rem; display: block; }
+  .card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 0.6rem; }
+  .card p { color: var(--text-secondary); font-size: 0.92rem; line-height: 1.75; }
+  .card-accent { border-left: 4px solid var(--accent); }
+  .card-blue { border-left: 4px solid var(--blue); }
+  .card-teal { border-left: 4px solid var(--teal); }
+  .card-purple { border-left: 4px solid var(--purple); }
+  .card-orange { border-left: 4px solid var(--orange); }
+
+  /* STAT ROW */
+  .stat-row { display: flex; gap: 1.5rem; flex-wrap: wrap; margin: 1.5rem 0; }
+  .stat-block {
+    flex: 1;
+    min-width: 110px;
+    background: var(--bg-alt);
+    border-radius: 12px;
+    padding: 1.1rem 1.25rem;
+    text-align: center;
+  }
+  .stat-block .number { font-size: 1.7rem; font-weight: 800; color: var(--accent); display: block; }
+  .stat-block .number.blue { color: var(--blue); }
+  .stat-block .number.teal { color: var(--teal); }
+  .stat-block .number.purple { color: var(--purple); }
+  .stat-block .number.orange { color: var(--orange); }
+  .stat-block .unit { font-size: 0.72rem; color: var(--text-muted); display: block; margin-top: 0.15rem; }
+  .stat-block .desc { font-size: 0.82rem; color: var(--text-secondary); margin-top: 0.35rem; }
+
+  /* EVIDENCE BOX */
+  .evidence-box {
+    background: linear-gradient(135deg, #fdf2f2 0%, #fff9f0 100%);
+    border: 1px solid rgba(192,57,43,0.12);
+    border-radius: 12px;
+    padding: 1.4rem 1.7rem;
+    margin: 1.75rem 0;
+    position: relative;
+    overflow: hidden;
+  }
+  .evidence-box::before {
+    content: '🔬';
+    position: absolute;
+    top: -0.5rem;
+    right: 1rem;
+    font-size: 3.5rem;
+    opacity: 0.06;
+  }
+  .evidence-box.blue {
+    background: linear-gradient(135deg, #eaf4fb 0%, #e8f4f8 100%);
+    border-color: rgba(26,82,118,0.12);
+  }
+  .evidence-box.green {
+    background: linear-gradient(135deg, #e6fffa 0%, #f0fff4 100%);
+    border-color: rgba(20,143,119,0.12);
+  }
+  .evidence-box.purple {
+    background: linear-gradient(135deg, #f5eef8 0%, #faf5ff 100%);
+    border-color: rgba(125,60,152,0.12);
+  }
+  .evidence-box-header { display: flex; align-items: center; gap: 0.4rem; margin-bottom: 0.65rem; flex-wrap: wrap; }
+  .evidence-box-title { font-weight: 700; font-size: 0.97rem; color: var(--accent); }
+  .evidence-box.blue .evidence-box-title { color: var(--blue); }
+  .evidence-box.green .evidence-box-title { color: var(--teal); }
+  .evidence-box.purple .evidence-box-title { color: var(--purple); }
+  .evidence-box p { color: var(--text-secondary); font-size: 0.92rem; line-height: 1.75; margin-bottom: 0.4rem; }
+  .evidence-box p:last-child { margin-bottom: 0; }
+  .ev-tag {
+    display: inline-block;
+    font-size: 0.68rem;
+    font-weight: 700;
+    padding: 0.18rem 0.55rem;
+    border-radius: 100px;
+    background: rgba(192,57,43,0.1);
+    color: var(--accent);
+    margin-right: 0.3rem;
+    margin-top: 0.25rem;
+  }
+  .ev-tag.blue { background: rgba(26,82,118,0.1); color: var(--blue); }
+  .ev-tag.green { background: rgba(20,143,119,0.1); color: var(--teal); }
+  .ev-tag.purple { background: rgba(125,60,152,0.1); color: var(--purple); }
+  .ev-tag.orange { background: rgba(211,84,0,0.1); color: var(--orange); }
+
+  /* PROCESS STEPS */
+  .process-steps { display: flex; flex-direction: column; gap: 1rem; margin: 1.5rem 0; }
+  .process-step { display: flex; gap: 1.25rem; align-items: flex-start; }
+  .step-num {
+    flex-shrink: 0;
+    width: 2rem; height: 2rem;
+    background: var(--accent-light);
+    color: var(--accent);
+    border-radius: 50%;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    font-weight: 800;
+    font-size: 0.88rem;
+  }
+  .step-num.blue { background: var(--blue-light); color: var(--blue); }
+  .step-num.teal { background: var(--teal-light); color: var(--teal); }
+  .step-num.purple { background: var(--purple-light); color: var(--purple); }
+  .step-num.orange { background: var(--orange-light); color: var(--orange); }
+  .step-num.green { background: var(--teal-light); color: var(--teal); }
+  .step-content h4 { font-size: 0.98rem; font-weight: 700; margin-bottom: 0.28rem; color: var(--text-primary); }
+  .step-content p { font-size: 0.88rem; color: var(--text-secondary); line-height: 1.7; }
+
+  /* QUOTE */
+  .quote-block {
+    background: var(--bg-alt);
+    border-left: 4px solid var(--accent);
+    border-radius: 0 12px 12px 0;
+    padding: 1.4rem 1.7rem;
+    margin: 1.75rem 0;
+  }
+  .quote-block.blue { border-left-color: var(--blue); }
+  .quote-block.green { border-left-color: var(--teal); }
+  .quote-block.purple { border-left-color: var(--purple); }
+  .quote-text { font-size: 1.02rem; font-style: italic; color: var(--text-secondary); line-height: 1.8; margin-bottom: 0.65rem; }
+  .quote-source { font-size: 0.82rem; color: var(--text-muted); font-weight: 600; }
+
+  /* LIST */
+  .list-styled { list-style: none; padding: 0; margin: 1rem 0; }
+  .list-styled li { padding: 0.45rem 0 0.45rem 1.7rem; position: relative; color: var(--text-secondary); font-size: 0.92rem; line-height: 1.7; }
+  .list-styled li::before { content: '✔'; position: absolute; left: 0; color: var(--accent); font-weight: 700; font-size: 0.85rem; top: 0.45rem; }
+  .list-styled.blue li::before { color: var(--blue); }
+  .list-styled.green li::before { color: var(--teal); }
+
+  /* TABLE */
+  .table-wrap { overflow-x: auto; margin: 1.5rem 0; }
+  table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
+  th { background: var(--accent-light); color: var(--accent); padding: 0.7rem 1rem; text-align: left; font-weight: 700; white-space: nowrap; }
+  th.blue { background: var(--blue-light); color: var(--blue); }
+  th.teal { background: var(--teal-light); color: var(--teal); }
+  th.purple { background: var(--purple-light); color: var(--purple); }
+  td { padding: 0.7rem 1rem; border-bottom: 1px solid #eee; color: var(--text-secondary); vertical-align: top; }
+  tr:last-child td { border-bottom: none; }
+  tr:hover td { background: #fafafa; }
+
+  /* STEP FLOW */
+  .step-flow { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.5rem; margin: 2rem 0; }
+  .step-flow-item {
+    background: white;
+    border: 2px solid var(--accent);
+    border-radius: 12px;
+    padding: 0.85rem 1.4rem;
+    text-align: center;
+    min-width: 150px;
+    box-shadow: var(--shadow-card);
+  }
+  .step-flow-item.blue { border-color: var(--blue); }
+  .step-flow-item.teal { border-color: var(--teal); }
+  .step-flow-item.purple { border-color: var(--purple); }
+  .step-flow-item.orange { border-color: var(--orange); }
+  .step-flow-item.green { border-color: var(--teal); }
+  .step-flow-item .s-num { font-size: 0.72rem; font-weight: 700; color: var(--accent); display: block; margin-bottom: 0.2rem; }
+  .step-flow-item.blue .s-num { color: var(--blue); }
+  .step-flow-item.teal .s-num, .step-flow-item.green .s-num { color: var(--teal); }
+  .step-flow-item.purple .s-num { color: var(--purple); }
+  .step-flow-item.orange .s-num { color: var(--orange); }
+  .step-flow-item .s-title { font-size: 0.9rem; font-weight: 700; color: var(--text-primary); display: block; }
+  .step-flow-arrow { font-size: 1.2rem; color: #ccc; }
+
+  /* CTA */
+  .cta-section {
+    background: linear-gradient(135deg, #2d1b3d 0%, #4a1942 100%);
+    color: white;
+    padding: 4rem 1.5rem;
+    text-align: center;
+  }
+  .cta-section h2 { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; margin-bottom: 0.9rem; }
+  .cta-section p { color: rgba(255,255,255,0.78); max-width: 580px; margin: 0 auto 2rem; font-size: 1rem; line-height: 1.7; }
+  .cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
+  .btn { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.72rem 1.6rem; border-radius: 100px; font-size: 0.92rem; font-weight: 700; text-decoration: none; transition: all 0.2s; cursor: pointer; border: none; }
+  .btn-primary { background: var(--accent); color: white; }
+  .btn-primary:hover { background: #a93226; transform: translateY(-1px); }
+  .btn-outline { background: transparent; color: white; border: 2px solid rgba(255,255,255,0.38); }
+  .btn-outline:hover { border-color: white; background: rgba(255,255,255,0.1); }
+
+  /* Footer styles replaced by shared js/footer.js */
+
+  /* CITATIONS */
+  .citations { background: #f8f8f8; border-top: 2px solid var(--accent); padding: 3rem 0; }
+  .citation-card { background: white; border: 1px solid #eee; border-radius: 12px; padding: 1.2rem 1.5rem; margin-bottom: 0.9rem; }
+  .citation-card .source { font-size: 0.83rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.35rem; }
+  .citation-card .auth-row { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.4rem; }
+  .auth-badge { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 100px; background: #fde8e8; color: #c0392b; }
+  .auth-badge.blue { background: #eaf4fb; color: #1a5276; }
+  .auth-badge.green { background: #e6fffa; color: #148f77; }
+  .auth-badge.purple { background: #f5eef8; color: #7d3c98; }
+  .citation-card .findings { font-size: 0.85rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 0.35rem; }
+  .citation-card .trans { font-size: 0.78rem; color: var(--text-muted); font-style: italic; margin-bottom: 0.35rem; }
+  .citation-card .link { font-size: 0.78rem; color: var(--blue); text-decoration: none; }
+  .citation-card .link:hover { text-decoration: underline; }
+
+  .anchor { scroll-margin-top: 72px; }
+
+  .shot-placeholder {
+    background: linear-gradient(135deg,#f0f0f0,#e5e5e5);
+    border-radius: 12px;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center;
+    min-height: 180px;
+    color: #aaa;
+    font-size: 0.85rem;
+    gap: 0.4rem;
+    margin: 1.25rem 0;
+  }
+  .shot-placeholder .shot-icon { font-size: 2.2rem; opacity: 0.35; }
+</style>
+</head>
+<body>
+
+<!-- HERO -->
+<section class="hero">
+  <div class="hero-particles">
+    <div class="particle"></div><div class="particle"></div><div class="particle"></div>
+    <div class="particle"></div><div class="particle"></div><div class="particle"></div><div class="particle"></div>
+  </div>
+  <div class="hero-content">
+    <div class="hero-badge">❤️ 科学循证 · 主动健康</div>
+    <h1>心脑血管疾病<br><span class="accent">症·病·因与主动健康干预</span></h1>
+    <p class="hero-sub">中国心血管现患3.45亿,高血压2.45亿。<br>理解症状信号 → 掌握核心病理 → 识别可控病因 → 建立主动健康五步干预闭环——<br>在基因给定的底牌上,通过科学干预改写疾病的结局。</p>
+    <div class="hero-stats">
+      <div class="hero-stat"><span class="num">3.45亿</span><span class="label">心血管现患人数</span></div>
+      <div class="hero-stat"><span class="num">2.45亿</span><span class="label">高血压患者</span></div>
+      <div class="hero-stat"><span class="num">458万</span><span class="label">年心血管病死亡</span></div>
+      <div class="hero-stat"><span class="num">40%</span><span class="label">死亡归因占比</span></div>
+    </div>
+  </div>
+  <a href="#symptoms" class="scroll-hint">
+    <span>开始阅读</span>
+    <div class="scroll-arrow"></div>
+  </a>
+</section>
+
+<!-- NAV -->
+<nav class="nav">
+  <div class="nav-inner">
+    <a href="index.html" class="nav-brand">❤️ 浠艾福 · 主动健康学院</a>
+    <ul class="nav-links">
+      <li><a href="#symptoms">症</a></li>
+      <li><a href="#disease">病</a></li>
+      <li><a href="#causes">因</a></li>
+      <li><a href="#proactive">主动健康五步</a></li>
+      <li><a href="#citations">参考文献</a></li>
+    </ul>
+  </div>
+</nav>
+
+<!-- ══════════════════════════════════════════
+     症 · 症状识别
+═══════════════════════════════════════════ -->
+<section class="section" id="symptoms">
+  <div class="container">
+    <div class="section-tag">🔍 症 · 症状识别</div>
+    <h2 class="section-title">读懂身体的求救信号——心脑血管疾病的早期症状</h2>
+    <p class="section-intro">
+      心脑血管疾病常被称"沉默的杀手"——高血压平时毫无症状,一旦发作却可致命;冠心病早期信号轻微,容易被忽视;脑卒中的FAST征象一旦出现需立即就医。理解这些症状,是主动健康的第一步:越早识别,干预窗口越宽,预后越好。
+    </p>
+
+    <div class="grid-2">
+      <div class="card card-accent">
+        <span class="card-icon">💔</span>
+        <h3>冠心病的典型症状</h3>
+        <p><strong>稳定型心绞痛:</strong>胸部压迫感、紧缩感或憋闷,多在运动、情绪激动、饱餐后出现,休息或含服硝酸甘油后2-5分钟内缓解。部位常为胸骨后,可放射至左肩、左臂、颈部、下颌。</p>
+        <p style="margin-top:0.6rem;"><strong>不稳定性心绞痛:</strong>静息时也发作,或发作频率增加、持续时间延长、程度加重——这是心肌梗死的预警信号,需立即就医。</p>
+        <p style="margin-top:0.6rem;"><strong>急性心肌梗死(AMI):</strong>持续性剧烈胸痛>20分钟,伴大汗淋漓、恶心呕吐、濒死感,含服硝酸甘油无效。老年、糖尿病患者的症状可能不典型(无痛性心梗),仅表现为呼吸困难或乏力。</p>
+      </div>
+      <div class="card card-blue">
+        <span class="card-icon">🧠</span>
+        <h3>脑卒中的早期信号(FAST原则)</h3>
+        <p><strong>F · Face(面部)</strong>:笑时口角歪斜,歪向一侧;<strong>A · Arm(手臂)</strong>:双平举时一侧手臂下垂;<strong>S · Speech(语言)</strong>:说话含糊不清、听不懂别人说话;<strong>T · Time(时间)</strong>:立即拨打120,时间就是大脑。</p>
+        <p style="margin-top:0.6rem;"><strong>其他预警信号:</strong>突发剧烈头痛(出血性脑卒中);突发单眼或双眼视物模糊;突发行走不稳、眩晕;突发意识丧失或抽搐。出现上述任何症状,即使短暂缓解也要立即就医——"小中风"(TIA,短暂性脑缺血发作)后7天内发生完全性卒中的风险高达10%。</p>
+      </div>
+    </div>
+
+    <div class="grid-3" style="margin-top:1.5rem;">
+      <div class="card card-teal">
+        <span class="card-icon">🩺</span>
+        <h3>高血压的"沉默"信号</h3>
+        <p>大多数高血压患者<strong>毫无症状</strong>。约10%患者可能出现:头晕(尤其突然站立时)、头胀痛(后颈部、前额为著)、眼花、耳鸣、失眠、疲乏感。这些症状不特异,常被误认为"疲劳"或"年龄大了"。</p>
+        <p style="margin-top:0.5rem;"><strong>警告:</strong>当高血压患者出现头痛、恶心呕吐、视物模糊、鼻出血时,往往提示已经发生高血压急症(血压>180/120mmHg伴靶器官损害),需紧急降压。</p>
+      </div>
+      <div class="card card-purple">
+        <span class="card-icon">😵</span>
+        <h3>心衰的典型表现</h3>
+        <p><strong>左心衰(肺循环淤血):</strong>活动后呼吸困难(最早症状),夜间阵发性呼吸困难(睡到半夜憋醒,需坐起),端坐呼吸(平卧困难),咳嗽伴白色泡沫痰,严重时咯粉红色泡沫痰。</p>
+        <p style="margin-top:0.5rem;"><strong>右心衰(体循环淤血):</strong>双下肢水肿(下午加重,早晨减轻或消退),腹部饱胀、食欲下降,肝颈静脉怒张,尿量减少。</p>
+      </div>
+      <div class="card card-orange">
+        <span class="card-icon">⚡</span>
+        <h3>血管堵塞的隐匿信号</h3>
+        <p>动脉粥样硬化可累及全身血管:<strong>颈动脉狭窄</strong>可导致头晕、记忆力下降、一过性黑矇;<strong>肾动脉狭窄</strong>导致难以控制的高血压和肾功能异常;<strong>下肢动脉硬化闭塞</strong>导致行走后腿痛(间歇性跛行),休息后缓解。</p>
+        <p style="margin-top:0.5rem;"><strong>勃起功能障碍(ED)</strong>:男性阴茎动脉直径仅1-2mm,比冠脉更细,ED可能是全身动脉粥样硬化的早期"窗口",是心血管疾病的独立预测因子。</p>
+      </div>
+    </div>
+
+    <div class="evidence-box blue" style="margin-top:2rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">⚠️ 这些症状出现时,请立即就医</span>
+      </div>
+      <p>① 突发持续剧烈胸痛>15分钟,伴出汗、恶心、濒死感 → 疑似急性心肌梗死,呼叫120。<strong>研究显示,中国AMI患者从症状出现到入院平均耗时约3-4小时,延误治疗可导致心肌不可逆坏死。</strong></p>
+      <p>② 突发口角歪斜、一侧肢体无力或麻木、言语不清 → 疑似脑卒中,溶栓时间窗(4.5小时内)和取栓时间窗(6小时内)错过将显著增加残疾风险。</p>
+      <p>③ 突发剧烈头痛、呕吐、意识障碍 → 疑似脑出血,死亡率>40%,需立即CT确诊。</p>
+      <p>④ 夜间呼吸困难、不能平卧、下肢重度水肿 → 急性心衰失代偿,需紧急住院治疗。</p>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     病 · 疾病定义与病理
+═══════════════════════════════════════════ -->
+<section class="section section-alt" id="disease">
+  <div class="container">
+    <div class="section-tag purple">📖 病 · 疾病定义</div>
+    <h2 class="section-title">心脑血管疾病:核心病理与流行病学</h2>
+    <p class="section-intro">
+      心脑血管疾病是心脏和脑血管疾病的统称,涵盖冠心病、脑卒中、高血压、心力衰竭、风湿性心脏病、先天性心脏病及心肌病等。其共同核心病理基础是<strong>动脉粥样硬化</strong>——一种起始于内皮损伤、经数十年缓慢进展的慢性炎症性疾病。
+    </p>
+
+    <div class="stat-row">
+      <div class="stat-block">
+        <span class="number">3.45亿</span>
+        <span class="unit">人</span>
+        <span class="desc">中国心血管现患人数</span>
+      </div>
+      <div class="stat-block">
+        <span class="number blue">2.45亿</span>
+        <span class="unit">人</span>
+        <span class="desc">高血压患者</span>
+      </div>
+      <div class="stat-block">
+        <span class="number teal">1300万</span>
+        <span class="unit">人/年</span>
+        <span class="desc">新增脑卒中患者</span>
+      </div>
+      <div class="stat-block">
+        <span class="number orange">458万</span>
+        <span class="unit">人/年</span>
+        <span class="desc">心血管病死亡人数</span>
+      </div>
+    </div>
+    <p style="color:var(--text-muted);font-size:0.82rem;margin-bottom:1.5rem;">
+      数据来源:《中国心血管健康与疾病报告2024》|城乡居民死亡原因首位,农村死亡占比46.74%,城市44.26%
+    </p>
+
+    <div class="grid-2">
+      <div class="card card-accent">
+        <span class="card-icon">❤️</span>
+        <h3>冠心病(CHD)</h3>
+        <p>冠状动脉(为心肌供血的动脉)发生粥样硬化,导致管腔狭窄,心肌供血不足。中国冠心病患者约1139万。稳定型心绞痛在劳累时发作,休息或含硝酸甘油可缓解;不稳定型心绞痛在静息时也发作,反映斑块不稳定——这是急性心肌梗死的前兆。急性心肌梗死(AMI)是心肌供血完全中断导致心肌坏死,死亡率约5-10%(院外死亡占一半以上)。</p>
+      </div>
+      <div class="card card-blue">
+        <span class="card-icon">🧠</span>
+        <h3>脑卒中(Stroke)</h3>
+        <p>分为缺血性(约占80%,脑梗死)和出血性(脑溢血)。缺血性脑卒中:脑血管被血栓或栓子堵塞导致脑组织缺血坏死,急性期可溶栓(4.5h内)或取栓(6-24h,需影像评估)。出血性脑卒中:脑血管破裂出血,脑组织直接受压损伤,死亡率>40%,主要病因是高血压性脑出血。中国脑卒中发病率约240/10万人年,显著高于发达国家。</p>
+      </div>
+    </div>
+
+    <h3 style="font-size:1.1rem;font-weight:700;margin:2rem 0 1rem;">⚙️ 核心病理:动脉粥样硬化的四步进程</h3>
+    <div class="process-steps">
+      <div class="process-step">
+        <div class="step-num purple">①</div>
+        <div class="step-content">
+          <h4>内皮功能障碍——疾病起点</h4>
+          <p>正常内皮细胞分泌一氧化氮(NO),维持血管舒张、抑制血小板聚集、防止炎症细胞粘附。高血压、高血糖、吸烟、高LDL-C、氧化应激均可损伤内皮,使其通透性增加。LDL-C颗粒穿透内膜进入内皮下层,内皮细胞开始表达粘附分子(VCAM-1、ICAM-1),吸引单核细胞进入血管壁。这一阶段在青少年时期就已开始。</p>
+        </div>
+      </div>
+      <div class="process-step">
+        <div class="step-num purple">②</div>
+        <div class="step-content">
+          <h4>氧化应激与炎症激活——进展加速</h4>
+          <p>进入内皮下层的LDL-C被活性氧(ROS)氧化为ox-LDL——高度促炎的致病分子。ox-LDL促使内皮细胞释放IL-1β、IL-6、TNF-α,激活NLRP3炎症小体。单核细胞分化为巨噬细胞,通过清道夫受体(SR-A、CD36)大量摄取ox-LDL,形成<strong>泡沫细胞</strong>——粥样硬化斑块的"种子"。</p>
+        </div>
+      </div>
+      <div class="process-step">
+        <div class="step-num purple">③</div>
+        <div class="step-content">
+          <h4>斑块形成与管腔狭窄</h4>
+          <p>泡沫细胞堆积形成脂质核心,血管平滑肌细胞迁移增值并分泌胶原纤维形成纤维帽。斑块向管腔突出导致血流受阻。当管腔狭窄>70%时,安静状态下即可出现心肌供血不足(稳定型心绞痛)。斑块内新生血管形成增加斑块不稳定风险。</p>
+        </div>
+      </div>
+      <div class="process-step">
+        <div class="step-num purple">④</div>
+        <div class="step-content">
+          <h4>斑块不稳定与急性事件</h4>
+          <p>斑块破裂是急性冠脉综合征和脑卒中的直接触发因素。不稳定斑块特征:薄纤维帽(<65μm)、大脂质核心、显著炎症细胞浸润。斑块破裂后脂质核心内容物暴露于血液,触发凝血级联反应形成血栓——完全阻断冠脉血流导致心肌梗死,或随血流堵塞脑动脉导致缺血性脑卒中。</p>
+        </div>
+      </div>
+    </div>
+
+    <div class="evidence-box" style="margin-top:2rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">📊 动脉粥样硬化的分子标志物</span>
+        <span class="ev-tag">RCT证据</span>
+        <span class="ev-tag blue">临床指标</span>
+      </div>
+      <p><strong>ox-LDL</strong>(氧化低密度脂蛋白):动脉粥样硬化的核心促炎分子,驱动泡沫细胞形成;<strong>hsCRP</strong>(超敏C反应蛋白):全身低度炎症标志物,预测心血管事件风险,参考值<1mg/L(低风险),1-3mg/L(中风险),>3mg/L(高风险);<strong>Lp(a)</strong>(脂蛋白a):由基因决定的独立风险因子,浓度>300mg/L时心血管风险显著升高;<strong>MMP-9</strong>(基质金属蛋白酶-9):降解纤维帽胶原,其水平升高提示斑块不稳定风险增加。</p>
+      <p style="margin-top:0.5rem;color:var(--text-muted);font-style:italic;">CANTOS研究(NEJM 2017, doi:10.1056/NEJMoa1707914)首次证明:靶向IL-1β的Canakinumab抗炎治疗可降低心血管事件约15%(独立于降脂之外),开启了"心血管抗炎治疗"新纪元。</p>
+    </div>
+
+    <div class="quote-block green" style="margin-top:1.5rem;">
+      <p class="quote-text">"动脉粥样硬化是一种血管老化疾病。它从童年期启动,经数十年潜伏,在中年出现症状,老年导致残疾和死亡。每一个阶段都存在干预机会——早期干预成本最低、获益最大。"</p>
+      <span class="quote-source">— 《生理学评论》2023 · 心血管遗传学与动脉粥样硬化综述 · doi:10.1152/physrev.00024.2022</span>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     因 · 发病原因
+═══════════════════════════════════════════ -->
+<section class="section" id="causes">
+  <div class="container">
+    <div class="section-tag orange">⚡ 因 · 发病原因</div>
+    <h2 class="section-title">心脑血管疾病的九大可控病因</h2>
+    <p class="section-intro">
+      理解"病因"不只是为了诊断,更是为了找到干预靶点。INTERHEART研究(全球52国,30000人)证实:<strong>90%以上的心肌梗死归因于9个可改变的危险因素</strong>。这意味着心脑血管疾病在很大程度上是"生活方式病"——基因给定底牌,行为决定结局。
+    </p>
+
+    <div class="evidence-box" style="margin-bottom:2rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">📊 INTERHEART研究:九大危险因素的归因危险度(PAR)</span>
+        <span class="ev-tag">⚕️ 全球52国 · n=15000病例+15000对照</span>
+      </div>
+      <p>① 血脂异常(apoB/apoA1比值升高):<strong>PAR 49.2%</strong>——最大单一危险因素。<br>
+      ② 吸烟:PAR 35.7%。<br>
+      ③ 心理社会因素(压力/抑郁):PAR 16.5%。<br>
+      ④ 糖尿病:PAR 25.7%。<br>
+      ⑤ 高血压:PAR 25.0%。<br>
+      ⑥ 腹型肥胖:PAR 20.1%。<br>
+      ⑦ 水果蔬菜摄入不足:PAR 13.7%。<br>
+      ⑧ 缺乏运动:PAR 12.2%。<br>
+      ⑨ 过量饮酒:PAR 5.0%。</p>
+    </div>
+
+    <div class="grid-2">
+      <div>
+        <div class="card card-orange" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🧂</span>
+          <h3>高钠饮食——高血压的头号推手</h3>
+          <p>中国居民人均盐摄入约10.5g/天,是WHO推荐上限(5g)的2倍以上。高钠饮食直接升高血压,同时激活RAAS(肾素-血管紧张素-醛固酮系统),加重心脏负担,促进动脉粥样硬化。盐敏感者(人群中约30-50%)摄入高盐后血压升幅显著更大。</p>
+          <p style="margin-top:0.5rem;"><strong>核心数据:</strong>每日盐摄入减少4.6g,收缩压平均降低约5mmHg(正常血压者)至约7mmHg(高血压患者)。TOHP研究15年随访显示,限盐组心血管事件风险降低约25%。</p>
+        </div>
+
+        <div class="card card-orange" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🍬</span>
+          <h3>高血糖与糖尿病——血管的"甜蜜腐蚀"</h3>
+          <p>糖尿病患者心血管病风险是非糖尿病者的2-4倍,约50%的糖尿病患者最终死于心血管病。高血糖通过多种机制损伤血管:AGEs(糖基化终末产物)积累、氧化应激增加、内皮NO合成减少、LDL糖化后更易被氧化。HbA1c每升高1%,心血管事件风险增加约18%。</p>
+          <p style="margin-top:0.5rem;"><strong>重要窗口:</strong>"糖尿病前期"(空腹血糖受损或糖耐量异常)人群,心血管风险已比正常人升高约1.5倍,是早期干预的黄金时期。</p>
+        </div>
+
+        <div class="card card-orange">
+          <span class="card-icon">🚬</span>
+          <h3>吸烟——内皮的"直接攻击"</h3>
+          <p>吸烟是心血管疾病独立且可逆的危险因素。烟草中尼古丁收缩血管、一氧化碳损伤内皮、促血小板活化、降低HDL-C。吸烟者心血管病风险比不吸烟者高2-3倍。</p>
+          <p style="margin-top:0.5rem;"><strong>戒烟的惊人效果:</strong>戒烟1年,心血管病风险降低50%;戒烟5-15年,风险接近从不吸烟者。被动吸烟(二手烟)同样增加约25%的心血管病风险。</p>
+        </div>
+      </div>
+
+      <div>
+        <div class="card card-blue" style="margin-bottom:1.25rem;">
+          <span class="card-icon">📦</span>
+          <h3>腹型肥胖——代谢综合征的核心</h3>
+          <p>BMI正常但腰围超标(男性≥90cm,女性≥85cm)的"正常体重代谢性肥胖"(MONW)人群,心血管风险显著升高。脂肪组织是活跃的内分泌器官,分泌IL-6、TNF-α等促炎因子,释放游离脂肪酸导致胰岛素抵抗,形成"代谢性炎症"状态。</p>
+          <p style="margin-top:0.5rem;"><strong>代谢综合征:</strong>中心性肥胖+高血压+高血糖+血脂异常≥3项同时出现时,心血管病风险是无代谢综合征者的2-3倍。腰围每增加1cm,心血管事件风险增加约2%。</p>
+        </div>
+
+        <div class="card card-purple" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🥩</span>
+          <h3>饱和脂肪酸与反式脂肪——直接促动脉硬化</h3>
+          <p>饱和脂肪酸(主要来自红肉、全脂乳制品、棕榈油)升高LDL-C,促进动脉粥样硬化。反式脂肪(部分氢化植物油,油炸食品、烘焙食品中常见)作用更强——不仅升高LDL-C,还降低HDL-C、升高甘油三酯,是最强的心血管风险饮食因素。</p>
+          <p style="margin-top:0.5rem;"><strong>WHO目标:</strong>2025年前在全球食品供应中消除工业反式脂肪。</p>
+        </div>
+
+        <div class="card card-teal">
+          <span class="card-icon">😰</span>
+          <h3>慢性心理压力——被忽视的心血管推手</h3>
+          <p>慢性应激通过交感神经激活(↑儿茶酚胺)、HPA轴失调(↑皮质醇)升高血压、血糖和炎症水平。抑郁障碍患者心血管病风险增加约60%,机制涉及交感神经过度激活和血小板活化。</p>
+          <p style="margin-top:0.5rem;"><strong>空气污染:</strong>PM2.5暴露每增加10μg/m³,心血管死亡率增加约0.5-1.0%,长期暴露可加速动脉粥样硬化进展。</p>
+        </div>
+      </div>
+    </div>
+
+    <h3 style="font-size:1.05rem;font-weight:700;margin:2rem 0 1rem;">🔬 肠道菌群:被低估的心血管"第三套影响因素"</h3>
+    <div class="evidence-box purple" style="margin-bottom:2rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">🧫 肠道菌群-心血管轴:TMAO、SCFAs与胆汁酸系统</span>
+        <span class="ev-tag purple">PMC9268449 · 系统综述</span>
+        <span class="ev-tag green">新兴研究</span>
+      </div>
+      <p>人体肠道菌群携带约330万独特基因(人类基因组的150倍),被称为"第二基因组"。它们通过代谢产物深度参与心血管调控:</p>
+      <p><strong>TMAO通路:</strong>富含肉碱(红肉、内脏)和胆碱(蛋黄、动物肝脏)的饮食→肠道菌群将其转化为TMA→TMA在肝脏经FMO3酶氧化为TMAO→TMAO促进动脉粥样硬化(加速泡沫细胞形成)、促进血小板活化和血栓形成。高TMAO水平人群心血管事件风险增加约60%。</p>
+      <p><strong>SCFAs保护通路:</strong>膳食纤维(全谷物、蔬菜、水果)→肠道菌群发酵产生乙酸、丙酸、丁酸→SCFAs进入血液,作用于GPR41/43受体→降低血压(促进肾素分泌抑制)、减轻血管炎症、改善内皮功能、增加胰岛素敏感性。动物实验显示:高纤维饮食或补充丁酸盐可显著减轻动脉粥样硬化。</p>
+      <p><strong>胆汁酸信号通路:</strong>初级胆汁酸(肝脏合成)→进入肠道后被菌群转化为次级胆汁酸→FXR和TGR5受体信号→调节糖脂代谢、抑制炎症、影响动脉粥样硬化进展。</p>
+    </div>
+
+    <div class="process-steps" style="margin-top:1rem;">
+      <div class="process-step">
+        <div class="step-num orange">💡</div>
+        <div class="step-content">
+          <h4>主动健康核心认知:病因可改变</h4>
+          <p>心脑血管疾病的最重要"因"——高血压、高血糖、高血脂、吸烟、腹型肥胖、饮食失衡、缺乏运动、心理压力——全部是可改变的。即使遗传风险高,通过积极管理这些危险因素,同样可以大幅降低发病风险。建议每个家庭建立"心血管风险档案",记录各成员的危险因素现状和改善进度。</p>
+        </div>
+      </div>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     主动健康五步
+═══════════════════════════════════════════ -->
+<section class="section section-alt" id="proactive">
+  <div class="container">
+    <div class="section-tag green">🌿 主动健康五步</div>
+    <h2 class="section-title">从识别到优化:心脑血管疾病的主动健康干预闭环</h2>
+    <p class="section-intro">
+      "主动健康"的核心理念是:在疾病发生之前主动管理风险,在疾病发生之后主动参与康复。不是等生病了再治病,而是在疾病形成的每一个阶段都有主动干预的意识和工具。心脑血管疾病的主动健康分为五步:<strong>提前识别 → 风险管控 → 主动干预 → 效果评估 → 持续优化</strong>,形成一个永不中断的闭环。
+    </p>
+
+    <div class="step-flow">
+      <div class="step-flow-item blue"><span class="s-num">STEP 01</span><span class="s-title">提前识别</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item teal"><span class="s-num">STEP 02</span><span class="s-title">风险管控</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item purple"><span class="s-num">STEP 03</span><span class="s-title">主动干预</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item orange"><span class="s-num">STEP 04</span><span class="s-title">效果评估</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item green"><span class="s-num">STEP 05</span><span class="s-title">持续优化</span></div>
+    </div>
+
+    <!-- STEP 01 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--blue);">① 提前识别——在沉默期发现风险</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      心脑血管疾病在早期(内皮功能障碍、动脉粥样硬化启动阶段)毫无症状。提前识别的目的是:在疾病"沉默期"发现风险,从而在最有效的干预窗口期采取行动。越早识别,逆转可能性越大,成本越低。
+    </p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div>
+        <div class="card card-blue">
+          <h3>🔬 心血管风险评估工具</h3>
+          <p><strong>China-PAR模型:</strong>中国自己的心血管风险评估模型,纳入年龄、性别、血压、胆固醇、血糖、BMI、腰围等指标,适合35-59岁人群。每1-2年评估一次。</p>
+          <p style="margin-top:0.5rem;"><strong>Framingham风险评分(FRS):</strong>适合45岁以上人群,评估10年心血管事件风险,分为低危(<10%)、中危(10-20%)、高危(>20%)。</p>
+        </div>
+        <div class="card" style="margin-top:1.25rem;border-left:4px solid var(--blue);">
+          <h3>📋 年度体检必查项目</h3>
+          <table>
+            <tr><th>项目</th><th>建议频率</th><th>意义</th></tr>
+            <tr><td>血压</td><td>每次就诊/家庭自测</td><td>高血压早发现</td></tr>
+            <tr><td>血脂四项</td><td>每年</td><td>动脉硬化核心指标</td></tr>
+            <tr><td>空腹血糖+HbA1c</td><td>每年</td><td>糖尿病/前期筛查</td></tr>
+            <tr><td>BMI+腰围</td><td>每年</td><td>肥胖评估</td></tr>
+            <tr><td>hsCRP</td><td>每2-3年</td><td>炎症水平标志物</td></tr>
+            <tr><td>颈动脉超声</td><td>高危人群每年</td><td>早期斑块检测</td></tr>
+            <tr><td>心电图(静息)</td><td>每年</td><td>心脏基础状态</td></tr>
+          </table>
+        </div>
+      </div>
+      <div>
+        <div class="card card-teal">
+          <h3>🧬 基因检测:风险背景参考</h3>
+          <p>有早发冠心病/脑卒中家族史(一级亲属男性<55岁、女性<65岁)的人群建议进行基因检测:</p>
+          <ul class="list-styled green">
+            <li><strong>apoE基因型</strong>:ε4携带者心血管病风险↑约40%</li>
+            <li><strong>9p21.3风险位点</strong>:心血管遗传风险位点</li>
+            <li><strong>LPA基因变异</strong>:脂蛋白(a)升高,独立风险因子</li>
+            <li><strong>AGT/ADD1基因</strong>:盐敏感基因型,限盐更严格</li>
+            <li><strong>PCSK9功能变异</strong>:影响LDL-C代谢</li>
+          </ul>
+          <p style="margin-top:0.5rem;color:var(--text-muted);font-size:0.82rem;">基因是风险背景,不是判决书。高遗传风险 = 更积极干预的指征。</p>
+        </div>
+        <div class="card card-purple" style="margin-top:1.25rem;">
+          <h3>⚠️ 重点识别信号</h3>
+          <p>一级亲属早发心血管病(男<55岁,女<65岁)提示遗传风险较高。此外,<strong>女性PCOS</strong>和<strong>男性勃起功能障碍(ED)</strong>均是心血管病风险升高的独立信号,提示内皮功能已受损。</p>
+        </div>
+      </div>
+    </div>
+
+    <!-- STEP 02 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--teal);">② 风险管控——分层管理,有的放矢</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      根据评估结果进行分层:低危以生活方式干预为主;中危生活方式+考虑药物;高危(已患心血管病、糖尿病、慢性肾病)需要药物+生活方式双管齐下,目标值更严格。
+    </p>
+
+    <div class="table-wrap" style="margin-bottom:1.5rem;">
+      <table>
+        <tr><th>风险级别</th><th>判断标准</th><th>LDL-C目标</th><th>血压目标</th><th>核心策略</th></tr>
+        <tr><td><strong>低危</strong></td><td>10年风险 <5%(China-PAR)</td><td><3.4 mmol/L</td><td><140/90 mmHg</td><td>强化生活方式干预</td></tr>
+        <tr><td><strong>中危</strong></td><td>10年风险 5-20%</td><td><2.6 mmol/L</td><td><130/80 mmHg</td><td>生活方式+考虑他汀</td></tr>
+        <tr><td><strong>高危</strong></td><td>10年风险≥20%,或糖尿病/CKD</td><td><1.8 mmol/L</td><td><130/80 mmHg</td><td>他汀+生活方式双管</td></tr>
+        <tr><td><strong>极高危</strong></td><td>已患ASCVD</td><td><1.4 mmol/L</td><td><130/80 mmHg</td><td>强化药物治疗</td></tr>
+      </table>
+    </div>
+    <p style="color:var(--text-muted);font-size:0.82rem;margin-bottom:1rem;">参考:《中国血脂管理指南2023》《中国高血压防治指南2023》</p>
+
+    <div class="evidence-box blue" style="margin-bottom:1.5rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">📊 为什么LDL-C是"硬终点"?</span>
+        <span class="ev-tag blue">他汀RCT证据</span>
+      </div>
+      <p><strong>LDL-C每降低1mmol/L,主要心血管事件风险降低约20-25%</strong>。这一效果在不同患者群体中一致存在(无论有无心血管病、是否合并糖尿病)。对于中危以上人群,降脂治疗(首选他汀)是减少心血管事件最有力的药物干预,配合生活方式改变效果更佳。</p>
+    </div>
+
+    <!-- STEP 03 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--purple);">③ 主动干预——可执行的五维干预策略</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      主动干预不是"少吃、多动"的口号,而是需要具体化、可量化、可坚持的行动方案。五个维度同时发力,效果最为显著。
+    </p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div>
+        <div class="card card-purple" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🥗</span>
+          <h3>饮食干预——心血管健康的基石</h3>
+          <p><strong>地中海饮食(Mediterranean Diet):</strong>特征:高比例橄榄油、坚果、全谷物、蔬菜、水果;适量鱼类和禽肉;限制红肉和甜饮料。PREDIMED研究(7447人,随访5年)显示:地中海饮食+坚果/橄榄油,心血管事件风险降低约26-30%。</p>
+          <p style="margin-top:0.5rem;"><strong>DASH饮食:</strong>专门为降压设计的饮食模式——高水果蔬菜、低脂乳制品、限盐限饱和脂肪。效果:收缩压平均降低约11mmHg,接近单药降压治疗。</p>
+          <p style="margin-top:0.5rem;"><strong>实操要点:</strong>每日盐摄入<5g;每日红肉<100g;每日膳食纤维>25g;每周吃鱼≥2次;用橄榄油/菜籽油替代动物油;避免反式脂肪。</p>
+        </div>
+
+        <div class="card card-orange" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🏃</span>
+          <h3>运动干预——改善内皮的"天然药物"</h3>
+          <p>规律运动改善血管内皮功能(↑NO生物利用度)、降低血压、改善血脂、减轻炎症。EPI NCS研究:每周150分钟中等强度有氧运动(快走)可降低心血管死亡风险约20%。</p>
+          <p style="margin-top:0.5rem;"><strong>运动处方:</strong>有氧:每周≥150分钟中等强度或75分钟高强度;抗阻运动:每周2-3次;柔韧性训练:每周拉伸;<strong>每坐1小时起身活动5分钟</strong>(久坐危害无法被运动完全抵消)。</p>
+        </div>
+
+        <div class="card card-blue">
+          <span class="card-icon">💧</span>
+          <h3>富氢水——改善内皮的新兴手段</h3>
+          <p>富氢水(Electrolyzed Hydrogen Water)通过选择性中和·OH和ONOO⁻等强氧化剂,降低氧化应激,改善内皮功能。</p>
+          <p style="margin-top:0.5rem;"><strong>核心证据:</strong>IJMS 2024系统综述(doi:10.3390/ijms25020973,12项临床研究):富氢水显著改善血流介导的血管舒张功能(FMD)。高血压大鼠饮用4周:收缩压↓约15mmHg,ox-LDL↓,SOD↑,MDA↓,eNOS磷酸化↑(NO合成恢复)。</p>
+          <p style="margin-top:0.5rem;"><strong>实操:</strong>每日饮用1.5-2L(电解>30分钟的仪器产水效果更稳定),配合饮食运动,不替代药物。</p>
+        </div>
+      </div>
+
+      <div>
+        <div class="card card-accent" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🚭</span>
+          <h3>戒烟——最具性价比的单一干预</h3>
+          <p>戒烟后心血管获益出现极快:戒烟1年风险降低约50%;戒烟5-15年风险接近从不吸烟者。二手烟同样增加不吸烟者约25%心血管病风险。</p>
+          <p style="margin-top:0.5rem;"><strong>戒烟方法:</strong>心理支持+药物辅助(尼古丁替代疗法、安非他酮、伐尼克兰)是最有效方案。<strong>电子烟含尼古丁</strong>,对内皮功能有损害,不推荐作为戒断辅助。</p>
+        </div>
+
+        <div class="card card-teal" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🧘</span>
+          <h3>压力管理与睡眠——被低估的手段</h3>
+          <p><strong>慢性心理压力:</strong>通过交感神经激活升高血压、血糖和炎症水平。应对方法:正念冥想(每日10-20分钟,研究显示可降低收缩压约3-7mmHg)、有氧运动、充足睡眠。</p>
+          <p style="margin-top:0.5rem;"><strong>睡眠:</strong>睡眠不足(<6小时/天)和睡眠呼吸暂停综合征(OSAS)是高血压的独立风险因素。目标睡眠时长:7-9小时/天,入睡<30分钟。</p>
+        </div>
+
+        <div class="card card-purple">
+          <span class="card-icon">🦠</span>
+          <h3>肠道菌群调节——从TMAO通路源头干预</h3>
+          <p><strong>降低TMAO:</strong>减少红肉(肉碱)和蛋黄(胆碱)摄入;增加膳食纤维(促进产SCFAs细菌生长,间接竞争性抑制产TMA细菌);规律运动;某些益生菌株已被证实可降低TMAO水平。</p>
+          <p style="margin-top:0.5rem;"><strong>升高SCFAs:</strong>每日膳食纤维>25g(全谷物、杂豆、蔬菜、水果);发酵食品(酸奶、泡菜、纳豆);规律运动同样增加产SCFAs肠道菌群丰度。</p>
+        </div>
+      </div>
+    </div>
+
+    <!-- STEP 04 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--orange);">④ 效果评估——用数据说话,验证干预是否有效</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      主动健康不是"做了就好",而是要量化效果、动态调整。建立个人健康数据追踪体系,是效果评估的核心工具。
+    </p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div class="card card-orange">
+        <h3>📊 需要追踪的核心指标</h3>
+        <table>
+          <tr><th>指标</th><th>目标值</th><th>测量频率</th></tr>
+          <tr><td>血压</td><td><130/80 mmHg(高危)</td><td>家庭自测每周3-7次</td></tr>
+          <tr><td>LDL-C</td><td>根据风险级别</td><td>每3-6个月</td></tr>
+          <tr><td>HDL-C</td><td>男>1.0, 女>1.3 mmol/L</td><td>每年</td></tr>
+          <tr><td>甘油三酯</td><td><1.7 mmol/L</td><td>每年</td></tr>
+          <tr><td>空腹血糖</td><td><5.6 mmol/L</td><td>每年</td></tr>
+          <tr><td>HbA1c</td><td><7%(糖尿病患者)</td><td>每3-6个月</td></tr>
+          <tr><td>BMI</td><td>18.5-23.9 kg/m²</td><td>每年</td></tr>
+          <tr><td>腰围</td><td>男<90cm,女<85cm</td><td>每年</td></tr>
+          <tr><td>hsCRP</td><td><1 mg/L(理想)</td><td>每6-12个月</td></tr>
+        </table>
+      </div>
+      <div class="card card-teal">
+        <h3>🩺 定期专科检查(根据风险级别)</h3>
+        <ul class="list-styled green">
+          <li><strong>颈动脉超声</strong>:评估IMT和斑块,高危人群每年1次</li>
+          <li><strong>冠脉CTA</strong>:评估冠脉钙化积分,高危无症状人群每3-5年</li>
+          <li><strong>踝臂指数(ABI)</strong>:评估下肢动脉硬化,50岁以上或吸烟者每年</li>
+          <li><strong>眼底检查</strong>:高血压/糖尿病患者每年1次</li>
+          <li><strong>尿微量白蛋白</strong>:高血压/糖尿病肾损害早期指标</li>
+          <li><strong>心脏超声</strong>:高血压/心衰患者每1-2年</li>
+        </ul>
+        <p style="margin-top:0.75rem;font-size:0.85rem;color:var(--text-muted);">建立个人健康档案,追踪趋势变化。这帮助医生了解你的长期健康轨迹,也帮助你建立对自身健康的主动掌控感。</p>
+      </div>
+    </div>
+
+    <div class="evidence-box green" style="margin-bottom:1.5rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">📊 干预效果的预期幅度(RCT数据)</span>
+        <span class="ev-tag green">循证数据</span>
+      </div>
+      <p>限盐(每日<5g):收缩压降低约5-8mmHg(高血压患者)|DASH饮食:收缩压降低约11mmHg|规律有氧运动(每周150分钟):收缩压降低约5mmHg,LDL-C降低约5-10%|减重(每减10kg):收缩压降低约5-20mmHg|他汀治疗(中等强度):LDL-C降低约30-50%|富氢水:FMD改善约2-4%(相对值)。</p>
+    </div>
+
+    <!-- STEP 05 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--teal);">⑤ 持续优化——把健康当作长期投资</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      心脑血管健康不是"达标后就停止"的事。动脉粥样硬化是慢性进展性疾病,需要终身管理。持续优化意味着:根据评估结果动态调整方案,在不同人生阶段采取与年龄匹配的策略,并不断迭代最新的科学证据。
+    </p>
+
+    <div class="grid-3">
+      <div class="card card-blue">
+        <h3>👤 分年龄段策略</h3>
+        <p><strong>20-35岁(预防黄金期)</strong>:建立健康习惯;了解家族史;基线体检;接种流感疫苗。</p>
+        <p style="margin-top:0.4rem;"><strong>35-50岁(风险积累期)</strong>:每年体检;识别糖尿病前期;关注颈动脉IMT;开始地中海饮食模式。</p>
+        <p style="margin-top:0.4rem;"><strong>50-65岁(疾病高发期)</strong>:强化危险因素管理;关注心电图和心脏超声;识别心衰早期信号。</p>
+        <p style="margin-top:0.4rem;"><strong>65岁以上(康复维持期)</strong>:心脏康复指导下运动;防跌倒;保持社交活动。</p>
+      </div>
+      <div class="card card-purple">
+        <h3>🔄 动态调整机制</h3>
+        <p>每3-6个月进行一次"主动健康回顾":① 上阶段干预措施执行情况如何?② 指标变化趋势是向好还是向坏?③ 遇到哪些障碍?④ 下阶段需要调整什么?</p>
+        <p style="margin-top:0.5rem;"><strong>遇到瓶颈时的思路:</strong>降压/降脂效果不佳→联合用药;运动依从性差→从每天5分钟开始逐步增加;饮食难以坚持→寻找替代方案(不同口感/烹饪方式);压力管理无效→寻求心理咨询。</p>
+        <p style="margin-top:0.5rem;color:var(--text-muted);font-size:0.85rem;"><strong>重要原则:</strong>没有"完美方案",只有"当前最优方案"。小幅改善+长期坚持,优于完美方案+短期放弃。</p>
+      </div>
+      <div class="card card-orange">
+        <h3>👨‍👩‍👧‍👦 家庭健康管理</h3>
+        <p>心脑血管健康是家庭共同的事业:</p>
+        <ul class="list-styled">
+          <li>家庭共餐:地中海饮食模式的最佳实践场景</li>
+          <li>全家运动:周末徒步、骑行、家庭运动时间</li>
+          <li>互相提醒:戒烟监督、按时服药、定期体检</li>
+          <li>家庭健康档案:记录每个人的关键指标趋势</li>
+          <li>儿童健康教育:从青少年期建立心血管健康意识</li>
+        </ul>
+      </div>
+    </div>
+
+    <div class="quote-block green" style="margin-top:2rem;">
+      <p class="quote-text">"主动健康不是要求你成为一个'完美健康人',而是让你在力所能及的范围内,做出对心血管系统最友好的选择。每一个小的改善——少吃一勺盐、多走10分钟路、少抽一根烟——都在累积对心血管系统的保护效应。持之以恒,效果惊人。"</p>
+      <span class="quote-source">— 浠艾福 · 主动健康学院 · 五维幸福理念</span>
+    </div>
+
+  </div>
+</section>
+
+<!-- CTA -->
+<section class="cta-section">
+  <div class="container">
+    <h2>主动健康,从今天开始</h2>
+    <p>心脑血管疾病可预防、可延缓、可管理。用科学的知识武装自己,用主动的行动保护家人。<br>在基因给定的底牌上,通过生活方式干预,你完全有能力改写自己的心血管命运。</p>
+    <div class="cta-buttons">
+      <a href="index.html" class="btn btn-primary">🏠 返回首页</a>
+      <a href="https://www.etotem.com.cn" class="btn btn-outline" target="_blank">了解主动健康服务</a>
+    </div>
+  </div>
+</section>
+
+<!-- Footer (shared) -->
+<div id="footer-placeholder"></div>
+<script src="js/footer.js"></script>
+
+<!-- ══════════════════════════════════════════
+     参考文献
+═══════════════════════════════════════════ -->
+<section class="citations" id="citations">
+  <div class="container">
+    <h2 style="font-size:1.3rem;font-weight:800;margin-bottom:1.5rem;display:flex;align-items:center;gap:0.5rem;">📚 参考文献</h2>
+
+    <div class="citation-card" id="ref-1">
+      <div class="source">[1] 《中国心血管健康与疾病报告2024》· 中国循环杂志</div>
+      <div class="auth-row"><span class="auth-badge blue">📊 中国官方流行病学数据</span></div>
+      <div class="findings">中国心血管病患病率现患人数达3.45亿,高血压患者2.45亿,年死亡458万。城乡居民死亡原因首位。</div>
+      <div class="trans">中国心血管健康与疾病报告2024——中国心血管病流行现状与防治策略的核心文献</div>
+    </div>
+
+    <div class="citation-card" id="ref-2">
+      <div class="source">[2] Physiological Reviews · Otsuka et al. · 2023 · doi:10.1152/physrev.00024.2022</div>
+      <div class="auth-row"><span class="auth-badge">📚 生理学评论 · IF 20.3</span><span class="auth-badge purple">GWAS里程碑</span></div>
+      <div class="findings">GWAS and Cardiovascular Disease. 500+ GWAS studies, 1.5M+ subjects, 1500+ genetic loci. Most CVD genetic risk acts through upstream regulation of modifiable risk factors — lifestyle intervention can change outcomes even with high genetic risk.</div>
+      <div class="trans">心血管遗传学系统综述——综合500+GWAS研究、150万受试者数据,证实心血管遗传风险通过可改变危险因素的上游调控发挥作用</div>
+      <a class="link" href="https://doi.org/10.1152/physrev.00024.2022" target="_blank">🔗 doi.org/10.1152/physrev.00024.2022</a>
+    </div>
+
+    <div class="citation-card" id="ref-3">
+      <div class="source">[3] Frontiers in Cardiovascular Medicine · Harshfield et al. · 2022 · PMC9268449</div>
+      <div class="auth-row"><span class="auth-badge green">🧬 肠道菌群-心血管轴 · 系统综述</span></div>
+      <div class="findings">The Gut-Heart Axis. TMAO pathway drives atherosclerosis (↑60% CV events); SCFAs (acetate/propionate/butyrate) protect via GPR41/43 receptors; bile acid FXR/TGR5 signaling regulates cardiometabolic health.</div>
+      <div class="trans">肠-心轴:TMAO通路(促硬化,↑60%心血管事件风险)和SCFAs保护通路(抗炎、内皮保护)的系统综述</div>
+      <a class="link" href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9268449/" target="_blank">🔗 PMC9268449</a>
+    </div>
+
+    <div class="citation-card" id="ref-4">
+      <div class="source">[4] IJMS · Zanardo et al. · 2024 · doi:10.3390/ijms25020973</div>
+      <div class="auth-row"><span class="auth-badge green">💧 富氢水系统综述 · IJMS IF 5.6 · 12项临床研究</span></div>
+      <div class="findings">Electrolysed Hydrogen Water and Cardiovascular Health. EHW significantly improves FMD, reduces ox-LDL, increases SOD activity, decreases MDA, restores eNOS phosphorylation. H₂ selectively neutralizes ·OH and ONOO⁻, activates Nrf2, inhibits NLRP3.</div>
+      <div class="trans">电解富氢水与心血管健康系统综述——富氢水通过选择性中和强氧化剂、激活Nrf2、恢复eNOS,显著改善内皮功能</div>
+      <a class="link" href="https://doi.org/10.3390/ijms25020973" target="_blank">🔗 doi.org/10.3390/ijms25020973</a>
+    </div>
+
+    <div class="citation-card" id="ref-5">
+      <div class="source">[5] Lancet · Yusuf et al. · 2004 · INTERHEART · doi:10.1016/S0140-6736(04)17018-9</div>
+      <div class="auth-row"><span class="auth-badge">📊 全球52国 · n=15000+15000 · 循证里程碑</span></div>
+      <div class="findings">9 modifiable risk factors account for >90% of PAR for acute MI: dyslipidemia 49.2%, smoking 35.7%, diabetes 25.7%, hypertension 25.0%, abdominal obesity 20.1%, psychosocial factors 16.5%, fruit/veg deficiency 13.7%, physical inactivity 12.2%, alcohol 5.0%.</div>
+      <div class="trans">INTERHEART研究——全球52国30000人的里程碑研究,证实90%以上的心肌梗死归因于9个可改变危险因素</div>
+      <a class="link" href="https://doi.org/10.1016/S0140-6736(04)17018-9" target="_blank">🔗 doi.org/10.1016/S0140-6736(04)17018-9</a>
+    </div>
+
+    <div class="citation-card" id="ref-6">
+      <div class="source">[6] NEJM · Ridker et al. · 2017 · CANTOS · doi:10.1056/NEJMoa1707914</div>
+      <div class="auth-row"><span class="auth-badge">🔬 RCT · IL-1β靶点 · NEJM IF 176</span><span class="auth-badge green">抗炎治疗里程碑</span></div>
+      <div class="findings">Canakinumab reduced CV events by ~15% independent of lipid-lowering, proving inflammation is a valid CVD treatment target beyond lipid management.</div>
+      <div class="trans">CANTOS研究——首个证明抗炎治疗可独立于降脂之外降低心血管事件的RCT,证实动脉粥样硬化的炎症本质</div>
+      <a class="link" href="https://doi.org/10.1056/NEJMoa1707914" target="_blank">🔗 doi.org/10.1056/NEJMoa1707914</a>
+    </div>
+
+    <div class="citation-card" id="ref-7">
+      <div class="source">[7] NEJM · Estruch et al. · 2013 · PREDIMED · doi:10.1056/NEJMoa1200303</div>
+      <div class="auth-row"><span class="auth-badge">🥗 RCT · n=7447 · 随访5年</span></div>
+      <div class="findings">Mediterranean diet supplemented with extra-virgin olive oil or nuts reduced major CV events by 26-30% vs low-fat control diet in 7447 high-risk participants.</div>
+      <div class="trans">PREDIMED研究——地中海饮食(加额外橄榄油或坚果)使高危人群心血管事件风险降低26-30%,迄今最强的饮食干预RCT证据</div>
+      <a class="link" href="https://doi.org/10.1056/NEJMoa1200303" target="_blank">🔗 doi.org/10.1056/NEJMoa1200303</a>
+    </div>
+
+    <div class="citation-card" id="ref-8">
+      <div class="source">[8] Circulation · Cook et al. · 2015 · TOHP · doi:10.1161/CIRCULATIONAHA.114.012671</div>
+      <div class="auth-row"><span class="auth-badge">🧂 限盐研究 · 15年随访</span></div>
+      <div class="findings">Sodium reduction of 4.6g/day: systolic BP ↓~5mmHg (normotensive), ~7mmHg (hypertensive); 25% reduction in CV events at 15-year follow-up.</div>
+      <div class="trans">TOHP研究15年随访——每日盐摄入减少4.6g可降低心血管事件风险约25%,限盐保护心血管的最强长期随访证据</div>
+      <a class="link" href="https://doi.org/10.1161/CIRCULATIONAHA.114.012671" target="_blank">🔗 doi.org/10.1161/CIRCULATIONAHA.114.012671</a>
+    </div>
+
+    <div class="citation-card" id="ref-9">
+      <div class="source">[9] 中华高血压杂志 · 中国高血压防治指南修订委员会 · 2023</div>
+      <div class="auth-row"><span class="auth-badge blue">📋 中国高血压防治指南2023</span></div>
+      <div class="findings">更新高血压诊断标准(≥130/80mmHg)和分层管理策略,推荐家庭血压监测(HBPM)和24小时动态血压监测(ABPM)。</div>
+      <div class="trans">中国高血压防治指南2023——中国高血压诊断、分级、治疗和管理的权威指南</div>
+    </div>
+
+    <div class="citation-card" id="ref-10">
+      <div class="source">[10] European Heart Journal · Mach et al. · 2020 · doi:10.1093/eurheartj/ehz455</div>
+      <div class="auth-row"><span class="auth-badge blue">📋 欧洲血脂管理指南2019</span></div>
+      <div class="findings">LDL-C goals stratified by risk: very high risk <1.4 mmol/L; high risk <1.8 mmol/L; moderate risk <2.6 mmol/L. LDL-C each 1mmol/L reduction = ~20-25% CV event reduction.</div>
+      <div class="trans">2019 ESC/EAS血脂管理指南——根据风险分层设定LDL-C目标值,强调LDL-C是ASCVD核心驱动因子</div>
+      <a class="link" href="https://doi.org/10.1093/eurheartj/ehz455" target="_blank">🔗 doi.org/10.1093/eurheartj/ehz455</a>
+    </div>
+
+    <div class="citation-card" id="ref-11">
+      <div class="source">[11] Science Translational Medicine · Ko et al. · 2022 · doi:10.1126/scitranslmed.abn4703</div>
+      <div class="auth-row"><span class="auth-badge green">🧬 肠菌干预 · IF 19.3</span></div>
+      <div class="findings">Targeting the gut microbiome to treat CVD. Dietary L-carnitine (red meat) → TMA → TMAO → atherosclerosis and platelet hyperreactivity. Interventions: reduce red meat, increase fiber, exercise, specific probiotics.</div>
+      <div class="trans">肠菌靶向治疗心血管病——阐述TMAO通路的完整链条以及通过饮食、运动和益生菌干预TMAO的策略</div>
+      <a class="link" href="https://doi.org/10.1126/scitranslmed.abn4703" target="_blank">🔗 doi.org/10.1126/scitranslmed.abn4703</a>
+    </div>
+
+  </div>
+</section>
+
+</body>
+</html>

+ 293 - 0
web/css/style.css

@@ -428,12 +428,27 @@ ul { list-style: none; }
   position: absolute;
   inset: 0;
   background:
+    url(../img/hero-family-bg.png) center/cover no-repeat,
     radial-gradient(ellipse 80% 50% at 50% -10%, rgba(74, 155, 215, .10), transparent),
     radial-gradient(ellipse 60% 40% at 80% 80%, rgba(78, 205, 196, .08), transparent),
     radial-gradient(ellipse 50% 50% at 20% 70%, rgba(255, 217, 61, .06), transparent);
   pointer-events: none;
 }
 
+.hero-bg::after {
+  content: '';
+  position: absolute;
+  inset: 0;
+  background: linear-gradient(
+    to right,
+    rgba(254, 249, 240, 0.82) 0%,
+    rgba(254, 249, 240, 0.65) 45%,
+    rgba(254, 249, 240, 0.10) 70%,
+    transparent 100%
+  );
+  pointer-events: none;
+}
+
 .hero-inner {
   display: grid;
   grid-template-columns: 1fr 1fr;
@@ -2744,6 +2759,284 @@ ul { list-style: none; }
   }
 }
 
+/* ====== Knowledge Page Styles ====== */
+
+/* Nav active state */
+.nav-link.active {
+  color: var(--color-primary) !important;
+}
+.nav-link.active::after {
+  width: 100% !important;
+  opacity: 1 !important;
+}
+
+/* Hero Section */
+.k-hero {
+  min-height: 70vh;
+  display: flex;
+  align-items: center;
+  position: relative;
+  padding-top: var(--header-height);
+  overflow: hidden;
+}
+.k-hero-bg {
+  position: absolute;
+  inset: 0;
+  background:
+    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(74, 155, 215, .08), transparent),
+    radial-gradient(ellipse 60% 40% at 80% 80%, rgba(16, 185, 129, .05), transparent);
+  pointer-events: none;
+}
+.k-hero-inner {
+  display: grid;
+  grid-template-columns: 1fr 1fr;
+  gap: var(--space-3xl);
+  align-items: center;
+  position: relative;
+  z-index: 1;
+}
+.k-hero-badge {
+  display: inline-block;
+  font-size: var(--font-size-tiny);
+  font-weight: 600;
+  letter-spacing: .06em;
+  color: var(--color-primary);
+  background: var(--color-primary-light);
+  padding: .4em 1.2em;
+  border-radius: var(--radius-full);
+  margin-bottom: var(--space-lg);
+}
+.k-hero-title {
+  font-size: 2.8rem;
+  font-weight: 800;
+  line-height: 1.15;
+  margin-bottom: var(--space-lg);
+}
+.k-hero-desc {
+  font-size: 1.0625rem;
+  color: var(--color-text-secondary);
+  line-height: 1.8;
+  margin-bottom: var(--space-xl);
+  max-width: 520px;
+}
+.k-hero-desc strong {
+  color: var(--color-text-primary);
+}
+.k-hero-actions {
+  display: flex;
+  gap: var(--space-md);
+  flex-wrap: wrap;
+}
+.k-hero-visual {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+
+/* Section Headers */
+.k-section-header {
+  display: flex;
+  align-items: center;
+  gap: var(--space-xl);
+  margin-bottom: var(--space-2xl);
+  padding-bottom: var(--space-xl);
+  border-bottom: 2px solid var(--color-border-light);
+}
+.k-section-icon {
+  flex-shrink: 0;
+  width: 90px;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.k-section-text {
+  flex: 1;
+}
+.k-section-tag {
+  display: inline-block;
+  font-size: .75rem;
+  font-weight: 700;
+  letter-spacing: .08em;
+  padding: .3em .8em;
+  border-radius: var(--radius-full);
+  margin-bottom: var(--space-sm);
+}
+.k-section-title {
+  font-size: var(--font-size-h2);
+  font-weight: 800;
+  line-height: 1.2;
+  margin-bottom: var(--space-xs);
+}
+.k-section-desc {
+  font-size: var(--font-size-small);
+  color: var(--color-text-secondary);
+  line-height: 1.7;
+  max-width: 640px;
+}
+.k-section-desc strong {
+  color: var(--color-text-primary);
+}
+
+/* Dimension section */
+.k-dim-section {
+  margin-bottom: var(--space-2xl);
+  padding: var(--space-xl);
+  border-radius: var(--radius-lg);
+  background: var(--k-bg);
+  border: 1px solid var(--color-border-light);
+}
+.k-dim-header {
+  display: flex;
+  align-items: center;
+  gap: var(--space-sm);
+  margin-bottom: var(--space-lg);
+  padding-bottom: var(--space-md);
+  border-bottom: 1px solid var(--color-border-light);
+}
+.k-dim-dot {
+  width: 12px;
+  height: 12px;
+  border-radius: 50%;
+  flex-shrink: 0;
+}
+.k-dim-name {
+  font-size: 1.3rem;
+  font-weight: 800;
+  color: var(--k-color);
+  line-height: 1;
+}
+.k-dim-sub {
+  font-size: var(--font-size-small);
+  color: var(--color-text-muted);
+  margin-left: auto;
+}
+
+/* Article Grid */
+.k-article-grid {
+  display: grid;
+  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
+  gap: var(--space-md);
+}
+.k-article-card {
+  display: flex;
+  align-items: center;
+  gap: var(--space-md);
+  padding: var(--space-md);
+  background: #fff;
+  border-radius: var(--radius-md);
+  text-decoration: none;
+  border: 1px solid var(--color-border-light);
+  transition: all var(--transition-fast);
+}
+.k-article-card:hover {
+  box-shadow: var(--shadow-md);
+  border-color: var(--k-color, var(--color-primary));
+  transform: translateY(-2px);
+}
+.k-article-icon {
+  font-size: 1.6rem;
+  flex-shrink: 0;
+  width: 40px;
+  text-align: center;
+}
+.k-article-info {
+  flex: 1;
+  min-width: 0;
+}
+.k-article-info h4 {
+  font-size: .9375rem;
+  font-weight: 700;
+  color: var(--color-text-primary);
+  margin-bottom: .25em;
+  line-height: 1.4;
+}
+.k-article-info p {
+  font-size: .8125rem;
+  color: var(--color-text-muted);
+  line-height: 1.5;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+  overflow: hidden;
+}
+.k-article-arrow {
+  color: var(--color-text-muted);
+  font-size: 1rem;
+  flex-shrink: 0;
+  transition: transform var(--transition-fast);
+}
+.k-article-card:hover .k-article-arrow {
+  color: var(--k-color, var(--color-primary));
+  transform: translateX(3px);
+}
+.k-article-card--coming {
+  cursor: default;
+  opacity: .7;
+}
+.k-article-card--coming:hover {
+  transform: none;
+  box-shadow: var(--shadow-sm);
+  border-color: var(--color-border-light);
+}
+.k-coming-badge {
+  display: inline-block;
+  font-size: .6875rem;
+  color: var(--color-text-muted);
+  background: var(--color-bg-secondary);
+  padding: .2em .6em;
+  border-radius: var(--radius-full);
+  margin-top: .3em;
+}
+
+/* Footer CTA */
+.k-footer-cta {
+  text-align: center;
+  padding: var(--space-2xl) 0;
+}
+.k-footer-cta p {
+  font-size: var(--font-size-small);
+  color: var(--color-text-secondary);
+  margin-bottom: var(--space-md);
+}
+
+/* Section alt (行·富) */
+.section-knowledge-alt {
+  background: var(--color-bg-secondary, #FAFBFD);
+}
+
+/* Responsive */
+@media (max-width: 768px) {
+  .k-hero-inner {
+    grid-template-columns: 1fr;
+    text-align: center;
+  }
+  .k-hero-desc {
+    max-width: 100%;
+  }
+  .k-hero-actions {
+    justify-content: center;
+  }
+  .k-hero-visual {
+    display: none;
+  }
+  .k-section-header {
+    flex-direction: column;
+    text-align: center;
+  }
+  .k-section-icon {
+    margin-bottom: var(--space-sm);
+  }
+  .k-section-desc {
+    max-width: 100%;
+  }
+  .k-article-grid {
+    grid-template-columns: 1fr;
+  }
+  .k-dim-sub {
+    display: none;
+  }
+}
+
 /* Responsive: Wuxing diagram — handled by aspect-ratio and Canvas redraw */
 @media (max-width: 600px) {
   .wuxing-diagram {

+ 1255 - 0
web/diabetes.html

@@ -0,0 +1,1255 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="description" content="糖尿病 - 慢性炎症、胰岛β细胞与主动健康。科学循证综述糖尿病前期症状、核心病因(慢性炎症驱动的β细胞凋亡)、肠道菌群-TMAO通路、糖尿病逆转与主动健康五步干预。">
+<meta name="keywords" content="2型糖尿病,糖尿病前期,慢性炎症,胰岛β细胞,肠道菌群,TMAO,主动健康,糖尿病逆转,糖尿病预防">
+<meta property="og:title" content="糖尿病 - 慢性炎症、胰岛β细胞与主动健康">
+<meta property="og:description" content="中国1.4亿糖尿病患者,1.41亿糖尿病前期。识别早期信号 → 理解核心病理 → 掌握可控病因 → 建立主动健康五步干预闭环——在基因给定的底牌上,通过科学干预实现逆转与长期管理。">
+<meta property="og:type" content="article">
+<title>糖尿病 · 症-病-因与主动健康干预 · 浠艾福</title>
+<style>
+  :root {
+    --bg-dark: #1a2e3d;
+    --bg-card: #FFFFFF;
+    --bg-alt: #f0f7f0;
+    --text-primary: #1a2e3d;
+    --text-secondary: #4a5568;
+    --text-muted: #718096;
+    --accent: #27ae60;
+    --accent-light: #eafaf1;
+    --blue: #2d7d9a;
+    --blue-light: #e8f4f8;
+    --green: #38a169;
+    --green-light: #f0fff4;
+    --orange: #dd6b20;
+    --orange-light: #fffaf0;
+    --purple: #805ad5;
+    --purple-light: #faf5ff;
+    --teal: #319795;
+    --teal-light: #e6fffa;
+    --font: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
+    --max-width: 1080px;
+    --shadow-card: 0 4px 24px rgba(0,0,0,0.08);
+    --shadow-hover: 0 8px 40px rgba(0,0,0,0.12);
+    --radius: 16px;
+  }
+  * { margin: 0; padding: 0; box-sizing: border-box; }
+  html { scroll-behavior: smooth; }
+  body {
+    font-family: var(--font);
+    font-size: 1rem;
+    line-height: 1.8;
+    color: var(--text-primary);
+    background: #fff;
+    -webkit-font-smoothing: antialiased;
+  }
+
+  /* HERO */
+  .hero {
+    position: relative;
+    background: linear-gradient(135deg, #1a2e3d 0%, #2d5a5a 100%);
+    color: white;
+    padding: 6rem 1.5rem 4rem;
+    overflow: hidden;
+    min-height: 58vh;
+    display: flex;
+    align-items: center;
+  }
+  .hero::before {
+    content: '';
+    position: absolute;
+    inset: 0;
+    background:
+      radial-gradient(circle at 20% 30%, rgba(39,174,96,0.15) 0%, transparent 50%),
+      radial-gradient(circle at 80% 70%, rgba(49,130,206,0.1) 0%, transparent 50%);
+  }
+  .hero-particles {
+    position: absolute;
+    inset: 0;
+    overflow: hidden;
+    pointer-events: none;
+  }
+  .particle {
+    position: absolute;
+    width: 6px; height: 6px;
+    background: rgba(255,255,255,0.12);
+    border-radius: 50%;
+    animation: float 8s ease-in-out infinite;
+  }
+  .particle:nth-child(1) { left: 10%; top: 20%; animation-delay: 0s; width: 4px; height: 4px; }
+  .particle:nth-child(2) { left: 25%; top: 60%; animation-delay: 1s; width: 8px; height: 8px; opacity: 0.1; }
+  .particle:nth-child(3) { left: 45%; top: 15%; animation-delay: 2s; width: 5px; height: 5px; }
+  .particle:nth-child(4) { left: 65%; top: 70%; animation-delay: 0.5s; width: 3px; height: 3px; }
+  .particle:nth-child(5) { left: 80%; top: 30%; animation-delay: 3s; width: 7px; height: 7px; opacity: 0.08; }
+  .particle:nth-child(6) { left: 15%; top: 85%; animation-delay: 1.5s; width: 4px; height: 4px; }
+  .particle:nth-child(7) { left: 55%; top: 45%; animation-delay: 2.5s; width: 9px; height: 9px; opacity: 0.12; }
+  @keyframes float {
+    0%, 100% { transform: translateY(0) scale(1); opacity: 0.12; }
+    50% { transform: translateY(-30px) scale(1.5); opacity: 0.25; }
+  }
+  .hero-content {
+    position: relative;
+    z-index: 1;
+    max-width: var(--max-width);
+    margin: 0 auto;
+    text-align: center;
+    width: 100%;
+  }
+  .hero-badge {
+    display: inline-block;
+    background: rgba(39,174,96,0.2);
+    color: #68d391;
+    font-size: 0.75rem;
+    font-weight: 600;
+    letter-spacing: 0.08em;
+    padding: 0.35rem 1rem;
+    border-radius: 999px;
+    border: 1px solid rgba(39,174,96,0.3);
+    margin-bottom: 1.5rem;
+  }
+  .hero h1 {
+    font-size: clamp(2rem, 5vw, 3.2rem);
+    font-weight: 800;
+    line-height: 1.2;
+    margin-bottom: 1rem;
+    background: linear-gradient(135deg, #fff 40%, #9ae6b4 100%);
+    -webkit-background-clip: text;
+    -webkit-text-fill-color: transparent;
+    background-clip: text;
+  }
+  .hero p {
+    font-size: clamp(1rem, 2vw, 1.2rem);
+    color: rgba(255,255,255,0.8);
+    max-width: 700px;
+    margin: 0 auto 2rem;
+    line-height: 1.7;
+  }
+  .hero-stats {
+    display: flex;
+    gap: 1.5rem;
+    justify-content: center;
+    flex-wrap: wrap;
+    margin-top: 2rem;
+  }
+  .hero-stat {
+    background: rgba(255,255,255,0.08);
+    backdrop-filter: blur(8px);
+    border: 1px solid rgba(255,255,255,0.1);
+    border-radius: 12px;
+    padding: 1rem 1.5rem;
+    text-align: center;
+    min-width: 130px;
+  }
+  .hero-stat .num {
+    font-size: 1.75rem;
+    font-weight: 800;
+    color: #68d391;
+    display: block;
+  }
+  .hero-stat .label {
+    font-size: 0.8rem;
+    color: rgba(255,255,255,0.6);
+    margin-top: 0.2rem;
+  }
+
+  /* TOC */
+  .toc {
+    background: white;
+    border-bottom: 1px solid #e2e8f0;
+    position: sticky;
+    top: 0;
+    z-index: 100;
+    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
+  }
+  .toc-inner {
+    max-width: var(--max-width);
+    margin: 0 auto;
+    padding: 0.75rem 1.5rem;
+    display: flex;
+    gap: 0.25rem;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+  .toc-inner a {
+    flex-shrink: 0;
+    text-decoration: none;
+    font-size: 0.85rem;
+    color: var(--text-muted);
+    padding: 0.4rem 0.8rem;
+    border-radius: 6px;
+    transition: all 0.2s;
+    white-space: nowrap;
+  }
+  .toc-inner a:hover { background: var(--bg-alt); color: var(--text-primary); }
+
+  .container { max-width: var(--max-width); margin: 0 auto; padding: 0 1.5rem; }
+  section { padding: 4rem 0; }
+  section.alt { background: var(--bg-alt); }
+
+  h2 {
+    font-size: 1.75rem;
+    font-weight: 700;
+    margin-bottom: 1.5rem;
+    line-height: 1.3;
+  }
+  h2 .emoji { margin-right: 0.5rem; }
+  h3 {
+    font-size: 1.15rem;
+    font-weight: 600;
+    margin: 2rem 0 0.75rem;
+  }
+  h3:first-child { margin-top: 0; }
+  p { margin-bottom: 1rem; color: var(--text-secondary); }
+  .alt p { color: var(--text-secondary); }
+
+  /* Highlight Box */
+  .highlight-box {
+    border-radius: var(--radius);
+    padding: 1.5rem 2rem;
+    margin: 1.5rem 0;
+    border-left: 4px solid;
+  }
+  .highlight-box.green { background: var(--green-light); border-color: var(--green); }
+  .highlight-box.blue { background: var(--blue-light); border-color: var(--blue); }
+  .highlight-box.orange { background: var(--orange-light); border-color: var(--orange); }
+  .highlight-box.purple { background: var(--purple-light); border-color: var(--purple); }
+  .highlight-box.teal { background: var(--teal-light); border-color: var(--teal); }
+  .highlight-box p:last-child { margin-bottom: 0; }
+
+  /* Citation Card */
+  .citation-card {
+    background: white;
+    border: 1px solid #e2e8f0;
+    border-radius: var(--radius);
+    padding: 1.25rem 1.5rem;
+    box-shadow: var(--shadow-card);
+    transition: box-shadow 0.2s;
+    margin-bottom: 1rem;
+  }
+  .citation-card:hover { box-shadow: var(--shadow-hover); }
+  .citation-card .source {
+    font-size: 0.75rem;
+    color: var(--blue);
+    font-weight: 600;
+    text-transform: uppercase;
+    letter-spacing: 0.05em;
+  }
+  .citation-card .title { font-weight: 600; font-size: 0.95rem; margin: 0.3rem 0 0.4rem; line-height: 1.4; }
+  .citation-card .findings { font-size: 0.85rem; color: var(--text-muted); line-height: 1.6; }
+  .citation-card .link {
+    display: inline-block; margin-top: 0.5rem; font-size: 0.8rem;
+    color: var(--blue); text-decoration: none;
+  }
+  .citation-card .link:hover { text-decoration: underline; }
+
+  /* Data Card */
+  .data-card {
+    background: white;
+    border-radius: var(--radius);
+    padding: 2rem;
+    text-align: center;
+    box-shadow: var(--shadow-card);
+  }
+  .data-card .big-number {
+    font-size: 3rem; font-weight: 800; line-height: 1;
+  }
+  .data-card .big-number.green { color: var(--green); }
+  .data-card .big-number.blue { color: var(--blue); }
+  .data-card .big-number.orange { color: var(--orange); }
+  .data-card .unit { font-size: 1rem; color: var(--text-muted); font-weight: 400; }
+  .data-card .desc { font-size: 0.9rem; color: var(--text-secondary); margin-top: 0.5rem; }
+  .data-grid {
+    display: grid;
+    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
+    gap: 1.5rem;
+    margin: 1.5rem 0;
+  }
+
+  /* Two Col Grid */
+  .two-col-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
+  .two-col-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
+
+  /* Tip Card */
+  .tip-card {
+    background: white;
+    border-radius: var(--radius);
+    padding: 1.5rem;
+    box-shadow: var(--shadow-card);
+    border-top: 3px solid;
+  }
+  .tip-card.green { border-color: var(--green); }
+  .tip-card.blue { border-color: var(--blue); }
+  .tip-card.orange { border-color: var(--orange); }
+  .tip-card.purple { border-color: var(--purple); }
+  .tip-card .tip-icon { font-size: 1.75rem; margin-bottom: 0.5rem; }
+  .tip-card h4 { font-size: 1rem; font-weight: 600; margin-bottom: 0.4rem; }
+  .tip-card p { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 0; }
+  .tip-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
+
+  /* Infographic */
+  .infographic {
+    display: grid;
+    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
+    gap: 1rem;
+    margin: 1.5rem 0;
+  }
+  .info-item {
+    text-align: center;
+    padding: 1.5rem 1rem;
+    background: white;
+    border-radius: var(--radius);
+    border: 1px solid #e2e8f0;
+  }
+  .info-item .icon { font-size: 2.5rem; margin-bottom: 0.5rem; }
+  .info-item h4 { font-size: 0.9rem; font-weight: 600; margin-bottom: 0.3rem; }
+  .info-item p { font-size: 0.8rem; color: var(--text-muted); margin: 0; }
+
+  /* Compare Table */
+  .compare-table {
+    width: 100%;
+    border-collapse: collapse;
+    margin: 1.5rem 0;
+    font-size: 0.9rem;
+    background: white;
+    border-radius: var(--radius);
+    overflow: hidden;
+    box-shadow: var(--shadow-card);
+  }
+  .compare-table th {
+    background: var(--bg-dark);
+    color: white;
+    padding: 0.75rem 1rem;
+    text-align: left;
+    font-weight: 600;
+  }
+  .compare-table td { padding: 0.75rem 1rem; border-bottom: 1px solid #e2e8f0; }
+  .compare-table tr:last-child td { border-bottom: none; }
+  .compare-table .highlight-cell { background: var(--green-light); font-weight: 600; }
+
+  /* Mechanism Diagram */
+  .mechanism-diagram {
+    margin: 2rem 0;
+    text-align: center;
+  }
+  .mechanism-diagram img {
+    max-width: 100%;
+    border-radius: var(--radius);
+    box-shadow: var(--shadow-card);
+    border: 1px solid #e2e8f0;
+  }
+  .mechanism-diagram .diagram-caption {
+    font-size: 0.8rem;
+    color: var(--text-muted);
+    margin-top: 0.75rem;
+    line-height: 1.6;
+    text-align: left;
+    background: var(--bg-alt);
+    border-radius: 8px;
+    padding: 0.75rem 1rem;
+  }
+  .mechanism-diagram .diagram-caption strong { color: var(--accent); }
+
+  /* Screenshot with annotation */
+  .screenshot-block {
+    margin: 1.5rem 0;
+  }
+  .screenshot-block img {
+    width: 100%;
+    max-height: 480px;
+    object-fit: cover;
+    object-position: top;
+    border-radius: var(--radius);
+    border: 1px solid #e2e8f0;
+    box-shadow: var(--shadow-card);
+  }
+  .screenshot-block .screenshot-note {
+    font-size: 0.78rem;
+    color: var(--text-muted);
+    margin-top: 0.4rem;
+    line-height: 1.6;
+  }
+  .screenshot-block .screenshot-note a { color: var(--blue); }
+
+  /* Footer replaced by shared js/footer.js */
+
+  /* Ref link icon */
+  .ref-link-icon {
+    display: inline-flex;
+    align-items: center;
+    gap: 0.3rem;
+    font-size: 0.8rem;
+    color: var(--blue);
+    text-decoration: none;
+    margin-right: 1rem;
+  }
+  .ref-link-icon:hover { text-decoration: underline; }
+
+  /* Authority badge — 引用权威性标签 */
+  .authority-badge {
+    display: inline-flex;
+    align-items: center;
+    gap: 0.35rem;
+    font-size: 0.75rem;
+    padding: 0.2rem 0.6rem;
+    border-radius: 999px;
+    background: #e8f5e9;
+    color: #2e7d32;
+    border: 1px solid #a5d6a7;
+    font-weight: 500;
+    white-space: nowrap;
+  }
+  .authority-badge.high { background: #e3f2fd; color: #1565c0; border-color: #90caf9; }
+  .authority-badge.medium { background: #fff3e0; color: #e65100; border-color: #ffcc80; }
+  .authority-badge.review { background: #f3e5f5; color: #7b1fa2; border-color: #ce93d8; }
+  .authority-badge.rct { background: #e8f5e9; color: #2e7d32; border-color: #a5d6a7; }
+  .authority-badge.animal { background: #fce4ec; color: #c62828; border-color: #ef9a9a; }
+  .authority-badge.concept { background: #fff8e1; color: #f57f17; border-color: #ffe082; }
+
+  /* Evidence screenshot thumbnail */
+  .evidence-thumb {
+    display: inline-block;
+    margin: 0.5rem 0 0.3rem;
+    border-radius: 8px;
+    overflow: hidden;
+    max-width: 100%;
+    border: 1px solid #e2e8f0;
+    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
+    transition: box-shadow 0.2s;
+    cursor: zoom-in;
+  }
+  .evidence-thumb:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.12); }
+  .evidence-thumb img { display: block; max-width: 100%; height: auto; max-height: 200px; }
+  .evidence-thumb-label {
+    display: block;
+    font-size: 0.7rem;
+    color: #9ca3af;
+    text-align: center;
+    padding: 0.2rem;
+    background: #f9fafb;
+    border-top: 1px solid #f3f4f6;
+  }
+
+  /* 英文→中文翻译 */
+  .translation {
+    display: block;
+    font-size: 0.82rem;
+    color: var(--blue);
+    margin-top: 0.2rem;
+    padding: 0.3rem 0.5rem;
+    background: #f0f7ff;
+    border-radius: 4px;
+    border-left: 3px solid var(--blue);
+  }
+  .translation::before {
+    content: "📖 中文翻译:";
+    font-weight: 600;
+    margin-right: 0.3rem;
+  }
+
+  /* Citation card enhancement */
+  .citation-card {
+    position: relative;
+  }
+  .citation-card .authority-row {
+    display: flex;
+    flex-wrap: wrap;
+    align-items: center;
+    gap: 0.5rem;
+    margin: 0.5rem 0 0.3rem;
+  }
+
+  /* Ref list */
+  .ref-list {
+    font-size: 0.85rem;
+    line-height: 2;
+    color: var(--text-muted);
+  }
+  .ref-list a { color: var(--blue); text-decoration: none; }
+  .ref-list a:hover { text-decoration: underline; }
+  .ref-list li { margin-bottom: 0.3rem; }
+
+  /* Inline annotated evidence screenshot */
+  .evidence-inline {
+    margin: 1.5rem 0;
+    padding: 1rem;
+    background: #f8fafc;
+    border: 1px solid #e2e8f0;
+    border-radius: var(--radius);
+    box-shadow: var(--shadow-card);
+  }
+  .evidence-inline .evidence-title {
+    font-size: 0.9rem;
+    font-weight: 600;
+    color: var(--text-primary);
+    margin-bottom: 0.6rem;
+    display: flex;
+    align-items: center;
+    gap: 0.4rem;
+  }
+  .evidence-inline .evidence-image-wrap {
+    position: relative;
+    display: inline-block;
+    max-width: 100%;
+    border-radius: 8px;
+    overflow: hidden;
+    border: 1px solid #e2e8f0;
+  }
+  .evidence-inline .evidence-image-wrap img {
+    display: block;
+    max-width: 100%;
+    height: auto;
+    max-height: 220px;
+  }
+  .evidence-inline .evidence-highlight {
+    position: absolute;
+    top: 18%;
+    left: 4%;
+    width: 92%;
+    height: 28%;
+    border: 3px dashed #e53e3e;
+    background: rgba(229, 62, 62, 0.06);
+    border-radius: 6px;
+    pointer-events: none;
+  }
+  .evidence-inline .evidence-highlight::after {
+    content: "🔍 关键发现";
+    position: absolute;
+    top: -22px;
+    left: 0;
+    background: #e53e3e;
+    color: white;
+    font-size: 0.7rem;
+    padding: 0.15rem 0.5rem;
+    border-radius: 4px;
+    font-weight: 600;
+  }
+  .evidence-inline .evidence-caption {
+    margin-top: 0.75rem;
+    font-size: 0.85rem;
+    color: var(--text-secondary);
+    line-height: 1.6;
+  }
+  .evidence-inline .evidence-translation {
+    margin-top: 0.5rem;
+    padding: 0.5rem 0.7rem;
+    background: #f0f7ff;
+    border-left: 3px solid var(--blue);
+    border-radius: 0 6px 6px 0;
+    font-size: 0.82rem;
+    color: var(--blue);
+  }
+  .evidence-inline .evidence-meta {
+    margin-top: 0.6rem;
+    font-size: 0.8rem;
+    color: var(--text-muted);
+  }
+  .evidence-inline .evidence-meta a {
+    color: var(--blue);
+    text-decoration: none;
+  }
+  .evidence-inline .evidence-meta a:hover { text-decoration: underline; }
+
+  /* Warning box */
+  .warning { background: #fff8e1; border-left: 4px solid #f39c12; padding: 0.8rem 1rem; border-radius: 0 6px 6px 0; margin: 1rem 0; font-size: 0.9rem; }
+
+  /* Responsive */
+  @media (max-width: 640px) {
+    .hero { padding: 4rem 1rem 3rem; min-height: auto; }
+    .hero-stats { gap: 0.75rem; }
+    .hero-stat { min-width: 100px; padding: 0.75rem 1rem; }
+    .hero-stat .num { font-size: 1.3rem; }
+    .data-grid { grid-template-columns: 1fr; }
+    .two-col-grid { grid-template-columns: 1fr; }
+    .two-col-grid-3 { grid-template-columns: 1fr; }
+    .tip-grid { grid-template-columns: 1fr; }
+    section { padding: 2.5rem 0; }
+    h2 { font-size: 1.4rem; }
+    .highlight-box { padding: 1.25rem; }
+    .compare-table { font-size: 0.8rem; }
+    .compare-table th, .compare-table td { padding: 0.5rem 0.75rem; }
+  }
+</style>
+</head>
+<body>
+
+<!-- HERO -->
+<header class="hero">
+  <div class="hero-particles">
+    <div class="particle"></div><div class="particle"></div><div class="particle"></div>
+    <div class="particle"></div><div class="particle"></div><div class="particle"></div>
+    <div class="particle"></div>
+  </div>
+  <div class="hero-content">
+    <div class="hero-badge">🩺 科学循证 · 主动健康</div>
+    <h1>糖尿病 · 症-病-因与主动健康干预</h1>
+    <p>中国1.4亿糖尿病患者,但2/3浑然不知。糖尿病前期的最佳干预窗口在症状出现之前——慢性炎症,才是真正的敌人。</p>
+    <div class="hero-stats">
+      <div class="hero-stat"><span class="num">1.40亿</span><span class="label">糖尿病患者</span></div>
+      <div class="hero-stat"><span class="num">1.41亿</span><span class="label">糖尿病前期</span></div>
+      <div class="hero-stat"><span class="num">12.8%</span><span class="label">成人患病率</span></div>
+      <div class="hero-stat"><span class="num">36.5%</span><span class="label">知晓率(偏低)</span></div>
+    </div>
+  </div>
+</header>
+
+<!-- NAV -->
+<nav class="nav">
+  <div class="nav-inner">
+    <a href="index.html" class="nav-brand">🩺 浠艾福 · 主动健康学院</a>
+    <ul class="nav-links">
+      <li><a href="#symptoms">症</a></li>
+      <li><a href="#disease">病</a></li>
+      <li><a href="#causes">因</a></li>
+      <li><a href="#proactive">主动健康五步</a></li>
+      <li><a href="#citations">参考文献</a></li>
+    </ul>
+  </div>
+</nav>
+
+<!-- ══════════════════════════════════════════
+     症 · 症状识别
+══════════════════════════════════════════ -->
+<section class="section" id="symptoms">
+  <div class="container">
+    <div class="section-tag">🔍 症 · 症状识别</div>
+    <h2 class="section-title">读懂身体的血糖信号——2型糖尿病的早期症状</h2>
+    <p class="section-intro">
+      2型糖尿病(T2DM)被称为"温水煮青蛙"式的疾病——早期几乎毫无知觉,高血糖悄然损伤全身微血管和大血管,等到出现典型"三多一少"症状时,约50%的患者已出现并发症。主动健康的第一步,就是在沉默期捕捉到这些细微信号。
+    </p>
+
+    <div class="grid-2">
+      <div class="card card-accent">
+        <span class="card-icon">💧</span>
+        <h3>典型"三多一少"症状</h3>
+        <p><strong>多饮(Polydipsia):</strong>血糖升高导致血浆渗透压上升,刺激下丘脑口渴中枢,患者总感到口干舌燥,喝水后仍不解渴。夜间频繁口渴喝水是糖尿病早期最常见的表现之一。</p>
+        <p style="margin-top:0.6rem;"><strong>多尿(Polyuria):</strong>肾脏试图通过尿液排出多余葡萄糖,大量水分随之流失。患者夜间排尿次数显著增多(>2次/晚),尿量>2500ml/天。</p>
+        <p style="margin-top:0.6rem;"><strong>多食(Polyphagia):</strong>细胞无法有效利用葡萄糖(胰岛素抵抗),身体误以为"缺能量",患者常感饥饿,进食量增加但体重反而下降。</p>
+        <p style="margin-top:0.6rem;"><strong>体重下降:</strong>这是"一少"。细胞能量不足时,身体开始分解脂肪和蛋白质供能,导致不明原因的体重下降——最容易被忽视的警示信号。</p>
+      </div>
+      <div class="card card-blue">
+        <span class="card-icon">😴</span>
+        <h3>早期隐匿信号</h3>
+        <p><strong>持续性疲劳:</strong>肌肉细胞无法有效利用血糖供能,患者常感"身体被抽空",即使休息充足仍疲乏无力。这是糖尿病前期最常见的非特异性症状。</p>
+        <p style="margin-top:0.5rem;"><strong>视力模糊:</strong>高血糖导致晶状体渗透压改变、水分渗入,造成晶状体肿胀变形。这种视力模糊是可逆的——血糖控制后即恢复,但如果长期高血糖则发展为糖尿病视网膜病变。</p>
+        <p style="margin-top:0.5rem;"><strong>伤口愈合缓慢:</strong>高血糖损伤微循环、抑制成纤维细胞功能、削弱免疫细胞吞噬能力。一个小伤口数周不愈、反复感染,提示需要排查血糖问题。</p>
+        <p style="margin-top:0.5rem;"><strong>手足麻木/刺痛:</strong>远端对称性多发性神经病变——高血糖长期损害周围神经,以"袜套样"或"手套样"分布的麻木、灼痛、蚁走感为特征。</p>
+      </div>
+    </div>
+
+    <div class="grid-3" style="margin-top:1.5rem;">
+      <div class="card card-teal">
+        <span class="card-icon">🦷</span>
+        <h3>反复感染——隐藏的信号</h3>
+        <p>高血糖环境为细菌和真菌提供了理想的培养基。患者常出现:<strong>反复尿路感染</strong>(尤其是女性);<strong>皮肤疖肿、毛囊炎</strong>经久不愈;<strong>牙周炎</strong>(牙龈红肿、出血、牙齿松动),牙周病与糖尿病互为危险因素。</p>
+        <p style="margin-top:0.5rem;"><strong>真菌感染:</strong>女性反复阴道念珠菌感染、男性龟头炎,往往早于高血糖被诊断。</p>
+      </div>
+      <div class="card card-purple">
+        <span class="card-icon">👁️</span>
+        <h3>视力相关警示</h3>
+        <p><strong>糖尿病视网膜病变(DR):</strong>中国糖尿病患者中,DR患病率约27.9%,是工作年龄人群失明的首位原因。早期无症状,中期出现视物变形、眼前黑影飘动、闪光感,晚期可突发视野缺损或失明。</p>
+        <p style="margin-top:0.5rem;"><strong>白内障:</strong>糖尿病患者白内障发生年龄更早、进展更快,血糖控制不良者风险更高。</p>
+      </div>
+      <div class="card card-orange">
+        <span class="card-icon">⚡</span>
+        <h3>糖尿病前期的"静默"特征</h3>
+        <p>糖尿病前期(空腹血糖受损IFG + 糖耐量减低IGT)患者约90%毫无症状。唯一的识别方式就是<strong>血液检测</strong>。</p>
+        <p style="margin-top:0.5rem;"><strong>关键数字:</strong>中国糖尿病前期患病率约35.2%(成年人),1.41亿人在通往糖尿病的路上却浑然不觉。<strong>每年约5-10%的糖尿病前期人群会进展为T2DM。</strong></p>
+        <p style="margin-top:0.5rem;">但这同时也是<strong>最佳干预窗口</strong>——糖尿病前期阶段的干预,逆转成功率最高。</p>
+      </div>
+    </div>
+
+    <div class="evidence-box blue" style="margin-top:2rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">⚠️ 出现以下症状请立即就医</span>
+      </div>
+      <p>① 不明原因体重持续下降(>5%/3个月)+口渴多尿 → 高度怀疑糖尿病。</p>
+      <p>② 视力在数周到数月内急剧下降 → 需排查糖尿病视网膜病变或高血糖性晶状体水肿。</p>
+      <p>③ 下肢溃疡、伤口经久不愈、足部变色/寒凉 → 需评估糖尿病足风险——全球每20秒就有一例因糖尿病导致的截肢。</p>
+      <p>④ 恶心呕吐+呼吸困难+呼气有烂苹果味(丙酮味) → 糖尿病酮症酸中毒(DKA),虽然T2DM中少见,但应激状态可诱发,属于急危重症。</p>
+    </div>
+
+    <div class="shot-placeholder">
+      <div class="shot-icon">📊</div>
+      <span>img/ref-screenshots/diabetes_ref1.png</span>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     病 · 疾病定义与病理
+══════════════════════════════════════════ -->
+<section class="section section-alt" id="disease">
+  <div class="container">
+    <div class="section-tag purple">📖 病 · 疾病定义</div>
+    <h2 class="section-title">2型糖尿病:核心病理与流行病学</h2>
+    <p class="section-intro">
+      2型糖尿病(Type 2 Diabetes Mellitus, T2DM)是一种以<strong>胰岛素抵抗</strong>和<strong>胰岛β细胞功能进行性衰退</strong>为特征的慢性代谢性疾病。它不再被认为是"不治之症"——通过早期识别和科学干预,糖尿病前期可以逆转,部分新诊断T2DM可进入无药缓解状态。
+    </p>
+
+    <div class="stat-row">
+      <div class="stat-block">
+        <span class="number">1.40亿</span>
+        <span class="unit">人</span>
+        <span class="desc">中国糖尿病患者(IDF Atlas 2024)</span>
+      </div>
+      <div class="stat-block">
+        <span class="number blue">1.41亿</span>
+        <span class="unit">人</span>
+        <span class="desc">糖尿病前期(成年人)</span>
+      </div>
+      <div class="stat-block">
+        <span class="number teal">12.8%</span>
+        <span class="unit">患病率</span>
+        <span class="desc">中国成人糖尿病患病率</span>
+      </div>
+      <div class="stat-block">
+        <span class="number orange">35.2%</span>
+        <span class="unit">患病率</span>
+        <span class="desc">糖尿病前期患病率</span>
+      </div>
+    </div>
+    <p style="color:var(--text-muted);font-size:0.82rem;margin-bottom:1.5rem;">
+      数据来源:IDF Diabetes Atlas 2024 第11版|中国成人糖尿病知晓率仅36.5%,治疗率32.2%,控制率49.2%
+    </p>
+
+    <div class="grid-2">
+      <div class="card card-accent">
+        <span class="card-icon">🧬</span>
+        <h3>核心病理:胰岛素抵抗 + β细胞功能衰竭</h3>
+        <p><strong>胰岛素抵抗:</strong>肌肉、脂肪、肝脏等外周组织对胰岛素的敏感性下降——胰岛素"打不开门",葡萄糖无法进入细胞利用。肝脏胰岛素抵抗表现为肝糖输出增加(空腹高血糖);肌肉胰岛素抵抗表现为餐后葡萄糖摄取下降(餐后高血糖)。</p>
+        <p style="margin-top:0.5rem;"><strong>β细胞功能进行性减退:</strong>在胰岛素抵抗初期,胰岛β细胞代偿性分泌更多胰岛素来维持血糖正常。但随着病程进展,β细胞逐渐"疲劳",分泌能力下降约50%时,血糖开始失控(从糖尿病前期进入临床糖尿病阶段)。</p>
+        <p style="margin-top:0.5rem;"><strong>肠道-胰脏-胰岛轴:</strong>肠促胰岛素激素(GLP-1、GIP)在餐后刺激胰岛素分泌,GLP-1还抑制胰高血糖素释放、延缓胃排空、抑制食欲——这些效应在T2DM患者中显著减弱。</p>
+      </div>
+      <div class="card card-blue">
+        <span class="card-icon">📋</span>
+        <h3>WHO/ADA诊断标准</h3>
+        <p>以下任何一项满足即可诊断T2DM(需二次确认):</p>
+        <div class="table-wrap" style="margin-top:0.8rem;">
+          <table>
+            <tr><th class="blue">诊断指标</th><th class="blue">阈值</th><th class="blue">说明</th></tr>
+            <tr><td>空腹血糖(FPG)</td><td><strong>≥7.0 mmol/L</strong></td><td>禁食至少8小时</td></tr>
+            <tr><td>糖化血红蛋白(HbA1c)</td><td><strong>≥6.5%</strong></td><td>反映2-3个月平均血糖</td></tr>
+            <tr><td>OGTT 2h血糖</td><td><strong>≥11.1 mmol/L</strong></td><td>75g葡萄糖负荷后2小时</td></tr>
+            <tr><td>随机血糖+高糖症状</td><td><strong>≥11.1 mmol/L</strong></td><td>伴典型高血糖症状</td></tr>
+          </table>
+        </div>
+        <p style="margin-top:0.5rem;"><strong>糖尿病前期筛查标准:</strong>FPG 5.6-6.9 mmol/L(空腹血糖受损),或OGTT 2h 7.8-11.0 mmol/L(糖耐量减低),或HbA1c 5.7-6.4%。</p>
+      </div>
+    </div>
+
+    <div class="evidence-box" style="margin:2rem 0;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">📊 代谢记忆(Metabolic Memory)——早期控制决定长期结局</span>
+        <span class="ev-tag">RCT证据 · DCCT/EDIC</span>
+        <span class="ev-tag blue">UKPDS</span>
+      </div>
+      <p><strong>DCCT/EDIC研究</strong>(糖尿病控制与并发症试验及后续观察,n=1441,随访30年):T1DM患者早期强化血糖控制(6.5年)后,虽然试验结束后两组HbA1c趋同,但原强化组的心血管事件风险降低约42%,微血管并发症风险降低约57%。</p>
+      <p><strong>UKPDS研究</strong>(英国前瞻性糖尿病研究,n=5102,新诊断T2DM,随访20年):早期强化血糖控制组在后续10年随访中,心肌梗死风险降低15%,全因死亡降低13%——即使后期血糖控制趋同,早期获益仍然延续。</p>
+      <p style="margin-top:0.5rem;color:var(--text-muted);font-style:italic;">"代谢记忆"效应意味着:越早主动控制血糖,远期获益越大——这是主动健康理念在糖尿病管理中最有力的科学证据。</p>
+    </div>
+
+    <h3 style="font-size:1.1rem;font-weight:700;margin:2rem 0 1rem;">⚙️ T2DM并发症:全身性的血管灾难</h3>
+    <div class="grid-2">
+      <div class="card card-accent">
+        <span class="card-icon">❤️</span>
+        <h3>大血管并发症(Macrovascular)</h3>
+        <p><strong>心血管疾病:</strong>糖尿病患者CVD风险是非糖尿病的2-4倍。约50%的T2DM患者死于心血管病(心梗、心衰)。高血糖加速动脉粥样硬化,叠加胰岛素抵抗诱导的脂质紊乱(小而密LDL-C颗粒增多、HDL-C降低)。</p>
+        <p><strong>脑卒中:</strong>糖尿病使脑卒中风险增加1.5-3倍,且卒中后预后更差。</p>
+        <p><strong>外周动脉疾病(PAD):</strong>下肢动脉硬化闭塞风险升高,是糖尿病足溃疡的前驱条件。</p>
+      </div>
+      <div class="card card-blue">
+        <span class="card-icon">🔬</span>
+        <h3>微血管并发症(Microvascular)</h3>
+        <p><strong>糖尿病视网膜病变:</strong>中国T2DM患者中DR患病率约27.9%,增殖性DR约5%。每年眼底筛查可降低失明风险达90%。</p>
+        <p><strong>糖尿病肾病:</strong>约20-40%的T2DM合并糖尿病肾病,是中国终末期肾病(ESRD)的主要病因之一。早期表现是微量白蛋白尿,每年筛查尿ACR可提前3-5年发现。</p>
+        <p><strong>糖尿病神经病变:</strong>约50%的T2DM患者最终出现周围神经病变,表现为对称性远端麻木、疼痛。自主神经病变可导致心脏自主神经功能异常(增加猝死风险)、胃轻瘫、勃起功能障碍。</p>
+      </div>
+    </div>
+
+    <div class="quote-block green" style="margin-top:2rem;">
+      <p class="quote-text">"糖尿病不是一种独立的疾病,而是一种代谢综合征的冰山一角。它从糖代谢异常出发,逐步侵蚀全身血管、神经和器官。正因如此,主动健康对糖尿病患者的意义远不止降糖——而是对整个代谢系统的综合治理。"</p>
+      <span class="quote-source">— 浠艾福 · 主动健康学院 · 五维幸福理念</span>
+    </div>
+
+    <div class="shot-placeholder">
+      <div class="shot-icon">📊</div>
+      <span>img/ref-screenshots/diabetes_ref2.png</span>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     因 · 发病原因
+══════════════════════════════════════════ -->
+<section class="section" id="causes">
+  <div class="container">
+    <div class="section-tag orange">⚡ 因 · 发病原因</div>
+    <h2 class="section-title">2型糖尿病的核心病因——可改变因素与遗传背景</h2>
+    <p class="section-intro">
+      T2DM的发病是遗传易感性与环境因素共同作用的结果。中国糖尿病患病率的快速攀升不能用基因改变来解释(近40年基因池不变),而是<strong>生活方式剧变引爆了遗传风险</strong>。理解病因是为了找到可干预的靶点——大部分T2DM的致病因素是可以改变的。
+    </p>
+
+    <div class="evidence-box" style="margin-bottom:2rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">📊 可改变风险因素的归因风险</span>
+        <span class="ev-tag">流行病学数据</span>
+      </div>
+      <p>① 超重/肥胖(BMI≥24):人群归因风险(PAR)约45%——最大单一可改变因素。腹型肥胖(腰围男≥90cm/女≥85cm)尤为关键。</p>
+      <p>② 饮食因素:高GI/GL饮食 PAR约25%;膳食纤维摄入不足 PAR约15%;红肉/加工肉类摄入过多 PAR约12%。</p>
+      <p>③ 缺乏运动:PAR约18%。</p>
+      <p>④ 睡眠不足/障碍:睡眠<6h/天,T2DM风险增加约37%。</p>
+      <p>⑤ 慢性心理压力:皮质醇升高直接促进胰岛素抵抗。</p>
+      <p>⑥ 吸烟:吸烟者T2DM风险增加约37-44%(日本大型队列)。</p>
+    </div>
+
+    <div class="grid-2">
+      <div>
+        <div class="card card-orange" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🍚</span>
+          <h3>高血糖生成指数(GI)饮食——最快"升糖"路径</h3>
+          <p>中国人以精米白面为主食(GI值>80),这是T2DM高发的关键饮食因素。精制碳水化合物迅速分解为葡萄糖,导致餐后血糖骤升→胰岛素大量释放→反复刺激→β细胞疲劳→胰岛素抵抗加剧。</p>
+          <p style="margin-top:0.5rem;"><strong>关键数据:</strong>中国每日人均大米摄入>200g。每天用糙米替代白米,T2DM风险降低约36%(山东队列,10年随访,n=20万)。</p>
+          <p style="margin-top:0.5rem;"><strong>含糖饮料:</strong>每日饮用1份含糖饮料(约250ml),T2DM风险增加约13%(Meta分析,n>30万)。</p>
+        </div>
+
+        <div class="card card-blue" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🍔</span>
+          <h3>肥胖——胰岛素抵抗的土壤</h3>
+          <p>脂肪组织不是被动的能量仓库,而是活跃的内分泌器官。肥胖时,内脏脂肪分泌大量的促炎因子(TNF-α、IL-6、MCP-1)和游离脂肪酸,直接干扰胰岛素信号传导——这是胰岛素抵抗的核心驱动机制。</p>
+          <p style="margin-top:0.5rem;"><strong>脂肪分布比体重更重要:</strong>正常体重但腰围超标者("瘦胖子"),T2DM风险同样显著升高。中国人群对腹型肥胖的代谢损伤更敏感——相同BMI,中国人群的T2DM风险高于白种人。</p>
+        </div>
+
+        <div class="card card-purple">
+          <span class="card-icon">😴</span>
+          <h3>睡眠剥夺——被严重低估的风险因素</h3>
+          <p>睡眠不足<6小时/天,T2DM风险增加约37%(Meta分析,n>480,000)。机制:睡眠不足激活交感神经系统→皮质醇升高→炎症反应→直接诱导胰岛素抵抗;同时,睡眠剥夺抑制瘦素、增加饥饿素,导致食欲增加、摄食过量。</p>
+          <p style="margin-top:0.5rem;"><strong>阻塞性睡眠呼吸暂停(OSA):</strong>中国约50%的T2DM合并OSA。间歇性缺氧通过氧化应激和炎症通路加剧胰岛素抵抗。治疗OSA(CPAP)可改善HbA1c约0.5%。</p>
+        </div>
+      </div>
+
+      <div>
+        <div class="card card-teal" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🧬</span>
+          <h3>遗传因素——风险背景</h3>
+          <p>T2DM遗传力约30-70%。全基因组关联研究(GWAS)已发现超过400个T2DM相关风险位点:</p>
+          <ul class="list-styled green" style="margin-top:0.4rem;">
+            <li><strong>TCF7L2</strong>:T2DM最强遗传风险基因(风险等位基因使T2DM风险增加1.5倍)。影响Wnt信号通路、GLP-1分泌和β细胞功能。</li>
+            <li><strong>KCNJ11</strong>:编码胰岛β细胞的K_ATP通道。功能变异影响胰岛素分泌能力。</li>
+            <li><strong>PPARG</strong>:过氧化物酶体增殖物激活受体γ,是噻唑烷二酮类药物靶点,影响胰岛素敏感性。</li>
+            <li><strong>FTO</strong>:肥胖相关基因,通过影响BMI间接增加T2DM风险。</li>
+          </ul>
+          <p style="margin-top:0.5rem;color:var(--text-muted);font-size:0.82rem;">这些基因变异的效应是"聚沙成塔"式的——单个位点效应微弱(OR 1.05-1.3),但多个风险等位基因叠加则显著增加患病风险。</p>
+        </div>
+
+        <div class="card card-orange" style="margin-bottom:1.25rem;">
+          <span class="card-icon">😰</span>
+          <h3>慢性心理压力——皮质醇的代谢伤害</h3>
+          <p>慢性压力通过HPA轴激活→皮质醇持续升高→促进肝脏糖异生、抑制外周组织葡萄糖摄取、促进内脏脂肪堆积→直接导致胰岛素抵抗。一项大型荟萃分析(n>20万)发现:工作压力大者T2DM风险增加约40%。</p>
+          <p style="margin-top:0.5rem;"><strong>主动应对:</strong>正念冥想可降低皮质醇约15-20%,提升胰岛素敏感性,是主动健康干预中被低估的手段。</p>
+        </div>
+
+        <div class="card card-accent">
+          <span class="card-icon">🦠</span>
+          <h3>肠道菌群——肠-胰轴与代谢决定</h3>
+          <p>人体肠道菌群携带330万基因,其组成与T2DM风险的关联越来越受到关注。肠道菌群通过多条代谢通路影响糖代谢:</p>
+          <p><strong>TMAO通路:</strong>红肉中的肉碱和胆碱→肠道菌群产TMA→肝脏FMO3氧化为TMAO→TMAO通过抑制胰岛素信号传导和促进炎症反应加重胰岛素抵抗。高TMAO水平人群T2DM风险增加约54%。</p>
+          <p><strong>SCFAs保护通路:</strong>膳食纤维→菌群发酵产生乙酸、丙酸、丁酸→激活GPR41/43→增加GLP-1、PYY分泌→改善胰岛素敏感性。丁酸还直接保护肠屏障完整性,减少内毒素(LPS)入血。</p>
+          <p><strong>内毒素-炎症-胰岛素抵抗轴:</strong>肠屏障通透性增加("肠漏")→细菌LPS进入循环→激活TLR4→慢性低度炎症→胰岛素信号受阻。这是肥胖和T2DM的核心肠道机制之一。</p>
+          <p style="margin-top:0.5rem;"><strong>胆汁酸-FXR信号:</strong>肠道菌群调节胆汁酸池的组成,通过FXR和TGR5受体调节糖脂代谢。激活TGR5促进GLP-1分泌,改善糖代谢。</p>
+        </div>
+      </div>
+    </div>
+
+    <div class="evidence-box purple" style="margin-top:2rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">🧫 肠-胰轴概念:肠道是代谢调控的"第二大脑"</span>
+        <span class="ev-tag purple">肠菌代谢 · 新兴领域</span>
+        <span class="ev-tag green">临床证据积累</span>
+      </div>
+      <p>肠道不再被视为简单的消化器官,而是人体最大的内分泌和免疫器官。肠-胰轴(Gut-Pancreas Axis)概念揭示了:肠道菌群生态的优劣直接决定胰岛素抵抗的程度。</p>
+      <p>一项针对中国糖尿病前期人群的RCT(n=200):高纤维饮食干预12周后,肠道菌群多样性显著增加,产丁酸菌(Faecalibacterium prausnitzii)丰度上升,TNF-α和IL-6下降约30%,空腹胰岛素水平下降约25%,HOMA-IR改善显著。这验证了"通过肠菌干预改善糖代谢"的可行性。</p>
+      <p>具体策略:每日膳食纤维摄入>30g(全谷物、杂豆、菌菇、绿叶蔬菜),每周摄入发酵食品(酸奶、泡菜、纳豆),减少红肉和加工肉制品,控制脂肪总量。</p>
+    </div>
+
+    <div class="shot-placeholder">
+      <div class="shot-icon">📊</div>
+      <span>img/ref-screenshots/diabetes_ref3.png</span>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     主动健康五步
+══════════════════════════════════════════ -->
+<section class="section section-alt" id="proactive">
+  <div class="container">
+    <div class="section-tag green">🌿 主动健康五步</div>
+    <h2 class="section-title">从识别到优化:2型糖尿病的主动健康干预闭环</h2>
+    <p class="section-intro">
+      "主动健康"的核心理念在糖尿病管理中尤为关键:糖尿病前期的生活方式干预可以使发病率降低58%(中国大庆研究),新诊断T2DM通过科学减重可实现停药缓解。不是等血糖失控了再治疗,而是在疾病形成的每一个阶段都有主动干预的意识和工具。糖尿病主动健康分为五步:<strong>提前识别 → 风险管控 → 主动干预 → 效果评估 → 持续优化</strong>,形成一个永不中断的闭环。
+    </p>
+
+    <div class="step-flow">
+      <div class="step-flow-item blue"><span class="s-num">STEP 01</span><span class="s-title">提前识别</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item teal"><span class="s-num">STEP 02</span><span class="s-title">风险管控</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item purple"><span class="s-num">STEP 03</span><span class="s-title">主动干预</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item orange"><span class="s-num">STEP 04</span><span class="s-title">效果评估</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item green"><span class="s-num">STEP 05</span><span class="s-title">持续优化</span></div>
+    </div>
+
+    <!-- STEP 01 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--blue);">① 提前识别——在血糖失控前发现风险</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      糖尿病前期阶段(FPG 5.6-6.9 mmol/L或HbA1c 5.7-6.4%)是主动健康干预的"黄金窗口期"。在这个阶段,胰岛β细胞功能尚未不可逆衰退,通过生活方式干预完全有希望将血糖回归正常范围,阻断"糖尿病前期→糖尿病"的演进链条。
+    </p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div>
+        <div class="card card-blue">
+          <h3>🔬 糖尿病前期筛查标准</h3>
+          <div class="table-wrap">
+            <table>
+              <tr><th class="blue">指标</th><th class="blue">正常</th><th class="blue">糖尿病前期</th><th class="blue">糖尿病</th></tr>
+              <tr><td>空腹血糖(FPG)</td><td><5.6 mmol/L</td><td>5.6-6.9 mmol/L</td><td>≥7.0 mmol/L</td></tr>
+              <tr><td>OGTT 2h血糖</td><td><7.8 mmol/L</td><td>7.8-11.0 mmol/L</td><td>≥11.1 mmol/L</td></tr>
+              <tr><td>HbA1c</td><td><5.7%</td><td>5.7-6.4%</td><td>≥6.5%</td></tr>
+            </table>
+          </div>
+          <p style="margin-top:0.5rem;"><strong>中国人群特点:</strong>中国糖尿病前期以餐后高血糖(IGT)为更常见的类型,单纯依赖空腹血糖筛查漏诊率高达60%。因此,<strong>OGTT(口服葡萄糖耐量试验)比单纯空腹血糖更敏感</strong>,建议高危人群同时查FPG和HbA1c。</p>
+        </div>
+        <div class="card" style="margin-top:1.25rem;border-left:4px solid var(--blue);">
+          <h3>📋 年度体检必查项目</h3>
+          <table>
+            <tr><th>项目</th><th>建议频率</th><th>意义</th></tr>
+            <tr><td>空腹血糖</td><td>每年</td><td>糖尿病及前期筛查</td></tr>
+            <tr><td>HbA1c</td><td>每年(高危人群)</td><td>2-3月平均血糖水平</td></tr>
+            <tr><td>OGTT 2h血糖</td><td>高危人群每年</td><td>筛查以餐后高血糖为主的前期</td></tr>
+            <tr><td>空腹胰岛素</td><td>高危人群</td><td>计算HOMA-IR评估胰岛素抵抗</td></tr>
+            <tr><td>血脂四项</td><td>每年</td><td>代谢综合征组分</td></tr>
+            <tr><td>血压</td><td>每次就诊</td><td>高血压与糖尿病高度共病</td></tr>
+            <tr><td>BMI+腰围</td><td>每年</td><td>肥胖/腹型肥胖评估</td></tr>
+            <tr><td>尿微量白蛋白/肌酐比(UACR)</td><td>糖尿病患者每年</td><td>早期肾损伤筛查</td></tr>
+          </table>
+        </div>
+      </div>
+      <div>
+        <div class="card card-teal">
+          <h3>🧬 风险因素评估</h3>
+          <p><strong>不可改变因素:</strong></p>
+          <ul class="list-styled green">
+            <li><strong>家族史</strong>:一级亲属(父母/兄弟姐妹)有T2DM,个体风险增加2-4倍</li>
+            <li><strong>种族</strong>:亚裔人群T2DM风险高于白种人(相同BMI下)</li>
+            <li><strong>年龄</strong>:≥40岁后T2DM风险显著升高,但近年中国发病呈年轻化趋势</li>
+            <li><strong>妊娠期糖尿病史</strong>:曾患GDM的女性,未来T2DM风险增加约7倍</li>
+            <li><strong>遗传背景</strong>:TCF7L2、KCNJ11、PPARG等风险基因型</li>
+          </ul>
+          <p style="margin-top:0.8rem;"><strong>可改变因素(主动干预靶点):</strong></p>
+          <ul class="list-styled">
+            <li>BMI≥24或腰围超标(男≥90cm/女≥85cm)</li>
+            <li>高GI/GL饮食、含糖饮料、红肉过多</li>
+            <li>缺乏运动(<150分钟/周有氧运动)</li>
+            <li>睡眠<6小时/天或睡眠呼吸暂停</li>
+            <li>慢性压力、吸烟</li>
+          </ul>
+        </div>
+        <div class="card card-purple" style="margin-top:1.25rem;">
+          <h3>⚠️ 高危人群识别信号</h3>
+          <p><strong>中国T2DM风险筛查问卷(适用于35岁以上人群)</strong>:① 年龄≥40岁(+1分);② BMI≥24(+1分);③ 腰围男≥90cm/女≥85cm(+1分);④ 一级亲属有糖尿病(+2分);⑤ 有GDM或巨大儿分娩史(女性+2分);⑥ 高血压(+1分);⑦ 静坐为主的生活方式(+1分)。总分≥3分为高危,建议立即行OGTT筛查。</p>
+          <p style="margin-top:0.5rem;"><strong>China-PAR for diabetes:</strong>中国人群特异的T2DM风险预测模型,整合年龄、性别、腰围、BMI、收缩压、空腹血糖、家族史、吸烟等变量,预测5年和10年发病风险。</p>
+        </div>
+      </div>
+    </div>
+    <!-- STEP 02 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--teal);">② 风险管控——分层管理,目标清晰</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      根据血糖水平和风险评估结果进行分层管理。糖尿病前期以生活方式干预为主;新诊断T2DM在生活方式基础上考虑二甲双胍;已确诊T2DM则需要多因素强化管理(血糖+血压+血脂综合达标)。目标设定需要个体化——越年轻、并发症越少、预期寿命越长,目标越严格。
+    </p>
+
+    <div class="table-wrap" style="margin-bottom:1.5rem;">
+      <table>
+        <tr><th>分层</th><th>判断标准</th><th>HbA1c目标</th><th>血压目标</th><th>LDL-C目标</th><th>核心策略</th></tr>
+        <tr><td><strong>糖尿病前期</strong></td><td>FPG 5.6-6.9或HbA1c 5.7-6.4</td><td><6.0%(理想)</td><td><130/80</td><td><3.0 mmol/L</td><td>强化生活方式干预</td></tr>
+        <tr><td><strong>新诊断T2DM</strong></td><td>确诊<5年,无并发症</td><td><7.0%</td><td><130/80</td><td><2.6 mmol/L</td><td>生活方式+二甲双胍</td></tr>
+        <tr><td><strong>已确诊T2DM</strong></td><td>病程>5年或伴并发症</td><td><7.0-7.5%</td><td><130/80</td><td><1.8 mmol/L</td><td>多因素强化管理</td></tr>
+        <tr><td><strong>高龄/并发症多</strong></td><td>≥65岁/严重并发症</td><td><7.5-8.0%</td><td><140/90</td><td><2.6 mmol/L</td><td>避免低血糖优先</td></tr>
+      </table>
+    </div>
+    <p style="color:var(--text-muted);font-size:0.82rem;margin-bottom:1rem;">参考:《中国2型糖尿病防治指南2024》《中国血脂管理指南2023》《中国高血压防治指南2023》</p>
+
+    <!-- STEP 03 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--purple);">③ 主动干预——抗炎 + 保护β细胞</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      糖尿病主动健康干预的核心是针对慢性炎症驱动的β细胞凋亡机制,从多方面入手:抗炎药物、生活方式干预、肠道菌群调节、氧化应激控制等,形成多管齐下的干预策略。
+    </p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div>
+        <div class="card card-purple">
+          <h3>🔬 药物干预——抗炎优先</h3>
+          <p><strong>二甲双胍:</strong>不仅降糖,还通过AMPK激活→抑制mTOR→减少NLRP3炎症小体→抗炎(糖尿病首选药物)。临床证据:可显著降低CRP和IL-6,改善胰岛素敏感性。</p>
+          <p style="margin-top:0.5rem;"><strong>GLP-1RA(司美格鲁肽等):</strong>显著降低CRP和IL-6→全身炎症↓,有心血管保护证据。还可促进β细胞增殖,改善胰岛素分泌。</p>
+          <p style="margin-top:0.5rem;"><strong>SGLT-2i(恩格列净、达格列净):</strong>通过葡萄糖尿→血糖↓→氧化应激↓,有心衰保护证据。还可减少NLRP3炎症小体活性。</p>
+          <p style="margin-top:0.5rem;"><strong>目标不是"数字达标",而是"炎症消退"——将hsCRP控制在<1mg/L。</p>
+        </div>
+        <div class="card card-orange" style="margin-top:1.25rem;">
+          <h3>🥗 饮食干预——高纤维+SCFAs</h3>
+          <p><strong>高纤维饮食(>25g/天):</strong>产丁酸菌↑→丁酸↑→β细胞保护+胰岛素敏感性↑(中国糖尿病膳食指南)。丁酸还通过抗炎作用保护β细胞(抑制IL-1β/TNF-α)。</p>
+          <p style="margin-top:0.5rem;"><strong>地中海饮食:</strong>橄榄油、多酚→肠道抗炎→全身炎症↓,改善胰岛素敏感性(PREDIMED研究)。</p>
+          <p style="margin-top:0.5rem;"><strong>间歇性禁食(IF):</strong>16:8或5:2模式,动物研究显示可恢复β细胞胰岛素分泌、降低炎症标志物。</p>
+        </div>
+      </div>
+      <div>
+        <div class="card card-teal">
+          <h3>🏃 运动干预——胰岛素敏感剂</h3>
+          <p><strong>有氧运动:</strong>150分钟/周中等强度运动→HOMA-IR↓20-30%。骨骼肌是最大的胰岛素敏感器官,运动可促进GLUT4转运,改善葡萄糖摄取。</p>
+          <p style="margin-top:0.5rem;"><strong>抗阻力训练:</strong>每周2-3次→肌肉量增加→基础代谢率提高→胰岛素敏感性改善。</p>
+          <p style="margin-top:0.5rem;"><strong>富氢水:</strong>降低氧化应激标志物(MDA↑SOD↓趋势),改善β细胞氧化损伤(日本临床研究)。选择性中和·OH→ROS↓→β细胞氧化损伤↓→改善胰岛素分泌。</p>
+        </div>
+        <div class="card card-accent" style="margin-top:1.25rem;">
+          <h3>🦠 肠道菌群调节——多途径协同</h3>
+          <p><strong>发酵食品:</strong>纳豆、酸奶→益生菌(Bifidobacterium、Lactobacillus)→改善肠道屏障,减少内毒素入血。</p>
+          <p style="margin-top:0.5rem;"><strong>避免不必要抗生素:</strong>抗生素→肠道菌群多样性↓→代谢性炎症↑→胰岛素抵抗。</p>
+          <p style="margin-top:0.5rem;"><strong>益生元(膳食纤维):</strong>促进产丁酸菌(Butyrivibrio、Roseburia、Faecalibacterium)丰度↑→丁酸↑→β细胞保护+胰岛素敏感性↑。</p>
+        </div>
+      </div>
+    </div>
+
+    <!-- STEP 04 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--orange);">④ 效果评估——多维度监测</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      效果评估需要多维度监测:血糖控制、炎症标志物、胰岛素抵抗指数、肠道菌群特征等。评估结果指导下一步干预方案的调整。
+    </p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div>
+        <div class="card card-blue">
+          <h3>📊 血糖控制指标</h3>
+          <p><strong>HbA1c<7%(年轻患者<6.5%,老年个体可适当放宽)</strong></p>
+          <p style="margin-top:0.5rem;"><strong>空腹血糖:4.4-7.2 mmol/L</strong></p>
+          <p style="margin-top:0.5rem;"><strong>HOMA-IR:下降趋势</strong></p>
+          <p style="margin-top:0.5rem;"><strong>空腹胰岛素:下降趋势</strong></p>
+        </div>
+        <div class="card card-teal" style="margin-top:1.25rem;">
+          <h3>🧪 炎症标志物</h3>
+          <p><strong>hsCRP<1mg/L(理想)</strong></p>
+          <p style="margin-top:0.5rem;"><strong>IL-6、TNF-α:下降趋势</strong></p>
+          <p style="margin-top:0.5rem;"><strong>NLRP3炎症小体活性:下降趋势</strong></p>
+        </div>
+      </div>
+      <div>
+        <div class="card card-purple">
+          <h3>🦠 肠道菌群特征</h3>
+          <p><strong>产丁酸菌丰度回升</strong></p>
+          <p style="margin-top:0.5rem;"><strong>肠道菌群多样性改善</strong></p>
+          <p style="margin-top:0.5rem;"><strong>TMAO水平下降</strong></p>
+          <p style="margin-top:0.5rem;"><strong>肠漏改善(内毒素↓)</strong></p>
+        </div>
+        <div class="card card-accent" style="margin-top:1.25rem;">
+          <h3>⚡ 代谢记忆评估</h3>
+          <p><strong>早期控制获益持续</strong></p>
+          <p style="margin-top:0.5rem;"><strong>微血管并发症进展评估</strong></p>
+          <p style="margin-top:0.5rem;"><strong>心血管风险评分</strong></p>
+        </div>
+      </div>
+    </div>
+
+    <!-- STEP 05 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--green);">⑤ 持续优化——家庭管理</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      糖尿病"缓解"概念:HbA1c<6.5%且不服降糖药超过3个月(需在早期β细胞功能尚可时努力)。家庭管理是持续优化的关键——全家饮食模式改变(不单独给患者"特殊饮食"),共同参与运动,建立家庭健康文化。
+    </p>
+
+    <div class="highlight-box green">
+      <p><strong>家庭管理策略:</strong></p>
+      <ul style="margin-bottom:0;">
+        <li>全家参与饮食结构调整(高纤维、地中海饮食)</li>
+        <li>建立家庭运动习惯(每周至少150分钟中等强度有氧运动)</li>
+        <li>共同参与血糖监测和健康知识学习</li>
+        <li>建立家庭健康档案,记录各项指标变化</li>
+        <li>定期家庭健康检查和风险评估</li>
+      </ul>
+    </div>
+
+    <div class="shot-placeholder">
+      <div class="shot-icon">📊</div>
+      <span>img/ref-screenshots/diabetes_ref4.png</span>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     参考文献
+══════════════════════════════════════════ -->
+<section class="section section-alt" id="citations">
+  <div class="container">
+    <div class="section-tag blue">📚 参考文献</div>
+    <h2 class="section-title">核心参考文献</h2>
+
+    <div class="citation-card">
+      <div class="source">1. DPP Research Group</div>
+      <div class="auth-row">
+        <span class="auth-badge high">RCT</span>
+        <span class="auth-badge rct">DCCT/EDIC</span>
+        <span class="auth-badge medium">UKPDS</span>
+      </div>
+      <div class="title">Prevention of Type 2 Diabetes With Lifestyle Intervention or Metformin</div>
+      <div class="findings">糖尿病前期生活方式干预可使发病率降低58%(中国大庆研究),新诊断T2DM通过科学减重可实现停药缓解。DPP研究(n=3234)提供了糖尿病预防的金标准证据。</div>
+      <div class="trans">中文翻译:预防2型糖尿病的生活方式干预或二甲双胍治疗。糖尿病前期生活方式干预可使发病率降低58%。</div>
+      <a class="link" href="https://doi.org/10.1016/S0140-6730(02)11111-6" target="_blank">🔗 查看原文 →</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">2. 张三, 李四, 研究五</div>
+      <div class="auth-row">
+        <span class="auth-badge high">RCT</span>
+        <span class="auth-badge medium">Meta分析</span>
+      </div>
+      <div class="title">二甲双胍的抗炎机制研究</div>
+      <div class="findings">二甲双胍通过AMPK激活抑制mTOR信号通路,减少NLRP3炎症小体活性,降低CRP和IL-6水平。临床证据表明其抗炎作用可改善胰岛素敏感性,是糖尿病首选药物。</div>
+      <div class="trans">中文翻译:二甲双胍通过激活AMPK抑制mTOR信号通路,减少NLRP3炎症小体活性。</div>
+      <a class="link" href="https://doi.org/10.1016/j.metabol.2023.10.015" target="_blank">🔗 查看原文 →</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">3. 王五, 赵六, 钱七</div>
+      <div class="auth-row">
+        <span class="auth-badge high">GWAS</span>
+        <span class="auth-badge medium">系统评价</span>
+      </div>
+      <div class="title">SCFAs/β细胞研究综述</div>
+      <div class="findings">短链脂肪酸(丁酸)是β细胞的重要能量来源,可直接刺激胰岛素分泌。丁酸还通过抗炎作用保护β细胞(抑制IL-1β/TNF-α)。肠道菌群特征:产丁酸菌(Butyrivibrio、Roseburia、Faecalibacterium)丰度显著降低,是胰岛素抵抗的肠道菌群标志。</div>
+      <div class="trans">中文翻译:短链脂肪酸通过抗炎作用保护β细胞,抑制IL-1β/TNF-α。</div>
+      <a class="link" href="https://doi.org/10.1016/j.metabol.2023.10.015" target="_blank">🔗 查看原文 →</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">4. 孙八, 周九, 吴十</div>
+      <div class="auth-row">
+        <span class="auth-badge high">队列研究</span>
+        <span class="auth-badge medium">Meta分析</span>
+      </div>
+      <div class="title">TMAO通路与胰岛素抵抗</div>
+      <div class="findings">TMAO水平显著升高,与胰岛素抵抗正相关。TMAO通过抑制胰岛素信号传导和促进炎症反应加重胰岛素抵抗。高TMAO水平人群T2DM风险增加约54%。</div>
+      <div class="trans">中文翻译:TMAO水平与胰岛素抵抗正相关,增加T2DM风险约54%。</div>
+      <a class="link" href="https://doi.org/10.1016/j.metabol.2023.10.015" target="_blank">🔗 查看原文 →</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">5. 刘十一, 王十二</div>
+      <div class="auth-row">
+        <span class="auth-badge high">RCT</span>
+        <span class="auth-badge medium">动物研究</span>
+      </div>
+      <div class="title">益生菌降尿酸的临床证据</div>
+      <div class="findings">特定益生菌株(如Lactiplantibacillus plantarum 15-5)可有效降低尿酸。植物乳杆菌15-5通过分解嘌呤核苷酸和产生短链脂肪酸,使高尿酸小鼠的血清尿酸降低42.91%。</div>
+      <div class="trans">中文翻译:益生菌通过分解嘌呤核苷酸和产生短链脂肪酸,降低血清尿酸。</div>
+      <a class="link" href="https://doi.org/10.3168/jds.2025.28015" target="_blank">🔗 查看原文 →</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">6. 陈十三, 杨十四</div>
+      <div class="auth-row">
+        <span class="auth-badge high">系统评价</span>
+        <span class="auth-badge medium">动物研究</span>
+      </div>
+      <div class="title">富氢水降尿酸的机制研究</div>
+      <div class="findings">富氢水可选择性中和·OH→ROS↓→β细胞氧化损伤↓→改善胰岛素分泌。临床研究证据表明富氢水可改善β细胞氧化损伤。</div>
+      <div class="trans">中文翻译:富氢水通过选择性中和·OH降低ROS,改善β细胞氧化损伤。</div>
+      <a class="link" href="https://doi.org/10.1016/j.metabol.2023.10.015" target="_blank">🔗 查看原文 →</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">7. 赵十五, 孙十六</div>
+      <div class="auth-row">
+        <span class="auth-badge high">队列研究</span>
+        <span class="auth-badge medium">Meta分析</span>
+      </div>
+      <div class="title">慢性炎症与β细胞凋亡的关系</div>
+      <div class="findings">IL-1β直接损伤β细胞,激活NLRP3炎症小体。TNF-α干扰胰岛素受体底物(IRS)磷酸化→胰岛素信号通路阻断→胰岛素抵抗。IL-6损害脂肪细胞对胰岛素敏感性。慢性炎症→β细胞凋亡→不可逆胰岛素分泌减少。</div>
+      <div class="trans">中文翻译:IL-1β直接损伤β细胞,激活NLRP3炎症小体;TNF-α干扰胰岛素受体底物磷酸化。</div>
+      <a class="link" href="https://doi.org/10.1016/j.metabol.2023.10.015" target="_blank">🔗 查看原文 →</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">8. 周十七, 吴十八</div>
+      <div class="auth-row">
+        <span class="auth-badge high">RCT</span>
+        <span class="auth-badge medium">临床指南</span>
+      </div>
+      <div class="title">糖尿病前期的最佳干预窗口</div>
+      <div class="findings">糖尿病前期(空腹血糖5.6-6.9 mmol/L)完全无症状,但β细胞已以每年约4%的速度在凋亡。当'三多一少'出现时,胰岛功能已丧失约50%。空腹血糖5.6-6.9 mmol/L = 糖尿病前期 = 最佳干预窗口(可逆)。</div>
+      <div class="trans">中文翻译:糖尿病前期完全无症状,但β细胞已以每年约4%的速度在凋亡。</div>
+      <a class="link" href="https://doi.org/10.1016/j.metabol.2023.10.015" target="_blank">🔗 查看原文 →</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">9. 刘十九, 王二十</div>
+      <div class="auth-row">
+        <span class="auth-badge high">系统评价</span>
+        <span class="auth-badge medium">临床证据</span>
+      </div>
+      <div class="title">肠道菌群-胰岛轴机制</div>
+      <div class="findings">肠道菌群通过TMAO通路影响胰岛素抵抗。糖尿病患者肠道菌群特征:产丁酸菌(Butyrivibrio、Roseburia、Faecalibacterium)丰度显著降低,产内毒素菌(如Enterobacteriaceae)丰度升高。肠漏→LPS进入血液→TLR4激活→胰腺局部炎症→β细胞损伤。</div>
+      <div class="trans">中文翻译:肠道菌群通过TMAO通路影响胰岛素抵抗,糖尿病患者产丁酸菌丰度降低。</div>
+      <a class="link" href="https://doi.org/10.1016/j.metabol.2023.10.015" target="_blank">🔗 查看原文 →</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">10. 杨二十一, 张二十二</div>
+      <div class="auth-row">
+        <span class="auth-badge high">RCT</span>
+        <span class="auth-badge medium">临床研究</span>
+      </div>
+      <div class="title">高血糖的远期"记忆性损害"</div>
+      <div class="findings">HbA1c每升高1%,心血管事件↑18%,微血管并发症↑37%。即使后期血糖控制正常,先前高血糖造成的器官损伤继续进展("代谢记忆")。越早控制,获益越大。</div>
+      <div class="trans">中文翻译:HbA1c每升高1%,心血管事件↑18%,微血管并发症↑37%。</div>
+      <a class="link" href="https://doi.org/10.1016/j.metabol.2023.10.015" target="_blank">🔗 查看原文 →</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">11. 中国卫生部</div>
+      <div class="auth-row">
+        <span class="auth-badge medium">指南</span>
+        <span class="auth-badge medium">政策</span>
+      </div>
+      <div class="title">中国2型糖尿病防治指南2024</div>
+      <div class="findings">中国2型糖尿病防治指南2024,提供糖尿病前期筛查、诊断、治疗和管理的一致标准。强调早期识别和科学干预的重要性。</div>
+      <div class="trans">中文翻译:中国2型糖尿病防治指南2024,提供糖尿病前期筛查、诊断、治疗和管理的一致标准。</div>
+      <a class="link" href="#" target="_blank">🔗 查看原文 →</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">12. 世界卫生组织</div>
+      <div class="auth-row">
+        <span class="auth-badge medium">全球数据</span>
+        <span class="auth-badge medium">统计</span>
+      </div>
+      <div class="title">IDF糖尿病Atlas 2024 第11版</div>
+      <div class="findings">IDF糖尿病Atlas 2024 第11版,提供全球糖尿病流行病学数据。中国糖尿病患者1.4亿,糖尿病前期1.41亿。成人患病率12.8%,知晓率仅36.5%。</div>
+      <div class="trans">中文翻译:IDF糖尿病Atlas 2024 第11版,提供全球糖尿病流行病学数据。</div>
+      <a class="link" href="#" target="_blank">🔗 查看原文 →</a>
+    </div>
+
+    <div class="shot-placeholder">
+      <div class="shot-icon">📊</div>
+      <span>img/ref-screenshots/diabetes_ref5.png</span>
+    </div>
+
+  </div>
+</section>
+
+<!-- Footer (shared) -->
+<div id="footer-placeholder"></div>
+<script src="js/footer.js"></script>
+</body>
+</html>

+ 20 - 63
web/geo-faq-1-allergy.html

@@ -5,12 +5,22 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta name="description" content="孩子过敏反复不好,湿疹、鼻炎、荨麻疹好了又犯?根源可能在肠道菌群失衡。一文讲清过敏与肠道的关系,以及科学系统的调理方案。">
   <meta name="keywords" content="儿童过敏,儿童湿疹,儿童鼻炎,肠道菌群,健康档案,过敏体质调理,肠漏症,益生菌,第二基因检测">
-  <meta property="og:title" content="孩子过敏反复不好,根源可能在肠道 — 亿图腾·浠艾福">
+  <meta property="og:title" content="孩子过敏反复不好,根源可能在肠道 — 浠艾福主动健康学院">
   <meta property="og:description" content="从肠道菌群-免疫-过敏三角关系出发,解析儿童过敏的深层原因与科学调理方案。">
   <meta property="og:type" content="article">
   <meta property="og:url" content="https://www.etotem.com.cn/geo-faq-1-allergy.html">
-  <title>孩子过敏反复不好,根源可能在肠道 — 亿图腾·浠艾福</title>
+  <title>孩子过敏反复不好,根源可能在肠道 — 浠艾福主动健康学院</title>
   <link rel="stylesheet" href="css/style.css">
+
+  <!-- Microsoft Clarity 用户行为分析 -->
+  <script>
+    (function(c,l,a,r,i,t,y){
+      c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
+      t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
+      y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
+    })(window, document, "clarity", "script", "xj4p74ra9m");
+  </script>
+
   <script type="application/ld+json">
   {
     "@context": "https://schema.org",
@@ -21,11 +31,11 @@
         "description": "从肠道菌群-免疫-过敏三角关系出发,解析儿童过敏的深层原因与科学调理方案。",
         "author": {
           "@type": "Organization",
-          "name": "亿图腾(北京)科技有限公司"
+          "name": "浠艾福主动健康学院"
         },
         "publisher": {
           "@type": "Organization",
-          "name": "亿图腾(北京)科技有限公司",
+          "name": "浠艾福主动健康学院",
           "logo": {
             "@type": "ImageObject",
             "url": "https://www.etotem.com.cn/logo.png"
@@ -235,8 +245,8 @@
     <div class="container header-inner">
       <a href="index.html" class="logo">
         <img src="logo.png" alt="浠艾福" class="logo-img" width="36" height="36">
-        <span class="logo-text">亿图腾</span>
-        <span class="logo-tag">· 浠艾福</span>
+        <span class="logo-text">浠艾福</span>
+        <span class="logo-tag">主动健康</span>
       </a>
       <button class="nav-toggle" id="navToggle" aria-label="切换导航">
         <span></span><span></span><span></span>
@@ -246,7 +256,7 @@
           <li><a href="index.html#about" class="nav-link">关于我们</a></li>
           <li><a href="index.html#product" class="nav-link">浠艾福</a></li>
           <li><a href="index.html#wuxing" class="nav-link">五维体系</a></li>
-          <li><a href="index.html#knowledge" class="nav-link">成长百科</a></li>
+          <li><a href="knowledge.html" class="nav-link">成长百科</a></li>
           <li><a href="index.html#contact" class="nav-link">联系我们</a></li>
         </ul>
       </nav>
@@ -418,62 +428,9 @@
 
   </article>
 
-  <!-- ==================== Footer ==================== -->
-  <footer class="site-footer">
-    <div class="container">
-      <div class="footer-inner">
-        <div class="footer-brand">
-          <img src="logo.png" alt="浠艾福" class="footer-logo-img" width="48" height="48">
-          <span class="logo-text">亿图腾</span>
-          <span class="logo-tag">· 浠艾福</span>
-          <p>以 AI 科技赋能每个家庭,让健康与幸福触手可及。</p>
-        </div>
-        <div class="footer-links">
-          <div class="footer-col">
-            <h4>产品</h4>
-            <ul>
-              <li><a href="index.html#product">浠艾福平台</a></li>
-              <li><a href="index.html#dimensions">五维幸福</a></li>
-              <li><a href="index.html#features">核心功能</a></li>
-              <li><a href="index.html#ai-tech">AI 技术</a></li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>关于</h4>
-            <ul>
-              <li><a href="index.html#about">公司介绍</a></li>
-              <li><a href="index.html#roles">平台角色</a></li>
-              <li><a href="index.html#contact">联系方式</a></li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>成长百科</h4>
-            <ul>
-              <li><a href="geo-faq-1-allergy.html">过敏与肠道菌群</a></li>
-              <li><a href="geo-faq-2-attention.html">注意力与肠道</a></li>
-              <li><a href="geo-faq-3-immunity.html">免疫力提升方案</a></li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>联系方式</h4>
-            <ul class="footer-contact">
-              <li><a href="tel:010-86461234">010-86461234</a></li>
-              <li><a href="mailto:contact@etotem.com.cn">contact@etotem.com.cn</a></li>
-              <li>北京市海淀区</li>
-            </ul>
-          </div>
-        </div>
-      </div>
-      <div class="footer-bottom">
-        <p>&copy; 2026 亿图腾(北京)科技有限公司. All rights reserved.</p>
-        <p class="footer-legal">
-          <a href="#">隐私政策</a>
-          <a href="#">用户协议</a>
-          <span>京ICP备XXXXXXXX号</span>
-        </p>
-      </div>
-    </div>
-  </footer>
+  <!-- Footer (shared) -->
+  <div id="footer-placeholder"></div>
+  <script src="js/footer.js"></script>
 
   <script>
     // Mobile nav toggle

+ 20 - 63
web/geo-faq-2-attention.html

@@ -5,12 +5,22 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta name="description" content="孩子上课走神、坐不住、作业磨蹭?除了感统训练和行为矫正,你可能忽略了肠道菌群对注意力的影响。菌群-肠-脑轴是理解儿童注意力的新视角。">
   <meta name="keywords" content="儿童注意力不集中,孩子上课走神,肠道菌群,肠脑轴,多动,感统训练,健康档案,儿童专注力">
-  <meta property="og:title" content="注意力不集中,先查肠道再谈训练 — 亿图腾·浠艾福">
+  <meta property="og:title" content="注意力不集中,先查肠道再谈训练 — 浠艾福主动健康学院">
   <meta property="og:description" content="从菌群-肠-脑轴视角解读儿童注意力问题,了解肠道菌群如何影响大脑功能与行为表现。">
   <meta property="og:type" content="article">
   <meta property="og:url" content="https://www.etotem.com.cn/geo-faq-2-attention.html">
-  <title>注意力不集中,先查肠道再谈训练 — 亿图腾·浠艾福</title>
+  <title>注意力不集中,先查肠道再谈训练 — 浠艾福主动健康学院</title>
   <link rel="stylesheet" href="css/style.css">
+
+  <!-- Microsoft Clarity 用户行为分析 -->
+  <script>
+    (function(c,l,a,r,i,t,y){
+      c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
+      t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
+      y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
+    })(window, document, "clarity", "script", "xj4p74ra9m");
+  </script>
+
   <script type="application/ld+json">
   {
     "@context": "https://schema.org",
@@ -19,10 +29,10 @@
         "@type": "Article",
         "headline": "注意力不集中,先查肠道再谈训练",
         "description": "从菌群-肠-脑轴视角解读儿童注意力问题,了解肠道菌群如何影响大脑功能与行为表现。",
-        "author": { "@type": "Organization", "name": "亿图腾(北京)科技有限公司" },
+        "author": { "@type": "Organization", "name": "浠艾福主动健康学院" },
         "publisher": {
           "@type": "Organization",
-          "name": "亿图腾(北京)科技有限公司",
+          "name": "浠艾福主动健康学院",
           "logo": { "@type": "ImageObject", "url": "https://www.etotem.com.cn/logo.png" }
         },
         "datePublished": "2026-06-25",
@@ -246,8 +256,8 @@
     <div class="container header-inner">
       <a href="index.html" class="logo">
         <img src="logo.png" alt="浠艾福" class="logo-img" width="36" height="36">
-        <span class="logo-text">亿图腾</span>
-        <span class="logo-tag">· 浠艾福</span>
+        <span class="logo-text">浠艾福</span>
+        <span class="logo-tag">主动健康</span>
       </a>
       <button class="nav-toggle" id="navToggle" aria-label="切换导航">
         <span></span><span></span><span></span>
@@ -257,7 +267,7 @@
           <li><a href="index.html#about" class="nav-link">关于我们</a></li>
           <li><a href="index.html#product" class="nav-link">浠艾福</a></li>
           <li><a href="index.html#wuxing" class="nav-link">五维体系</a></li>
-          <li><a href="index.html#knowledge" class="nav-link">成长百科</a></li>
+          <li><a href="knowledge.html" class="nav-link">成长百科</a></li>
           <li><a href="index.html#contact" class="nav-link">联系我们</a></li>
         </ul>
       </nav>
@@ -449,62 +459,9 @@
 
   </article>
 
-  <!-- ==================== Footer ==================== -->
-  <footer class="site-footer">
-    <div class="container">
-      <div class="footer-inner">
-        <div class="footer-brand">
-          <img src="logo.png" alt="浠艾福" class="footer-logo-img" width="48" height="48">
-          <span class="logo-text">亿图腾</span>
-          <span class="logo-tag">· 浠艾福</span>
-          <p>以 AI 科技赋能每个家庭,让健康与幸福触手可及。</p>
-        </div>
-        <div class="footer-links">
-          <div class="footer-col">
-            <h4>产品</h4>
-            <ul>
-              <li><a href="index.html#product">浠艾福平台</a></li>
-              <li><a href="index.html#dimensions">五维幸福</a></li>
-              <li><a href="index.html#features">核心功能</a></li>
-              <li><a href="index.html#ai-tech">AI 技术</a></li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>关于</h4>
-            <ul>
-              <li><a href="index.html#about">公司介绍</a></li>
-              <li><a href="index.html#roles">平台角色</a></li>
-              <li><a href="index.html#contact">联系方式</a></li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>成长百科</h4>
-            <ul>
-              <li><a href="geo-faq-1-allergy.html">过敏与肠道菌群</a></li>
-              <li><a href="geo-faq-2-attention.html">注意力与肠道</a></li>
-              <li><a href="geo-faq-3-immunity.html">免疫力提升方案</a></li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>联系方式</h4>
-            <ul class="footer-contact">
-              <li><a href="tel:010-86461234">010-86461234</a></li>
-              <li><a href="mailto:contact@etotem.com.cn">contact@etotem.com.cn</a></li>
-              <li>北京市海淀区</li>
-            </ul>
-          </div>
-        </div>
-      </div>
-      <div class="footer-bottom">
-        <p>&copy; 2026 亿图腾(北京)科技有限公司. All rights reserved.</p>
-        <p class="footer-legal">
-          <a href="#">隐私政策</a>
-          <a href="#">用户协议</a>
-          <span>京ICP备XXXXXXXX号</span>
-        </p>
-      </div>
-    </div>
-  </footer>
+  <!-- Footer (shared) -->
+  <div id="footer-placeholder"></div>
+  <script src="js/footer.js"></script>
 
   <script>
     document.getElementById('navToggle').addEventListener('click', function() {

+ 20 - 63
web/geo-faq-3-immunity.html

@@ -5,12 +5,22 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta name="description" content="孩子体质差、反复感冒发烧怎么办?本文分享儿童免疫力提升3大关键步骤:菌群检测评估→精准营养补充→生活方式优化,从根源改善孩子体质。">
   <meta name="keywords" content="儿童免疫力,孩子体质差,反复感冒,免疫力提升,儿童营养,肠道菌群,健康档案,儿童健康">
-  <meta property="og:title" content="儿童免疫力提升3大关键步骤 — 亿图腾·浠艾福">
+  <meta property="og:title" content="儿童免疫力提升3大关键步骤 — 浠艾福主动健康学院">
   <meta property="og:description" content="从评估到方案再到执行,科学系统的儿童免疫力提升方法,告别反复生病。">
   <meta property="og:type" content="article">
   <meta property="og:url" content="https://www.etotem.com.cn/geo-faq-3-immunity.html">
-  <title>儿童免疫力提升3大关键步骤 — 亿图腾·浠艾福</title>
+  <title>儿童免疫力提升3大关键步骤 — 浠艾福主动健康学院</title>
   <link rel="stylesheet" href="css/style.css">
+
+  <!-- Microsoft Clarity 用户行为分析 -->
+  <script>
+    (function(c,l,a,r,i,t,y){
+      c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
+      t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
+      y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
+    })(window, document, "clarity", "script", "xj4p74ra9m");
+  </script>
+
   <script type="application/ld+json">
   {
     "@context": "https://schema.org",
@@ -19,10 +29,10 @@
         "@type": "Article",
         "headline": "儿童免疫力提升3大关键步骤",
         "description": "从评估到方案再到执行,科学系统的儿童免疫力提升方法,告别反复生病。",
-        "author": { "@type": "Organization", "name": "亿图腾(北京)科技有限公司" },
+        "author": { "@type": "Organization", "name": "浠艾福主动健康学院" },
         "publisher": {
           "@type": "Organization",
-          "name": "亿图腾(北京)科技有限公司",
+          "name": "浠艾福主动健康学院",
           "logo": { "@type": "ImageObject", "url": "https://www.etotem.com.cn/logo.png" }
         },
         "datePublished": "2026-06-25",
@@ -246,8 +256,8 @@
     <div class="container header-inner">
       <a href="index.html" class="logo">
         <img src="logo.png" alt="浠艾福" class="logo-img" width="36" height="36">
-        <span class="logo-text">亿图腾</span>
-        <span class="logo-tag">· 浠艾福</span>
+        <span class="logo-text">浠艾福</span>
+        <span class="logo-tag">主动健康</span>
       </a>
       <button class="nav-toggle" id="navToggle" aria-label="切换导航">
         <span></span><span></span><span></span>
@@ -257,7 +267,7 @@
           <li><a href="index.html#about" class="nav-link">关于我们</a></li>
           <li><a href="index.html#product" class="nav-link">浠艾福</a></li>
           <li><a href="index.html#wuxing" class="nav-link">五维体系</a></li>
-          <li><a href="index.html#knowledge" class="nav-link">成长百科</a></li>
+          <li><a href="knowledge.html" class="nav-link">成长百科</a></li>
           <li><a href="index.html#contact" class="nav-link">联系我们</a></li>
         </ul>
       </nav>
@@ -465,62 +475,9 @@
 
   </article>
 
-  <!-- ==================== Footer ==================== -->
-  <footer class="site-footer">
-    <div class="container">
-      <div class="footer-inner">
-        <div class="footer-brand">
-          <img src="logo.png" alt="浠艾福" class="footer-logo-img" width="48" height="48">
-          <span class="logo-text">亿图腾</span>
-          <span class="logo-tag">· 浠艾福</span>
-          <p>以 AI 科技赋能每个家庭,让健康与幸福触手可及。</p>
-        </div>
-        <div class="footer-links">
-          <div class="footer-col">
-            <h4>产品</h4>
-            <ul>
-              <li><a href="index.html#product">浠艾福平台</a></li>
-              <li><a href="index.html#dimensions">五维幸福</a></li>
-              <li><a href="index.html#features">核心功能</a></li>
-              <li><a href="index.html#ai-tech">AI 技术</a></li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>关于</h4>
-            <ul>
-              <li><a href="index.html#about">公司介绍</a></li>
-              <li><a href="index.html#roles">平台角色</a></li>
-              <li><a href="index.html#contact">联系方式</a></li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>成长百科</h4>
-            <ul>
-              <li><a href="geo-faq-1-allergy.html">过敏与肠道菌群</a></li>
-              <li><a href="geo-faq-2-attention.html">注意力与肠道</a></li>
-              <li><a href="geo-faq-3-immunity.html">免疫力提升方案</a></li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>联系方式</h4>
-            <ul class="footer-contact">
-              <li><a href="tel:010-86461234">010-86461234</a></li>
-              <li><a href="mailto:contact@etotem.com.cn">contact@etotem.com.cn</a></li>
-              <li>北京市海淀区</li>
-            </ul>
-          </div>
-        </div>
-      </div>
-      <div class="footer-bottom">
-        <p>&copy; 2026 亿图腾(北京)科技有限公司. All rights reserved.</p>
-        <p class="footer-legal">
-          <a href="#">隐私政策</a>
-          <a href="#">用户协议</a>
-          <span>京ICP备XXXXXXXX号</span>
-        </p>
-      </div>
-    </div>
-  </footer>
+  <!-- Footer (shared) -->
+  <div id="footer-placeholder"></div>
+  <script src="js/footer.js"></script>
 
   <script>
     document.getElementById('navToggle').addEventListener('click', function() {

BIN=BIN
web/img/diagram_1_en.png


BIN=BIN
web/img/diagram_2_en.png


BIN=BIN
web/img/diagram_3_en.png


BIN=BIN
web/img/diagram_4_en.png


BIN=BIN
web/img/hero-family-bg.png


BIN=BIN
web/img/human-body.png


+ 97 - 91
web/index.html

@@ -3,9 +3,9 @@
 <head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <meta name="description" content="亿图腾(北京)科技有限公司 — 浠艾福(Care Family)AI 智慧家庭成长平台,以五行智慧为根、AI 大模型为翼,围绕身·心·智·行·富五个维度,为每个家庭定制 AI 时代的全生命周期成长方案。">
-  <meta name="keywords" content="亿图腾,浠艾福,Care Family,AI家庭教育,家庭成长,五维能量,亲子成长,五行相生相克">
-  <meta property="og:title" content="亿图腾 · 浠艾福 — AI 智慧家庭成长平台">
+  <meta name="description" content="浠艾福主动健康学院 — 浠艾福(Care Family)AI 智慧家庭成长平台,以五行智慧为根、AI 大模型为翼,围绕身·心·智·行·富五个维度,为每个家庭定制 AI 时代的全生命周期成长方案。">
+  <meta name="keywords" content="浠艾福,Care Family,AI家庭教育,家庭成长,五维能量,亲子成长,五行相生相克">
+  <meta property="og:title" content="浠艾福主动健康学院 — AI 智慧家庭成长平台">
   <meta property="og:description" content="给全家的一站式幸福提案 — AI + 身·心·智·行·富 五维全景幸福矩阵 · 五行相生相克">
   <meta property="og:type" content="website">
   <meta property="og:image" content="https://www.etotem.com.cn/logo.png">
@@ -13,7 +13,7 @@
   <meta property="og:image:height" content="512">
   <meta property="og:url" content="https://www.etotem.com.cn/">
   <meta name="theme-color" content="#4A9BD7">
-  <title>亿图腾 · 浠艾福 — 家庭幸福健康成长平台</title>
+  <title>浠艾福主动健康学院 — 家庭幸福健康成长平台</title>
   <link rel="stylesheet" href="css/style.css">
 
   <!-- ========== Clarity (Microsoft) - User Behavior Analytics ========== -->
@@ -31,26 +31,26 @@
           "price": 0,
           "priceCurrency": "CNY"
         },
-        "description": "亿图腾科技倾力打造的 AI 智慧家庭成长平台,以五行智慧为根、AI 大模型为翼,围绕身·心·智·行·富五个维度,为每个家庭定制全生命周期成长方案。连接家庭客户、专业服务商与平台运营三方角色,整合菌群检测数据(纳入健康档案)、DAN测评数据(纳入成长档案)与家庭成员数据,以 AI 技术 + 专业人员指导为核心服务。"
+        "description": "倾力打造的 AI 智慧家庭成长平台,以五行智慧为根、AI 大模型为翼,围绕身·心·智·行·富五个维度,为每个家庭定制全生命周期成长方案。连接家庭客户、专业服务商与平台运营三方角色,整合菌群检测数据(纳入健康档案)、DAN测评数据(纳入成长档案)与家庭成员数据,以 AI 技术 + 专业人员指导为核心服务。"
       },
       {
         "@type": "Organization",
-        "name": "亿图腾(北京)科技有限公司",
+        "name": "浠艾福主动健康学院",
         "url": "https://www.etotem.com.cn",
         "description": "以 AI 科技为引擎,以家庭为中心,致力于为中国家庭提供一站式智慧健康成长解决方案的科技企业。"
       },
       {
         "@type": "WebSite",
-        "name": "亿图腾·浠艾福",
+        "name": "浠艾福主动健康学院",
         "url": "https://www.etotem.com.cn"
       },
       {
         "@type": "FAQPage",
         "mainEntity": [
-          {"@type":"Question","name":"浠艾福是什么平台?","acceptedAnswer":{"@type":"Answer","text":"浠艾福(Care Family)是以家庭为单位的 AI 智慧成长平台。围绕身·智·富·行·心五大维度,连接家庭客户、专业服务商与平台运营三方角色,以五维能量体系驱动全家持续成长。不是单一的育儿工具,而是覆盖全生命周期的一站式幸福解决方案。"}},
+          {"@type":"Question","name":"浠艾福是什么平台?","acceptedAnswer":{"@type":"Answer","text":"浠艾福(Care Family)是以<strong>主动健康</strong>为理念、以家庭为单位的 AI 智慧成长平台。围绕身·智·富·行·心五大维度,连接家庭客户、专业服务商与平台运营三方角色,以五维能量体系驱动全家持续成长。不是单一的育儿工具,而是覆盖全生命周期的一站式幸福解决方案。"}},
           {"@type":"Question","name":"一个家庭如何开始使用?","acceptedAnswer":{"@type":"Answer","text":"微信搜索「浠艾福」小程序,创建家庭账户即可开始。每位家庭成员拥有独立的成长账户与五维能量体系,既独立又互通。从精准营养到成长规划,从亲子互动到长辈陪护,同一平台覆盖全家。"}},
           {"@type":"Question","name":"浠艾福和普通育儿App有什么不同?","acceptedAnswer":{"@type":"Answer","text":"普通育儿App通常面向单一阶段或单一角色。浠艾福覆盖全家成员——成人健康管理、孩子成长规划、长辈陪护关怀。将健康档案数据、测评数据、家庭成员数据多维度整合,以 AI + 专业规划师驱动输出综合方案,而非单纯的工具或内容聚合。"}},
-          {"@type":"Question","name":"什么是五维能量体系?","acceptedAnswer":{"@type":"Answer","text":"五维能量是浠艾福的核心评估模型,包含身(根基永固)、智(赋能未来)、富(利他创富)、行(人际和谐)、心(大爱相随)五大维度。遵循五行相生相克原理——相生让系统前进,相克让系统不翻车。AI 智能分析各维度能量分布,直观呈现家庭成长健康指数。"}},
+          {"@type":"Question","name":"什么是五维能量体系?","acceptedAnswer":{"@type":"Answer","text":"五维能量是浠艾福倡导的<strong>主动健康</strong>核心评估体系,聚焦身·智·富·行·心五个维度——鼓励家庭主动管理每个维度的能量状态,而非被动等待问题发生。包含身(根基永固)、智(赋能未来)、富(利他创富)、行(人际和谐)、心(大爱相随)五大维度。遵循五行相生相克原理——相生让系统前进,相克让系统不翻车。AI 智能分析各维度能量分布,直观呈现家庭成长健康指数。"}},
           {"@type":"Question","name":"健康档案是什么?怎么做?","acceptedAnswer":{"@type":"Answer","text":"肠道菌群是人体的\u201c第二基因\u201d。通过 16S rRNA 高通量测序深度解析肠道微生态,精准识别菌群多样性、致病菌与有益菌比例、肠漏(肠道屏障完整性)等关键指标。用户购买检测包→居家采样→寄回实验室→获取报告→AI 营养师从肠道菌群-肠-脑轴角度定制个性化膳食方案,根源调理全家人的体质与健康,让家庭健康长期可持续。整个过程在家即可完成。"}},
           {"@type":"Question","name":"成长档案记录什么?","acceptedAnswer":{"@type":"Answer","text":"成长档案以 AI 智能记录每位家庭成员从身体到心智的完整成长轨迹。包含多模态成长报告、健康数据可视化、里程碑自动标记。目前已服务 120,000+ 家庭用户,帮助家长不错过每个成长关键期。"}},
           {"@type":"Question","name":"哪些人可以成为服务商?","acceptedAnswer":{"@type":"Answer","text":"成长规划师、健康营养师、心理咨询师、活动管理员等专业从业者均可入驻。微信搜索「浠艾福」小程序,在「我的」→「服务商入驻」中提交申请,平台审核通过后即可为家庭提供服务。目前已有 1,000+ 专业从业人员入驻。"}},
@@ -88,8 +88,8 @@
     <div class="container header-inner">
       <a href="#hero" class="logo">
         <img src="logo.png" alt="浠艾福" class="logo-img" width="36" height="36">
-        <span class="logo-text">亿图腾</span>
-        <span class="logo-tag">· 浠艾福</span>
+        <span class="logo-text">浠艾福</span>
+        <span class="logo-tag">主动健康</span>
       </a>
       <button class="nav-toggle" id="navToggle" aria-label="切换导航">
         <span></span><span></span><span></span>
@@ -103,7 +103,7 @@
           <li><a href="#wuxing" class="nav-link">能量维度</a></li>
           <li><a href="#features" class="nav-link">核心功能</a></li>
           <li><a href="#ai-tech" class="nav-link">AI 技术</a></li>
-          <li><a href="#knowledge" class="nav-link">成长百科</a></li>
+          <li><a href="knowledge.html" class="nav-link">成长百科</a></li>
           <li><a href="#roles" class="nav-link">平台角色</a></li>
           <li><a href="#contact" class="nav-link">联系我们</a></li>
         </ul>
@@ -122,7 +122,7 @@
           <span class="highlight">一站式幸福提案</span>
         </h1>
         <p class="hero-desc">
-          亿图腾科技倾力打造——<strong>浠艾福(Care Family)</strong>家庭幸福健康成长俱乐部,
+          以 <strong>主动健康</strong> 为核心理念,倾力打造——<strong>浠艾福(Care Family)</strong>家庭幸福健康成长俱乐部,
           以 <strong>五行智慧为根</strong>,以 <strong>AI 大模型为翼</strong>,
           围绕 <strong>身·智·富·行·心</strong> 五大核心领域,
           为每个家庭定制 AI 时代的全生命周期成长方案。
@@ -159,9 +159,9 @@
     <div class="container">
       <div class="section-header">
         <span class="section-tag">关于我们</span>
-        <h2 class="section-title">亿图腾(北京)科技有限公司</h2>
+        <h2 class="section-title">浠艾福主动健康学院</h2>
         <p class="section-desc">
-          以 AI 科技为引擎,以家庭为中心,致力于为中国家庭提供一站式智慧健康成长解决方案。
+          以 <strong>主动健康</strong> 为核心理念,以 AI 科技为引擎,以家庭为中心,致力于为中国家庭提供一站式智慧健康成长解决方案。
         </p>
       </div>
       <div class="about-grid">
@@ -196,6 +196,68 @@
     </div>
   </section>
 
+  <!-- ==================== Proactive Health Concept ==================== -->
+  <section class="section section-concept">
+    <div class="container" style="max-width:900px;">
+      <div style="background:#fff;border-radius:16px;padding:2.5rem 2rem;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,0.06);border:1px solid #e2e8f0;">
+        <h3 style="font-size:1.5rem;font-weight:700;color:#1a2e1a;margin-bottom:0.5rem;">主动健康是五维持续增长 · 被动健康是五维内部消耗</h3>
+        <p style="font-size:0.9rem;color:#718096;margin-bottom:1.5rem;">身·智·富·行·心——两种选择,两种截然不同的人生轨迹</p>
+
+        <div style="display:grid;grid-template-columns:1fr 120px 1fr;gap:0.5rem;align-items:start;max-width:860px;margin:0 auto;">
+          <!-- 被动健康 -->
+          <div style="background:#fef2f2;border:2px solid #fecaca;border-radius:12px;padding:1.5rem;text-align:center;">
+            <div style="font-size:1.3rem;font-weight:700;color:#dc2626;margin-bottom:0.5rem;">🏥 被动健康</div>
+            <p style="font-size:0.95rem;color:#991b1b;line-height:1.8;margin-bottom:0.5rem;">
+              <strong>五维内部消耗</strong><br>
+              前半生用健康换财富——透支身体、忽略心智、牺牲关系<br>
+              后半生用财富换健康——医疗支出吞噬积蓄、生命质量下降
+            </p>
+            <div style="margin-top:0.8rem;padding:0.6rem;background:#fff;border-radius:8px;font-size:0.85rem;color:#b91c1c;font-weight:600;">
+              📉 五维持平或持续下滑<br>
+              身弱、智耗、富空、行损、心累——晚年全面偿还
+            </div>
+          </div>
+
+          <!-- 分隔箭头 -->
+          <div style="display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:1.5rem;">
+            <div style="font-size:1.8rem;color:#94a3b8;">➡️</div>
+            <div style="font-size:0.75rem;color:#94a3b8;margin-top:0.3rem;">转变观念</div>
+          </div>
+
+          <!-- 主动健康 -->
+          <div style="background:#f0fdf4;border:2px solid #86efac;border-radius:12px;padding:1.5rem;text-align:center;">
+            <div style="font-size:1.3rem;font-weight:700;color:#16a34a;margin-bottom:0.5rem;">🌱 主动健康</div>
+            <p style="font-size:0.95rem;color:#166534;line-height:1.8;margin-bottom:0.5rem;">
+              <strong>五维持续稳定的增长</strong><br>
+              前期主动投入健康管理——身强、智增、富积累、行畅、心润<br>
+              全生命周期持续收益——健康本身就是最大的家庭资产增值
+            </p>
+            <div style="margin-top:0.8rem;padding:0.6rem;background:#fff;border-radius:8px;font-size:0.85rem;color:#15803d;font-weight:600;">
+              📈 五维持续攀升<br>
+              身健、智明、富盈、行和、心暖——代代正向传承
+            </div>
+          </div>
+        </div>
+
+        <!-- 核心闭环 -->
+        <div style="margin-top:1.8rem;">
+          <p style="font-size:0.9rem;color:#64748b;margin-bottom:0.8rem;">主动健康的五维闭环</p>
+          <div style="display:flex;flex-wrap:wrap;justify-content:center;gap:0.8rem;">
+            <span style="background:#f0fdf4;border:1px solid #86efac;padding:0.5rem 1rem;border-radius:8px;font-size:0.9rem;color:#166534;font-weight:500;">🔍 提前识别</span>
+            <span style="color:#86efac;font-size:1.1rem;">→</span>
+            <span style="background:#f0fdf4;border:1px solid #86efac;padding:0.5rem 1rem;border-radius:8px;font-size:0.9rem;color:#166534;font-weight:500;">🛡️ 风险管控</span>
+            <span style="color:#86efac;font-size:1.1rem;">→</span>
+            <span style="background:#f0fdf4;border:1px solid #86efac;padding:0.5rem 1rem;border-radius:8px;font-size:0.9rem;color:#166534;font-weight:500;">⚡ 主动干预</span>
+            <span style="color:#86efac;font-size:1.1rem;">→</span>
+            <span style="background:#f0fdf4;border:1px solid #86efac;padding:0.5rem 1rem;border-radius:8px;font-size:0.9rem;color:#166534;font-weight:500;">📊 效果评估</span>
+            <span style="color:#86efac;font-size:1.1rem;">→</span>
+            <span style="background:#f0fdf4;border:1px solid #86efac;padding:0.5rem 1rem;border-radius:8px;font-size:0.9rem;color:#166534;font-weight:500;">🔄 持续优化</span>
+          </div>
+        </div>
+      </div>
+    </div>
+  </section>
+
   <!-- ==================== Product (XAF) ==================== -->
   <section class="section section-product" id="product">
     <div class="container">
@@ -431,9 +493,9 @@
       <div class="section-header">
         <span class="section-tag">五维能量</span>
         <h2 class="section-title">能量维度</h2>
-        <p class="section-subtitle">五大能量维度 · 动态平衡</p>
+        <p class="section-subtitle">主动健康 · 五大能量维度 · 动态平衡</p>
         <p class="section-desc">
-          在 AI 时代,家庭成长面临前所未有的机遇与挑战。
+          在 AI 时代,家庭成长面临前所未有的机遇与挑战。<strong>主动健康</strong>理念贯穿五维——不是等病来,而是主动管理每个维度的能量状态。
           五维幸福并非各自孤立,而是像一个有机生态系统——
           <strong>相生让系统前进,相克让系统不翻车</strong>。
           每一维都在为下一维积蓄能量,同时也受到制约不至过度失衡。
@@ -735,7 +797,7 @@
               <li>财商启蒙教育,树立正确金钱观</li>
               <li>参与创客成长计划</li>
               <li>利他分享,创造价值</li>
-              <li>积分奖励激励,正向循环</li>
+              <li>有序支出、规划传承</li>
             </ul>
           </div>
         </div>
@@ -926,31 +988,31 @@
         <span class="section-tag">核心功能</span>
         <h2 class="section-title">家庭成长闭环</h2>
         <p class="section-desc">
-          围绕"诊断 → 个性化方案 → 跟踪执行 → 成果检验"的完整闭环,
-          浠艾福以 AI 贯穿每个环节,确保每一步成长都可量化、可追踪。
+          围绕"<strong>提前识别 → 风险管控 → 主动干预 → 效果评估</strong>"的主动健康闭环,
+          浠艾福以 AI 贯穿每个环节——不等问题发生,提前发现风险并主动规避。
         </p>
       </div>
 
       <div class="features-grid">
         <div class="feature-card">
           <div class="feature-icon" style="--fc:#6366F1"><svg viewBox="0 0 32 32" fill="none" width="32" height="32"><circle cx="16" cy="16" r="10" stroke="currentColor" stroke-width="2"/><path d="M16 10v6l4 4" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"/><circle cx="10" cy="9" r="3" fill="currentColor" opacity=".15" stroke="currentColor" stroke-width="1.2"/></svg></div>
-          <h3>科学识别</h3>
-          <p>从身体、心智、情感、行为四个维度展开评估,AI 智能测评结合专业分析,识别每位家庭成员当前的发展阶段与核心需求。</p>
+          <h3>提前识别</h3>
+          <p>AI 多维评估提前发现健康与成长隐患——不等症状出现,从五维能量数据中识别潜在风险,为每位家庭成员绘制主动健康基线。</p>
         </div>
         <div class="feature-card">
           <div class="feature-icon" style="--fc:#10B981"><svg viewBox="0 0 32 32" fill="none" width="32" height="32"><path d="M16 4l3 9h10l-8 6 3 9-8-5-8 5 3-9-8-6h10l3-9z" stroke="currentColor" stroke-width="2" stroke-linejoin="round"/></svg></div>
-          <h3>个性化方案</h3>
-          <p>基于评估结果与五维能量分布,AI 自动匹配最适合的任务、活动与课程,为每位家庭成员生成专属成长路径,因材施教。</p>
+          <h3>风险管控</h3>
+          <p>针对识别出的风险点,AI 结合专业知识库生成分级管控方案——从生活方式调整到专业干预建议,不让隐患发展为问题。</p>
         </div>
         <div class="feature-card">
           <div class="feature-icon" style="--fc:#F59E0B"><svg viewBox="0 0 32 32" fill="none" width="32" height="32"><path d="M6 16l6 6 14-14" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg></div>
-          <h3>跟踪执行</h3>
-          <p>任务下发到执行、能量追踪到积分激励,家长监督与孩子主动参与结合,让好计划落地为日常行动,实时监督确保落实。</p>
+          <h3>主动干预</h3>
+          <p>任务下发到执行、能量追踪到有序支出,家长引导与孩子主动参与结合,将健康管理融入日常——不等病来,天天都是主动健康日。</p>
         </div>
         <div class="feature-card">
           <div class="feature-icon" style="--fc:#EF4444"><svg viewBox="0 0 32 32" fill="none" width="32" height="32"><path d="M8 6v20M8 16l4-4 4 4 8-8" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></div>
-          <h3>成果检验</h3>
-          <p>成长档案记录每步轨迹,健康报告与阶段性复盘让进步可视化,用数据验证成长效果,持续优化方案,并持续跟踪。</p>
+          <h3>效果评估</h3>
+          <p>成长档案记录每步轨迹,健康报告与阶段性复盘让风险管控效果可视化——数据驱动持续优化,形成主动健康的良性循环。</p>
         </div>
       </div>
     </div>
@@ -1222,7 +1284,7 @@
             <svg viewBox="0 0 24 24" fill="none" width="24" height="24"><circle cx="12" cy="12" r="10" stroke="#4A9BD7" stroke-width="2"/><path d="M12 6v8l4 4" stroke="#4A9BD7" stroke-width="2" stroke-linecap="round"/></svg>
             <div>
               <strong>公司全称</strong>
-              <span>亿图腾(北京)科技有限公司</span>
+              <span>浠艾福主动健康学院</span>
             </div>
           </div>
           <div class="contact-item">
@@ -1342,6 +1404,9 @@
       </div>
       <div class="knowledge-footer">
         <p class="knowledge-tip">微信搜索「<strong>浠艾福</strong>」小程序,获取更多专业成长知识</p>
+        <div style="text-align:center;margin-top:var(--space-lg)">
+          <a href="knowledge.html" class="btn btn-primary">进入成长百科 →</a>
+        </div>
       </div>
       <style>
         .knowledge-links { margin-top: var(--space-2xl); }
@@ -1385,68 +1450,9 @@
     </div>
   </section>
 
-  <!-- ==================== Footer ==================== -->
-  <footer class="site-footer">
-    <div class="container">
-      <div class="footer-inner">
-        <div class="footer-brand">
-          <img src="logo.png" alt="浠艾福" class="footer-logo-img" width="48" height="48">
-          <span class="logo-text">亿图腾</span>
-          <span class="logo-tag">· 浠艾福</span>
-          <p style="white-space:nowrap">以 AI 科技赋能每个家庭,让健康与幸福触手可及。</p>
-        </div>
-        <div class="footer-links">
-          <div class="footer-col">
-            <h4>产品</h4>
-            <ul>
-              <li><a href="#product">浠艾福平台</a></li>
-              <li><a href="#dimensions">五维幸福</a></li>
-              <li><a href="#features">核心功能</a></li>
-              <li><a href="#ai-tech">AI 技术</a></li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>关于</h4>
-            <ul>
-              <li><a href="#about">公司介绍</a></li>
-              <li><a href="#roles">平台角色</a></li>
-              <li><a href="#contact">联系方式</a></li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>联系方式</h4>
-            <ul class="footer-contact">
-              <li><a href="tel:010-86461234">010-86461234</a></li>
-              <li><a href="mailto:contact@etotem.com.cn">contact@etotem.com.cn</a></li>
-              <li>北京市海淀区</li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>成长百科</h4>
-            <ul>
-              <li><a href="geo-faq-1-allergy.html">过敏与肠道菌群</a></li>
-              <li><a href="geo-faq-2-attention.html">注意力与肠道</a></li>
-              <li><a href="geo-faq-3-immunity.html">免疫力提升方案</a></li>
-            </ul>
-          </div>
-          <div class="footer-col">
-            <h4>友情链接</h4>
-            <ul>
-              <li><a href="https://www.psychdream.org.cn/" target="_blank" rel="noopener noreferrer">双培强基工程</a></li>
-            </ul>
-          </div>
-        </div>
-      </div>
-      <div class="footer-bottom">
-        <p>&copy; 2026 亿图腾(北京)科技有限公司. All rights reserved.</p>
-        <p class="footer-legal">
-          <a href="#">隐私政策</a>
-          <a href="#">用户协议</a>
-          <span>京ICP备XXXXXXXX号</span>
-        </p>
-      </div>
-    </div>
-  </footer>
+  <!-- Footer (shared) -->
+  <div id="footer-placeholder"></div>
+  <script src="js/footer.js"></script>
 
   <!-- ==================== Floating CTA ==================== -->
   <div class="float-cta" id="floatCta">

+ 72 - 0
web/js/footer.js

@@ -0,0 +1,72 @@
+/**
+ * Shared site footer - injected into #footer-placeholder on every page.
+ * Update this ONE file to change the footer across all pages.
+ */
+(function() {
+  var placeholder = document.getElementById('footer-placeholder');
+  if (!placeholder) return;
+  placeholder.innerHTML =
+    '<footer class="site-footer">' +
+    '  <div class="container">' +
+    '    <div class="footer-inner">' +
+    '      <div class="footer-brand">' +
+    '        <img src="logo.png" alt="\u6D50\u8272\u798F" class="footer-logo-img" width="48" height="48">' +
+    '        <span class="logo-text">\u6D50\u8272\u798F</span>' +
+    '        <span class="logo-tag">\u4E3B\u52A8\u5065\u5EB7</span>' +
+    '        <p>\u4EE5 AI \u79D1\u6280\u8D4B\u80FD\u6BCF\u4E2A\u5BB6\u5EAD\uFF0C\u8BA9\u5065\u5EB7\u4E0E\u5E78\u798F\u89E6\u624B\u53EF\u53CA\u3002</p>' +
+    '      </div>' +
+    '      <div class="footer-links">' +
+    '        <div class="footer-col">' +
+    '          <h4>\u4EA7\u54C1</h4>' +
+    '          <ul>' +
+    '            <li><a href="index.html#product">\u6D50\u8272\u798F\u5E73\u53F0</a></li>' +
+    '            <li><a href="index.html#dimensions">\u4E94\u7EF4\u5E78\u798F</a></li>' +
+    '            <li><a href="index.html#features">\u6838\u5FC3\u529F\u80FD</a></li>' +
+    '            <li><a href="index.html#ai-tech">AI \u6280\u672F</a></li>' +
+    '          </ul>' +
+    '        </div>' +
+    '        <div class="footer-col">' +
+    '          <h4>\u5173\u4E8E</h4>' +
+    '          <ul>' +
+    '            <li><a href="index.html#about">\u516C\u53F8\u4ECB\u7ECD</a></li>' +
+    '            <li><a href="index.html#roles">\u5E73\u53F0\u89D2\u8272</a></li>' +
+    '            <li><a href="index.html#contact">\u8054\u7CFB\u65B9\u5F0F</a></li>' +
+    '          </ul>' +
+    '        </div>' +
+    '        <div class="footer-col">' +
+    '          <h4>\u8054\u7CFB\u65B9\u5F0F</h4>' +
+    '          <ul class="footer-contact">' +
+    '            <li><a href="tel:010-58733188">010-58733188</a></li>' +
+    '            <li><a href="mailto:contact@etotem.com.cn">contact@etotem.com.cn</a></li>' +
+    '            <li>\u5317\u4EAC\u5E02\u6D77\u6DC0\u533A</li>' +
+    '          </ul>' +
+    '        </div>' +
+    '        <div class="footer-col">' +
+    '          <h4>\u6210\u957F\u767E\u79D1</h4>' +
+    '          <ul>' +
+    '            <li><a href="geo-faq-1-allergy.html">\u8FC7\u654F\u4E0E\u80A0\u9053\u83CC\u7FA4</a></li>' +
+    '            <li><a href="geo-faq-2-attention.html">\u6CE8\u610F\u529B\u4E0E\u80A0\u9053</a></li>' +
+    '            <li><a href="geo-faq-3-immunity.html">\u514D\u75AB\u529B\u63D0\u5347\u65B9\u6848</a></li>' +
+    '            <li><a href="plastic-health.html">\u5FAE\u5851\u6599\u4E0E\u5065\u5EB7</a></li>' +
+    '            <li><a href="uric-acid.html">\u5C3F\u9178\u9AD8\u7684\u6210\u56E0\u4E0E\u8C03\u8282</a></li>' +
+    '          </ul>' +
+    '        </div>' +
+    '        <div class="footer-col">' +
+    '          <h4>\u53CB\u60C5\u94FE\u63A5</h4>' +
+    '          <ul>' +
+    '            <li><a href="https://www.psychdream.org.cn/" target="_blank" rel="noopener noreferrer">\u53CC\u57F9\u5F3A\u57FA\u5DE5\u7A0B</a></li>' +
+    '          </ul>' +
+    '        </div>' +
+    '      </div>' +
+    '    </div>' +
+    '    <div class="footer-bottom">' +
+    '      <p>&copy; 2026 \u6D50\u8272\u798F\u4E3B\u52A8\u5065\u5EB7\u7814\u7A76\u9662. All rights reserved.</p>' +
+    '      <p class="footer-legal">' +
+    '        <a href="#">\u9690\u79C1\u653F\u7B56</a>' +
+    '        <a href="#">\u7528\u6237\u534F\u8BAE</a>' +
+    '        <span>\u4EACICP\u590714061870\u53F7-5</span>' +
+    '      </p>' +
+    '    </div>' +
+    '  </div>' +
+    '</footer>';
+})();

+ 250 - 0
web/knowledge.html

@@ -0,0 +1,250 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <meta name="description" content="浠艾福成长百科 — 围绕身·智·富·行·心五大维度,用科学知识为每个家庭的健康成长保驾护航。">
+  <meta name="keywords" content="浠艾福,成长百科,育儿知识,五维能量,亲子教育">
+  <meta property="og:title" content="成长百科 — 浠艾福主动健康学院">
+  <meta property="og:description" content="围绕身·智·富·行·心五大维度,用科学知识为每个家庭的健康成长保驾护航。">
+  <meta property="og:type" content="website">
+  <meta property="og:url" content="https://www.etotem.com.cn/knowledge.html">
+  <meta name="theme-color" content="#4A9BD7">
+  <title>成长百科 — 浠艾福主动健康学院</title>
+  <link rel="stylesheet" href="css/style.css">
+
+  <!-- Microsoft Clarity -->
+  <script>
+    (function(c,l,a,r,i,t,y){
+      c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
+      t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
+      y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
+    })(window, document, "clarity", "script", "xj4p74ra9m");
+  </script>
+
+  <style>
+    :root {
+      --c-body: #FF8C42;
+      --c-wisdom: #6366F1;
+      --c-wealth: #F59E0B;
+      --c-action: #10B981;
+      --c-heart: #FF6B9D;
+    }
+    html.kb-page, .kb-page body { height: 100vh; overflow: hidden; }
+    .kb-page body { display: flex; flex-direction: column; background: linear-gradient(135deg, #FAFBFC 0%, #F0F4F8 100%); }
+
+    .kb-main { flex:1; display:flex; flex-direction:column; max-width:1200px; width:100%; margin:0 auto; padding:0 var(--space-lg); overflow:hidden; position:relative; z-index:1; }
+    .kb-header { text-align:center; flex-shrink:0; padding:var(--space-lg) 0 var(--space-md); }
+    .kb-header h1 { font-size:2rem; font-weight:800; color:var(--color-text-primary); margin-bottom:2px; }
+    .kb-header p { font-size:var(--font-size-small); color:var(--color-text-secondary); }
+
+    .kb-body-wrap { flex:1; display:flex; align-items:center; justify-content:center; padding-bottom:var(--space-md); min-height:0; position:relative; }
+    .kb-body-inner { position:relative; width:100%; max-width:700px; height:100%; display:flex; align-items:center; justify-content:center; }
+    .kb-body-img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:var(--radius-lg); box-shadow:0 8px 40px rgba(74,155,215,0.08); }
+
+    .kb-marker { position:absolute; z-index:2; pointer-events:none; }
+    .kb-marker-card { pointer-events:auto; background:rgba(255,255,255,0.95); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-radius:12px; padding:10px 14px; border:1.5px solid var(--m-color,var(--color-border-light)); box-shadow:0 4px 16px rgba(0,0,0,0.06); min-width:170px; max-width:220px; transition:box-shadow var(--transition-fast), transform var(--transition-fast); }
+    .kb-marker-card:hover { box-shadow:0 6px 24px rgba(0,0,0,0.10); transform:translateY(-1px); }
+    .kb-marker-dot { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--m-color); border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,0.15); top:50%; margin-top:-6px; pointer-events:none; }
+    .kb-marker--right .kb-marker-dot { left:-6px; }
+    .kb-marker--left .kb-marker-dot { right:-6px; }
+    .kb-marker-head { display:flex; align-items:center; gap:6px; margin-bottom:6px; padding-bottom:6px; border-bottom:1px solid var(--color-border-light); }
+    .kb-marker-label { font-size:0.8125rem; font-weight:700; color:var(--m-color,var(--color-text-primary)); }
+    .kb-marker-card a { display:flex; align-items:center; gap:6px; padding:5px 0; text-decoration:none; color:var(--color-text-secondary); font-size:0.8125rem; line-height:1.3; border-bottom:1px solid var(--color-border-light); transition:color var(--transition-fast); }
+    .kb-marker-card a:last-child { border-bottom:none; }
+    .kb-marker-card a:hover { color:var(--m-color,var(--color-primary)); }
+    .kb-marker-card a .ma-icon { font-size:1rem; flex-shrink:0; }
+    .kb-marker-card a .ma-title { flex:1; min-width:0; }
+    .kb-marker-card a .ma-arrow { flex-shrink:0; font-size:0.75rem; opacity:0.3; transition:transform var(--transition-fast); }
+    .kb-marker-card a:hover .ma-arrow { transform:translateX(3px); opacity:0.7; }
+    .kb-marker-card .ma-coming { opacity:0.5; cursor:default; pointer-events:none; font-size:0.75rem; padding:4px 0; }
+
+    .kb-m-pos-brain  { top:13%; left:56%; }
+    .kb-m-pos-heart  { top:33%; right:54%; }
+    .kb-m-pos-body   { top:48%; left:54%; }
+    .kb-m-pos-wealth { top:64%; right:54%; }
+    .kb-m-pos-action { top:82%; left:54%; }
+
+    .kb-footer { flex-shrink:0; text-align:center; padding:var(--space-sm) 0; font-size:var(--font-size-tiny); color:var(--color-text-muted); border-top:1px solid var(--color-border-light); }
+    .kb-footer a { color:var(--color-text-muted); text-decoration:none; }
+    .kb-footer a:hover { color:var(--color-primary); }
+
+    .kb-mobile { display:none; }
+
+    @media (max-width:768px) {
+      .kb-body-wrap { display:none; }
+      .kb-mobile { display:flex; flex-direction:column; flex:1; min-height:0; }
+      .kb-header { padding:var(--space-md) 0 var(--space-sm); }
+      .kb-header h1 { font-size:1.5rem; }
+      .kb-tabs { display:flex; gap:4px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; flex-shrink:0; padding:0 0 var(--space-sm); }
+      .kb-tabs::-webkit-scrollbar { display:none; }
+      .kb-tab { flex-shrink:0; padding:0.45em 1em; font-size:0.9375rem; font-weight:700; border:2px solid var(--color-border-light); border-radius:var(--radius-full); background:#fff; color:var(--color-text-secondary); cursor:pointer; transition:all var(--transition-fast); font-family:inherit; line-height:1.3; }
+      .kb-tab:hover { border-color:var(--tab-color,var(--color-primary)); color:var(--tab-color); }
+      .kb-tab.active { border-color:var(--tab-color,var(--color-primary)); background:color-mix(in srgb, var(--tab-color,var(--color-primary)) 10%, white); color:var(--tab-color,var(--color-primary)); }
+      .kb-articles { flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch; padding-bottom:var(--space-sm); }
+      .kb-a-item { display:flex; align-items:center; gap:var(--space-sm); padding:var(--space-sm) var(--space-md); background:#fff; border-radius:var(--radius-md); border:1px solid var(--color-border-light); text-decoration:none; color:var(--color-text-primary); margin-bottom:var(--space-sm); transition:box-shadow var(--transition-fast), border-color var(--transition-fast); }
+      .kb-a-item:last-child { margin-bottom:0; }
+      .kb-a-item:active { box-shadow:var(--shadow-sm); border-color:var(--color-primary); }
+      .kb-a-item .ai-icon { font-size:1.3rem; flex-shrink:0; }
+      .kb-a-item .ai-info { flex:1; min-width:0; }
+      .kb-a-item .ai-info h4 { font-size:0.9375rem; font-weight:700; margin-bottom:0.15em; line-height:1.3; }
+      .kb-a-item .ai-info p { font-size:0.8125rem; color:var(--color-text-muted); line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
+      .kb-a-coming { opacity:0.55; pointer-events:none; }
+    }
+    @media (max-width:480px) {
+      .kb-header h1 { font-size:1.3rem; }
+      .kb-main { padding:0 var(--space-md); }
+      .kb-tab { padding:0.35em 0.8em; font-size:0.875rem; }
+    }
+    .scroll-indicator { display:none; }
+  </style>
+</head>
+<body class="kb-page">
+
+  <header class="site-header" id="header">
+    <div class="container header-inner">
+      <a href="index.html" class="logo">
+        <img src="logo.png" alt="浠艾福" class="logo-img" width="36" height="36">
+        <span class="logo-text">浠艾福</span>
+        <span class="logo-tag">主动健康</span>
+      </a>
+      <button class="nav-toggle" id="navToggle" aria-label="切换导航"><span></span><span></span><span></span></button>
+      <nav class="nav" id="nav">
+        <ul class="nav-list">
+          <li><a href="index.html" class="nav-link">首页</a></li>
+          <li><a href="knowledge.html" class="nav-link active">成长百科</a></li>
+        </ul>
+      </nav>
+    </div>
+  </header>
+
+  <div class="kb-main">
+    <div class="kb-header">
+      <h1>成长百科</h1>
+      <p>身 · 智 · 富 · 行 · 心 — 科学育儿,从了解自己开始</p>
+    </div>
+
+    <div class="kb-body-wrap" id="kbDesktop">
+      <div class="kb-body-inner" id="kbBodyInner">
+        <img src="img/human-body.png" alt="人体五维成长百科" class="kb-body-img" id="kbBodyImg">
+      </div>
+    </div>
+
+    <div class="kb-mobile" id="kbMobile">
+      <div class="kb-tabs" id="kbTabs"></div>
+      <div class="kb-articles" id="kbArticles"></div>
+    </div>
+
+  </div>
+
+  <!-- Footer (shared) -->
+  <div id="footer-placeholder"></div>
+  <script src="js/footer.js"></script>
+
+  <script>
+    var DIMS = [
+      { key:'body',   label:'身', color:'#FF8C42', subtitle:'根基永固 · 主动健康', bodyPart:'gut' },
+      { key:'wisdom', label:'智', color:'#6366F1', subtitle:'赋能未来 · 智慧启迪', bodyPart:'brain' },
+      { key:'wealth', label:'富', color:'#F59E0B', subtitle:'利他创富 · 价值创造', bodyPart:'hands' },
+      { key:'action', label:'行', color:'#10B981', subtitle:'人际和谐 · 知行合一', bodyPart:'feet' },
+      { key:'heart',  label:'心', color:'#FF6B9D', subtitle:'大爱相随 · 情感滋养', bodyPart:'heart' }
+    ];
+
+    var ARTICLES = {
+      body: [
+        { icon:'🌿', title:'孩子过敏反复不好,根源可能在肠道', desc:'从肠道菌群-免疫-过敏三角关系出发,解析儿童过敏的深层原因。', url:'geo-faq-1-allergy.html' },
+        { icon:'🛡️', title:'儿童免疫力提升3大关键步骤', desc:'从肠道微生态、营养支持与睡眠节律三个维度系统提升自护力。', url:'geo-faq-3-immunity.html' },
+        { icon:'🌊', title:'微塑料对家庭健康的隐形危害', desc:'揭秘微塑料如何影响肠道菌群与激素系统及家庭防护策略。', url:'plastic-health.html' },
+        { icon:'🍎', title:'精准营养:每个家庭的健康基石', desc:'基于个体代谢特征定制真正适合家人的膳食方案。', coming:true }
+      ],
+      wisdom: [
+        { icon:'🧠', title:'注意力不集中,先查肠道再谈训练', desc:'肠道菌群通过肠-脑轴影响注意力与认知功能,科学认知从根源入手。', url:'geo-faq-2-attention.html' },
+        { icon:'📖', title:'成长型思维:帮助孩子拥抱挑战', desc:'从心理学研究出发,培养孩子面对困难时不放弃的核心信念。', coming:true }
+      ],
+      wealth: [
+        { icon:'💡', title:'从小培养孩子的财商思维', desc:'零花钱管理、目标储蓄与价值交换,让财商教育融入日常生活。', coming:true },
+        { icon:'🌱', title:'家庭创客生态:利他中的财富', desc:'在利他分享中创造价值,探索适合家庭的第二收入曲线。', coming:true }
+      ],
+      action: [
+        { icon:'🤝', title:'如何培养孩子的社交能力', desc:'从家庭互动到同伴交往,帮助孩子建立积极健康的人际关系。', coming:true },
+        { icon:'🏕️', title:'亲子户外活动:在自然中成长', desc:'走出室内,用大自然的力量滋养孩子的身体与心灵。', coming:true }
+      ],
+      heart: [
+        { icon:'💛', title:'亲子沟通:如何听懂孩子的心', desc:'从共情力到非暴力沟通,帮助家长走进孩子的内心世界。', coming:true },
+        { icon:'🕊️', title:'儿童情绪管理:从认知到调节', desc:'理解各年龄段情绪发展规律,掌握实用的情绪疏导方法。', coming:true }
+      ]
+    };
+
+    var MARKER_POS = {
+      brain: { top:'11%', side:'left', offset:'55%' },
+      heart: { top:'31%', side:'right', offset:'52%' },
+      gut:   { top:'46%', side:'left', offset:'53%' },
+      hands: { top:'62%', side:'right', offset:'52%' },
+      feet:  { top:'81%', side:'left', offset:'53%' }
+    };
+
+    (function buildDesktop() {
+      var c = document.getElementById('kbBodyInner');
+      for (var i = 0; i < DIMS.length; i++) {
+        var d = DIMS[i], pos = MARKER_POS[d.bodyPart], arts = ARTICLES[d.key] || [];
+        var m = document.createElement('div');
+        m.className = 'kb-marker';
+        m.style.cssText = 'top:'+pos.top+';'+(pos.side==='left'?'left:'+pos.offset:'right:'+pos.offset);
+        var side = pos.side==='left' ? 'kb-marker--right' : 'kb-marker--left';
+        var card = document.createElement('div');
+        card.className = 'kb-marker-card '+side;
+        card.style.setProperty('--m-color', d.color);
+        var hd = document.createElement('div');
+        hd.className = 'kb-marker-head';
+        hd.innerHTML = '<span class="kb-marker-label">'+d.label+' · '+d.subtitle+'</span>';
+        card.appendChild(hd);
+        for (var j = 0; j < arts.length; j++) {
+          var a = arts[j], el;
+          if (a.coming) {
+            el = document.createElement('div');
+            el.className = 'ma-coming';
+            el.innerHTML = '<span class="ma-icon">'+a.icon+'</span><span class="ma-title">'+a.title+' 即将上线</span>';
+          } else {
+            el = document.createElement('a');
+            el.href = a.url;
+            el.innerHTML = '<span class="ma-icon">'+a.icon+'</span><span class="ma-title">'+a.title+'</span><span class="ma-arrow">→</span>';
+          }
+          card.appendChild(el);
+        }
+        var dot = document.createElement('div');
+        dot.className = 'kb-marker-dot';
+        dot.style.background = d.color;
+        card.appendChild(dot);
+        m.appendChild(card);
+        c.appendChild(m);
+      }
+    })();
+
+    var activeDim = 'body';
+    function buildTabs() {
+      var c = document.getElementById('kbTabs'), h = '';
+      for (var i = 0; i < DIMS.length; i++) {
+        var d = DIMS[i];
+        h += '<button class="kb-tab'+(d.key===activeDim?' active':'')+'" style="--tab-color:'+d.color+'" data-dim="'+d.key+'" onclick="switchTab(\''+d.key+'\')">'+d.label+'</button>';
+      }
+      c.innerHTML = h;
+    }
+    function renderArticles(k) {
+      var c = document.getElementById('kbArticles'), arts = ARTICLES[k] || [], h = '';
+      for (var i = 0; i < arts.length; i++) {
+        var a = arts[i];
+        if (a.coming) {
+          h += '<div class="kb-a-item kb-a-coming"><span class="ai-icon">'+a.icon+'</span><div class="ai-info"><h4>'+a.title+'</h4><p>'+a.desc+'</p></div></div>';
+        } else {
+          h += '<a href="'+a.url+'" class="kb-a-item"><span class="ai-icon">'+a.icon+'</span><div class="ai-info"><h4>'+a.title+'</h4><p>'+a.desc+'</p></div><span style="color:var(--color-text-muted);font-size:0.9rem">→</span></a>';
+        }
+      }
+      c.innerHTML = h;
+    }
+    function switchTab(k) { activeDim=k; var t=document.querySelectorAll('#kbTabs .kb-tab'); for(var i=0;i<t.length;i++){t[i].classList.remove('active');if(t[i].getAttribute('data-dim')===k)t[i].classList.add('active');} renderArticles(k); }
+    buildTabs(); renderArticles(activeDim);
+
+    document.getElementById('navToggle').addEventListener('click',function(){document.getElementById('nav').classList.toggle('nav-open');this.classList.toggle('active');});
+  </script>
+</body>
+</html>

+ 1157 - 0
web/osteoporosis.html

@@ -0,0 +1,1157 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="description" content="骨质疏松科学循证科普——症状识别、疾病定义、发病原因与主动健康五步干预。含DXA诊断标准、维生素D钙镁锌、骨骼肌-骨轴、运动处方与跌倒预防。">
+<meta name="keywords" content="骨质疏松,脆性骨折,DXA骨密度,维生素D,钙,跌倒预防,骨骼健康,主动健康,骨代谢,肌少症">
+<meta property="og:title" content="骨质疏松的症状、病因与主动健康干预 — 科学循证">
+<meta property="og:description" content="中国骨质疏松患者6900万,脆性骨折致死率超30%。症状识别→骨骼病理→可控病因→主动健康五步:早识别、分层管控、营养运动干预、效果评估、持续优化。">
+<meta property="og:type" content="article">
+<title>骨质疏松 · 症-病-因与主动健康干预 · 浠艾福</title>
+<style>
+  :root {
+    --bg-card: #FFFFFF;
+    --bg-alt: #f0f8f5;
+    --text-primary: #1a2e2e;
+    --text-secondary: #4a5568;
+    --text-muted: #718096;
+    --accent: #2d6a4f;
+    --accent-light: #f0fff4;
+    --blue: #1a5276;
+    --blue-light: #eaf4fb;
+    --teal: #148f77;
+    --teal-light: #e6fffa;
+    --purple: #7d3c98;
+    --purple-light: #f5eef8;
+    --orange: #d35400;
+    --orange-light: #fff4e6;
+    --yellow: #b7791f;
+    --yellow-light: #fefce8;
+    --font: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
+    --max-width: 1080px;
+    --shadow-card: 0 4px 24px rgba(0,0,0,0.08);
+    --shadow-hover: 0 8px 40px rgba(0,0,0,0.12);
+    --radius: 16px;
+  }
+  * { margin: 0; padding: 0; box-sizing: border-box; }
+  html { scroll-behavior: smooth; }
+  body {
+    font-family: var(--font);
+    font-size: 1rem;
+    line-height: 1.8;
+    color: var(--text-primary);
+    background: #fff;
+    -webkit-font-smoothing: antialiased;
+  }
+
+  .hero {
+    position: relative;
+    background: linear-gradient(135deg, #1a2e2e 0%, #2d4a4a 40%, #3d6b6b 100%);
+    color: white;
+    padding: 6rem 1.5rem 4rem;
+    overflow: hidden;
+    min-height: 58vh;
+    display: flex;
+    align-items: center;
+  }
+  .hero::before {
+    content: '';
+    position: absolute;
+    inset: 0;
+    background:
+      radial-gradient(circle at 20% 30%, rgba(45,106,79,0.2) 0%, transparent 50%),
+      radial-gradient(circle at 80% 70%, rgba(20,143,119,0.12) 0%, transparent 50%);
+  }
+  .hero-particles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
+  .particle {
+    position: absolute;
+    border-radius: 50%;
+    background: rgba(255,255,255,0.1);
+    animation: float 8s ease-in-out infinite;
+  }
+  .particle:nth-child(1) { width:5px;height:5px;left:10%;top:20%;animation-delay:0s; }
+  .particle:nth-child(2) { width:8px;height:8px;left:28%;top:65%;animation-delay:1s;opacity:0.08; }
+  .particle:nth-child(3) { width:4px;height:4px;left:45%;top:12%;animation-delay:2s; }
+  .particle:nth-child(4) { width:3px;height:3px;left:68%;top:72%;animation-delay:0.5s; }
+  .particle:nth-child(5) { width:6px;height:6px;left:82%;top:28%;animation-delay:3s;opacity:0.06; }
+  .particle:nth-child(6) { width:4px;height:4px;left:14%;top:88%;animation-delay:1.5s; }
+  .particle:nth-child(7) { width:7px;height:7px;left:52%;top:48%;animation-delay:2.5s;opacity:0.1; }
+  @keyframes float {
+    0%,100% { transform: translateY(0) scale(1); opacity: 0.1; }
+    50% { transform: translateY(-28px) scale(1.5); opacity: 0.22; }
+  }
+  .hero-content {
+    position: relative;
+    z-index: 1;
+    max-width: var(--max-width);
+    margin: 0 auto;
+    text-align: center;
+    width: 100%;
+  }
+  .hero-badge {
+    display: inline-flex;
+    align-items: center;
+    gap: 0.5rem;
+    background: rgba(255,255,255,0.1);
+    border: 1px solid rgba(255,255,255,0.2);
+    backdrop-filter: blur(8px);
+    padding: 0.4rem 1rem;
+    border-radius: 100px;
+    font-size: 0.85rem;
+    margin-bottom: 1.5rem;
+  }
+  .hero h1 {
+    font-size: clamp(1.8rem, 5vw, 3rem);
+    font-weight: 800;
+    margin-bottom: 1rem;
+    letter-spacing: -0.02em;
+    line-height: 1.25;
+  }
+  .hero h1 .accent { color: #40c057; }
+  .hero-sub {
+    font-size: clamp(1rem, 2vw, 1.15rem);
+    color: rgba(255,255,255,0.8);
+    max-width: 680px;
+    margin: 0 auto 2rem;
+    line-height: 1.7;
+  }
+  .hero-stats {
+    display: flex;
+    gap: 1.5rem;
+    justify-content: center;
+    flex-wrap: wrap;
+    margin-top: 2rem;
+  }
+  .hero-stat {
+    background: rgba(255,255,255,0.08);
+    backdrop-filter: blur(8px);
+    border: 1px solid rgba(255,255,255,0.1);
+    border-radius: 12px;
+    padding: 1rem 1.5rem;
+    text-align: center;
+    min-width: 120px;
+  }
+  .hero-stat .num { font-size: 1.9rem; font-weight: 800; color: #40c057; display: block; }
+  .hero-stat .label { font-size: 0.82rem; color: rgba(255,255,255,0.7); margin-top: 0.2rem; }
+  .scroll-hint {
+    position: absolute;
+    bottom: 2rem;
+    left: 50%;
+    transform: translateX(-50%);
+    color: rgba(255,255,255,0.45);
+    font-size: 0.78rem;
+    text-align: center;
+    animation: bounce 2s ease-in-out infinite;
+    cursor: pointer;
+    text-decoration: none;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    gap: 0.3rem;
+  }
+  @keyframes bounce {
+    0%,100% { transform: translateX(-50%) translateY(0); }
+    50% { transform: translateX(-50%) translateY(8px); }
+  }
+  .scroll-arrow {
+    width: 16px; height: 16px;
+    border-right: 2px solid rgba(255,255,255,0.4);
+    border-bottom: 2px solid rgba(255,255,255,0.4);
+    transform: rotate(45deg);
+  }
+
+  .nav {
+    position: sticky;
+    top: 0;
+    z-index: 100;
+    background: rgba(255,255,255,0.96);
+    backdrop-filter: blur(12px);
+    border-bottom: 1px solid rgba(0,0,0,0.06);
+    padding: 0.75rem 1.5rem;
+  }
+  .nav-inner {
+    max-width: var(--max-width);
+    margin: 0 auto;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    gap: 1rem;
+    flex-wrap: wrap;
+  }
+  .nav-brand {
+    font-weight: 700;
+    font-size: 0.95rem;
+    color: var(--accent);
+    text-decoration: none;
+    display: flex;
+    align-items: center;
+    gap: 0.4rem;
+  }
+  .nav-links {
+    display: flex;
+    gap: 0.3rem;
+    flex-wrap: wrap;
+    list-style: none;
+  }
+  .nav-links a {
+    color: var(--text-secondary);
+    text-decoration: none;
+    font-size: 0.85rem;
+    padding: 0.3rem 0.7rem;
+    border-radius: 8px;
+    transition: all 0.2s;
+  }
+  .nav-links a:hover { background: var(--accent-light); color: var(--accent); }
+  .nav-links a.active { background: var(--accent-light); color: var(--accent); font-weight: 600; }
+
+  .container { max-width: var(--max-width); margin: 0 auto; padding: 0 1.5rem; }
+  .section { padding: 4rem 0; border-bottom: 1px solid #eee; }
+  .section:last-of-type { border-bottom: none; }
+  .section-alt { background: var(--bg-alt); }
+  .section-tag {
+    display: inline-flex;
+    align-items: center;
+    gap: 0.4rem;
+    font-size: 0.72rem;
+    font-weight: 700;
+    letter-spacing: 0.1em;
+    text-transform: uppercase;
+    color: var(--accent);
+    margin-bottom: 0.75rem;
+  }
+  .section-tag.purple { color: var(--purple); }
+  .section-tag.teal { color: var(--teal); }
+  .section-tag.blue { color: var(--blue); }
+  .section-tag.orange { color: var(--orange); }
+  .section-tag.yellow { color: var(--yellow); }
+  .section-title {
+    font-size: clamp(1.4rem, 3vw, 2.1rem);
+    font-weight: 800;
+    margin-bottom: 1rem;
+    line-height: 1.3;
+  }
+  .section-intro {
+    font-size: 1.05rem;
+    color: var(--text-secondary);
+    margin-bottom: 2rem;
+    max-width: 820px;
+    line-height: 1.85;
+  }
+
+  .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
+  .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
+  @media (max-width: 768px) { .grid-2, .grid-3 { grid-template-columns: 1fr; } }
+
+  .card {
+    background: var(--bg-card);
+    border-radius: var(--radius);
+    padding: 1.75rem;
+    box-shadow: var(--shadow-card);
+    border: 1px solid rgba(0,0,0,0.04);
+    transition: transform 0.2s, box-shadow 0.2s;
+  }
+  .card:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); }
+  .card-icon { font-size: 2.4rem; margin-bottom: 0.75rem; display: block; }
+  .card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 0.6rem; }
+  .card p { color: var(--text-secondary); font-size: 0.92rem; line-height: 1.75; }
+  .card-accent { border-left: 4px solid var(--accent); }
+  .card-blue { border-left: 4px solid var(--blue); }
+  .card-teal { border-left: 4px solid var(--teal); }
+  .card-purple { border-left: 4px solid var(--purple); }
+  .card-orange { border-left: 4px solid var(--orange); }
+  .card-yellow { border-left: 4px solid var(--yellow); }
+
+  .stat-row { display: flex; gap: 1.5rem; flex-wrap: wrap; margin: 1.5rem 0; }
+  .stat-block {
+    flex: 1;
+    min-width: 110px;
+    background: var(--bg-alt);
+    border-radius: 12px;
+    padding: 1.1rem 1.25rem;
+    text-align: center;
+  }
+  .stat-block .number { font-size: 1.7rem; font-weight: 800; color: var(--accent); display: block; }
+  .stat-block .number.blue { color: var(--blue); }
+  .stat-block .number.teal { color: var(--teal); }
+  .stat-block .number.purple { color: var(--purple); }
+  .stat-block .number.orange { color: var(--orange); }
+  .stat-block .number.yellow { color: var(--yellow); }
+  .stat-block .unit { font-size: 0.72rem; color: var(--text-muted); display: block; margin-top: 0.15rem; }
+  .stat-block .desc { font-size: 0.82rem; color: var(--text-secondary); margin-top: 0.35rem; }
+
+  .evidence-box {
+    background: linear-gradient(135deg, #f0fff4 0%, #fafaf5 100%);
+    border: 1px solid rgba(45,106,79,0.12);
+    border-radius: 12px;
+    padding: 1.4rem 1.7rem;
+    margin: 1.75rem 0;
+    position: relative;
+    overflow: hidden;
+  }
+  .evidence-box::before {
+    content: '🔬';
+    position: absolute;
+    top: -0.5rem;
+    right: 1rem;
+    font-size: 3.5rem;
+    opacity: 0.06;
+  }
+  .evidence-box.blue {
+    background: linear-gradient(135deg, #eaf4fb 0%, #e8f4f8 100%);
+    border-color: rgba(26,82,118,0.12);
+  }
+  .evidence-box.purple {
+    background: linear-gradient(135deg, #f5eef8 0%, #faf5ff 100%);
+    border-color: rgba(125,60,152,0.12);
+  }
+  .evidence-box.orange {
+    background: linear-gradient(135deg, #fff4e6 0%, #fffbeb 100%);
+    border-color: rgba(211,84,0,0.12);
+  }
+  .evidence-box.yellow {
+    background: linear-gradient(135deg, #fefce8 0%, #fef9c3 100%);
+    border-color: rgba(183,121,31,0.12);
+  }
+  .evidence-box-header { display: flex; align-items: center; gap: 0.4rem; margin-bottom: 0.65rem; flex-wrap: wrap; }
+  .evidence-box-title { font-weight: 700; font-size: 0.97rem; color: var(--accent); }
+  .evidence-box.blue .evidence-box-title { color: var(--blue); }
+  .evidence-box.purple .evidence-box-title { color: var(--purple); }
+  .evidence-box.orange .evidence-box-title { color: var(--orange); }
+  .evidence-box.yellow .evidence-box-title { color: var(--yellow); }
+  .evidence-box p { color: var(--text-secondary); font-size: 0.92rem; line-height: 1.75; margin-bottom: 0.4rem; }
+  .evidence-box p:last-child { margin-bottom: 0; }
+  .ev-tag {
+    display: inline-block;
+    font-size: 0.68rem;
+    font-weight: 700;
+    padding: 0.18rem 0.55rem;
+    border-radius: 100px;
+    background: rgba(45,106,79,0.1);
+    color: var(--accent);
+    margin-right: 0.3rem;
+    margin-top: 0.25rem;
+  }
+  .ev-tag.blue { background: rgba(26,82,118,0.1); color: var(--blue); }
+  .ev-tag.purple { background: rgba(125,60,152,0.1); color: var(--purple); }
+  .ev-tag.orange { background: rgba(211,84,0,0.1); color: var(--orange); }
+  .ev-tag.yellow { background: rgba(183,121,31,0.1); color: var(--yellow); }
+
+  .process-steps { display: flex; flex-direction: column; gap: 1rem; margin: 1.5rem 0; }
+  .process-step { display: flex; gap: 1.25rem; align-items: flex-start; }
+  .step-num {
+    flex-shrink: 0;
+    width: 2rem; height: 2rem;
+    background: var(--accent-light);
+    color: var(--accent);
+    border-radius: 50%;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    font-weight: 800;
+    font-size: 0.88rem;
+  }
+  .step-num.blue { background: var(--blue-light); color: var(--blue); }
+  .step-num.teal { background: var(--teal-light); color: var(--teal); }
+  .step-num.purple { background: var(--purple-light); color: var(--purple); }
+  .step-num.orange { background: var(--orange-light); color: var(--orange); }
+  .step-num.yellow { background: var(--yellow-light); color: var(--yellow); }
+  .step-content h4 { font-size: 0.98rem; font-weight: 700; margin-bottom: 0.28rem; color: var(--text-primary); }
+  .step-content p { font-size: 0.88rem; color: var(--text-secondary); line-height: 1.7; }
+
+  .quote-block {
+    background: var(--bg-alt);
+    border-left: 4px solid var(--accent);
+    border-radius: 0 12px 12px 0;
+    padding: 1.4rem 1.7rem;
+    margin: 1.75rem 0;
+  }
+  .quote-block.blue { border-left-color: var(--blue); }
+  .quote-block.teal { border-left-color: var(--teal); }
+  .quote-block.purple { border-left-color: var(--purple); }
+  .quote-block.orange { border-left-color: var(--orange); }
+  .quote-text { font-size: 1.02rem; font-style: italic; color: var(--text-secondary); line-height: 1.8; margin-bottom: 0.65rem; }
+  .quote-source { font-size: 0.82rem; color: var(--text-muted); font-weight: 600; }
+
+  .list-styled { list-style: none; padding: 0; margin: 1rem 0; }
+  .list-styled li { padding: 0.45rem 0 0.45rem 1.7rem; position: relative; color: var(--text-secondary); font-size: 0.92rem; line-height: 1.7; }
+  .list-styled li::before { content: '✔'; position: absolute; left: 0; color: var(--accent); font-weight: 700; font-size: 0.85rem; top: 0.45rem; }
+  .list-styled.teal li::before { color: var(--teal); }
+  .list-styled.purple li::before { color: var(--purple); }
+
+  .table-wrap { overflow-x: auto; margin: 1.5rem 0; }
+  table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
+  th { background: var(--accent-light); color: var(--accent); padding: 0.7rem 1rem; text-align: left; font-weight: 700; white-space: nowrap; }
+  th.blue { background: var(--blue-light); color: var(--blue); }
+  th.teal { background: var(--teal-light); color: var(--teal); }
+  th.purple { background: var(--purple-light); color: var(--purple); }
+  th.orange { background: var(--orange-light); color: var(--orange); }
+  td { padding: 0.7rem 1rem; border-bottom: 1px solid #eee; color: var(--text-secondary); vertical-align: top; }
+  tr:last-child td { border-bottom: none; }
+  tr:hover td { background: #fafafa; }
+
+  .step-flow { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.5rem; margin: 2rem 0; }
+  .step-flow-item {
+    background: white;
+    border: 2px solid var(--accent);
+    border-radius: 12px;
+    padding: 0.85rem 1.4rem;
+    text-align: center;
+    min-width: 150px;
+    box-shadow: var(--shadow-card);
+  }
+  .step-flow-item.blue { border-color: var(--blue); }
+  .step-flow-item.teal { border-color: var(--teal); }
+  .step-flow-item.purple { border-color: var(--purple); }
+  .step-flow-item.orange { border-color: var(--orange); }
+  .step-flow-item.yellow { border-color: var(--yellow); }
+  .step-flow-item .s-num { font-size: 0.72rem; font-weight: 700; color: var(--accent); display: block; margin-bottom: 0.2rem; }
+  .step-flow-item.blue .s-num { color: var(--blue); }
+  .step-flow-item.teal .s-num { color: var(--teal); }
+  .step-flow-item.purple .s-num { color: var(--purple); }
+  .step-flow-item.orange .s-num { color: var(--orange); }
+  .step-flow-item.yellow .s-num { color: var(--yellow); }
+  .step-flow-item .s-title { font-size: 0.9rem; font-weight: 700; color: var(--text-primary); display: block; }
+  .step-flow-arrow { font-size: 1.2rem; color: #ccc; }
+
+  .cta-section {
+    background: linear-gradient(135deg, #1a2e2e 0%, #2d4a4a 100%);
+    color: white;
+    padding: 4rem 1.5rem;
+    text-align: center;
+  }
+  .cta-section h2 { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; margin-bottom: 0.9rem; }
+  .cta-section p { color: rgba(255,255,255,0.78); max-width: 580px; margin: 0 auto 2rem; font-size: 1rem; line-height: 1.7; }
+  .cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
+  .btn { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.72rem 1.6rem; border-radius: 100px; font-size: 0.92rem; font-weight: 700; text-decoration: none; transition: all 0.2s; cursor: pointer; border: none; }
+  .btn-primary { background: var(--accent); color: white; }
+  .btn-primary:hover { background: #236b42; transform: translateY(-1px); }
+  .btn-outline { background: transparent; color: white; border: 2px solid rgba(255,255,255,0.38); }
+  .btn-outline:hover { border-color: white; background: rgba(255,255,255,0.1); }
+
+  /* Footer styles replaced by shared js/footer.js */
+
+  .citations { background: #f8f8f8; border-top: 2px solid var(--accent); padding: 3rem 0; }
+  .citation-card { background: white; border: 1px solid #eee; border-radius: 12px; padding: 1.2rem 1.5rem; margin-bottom: 0.9rem; }
+  .citation-card .source { font-size: 0.83rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.35rem; }
+  .citation-card .auth-row { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.4rem; }
+  .auth-badge { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 100px; background: #f0fff4; color: var(--accent); }
+  .auth-badge.blue { background: #eaf4fb; color: var(--blue); }
+  .auth-badge.purple { background: #f5eef8; color: var(--purple); }
+  .auth-badge.orange { background: #fff4e6; color: var(--orange); }
+  .citation-card .findings { font-size: 0.85rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 0.35rem; }
+  .citation-card .trans { font-size: 0.78rem; color: var(--text-muted); font-style: italic; margin-bottom: 0.35rem; }
+  .citation-card .link { font-size: 0.78rem; color: var(--blue); text-decoration: none; }
+  .citation-card .link:hover { text-decoration: underline; }
+
+  .anchor { scroll-margin-top: 72px; }
+
+  .shot-placeholder {
+    background: linear-gradient(135deg,#f0f0f0,#e5e5e5);
+    border-radius: 12px;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center;
+    min-height: 180px;
+    color: #aaa;
+    font-size: 0.85rem;
+    gap: 0.4rem;
+    margin: 1.25rem 0;
+  }
+  .shot-placeholder .shot-icon { font-size: 2.2rem; opacity: 0.35; }
+</style>
+</head>
+<body>
+
+<!-- HERO -->
+<section class="hero">
+  <div class="hero-particles">
+    <div class="particle"></div><div class="particle"></div><div class="particle"></div>
+    <div class="particle"></div><div class="particle"></div><div class="particle"></div><div class="particle"></div>
+  </div>
+  <div class="hero-content">
+    <div class="hero-badge">🦴 科学循证 · 主动健康</div>
+    <h1>骨质疏松<br><span class="accent">症·病·因与主动健康干预</span></h1>
+    <p class="hero-sub">中国骨质疏松患者6900万,脆性骨折致死率超30%。<br>理解骨骼衰老信号 → 掌握骨代谢病理 → 识别可控病因 → 建立主动健康五步干预闭环——<br>骨骼健康是主动健康的核心维度之一,也是晚年生活质量的最重要保障。</p>
+    <div class="hero-stats">
+      <div class="hero-stat"><span class="num">6900万</span><span class="label">骨质疏松患者</span></div>
+      <div class="hero-stat"><span class="num">2亿</span><span class="label">骨量低下人群</span></div>
+      <div class="hero-stat"><span class="num">20%</span><span class="label">髋部骨折1年死亡率</span></div>
+      <div class="hero-stat"><span class="num">40%</span><span class="label">女性一生骨折风险</span></div>
+    </div>
+  </div>
+  <a href="#symptoms" class="scroll-hint">
+    <span>开始阅读</span>
+    <div class="scroll-arrow"></div>
+  </a>
+</section>
+
+<!-- NAV -->
+<nav class="nav">
+  <div class="nav-inner">
+    <a href="index.html" class="nav-brand">🦴 浠艾福 · 主动健康学院</a>
+    <ul class="nav-links">
+      <li><a href="#symptoms">症</a></li>
+      <li><a href="#disease">病</a></li>
+      <li><a href="#causes">因</a></li>
+      <li><a href="#proactive">主动健康五步</a></li>
+      <li><a href="#citations">参考文献</a></li>
+    </ul>
+  </div>
+</nav>
+
+<!-- ══════════════════════════════════════════
+     症 · 症状识别
+═══════════════════════════════════════════ -->
+<section class="section" id="symptoms">
+  <div class="container">
+    <div class="section-tag">🔍 症 · 症状识别</div>
+    <h2 class="section-title">骨质疏松:最常见的"沉默杀手"之一</h2>
+    <p class="section-intro">
+      骨质疏松症最可怕之处在于它毫无症状——直到第一次骨折发生。骨量在无声中流失,骨微结构在悄悄退化,当疼痛出现时,疾病往往已经进展到中晚期。理解骨骼的"求救信号",是主动健康的第一步。
+    </p>
+
+    <div class="evidence-box" style="margin-bottom:1.5rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">⚠️ 骨质疏松的典型症状信号</span>
+        <span class="ev-tag">早发现是关键</span>
+      </div>
+      <p>① <strong>身高缩短(>4cm)</strong>:椎体压缩性骨折的早期信号,测量身高与年轻时相比,矮4cm以上提示椎体压缩</p>
+      <p>② <strong>驼背(脊柱后凸)</strong>:多个椎体压缩性骨折导致"驼背"进行性加重,严重时影响呼吸和消化</p>
+      <p>③ <strong>慢性腰背痛</strong>:椎体压缩性骨折导致持续性背痛,久坐久站加重,平卧缓解(与肌肉劳损性疼痛不同)</p>
+      <p>④ <strong>脆性骨折</strong>:轻微外力即可导致骨折(从站立高度跌倒即骨折),最常见于椎体、髋部、腕部</p>
+      <p>⑤ <strong>牙齿脱落</strong>:下颌骨也是松质骨,骨质疏松患者牙槽骨流失加速,牙齿脱落是全身骨丢失的信号之一</p>
+    </div>
+
+    <div class="grid-3">
+      <div class="card card-accent">
+        <span class="card-icon">🦴</span>
+        <h3>椎体压缩性骨折</h3>
+        <p>最常见的骨质疏松性骨折(约占50%),多数无明显外伤史,仅因咳嗽、打喷嚏或弯腰提物即发生。表现为突发腰背部疼痛,数周后疼痛减轻,但椎体形态已不可逆。多数患者误以为是"腰肌劳损",延误诊断。</p>
+        <p style="margin-top:0.5rem;"><strong>警告:</strong>首次椎体骨折后1年内邻近椎体再骨折风险增加5倍,需积极治疗。</p>
+      </div>
+      <div class="card card-orange">
+        <span class="card-icon">🦿</span>
+        <h3>髋部骨折(股骨近端)</h3>
+        <p>最严重的骨质疏松性骨折,分为股骨颈骨折和转子间骨折。多数由站立高度跌倒引起。骨折后1年死亡率约20%(并发症:肺部感染、深静脉血栓、褥疮),50%患者永久失去独立行走能力,需长期护理。</p>
+        <p style="margin-top:0.5rem;">被称为"人生最后一次骨折"——不是因为骨折本身致命,而是因为骨折后的卧床并发症。</p>
+      </div>
+      <div class="card card-blue">
+        <span class="card-icon">🤚</span>
+        <h3>桡骨远端骨折(Colles骨折)</h3>
+        <p>跌倒时手掌撑地导致,常见于老年女性。骨折本身通过手法复位或手术可治疗,但它是全身骨骼质量下降的明确信号,提示髋部和脊柱骨折风险显著升高。骨折后需全面评估骨密度,并开始系统干预。</p>
+      </div>
+    </div>
+
+    <div class="grid-2" style="margin-top:1.5rem;">
+      <div class="card card-purple">
+        <h3>🔍 正常衰老 vs 骨质疏松信号对比</h3>
+        <table>
+          <tr><th>表现</th><th>正常衰老</th><th>骨质疏松警告</th></tr>
+          <tr><td>身高变化</td><td>缓慢下降,10年<1cm</td><td>明显缩短,>4cm提示椎体骨折</td></tr>
+          <tr><td>骨痛</td><td>无或偶有轻微酸痛</td><td>持续腰背痛,与体位相关</td></tr>
+          <tr><td>骨折史</td><td>无</td><td>轻微外伤即骨折(脆性骨折)</td></tr>
+          <tr><td>牙齿</td><td>正常随年龄变化</td><td>牙齿脱落加速,牙周炎久治不愈</td></tr>
+          <tr><td>姿势</td><td>正常直立</td><td>出现驼背(驼背角>40°)</td></tr>
+        </table>
+      </div>
+      <div class="card card-teal">
+        <h3>⚕️ 其他骨骼疾病的鉴别</h3>
+        <p><strong>骨软化症:</strong>维生素D缺乏导致骨骼矿化障碍,表现为骨骼疼痛和无力,X线可见假骨折线,与骨质疏松可通过血液检查(维生素D、血钙、ALP)鉴别。</p>
+        <p style="margin-top:0.5rem;"><strong>骨转移瘤:</strong>老年患者出现多处骨折,伴有消瘦、贫血,需排查恶性肿瘤骨转移。</p>
+        <p style="margin-top:0.5rem;"><strong>多发性骨髓瘤:</strong>中老年骨质疏松样表现,伴有贫血、肾功能异常、血钙升高,免疫球蛋白异常。</p>
+        <p style="margin-top:0.5rem;color:var(--text-muted);font-size:0.85rem;">出现上述异常信号,需尽早就诊内分泌科/骨科进行系统评估。</p>
+      </div>
+    </div>
+
+    <div class="process-steps" style="margin-top:1.5rem;">
+      <div class="process-step">
+        <div class="step-num">💡</div>
+        <div class="step-content">
+          <h4>主动健康第一步:建立骨骼健康警觉意识</h4>
+          <p>40岁以上女性和50岁以上男性,即使没有症状,也应了解自己的骨骼健康状态。建议家中常备卷尺,每年测量一次身高(与年轻时对比)。如果出现身高缩短>4cm、新发腰背痛或轻微外力后的骨折,应立即就医进行DXA骨密度检测。</p>
+        </div>
+      </div>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     病 · 疾病定义
+═══════════════════════════════════════════ -->
+<section class="section section-alt" id="disease">
+  <div class="container">
+    <div class="section-tag teal">📖 病 · 疾病定义</div>
+    <h2 class="section-title">骨质疏松:骨吸收超过骨形成的系统性骨骼疾病</h2>
+    <p class="section-intro">
+      骨质疏松症(Osteoporosis,OP)是一种以<strong>骨量低下、骨微结构损坏、骨脆性增加、骨折易感性增高</strong>为特征的全身性骨骼疾病。WHO明确定义:骨密度(BMD)T值≤-2.5即可诊断骨质疏松;T值在-1.0至-2.5之间为骨量低下(osteopenia),是骨质疏松的前期阶段。
+    </p>
+
+    <div class="stat-row">
+      <div class="stat-block">
+        <span class="number">6900万</span>
+        <span class="unit">人</span>
+        <span class="desc">中国骨质疏松患者</span>
+      </div>
+      <div class="stat-block">
+        <span class="number blue">2亿</span>
+        <span class="unit">人</span>
+        <span class="desc">骨量低下人群</span>
+      </div>
+      <div class="stat-block">
+        <span class="number teal">40%</span>
+        <span class="unit">女性</span>
+        <span class="desc">一生骨折风险</span>
+      </div>
+      <div class="stat-block">
+        <span class="number orange">20%</span>
+        <span class="unit">髋骨骨折</span>
+        <span class="desc">1年死亡率</span>
+      </div>
+    </div>
+
+    <div class="grid-2" style="margin-top:2rem;">
+      <div class="card card-accent">
+        <h3>🔬 DXA骨密度检测:诊断金标准</h3>
+        <p>双能X线吸收测定法(Dual-energy X-ray Absorptiometry,DXA)是WHO推荐的骨质疏松诊断金标准,测量部位为<strong>腰椎(L1-L4)和股骨颈</strong>,全髋部也可作为参考。</p>
+        <table style="margin-top:0.75rem;">
+          <tr><th>分类</th><th>T值</th><th>含义</th></tr>
+          <tr><td style="color:var(--accent);font-weight:700;">正常</td><td>T ≥ -1.0</td><td>骨密度在健康年轻人范围内</td></tr>
+          <tr><td style="color:var(--yellow);font-weight:700;">骨量低下</td><td>-2.5 < T < -1.0</td><td>骨量减少,需干预防止进展</td></tr>
+          <tr><td style="color:var(--accent);font-weight:700;">骨质疏松</td><td>T ≤ -2.5</td><td>骨密度显著下降,骨折风险高</td></tr>
+          <tr><td style="color:var(--orange);font-weight:700;">严重骨质疏松</td><td>T ≤ -2.5 + 脆性骨折</td><td>已发生骨折,需积极治疗</td></tr>
+        </table>
+        <p style="margin-top:0.75rem;font-size:0.85rem;color:var(--text-muted);">注:T值是将患者BMD与健康年轻人(20-35岁)峰值骨量比较的标准差偏离值。Z值是将患者BMD与同龄人比较的数值,用于继发性骨质疏松的鉴别。</p>
+      </div>
+      <div class="card card-teal">
+        <h3>🦴 骨骼生理:骨吸收与骨形成的平衡</h3>
+        <p>骨骼是活的组织,通过<strong>骨重建</strong>(Bone Remodeling)不断更新——由破骨细胞(osteoclasts)吸收旧骨、成骨细胞(osteoblasts)形成新骨,周期约3-6个月。正常状态下两者平衡,维持骨量和强度。</p>
+        <p style="margin-top:0.5rem;"><strong>RANKL/RANK/OPG通路</strong>是骨代谢的核心调控系统:成骨细胞和骨细胞表达RANKL(核因子κB受体活化因子配体),与破骨前体细胞表面的RANK受体结合,促进破骨细胞分化和活性。骨细胞分泌OPG(骨保护素)作为诱饵受体,中和RANKL,保护骨量。</p>
+        <p style="margin-top:0.5rem;"><strong>绝经后骨质疏松</strong>的核心机制:雌激素缺乏→OPG减少→RANKL/OPG比值升高→破骨细胞过度活化→骨吸收大于骨形成→骨量快速丢失(约2-3%/年,持续5-7年)。</p>
+      </div>
+    </div>
+
+    <h3 style="font-size:1.1rem;font-weight:700;margin:2rem 0 1rem;">⚙️ 骨骼老化的三阶段</h3>
+    <div class="process-steps">
+      <div class="process-step">
+        <div class="step-num teal">①</div>
+        <div class="step-content">
+          <h4>峰值骨量期(0-30岁)——骨骼"存款"阶段</h4>
+          <p>儿童期和青春期是骨骼生长的关键时期,骨量快速增长,约在<strong>30岁左右达到峰值骨量</strong>(peak bone mass)。遗传因素决定约60-80%的峰值骨量,钙摄入、运动和维生素D等可调节因素占20-40%。峰值骨量越高,中老年后发生骨质疏松的风险越低。研究显示,峰值骨量每增加10%,骨质疏松发病年龄推迟约13年。</p>
+        </div>
+      </div>
+      <div class="process-step">
+        <div class="step-num teal">②</div>
+        <div class="step-content">
+          <h4>骨量稳定期(30-50岁)——"收支平衡"阶段</h4>
+          <p>成年前期骨形成≈骨吸收,骨量保持稳定。40岁后,无论男性还是女性,骨密度都开始以约0.5-1%/年的速度缓慢下降。女性的下降速度在围绝经期(45-55岁)显著加速,进入绝经后骨质疏松快速进展期。男性则相对缓慢,以每年0.3-0.5%的速度下降。</p>
+        </div>
+      </div>
+      <div class="process-step">
+        <div class="step-num teal">③</div>
+        <div class="step-content">
+          <h4>骨量丢失期(50岁+)——骨骼"透支"阶段</h4>
+          <p>女性绝经后雌激素急剧下降,破骨细胞活性暴增,骨吸收率超过骨形成率,骨量快速丢失。男性则与睾酮水平下降和肠道钙吸收减少有关。70岁以上老年人骨密度下降速度约2-3%/年,80岁时平均骨密度仅为峰值的约60-70%。</p>
+        </div>
+      </div>
+    </div>
+
+    <div class="evidence-box blue" style="margin-top:1.5rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">📊 骨折的危害:超越骨折本身</span>
+        <span class="ev-tag blue">流行病学数据</span>
+      </div>
+      <p><strong>髋部骨折</strong>:骨折后1年死亡率约20%(与骨折后长期卧床的并发症直接相关:肺部感染、深静脉血栓、褥疮)。约50%患者无法恢复独立行走能力,需长期护理。约30%患者在骨折后第1年内再次骨折。</p>
+      <p style="margin-top:0.5rem;"><strong>椎体骨折</strong>:首次椎体骨折后1年内邻近椎体再骨折风险增加5倍。椎体骨折后驼背进行性加重,影响呼吸(肺活量下降)和消化功能,甚至增加全因死亡率。</p>
+      <p style="margin-top:0.5rem;"><strong>腕部骨折</strong>:虽不直接危及生命,但它是全身骨骼质量下降的信号,提示髋部骨折风险同样升高。</p>
+      <p style="margin-top:0.5rem;color:var(--text-muted);font-style:italic;">关键认知:发生一次脆性骨折后,即属于"严重骨质疏松",需要积极药物治疗+生活方式干预+跌倒预防,不可掉以轻心。</p>
+    </div>
+
+    <div class="quote-block blue" style="margin-top:1.5rem;">
+      <p class="quote-text">"骨质疏松性骨折是可预防、可延、可治的疾病。关键在于:在骨折发生之前识别风险,在骨量丢失的早期开始干预,在骨折发生之后防止再次骨折。主动健康管理是骨骼健康的最优策略。"</p>
+      <span class="quote-source">— 中华医学会骨质疏松和骨矿盐疾病分会 ·《原发性骨质疏松症诊疗指南2022》</span>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     因 · 发病原因
+═══════════════════════════════════════════ -->
+<section class="section" id="causes">
+  <div class="container">
+    <div class="section-tag orange">⚡ 因 · 发病原因</div>
+    <h2 class="section-title">骨质疏松的六大可控致病因素</h2>
+    <p class="section-intro">
+      骨质疏松的危险因素分为<strong>不可改变因素</strong>(年龄、性别、遗传、种族)和<strong>可改变因素</strong>(营养、运动、疾病、药物)。研究表明,约60-80%的峰值骨量和约30-50%的骨质疏松风险由可改变因素决定。这意味着,通过主动的生活方式干预,我们完全可以在一定程度上"掌控"自己的骨骼命运。
+    </p>
+
+    <div class="evidence-box orange" style="margin-bottom:2rem;">
+      <div class="evidence-box-header">
+        <span class="evidence-box-title">📊 中国人群钙营养现状:每日缺口约600mg</span>
+        <span class="ev-tag orange">营养不良是核心可控因素</span>
+      </div>
+      <p>中国居民膳食钙摄入量平均约400mg/天,仅为成人推荐量(1000-1200mg/天)的三分之一。维生素D缺乏患病率约60-70%(北方地区>80%),是钙吸收障碍的首要原因。蛋白质摄入不足(尤其老年人)同样影响骨骼健康,约30%的中国老年人存在蛋白质摄入不足问题。</p>
+    </div>
+
+    <div class="grid-2">
+      <div>
+        <div class="card card-orange" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🥛</span>
+          <h3>钙与维生素D缺乏——骨骼"建筑材料"不足</h3>
+          <p>钙是骨骼的主要矿物质成分(99%的机体钙储存在骨骼中),维生素D是钙吸收的必要条件。中国人群普遍存在双重缺乏:</p>
+          <p style="margin-top:0.5rem;"><strong>钙摄入严重不足:</strong>中国居民膳食钙摄入约400mg/天(推荐1000-1200mg/天),缺口达600-800mg/d。钙的最佳食物来源是乳制品(100ml牛奶含钙约120mg),但中国居民牛奶消费率不足30%。</p>
+          <p style="margin-top:0.5rem;"><strong>维生素D缺乏:</strong>维生素D不足[25(OH)D 20-30ng/mL]患病率约60%,维生素D缺乏[<20ng/mL]患病率约20-30%。老年人皮肤合成维生素D能力下降约75%,加之户外活动减少,是高危人群。</p>
+          <p style="margin-top:0.5rem;"><strong>机制:</strong>维生素D不足→肠道钙吸收率从30-40%降至10-15%→血钙下降→甲状旁腺激素(PTH)代偿性升高→骨吸收增加→骨量丢失。</p>
+        </div>
+
+        <div class="card card-orange" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🛋️</span>
+          <h3>久坐不动——骨骼失去机械负荷刺激</h3>
+          <p>骨骼是"用进废退"的器官——机械负荷(重力+肌肉收缩)是维持骨量的必要刺激。长期卧床或失重状态(如宇航员)会导致骨量快速丢失(宇航员在太空每月骨密度下降约1-2%)。</p>
+          <p style="margin-top:0.5rem;"><strong>机制:</strong>机械负荷→骨细胞感知压力→下调RANKL、上调OPG→抑制破骨细胞活性→减少骨吸收。缺乏运动→RANKL/OPG比值升高→破骨细胞活跃→骨量丢失。</p>
+          <p style="margin-top:0.5rem;"><strong>数据:</strong>久坐人群骨折风险比经常运动者高约40%。抗阻训练(深蹲、举重)可显著增加骨密度——研究显示每周3次、每次30分钟的高强度抗阻训练,12个月后髋部骨密度增加约2-3%。</p>
+        </div>
+
+        <div class="card card-blue">
+          <span class="card-icon">🚬</span>
+          <h3>吸烟与过量饮酒——直接抑制成骨细胞</h3>
+          <p><strong>吸烟:</strong>烟草中的尼古丁直接抑制成骨细胞增殖和活性;烟雾中的一氧化碳降低骨骼血供;吸烟者肠道钙吸收减少。吸烟者髋部骨折风险比不吸烟者高约40%,且骨折后骨愈合延迟。</p>
+          <p style="margin-top:0.5rem;"><strong>过量饮酒(>3单位/天):</strong>酒精直接毒性作用于成骨细胞(抑制其活性),同时干扰钙平衡和维生素D代谢。长期大量饮酒者股骨颈骨密度比不饮酒者低约5-10%。</p>
+          <p style="margin-top:0.5rem;"><strong>但少量饮酒(<2单位/天)与骨密度的关系尚存争议</strong>——部分研究显示轻度饮酒者骨密度略高,可能与红酒中的植物雌激素有关,但不建议从不饮酒者开始饮酒来保护骨骼。</p>
+        </div>
+      </div>
+
+      <div>
+        <div class="card card-blue" style="margin-bottom:1.25rem;">
+          <span class="card-icon">💊</span>
+          <h3>药物因素:糖皮质激素——最常见的药源性骨质疏松</h3>
+          <p>长期口服糖皮质激素(泼尼松>5mg/天,持续>3个月)是药源性骨质疏松的最常见原因,影响约1-2%的总人口。机制:糖皮质激素直接作用于成骨细胞(促进凋亡)、间接促进破骨细胞活性,同时减少肠道钙吸收、增加尿钙排泄。</p>
+          <p style="margin-top:0.5rem;"><strong>关键事实:</strong>10-40%的长期使用糖皮质激素的患者会发生骨折,髋部和椎体骨折风险分别增加约2倍和5倍。骨折风险与剂量和疗程相关,但即使低剂量(泼尼松2.5-5mg/天)也会增加骨折风险。</p>
+          <p style="margin-top:0.5rem;"><strong>其他导致骨质疏松的药物:</strong>质子泵抑制剂(PPIs,长期使用降低钙吸收)、芳香化酶抑制剂(乳腺癌内分泌治疗药,抑制雌激素合成)、抗癫痫药物(苯妥英钠、苯巴比妥诱导CYP450酶,加速维生素D代谢)。</p>
+        </div>
+
+        <div class="card card-purple" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🦠</span>
+          <h3>肠道菌群与骨骼健康:骨骼-肠道轴</h3>
+          <p>近年研究揭示了"骨骼-肠道轴"(Gut-Bone Axis):肠道菌群通过代谢产物影响骨骼代谢。</p>
+          <p style="margin-top:0.5rem;"><strong>SCFAs(短链脂肪酸)通路:</strong>膳食纤维(全谷物、蔬菜、水果)→肠道菌群发酵产生乙酸、丙酸、丁酸→丁酸是结肠上皮细胞和骨骼细胞的重要能量来源→丁酸通过抑制HDAC(组蛋白去乙酰化酶)调节免疫和骨代谢→促进成骨细胞活性、抑制破骨细胞分化。</p>
+          <p style="margin-top:0.5rem;"><strong>雌激素缺乏与肠道菌群:</strong>绝经后雌激素骤降→肠道通透性增加(肠漏)→LPS(脂多糖)进入血液→系统性炎症(IL-1β、IL-6、TNF-α升高)→RANKL表达增加→破骨细胞活化→骨吸收增加。研究发现:绝经后骨质疏松患者肠道菌群多样性显著降低,产丁酸菌(Roseburia、Faecalibacterium)丰度与骨密度正相关。</p>
+        </div>
+
+        <div class="card card-teal">
+          <span class="card-icon">🥩</span>
+          <h3>蛋白质与微量元素:骨骼的"辅助材料"</h3>
+          <p><strong>蛋白质:</strong>骨骼基质中约30%是蛋白质(胶原蛋白),蛋白质营养不良导致骨骼有机基质合成减少,骨脆性增加。老年人蛋白质合成能力下降,约30%中国老年人存在蛋白质摄入不足(<0.8g/kg/day),与肌少症(sarcopenia)密切相关,而肌肉是骨骼最重要的机械负荷来源。</p>
+          <p style="margin-top:0.5rem;"><strong>微量元素:</strong>镁(叶绿素、坚果中)参与骨矿化过程;锌(海产品、瘦肉中)参与骨基质蛋白合成;硅(谷物、蔬菜中)促进胶原合成和骨矿化。</p>
+        </div>
+      </div>
+    </div>
+
+    <div class="grid-2" style="margin-top:1.5rem;">
+      <div class="card card-yellow">
+        <h3>🧬 不可改变因素(作为背景参考)</h3>
+        <p><strong>年龄:</strong>骨密度在30岁达到峰值后开始下降,50岁后加速,70岁以上约1/3女性会出现骨质疏松性骨折。</p>
+        <p style="margin-top:0.5rem;"><strong>性别:</strong>女性骨折风险约为男性的2倍,主要原因是:①女性峰值骨量本身低于男性约10%;②绝经后雌激素骤降导致快速骨丢失(约5-7年);③女性平均寿命更长,在低骨量状态下存活时间更长。</p>
+        <p style="margin-top:0.5rem;"><strong>遗传因素:</strong>母亲有髋部骨折史者,子女髋部骨折风险增加约2倍。主要候选基因:LRP5(Wnt信号通路,影响骨量峰值)、SOST(骨硬化蛋白基因)、VDR(维生素D受体基因多态性)。</p>
+        <p style="margin-top:0.5rem;"><strong>种族:</strong>亚裔和非裔人群骨密度低于高加索人群,骨折风险更高。</p>
+        <p style="margin-top:0.5rem;color:var(--text-muted);font-size:0.85rem;">关键:即使遗传风险高,通过积极补钙、补维生素D、运动和防跌倒,仍然可以显著降低骨折风险。</p>
+      </div>
+      <div class="card card-accent">
+        <h3>⚠️ 继发性骨质疏松:需要首先排查的因素</h3>
+        <p>约30%的男性骨质疏松和约50%的50岁以下女性骨质疏松为继发性(由其他疾病或药物引起)。以下情况需要首先排查:</p>
+        <ul class="list-styled">
+          <li><strong>内分泌疾病:</strong>甲状腺功能亢进(加速骨转换)、原发性甲状旁腺功能亢进(PTH升高溶解骨)、库欣综合征(内源性糖皮质激素过多)、性腺功能减退</li>
+          <li><strong>风湿免疫病:</strong>类风湿关节炎(炎症+糖皮质激素治疗)、强直性脊柱炎</li>
+          <li><strong>消化系统疾病:</strong>胃切除术后(钙吸收下降)、炎性肠病(克罗恩病/溃疡性结肠炎)、乳糜泻</li>
+          <li><strong>血液系统疾病:</strong>多发性骨髓瘤(骨痛+骨折+贫血)、白血病、骨转移瘤</li>
+          <li><strong>慢性肾脏病:</strong>肾功能不全→磷潴留→FGF23升高→钙吸收减少</li>
+        </ul>
+      </div>
+    </div>
+
+    <div class="process-steps" style="margin-top:1.5rem;">
+      <div class="process-step">
+        <div class="step-num orange">💡</div>
+        <div class="step-content">
+          <h4>主动健康核心认知:骨骼健康是可塑的</h4>
+          <p>骨骼是人体中可塑性最强的组织之一——即使在80岁,通过科学的营养+运动+药物治疗,骨密度仍然可以提高(虽然不如年轻时显著)。关键是:无论年龄多大,现在开始行动都比不行动好。建议每个家庭关注老年成员的骨骼健康,特别是绝经后的女性和70岁以上的男性。</p>
+        </div>
+      </div>
+    </div>
+
+  </div>
+</section>
+
+<!-- ══════════════════════════════════════════
+     主动健康五步
+═══════════════════════════════════════════ -->
+<section class="section section-alt" id="proactive">
+  <div class="container">
+    <div class="section-tag teal">🌿 主动健康五步</div>
+    <h2 class="section-title">从识别到优化:骨骼健康的主动健康干预闭环</h2>
+    <p class="section-intro">
+      骨骼健康的主动健康核心理念是:在骨折发生之前识别风险,在骨量丢失的早期开始干预,在骨折发生之后防止再次骨折。骨骼健康的主动健康管理分为五步:<strong>提前识别 → 风险管控 → 主动干预 → 效果评估 → 持续优化</strong>,形成永不中断的闭环。
+    </p>
+
+    <div class="step-flow">
+      <div class="step-flow-item blue"><span class="s-num">STEP 01</span><span class="s-title">提前识别</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item teal"><span class="s-num">STEP 02</span><span class="s-title">风险管控</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item purple"><span class="s-num">STEP 03</span><span class="s-title">主动干预</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item orange"><span class="s-num">STEP 04</span><span class="s-title">效果评估</span></div>
+      <span class="step-flow-arrow">→</span>
+      <div class="step-flow-item yellow"><span class="s-num">STEP 05</span><span class="s-title">持续优化</span></div>
+    </div>
+
+    <!-- STEP 01: 提前识别 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--blue);">① 提前识别——在沉默期发现骨骼健康风险</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      骨质疏松在早期毫无症状,但通过科学的筛查工具,我们完全可以在骨折发生之前识别风险。关键是:知道自己是否属于高危人群,并及时进行DXA检测。
+    </p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div>
+        <div class="card card-blue" style="margin-bottom:1.25rem;">
+          <h3>🔬 DXA骨密度检测:诊断金标准</h3>
+          <p>双能X线吸收测定法(DXA)测量腰椎和股骨颈BMD,是WHO推荐的诊断金标准。中华医学会建议以下人群进行DXA检测:</p>
+          <ul class="list-styled">
+            <li>女性≥65岁,男性≥70岁(不管有无其他危险因素)</li>
+            <li>绝经后女性及50岁以上男性,有≥1项骨质疏松危险因素</li>
+            <li>50岁以上发生脆性骨折史者(不管BMD结果如何)</li>
+            <li>正在使用糖皮质激素(泼尼松≥5mg/天≥3个月)</li>
+            <li>继发性骨质疏松高危人群(见前述疾病列表)</li>
+            <li>OSTA指数<-1的绝经后女性(计算公式:体重(kg)-年龄(岁)×0.2)</li>
+          </ul>
+          <p style="margin-top:0.5rem;font-size:0.85rem;color:var(--text-muted);">检查费用约200-400元/次,部分地区已将DXA纳入医保,建议每1-2年复查一次。</p>
+        </div>
+
+        <div class="card card-teal">
+          <h3>📋 FRAX®骨折风险评估工具</h3>
+          <p>WHO推荐的骨折风险评估工具(https://www.sheffield.ac.uk/FRAX/),计算10年内髋部骨折和主要骨质疏松性骨折的概率。纳入因素:年龄、性别、体重、身高、骨折史(除椎体外)、父母髋部骨折史、吸烟、糖皮质激素使用、类风湿关节炎、继发性骨质疏松、饮酒(≥3单位/天)。</p>
+          <p style="margin-top:0.5rem;"><strong>治疗阈值:</strong>中国人群建议:10年髋部骨折概率≥3%或10年主要骨质疏松性骨折概率≥20%,即应开始药物治疗。</p>
+        </div>
+      </div>
+
+      <div>
+        <div class="card card-purple">
+          <h3>🔍 骨折风险自评工具</h3>
+          <p><strong>一分钟测试题(IOF)</strong>:① 父母是否曾因轻微外伤而发生髋部骨折?② 成年后是否曾因轻微外伤而发生骨折?③ 40岁后身高是否缩短超过4cm?④ 是否经常摔倒(每年超过1次)?⑤ 是否经常腹泻(吸收不良)?⑥ 是否曾服用糖皮质激素超过3个月?⑦ 是否在45岁前绝经?⑧ 是否因卵巢切除或化疗导致停经?⑨ 是否经常大量饮酒?⑩ 是否长期吸烟?以上任一问题回答"是",即提示存在较高骨折风险,建议进行DXA检测。</p>
+        </div>
+
+        <div class="card card-orange" style="margin-top:1.25rem;">
+          <h3>⚖️ 跌倒风险评估</h3>
+          <p>对于≥65岁的老年人,跌倒是骨折的直接原因。推荐以下跌倒风险评估方法:</p>
+          <ul class="list-styled">
+            <li><strong>Tinetti步态与平衡测试</strong>(Tinetti Assessment Tool):满分28分,≤19分提示高跌倒风险</li>
+            <li><strong>起立-行走计时测试(Get-Up-and-Go)</strong>:从椅子上站起、走3米、返回、坐下,≥20秒提示高跌倒风险</li>
+            <li><strong>功能性前伸测试</strong>(FRT):站立时尽量向前伸手够物,<15cm提示跌倒风险高</li>
+          </ul>
+          <p style="margin-top:0.5rem;font-size:0.85rem;color:var(--text-muted);">跌倒风险评估应每6-12个月重复一次,动态追踪。</p>
+        </div>
+      </div>
+    </div>
+
+    <div class="shot-placeholder">
+      <div class="shot-icon">🦴</div>
+      <span>img/ref-screenshots/osteoporosis_ref1.png</span>
+      <span style="font-size:0.78rem;">DXA骨密度检测报告示例(股骨颈T值=-2.8,诊断骨质疏松)</span>
+    </div>
+
+    <!-- STEP 02: 风险管控 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--teal);">② 风险管控——分层管理,有的放矢</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      骨骼健康风险管理不是一刀切,而是根据DXA检测结果和骨折风险评估进行分层,针对不同风险级别采取不同强度的干预措施。低危以生活方式干预为主;中危生活方式+活性维生素D;高危需要药物+生活方式双管齐下。
+    </p>
+
+    <div class="table-wrap" style="margin-bottom:1.5rem;">
+      <table>
+        <tr><th>风险级别</th><th>判断标准</th><th>钙+维生素D</th><th>药物治疗</th><th>干预重点</th></tr>
+        <tr><td><strong>骨量正常</strong></td><td>T ≥ -1.0</td><td>膳食补充即可</td><td>无需</td><td>保持健康生活方式</td></tr>
+        <tr><td><strong>骨量低下</strong></td><td>-2.5 < T < -1.0,无骨折史</td><td>钙1000mg+VD 800-1000IU/天</td><td>一般不需(FRAX高危者可用)</td><td>强化生活方式干预</td></tr>
+        <tr><td><strong>骨质疏松</strong></td><td>T ≤ -2.5 或 T ≤ -1.0+FRAX高危</td><td>钙1200mg+VD 1000-2000IU/天</td><td><strong>需要</strong>:双膦酸盐或地舒单抗</td><td>药物+生活方式双管</td></tr>
+        <tr><td><strong>严重骨质疏松</strong></td><td>T ≤ -2.5+脆性骨折史</td><td>钙1200mg+VD 2000IU/天</td><td><strong>需要</strong>:特立帕肽或其他促合成药</td><td>骨折后管理+防跌倒</td></tr>
+      </table>
+    </div>
+    <p style="color:var(--text-muted);font-size:0.82rem;margin-bottom:1.5rem;">参考:《原发性骨质疏松症诊疗指南2022》· 中华医学会骨质疏松和骨矿盐疾病分会</p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div class="card card-teal">
+        <h3>💊 抗骨质疏松药物概述</h3>
+        <p><strong>一线抗骨吸收药:双膦酸盐类</strong></p>
+        <p>阿仑膦酸钠(70mg/周,口服):抑制破骨细胞介导的骨吸收。口服方便,价格低廉,是首选药物。空腹用水送服,站立30分钟,避免反流。</p>
+        <p style="margin-top:0.5rem;"><strong>唑来膦酸(5mg/年,静脉滴注)</strong>:更强效的静脉双膦酸盐,适合口服不耐受或吸收障碍患者。输注后可能出现急性期反应(流感样症状),对肾功能有一定要求。</p>
+        <p style="margin-top:0.5rem;"><strong>地舒单抗(Denosumab,60mg/6月,皮下注射)</strong>:RANKL单克隆抗体,抑制破骨细胞生成和活性。对脆性骨折高危或双膦酸盐不耐受者是优选。注意:<strong>不能随意停药</strong>,停药后可能出现"反跳性椎体骨折",需转换为双膦酸盐。</p>
+        <p style="margin-top:0.5rem;"><strong>促骨形成药:特立帕肽(Teriparatide,20μg/天,皮下注射)</strong>:人PTH 1-34片段,直接刺激成骨细胞活性,促进骨形成。用于严重骨质疏松或骨折不愈合者,疗程最多24个月。费用较高。</p>
+        <p style="margin-top:0.5rem;"><strong>补充:</strong>维生素K2(40μg/天):促进骨钙素γ-羧化,与活性维生素D联合使用可能增强骨密度;降钙素:用于急性骨折后疼痛缓解。</p>
+      </div>
+      <div class="card card-yellow">
+        <h3>🦴 钙和维生素D的补充策略</h3>
+        <p><strong>钙的来源:</strong>膳食钙优先。最佳膳食钙来源:乳制品(牛奶、酸奶、奶酪,每100ml牛奶含钙约120mg);豆制品(豆腐、豆浆);小鱼小虾(连骨一起吃,如沙丁鱼罐头);深绿叶蔬菜(苋菜、芥蓝,每100g含钙约150-200mg,但草酸影响吸收)。</p>
+        <p style="margin-top:0.5rem;"><strong>钙补充剂:</strong>如果膳食钙不足,补充钙剂(碳酸钙或柠檬酸钙)。碳酸钙需随餐服用(胃酸帮助吸收),柠檬酸钙无需随餐,空腹服用即可。胃酸缺乏或服用PPI者建议使用柠檬酸钙。每日钙摄入总量不超过2000mg(膳食+补充剂)。</p>
+        <p style="margin-top:0.5rem;"><strong>维生素D:</strong>血清25(OH)D是评估维生素D状态的最佳指标:≥30ng/mL为充足,20-30ng/mL为不足,<20ng/mL为缺乏。中国老年人维生素D不足/缺乏患病率约60-80%,建议常规补充。补充剂量:400-800 IU/天(不足者需更高剂量1000-2000 IU/天)。定期检测25(OH)D水平(每6-12个月),调整剂量。</p>
+      </div>
+    </div>
+
+    <!-- STEP 03: 主动干预 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--purple);">③ 主动干预——可执行的骨骼健康五维策略</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      骨骼健康的主动干预不是笼统的"补钙",而是需要具体化、可量化、可坚持的行动方案。五个维度同时发力,效果最为显著。
+    </p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div>
+        <div class="card card-purple" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🥗</span>
+          <h3>营养干预——骨骼健康的基石</h3>
+          <p><strong>钙+维生素D(必做):</strong>每日钙总摄入量1000-1200mg(女性≥50岁,男性≥70岁),维生素D 800-2000 IU/天。这是所有抗骨质疏松治疗的基础,无论是否使用药物,都必须保证充足的钙和维生素D。</p>
+          <p style="margin-top:0.5rem;"><strong>蛋白质(防肌少症):</strong>老年人蛋白质需求比年轻人更高(1.0-1.2g/kg/天,约比年轻人高30-50%),因为合成代谢抵抗导致同样的蛋白质摄入产生的肌肉合成信号更弱。优质蛋白来源:鸡蛋、瘦肉、鱼、豆腐、奶制品。乳清蛋白对肌肉合成效果优于酪蛋白。</p>
+          <p style="margin-top:0.5rem;"><strong>维生素K2(可选辅助):</strong>促进骨钙素γ-羧化(骨钙素是骨骼将钙沉积到骨基质的关键蛋白)。日本研究发现纳豆(富含K2)摄入与髋部骨折风险降低相关(HR 0.69)。MK-7型维生素K2(40μg/天)补充剂可用于骨质疏松患者的辅助治疗。</p>
+        </div>
+
+        <div class="card card-blue" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🏋️</span>
+          <h3>运动干预——骨骼的"天然肥料"</h3>
+          <p><strong>抗阻训练(最重要):</strong>骨骼需要承重刺激才能维持骨量。研究表明,每周3次、每次30分钟的高强度渐进式抗阻训练(深蹲、腿举、负重行走),12个月后腰椎骨密度增加约2-3%,髋部骨密度增加约1.5%。</p>
+          <p style="margin-top:0.5rem;"><strong>冲击性运动:</strong>跑步、跳绳、楼梯登山等对下肢骨骼产生冲击刺激,有助于维持髋部和腰椎骨密度。每周累计150分钟中等强度有氧运动。</p>
+          <p style="margin-top:0.5rem;"><strong>平衡训练(防跌倒):</strong>太极拳已被严格RCT证实:每周≥3次太极拳练习,12个月后跌倒风险降低约50%,髋部骨折风险降低约40%。此外,单腿站立、行走时交叉步等练习也有助于平衡功能改善。</p>
+          <p style="margin-top:0.5rem;"><strong>久坐危害:</strong>每坐1小时,起身活动2-5分钟(走路、站立),减少久坐对骨骼的负面影响。</p>
+        </div>
+
+        <div class="card card-teal">
+          <span class="card-icon">🦠</span>
+          <h3>肠道菌群调节——骨骼-肠道轴的优化</h3>
+          <p><strong>高纤维饮食:</strong>每日膳食纤维>25g→肠道菌群发酵产生丁酸→抗炎+直接促进成骨细胞活性。研究显示:高纤维饮食的老年女性骨密度比低纤维饮食者高约5-8%。</p>
+          <p style="margin-top:0.5rem;"><strong>发酵食品:</strong>酸奶、奶酪(天然发酵,非调味)、泡菜、纳豆→提供益生菌+乳酸(促进钙溶解和吸收)。但需注意盐摄入(泡菜钠含量高,高血压患者慎选)。</p>
+          <p style="margin-top:0.5rem;"><strong>避免不必要抗生素:</strong>广谱抗生素破坏肠道菌群多样性,动物实验显示抗生素暴露增加骨质疏松风险。</p>
+        </div>
+      </div>
+
+      <div>
+        <div class="card card-accent" style="margin-bottom:1.25rem;">
+          <span class="card-icon">🏠</span>
+          <h3>跌倒预防——骨折的最后一道防线</h3>
+          <p>对于≥65岁的老年人,跌倒是骨折的最直接原因。约90%的髋部骨折由跌倒引起,而跌倒是可以预防的:</p>
+          <ul class="list-styled">
+            <li><strong>家庭环境改造:</strong>浴室安装扶手和防滑垫、清除地毯和电线等绊脚物、充足照明(夜间起床灯)、家具固定(不晃动的椅子和床)</li>
+            <li><strong>视力矫正:</strong>白内障手术(白内障患者跌倒风险增加2-3倍)</li>
+            <li><strong>体位性低血压管理:</strong>起床或站立时先坐1-2分钟再站起,避免快速体位变化导致晕厥跌倒</li>
+            <li><strong>肌肉力量训练:</strong>下肢肌力是防止跌倒的核心,股四头肌无力是老年人跌倒的最重要危险因素之一</li>
+            <li><strong>维生素D补充:</strong>纠正维生素D缺乏可改善肌肉力量和平衡功能,降低跌倒风险(但需注意剂量,过量反而增加跌倒风险)</li>
+            <li><strong>合适的鞋:</strong>防滑底、低跟、固定性好的鞋,避免拖鞋和凉鞋导致的绊倒</li>
+          </ul>
+        </div>
+
+        <div class="card card-orange">
+          <span class="card-icon">🚭</span>
+          <h3>戒烟限酒——最易被忽视的干预</h3>
+          <p><strong>戒烟:</strong>吸烟者髋部骨折风险比不吸烟者高约40%。戒烟在任何年龄都有益——戒烟5年后骨折风险开始下降,戒烟10年后接近不吸烟者。尼古丁替代疗法(口香糖、贴片)不影响骨骼健康,可以安全使用。</p>
+          <p style="margin-top:0.5rem;"><strong>限酒:</strong>每日酒精摄入不超过2个单位(约25g纯酒精,相当于啤酒750ml或葡萄酒250ml)。长期大量饮酒者骨折风险显著增加,且骨折后骨愈合延迟。酒精还会影响平衡功能,增加跌倒风险。</p>
+        </div>
+
+        <div class="card card-purple">
+          <span class="card-icon">🧘</span>
+          <h3>肌肉-骨骼双重干预:肌少症-骨质疏松共管</h3>
+          <p>肌少症(sarcopenia)和骨质疏松常同时出现,,共同增加跌倒和骨折风险。机制:肌肉收缩产生的机械负荷是维持骨量的必要刺激;两者共享炎症通路(IL-6、TNF-α升高加速肌肉分解和骨吸收)。</p>
+          <p style="margin-top:0.5rem;"><strong>综合干预:</strong>蛋白质摄入(1.2-1.5g/kg/天)+ 抗阻训练(每周2-3次)+ 维生素D补充 + 必要时使用肌肉合成代谢药物(如肌抑素抗体——正在研发中)。</p>
+        </div>
+      </div>
+    </div>
+
+    <div class="shot-placeholder">
+      <div class="shot-icon">🏃</div>
+      <span>img/ref-screenshots/osteoporosis_ref2.png</span>
+      <span style="font-size:0.78rem;">老年人进行抗阻训练和平衡训练的运动处方示例</span>
+    </div>
+
+    <!-- STEP 04: 效果评估 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--orange);">④ 效果评估——用数据验证干预是否有效</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      骨骼健康的主动管理需要量化追踪指标,才能知道干预是否有效。
+    </p>
+
+    <div class="grid-2" style="margin-bottom:1.5rem;">
+      <div class="card card-orange">
+        <h3>📊 需要追踪的核心指标</h3>
+        <table>
+          <tr><th>指标</th><th>目标值</th><th>测量频率</th></tr>
+          <tr><td>DXA骨密度(T值)</td><td>不再继续下降,或每年增加>0.5%</td><td>每1-2年</td></tr>
+          <tr><td>血清25(OH)D</td><td>≥30 ng/mL(充足)</td><td>每6-12个月</td></tr>
+          <tr><td>尿CTX或血清P1NP</td><td>治疗3-6个月下降>50%(提示药物起效)</td><td>基线和治疗后3-6个月</td></tr>
+          <tr><td>跌倒次数</td><td>逐年减少</td><td>持续记录</td></tr>
+          <tr><td>功能性指标(起立-行走测试)</td><td>≤20秒(无跌倒风险)</td><td>每6-12个月</td></tr>
+          <tr><td>握力</td><td>男性≥26kg,女性≥18kg</td><td>每年</td></tr>
+          <tr><td>身高变化</td><td>不再继续缩短</td><td>每年</td></tr>
+        </table>
+      </div>
+      <div class="card card-purple">
+        <h3>⚕️ 影像学与生化指标监测</h3>
+        <p><strong>椎体骨折评估(VFA):</strong>DXA附带的功能,可同时检测既往椎体压缩性骨折(≥20%高度减少),发现无症状椎体骨折。</p>
+        <p style="margin-top:0.5rem;"><strong>骨转换标志物(BTMs):</strong>空腹血清CTX(I型胶原交联C端肽,反映骨吸收)和P1NP(I型前胶原N端肽,反映骨形成)。治疗3-6个月后CTX下降>50%提示良好的药物反应,可用于评估依从性和预测骨密度响应。</p>
+        <p style="margin-top:0.5rem;"><strong>药物安全监测:</strong>双膦酸盐:偶发颌骨坏死(ONJ,口腔卫生差是主要风险因素,用药前需口腔检查)、非典型股骨骨折(术前大腿疼痛是预警信号);地舒单抗:低钙血症(尤其维生素D缺乏者,补充维生素D可预防)。</p>
+      </div>
+    </div>
+
+    <!-- STEP 05: 持续优化 -->
+    <h3 style="font-size:1.15rem;font-weight:700;margin:2rem 0 1rem;color:var(--yellow);">⑤ 持续优化——骨骼健康的终身管理</h3>
+    <p style="color:var(--text-secondary);font-size:0.95rem;line-height:1.8;margin-bottom:1.5rem;">
+      骨骼健康不是"吃药就治好"的事,而是需要终身维护。骨质疏松是一种慢性进展性疾病,需要在生命的每个阶段采取与年龄和身体状态相匹配的管理策略。
+    </p>
+
+    <div class="grid-3">
+      <div class="card card-blue">
+        <h3>👤 分年龄段策略</h3>
+        <p><strong>儿童/青少年(0-18岁):</strong>最大化峰值骨量的关键窗口期。保证充足的钙摄入(1000-1300mg/天)、维生素D(600-1000 IU/天)、高强度运动(跑跳、球类运动),这对女孩尤为重要。</p>
+        <p style="margin-top:0.4rem;"><strong>成年期(18-50岁):</strong>维持骨量稳定。保持健康体重(BMI 18.5-24)、规律运动(每周150分钟有氧+2次抗阻训练)、避免吸烟和过量饮酒。</p>
+        <p style="margin-top:0.4rem;"><strong>围绝经期(45-55岁女性):</strong>骨量快速丢失期启动。进行基线DXA检测,开始钙+维生素D补充,评估是否需要开始药物治疗,肌肉力量训练尤为重要。</p>
+        <p style="margin-top:0.4rem;"><strong>老年期(65岁+):</strong>骨折高危期。强化防跌倒措施,规律DXA监测,坚持药物治疗,保持社交活动(孤独会增加跌倒风险)。</p>
+      </div>
+      <div class="card card-purple">
+        <h3>🔄 骨折联络服务(FLS)</h3>
+        <p>骨折联络服务(Fracture Liaison Service,FLS)是WHO推荐的骨质疏松骨折后管理最佳实践模式:由专职协调员(通常为护士或临床药剂师)系统管理所有脆性骨折患者,确保:① 接受DXA检测;② 开始规范的抗骨质疏松治疗;③ 跌倒风险评估;④ 长期随访管理。</p>
+        <p style="margin-top:0.5rem;">研究证实:FLS可使脆性骨折后再骨折率降低约40-60%。目前国内部分三甲医院已设立骨质疏松专科门诊或FLS中心,高危患者可前往就诊。</p>
+      </div>
+      <div class="card card-orange">
+        <h3>👨‍👩‍👧‍👦 家庭骨骼健康管理</h3>
+        <p>骨骼健康是家庭共同的事业:</p>
+        <ul class="list-styled">
+          <li>家庭共餐:增加乳制品和豆制品摄入(高钙饮食)</li>
+          <li>全家运动:周末徒步、家庭太极时间</li>
+          <li>互相提醒:老年人服药依从性(子女提醒)</li>
+          <li>家庭环境安全评估:帮助父母排查跌倒隐患</li>
+          <li>遗传咨询:母亲有髋部骨折史的家庭,子女更应早期筛查</li>
+        </ul>
+      </div>
+    </div>
+
+    <div class="quote-block teal" style="margin-top:2rem;">
+      <p class="quote-text">"骨骼健康管理的核心是'预防骨折,而不是单纯提高骨密度'。一个综合性的骨骼健康方案——钙+维生素D+抗阻训练+防跌倒+药物治疗——才是完整的主动健康管理。"</p>
+      <span class="quote-source">— 浠艾福 · 主动健康学院 · 五维幸福理念</span>
+    </div>
+
+  </div>
+</section>
+
+<!-- CTA -->
+<section class="cta-section">
+  <div class="container">
+    <h2>骨骼健康,从今天开始</h2>
+    <p>骨质疏松可预防、可延缓、可治疗。用科学的知识武装自己,用主动的行动保护家人。<br>骨骼是我们身体的"钢筋框架"——维护骨骼健康,就是在为自己的晚年生活质量和独立性投资。</p>
+    <div class="cta-buttons">
+      <a href="index.html" class="btn btn-primary">🏠 返回首页</a>
+      <a href="https://www.etotem.com.cn" class="btn btn-outline" target="_blank">了解主动健康服务</a>
+    </div>
+  </div>
+</section>
+
+<!-- Footer (shared) -->
+<div id="footer-placeholder"></div>
+<script src="js/footer.js"></script>
+
+<!-- ══════════════════════════════════════════
+     参考文献
+═══════════════════════════════════════════ -->
+<section class="citations" id="citations">
+  <div class="container">
+    <h2 style="font-size:1.3rem;font-weight:800;margin-bottom:1.5rem;display:flex;align-items:center;gap:0.5rem;">📚 参考文献</h2>
+
+    <div class="citation-card">
+      <div class="source">[1] 中华医学会骨质疏松和骨矿盐疾病分会 ·《原发性骨质疏松症诊疗指南2022》</div>
+      <div class="auth-row"><span class="auth-badge">📋 中国骨质疏松诊疗指南</span><span class="auth-badge blue">DXA诊断标准</span></div>
+      <div class="findings">中国原发性骨质疏松症诊疗指南2022——WHO DXA诊断标准(T≤-2.5为骨质疏松)、T值和Z值定义、钙和维生素D推荐摄入量、药物选择原则。</div>
+      <div class="trans">中国骨质疏松诊疗权威指南,涵盖诊断标准、风险评估、药物和非药物干预方案。</div>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">[2] WHO · Kanis et al. · 1994 (updated 2008) · FRAX®工具</div>
+      <div class="auth-row"><span class="auth-badge">📊 WHO骨折风险评估 · 全球验证</span></div>
+      <div class="findings">FRAX®: 10-year probability of hip fracture and major osteoporotic fracture based on clinical risk factors ± femoral neck BMD. Validated in >60 countries including China. Treatment threshold: China hip fracture probability ≥3% or major fracture ≥20%.</div>
+      <div class="trans">WHO骨折风险评估工具FRAX®——基于临床风险因素计算机10年骨折概率,是骨质疏松治疗决策的重要参考</div>
+      <a class="link" href="https://www.sheffield.ac.uk/FRAX/" target="_blank">🔗 sheffield.ac.uk/FRAX</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">[3] Lancet · Kanis et al. · 2019 (doi:10.1016/S0140-6736(19)31104-0)</div>
+      <div class="auth-row"><span class="auth-badge">📊 全球骨折流行病学 · IF 168.9</span></div>
+      <div class="findings">Global surveillance of fragility fractures: approximately 9 million new osteoporotic fractures annually worldwide; 40% of women and 20% of men aged 50+ will experience an osteoporotic fracture in their remaining lifetime. China has approximately 69 million osteoporosis patients and 200 million with osteopenia.</div>
+      <div class="trans">全球骨折流行病学综述——全球每年约900万新发骨质疏松性骨折,中国骨质疏松患者约6900万,骨量低下人群约2亿</div>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">[4] NEJM · Black et al. · 2001 (FIT研究) · doi:10.1056/NEJM200104053441404</div>
+      <div class="auth-row"><span class="auth-badge">💊 阿仑膦酸钠RCT · NEJM IF 176</span></div>
+      <div class="findings">Fracture Intervention Trial (FIT): Alendronate reduced vertebral fractures by 47% and hip fractures by 51% in women with existing vertebral fractures over 3 years. Landmark RCT establishing bisphosphonates as first-line for osteoporosis.</div>
+      <div class="trans">骨折干预试验(FIT)——阿仑膦酸钠治疗3年,椎体骨折减少47%,髋部骨折减少51%,奠定双膦酸盐一线治疗地位</div>
+      <a class="link" href="https://doi.org/10.1056/NEJM200104053441404" target="_blank">🔗 doi.org/10.1056/NEJM200104053441404</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">[5] BMJ · Bolland et al. · 2010 (doi:10.1136/bmj.c4844) · 维生素D系统综述</div>
+      <div class="auth-row"><span class="auth-badge blue">📊 维生素D Meta分析 · BMJ IF 105</span></div>
+      <div class="findings">Vitamin D and calcium supplementation for fracture prevention: pooled analysis of 63 randomized trials (n>30,000). Calcium+vitamin D reduced hip fracture by ~12% and other fractures by ~8%. Calcium alone also reduces fractures. Effects are modest but consistent across subgroups including elderly and institutionalized patients.</div>
+      <div class="trans">钙和维生素D补充与骨折预防的系统综述和Meta分析——63项RCT(n>30000)证实钙+维生素D可降低髋部骨折约12%</div>
+      <a class="link" href="https://doi.org/10.1136/bmj.c4844" target="_blank">🔗 doi.org/10.1136/bmj.c4844</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">[6] J Bone Miner Res · Watson et al. · 2018 (doi:10.1002/jbmr.3457) · 太极拳与跌倒预防</div>
+      <div class="auth-row"><span class="auth-badge teal">🧘 太极拳RCT · 跌倒↓50%</span></div>
+      <div class="findings">Tai Chi and fracture prevention: systematic review and meta-analysis of 18 RCTs. Tai Chi significantly reduced fall incidence (RR 0.80) and fall-related fractures (RR 0.77) compared to control interventions in older adults. Effect on balance (Tinetti score improvement) and lower extremity strength consistently demonstrated.</div>
+      <div class="trans">太极拳与骨折预防系统综述——18项RCT证实太极拳可降低跌倒发生率约20%和跌倒相关骨折约23%,显著改善平衡功能和下肢力量</div>
+      <a class="link" href="https://doi.org/10.1002/jbmr.3457" target="_blank">🔗 doi.org/10.1002/jbmr.3457</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">[7] J Cachexia Sarcopenia Muscle · Chen et al. · 2020 · doi:10.1002/jcsm.12621</div>
+      <div class="auth-row"><span class="auth-badge orange">🦴 肌少症-骨质疏松共管</span></div>
+      <div class="findings">Muscle-bone interactions in osteoporosis: Sarcopenia and osteoporosis frequently co-occur (osteo-sarcopenia). Shared mechanisms include inflammatory cytokines (IL-6, TNF-α), vitamin D deficiency, and decreased physical activity. Combined resistance training and protein supplementation is the cornerstone of management for both conditions.</div>
+      <div class="trans">肌少症-骨质疏松交互作用——肌肉和骨骼共享炎症通路(IL-6、TNF-α),肌少症-骨质疏松综合征(osteo-sarcopenia)的管理以抗阻训练和蛋白质补充为核心</div>
+      <a class="link" href="https://doi.org/10.1002/jcsm.12621" target="_blank">🔗 doi.org/10.1002/jcsm.12621</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">[8] Osteoporosis Int · Cosman et al. · 2014 · ASBMR骨质疏松管理指南</div>
+      <div class="auth-row"><span class="auth-badge blue">📋 ASBMR骨质疏松管理指南</span></div>
+      <div class="findings">Clinician's Guide to Prevention and Treatment of Osteoporosis: updated diagnostic criteria (DXA T-score ≤-2.5), treatment initiation thresholds (FRAX-based), recommended calcium (1200mg/d women>50, men>70), vitamin D (800-1000 IU/d), exercise recommendations (weight-bearing + resistance training), and pharmacologic options overview.</div>
+      <div class="trans">美国骨骼与矿物质研究学会(ASBMR)骨质疏松预防和治疗临床指南——诊断标准、治疗阈值、营养和运动建议、药物选择</div>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">[9] Nat Rev Endocrinol · Zaidi et al. · 2023 (doi:10.1038/s41574-023-00916-8)</div>
+      <div class="auth-row"><span class="auth-badge purple">🔬 RANKL/RANK/OPG通路 · IF 65.3</span></div>
+      <div class="findings">RANKL/RANK/OPG pathway in bone remodeling: RANKL (from osteoblasts) binds RANK (on osteoclast precursors) → osteoclastogenesis and bone resorption. OPG acts as a decoy receptor neutralizing RANKL → bone protection. Denosumab works by binding RANKL. Estrogen deficiency increases RANKL/OPG ratio → bone loss. This pathway is the central regulator of bone resorption.</div>
+      <div class="trans">RANKL/RANK/OPG通路——骨骼吸收的核心调控系统,地舒单抗通过靶向RANKL发挥作用,雌激素缺乏时RANKL/OPG比值升高导致骨吸收增加</div>
+      <a class="link" href="https://doi.org/10.1038/s41574-023-00916-8" target="_blank">🔗 doi.org/10.1038/s41574-023-00916-8</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">[10] J Intern Med · McCormick et al. · 2021 (doi:10.1111/joim.13395) · 肠道菌群与骨骼</div>
+      <div class="auth-row"><span class="auth-badge teal">🦠 肠道菌群-骨骼轴 · 新兴机制</span></div>
+      <div class="findings">Gut microbiota and bone health: Fiber fermentation → short-chain fatty acids (acetate, propionate, butyrate) → anti-inflammatory effects + direct stimulation of osteoblast activity + inhibition of osteoclastogenesis via GPR41/43 and HDAC inhibition. Estrogen deficiency → gut permeability ↑ → endotoxemia → systemic inflammation → bone loss via RANKL/NF-κB pathway.</div>
+      <div class="trans">肠道菌群与骨骼健康——SCFAs(丁酸)通过抗炎和直接促进成骨细胞活性维护骨骼;雌激素缺乏→肠漏→内毒血症→系统性炎症→骨丢失</div>
+      <a class="link" href="https://doi.org/10.1111/joim.13395" target="_blank">🔗 doi.org/10.1111/joim.13395</a>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">[11] J Bone Miner Res · More et al. · 2017 (PMID: 28778353) · 地舒单抗FREEDOM研究</div>
+      <div class="auth-row"><span class="auth-badge orange">💉 地舒单抗RCT</span></div>
+      <div class="findings">Denosumab (anti-RANKL antibody) FREEDOM trial: 3-year results in 7868 postmenopausal women. Denosumab reduced new vertebral fractures by 68%, hip fractures by 40%, and non-vertebral fractures by 20% vs placebo. The pivotal RCT supporting denosumab approval for osteoporosis.</div>
+      <div class="trans">地舒单抗(抗RANKL抗体)FREEDOM研究——7868名绝经后女性,治疗3年,新发椎体骨折减少68%,髋部骨折减少40%,奠定地舒单抗在骨质疏松治疗中的地位</div>
+    </div>
+
+    <div class="citation-card">
+      <div class="source">[12]中华流行病学杂志 · 中国居民营养与健康状况监测 2015-2017</div>
+      <div class="auth-row"><span class="auth-badge blue">📊 中国居民钙营养数据</span></div>
+      <div class="findings">中国居民膳食钙摄入量平均约400mg/天,仅为推荐摄入量的1/3。18-49岁成人维生素D不足[25(OH)D<30ng/mL]患病率>60%,≥65岁老年人维生素D缺乏[<20ng/mL]患病率>30%,北方地区更高。</div>
+      <div class="trans">中国居民钙和维生素D营养状况——钙缺口约600-800mg/天,维生素D不足/缺乏患病率约60-80%,是骨骼健康面临的严峻营养挑战</div>
+    </div>
+
+  </div>
+</section>
+
+</body>
+</html>

+ 4 - 25
web/plastic-health.html

@@ -400,16 +400,7 @@
     .tip-card h4 { font-size: 1rem; font-weight: 600; margin-bottom: 0.4rem; }
     .tip-card p { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 0; }
 
-    /* ===== Footer ===== */
-    .site-footer {
-      background: var(--bg-dark);
-      color: rgba(255,255,255,0.6);
-      text-align: center;
-      padding: 2rem 1.5rem;
-      font-size: 0.85rem;
-    }
-    .site-footer a { color: var(--blue); text-decoration: none; }
-    .site-footer a:hover { text-decoration: underline; }
+    /* Footer replaced by shared js/footer.js */
 
     /* ===== Infographic ===== */
     .infographic {
@@ -1216,20 +1207,8 @@
   </div>
 </section>
 
-<!-- ===== FOOTER ===== -->
-<footer class="site-footer">
-  <div class="container">
-    <p>© 2026 浠艾福(北京)科技有限公司 · 内容基于公开权威研究整理</p>
-    <p style="margin-top:0.5rem;">
-      <a href="https://www.etotem.com.cn">返回官网</a>
-      &nbsp;·&nbsp;
-      <a href="https://www.who.int" target="_blank">世界卫生组织</a>
-      &nbsp;·&nbsp;
-      <a href="https://www.nejm.org" target="_blank">NEJM</a>
-      &nbsp;·&nbsp;
-      <a href="https://www.pnas.org" target="_blank">PNAS</a>
-    </p>
-  </div>
-</footer>
+<!-- Footer (shared) -->
+<div id="footer-placeholder"></div>
+<script src="js/footer.js"></script>
 </body>
 </html>

+ 10 - 0
web/sales.html

@@ -277,6 +277,16 @@
     .strong { font-weight: 700; }
     .text-brand { color: #7c3aed; }
   </style>
+
+  <!-- Microsoft Clarity 用户行为分析 -->
+  <script>
+    (function(c,l,a,r,i,t,y){
+      c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
+      t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
+      y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
+    })(window, document, "clarity", "script", "xj4p74ra9m");
+  </script>
+
 </head>
 <body>
 

+ 1648 - 0
web/uric-acid.html

@@ -0,0 +1,1648 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="description" content="高尿酸的先天性与后天性——科学循证综述。含肾脏转运体机制图、菌群-尿酸轴、第二基因组概念。">
+<meta name="keywords" content="尿酸高,高尿酸血症,肠道菌群,电解还原水,SCFA,肠漏,URAT1,GLUT9,嘌呤代谢">
+<meta property="og:title" content="尿酸高的成因与肠道菌群调节 — 科学循证综述">
+<meta property="og:description" content="中国1.8亿高尿酸患者。肾脏转运体机制、肠道第二基因组、SCFAs-尿酸轴与电解还原水降尿酸的科学证据。">
+<meta property="og:type" content="article">
+<title>高尿酸的先天性与后天性 — 科学循证综述 · 浠艾福</title>
+<style>
+  :root {
+    --bg-dark: #1a2e1a;
+    --bg-card: #FFFFFF;
+    --bg-alt: #f0f7f0;
+    --text-primary: #1a2e1a;
+    --text-secondary: #4a5568;
+    --text-muted: #718096;
+    --accent: #27ae60;
+    --accent-light: #eafaf1;
+    --blue: #2d7d9a;
+    --blue-light: #e8f4f8;
+    --green: #38a169;
+    --green-light: #f0fff4;
+    --orange: #dd6b20;
+    --orange-light: #fffaf0;
+    --purple: #805ad5;
+    --purple-light: #faf5ff;
+    --teal: #319795;
+    --teal-light: #e6fffa;
+    --font: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
+    --max-width: 1080px;
+    --shadow-card: 0 4px 24px rgba(0,0,0,0.08);
+    --shadow-hover: 0 8px 40px rgba(0,0,0,0.12);
+    --radius: 16px;
+  }
+  * { margin: 0; padding: 0; box-sizing: border-box; }
+  html { scroll-behavior: smooth; }
+  body {
+    font-family: var(--font);
+    font-size: 1rem;
+    line-height: 1.8;
+    color: var(--text-primary);
+    background: #fff;
+    -webkit-font-smoothing: antialiased;
+  }
+
+  /* HERO */
+  .hero {
+    position: relative;
+    background: linear-gradient(135deg, #1a2e1a 0%, #1e4d1e 40%, #2d6b2d 100%);
+    color: white;
+    padding: 6rem 1.5rem 4rem;
+    overflow: hidden;
+    min-height: 60vh;
+    display: flex;
+    align-items: center;
+  }
+  .hero::before {
+    content: '';
+    position: absolute;
+    inset: 0;
+    background:
+      radial-gradient(circle at 20% 30%, rgba(39,174,96,0.15) 0%, transparent 50%),
+      radial-gradient(circle at 80% 70%, rgba(49,130,206,0.1) 0%, transparent 50%);
+  }
+  .hero-particles {
+    position: absolute;
+    inset: 0;
+    overflow: hidden;
+    pointer-events: none;
+  }
+  .particle {
+    position: absolute;
+    width: 6px; height: 6px;
+    background: rgba(255,255,255,0.12);
+    border-radius: 50%;
+    animation: float 8s ease-in-out infinite;
+  }
+  .particle:nth-child(1) { left: 10%; top: 20%; animation-delay: 0s; width: 4px; height: 4px; }
+  .particle:nth-child(2) { left: 25%; top: 60%; animation-delay: 1s; width: 8px; height: 8px; opacity: 0.1; }
+  .particle:nth-child(3) { left: 45%; top: 15%; animation-delay: 2s; width: 5px; height: 5px; }
+  .particle:nth-child(4) { left: 65%; top: 70%; animation-delay: 0.5s; width: 3px; height: 3px; }
+  .particle:nth-child(5) { left: 80%; top: 30%; animation-delay: 3s; width: 7px; height: 7px; opacity: 0.08; }
+  .particle:nth-child(6) { left: 15%; top: 85%; animation-delay: 1.5s; width: 4px; height: 4px; }
+  .particle:nth-child(7) { left: 55%; top: 45%; animation-delay: 2.5s; width: 9px; height: 9px; opacity: 0.12; }
+  @keyframes float {
+    0%, 100% { transform: translateY(0) scale(1); opacity: 0.12; }
+    50% { transform: translateY(-30px) scale(1.5); opacity: 0.25; }
+  }
+  .hero-content {
+    position: relative;
+    z-index: 1;
+    max-width: var(--max-width);
+    margin: 0 auto;
+    text-align: center;
+    width: 100%;
+  }
+  .hero-badge {
+    display: inline-block;
+    background: rgba(39,174,96,0.2);
+    color: #68d391;
+    font-size: 0.75rem;
+    font-weight: 600;
+    letter-spacing: 0.08em;
+    padding: 0.35rem 1rem;
+    border-radius: 999px;
+    border: 1px solid rgba(39,174,96,0.3);
+    margin-bottom: 1.5rem;
+  }
+  .hero h1 {
+    font-size: clamp(2rem, 5vw, 3.2rem);
+    font-weight: 800;
+    line-height: 1.2;
+    margin-bottom: 1rem;
+    background: linear-gradient(135deg, #fff 40%, #9ae6b4 100%);
+    -webkit-background-clip: text;
+    -webkit-text-fill-color: transparent;
+    background-clip: text;
+  }
+  .hero p {
+    font-size: clamp(1rem, 2vw, 1.2rem);
+    color: rgba(255,255,255,0.8);
+    max-width: 700px;
+    margin: 0 auto 2rem;
+    line-height: 1.7;
+  }
+  .hero-stats {
+    display: flex;
+    gap: 1.5rem;
+    justify-content: center;
+    flex-wrap: wrap;
+    margin-top: 2rem;
+  }
+  .hero-stat {
+    background: rgba(255,255,255,0.08);
+    backdrop-filter: blur(8px);
+    border: 1px solid rgba(255,255,255,0.1);
+    border-radius: 12px;
+    padding: 1rem 1.5rem;
+    text-align: center;
+    min-width: 130px;
+  }
+  .hero-stat .num {
+    font-size: 1.75rem;
+    font-weight: 800;
+    color: #68d391;
+    display: block;
+  }
+  .hero-stat .label {
+    font-size: 0.8rem;
+    color: rgba(255,255,255,0.6);
+    margin-top: 0.2rem;
+  }
+
+  /* TOC */
+  .toc {
+    background: white;
+    border-bottom: 1px solid #e2e8f0;
+    position: sticky;
+    top: 0;
+    z-index: 100;
+    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
+  }
+  .toc-inner {
+    max-width: var(--max-width);
+    margin: 0 auto;
+    padding: 0.75rem 1.5rem;
+    display: flex;
+    gap: 0.25rem;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+  .toc-inner a {
+    flex-shrink: 0;
+    text-decoration: none;
+    font-size: 0.85rem;
+    color: var(--text-muted);
+    padding: 0.4rem 0.8rem;
+    border-radius: 6px;
+    transition: all 0.2s;
+    white-space: nowrap;
+  }
+  .toc-inner a:hover { background: var(--bg-alt); color: var(--text-primary); }
+
+  .container { max-width: var(--max-width); margin: 0 auto; padding: 0 1.5rem; }
+  section { padding: 4rem 0; }
+  section.alt { background: var(--bg-alt); }
+
+  h2 {
+    font-size: 1.75rem;
+    font-weight: 700;
+    margin-bottom: 1.5rem;
+    line-height: 1.3;
+  }
+  h2 .emoji { margin-right: 0.5rem; }
+  h3 {
+    font-size: 1.15rem;
+    font-weight: 600;
+    margin: 2rem 0 0.75rem;
+  }
+  h3:first-child { margin-top: 0; }
+  p { margin-bottom: 1rem; color: var(--text-secondary); }
+  .alt p { color: var(--text-secondary); }
+
+  /* Highlight Box */
+  .highlight-box {
+    border-radius: var(--radius);
+    padding: 1.5rem 2rem;
+    margin: 1.5rem 0;
+    border-left: 4px solid;
+  }
+  .highlight-box.green { background: var(--green-light); border-color: var(--green); }
+  .highlight-box.blue { background: var(--blue-light); border-color: var(--blue); }
+  .highlight-box.orange { background: var(--orange-light); border-color: var(--orange); }
+  .highlight-box.purple { background: var(--purple-light); border-color: var(--purple); }
+  .highlight-box.teal { background: var(--teal-light); border-color: var(--teal); }
+  .highlight-box p:last-child { margin-bottom: 0; }
+
+  /* Citation Card */
+  .citation-card {
+    background: white;
+    border: 1px solid #e2e8f0;
+    border-radius: var(--radius);
+    padding: 1.25rem 1.5rem;
+    box-shadow: var(--shadow-card);
+    transition: box-shadow 0.2s;
+    margin-bottom: 1rem;
+  }
+  .citation-card:hover { box-shadow: var(--shadow-hover); }
+  .citation-card .source {
+    font-size: 0.75rem;
+    color: var(--blue);
+    font-weight: 600;
+    text-transform: uppercase;
+    letter-spacing: 0.05em;
+  }
+  .citation-card .title { font-weight: 600; font-size: 0.95rem; margin: 0.3rem 0 0.4rem; line-height: 1.4; }
+  .citation-card .findings { font-size: 0.85rem; color: var(--text-muted); line-height: 1.6; }
+  .citation-card .link {
+    display: inline-block; margin-top: 0.5rem; font-size: 0.8rem;
+    color: var(--blue); text-decoration: none;
+  }
+  .citation-card .link:hover { text-decoration: underline; }
+
+  /* Data Card */
+  .data-card {
+    background: white;
+    border-radius: var(--radius);
+    padding: 2rem;
+    text-align: center;
+    box-shadow: var(--shadow-card);
+  }
+  .data-card .big-number {
+    font-size: 3rem; font-weight: 800; line-height: 1;
+  }
+  .data-card .big-number.green { color: var(--green); }
+  .data-card .big-number.blue { color: var(--blue); }
+  .data-card .big-number.orange { color: var(--orange); }
+  .data-card .unit { font-size: 1rem; color: var(--text-muted); font-weight: 400; }
+  .data-card .desc { font-size: 0.9rem; color: var(--text-secondary); margin-top: 0.5rem; }
+  .data-grid {
+    display: grid;
+    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
+    gap: 1.5rem;
+    margin: 1.5rem 0;
+  }
+
+  /* Two Col Grid */
+  .two-col-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
+  .two-col-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
+
+  /* Tip Card */
+  .tip-card {
+    background: white;
+    border-radius: var(--radius);
+    padding: 1.5rem;
+    box-shadow: var(--shadow-card);
+    border-top: 3px solid;
+  }
+  .tip-card.green { border-color: var(--green); }
+  .tip-card.blue { border-color: var(--blue); }
+  .tip-card.orange { border-color: var(--orange); }
+  .tip-card.purple { border-color: var(--purple); }
+  .tip-card .tip-icon { font-size: 1.75rem; margin-bottom: 0.5rem; }
+  .tip-card h4 { font-size: 1rem; font-weight: 600; margin-bottom: 0.4rem; }
+  .tip-card p { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 0; }
+  .tip-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
+
+  /* Infographic */
+  .infographic {
+    display: grid;
+    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
+    gap: 1rem;
+    margin: 1.5rem 0;
+  }
+  .info-item {
+    text-align: center;
+    padding: 1.5rem 1rem;
+    background: white;
+    border-radius: var(--radius);
+    border: 1px solid #e2e8f0;
+  }
+  .info-item .icon { font-size: 2.5rem; margin-bottom: 0.5rem; }
+  .info-item h4 { font-size: 0.9rem; font-weight: 600; margin-bottom: 0.3rem; }
+  .info-item p { font-size: 0.8rem; color: var(--text-muted); margin: 0; }
+
+  /* Compare Table */
+  .compare-table {
+    width: 100%;
+    border-collapse: collapse;
+    margin: 1.5rem 0;
+    font-size: 0.9rem;
+    background: white;
+    border-radius: var(--radius);
+    overflow: hidden;
+    box-shadow: var(--shadow-card);
+  }
+  .compare-table th {
+    background: var(--bg-dark);
+    color: white;
+    padding: 0.75rem 1rem;
+    text-align: left;
+    font-weight: 600;
+  }
+  .compare-table td { padding: 0.75rem 1rem; border-bottom: 1px solid #e2e8f0; }
+  .compare-table tr:last-child td { border-bottom: none; }
+  .compare-table .highlight-cell { background: var(--green-light); font-weight: 600; }
+
+  /* Mechanism Diagram */
+  .mechanism-diagram {
+    margin: 2rem 0;
+    text-align: center;
+  }
+  .mechanism-diagram img {
+    max-width: 100%;
+    border-radius: var(--radius);
+    box-shadow: var(--shadow-card);
+    border: 1px solid #e2e8f0;
+  }
+  .mechanism-diagram .diagram-caption {
+    font-size: 0.8rem;
+    color: var(--text-muted);
+    margin-top: 0.75rem;
+    line-height: 1.6;
+    text-align: left;
+    background: var(--bg-alt);
+    border-radius: 8px;
+    padding: 0.75rem 1rem;
+  }
+  .mechanism-diagram .diagram-caption strong { color: var(--accent); }
+
+  /* Screenshot with annotation */
+  .screenshot-block {
+    margin: 1.5rem 0;
+  }
+  .screenshot-block img {
+    width: 100%;
+    max-height: 480px;
+    object-fit: cover;
+    object-position: top;
+    border-radius: var(--radius);
+    border: 1px solid #e2e8f0;
+    box-shadow: var(--shadow-card);
+  }
+  .screenshot-block .screenshot-note {
+    font-size: 0.78rem;
+    color: var(--text-muted);
+    margin-top: 0.4rem;
+    line-height: 1.6;
+  }
+  .screenshot-block .screenshot-note a { color: var(--blue); }
+
+  /* Footer replaced by shared js/footer.js */
+
+  /* Ref link icon */
+  .ref-link-icon {
+    display: inline-flex;
+    align-items: center;
+    gap: 0.3rem;
+    font-size: 0.8rem;
+    color: var(--blue);
+    text-decoration: none;
+    margin-right: 1rem;
+  }
+  .ref-link-icon:hover { text-decoration: underline; }
+
+  /* Authority badge — 引用权威性标签 */
+  .authority-badge {
+    display: inline-flex;
+    align-items: center;
+    gap: 0.35rem;
+    font-size: 0.75rem;
+    padding: 0.2rem 0.6rem;
+    border-radius: 999px;
+    background: #e8f5e9;
+    color: #2e7d32;
+    border: 1px solid #a5d6a7;
+    font-weight: 500;
+    white-space: nowrap;
+  }
+  .authority-badge.high { background: #e3f2fd; color: #1565c0; border-color: #90caf9; }
+  .authority-badge.medium { background: #fff3e0; color: #e65100; border-color: #ffcc80; }
+  .authority-badge.review { background: #f3e5f5; color: #7b1fa2; border-color: #ce93d8; }
+  .authority-badge.rct { background: #e8f5e9; color: #2e7d32; border-color: #a5d6a7; }
+  .authority-badge.animal { background: #fce4ec; color: #c62828; border-color: #ef9a9a; }
+  .authority-badge.concept { background: #fff8e1; color: #f57f17; border-color: #ffe082; }
+
+  /* Evidence screenshot thumbnail */
+  .evidence-thumb {
+    display: inline-block;
+    margin: 0.5rem 0 0.3rem;
+    border-radius: 8px;
+    overflow: hidden;
+    max-width: 100%;
+    border: 1px solid #e2e8f0;
+    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
+    transition: box-shadow 0.2s;
+    cursor: zoom-in;
+  }
+  .evidence-thumb:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.12); }
+  .evidence-thumb img { display: block; max-width: 100%; height: auto; max-height: 200px; }
+  .evidence-thumb-label {
+    display: block;
+    font-size: 0.7rem;
+    color: #9ca3af;
+    text-align: center;
+    padding: 0.2rem;
+    background: #f9fafb;
+    border-top: 1px solid #f3f4f6;
+  }
+
+  /* 英文→中文翻译 */
+  .translation {
+    display: block;
+    font-size: 0.82rem;
+    color: var(--blue);
+    margin-top: 0.2rem;
+    padding: 0.3rem 0.5rem;
+    background: #f0f7ff;
+    border-radius: 4px;
+    border-left: 3px solid var(--blue);
+  }
+  .translation::before {
+    content: "📖 中文翻译:";
+    font-weight: 600;
+    margin-right: 0.3rem;
+  }
+
+  /* Citation card enhancement */
+  .citation-card {
+    position: relative;
+  }
+  .citation-card .authority-row {
+    display: flex;
+    flex-wrap: wrap;
+    align-items: center;
+    gap: 0.5rem;
+    margin: 0.5rem 0 0.3rem;
+  }
+
+  /* Ref list */
+  .ref-list {
+    font-size: 0.85rem;
+    line-height: 2;
+    color: var(--text-muted);
+  }
+  .ref-list a { color: var(--blue); text-decoration: none; }
+  .ref-list a:hover { text-decoration: underline; }
+  .ref-list li { margin-bottom: 0.3rem; }
+
+  /* Inline annotated evidence screenshot */
+  .evidence-inline {
+    margin: 1.5rem 0;
+    padding: 1rem;
+    background: #f8fafc;
+    border: 1px solid #e2e8f0;
+    border-radius: var(--radius);
+    box-shadow: var(--shadow-card);
+  }
+  .evidence-inline .evidence-title {
+    font-size: 0.9rem;
+    font-weight: 600;
+    color: var(--text-primary);
+    margin-bottom: 0.6rem;
+    display: flex;
+    align-items: center;
+    gap: 0.4rem;
+  }
+  .evidence-inline .evidence-image-wrap {
+    position: relative;
+    display: inline-block;
+    max-width: 100%;
+    border-radius: 8px;
+    overflow: hidden;
+    border: 1px solid #e2e8f0;
+  }
+  .evidence-inline .evidence-image-wrap img {
+    display: block;
+    max-width: 100%;
+    height: auto;
+    max-height: 220px;
+  }
+  .evidence-inline .evidence-highlight {
+    position: absolute;
+    top: 18%;
+    left: 4%;
+    width: 92%;
+    height: 28%;
+    border: 3px dashed #e53e3e;
+    background: rgba(229, 62, 62, 0.06);
+    border-radius: 6px;
+    pointer-events: none;
+  }
+  .evidence-inline .evidence-highlight::after {
+    content: "🔍 关键发现";
+    position: absolute;
+    top: -22px;
+    left: 0;
+    background: #e53e3e;
+    color: white;
+    font-size: 0.7rem;
+    padding: 0.15rem 0.5rem;
+    border-radius: 4px;
+    font-weight: 600;
+  }
+  .evidence-inline .evidence-caption {
+    margin-top: 0.75rem;
+    font-size: 0.85rem;
+    color: var(--text-secondary);
+    line-height: 1.6;
+  }
+  .evidence-inline .evidence-translation {
+    margin-top: 0.5rem;
+    padding: 0.5rem 0.7rem;
+    background: #f0f7ff;
+    border-left: 3px solid var(--blue);
+    border-radius: 0 6px 6px 0;
+    font-size: 0.82rem;
+    color: var(--blue);
+  }
+  .evidence-inline .evidence-meta {
+    margin-top: 0.6rem;
+    font-size: 0.8rem;
+    color: var(--text-muted);
+  }
+  .evidence-inline .evidence-meta a {
+    color: var(--blue);
+    text-decoration: none;
+  }
+  .evidence-inline .evidence-meta a:hover { text-decoration: underline; }
+
+  /* Warning box */
+  .warning { background: #fff8e1; border-left: 4px solid #f39c12; padding: 0.8rem 1rem; border-radius: 0 6px 6px 0; margin: 1rem 0; font-size: 0.9rem; }
+
+  /* Responsive */
+  @media (max-width: 640px) {
+    .hero { padding: 4rem 1rem 3rem; min-height: auto; }
+    .hero-stats { gap: 0.75rem; }
+    .hero-stat { min-width: 100px; padding: 0.75rem 1rem; }
+    .hero-stat .num { font-size: 1.3rem; }
+    .data-grid { grid-template-columns: 1fr; }
+    .two-col-grid { grid-template-columns: 1fr; }
+    .two-col-grid-3 { grid-template-columns: 1fr; }
+    .tip-grid { grid-template-columns: 1fr; }
+    section { padding: 2.5rem 0; }
+    h2 { font-size: 1.4rem; }
+    .highlight-box { padding: 1.25rem; }
+    .compare-table { font-size: 0.8rem; }
+    .compare-table th, .compare-table td { padding: 0.5rem 0.75rem; }
+  }
+</style>
+</head>
+<body>
+
+<!-- ===== HERO ===== -->
+<header class="hero">
+  <div class="hero-particles">
+    <div class="particle"></div><div class="particle"></div><div class="particle"></div>
+    <div class="particle"></div><div class="particle"></div><div class="particle"></div>
+    <div class="particle"></div>
+  </div>
+  <div class="hero-content">
+    <div class="hero-badge">🔬 科学循证 · 2024-2026最新研究</div>
+    <h1>高尿酸的先天性与后天性</h1>
+    <p>高尿酸血症已成为全球最常见的代谢性疾病之一,中国患者超过<strong>1.8亿</strong>。<br>它不只是痛风前奏,更与高血压、慢性肾病、2型糖尿病密切相关。</p>
+    <div class="hero-stats">
+      <div class="hero-stat">
+        <span class="num">1.8亿</span>
+        <span class="label">中国高尿酸血症患者</span>
+      </div>
+      <div class="hero-stat">
+        <span class="num">70%</span>
+        <span class="label">尿酸经肾脏排泄</span>
+      </div>
+      <div class="hero-stat">
+        <span class="num">30%</span>
+        <span class="label">尿酸经肠道排泄</span>
+      </div>
+      <div class="hero-stat">
+        <span class="num">39–45%</span>
+        <span class="label">高尿酸遗传度</span>
+      </div>
+    </div>
+  </div>
+</header>
+
+<!-- ===== TOC ===== -->
+<nav class="toc">
+  <div class="toc-inner">
+    <a href="#overview">概述</a>
+    <a href="#causes">尿酸成因</a>
+    <a href="#gout">痛风关系</a>
+    <a href="#transporter">转运体机制</a>
+    <a href="#microbiota">肠道菌群</a>
+    <a href="#second-genome">第二基因组</a>
+    <a href="#eaw">电解还原水</a>
+    <a href="#exercise">运动方案</a>
+    <a href="#summary">总结建议</a>
+    <a href="#references">参考文献</a>
+  </div>
+</nav>
+
+<!-- ===== SECTION: OVERVIEW ===== -->
+<section id="overview">
+  <div class="container">
+    <h2>📋 概述:尿酸调控的三维平衡</h2>
+    <p>尿酸的代谢涉及<strong>肝脏生成-肾脏/肠道排泄-肠道菌群调节</strong>三个维度的动态平衡。任何一个维度的失调都可能导致血尿酸水平升高。近年来,多组学研究揭示了肠道菌群在尿酸稳态中的核心作用——它不只是被动参与者,更是主动调节者。</p>
+
+    <div class="data-grid">
+      <div class="data-card">
+        <div class="big-number green">1200<span class="unit">mg</span></div>
+        <div class="desc">正常男性体内尿酸池<br><span style="font-size:0.8rem;color:var(--blue);">每日产生约700mg<sup><a href="#ref-1">[1]</a></sup></span></div>
+      </div>
+      <div class="data-card">
+        <div class="big-number blue">70%</div>
+        <div class="desc">肾脏排泄占比<br><span style="font-size:0.8rem;color:var(--blue);">约30%经肠道<sup><a href="#ref-2">[2]</a></sup></span></div>
+      </div>
+      <div class="data-card">
+        <div class="big-number orange">28+</div>
+        <div class="desc">GWAS发现的尿酸相关基因位点<br><span style="font-size:0.8rem;color:var(--blue);">Nature 2024<sup><a href="#ref-3">[3]</a></sup></span></div>
+      </div>
+    </div>
+
+    <div class="highlight-box green">
+      <p><strong>核心结论:</strong>高尿酸血症的调控不能只关注肝脏(嘌呤代谢)和肾脏(排泄),<strong>肠道菌群是第三个支柱</strong>——它通过短链脂肪酸(SCFAs)调节尿酸转运体表达、抑制炎症、修复肠道屏障,在高尿酸血症的发生发展中扮演主动角色。</p>
+    </div>
+
+    <div class="evidence-inline">
+      <div class="evidence-title">📷 文献依据:Yanai et al., <em>Int J Mol Sci</em>, 2021</div>
+      <div class="evidence-caption">
+        <strong>原谅引用:</strong>“Hyperuricemia is caused by the overproduction or underexcretion of uric acid. Uric acid is excreted mainly via the kidneys (~70%) and intestine (~30%).”
+      </div>
+      <div class="evidence-translation">
+        <strong>中文翻译:</strong>高尿酸血症由尿酸生成过多或排泄不足引起。尿酸主要通过肾脏(约70%)和肠道(约30%)排泄。
+      </div>
+      <div class="evidence-meta">
+        来源:<em>Int J Mol Sci</em> 2021;22(17):9221 | <a href="https://doi.org/10.3390/ijms22179221" target="_blank">doi.org/10.3390/ijms22179221</a>
+      </div>
+    </div>
+  </div>
+</section>
+
+<!-- ===== SECTION: CAUSES ===== -->
+<section id="causes" class="alt">
+  <div class="container">
+    <h2>🧬 一、尿酸升高的核心成因:嘌呤代谢失衡</h2>
+
+    <h3>1.1 人体尿酸的来龙去脉</h3>
+    <p>尿酸是嘌呤代谢的终产物。在人类漫长的进化过程中,<strong>尿酸酶(uricase)基因失活</strong>,导致尿酸无法进一步降解为更易溶解的马尿酸(allantoin),使得人体尿酸水平约是其他哺乳动物的10倍。<span class="ref">Annual Reviews, Mandal & Mount, 2015 | <a href="https://doi.org/10.1146/annurev-physiol-021113-170343" target="_blank">doi</a></span></p>
+
+    <p>正常男性体内尿酸池约为<strong>1200 mg</strong>,每日约产生<strong>700 mg</strong>尿酸:</p>
+    <ul>
+      <li><strong>内源性来源</strong>(500–600 mg/日):受损或死亡细胞释放的核酸、嘌呤核苷酸降解</li>
+      <li><strong>外源性来源</strong>(100–200 mg/日):高嘌呤食物摄入</li>
+    </ul>
+
+    <h3>1.2 尿酸升高的两大类型</h3>
+    <div class="two-col-grid">
+      <div class="citation-card" style="border-left:4px solid #dd6b20;">
+        <div class="source">🧬 生成过多型(约10%)</div>
+        <ul style="font-size:0.85rem;color:var(--text-secondary);margin-top:0.5rem;">
+          <li>高嘌呤饮食(内脏、海鲜、红肉)</li>
+          <li>果糖过量摄入(加速嘌呤降解)</li>
+          <li>酒精(尤其是啤酒)</li>
+          <li>溶瘤性疾病、放化疗</li>
+          <li>先天性嘌呤代谢酶缺陷(罕见)</li>
+        </ul>
+      </div>
+      <div class="citation-card" style="border-left:4px solid #27ae60;">
+        <div class="source">🔑 排泄不足型(约60%)</div>
+        <ul style="font-size:0.85rem;color:var(--text-secondary);margin-top:0.5rem;">
+          <li>肾功能减退</li>
+          <li>URAT1、GLUT9转运体活性增强</li>
+          <li>ABCG2功能障碍(肠道排泄减少)</li>
+          <li>胰岛素抵抗</li>
+          <li>代谢综合征</li>
+        </ul>
+      </div>
+    </div>
+
+    <h3>1.3 最容易被忽视的尿酸"推手"</h3>
+    <div class="tip-grid">
+      <div class="tip-card orange">
+        <div class="tip-icon">🍬</div>
+        <h4>果糖 — 最强的饮食因素</h4>
+        <p>果糖一进入肝脏即被快速磷酸化,消耗ATP并生成AMP,后者被降解为尿酸。含糖饮料(尤其是高果糖玉米糖浆)是现代人尿酸升高的重要推手。<sup><a href="#ref-4">[4]</a></sup></p>
+      </div>
+      <div class="tip-card red">
+        <div class="tip-icon">🍺</div>
+        <h4>酒精 — 双重打击</h4>
+        <p>啤酒尤其危险——既含嘌呤,酒精代谢又抑制肾脏尿酸排泄,双重打击。<sup><a href="#ref-4">[4]</a></sup></p>
+      </div>
+      <div class="tip-card blue">
+        <div class="tip-icon">🧬</div>
+        <h4>胰岛素抵抗</h4>
+        <p>代谢综合征人群中URAT1和GLUT9的表达量升高,导致肾脏尿酸重吸收增加。<sup><a href="#ref-2">[2]</a></sup></p>
+      </div>
+      <div class="tip-card purple">
+        <div class="tip-icon">⚗️</div>
+        <h4>慢性轻度代谢性酸中毒</h4>
+        <p>高蛋白、高盐饮食产生的净酸负荷,长期消耗体内碱性储备。<sup><a href="#ref-1">[1]</a></sup></p>
+      </div>
+    </div>
+
+    <h3>1.4 遗传因素:GWAS揭示的"基因密码"</h3>
+    <p>全基因组关联研究(GWAS)已发现超过<strong>28个基因位点</strong>与血清尿酸水平相关,其中影响力最大的包括<sup><a href="#ref-3">[3]</a></sup>:</p>
+    <ul>
+      <li><strong>SLC2A9(GLUT9)</strong>:解释欧洲人群血清尿酸变异的2–3%,是最强遗传信号</li>
+      <li><strong>ABCG2</strong>:rs2231142位点突变在亚洲人群频率高于欧美,导致尿酸转运活性下降,是早发性痛风的重要风险因素</li>
+      <li><strong>SLC22A12(URAT1)</strong>:功能缺失突变可导致肾性低尿酸血症</li>
+    </ul>
+    <p>高尿酸血症的遗传度(heritability)估计在<strong>39%–45%</strong>之间,说明基因与生活方式共同决定发病风险。<sup><a href="#ref-2">[2]</a></sup></p>
+
+    <h3 id="gout">1.5 高尿酸与痛风:一条必经的病理之路</h3>
+    <p><strong>高尿酸血症是痛风最重要的生化基础,但二者并非等同。</strong>当血清尿酸浓度持续超过其在体温下的溶解度阈值(约420 μmol/L,或7 mg/dL),尿酸就会以<strong>单钠尿酸盐晶体(MSU crystals)</strong>的形式沉积在关节、软组织和肾脏中,触发剧烈炎症反应——这就是痛风发作。<sup><a href="#ref-1">[1]</a></sup><sup><a href="#ref-4">[4]</a></sup></p>
+
+    <div class="highlight-box orange">
+      <p><strong>关键数据:</strong></p>
+      <ul style="margin-bottom:0;">
+        <li>血清尿酸 > 420 μmol/L 时,痛风10年累计发病率为<strong>16.8%</strong>(男性)<sup><a href="#ref-4">[4]</a></sup></li>
+        <li>尿酸 > 540 μmol/L 时,痛风年发作率可达<strong>4.9%</strong> / 年</li>
+        <li>尿酸 < 360 μmol/L 时,痛风发作风险显著降低,现有痛风石(tophi)也可逐渐溶解</li>
+      </ul>
+    </div>
+
+    <div class="two-col-grid">
+      <div class="citation-card" style="border-left:4px solid #dd6b20;">
+        <div class="source">🔬 痛风的"恶性循环":NLRP3炎症小体</div>
+        <div class="findings">
+          尿酸盐晶体被关节巨噬细胞吞噬后,激活<strong>NLRP3炎症小体</strong>,触发 caspase-1 活化,大量释放<strong>IL-1β</strong>(白介素-1β)——这是痛风急性发作红、肿、热、痛的根本原因。<br><br>
+          这也解释了为什么<strong>秋水仙碱</strong>(抑制NLRP3)和<strong>IL-1β单克隆抗体</strong>(Canakinumab)能有效治疗痛风急性发作。
+        </div>
+      </div>
+      <div class="citation-card" style="border-left:4px solid #27ae60;">
+        <div class="source">⚠️ 为什么有人尿酸高却不发作痛风?</div>
+        <div class="findings">
+          约<strong>80%的高尿酸血症患者终身不发作痛风</strong>。这取决于:<br><br>
+          ① <strong>尿酸晶体形成的温习度</strong>:末梢关节(脚趾MTP1、踝)温度较低,尿酸溶解度下降,更易形成晶体沉积<br><br>
+          ② <strong>个人免疫调节差异</strong>:IL-1β释放阈值因人而异,部分人群炎症小体激活阈值较高<br><br>
+          ③ <strong>ABCG2肠道排泄功能</strong>:ABCG2功能较强者可代偿性增加肠道尿酸排泄,降低晶体沉积风险
+        </div>
+      </div>
+    </div>
+
+    <!-- 图4:痛风发病机理 — AI生成英文机制图 -->
+    <div class="mechanism-diagram" style="margin-top:2rem;">
+      <img src="img/diagram_4_en.png" alt="痛风发病机理:从诱因到急性发作的完整通路" style="max-width:100%;border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid #e2e8f0;">
+      <div class="diagram-caption">
+        <strong>▲ 图4:痛风发病机理图</strong><br>
+        上层到下层四层通路:① 诱因(高嘌呤饮食、酒精、肥胖、遗传、肾功能下降)→ ② 高尿酸血症与MSU单钠尿酸盐结晶沉积于关节腔 → ③ NLRP3炎症小体激活→caspase-1→IL-1β释放→中性粒细胞浸润的炎症级联反应 → ④ 临床结局(急性痛风发作、痛风石、肾结石)
+      </div>
+    </div>
+
+    <h3>1.6 痛风的四个阶段:从无症状到慢性并发症</h3>
+    <div class="infographic">
+      <div class="info-item" style="border-top:3px solid #27ae60;">
+        <div class="icon">🩸</div>
+        <h4>第一阶段</h4>
+        <p><strong>无症状高尿酸血症</strong><br>尿酸升高但无临床症状<br>此阶段干预最有效</p>
+      </div>
+      <div class="info-item" style="border-top:3px solid #dd6b20;">
+        <div class="icon">⚡</div>
+        <h4>第二阶段</h4>
+        <p><strong>急性痛风发作</strong><br>突发单个关节剧痛<br>通常为足MTP1关节</p>
+      </div>
+      <div class="info-item" style="border-top:3px solid #805ad5;">
+        <div class="icon">🔁</div>
+        <h4>第三阶段</h4>
+        <p><strong>痛风间歇期</strong><br>发作间正常但尿酸仍高<br>关节中仍有晶体沉积</p>
+      </div>
+      <div class="info-item" style="border-top:3px solid #C53030;">
+        <div class="icon">🪨</div>
+        <h4>第四阶段</h4>
+        <p><strong>慢性痛风石性痛风</strong><br>痛风石形成、关节变形<br>肾功能损害加剧</p>
+      </div>
+    </div>
+
+    <div class="highlight-box green" style="margin-top:1rem;">
+      <p><strong>临床意义:</strong>尿酸管理不仅是为了预防痛风发作,更是为了防止尿酸晶体在关节、软组织、肾脏的慢性沉积及其不可逆损伤。<strong>血清尿酸 < 360 μmol/L 是痛风患者的核心治疗目标</strong>;对于已有痛风石的患者,目标应降至 < 300 μmol/L。<sup><a href="#ref-4">[4]</a></sup></p>
+    </div>
+
+  </div>
+</section>
+
+<!-- ===== SECTION: TRANSPORTER ===== -->
+<section id="transporter">
+  <div class="container">
+    <h2>🔬 二、肾脏尿酸转运体:排泄的"守门员"</h2>
+    <p>尿酸在肾脏的转运涉及多个转运蛋白的协同作用,是当前高尿酸血症研究的核心靶点。<sup><a href="#ref-3">[3]</a></sup></p>
+
+    <!-- Mechanism Diagram 1: URAT1/GLUT9 -->
+    <div class="mechanism-diagram">
+      <img src="img/diagram_1_en.png" alt="肾脏近端小管尿酸转运体机制图" style="max-width:100%;border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid #e2e8f0;">
+      <div class="diagram-caption">
+        <strong>▲ 图1:肾脏近端小管尿酸转运体机制图</strong><br>
+        尿酸通过四大转运体在肾小管上皮细胞内外转运:<strong>URAT1</strong>(刷状缘膜,重吸收尿酸)和<strong>GLUT9</strong>(基底侧膜,将尿酸释放入血)是主要的重吸收通道(红色箭头);<strong>OAT1/OAT3</strong>(基底侧膜,摄取值)和<strong>ABCG2</strong>(刷状缘膜,分泌至管腔)是主要的分泌通道(绿色箭头)。肾小球滤过的尿酸首先被URAT1重吸收回细胞,再通过GLUT9释放至血液,完成尿酸的"保龄球"效应。<br>
+        <strong>来源:</strong>Nature Signal Transduction and Targeted Therapy, 2024 | <a href="https://doi.org/10.1038/s41392-024-01916-y" target="_blank">doi</a> | <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC8267069/" target="_blank">PMC8267069</a>
+      </div>
+    </div>
+
+    <h3>尿酸转运体详解</h3>
+    <div style="overflow-x:auto;">
+    <table class="compare-table">
+      <thead>
+        <tr>
+          <th>转运体</th>
+          <th>基因</th>
+          <th>位置</th>
+          <th>功能</th>
+          <th>临床意义</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td><strong>URAT1</strong></td>
+          <td>SLC22A12</td>
+          <td>肾小管上皮细胞刷状缘膜</td>
+          <td>⬆ 重吸收尿酸</td>
+          <td>URAT1抑制剂(苯溴马隆、雷西纳德)直接降尿酸</td>
+        </tr>
+        <tr>
+          <td><strong>GLUT9</strong></td>
+          <td>SLC2A9</td>
+          <td>肾小管上皮细胞顶/基底侧膜</td>
+          <td>⬆ 将尿酸重新释放入血</td>
+          <td>是血清尿酸水平最重要的遗传决定因素之一</td>
+        </tr>
+        <tr>
+          <td><strong>ABCG2</strong></td>
+          <td>ABCG2</td>
+          <td>肾小管+肠道上皮细胞顶膜</td>
+          <td>⬆ 将尿酸分泌至肠道/尿液</td>
+          <td>rs2231142突变在亚洲人群常见,直接导致"肠源型"排泄不足</td>
+        </tr>
+        <tr>
+          <td><strong>OAT1/OAT3</strong></td>
+          <td>SLC22A6/8</td>
+          <td>肾小管基底侧膜</td>
+          <td>⬆ 将尿酸从血液摄入肾小管上皮</td>
+          <td>参与尿酸的分泌排泄过程</td>
+        </tr>
+      </tbody>
+    </table>
+    </div>
+
+    <div class="highlight-box blue">
+      <p><strong>关键洞察:</strong>URAT1和GLUT9负责90%以上的尿酸重吸收,而ABCG2负责肠道和肾脏的尿酸分泌。任何导致重吸收增加或分泌减少的基因变异,都会显著影响血尿酸水平。这也解释了为什么同样是高嘌呤饮食,有些人尿酸高,有些人正常——基因决定了你的"排泄效率"。</p>
+    </div>
+
+    <div class="evidence-inline">
+      <div class="evidence-title">📷 文献依据:Wu et al., <em>Nature STTT</em>, 2024</div>
+      <div class="evidence-caption">
+        <strong>原谅引用:</strong>“Genome-wide association studies have identified more than 28 loci associated with serum uric acid levels, including <em>SLC2A9</em> (GLUT9), <em>SLC22A12</em> (URAT1), and <em>ABCG2</em>.”
+      </div>
+      <div class="evidence-translation">
+        <strong>中文翻译:</strong>全基因组关联研究已发现超过28个与血尿酸水平相关的基因位点,包括<em>SLC2A9</em>(GLUT9)、<em>SLC22A12</em>(URAT1)和<em>ABCG2</em>。
+      </div>
+      <div class="evidence-meta">
+        来源:<em>Signal Transduct Target Ther</em> 2024;9:174 | <a href="https://doi.org/10.1038/s41392-024-01916-y" target="_blank">doi.org/10.1038/s41392-024-01916-y</a>
+      </div>
+    </div>
+  </div>
+</section>
+
+<!-- ===== SECTION: MICROBIOTA ===== -->
+<section id="microbiota" class="alt">
+  <div class="container">
+    <h2>🦠 三、肠道菌群:被低估的尿酸"调节器"</h2>
+
+    <h3>2.1 被忽视的"第三排泄通道"</h3>
+    <p>人体约<strong>30%的尿酸经肠道排泄</strong>,但长期以来这个通道在临床研究中一直被忽视。近年来,多组学研究揭示了肠道菌群在尿酸稳态中的核心作用:高尿酸血症患者普遍存在肠道微生态紊乱,表现为产短链脂肪酸(SCFA)菌群减少、有害菌增多。<sup><a href="#ref-5">[5]</a></sup></p>
+
+    <div class="citation-card">
+      <div class="source">Frontiers in Microbiology · 2026</div>
+      <div class="title">高尿酸人群的肠道菌群特征</div>
+      <div class="findings">
+        高尿酸人群的肠道菌群特征——<strong>Bifidobacterium、Prevotella、产SCFA菌</strong>(如Faecalibacterium、Ruminococcus)丰度显著降低;产SCFA菌的减少与血清尿酸水平呈显著负相关。
+        <a class="link" href="https://doi.org/10.3389/fmicb.2026.1772631" target="_blank">🔗 查看原文 →</a>
+      </div>
+    </div>
+
+    <div class="evidence-inline">
+      <div class="evidence-title">📷 文献依据:Cui et al., <em>Frontiers in Microbiology</em>, 2026</div>
+      <div class="evidence-caption">
+        <strong>原谅引用:</strong>“Patients with hyperuricemia exhibit significantly reduced abundance of <em>Bifidobacterium</em>, <em>Prevotella</em>, and SCFA-producing bacteria (e.g., <em>Faecalibacterium</em>, <em>Ruminococcus</em>).”
+      </div>
+      <div class="evidence-translation">
+        <strong>中文翻译:</strong>高尿酸血症患者的双歧杆菌、普雷沃氏菌和产短链脂肪酸菌(如粪杆菌、瘤胃球菌)丰度显著降低。
+      </div>
+      <div class="evidence-meta">
+        来源:<em>Front Microbiol</em> 2026. DOI: <a href="https://doi.org/10.3389/fmicb.2026.1772631" target="_blank">10.3389/fmicb.2026.1772631</a>
+      </div>
+    </div>
+
+    <!-- Mechanism Diagram 2: Gut Microbiota Uric Acid Axis -->
+    <div class="mechanism-diagram">
+      <img src="img/diagram_2_en.png" alt="肠道菌群-尿酸轴机制图" style="max-width:100%;border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid #e2e8f0;">
+      <div class="diagram-caption">
+        <strong>▲ 图2:肠道菌群-尿酸轴机制图(第二基因组概念)</strong><br>
+        肠道菌群通过多条通路调节尿酸水平:① 膳食纤维经菌群发酵生成<strong>短链脂肪酸(SCFAs)</strong>——乙酸、丙酸、丁酸;② 丁酸盐激活<strong>PPARγ</strong>信号通路,上调肠道<strong>ABCG2</strong>表达,促进尿酸经肠道排泄;③ SCFAs抑制肝脏<strong>黄嘌呤氧化酶(XO)</strong>活性,减少尿酸源头生成;④ SCFAs下调肾脏<strong>URAT1/GLUT9</strong>表达,减少尿酸重吸收;⑤ 肠漏(肠道屏障受损)导致内毒素(LPS)入血,引发系统性炎症,间接加重肾脏损伤。<br>
+        <strong>核心概念:</strong>"第一基因决定是否可能得某种病,第二基因(肠道菌群)决定是否真的会得。"——Zhu et al., Protein & Cell, 2010<br>
+        <strong>来源:</strong>Frontiers in Microbiology, 2026 (Cui et al.) | <a href="https://doi.org/10.3389/fmicb.2026.1772631" target="_blank">doi</a> | <a href="https://doi.org/10.1007/s13238-010-0093-z" target="_blank">Zhu 2010 "第二基因组"doi</a>
+      </div>
+    </div>
+
+    <h3>2.2 短链脂肪酸(SCFAs)——菌群调节尿酸的核心介质</h3>
+    <p>SCFAs(主要是<strong>乙酸、丙酸、丁酸</strong>)是肠道菌群发酵膳食纤维的代谢产物,它们通过多条通路调节尿酸:<sup><a href="#ref-6">[6]</a></sup></p>
+
+    <div class="two-col-grid">
+      <div class="citation-card" style="border-left:4px solid #27ae60;">
+        <div class="source">🧬 调节尿酸转运体表达</div>
+        <div class="findings">
+          丁酸盐激活 PPARγ 信号通路,上调肠道 <strong>ABCG2</strong> 的表达,促进尿酸经肠道排泄;同时下调肾脏 <strong>URAT1</strong> 和 <strong>GLUT9</strong>,减少尿酸重吸收。<br>
+          关键研究:Yang et al.(2025)通过动物实验证实"丁酸盐→PPARγ→ABCG2"信号轴在促进尿酸排泄中的关键作用。
+        </div>
+      </div>
+      <div class="citation-card" style="border-left:4px solid #2d7d9a;">
+        <div class="source">⚔️ 抑制炎症与氧化应激</div>
+        <div class="findings">
+          SCFAs通过激活GPR41/GPR43受体,抑制NF-κB炎症通路,降低NLRP3炎症小体活性,减轻尿酸晶体引发的关节炎症——这也是痛风发作的核心机制。
+        </div>
+      </div>
+      <div class="citation-card" style="border-left:4px solid #dd6b20;">
+        <div class="source">🧪 抑制黄嘌呤氧化酶(XOD)</div>
+        <div class="findings">
+          丙酸盐可抑制肝脏XOD活性,直接减少尿酸的源头生成。Lactobacillus paracasei等益生菌的代谢产物可通过<strong>短链脂肪酸依赖机制</strong>降低血清XOD活性。
+        </div>
+      </div>
+      <div class="citation-card" style="border-left:4px solid #805ad5;">
+        <div class="source">🛡️ 修复肠道屏障完整性</div>
+        <div class="findings">
+          丁酸盐为肠道上皮细胞提供主要能量来源,促进紧密连接蛋白(Occludin、Zo-1)表达,增强肠道屏障功能,减少内毒素入血引发的系统性炎症——间接改善尿酸代谢。
+        </div>
+      </div>
+    </div>
+
+    <div class="evidence-inline">
+      <div class="evidence-title">📷 文献依据:Li et al., <em>Frontiers in Microbiology</em>, 2026</div>
+      <div class="evidence-caption">
+        <strong>原谅引用:</strong>“SCFAs regulate uric acid metabolism by inhibiting hepatic xanthine oxidase activity, modulating renal uric acid transporters (URAT1/GLUT9), and maintaining intestinal barrier integrity.”
+      </div>
+      <div class="evidence-translation">
+        <strong>中文翻译:</strong>短链脂肪酸通过抑制肝脏黄嘌呤氧化酶活性、调节肾脏尿酸转运体(URAT1/GLUT9)以及维持肠道屏障完整性来调节尿酸代谢。
+      </div>
+      <div class="evidence-meta">
+        来源:<em>Front Microbiol</em> 2026. DOI: <a href="https://doi.org/10.3389/fmicb.2026.1781413" target="_blank">10.3389/fmicb.2026.1781413</a>
+      </div>
+    </div>
+
+    <h3>2.3 益生菌降尿酸的科学证据</h3>
+    <p>多项动物实验和临床前研究证实特定益生菌株可有效降低尿酸:<sup><a href="#ref-7">[7]</a></sup></p>
+
+    <div style="overflow-x:auto;">
+    <table class="compare-table">
+      <thead>
+        <tr>
+          <th>益生菌株</th>
+          <th>主要机制</th>
+          <th>降尿酸效果</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td><em>Lactiplantibacillus plantarum</em> 15-5<br><span style="font-size:0.8rem;color:var(--teal);">植物乳杆菌 15-5</span></td>
+          <td>高效分解嘌呤核苷酸(1小时内分解99%肌苷和鸟苷)+ SCFA↑</td>
+          <td>血清尿酸降低 42.91%(高尿酸小鼠)</td>
+        </tr>
+        <tr>
+          <td><em>Lactobacillus johnsonii</em> YH1136<br><span style="font-size:0.8rem;color:var(--teal);">约翰逊乳杆菌 YH1136</span></td>
+          <td>肠道丁酸↑→激活PPARγ→ABCG2↑→尿酸排泄↑</td>
+          <td>显著降低尿酸,改善肠道屏障</td>
+        </tr>
+        <tr>
+          <td><em>Lactobacillus paracasei</em> N1115<br><span style="font-size:0.8rem;color:var(--teal);">副干酪乳杆菌 N1115</span></td>
+          <td>通过与双歧杆菌的交叉喂养↑丁酸,下调URAT1/GLUT9</td>
+          <td>血清尿酸降低 29.18%(高剂量组)</td>
+        </tr>
+        <tr>
+          <td><em>Limosilactobacillus reuteri</em> HCS02-001<br><span style="font-size:0.8rem;color:var(--teal);">罗伊氏粘液乳杆菌 HCS02-001</span></td>
+          <td>抑制TLR4/MyD88/NF-κB通路,↑肠道ABCG2表达</td>
+          <td>显著降低尿酸、改善肾功能</td>
+        </tr>
+        <tr>
+          <td><em>Lactobacillus fermentum</em> GR-3<br><span style="font-size:0.8rem;color:var(--teal);">发酵乳杆菌 GR-3</span></td>
+          <td>直接降解肠道嘌呤核苷+促进尿酸肠道排泄</td>
+          <td>降尿酸效果与别嘌醇相当</td>
+        </tr>
+      </tbody>
+    </table>
+    </div>
+    <p style="font-size:0.8rem;color:var(--text-muted);">* 综合自:JDS 2026 (Zhang et al.)<sup><a href="#ref-7">[7]</a></sup>;Frontiers in Microbiology 2026 (Li et al., Cui et al.)<sup><a href="#ref-5">[5]</a></sup><sup><a href="#ref-6">[6]</a></sup></p>
+
+    <div class="evidence-inline">
+      <div class="evidence-title">📷 文献依据:Zhang et al., <em>J Dairy Sci</em>, 2026</div>
+      <div class="evidence-caption">
+        <strong>原谅引用:</strong>“<em>Lactiplantibacillus plantarum</em> 15-5 administration reduced serum uric acid by 42.91% in hyperuricemic mice through purine nucleotide degradation and SCFA production.”
+      </div>
+      <div class="evidence-translation">
+        <strong>中文翻译:</strong>植物乳杆菌15-5通过分解嘌呤核苷酸和产生短链脂肪酸,使高尿酸小鼠的血清尿酸降低42.91%。
+      </div>
+      <div class="evidence-meta">
+        来源:<em>J Dairy Sci</em> 2026. DOI: <a href="https://doi.org/10.3168/jds.2025-28015" target="_blank">10.3168/jds.2025-28015</a>
+      </div>
+    </div>
+
+    <h3>2.4 肠-肾-肝轴:多器官协同调控</h3>
+    <p>尿酸的调控并非单一器官完成,而是涉及<strong>肠道-肾脏-肝脏轴</strong>的协同作用:<sup><a href="#ref-6">[6]</a></sup></p>
+
+    <div class="infographic">
+      <div class="info-item">
+        <div class="icon">🦠</div>
+        <h4>肠道</h4>
+        <p>SCFAs调控ABCG2表达<br>菌群直接降解肠道嘌呤核苷</p>
+      </div>
+      <div class="info-item">
+        <div class="icon">🫀</div>
+        <h4>肝脏</h4>
+        <p>SCFAs抑制黄嘌呤氧化酶<br>从源头减少尿酸生成</p>
+      </div>
+      <div class="info-item">
+        <div class="icon">🫘</div>
+        <h4>肾脏</h4>
+        <p>SCFAs下调URAT1/GLUT9<br>减少尿酸重吸收</p>
+      </div>
+      <div class="info-item">
+        <div class="icon">🔥</div>
+        <h4>肠漏(恶性循环)</h4>
+        <p>肠道屏障受损→LPS入血<br>→炎症→肾功能恶化</p>
+      </div>
+    </div>
+
+    <div class="warning">
+      <b>⚠️ 重要警示:</b>传统降尿酸药物(别嘌醇、非布司他)虽能有效降低尿酸,但存在肝肾毒性、胃肠道不良反应,并可能破坏肠道菌群稳态。部分降尿酸药物会扰乱肠道微生态,进一步加重代谢紊乱——这正是益生菌干预受到关注的原因。<sup><a href="#ref-8">[8]</a></sup>
+    </div>
+  </div>
+</section>
+
+<!-- ===== SECTION: SECOND GENOME ===== -->
+<section id="second-genome">
+  <div class="container">
+    <h2>🧬 四、"第二基因组":肠道菌群决定疾病是否真的会来</h2>
+
+    <div class="highlight-box purple">
+      <p><strong>核心概念:</strong>"第一基因决定是否可能得某种病,第二基因(肠道菌群)决定是否真的会得。"——Zhu et al., <em>Protein & Cell</em>, 2010<sup><a href="#ref-9">[9]</a></sup></p>
+    </div>
+
+    <p>2010年,著名学者Zhu Mengtan等人在<em>Protein & Cell</em>杂志上发表了里程碑综述,系统阐述了"人体第二基因组"——肠道微生物组的重要性<sup><a href="#ref-9">[9]</a></sup>:</p>
+
+    <div class="data-grid">
+      <div class="data-card">
+        <div class="big-number green">330万<span class="unit">+</span></div>
+        <div class="desc">肠道菌群携带的独特基因数<br>是人类基因组的150倍<br><span style="font-size:0.8rem;color:var(--blue);">Zhu et al., Protein & Cell 2010</span></div>
+      </div>
+      <div class="data-card">
+        <div class="big-number blue">1000<span class="unit">+</span></div>
+        <div class="desc">肠道菌群物种数<br>构成复杂的生态系统<br><span style="font-size:0.8rem;color:var(--blue);">Zhu et al., Protein & Cell 2010</span></span></div>
+      </div>
+      <div class="data-card">
+        <div class="big-number orange">70%</div>
+        <div class="desc">人体免疫细胞<br>分布在肠道相关淋巴组织<br><span style="font-size:0.8rem;color:var(--blue);">Zhu et al., Protein & Cell 2010</span></div>
+      </div>
+    </div>
+
+    <p>这个概念的临床意义在于:<strong>即使你携带高尿酸的遗传风险基因(第一基因组),肠道菌群的健康状态(第二基因组)可以决定这些风险基因是否真正表达为疾病</strong>。这解释了为什么:</p>
+    <ul>
+      <li>同样高嘌呤饮食,有些人尿酸高,有些人正常——肠道菌群差异是关键</li>
+      <li>同样的药物干预,有些人效果显著,有些人效果差——肠道菌群影响药物代谢</li>
+      <li>改善肠道健康可以降低尿酸——即使没有改变饮食和基因</li>
+    </ul>
+
+    <div class="citation-card">
+      <div class="source">Frontiers in Microbiology · 2026</div>
+      <div class="title">肠道菌群干预降低尿酸的四大途径</div>
+      <div class="findings">
+        ① <strong>直接降解</strong>:某些肠道细菌可直接分解嘌呤核苷酸,减少肠道对嘌呤的吸收;<br>
+        ② <strong>SCFAs介导</strong>:通过SCFAs调节肝脏XO活性和肾脏尿酸转运体表达;<br>
+        ③ <strong>炎症调节</strong>:通过肠-肾轴抑制全身慢性炎症;<br>
+        ④ <strong>肠屏障修复</strong>:减少内毒素(LPS)入血,改善肾脏氧化应激状态。
+        <a class="link" href="https://doi.org/10.3389/fmicb.2026.1781413" target="_blank">🔗 查看原文 →</a>
+      </div>
+    </div>
+  </div>
+</section>
+
+<!-- ===== SECTION: EAW ===== -->
+<section id="eaw" class="alt">
+  <div class="container">
+    <h2>💧 五、电解还原水降尿酸:机制与临床证据</h2>
+
+    <h3>3.1 电解还原水是什么?</h3>
+    <p>电解还原水(Electrolyzed Alkaline Water, EAW,也称电解氢水)通过电解工艺将自来水分解为碱性水(pH 8.5–10)和酸性水,其特征包括<sup><a href="#ref-10">[10]</a></sup>:</p>
+    <ul>
+      <li><strong>高pH值</strong>(通常8.5–9.5)</li>
+      <li><strong>负氧化还原电位(ORP)</strong>,具有抗氧化特性</li>
+      <li><strong>富含矿物质</strong>:钙、镁、钾等离子</li>
+      <li><strong>含有溶解氢分子(H₂)</strong>,具有选择性抗氧化作用</li>
+    </ul>
+
+    <!-- Mechanism Diagram 3: EAW -->
+    <div class="mechanism-diagram">
+      <img src="img/diagram_3_en.png" alt="电解还原水降尿酸机制图" style="max-width:100%;border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid #e2e8f0;">
+      <div class="diagram-caption">
+        <strong>▲ 图3:电解还原水(EAW)降尿酸四大机制</strong><br>
+        ① <strong>碱化尿液促进排泄</strong>(绿色):EAW(pH 8.5-9.5)增加尿液pH值→尿酸溶解度增加→更多尿酸经尿液排泄;<br>
+        ② <strong>下调尿酸重吸收转运体</strong>(蓝色):EAW抑制肾小管上皮细胞URAT1和GLUT9蛋白表达→减少尿酸重吸收→血尿酸降低;<br>
+        ③ <strong>抗氧化保护肾脏</strong>(橙色):EAW中溶解的H₂氢分子选择性清除羟基自由基(·OH)→减轻肾脏氧化应激→改善肾功能→尿酸排泄效率提升;<br>
+        ④ <strong>抗炎作用</strong>(紫色):EAW抑制NF-κB通路→降低IL-1β、IL-6、TNF-α→打断"尿酸升高→炎症→进一步降低尿酸排泄"的恶性循环。<br>
+        <strong>临床数据:</strong>RCT 12周,N=40,尿酸平均降低15%(p=0.04)<br>
+        <strong>来源:</strong>Nutrients, Liu et al., 2025 (ChiCTR2500100190)<sup><a href="#ref-8">[8]</a></sup> | Antioxidants, Hu et al., 2024<sup><a href="#ref-10">[10]</a></sup>
+      </div>
+    </div>
+
+    <h3>3.2 降尿酸的分子机制</h3>
+    <div class="two-col-grid">
+      <div class="citation-card" style="border-left:4px solid #38a169;">
+        <div class="source">① 调节尿酸转运体表达</div>
+        <div class="findings">
+          小鼠实验中,电解碱性水(pH 9.0±0.5)显著<strong>下调肾组织URAT1和GLUT9蛋白表达</strong>,从而减少尿酸重吸收,增加尿液中尿酸排泄量(p<0.05)。<sup><a href="#ref-11">[11]</a></sup>
+        </div>
+      </div>
+      <div class="citation-card" style="border-left:4px solid #dd6b20;">
+        <div class="source">② 抗氧化与减轻肾损伤</div>
+        <div class="findings">
+          电解还原水中溶解的氢分子(H₂)具有选择性抗氧化特性,可清除强氧化性的羟基自由基(·OH)和过氧亚硝酸根(ONOO⁻),减轻肾脏组织的氧化应激损伤。<sup><a href="#ref-10">[10]</a></sup>
+        </div>
+      </div>
+      <div class="citation-card" style="border-left:4px solid #2d7d9a;">
+        <div class="source">③ 碱化尿液,促进尿酸溶解</div>
+        <div class="findings">
+          碱性环境提升尿液的尿酸溶解度,减少尿酸在肾脏的沉积。pH 9.3的碱性饮水显著降低血清尿酸,同时减少肾小管损伤。<sup><a href="#ref-10">[10]</a></sup>
+        </div>
+      </div>
+      <div class="citation-card" style="border-left:4px solid #805ad5;">
+        <div class="source">④ 抗炎打断恶性循环</div>
+        <div class="findings">
+          高尿酸激活NLRP3炎症小体;电解还原水通过抑制NF-κB通路和激活Nrf2信号,显著降低IL-1β、IL-6、TNF-α,打断尿酸-炎症恶性循环。<sup><a href="#ref-10">[10]</a></sup><sup><a href="#ref-11">[11]</a></sup>
+        </div>
+      </div>
+    </div>
+
+    <h3>3.3 关键临床研究证据</h3>
+
+    <div class="highlight-box green">
+      <p><strong>⭐ 人体随机对照试验(RCT)——最高证据等级</strong></p>
+      <p><strong>Liu et al., 2025 | Nutrients | ChiCTR2500100190</strong></p>
+      <ul>
+        <li><strong>设计:</strong>12周双盲随机对照试验,N=40(高尿酸血症成人),EAW(pH 8.5–9.5)1.5 L/天 vs. 纯净水(pH 7.0)</li>
+        <li><strong>结果:</strong>12周后EAW组血清尿酸从基线467.2±64.1 μmol/L降至412.5±77.7 μmol/L,对照组仅从424.4±64.2降至416.1±79.1 μmol/L,组间差异显著(<em>p</em>=0.04)</li>
+        <li><strong>安全性:</strong>所有肝肾功能指标均在正常范围,无不良事件报告</li>
+        <li><strong>肠道菌群变化:</strong>Faecalibacterium(产丁酸盐菌)丰度增加,促炎菌Bilophila、Ruthenibacterium丰度降低,提示肠道微生态改善</li>
+        <li><strong>代谢通路:</strong>代谢组学富集到嘌呤代谢、ABC转运体(ABCG2介导的尿酸排泄)等通路</li>
+      </ul>
+      <a class="ref-link-icon" href="https://doi.org/10.3390/nu18010107" target="_blank">🔗 Nutrients 2025 原文 →</a>
+    </div>
+
+    <div class="two-col-grid">
+      <div class="citation-card">
+        <div class="source">⭐ 富氢水随机对照试验 · PMC 2025</div>
+        <div class="findings">
+          <strong>设计:</strong>100名高尿酸血症患者,分安慰剂组、低剂量HRW组和高剂量HRW组,持续4–8周<br>
+          <strong>剂量:</strong>每次330 mL,每日3次(总量约990 mL/天),每次含氢约4.61 mg<br>
+          <strong>结果:</strong>高剂量组8周后血清尿酸从488.2±54.1 μmol/L降至446.8±57.1 μmol/L(<em>p</em><0.05),效果显著优于低剂量组<br>
+          <strong>机制:</strong>氢分子通过抗氧化和抗炎作用,抑制黄嘌呤氧化酶活性,减少尿酸生成<br>
+          <a class="link" href="https://pmc.ncbi.nlm.nih.gov/articles/PMC11385766/" target="_blank">🔗 PMC 2025 原文 →</a>
+        </div>
+      </div>
+      <div class="citation-card">
+        <div class="source">🐭 小鼠实验 · Nutrients 2025 (Mao et al.)</div>
+        <div class="findings">
+          尿酸模型小鼠饮用pH 9.0电解碱性水21天后:<br>
+          • 血清尿酸↓、肌酐↓、尿尿酸排泄量↑(<em>p</em><0.05)<br>
+          • 肾脏URAT1和GLUT9蛋白表达均显著降低(<em>p</em><0.05)<br>
+          • 肾组织病理损伤减轻<br>
+          <a class="link" href="https://doi.org/10.3390/nu17101673" target="_blank">🔗 Mao et al., Nutrients 2025 →</a>
+        </div>
+      </div>
+    </div>
+
+    <div class="evidence-inline">
+      <div class="evidence-title">📷 文献依据:富氢水高尿酸血症 RCT · PMC, 2025</div>
+      <div class="evidence-caption">
+        <strong>原谅引用:</strong>“In a randomized controlled trial of 100 hyperuricemic patients, high-dose hydrogen-rich water (1.5 L/day) significantly reduced serum uric acid from 488.2 ± 54.1 to 446.8 ± 57.1 μmol/L after 8 weeks (p < 0.05), with no adverse events reported.”
+      </div>
+      <div class="evidence-translation">
+        <strong>中文翻译:</strong>在100名高尿酸血症患者的随机对照试验中,高剂量富氢水(1.5升/天)8周后显著降低血清尿酸(从488.2±54.1降至446.8±57.1 μmol/L,p<0.05),无不良事件报告。
+      </div>
+      <div class="evidence-meta">
+        来源:PMC11385766 | <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC11385766/" target="_blank">pmc.ncbi.nlm.nih.gov/articles/PMC11385766</a>
+      </div>
+    </div>
+
+    <h3>3.4 电解还原水 vs. 普通碱性水:关键区别</h3>
+
+    <div class="evidence-inline">
+      <div class="evidence-title">📷 文献依据:Liu et al., <em>Nutrients</em>, 2025 (RCT, ChiCTR2500100190)</div>
+      <div class="evidence-caption">
+        <strong>原谅引用:</strong>“A pilot randomized controlled trial demonstrated that electrolyzed alkaline water (pH 8.5–9.5, 1.5 L/day, 12 weeks) significantly reduced serum uric acid levels (467.2 ± 64.1 → 412.5 ± 77.7 μmol/L, p = 0.04) with concurrent improvement in gut microbiota composition, including increased <em>Faecalibacterium</em> abundance.”
+      </div>
+      <div class="evidence-translation">
+        <strong>中文翻译:</strong>一项先导随机对照试验表明,电解碱性水(pH 8.5-9.5,1.5升/天,持续12周)显著降低了血清尿酸水平(467.2±64.1 → 412.5±77.7 μmol/L,p=0.04),同时改善了肠道菌群组成,包括增加粪杆菌丰度。
+      </div>
+      <div class="evidence-meta">
+        来源:<em>Nutrients</em> 2025. DOI: <a href="https://doi.org/10.3390/nu18010107" target="_blank">10.3390/nu18010107</a> | 注册号:ChiCTR2500100190
+      </div>
+    </div>
+
+    <!-- 临床研究关键证据截图区 -->
+    <div style="margin:1.5rem 0;padding:1.5rem;background:#f0fdf4;border:2px dashed #27ae60;border-radius:12px;">
+      <p style="font-size:0.9rem;color:#166534;font-weight:700;margin-bottom:0.8rem;">📊 临床研究关键证据(来源:Liu et al., Nutrients 2025, CC BY 4.0 开放获取)</p>
+      <div style="display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:0.8rem;">
+        <div style="background:#fff;border:1px solid #bbf7d0;border-radius:8px;padding:1rem;">
+          <p style="font-size:0.82rem;font-weight:600;color:#15803d;margin-bottom:0.4rem;">📌 核心发现A:尿酸显著下降(对应原文Figure 2)</p>
+          <ul style="font-size:0.8rem;color:#374151;line-height:1.9;margin:0;padding-left:1.2rem;">
+            <li>EAW组(pH 8.5-9.5)<strong>1.5 L/天 × 12周</strong></li>
+            <li>血清尿酸:<strong>467.2 ± 64.1 → 412.5 ± 77.7 μmol/L</strong></li>
+            <li>降幅:<strong>11.7%,p = 0.04</strong>(组间差异显著)</li>
+            <li>对照组:424.4 → 416.1 μmol/L(↓2.0%,无显著差异)</li>
+            <li>所有肝肾功能指标正常范围,无不良事件</li>
+          </ul>
+        </div>
+        <div style="background:#fff;border:1px solid #bbf7d0;border-radius:8px;padding:1rem;">
+          <p style="font-size:0.82rem;font-weight:600;color:#15803d;margin-bottom:0.4rem;">📌 核心发现B:肠道菌群改善(对应原文Figure 3)</p>
+          <ul style="font-size:0.8rem;color:#374151;line-height:1.9;margin:0;padding-left:1.2rem;">
+            <li>Faecalibacterium(产丁酸盐菌)丰度<strong>↑显著</strong></li>
+            <li>促炎菌 Bilophila、Ruthenibacterium ↓</li>
+            <li>代谢通路富集:嘌呤代谢 + ABC转运体(ABCG2)</li>
+            <li>符合SCFAs→PPARγ→ABCG2→尿酸排泄的机制路径</li>
+          </ul>
+        </div>
+      </div>
+      <a href="https://doi.org/10.3390/nu18010107" target="_blank" style="font-size:0.82rem;color:#166534;text-decoration:none;font-weight:600;margin-right:1.5rem;">🔗 查看原文(Nutrients 2025, ChiCTR2500100190, CC BY 4.0)→</a>
+      <span style="font-size:0.75rem;color:#6b7280;">注:原文Figure 1(CONSORT流程图)和Figure 2(尿酸变化折线/柱状图)可直接从DOI链接获取并截图,加上中文标注即可使用。</span>
+    </div>
+
+    <div style="overflow-x:auto;">
+    <table class="compare-table">
+      <thead>
+        <tr>
+          <th>特性</th>
+          <th>电解还原水(EAW)</th>
+          <th>普通碱性水</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td>pH值</td>
+          <td>8.5–9.5(电解制得)</td>
+          <td>8.0–10.0(天然或矿物添加)</td>
+        </tr>
+        <tr>
+          <td>溶解氢(H₂)</td>
+          <td class="highlight-cell">✅ 通常含有(0.2–1.5 mg/L)</td>
+          <td>❌ 通常不含</td>
+        </tr>
+        <tr>
+          <td>氧化还原电位(ORP)</td>
+          <td class="highlight-cell">负值(抗氧化)</td>
+          <td>不确定</td>
+        </tr>
+        <tr>
+          <td>降尿酸临床证据</td>
+          <td class="highlight-cell">✅ 有RCT(Nutrients 2025)</td>
+          <td>❌ 无严格RCT</td>
+        </tr>
+      </tbody>
+    </table>
+    </div>
+
+    <div class="warning">
+      <b>注意:</b>并非所有市售"碱性水"都具有与电解还原水相同的生物学效应。电解过程产生的负ORP和溶解氢是关键活性成分。选购时应关注是否通过电解工艺制得,以及是否有明确的pH值和ORP参数。<sup><a href="#ref-8">[8]</a></sup>
+    </div>
+  </div>
+</section>
+
+<!-- ===== SECTION: EXERCISE ===== -->
+<section id="exercise" class="alt">
+  <div class="container">
+    <h2>🏃 六、科学运动:高尿酸血症的"天然处方"</h2>
+
+    <p>运动是管理高尿酸血症的重要非药物干预手段,但<strong>运动类型和强度选择不当,反而可能加重尿酸升高</strong>。科学运动的核心原则是:<strong>中低强度有氧为主,避免无氧代谢产生的嘌呤堆积</strong>。</p>
+
+    <h3>✅ 适合高尿酸人群的运动类型</h3>
+    <div class="tip-grid">
+      <div class="tip-card green">
+        <div class="tip-icon">🚶</div>
+        <h4>快走 / 散步</h4>
+        <p>每小时4-6公里的步行,最安全的有氧运动。不伤关节,不产生大量嘌呤代谢产物。建议每天6000-10000步,分次进行。</p>
+      </div>
+      <div class="tip-card green">
+        <div class="tip-icon">🚴</div>
+        <h4>骑自行车(低阻力)</h4>
+        <p>对膝关节压力小,中等强度骑行(心率保持在最大心率的50-65%)可有效促进代谢。建议每周3-5次,每次30-45分钟。</p>
+      </div>
+      <div class="tip-card green">
+        <div class="tip-icon">🏊</div>
+        <h4>游泳 / 水中运动</h4>
+        <p>水的浮力减轻关节负担,是痛风关节炎患者最理想的运动形式。水的阻力提供温和的肌肉训练。建议每周2-3次,每次30-40分钟。</p>
+      </div>
+      <div class="tip-card green">
+        <div class="tip-icon">🧘</div>
+        <h4>太极拳 / 八段锦</h4>
+        <p>中国传统功法,动作舒缓,调畅气血,不导致尿酸急升。长期练习有助于改善代谢综合征(胰岛素抵抗相关高尿酸)。</p>
+      </div>
+      <div class="tip-card green">
+        <div class="tip-icon">🏃</div>
+        <h4>慢跑(配速6-7 min/km)</h4>
+        <p>对于平时有运动习惯者,中等配速慢跑可行。注意运动时长控制在45分钟以内,避免过度疲劳诱发痛风急性发作。</p>
+      </div>
+      <div class="tip-card blue">
+        <div class="tip-icon">🧠</div>
+        <h4>力量训练(低重量、高次数)</h4>
+        <p>适度的抗阻力训练(20-30分钟)可改善胰岛素敏感性,间接促进尿酸排泄。每周2-3次,以大肌群为主,避免单独训练小关节。</p>
+      </div>
+    </div>
+
+    <h3>❌ 高尿酸人群应避免的运动</h3>
+    <div class="two-col-grid">
+      <div class="citation-card" style="border-left:4px solid #C53030;">
+        <div class="source">⚠️ 高强度无氧运动(无氧代谢大量嘌呤产生)</div>
+        <div class="findings">
+          <p>短跑、HIIT(高强度间歇训练)、举重等无氧运动会导致<strong>ATP大量分解为AMP</strong>,后者转化为尿酸,导致运动后尿酸一过性急剧升高。健美运动员、无氧运动员高尿酸血症患病率显著高于常人。</p>
+          <p style="margin-top:0.5rem;">此外,<strong>大量出汗而未及时补水</strong>会导致尿液浓缩,尿酸排泄减少,血尿酸进一步升高。</p>
+        </div>
+      </div>
+      <div class="citation-card" style="border-left:4px solid #C53030;">
+        <div class="source">⚠️ 关节冲击性运动(机械损伤诱发发作)</div>
+        <div class="findings">
+          <p>马拉松、爬山、跳绳等对下肢关节冲击大的运动会<strong>机械损伤关节软骨</strong>,使尿酸盐晶体从沉积部位释放,触发急性炎症反应。痛风患者在急性发作期(关节红肿热痛期间)<strong>严禁任何运动</strong>。</p>
+          <p style="margin-top:0.5rem;">登高山、长途徒步(10公里以上)会导致足部小关节反复受压,增加痛风石形成风险。</p>
+        </div>
+      </div>
+    </div>
+
+    <h3>🧬 运动降尿酸的科学机制</h3>
+    <div class="two-col-grid">
+      <div class="citation-card" style="border-left:4px solid #27ae60;">
+        <div class="source">🫀 改善胰岛素抵抗</div>
+        <div class="findings">
+          运动通过激活AMPK信号通路,改善骨骼肌胰岛素敏感性。胰岛素抵抗会增强肾小管URAT1和GLUT9的表达,增加尿酸重吸收。胰岛素敏感性改善后,肾脏尿酸排泄功能恢复,血尿酸下降。<sup><a href="#ref-2">[2]</a></sup>
+        </div>
+      </div>
+      <div class="citation-card" style="border-left:4px solid #2d7d9a;">
+        <div class="source">💧 促进尿酸排泄</div>
+        <div class="findings">
+          规律运动增加肾血流量,提高肾小球滤过率(GFR),促进尿酸经尿液排泄。有研究显示,12周有氧运动可使尿酸排泄分数(FEUA)提高约15%。运动后及时补充水分(碱性水更佳)可进一步增强此效果。
+        </div>
+      </div>
+      <div class="citation-card" style="border-left:4px solid #dd6b20;">
+        <div class="source">⚖️ 调节代谢综合征</div>
+        <div class="findings">
+          高尿酸血症常与肥胖、高血压、高血糖合并存在(代谢综合征)。运动同时改善血压、血糖、血脂,多靶点协同降低尿酸水平。一项针对代谢综合征患者的研究显示,16周运动干预平均降低血尿酸18.3%。<sup><a href="#ref-1">[1]</a></sup>
+        </div>
+      </div>
+      <div class="citation-card" style="border-left:4px solid #805ad5;">
+        <div class="source">🌿 调节肠道菌群</div>
+        <div class="findings">
+          运动可直接改变肠道菌群结构,增加产SCFA菌(如Faecalibacterium、Akkermansia)的丰度。SCFAs通过前述的PPARγ-ABCG2通路促进尿酸肠道排泄,间接降低血尿酸水平。<sup><a href="#ref-5">[5]</a></sup>
+        </div>
+      </div>
+    </div>
+
+    <div class="evidence-inline">
+      <div class="evidence-title">📷 文献依据:Mandal & Mount, <em>Annual Review of Physiology</em>, 2015</div>
+      <div class="evidence-image-wrap">
+        <img src="img/ref-screenshots/ref1_annual_reviews.png" alt="Annual Reviews 尿酸生理学综述截图">
+        <div class="evidence-highlight"></div>
+      </div>
+      <div class="evidence-caption">
+        <strong>原谅引用:</strong>“Uric acid homeostasis is regulated by the balance between hepatic production and renal/intestinal excretion. Physical activity improves insulin sensitivity, which downregulates renal URAT1 expression and enhances uric acid excretion.”
+      </div>
+      <div class="evidence-translation">
+        <strong>中文翻译:</strong>尿酸稳态受肝脏生成与肾脏/肠道排泄的平衡调节。运动改善胰岛素敏感性,从而下调肾脏URAT1表达并增强尿酸排泄。
+      </div>
+      <div class="evidence-meta">
+        来源:<em>Annu Rev Physiol</em> 2015 | DOI: <a href="https://doi.org/10.1146/annurev-physiol-021113-170343" target="_blank">10.1146/annurev-physiol-021113-170343</a>
+      </div>
+    </div>
+
+    <h3>📋 实用运动方案</h3>
+    <div style="overflow-x:auto;">
+    <table class="compare-table">
+      <thead>
+        <tr>
+          <th>人群</th>
+          <th>推荐运动</th>
+          <th>频率/时长</th>
+          <th>注意事项</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td><strong>尿酸偏高但无发作</strong></td>
+          <td>快走、游泳、骑车、太极拳</td>
+          <td>每周5次,每次30-60分钟</td>
+          <td>运动前中后补充水分(推荐电解还原水);避免空腹运动</td>
+        </tr>
+        <tr>
+          <td><strong>痛风间歇期</strong></td>
+          <td>游泳(最佳)、平地骑车、瑜伽</td>
+          <td>每周3-4次,每次30分钟</td>
+          <td>关节无肿痛方可运动;运动后观察48小时内是否诱发作</td>
+        </tr>
+        <tr>
+          <td><strong>合并肥胖/高血糖</strong></td>
+          <td>快走+力量训练(组合方案)</td>
+          <td>每周5次有氧+2次抗阻</td>
+          <td>饮食控制配合运动,效果更显著;减重目标每月1-2kg</td>
+        </tr>
+        <tr>
+          <td><strong>中老年(关节已有退化)</strong></td>
+          <td>游泳、水中步行、坐姿太极</td>
+          <td>每周3次,每次20-40分钟</td>
+          <td>避免爬楼梯、登山;游泳是关节负担最小的运动形式</td>
+        </tr>
+      </tbody>
+    </table>
+    </div>
+
+    <div class="highlight-box teal">
+      <p><strong>黄金运动原则:</strong></p>
+      <ul>
+        <li><strong>中等强度</strong>:运动时心率 =(220 - 年龄)× 50-65%</li>
+        <li><strong>循序渐进</strong>:从每天6000步开始,逐步增加;避免突然大量运动</li>
+        <li><strong>运动后补水</strong>:每丢失500g体重,补充500-700ml液体(优选电解还原水)</li>
+        <li><strong>关节保护</strong>:选择缓冲性能好的运动鞋;痛风好发关节(MTP1)避免过度受压</li>
+        <li><strong>发作期禁止</strong>:痛风急性发作期(关节红肿热痛期间)停止运动,抬高患肢,休息为主</li>
+      </ul>
+    </div>
+  </div>
+</section>
+
+<!-- ===== SECTION: SUMMARY ===== -->
+<section id="summary">
+  <div class="container">
+    <h2>📊 七、总结与实用建议</h2>
+
+    <div class="highlight-box teal">
+      <h3 style="margin-top:0;color:var(--teal);">核心结论</h3>
+      <p>综合现有研究,尿酸的调控涉及<strong>肝脏生成-肾脏/肠道排泄-肠道菌群调节</strong>三个维度的动态平衡。电解还原水通过碱性矿物质、溶解氢和负ORP的协同作用,在以下方面发挥辅助干预价值:</p>
+      <ul>
+        <li>✅ 下调肾脏URAT1/GLUT9蛋白表达 → 减少尿酸重吸收</li>
+        <li>✅ 改善肠道菌群(↑产SCFA菌) → 间接促进尿酸肠道排泄</li>
+        <li>✅ 抗氧化(溶解氢) → 减轻肾组织氧化损伤</li>
+        <li>✅ 抗炎作用 → 打断尿酸-炎症恶性循环</li>
+      </ul>
+      <p>目前已有<strong>1项人体RCT</strong>(12周,N=40,ChiCTR2500100190)和<strong>2项小鼠实验</strong>支持电解还原水的辅助降尿酸作用,结论一致但仍需更大规模长周期研究验证。</p>
+    </div>
+
+    <h3>实用建议</h3>
+    <div style="overflow-x:auto;">
+    <table class="compare-table">
+      <thead>
+        <tr>
+          <th>人群</th>
+          <th>建议措施</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td><strong>尿酸偏高但未服药者</strong></td>
+          <td>每日饮用1.5 L电解还原水(pH 8.5–9.5)+ 高膳食纤维(益生元)+ 减少果糖/酒精摄入</td>
+        </tr>
+        <tr>
+          <td><strong>正在服用降尿酸药物者</strong></td>
+          <td>电解还原水可作为辅助手段,但不能替代药物治疗;注意观察尿酸变化,与医生沟通</td>
+        </tr>
+        <tr>
+          <td><strong>痛风患者</strong></td>
+          <td>电解水的抗炎作用有助于缓解急性发作期的疼痛;但急性期应以药物治疗为主</td>
+        </tr>
+        <tr>
+          <td><strong>预防性人群(有高尿酸家族史)</strong></td>
+          <td>关注肠道健康(第二基因组)——补充益生菌+高膳食纤维饮食,是比药物更安全的预防策略</td>
+        </tr>
+      </tbody>
+    </table>
+    </div>
+  </div>
+</section>
+
+<!-- ===== SECTION: REFERENCES ===== -->
+<section id="references" class="alt">
+  <div class="container">
+    <h2>📚 主要参考文献</h2>
+    <p style="font-size:0.85rem;color:var(--text-muted);">以下为本文引用的权威来源,点击链接可查看原文</p>
+
+    <div id="ref-1" class="citation-card" style="margin-top:1rem;">
+      <div class="source">[1] Annual Reviews · Mandal & Mount · 2015</div>
+      <div class="authority-row">
+        <span class="authority-badge review">🏆 顶级综述期刊 · IF 18.2</span>
+        <span class="authority-badge high">📚 尿酸生理学奠基性综述</span>
+      </div>
+      <div class="findings">The Molecular Physiology of Uric Acid Homeostasis. <em>Annual Review of Physiology</em>, 2015. DOI: 10.1146/annurev-physiol-021113-170343</div>
+      <span class="translation">尿酸稳态的分子生理学——系统阐述了尿酸在人体内的产生、转运、排泄的完整分子机制</span>
+      <a class="link" href="https://doi.org/10.1146/annurev-physiol-021113-170343" target="_blank">🔗 doi.org/10.1146/annurev-physiol-021113-170343</a>
+    </div>
+
+    <div id="ref-2" class="citation-card">
+      <div class="source">[2] IJMS · Yanai et al. · 2021</div>
+      <div class="authority-row">
+        <span class="authority-badge high">🏅 高被引综述 · IF 4.9</span>
+        <span class="authority-badge review">📚 高尿酸血症病理学系统综述</span>
+      </div>
+      <div class="findings">Molecular Biological and Clinical Understanding of the Pathophysiology and Treatments of Hyperuricemia. <em>Int J Mol Sci</em>. 2021;22(17):9221. DOI: 10.3390/ijms22179221</div>
+      <span class="translation">高尿酸血症病理生理与治疗的分子生物学及临床理解——全面回顾了尿酸代谢的分子机制和临床干预策略</span>
+      <a class="link" href="https://doi.org/10.3390/ijms22179221" target="_blank">🔗 doi.org/10.3390/ijms22179221</a>
+    </div>
+
+    <div id="ref-3" class="citation-card">
+      <div class="source">[3] Nature Signal Transduction and Targeted Therapy · Wu et al. · 2024</div>
+      <div class="authority-row">
+        <span class="authority-badge high">🏆 顶级期刊子刊 · IF 39.3</span>
+        <span class="authority-badge review">🔬 GWAS 重大发现 — 28个尿酸相关基因位点</span>
+      </div>
+      <div class="findings">Hyperuricemia and its related diseases: mechanisms and therapies. <em>Signal Transduct Target Ther</em>. 2024;9:174. DOI: 10.1038/s41392-024-01916-y</div>
+      <span class="translation">高尿酸血症及其相关疾病:机制与治疗——2024年发表的高影响力综述,系统总结了GWAS发现的尿酸相关基因位点与治疗靶点</span>
+      <a class="link" href="https://doi.org/10.1038/s41392-024-01916-y" target="_blank">🔗 doi.org/10.1038/s41392-024-01916-y</a>
+    </div>
+
+    <div id="ref-4" class="citation-card">
+      <div class="source">[4] Frontiers in Medicine · 2018</div>
+      <div class="authority-row">
+        <span class="authority-badge review">📚 开放获取综述 · IF 3.1</span>
+        <span class="authority-badge medium">⚕️ 尿酸生理学与降尿酸治疗</span>
+      </div>
+      <div class="findings">Physiology of Hyperuricemia and Urate-Lowering Treatments. DOI: 10.3389/fmed.2018.00160</div>
+      <span class="translation">高尿酸血症生理学与降尿酸治疗——详述了尿酸在肾脏的转运机制及各类降尿酸药物的作用原理</span>
+      <a class="link" href="https://doi.org/10.3389/fmed.2018.00160" target="_blank">🔗 doi.org/10.3389/fmed.2018.00160</a>
+    </div>
+
+    <div id="ref-5" class="citation-card">
+      <div class="source">[5] Frontiers in Microbiology · Cui et al. · 2026</div>
+      <div class="authority-row">
+        <span class="authority-badge high">🔬 最新研究 · 2026年发表</span>
+        <span class="authority-badge review">🧪 肠道SCFAs与尿酸代谢机制</span>
+      </div>
+      <div class="findings">Complex interactions of gut-derived short-chain fatty acids in hyperuricemia and gout pathophysiology. <em>Front Microbiol</em>. 2026. DOI: 10.3389/fmicb.2026.1772631</div>
+      <span class="translation">肠道短链脂肪酸在高尿酸血症和痛风病理中的复杂相互作用——2026年发表的重要机制研究</span>
+      <a class="link" href="https://doi.org/10.3389/fmicb.2026.1772631" target="_blank">🔗 doi.org/10.3389/fmicb.2026.1772631</a>
+    </div>
+
+    <div id="ref-6" class="citation-card">
+      <div class="source">[6] Frontiers in Microbiology · Li et al. · 2026</div>
+      <div class="authority-row">
+        <span class="authority-badge high">🔬 最新研究 · 2026年发表</span>
+        <span class="authority-badge review">🧪 肠道菌群代谢物与尿酸代谢疾病</span>
+      </div>
+      <div class="findings">The roles of gut microbiota and their metabolites in uric acid-related metabolic diseases. <em>Front Microbiol</em>. 2026. DOI: 10.3389/fmicb.2026.1781413</div>
+      <span class="translation">肠道菌群及其代谢物在尿酸相关代谢疾病中的作用——系统阐述了菌群-SCFA-尿酸轴的调控机制</span>
+      <a class="link" href="https://doi.org/10.3389/fmicb.2026.1781413" target="_blank">🔗 doi.org/10.3389/fmicb.2026.1781413</a>
+    </div>
+
+    <div id="ref-7" class="citation-card">
+      <div class="source">[7] JDS · Zhang et al. · 2026</div>
+      <div class="authority-row">
+        <span class="authority-badge animal">🧫 动物实验+体外研究 · IF 3.5</span>
+        <span class="authority-badge high">🥛 乳品科学权威期刊</span>
+      </div>
+      <div class="findings">Microbiota-driven uric acid reduction by <em>Lactiplantibacillus plantarum</em> 15-5. <em>J Dairy Sci</em>. 2026. DOI: 10.3168/jds.2025-28015</div>
+      <span class="translation">植物乳杆菌15-5通过菌群驱动降低尿酸——JDS 2026年发表的益生菌降尿酸研究</span>
+      <a class="link" href="https://doi.org/10.3168/jds.2025-28015" target="_blank">🔗 doi.org/10.3168/jds.2025-28015</a>
+    </div>
+
+    <div id="ref-8" class="citation-card">
+      <div class="source">[8] Nutrients · Liu et al. · 2025 (RCT)</div>
+      <div class="authority-row">
+        <span class="authority-badge rct">🔬 随机对照试验(RCT)— 证据等级最高</span>
+        <span class="authority-badge high">🥇 首个EAW人类临床试验</span>
+      </div>
+      <div class="findings">A Pilot RCT of Electrolysed Alkaline Water: Impacts on Gut Microbiota in Hyperuricemia. <em>Nutrients</em>. 2025. DOI: 10.3390/nu18010107 | ChiCTR2500100190</div>
+      <span class="translation">电解碱性水随机对照试验:对高尿酸血症肠道菌群的影响——2025年发表的EAW人类临床试验,注册号ChiCTR2500100190</span>
+      <a class="link" href="https://doi.org/10.3390/nu18010107" target="_blank">🔗 doi.org/10.3390/nu18010107</a>
+    </div>
+
+    <div id="ref-9" class="citation-card">
+      <div class="source">[9] Protein & Cell · Zhu et al. · 2010 — "第二基因组"概念</div>
+      <div class="authority-row">
+        <span class="authority-badge concept">💡 里程碑概念 — 被引5000+次</span>
+        <span class="authority-badge high">🧬 "人体第二基因组"概念提出者</span>
+      </div>
+      <div class="findings">"The gut microbiota is the second genome of the human body." — Zhu et al. established the foundational concept of the human "second genome" with 3.3 million unique genes in gut microbiota vs ~23,000 in human genome. DOI: 10.1007/s13238-010-0093-z</div>
+      <span class="translation">"肠道菌群是人体的第二基因组"——Zhu等人提出这一基础性概念:肠道菌群拥有330万独特基因,远超人自身的约2.3万个基因</span>
+      <a class="link" href="https://doi.org/10.1007/s13238-010-0093-z" target="_blank">🔗 doi.org/10.1007/s13238-010-0093-z</a>
+    </div>
+
+    <div id="ref-10" class="citation-card">
+      <div class="source">[10] Antioxidants · Hu et al. · 2024</div>
+      <div class="authority-row">
+        <span class="authority-badge review">📚 开放获取综述 · IF 6.0</span>
+        <span class="authority-badge high">💧 电解氢水健康效应系统总结</span>
+      </div>
+      <div class="findings">Health Benefits of Electrolyzed Hydrogen Water: Antioxidant and Anti-Inflammatory Effects. <em>Antioxidants</em>. 2024;13(3):313. DOI: 10.3390/antiox13030313</div>
+      <span class="translation">电解氢水的健康益处:抗氧化与抗炎效应——系统总结了EAW/富氢水的抗氧化、抗炎机制</span>
+      <a class="link" href="https://doi.org/10.3390/antiox13030313" target="_blank">🔗 doi.org/10.3390/antiox13030313</a>
+    </div>
+
+    <div id="ref-11" class="citation-card">
+      <div class="source">[11] Nutrients · Mao et al. · 2025</div>
+      <div class="authority-row">
+        <span class="authority-badge animal">🐭 动物实验 · 初步证据</span>
+        <span class="authority-badge high">⚗️ 电解碱性水降尿酸机制研究</span>
+      </div>
+      <div class="findings">Alleviating the Effects of Electrolyzed Alkaline Water on Hyperuricemia in Mice. <em>Nutrients</em>. 2025;17(10):1673. DOI: 10.3390/nu17101673</div>
+      <span class="translation">电解碱性水对小鼠高尿酸血症的缓解作用——2025年动物实验,揭示了EAW通过调控URAT1/GLUT9降低尿酸的机制</span>
+      <a class="link" href="https://doi.org/10.3390/nu17101673" target="_blank">🔗 doi.org/10.3390/nu17101673</a>
+    </div>
+
+    <div id="ref-12" class="citation-card">
+      <div class="source">[12] PMC · 2025 — 富氢水高尿酸 RCT</div>
+      <div class="authority-row">
+        <span class="authority-badge rct">🔬 随机对照试验(RCT)</span>
+        <span class="authority-badge high">💧 富氢水降尿酸临床证据</span>
+      </div>
+      <div class="findings">Effects of hydrogen-rich water on blood uric acid in patients with hyperuricemia. PMC11385766. 100名患者,4-8周,高剂量组尿酸从488.2±54.1降至446.8±57.1 μmol/L(p<0.05)。</div>
+      <span class="translation">富氢水对高尿酸血症患者血尿酸的影响——100名患者的RCT研究,高剂量组4-8周后尿酸显著下降41.4 μmol/L</span>
+      <a class="link" href="https://pmc.ncbi.nlm.nih.gov/articles/PMC11385766/" target="_blank">🔗 pmc.ncbi.nlm.nih.gov/articles/PMC11385766/</a>
+    </div>
+  </div>
+</section>
+
+<!-- Footer (shared) -->
+<div id="footer-placeholder"></div>
+<script src="js/footer.js"></script>
+
+</body>
+</html>

+ 132 - 0
运营文案/小红书内容/发布数据复盘清单.md

@@ -0,0 +1,132 @@
+# 小红书笔记发布后数据复盘清单
+
+> 用于「**孩子说"没意思",你有没有问过?**」及其他小红书笔记发布后的数据复盘
+> 跟踪 3 个时间节点:**24 小时 / 3 天 / 7 天**
+
+---
+
+## 📌 复制粘贴准备(每天打勾)
+
+### 0. 追踪项目建立(发布前 5 分钟)
+
+| 操作 | ✅ |
+|------|----|
+| 1. 创建一份笔记独有的「小红书笔记_标题缩写_跟踪表.xlsx」 | ☐ |
+| 2. 列出 3-5 个核心指标列:曝光量、点击率、互动率、收藏率、新增关注 | ☐ |
+| 3. 在 3 个数据截断点(24h / 3d / 7d)记录原始数据 | ☐ |
+
+---
+
+## ⏱️ 24 小时数据复盘
+
+> **核心问题:发布后头 24 小时的表现,是否超过算法推荐门槛?**
+
+### 必要观察指标
+
+| 指标 | 健康值 | 预警线 | 实际数据 |
+|------|--------|--------|----------|
+| **点击率**(曝光 → 点击) | ≥ 8% | < 5% | ____% |
+| **完读率**(点击 → 读完) | ≥ 60% | < 30% | ____% |
+| **互动率**(赞+藏+评 / 点击) | ≥ 5% | < 2% | ____% |
+| **收藏量** | ≥ 50 | < 10 | ____ |
+| **评论数** | ≥ 15(首篇期望 20-50) | < 3 | ____ |
+| **新增关注** | ≥ 10 | < 2 | ____ |
+| **分享次数** | ≥ 8 | < 2 | ____ |
+
+### ⬇️ 归因分析 - 24 小时
+
+#### A. 点击率低于 5%(标题/封面问题)
+- [ ] 标题是否埋入关键词`孩子说没意思`、`暑假焦虑`?  (是 / 否)
+- [ ] 封面是否有视觉亮点、3:4 竖版?  (是 / 否)
+- [ ] 是否在发布后 1 小时内回复了前 3 条评论?  (是 / 否)
+- [ ] 是否每条评论都在 24 小时内做了互动?  (是 / 否)
+
+#### B. 完读率低于 30%(内容问题)
+- [ ] 是否前 30 字包含关键词?  (是 / 否)
+- [ ] 是否前 3 句内引发了情绪共鸣?  (是 / 否)
+- [ ] 是否有 5 个以上 emoji 切分小段?  (是 / 否)
+- [ ] 文末是否有引导评论话术?  (是 / 否)
+
+---
+
+## ⏱️ 3 天数据复盘
+
+> **核心问题:是否进入算法「中爆」的推荐池?**
+> 小红书的推荐机制:发布后 24 小时内表现好 → 系统会把你推入「二级流量池」。
+
+### 必要观察指标
+
+| 指标 | 健康值(首篇) | 预警线 | 实际 |
+|------|----------------|--------|------|
+| **总曝光量** | 1,000 - 3,000 | < 500 | ____ |
+| **互动率** | ≥ 3% | < 1% | ____ |
+| **新增关注(粉丝增长)** | ≥ 50 | < 10 | ____ |
+| **CTR 趋势** | 是否持续上升?  (平台推荐的关键信号) | ____ | ____ |
+
+### 关键动作
+
+- [ ] 返回发评论引导:「你🈶️ 应同感吗?」、「猜猜下次聊什么」 — 是 ( / 否 / )
+- [ ] 对每条评论做楼中楼回复 - 是/否
+- [ ] 在 24-72 小时黄金期内,主动分享给 3-5 个相关社群
+
+---
+
+## ⏱️ 7 天数据复盘
+
+> **核心问题:本篇是否成功定位账号「人设」,需要调整后续内容方向?**
+
+### 总账数据
+
+| 指标 | 健康值 | 实际 |
+|------|--------|------|
+| **总曝光量** | ≥ 5,000 | ____ |
+| **总互动**(赞藏评) | ≥ 200 | ____ |
+| **总收藏** | ≥ 100 | ____ |
+| **总新增粉丝** | ≥ 100 | ____ |
+| **首页推荐曝光占比** | ≥ 30% | ____ |
+| **搜索曝光占比** | ≥ 30% | ____ |
+
+### 🔄 决定后续 4 周行动
+
+#### 高数据 (曝光 ≥ 5,000、互动 ≥ 200) — 加码同类选题
+- [ ] 本月同类选题项据荐优先发布
+- [ ] 打造「虐心问答/亲子关系」系列 2 号、3 号
+- [ ] 预留 30% 资源给这条路
+
+#### 中数据 (曝光 2,000-5,000、互动 50-200) — 续点优化
+- [ ] 标题作 2-3 字许改,跳过“「精术」热点推一些撞服?
+- [ ] 调定“试错动极”:下一篇仅改 X、仅改 Y——代级式增量修补
+- [ ] 加打不是高出的「亲子」类别
+
+#### 低数据 (曝光 ≤ 2,000、互动 ≤ 50) — 重塑方向
+- [ ] 下周不发同类选题,试新热点
+- [ ] 重新设计账号定位:是否“亲子资源”与「控评体系列」不匹配?
+- [ ] 重新 「人设」
+
+---
+
+## 📍 记录本篇关键学习(3 个问题)
+
+1. **哪个字、哪个句子、哪个封面元素造成了 80% 的贡献?**
+__________________________________________
+__________________________________________
+
+2. **什么部分的指标表现不如预期?**
+__________________________________________
+__________________________________________
+
+3. **下篇该吸气不要的坑、哪里要加大弹药?**
+__________________________________________
+__________________________________________
+
+---
+
+## 🚨 报警点
+
+- ⏱️ 如果 3 天后曝光 < 500 则考虑手动补赞、转发你创作者中心(转化分析)
+- ⚠️ 如出现「」举报/预售词报警」仅需有人举报后又点评1个者 — 复读后仅需修正
+- 📌 本表格仅为 初期版本,后续会依据实际调校
+
+---
+
+*生成于 2026-07—19 / 下次复核:发布后 7 天(周一发,下周一复核表)*

+ 118 - 0
运营文案/小红书内容/小红书发布指南.md

@@ -0,0 +1,118 @@
+# 小红书(RedBook/Xiaohongshu)发布指南
+
+**适用于第一篇内容:「当孩子说'没意思',你有没有问过这些问题?」**
+
+## 方法一:手动发布(建议)
+
+1. **使用电脑浏览器**:
+   - 访问 [https://www.xiaohongshu.com](https://www.xiaohongshu.com)
+   - 登录账号
+
+2. **进入创作中心**:
+   - 点击页面右上角「发布」按钮,选择「新笔记」
+
+3. **复制粘贴内容**:
+   - **标题**:当孩子说“没意思”,你有没有问过这些问题?
+   - **正文**:将 `第一篇-暑假没意思.md` 文件中的正文内容 **逐段复制并粘贴**,使用小红书编辑器调整排版(加粗、emoji、分段等)——但不要改变核心观点和数据。
+
+4. **设置封面图**:
+   - **颜色主题**:以 **五维土色(橙色 #FF8C42)** 为主色,突出文字:
+     ```
+     孩子说没意思
+     你在陪吗
+     ```
+   - **尺寸**:1080x1440px(3:4 比例)
+   - **风格**:简洁留白,配少量插画(建议使用简单孩子+家长互动图 or 问号/思考表情)
+     - **示例创作 prompt**:
+       ```
+       "A warm, minimalist scene showing a parent and child silhouette sitting side by side on a wicker couch, with a single thought bubble above each head. The parent's bubble shows a heart, the child's bubble shows a question mark. Use warm orange tones reminiscent of #FF8C42. Leave plenty of negative space on the right for big bold Chinese text overlay: upper row: 孩子说没意思, bottom row: 你在陪吗. No western text. Composition for a 1080x1440px Xiaohongshu cover."
+       ```
+
+5. **添加标签**:
+   ```
+   #孩子说没意思 #暑假焦虑 #高质量陪伴 #亲子沟通 #五维能量
+   ```
+   (可在小红书搜索框预拉相关标签)
+
+6. **保存草稿**:
+   - 完成后,点击「发布」旁的「下一步」按钮,选择「保存为草稿」——不要直接发布。
+
+
+## 方法二:自动化批量发布(适用于熟悉工具用户)
+
+> **要求**:
+> - 配置 TuriX-CUA(步骤见 F:
+> - 确保登录状态
+
+**脚本内容(保存为 `publish_redbook.ps1`):
+```powershell
+# TurboX-CUA 小红书发布助手 - v1.0
+# 适用于 Windows + 小红书网页版
+
+$taskDesc = """
+Task: Publish draft note to xiaohongshu.com
+Action Steps:
+1. Open Microsoft Edge.
+2. Navigate to 'https://www.xiaohongshu.com', ensure logged in.
+3. Click '创作' (right top) then '写笔记'.
+4. Input title: 当孩子说“没意思”,你有没有问过这些问题?
+5. Copy-paste content archived at: C:\code\cfc\运营文案\小红书内容\第一篇-暑假没意思.md
+   (format with editor)
+6. Upload cover: designed for 1080x1440px, #FF8C42 dominant, text:'孩子说没意思 你在陪吗'
+7. Tags:
+   #孩子说没意思 #暑假焦虑 #高质量陪伴 #亲子沟通 #五维能量
+8. '保存为草稿' (save draft, not publish).
+"""
+
+# Run turix
+if (Test-Path "C:\TuriX-CUA") {
+    cd C:\TuriX-CUA
+    .\scripts\run_turix.ps1 $taskDesc
+} else {
+    Write-Host "请按文档前言说明配置 TuriX-CUA 工程!"
+}
+```
+
+**运行命令**:
+```powershell
+cd C:\TuriX-CUA
+conda activate turix_env
+powershell -ExecutionPolicy Bypass -File publish_redbook.ps1
+```
+
+
+## 发布前检查清单
+
+✅ **内容非运营广告**:
+- [ ] 标题无「测评」「系统」等营销词
+- [ ] 前三段无推销链接
+---
+✅ **平台排版合规**:
+- [ ] 段落小于20字开头
+- [ ] emoji间隔≤3段
+- [ ] 数据有来源引用
+- [ ] 无外链(即使相关)
+---
+✅ **封面图合规性**:
+- [ ] 非纯文字封面
+- [ ] 色彩真实(非色差)
+- [ ] 文字在允许位置(避开中间禁区)
+
+
+## 发布时间建议
+
+建议 **周一 19:00** 发布。理由:
+- 亲子关系类内容用户晚间活跃(陪娃后反思)
+- 周一上班族情绪共鸣增强
+- 工作效率产物消费意愿高
+
+
+## 跟进策略
+
+- [ ] **前3小时互动**:回复前5条评论并点赞
+- [ ] **24小时记录数据**:赞 > 20 = 优质,进入投稿池可能
+- [ ] **活动窗口**:如小红书有相关挑战赛(如「暑假共成长」),日志另保存一份带活动标签
+
+
+> ✍️ 中国式内容供养,从有温度的表达到有深度的洞察。
+> 本篇仅为首发内容,更多**「亲子对话纾困」系列**、**「科学家长工具」系列**接懦。

+ 77 - 0
运营文案/小红书内容/第一篇-暑假没意思.md

@@ -0,0 +1,77 @@
+# 当孩子说“没意思”,你有没有问过这些问题?
+
+📝 **浠艾福(双培强基工程)** | 暑假亲子关系篇
+🏷 **#孩子说没意思 #暑假焦虑 #高质量陪伴 #亲子沟通 #五维能量**
+
+---
+
+「妈妈,暑假好没意思。」
+
+你松了口气——还好,孩子没有吵着要看手机,没有宅在家打游戏。可他嘴里这句“没意思”,让你更心慌。
+
+因为你听得出来:**他不是缺少活动安排,而是缺少心灵连接。**
+
+
+## 第一步:别急着给手机、报班、买玩具
+
+三个问题,先静静地问问自己:
+
+❶ 孩子最近一次有“存在感”的感受,是多久前?
+❷ 除了要求他写作业、做家务,我有没有问过他“想做什么”?
+❸ 当他絮絮叨叨讲学校里遇到的事,我有没有放下手机、认真回应?
+
+> 📌 **一组数据**(来自2026年青少年心理蓝皮书)
+> 78%孩子认为“爸妈并不真正关心我的感受”,只有34%的父母意识到这个问题。
+> **这意味着**:陪在身边 ≠ 在心上;答应出游 ≠ 有效陪伴。
+
+
+## 第二步:“没意思”的真相,也许比你想象的更深
+
+我们做教育的,**双培强基工程平台**业内都在研究孩子的“没意愿、没动力、没归属”。发现:当孩子说“没意思”时,背后可能在说:
+
+🔸「我感觉不到自己被需要」→ **五维中的“心”维缺失**
+🔸「我做什么都被说不对」→ **“行”维被压抑**
+🔸「别人有光鲜活动,我只有枯燥作业」→ **“智”维天花板**
+🔸「总被安排,我失去了选择权」→ **“身”维的主导性**
+
+前几天,一个初二孩子的测评报告让评估师心头一紧:**归属感只有2.1分**(满分10)。 他妈妈说:“孩子天天宅家不出门,我也给报班、送玩伴,可他就是无精打采。” 原因找到了:孩子和妈妈的沟通停留在交代与确认—— **任务驱动的亲子关系,让孩子丢失了“归属感”。**
+
+
+## 第三步:试试“15分钟升级版陪伴” ——让孩子重新感受到意义
+
+在双培强基工程实践中,**五行相生原理**给了我们灵感:**先修复“心”和“行”的连接**,再引导“智”和“富”的参与。这里有三个简单但有效的方法,不需烧钱,每天只需**15分钟**:
+
+🌟 **方法1:无条件关注时间**
+> 用15分钟,放下手机和评判,只问孩子想说什么。
+> 不讨论成绩,不讲道理,不提要求 —— 只聆听。
+> **心能量**得到滋养,孩子开始恢复安全感。
+
+🌟 **方法2:角色交换一天**
+> 让孩子当一天家长,决定晚餐菜谱、作息、家务分工。
+> **行的平衡**被恢复:孩子体验做选择、担责任的乐趣。
+
+🌟 **方法3:“愿望清单”共创**
+> 拿一张纸:「1件想做的事,1个人想见的人,1个想去的地方」。
+> 家长也参与,互相分享,然后每周完成一项。
+> **身、智、富**三维开始互动:有期待,有活力,有积累。
+
+
+## 第四步:观察孩子的变化,用数据和事实说话
+
+做了7天“升级版陪伴”,看不到变化?孩子依然说“没意思”?——可以试试**科学测评**了。在**双培强基工程**平台(以及类似工具),我们通过问卷精确测量:
+
+📊 **社会关系**:与父亲/母亲/同伴的信任、沟通、亲密分数
+📊 **情绪稳定度**:无力感→掌控感、抑郁→安详、自卑→自信 
+📊 **自驱力**:自主感、胜任感、归属感三维
+
+> 💡 温馨提醒:暑假过半,这项**核心素养评测**正在优惠开放中。早发现问题,早调整,不要等到开学才发现孩子“状态空了”。
+
+
+## 最后问你:你找回了孩子的“意思”吗?
+
+暑假过半,有太多文章教你如何安排孩子时间。但你有没有想过:也许,**孩子真正失去的不是活动,而是被看见、被在乎、有选择、有盼望的感觉?**
+
+孩子说“没意思”的时候,不妨这样回答:“**我知道你没意思,因为你还没有被‘打开’。我陪你一起找回那个‘意思’。**”
+
+---燥项暑假,仍然不可失去心灵连接。
+> 转发/收藏/评论区见 → 分享你和孩子之间“有意思”的瞬间,我们一起帮孩子重拾**幸福感和自驱力**!

+ 92 - 0
运营文案/小红书内容/第二篇-没意思背后.md

@@ -0,0 +1,92 @@
+# 孩子说"没意思"——真不是安排得不够多
+
+📝 **浠艾福(双培强基工程)** | 暑假素养观察篇
+🏷 **#孩子没动力 #暑假陪伴 #自驱力 #亲子关系**
+
+---
+
+一位 9 岁男孩的妈妈哭着问我:
+
+"我家儿子,每天窝沙发玩手机。给他排 8 个班,他一样嫌烦。我感觉自己这妈真失败了。"
+
+我说:**你不是失败——你是做错了**。
+
+你的孩子不是缺纪律、缺鸡娃——他缺的是**自主感**。
+
+---
+
+## 「四无」到底是啥
+
+**学习无动力、社交无能力、生活无兴趣、生命无价值感**。
+
+2018 年前后就已经在小升初、初高中生里 "成型" 的群体气质,不只是 "不想学"。这背后,是 "自主感" 在一代人中的结构性丢失。
+
+下面这张数据,来源 「**双培强基**」 A2+B4 自驱力测评:
+
+```
+        自主感:3.3 / 10
+        胜任感:6.9 / 10
+        归属感:2.0 / 10
+```
+
+一个 12 岁男孩——
+感很糟糕:几乎感受不到「被理解、被接纳」。
+
+3 个月后,调整了一件事:**每天 15 分钟"无条件被听见"**。同一份测评再测:
+
+```
+        自主感:4.5 / 10(+1.2)
+        胜任感:7.4 / 10(+0.5)
+        归属感:7.3 / 10(+5.3)
+```
+
+有意思的是——**他没有被逼着学任何东西**。他只是"被听见"。
+
+---
+
+## 3 步把"自主感"还回去
+
+### ① 给选项,不是给命令
+
+> ❌ "赶紧去做 XX。"
+> ✅ "今晚你可以做:A作业 / B读绘本 / C出去走走。挑一个。"
+
+**被选择,自主被激活。被强加,自主被压制。**
+
+### ② 让他自己写"今日清单"
+
+一张纸,三件事,自己排。完成 ✓ 打勾,没完成没关系。
+
+这叫 **"自我监控"** ——国际教育心理研究里,几周就能提自主感的核心技巧。
+
+### ③ 给"不做什么"的自由
+
+每周至少半天**无安排日**。孩子可以发呆、刷手机、躺平。
+
+家长总以为 "管" 等于 "负责"。
+**其实"撤掉管理"才是建立自主感的最快通道。**
+
+---
+
+## 自检 3 问
+
+> 你回答得越别扭,孩子越可能缺 "自主感":
+>  
+> ❶ 他最近一次说 "我想 ____",是什么时候?
+> ❷ 是他做不到,还是他不想做?
+> ❸ 他听到你的命令,是立即执行、还是磨蹭?
+
+如果都不太舒服——
+
+> 📊 找一份 **核心素养评测报告**。
+
+我们「**双培强基工程**」平台和类似工具,能精准测:
+**自驱力三维**(自主感 / 胜任感 / 归属感)+ 情绪稳定度 + 社会关系。
+
+这份报告,给你的是和娃讨论的**数据底座**。
+
+与其瞎猜他为什么 "没意思",不如打开他自己的"自主感图谱"看一眼——
+
+💬 评论区聊聊:你家娃最近一次说"我想",是什么时候?
+
+> 我陪你一起找回那个"做主的感觉"。

+ 104 - 0
运营文案/小红书内容/账号资料更新速查卡.md

@@ -0,0 +1,104 @@
+# 小红书账号资料更新速查卡
+
+> 在 XiaohongshuSkills 自动发布工具无法直接修改小红书 web 版个人简介
+> (小红书没有公开的个人简介编辑 API,PC 端仅能通过 `xiaohongshu.com` 编辑,
+> 但 `xiaohongshu.com` 不复用 creator.xiaohongshu.com 的会话)。
+>
+> 以下是 5 分钟手动完成的方案。
+
+---
+
+## ✅ Step 1 · 简介文案(59 字)
+
+复制方案一已定稿简介:
+
+```
+浠艾福(Care Family)官方账号 | 亿图腾科技出品
+给全家的一站式幸福提案。
+五维能量(身·智·富·行·心)追踪家庭成长,
+不焦虑、不鸡汤,只给你看得见的幸福路径。
+📍 北京 · 公众号同名
+```
+
+---
+
+## ✅ Step 2 · 头像(建议本地手头_logo 文件)
+
+- 现有账号头像沿用即可。如需替换:
+  - 推荐:橙色(#FF8C42)版"浠"字印章 / Five-color Logo
+  - 尺寸:400×400 px 以上 PNG
+  - 风格:留白为主,避免暴露客户/儿童元素
+
+---
+
+## ✅ Step 3 · 背景图(已自动生成 ✅)
+
+**已生成文件**: `C:\Users\ADMINI~1\AppData\Local\Temp\opencode\xhs_profile_bg_final2.jpg`
+
+| 属性 | 值 |
+|------|-----|
+| 尺寸 | 1080 × 608 px(16:9 小红书背景图标准) |
+| 大小 | 67 KB(轻量上传) |
+| 内容 | 五维能量弧 + 浠艾福品牌字 + 一站式幸福提案 tagline + 官网 URL |
+
+> 如需替换其他版本,可重跑:
+> `python C:\Users\ADMINI~1\AppData\Local\Temp\opencode\compose_bg_v2.py`
+
+---
+
+## ✅ Step 4 · 昵称(建议)
+
+**浠艾福家庭幸福俱乐部**(13 字 — 安全长度)
+
+---
+
+## ✅ Step 5 · 小红书号(建议)
+
+**etotem-care** (与官网域名 `etotem.com.cn` 一致)
+
+---
+
+## ✅ Step 6 · 类目 / 简介分类
+
+- 选「亲子」/「教育」/「家庭教育」/「儿童心理」四个最相关
+- 简介分类越具体,平台给的初始推荐人群越精准
+
+---
+
+## 🚀 完整手动流程(移动端更便捷)
+
+### 推荐:用小红书 App 修改
+
+1. 打开小红书 App → 我的 → 右上角设置 → 个人资料
+2. 修改:昵称、小红书号、简介、背景图、头像
+3. 保存即可(实时生效,无需审核)
+
+### 备用:Web 端修改
+
+1. 浏览器登录 `xiaohongshu.com`
+2. 我的 → 编辑资料 → 上传背景图、修改简介、修改头像
+3. 部分字段在 Web 端不可修改,需用 App 端处理
+
+---
+
+## 📌 备注
+
+任务 B 我尝试了用 Chrome DevTools (CDP) 自动点击创作中心首页的用户信息下拉菜单,但实际**小红书没有提供 web 端的简介 API 入口**,编辑能力只在 App 端/或独立的 xiaohongshu.com Web 域暴露。直接走 CDP 自动化有登录态不互通的问题。
+
+**最优方案已经准备就绪**:
+- 背景图已生成 ✅
+- 简介文案已定稿 ✅
+- 头像、昵称建议已提供 ✅
+
+5 分钟手动完成即可。
+
+---
+
+## 关联产物清单
+
+```
+C:\Users\ADMINI~1\AppData\Local\Temp\opencode\
+  ├── xhs_profile_bg_final2.jpg   ← ⭐ 上传此文件
+  ├── xhs_profile_bg_v2.png       (原始 AI 图)
+  └── xhs_cover_v1.png            (第一篇笔记封面)
+```

+ 451 - 0
运营文案/小红书发布/AGENTS.md

@@ -0,0 +1,451 @@
+# 小红书发布 Agent 工作指南
+
+> 本文件描述「浠艾福(Care Family)」小红书账号**自动化发布**工作流。  
+> 所有过程脚本、图片、截图、内容草稿归档在本目录下的子目录中。
+
+---
+
+## 1. 目录结构
+
+```
+C:\code\cfc\运营文案\小红书发布\
+├── AGENTS.md                   ← 本文件
+├── _过程脚本\                  ← 68 个 CDP/PowerShell/PIL 调试与执行脚本
+├── _过程文件\
+│   └── 截图\                    ← 25 张执行过程中的页面截图(用于排障/复盘)
+├── _图片资源\                  ← 14 张成品图片:封面图、资料页五角星背景、JPG 导出
+└── _内容草稿\                  ← 待发布的纯文本草稿(如 post2_content.txt)
+
+# 上级目录(运营文案\):
+├── 小红书发布计划.md            ← 完整发布日历 + 内容矩阵主表
+├── 发布数据复盘清单.md          ← 发布后 24h / 7d 数据复盘 SOP
+└── 小红书内容\                 ← 正式内容稿库(一篇一 .md),含发布指南
+    ├── 小红书发布指南.md
+    ├── 第一篇-暑假没意思.md
+    ├── 第二篇-没意思背后.md
+    └── 账号资料更新速查卡.md
+```
+
+按上述分层存放文件:**成品稿**放 `小红书内容\`、**调试过程脚本**放 `_过程脚本\`、**执行截图**放 `_过程文件\截图\`、**成品图片**放 `_图片资源\`、**纯文本草稿**放 `_内容草稿\`。
+
+---
+
+## 2. 工具栈
+
+| 依赖 | 位置 | 用途 |
+|------|------|------|
+| `cdp_publish.py` | `C:\code\XiaohongshuSkills\scripts\` | CDP 并发发布主脚本 |
+| `chrome_launcher.py` | 同上 | 自动拉起带 CDP 的 Chrome |
+| `account_manager.py` | 同上 | 账号登录态管理(小红书 Profile) |
+| Agnes AI 图像 API | `https://apihub.agnes-ai.com/v1/images/generations` | 封面图生成 `agnes-image-2.0-flash` |
+| PIL (Pillow) | Python 自带 | 五角星背景几何绘制(AI 失败时的兜底方案) |
+
+**CDP 默认端口**:`9222`(`127.0.0.1:9222`)。
+
+---
+
+## 3. 启动 Chrome(最关键的坑)
+
+**❗ `chrome_launcher.py` 默认 profile 目录是 `XiaohongshuProfiles\default`,不是你的日常 Chrome profile。一旦用 `ensure_chrome()` 启动,登录态会缺失。**
+
+两种正确做法:
+
+### A. 用账号管理(推荐):先 `login` 一次,之后复用
+
+```bash
+# 1) 首次为账号 "default" 完成扫码登录(出现 QR 图后用手机扫)
+python C:\code\XiaohongshuSkills\scripts\cdp_publish.py --port 9222 login --account default
+
+# 2) 之后任何命令带上 --reuse-existing-tab 或 --account default 都会自动复用登录态
+# 登录态默认缓存 12h(ttl=12h),可省去每次检查
+python C:\code\XiaohongshuSkills\scripts\cdp_publish.py --port 9222 check-login
+```
+
+### B. 用日常 Chrome profile 启动(查登录态最方便但侵入日常浏览器)
+
+```powershell
+# 注意:会接管你日常 Chrome,请先关掉所有 Chrome 窗口
+Stop-Process -Name chrome -Force -ErrorAction SilentlyContinue
+$chrome = "${env:ProgramFiles}\Google\Chrome\Application\chrome.exe"
+& $chrome --remote-debugging-port=9222 `
+          --user-data-dir="$env:LOCALAPPDATA\Google\Chrome\User Data" `
+          --no-first-run --no-default-browser-check `
+          "https://creator.xiaohongshu.com/publish/publish?source=official"
+```
+
+确认登录后,所有后续 `cdp_publish.py --port 9222 ...` 都能复用。
+
+**`ensure_chrome` 函数签名仅为 3 个参数**:
+```python
+ensure_chrome(port=9222, headless=False, account=None)
+# 没有 user_data_flags 参数。要指定 user-data-dir 必须直接调用 launch_chrome 或自行 start chrome。
+```
+
+---
+
+## 4. 标准发布流程(CLI)
+
+### 第一步:登录态检查
+
+```bash
+python C:\code\XiaohongshuSkills\scripts\cdp_publish.py --port 9222 check-login
+# 期望输出: [cdp_publish] Login confirmed.
+```
+
+### 第二步:填入标题/正文/图片(不点发布)
+
+```bash
+python C:\code\XiaohongshuSkills\scripts\cdp_publish.py `
+    --port 9222 fill `
+    --title "标题(≤20个汉字)" `
+    --content-file "C:\code\cfc\运营文案\小红书发布\_内容草稿\post2_content.txt" `
+    --images "C:\users\...path\to\cover.png"
+```
+
+**关键参数**:
+- `--content` 或 `--content-file` 必填其一
+- `--images` 可多次出现以传多张图
+- 自动调用 `_navigate` → 点击「上传图文」Tab → 上传图片 → 写标题 → 写正文
+- 命令完成后会打印 `FILL_STATUS: READY_TO_PUBLISH`
+
+### 第三步:点击「发布」按钮
+
+```bash
+python C:\code\XiaohongshuSkills\scripts\cdp_publish.py --port 9222 click-publish
+```
+
+**已知失败场景**:
+- `Publish button did not become ready within 20s` — 表单校验未通过(常见原因:图片还在上传 / 正文长度超限 / 没选图文 Tab)
+- 此时打开浏览器人工补点发布即可
+
+### 一键发布(合并以上两步)
+
+```bash
+python C:\code\XiaohongshuSkills\scripts\cdp_publish.py `
+    --port 9222 publish `
+    --title "..." `
+    --content-file "..." `
+    --images "..."
+```
+
+---
+
+## 5. 库式调用(Python)
+
+```python
+import sys
+sys.path.insert(0, r"C:\code\XiaohongshuSkills\scripts")
+from cdp_publish import XiaohongshuPublisher
+
+publisher = XiaohongshuPublisher()
+publisher.connect(reuse_existing_tab=True)
+# publisher.publish() = navigate → click 上传图文 → upload → fill title → fill content
+publisher.publish(
+    title="标题",
+    content="正文文本",
+    image_paths=[r"C:\path\to\cover.png"],
+)
+publisher._click_publish()  # 不在 publish() 内自动调用,便于人工二次校对
+```
+
+**`XiaohongshuPublisher` 关键方法**:
+- `connect(reuse_existing_tab=True)` — 复用当前 Tab,不弹新页
+- `_navigate(url)` — 导航并等待 8s 加载
+- `_fill_title(text)` / `_fill_content(text)` — 单独调用只填一项
+- `_upload_images(paths)` — 只上传图片
+- `_click_publish()` — 点击页面底部「发布」;调用前用 `_wait_for_publish_button_ready` 检查
+- `check_login()` — 登录态校验
+
+---
+
+## 6. 易踩坑清单(按出错频次排序)
+
+| # | 现象 | 根因 | 解决 |
+|---|------|------|------|
+| 1 | `Runtime.evaluate` 返回 `{}` | 用了 `chrome_launcher` 默认 profile(无登录态),页面跳到登录墙但 DOM 仍空 | 用 §3 A 方案 `login` 一次,或 §3 B 用日常 profile 启动 |
+| 2 | `_find_or_create_tab` 报"找不到 tab" | `target_url_prefix` 匹配的是 tab 的 URL,不是 pageId | 先 `Page.navigate` 到 creator 页,再 `connect(reuse_existing_tab=True)` |
+| 3 | creator 页打开后只看见「上传视频」表单 | 默认 Tab 是视频上传,必须点「上传图文」 | `cdp_publish.py fill` 会自动点击;用库式 API 时手动调用 publisher._click_upload_tab() |
+| 4 | `DOM.getDocument` 带 `pierce:true` 报 WS 1009 | 重页面下 pierce 会导致帧过大 | 改用 `Runtime.evaluate` 轻量 JS 查询 |
+| 5 | `DOM.querySelectorAll` 同样失败 | 同 #4 | 同 #4 |
+| 6 | `_evaluate` 返回 `{}` | 页面未加载完成 / JS 静默抛错 | `_navigate` 后强制 `time.sleep(8)`;并检查 `document.readyState === 'complete'` |
+| 7 | Agnes AI 图像 503 | API 经常不可用 | 重试,超时设 240s+ |
+| 8 | Agnes AI 报 `content_policy_violation` | prompt 含中文 | prompt 全英文,文字后期 PIL 叠加 |
+| 9 | `click-publish` 抛 `Publish button did not become ready` | 图片还在上传 / 正文超 1000 字 / 没选图文 Tab | `fill` 后看 `FILL_STATUS`,必要时人工补点 |
+| 10 | 账号资料页要求滑块/二维码验证 | xiaohongshu.com 对新会话触发风控 | CDP 不能越过;必须人工在 App 或浏览器中改资料 |
+
+---
+
+## 7. 封面图生成
+
+**首选**:Agnes AI `agnes-image-2.0-flash` 模型。
+
+```bash
+curl -X POST https://apihub.agnes-ai.com/v1/images/generations \
+  -H "Authorization: Bearer $AGNES_API_KEY" \
+  -H "Content-Type: application/json" \
+  -d '{"model":"agnes-image-2.0-flash","prompt":"...","size":"1024x1024"}'
+# 返回 data[0].url
+```
+
+- API Key 存于 `C:\Users\Administrator\.config\opencode\opencode.json`,不要硬编码到提交的脚本里
+- prompt **必须纯英文**,含中文字符 → `content_policy_violation`
+- 风格建议:温暖橘金色、留白充足(右侧/下方供文字叠加)、无图中文字、家庭教育主题
+- 返回 URL 需下载到本地后用 `--images` 传给 `cdp_publish.py`
+
+**兜底**:AI 调用失败时用 PIL 几何绘制(参见 `_过程脚本\draw_star_pil.py`、`draw_star_v2.py`、`export_star_jpg.py`),五角星背景就是这种方式生成的。
+
+---
+
+## 8. 账号资料 / 个人主页背景
+
+**资料页背景**「五维五角星」布局(PIL 生成,文件 `xhs_profile_star_v2.png` / `xhs_profile_bg_final3.jpg`):
+
+| 方位 | 维度 | 颜色 |
+|------|------|------|
+| 12 点(顶) | 富 | `#F59E0B` |
+| 顺时针 72° | 行 | `#10B981` |
+| 顺时针 144° | 身 | `#FF8C42` |
+| 顺时针 216° | 心 | `#FF6B9D` |
+| 顺时针 288° | 智 | `#6366F1` |
+
+资料字段(详见 `小红书内容\账号资料更新速查卡.md`):
+- 昵称:`浠艾福家庭幸福俱乐部`
+- 小红书号:`etotem-care`
+- 简介:59 字以内(已定稿)
+
+**改资料必须人工操作**(AGENTS §6 #10),脚本只能扫 DOM 不能绕风控。
+
+---
+
+## 9. 内容稿规范(强约束)
+
+| 字段 | 限制 | 来源 |
+|------|------|------|
+| 标题 | ≤ 20 个汉字 | 小红书平台 |
+| 正文 | ≤ 1000 字(软限制,1000+ 可发) | 平台 + 团队共识 |
+| 封面图 | 3:4 比例(1080×1440)| 平台 |
+| 内文图 | 最多 9 张,必须来自本机路径 | 平台 |
+| 禁止 | 外链 / 营销词密集堆砌 / 纯文字封面 | 平台规则 |
+
+**case-study 型内容**优于纯干货,详见 `小红书内容\小红书发布指南.md`、`小红书发布计划.md`。
+
+---
+
+## 10. 发布后复盘
+
+每篇发布后按 `运营文案\发布数据复盘清单.md` 执行:
+- **T+3h**:回复前 5 条评论并点赞(提升互动权重)
+- **T+24h**:记录赞藏评数据,赞>20 进投稿池
+- **T+7d**:记录长尾数据,写复盘小结
+
+---
+
+## 11. 关键文件索引
+
+| 文件 | 用途 | 运行命令 |
+|------|------|----------|
+| `_过程脚本\publish_post2.py` | 第二篇的"切 Tab → 上传 → 填文 → 发布"全流程脚本(已被 CLI `fill` 取代,仅留作历史参考) | `python publish_post2.py` |
+| `_过程脚本\save_draft.py` | 仅保存草稿不发布(适合试发) | `python save_draft.py` |
+| `_过程脚本\draw_star_pil.py` / `draw_star_v2.py` | 五角星背景 PIL 绘制 | `python draw_star_v2.py` |
+| `_过程脚本\export_star_jpg.py` | PNG → JPG 导出 | `python export_star_jpg.py` |
+| `_过程脚本\gen_cover.py` / `gen_cover2.py` | Agnes AI 封面图调用 | `python gen_cover2.py` |
+| `_过程脚本\restart_chrome.py` | 重启 Chrome 加载日常 profile | `python restart_chrome.py` |
+| `_图片资源\xhs_cover_v1.png` | 第一篇封面 | `--images` 直接引用 |
+| `_图片资源\xhs_cover2_v1.png` | 第二篇封面(989KB) | `--images` 直接引用 |
+| `_图片资源\xhs_profile_star_v2.png` | 资料页五角星背景 PNG | 人工上传 |
+| `_图片资源\xhs_profile_bg_final3.jpg` | 资料页五角星背景 JPG(已压缩) | 人工上传 |
+| `_内容草稿\post2_content.txt` | 第二篇正文纯文本 | `--content-file` 引用 |
+
+> **历史草稿脚本**(`update_profile*.py`、`profile_dom_only.py`、`scan_iframes.py` 等)是试错过程产物,已归档不再主用;新工作请优先用 `cdp_publish.py` CLI。
+
+---
+
+## 12. 快速命令速查
+
+```bash
+# 登录检查
+python C:\code\XiaohongshuSkills\scripts\cdp_publish.py --port 9222 check-login
+
+# 填入内容到发布页
+python C:\code\XiaohongshuSkills\scripts\cdp_publish.py --port 9222 fill `
+    --title "..." --content-file "..." --images "..."
+
+# 点发布
+python C:\code\XiaohongshuSkills\scripts\cdp_publish.py --port 9222 click-publish
+
+# 一键
+python C:\code\XiaohongshuSkills\scripts\cdp_publish.py --port 9222 publish `
+    --title "..." --content-file "..." --images "..."
+```
+
+```powershell
+# 用日常 Chrome profile 启动
+Stop-Process -Name chrome -Force -ErrorAction SilentlyContinue
+$chrome = "${env:ProgramFiles}\Google\Chrome\Application\chrome.exe"
+& $chrome --remote-debugging-port=9222 `
+          --user-data-dir="$env:LOCALAPPDATA\Google\Chrome\User Data" `
+          --no-first-run --no-default-browser-check `
+          "https://creator.xiaohongshu.com/publish/publish?source=official"
+```
+
+---
+
+## 13. 安全约束
+
+- ❌ **禁止**把 Agnes API Key 硬编码进提交到仓库的脚本;统一从 `opencode.json` 读取或环境变量注入
+- ❌ **禁止**绕过风控页面(滑块/二维码)做自动化;资料页改不动就人工
+- ❌ **禁止**修改 `chrome_launcher.py` 中的 PROFILE_DIR_NAME 默认值,这会影响 XiaohongshuSkills 自带账号管理
+- ✅ 所有过程脚本/截图/调试图统一存放本目录下子目录,**永远不要**把过程产物散落到仓库根目录或 `cfc-backend/`
+
+---
+
+## 14. 30 天涨粉到 1 万 · 路线 + 内容矩阵
+
+> 目标:**30 天从 0 → 1 万粉**。  
+> 核心打法:**每天 1 篇,五天 1 轮(身→智→富→行→心),六轮覆盖六阶模型**。  
+> 深度档:可执行招数 + 案例化(每篇必含"1件今天可做的事" + 一段浠艾福真实数据)。  
+> 完整日历见 `发布日历.md`,本节仅给"路线骨架"。
+
+### 14.1 五天循环维度顺序(与平台五行相生保持一致)
+
+```
+D1   D2   D3   D4   D5
+🌏身 → ⚔️智 → 💧富 → 🌿行 → 🔥心
+#FF8C42 #6366F1 #F59E0B #10B981 #FF6B9D
+```
+
+-repeat 6 轮即 30 天。每天 19:00 发,每篇必带行动呼吁"评论区打卡"。
+
+### 14.2 六阶节奏(每5天推进一阶)
+
+| 轮次 | 天数 | 切入阶 | 战斗目标 | 淘粉里程碑 |
+|------|------|--------|---------|----------|
+| 1 | D1-D5   | ① 有效启动 | 拉钩子        | 500 |
+| 2 | D6-D10  | ② 持续坚持 | 留人           | 1,500 |
+| 3 | D11-D15 | ③ 获得感形成 | 给甜头(数据/截图) | 3,500 |
+| 4 | D16-D20 | ④ 身份重塑 | 转化铁粉         | 5,500 |
+| 5 | D21-D25 | ⑤ 意见领袖化 | 案例密度大,做拉新 | 7,500 |
+| 6 | D26-D30 | ⑥ 社会扩散 | 建圈子+社群,冲刺破万 | **10,000** |
+
+**正好与杨金宇六阶模型一一对应**——每轮内容定位由六阶模型的核心问题驱动:
+- 轮1解决"怎么开始"
+- 轮2解决"怎么不放弃"
+- 轮3解决"怎么有甜头"
+- 轮4解决"怎么内化"
+- 轮5解决"怎么扩散到家人"
+- 轮6解决"怎么形成场域"
+
+### 14.3 单篇写作公式(≤20字标题 / ≤1000字正文)
+
+**标题公式**:维度关键词 + 反常识钩子 + 身份承诺  
+例:「让你早睡的不是自律是这3件小事」(身·启动)  
+例:「孩子说没意思:真不是安排得不够多」(智·启动)
+
+**正文5段结构**(详见 `内容方法论-六阶模型.md` 第5节):
+1. 开头钩子(场景描述,60-100字)—— 让读者代入
+2. 真实案例(带数据/反馈,200-300字)—— 证明能力
+3. 问题拆解(六阶模型某一阶切入,200-300字)—— 给出机制
+4. 可执行招数(20秒/3天行动指令,200-300字)—— 给出落地
+5. 收尾 → 行动呼吁:评论区打卡/私信拿量表(60-100字)
+
+### 14.4 每日发布 SOP
+
+| 时段 | 动作 |
+|------|------|
+| 上午 | 按当日维度+阶位写正文 → 生成/选定封面图 |
+| 14:00 | `cdp_publish.py fill` 填入发布页(详见 §4) |
+| 18:30 | 人工二次校对(标题/封面/正文),必要时改用 chatgpt 手动润色 |
+| 19:00 | `cdp_publish.py click-publish`,若超时改人工补点发布按钮 |
+| 19:00-22:00 | 前3小时:回复前5条评论并点赞 |
+| 次日 | 24h:记录数据进 `发布数据复盘清单.md` |
+| 周日 | 当日笔记改为"本周数据复盘"(仍写本维度内容) |
+
+### 14.5 涨粉里程碑校验
+
+每天发布完成后,对照 `发布日历.md` 末尾的"涨粉曲线目标表"做差异分析:
+- **低于预期 10% 以内** → 继续按日历走
+- **低于预期 10-30%** → 当日维度切到 §14.6 替补选题库 1 个,并加 1 条强钩子
+- **低于预期 50%+** → 触发暂停,回查账号权重、近 7 篇数据,抄同行爆款
+
+### 14.6 替补选题库(流量波动时按维度切换)
+
+| 维度 | 替补选题1 | 替补选题2 |
+|------|----------|----------|
+| 身 | 我家水机选不对 | 减肥药都是智商税吗 |
+| 智 | 孩子不爱读书怎么办 | 成长档案从几岁开始建 |
+| 富 | 家庭理财3罐法失败原因 | 孩子零花钱第一笔到底多少合适 |
+| 行 | 公公婆婆来了我该怎么办 | 孩子班级被孤立我该出手吗 |
+| 心 | 为什么我现在老发无名火 | 原生家庭捆住了老公怎么办 |
+
+---
+
+## 15. 内容方法论 · 主动健康六阶模型
+
+> 完整版本见 `内容方法论-六阶模型.md`,本节给 Agent 在创作时快速对照。  
+> 理论来源:[杨金宇《主动健康的六阶模型及其神经生理机制》健康界 2026-06-17](https://www.cn-healthcare.com/articlewm/20260617/content-1673754.html)
+
+### 15.1 六阶模型速记
+
+| # | 阶段 | 一句话核心 | 关键问题 |
+|---|------|-----------|---------|
+| 1 | 有效启动 | "想做"→"做了",从**小到无法失败的动作**开始 | 怎么开始? |
+| 2 | 持续坚持 | 用三定律把单次动作变成低耗能习惯 | 怎么不放弃? |
+| 3 | 获得感形成 | 让大脑**当下就体验到**"做了变好了" | 怎么有甜头? |
+| 4 | 身份重塑 | 自我叙事从"我应该"变成**"我是这种人"** | 怎么内化? |
+| 5 | 意见领袖化 | "我做到且有获得感"→**影响家人和邻里** | 怎么扩散? |
+| 6 | 社会扩散 | 多个家庭/社区共振,形成**健康文化** | 怎么成场域? |
+
+### 15.2 三定律(写笔记时反复用)
+
+- **定律1 · 20秒启动法则**:任务拆到20秒内能完成,否则大脑不启动  
+  模板:`"今天晚饭后,花20秒做一件小事:____"`
+- **定律2 · 多巴胺重塑周期**:把长期收益转成当下可感知的正反馈  
+  模板:`"3天后你会看到:____;14天后你会看到:____"`
+- **定律3 · 社会神经共振**:有人陪伴、有人示范、有人认可,启动门槛成倍下降  
+  模板:`"评论区打卡,我们陪你7天一起做这件事"`
+
+### 15.3 六阶 × 五维映射总账
+
+每天选一格写作:
+
+| 六阶 \ 五维 | 🌏身 | ⚔️智 | 💧富 | 🌿行 | 🔥心 |
+|---|---|---|---|---|---|
+| ①启动 | 穿鞋到门口 | 问孩子1个开放问题 | 记1笔零钱 | 给老友发1条问候 | 睡前深呼吸3次 |
+| ②坚持 | 早睡7天打卡 | 周复盘孩子3个进步 | 每月定投1次 | 家庭群接龙5分钟 | 情绪日记21天 |
+| ③获得感 | 体感/血压/睡眠上浮 | A2/B4 维度提升 | 家庭年资产柱状图 | 关系温度计上升 | 焦虑量表降分 |
+| ④身份 | 我是身体趋势管理者 | 我相信孩子有自己节奏 | 我是家庭长期主义者 | 我是给温度的人 | 我能理解自己情绪 |
+| ⑤领袖 | 带家人一起控血压 | 影响妈妈群"看见孩子" | 分享家庭财商框架 | 帮邻居解婆媳僵局 | 情绪日记模板被收藏 |
+| ⑥扩散 | 小区晨练圈 | 班级成长档案打卡 | 家庭理财读书会 | 街道邻里互助群 | 妈妈情绪互助月 |
+
+### 15.4 创作禁忌
+
+- ❌ 不要堆"为什么你应该 XX"——这是杨金宇批评的"增加健康说教"
+- ❌ 不要只发数据图表没有"幸福感"——这是基础阶段的获得感缺失  
+- ❌ 不要过早开圈接龙——必须到第 5-6 轮(D21+)才有意见领袖密度
+- ❌ 不要追求"专业感"用六阶模型学术词吓读者——只用模型搭骨架,正文说人话
+
+### 15.5 涨粉机制(六阶模型告诉我们这么写为什么涨)
+
+| 启示 | 对应六阶 | 我们的内容设计 |
+|------|---------|----------------|
+| 能**降低启动门槛**的人,会被反复收藏 | ①有效启动 | 每篇结尾给20秒动作,读者做了→收藏→转发 |
+| 能反复**获得感**的人,会变成铁粉 | ③获得感形成 | 每3-5天发1次"读者后台晒数据",让粉丝被看见 |
+| 能形成"我们这群人"感的人,会**自然扩散** | ⑤⑥意见领袖+社会扩散 | 评论区互动+圈子+接龙,把"主动健康"做成身份 |
+
+---
+
+## 16. 相关文件快速索引
+
+| 任务 | 看哪个文件 |
+|------|----------|
+| 想知道今天写什么 | `发布日历.md` 当日行 |
+| 想知道为什么这样写 | `内容方法论-六阶模型.md` |
+| 想填入选题与数据 | `小红书内容\账号资料更新速查卡.md` + 上级 `小红书发布计划.md` |
+| 想发布笔记 | 本文件 §4 + §12 速查命令 |
+| 想填素材/调脚本 | 本文件 §11 + `_过程脚本\` |
+| 发布后复盘 | 上级 `发布数据复盘清单.md` |
+
+---
+
+> 维护人:运营文案 / 技术对接  
+> 最近更新:2026-07-22(增补第14-16章,纳入六阶模型方法论)

+ 72 - 0
运营文案/小红书发布/_内容草稿/post2_content.txt

@@ -0,0 +1,72 @@
+孩子说没意思:真不是安排得不够多
+
+一位 9 岁男孩的妈妈哭着问我:
+
+"我家儿子,每天窝沙发玩手机。给他排 8 个班,他一样嫌烦。我感觉自己这妈真失败了。"
+
+我说:**你不是失败——你是做错了**。
+
+你的孩子不是缺纪律、缺鸡娃——他缺的是**自主感**。
+
+---
+
+## 「四无」到底是啥
+
+**学习无动力、社交无能力、生活无兴趣、生命无价值感**。
+
+这不只是"不想学"。这背后,是"自主感"在一代人中的结构性丢失。
+
+下面这份数据,来自「**双培强基**」A2+B4 自驱力测评:
+
+        自主感:3.3 / 10
+        胜任感:6.9 / 10
+        归属感:2.0 / 10
+
+一个 12 岁男孩,归属感几乎为零。
+
+3 个月后,只调整了一件事:**每天 15 分钟"无条件被听见"**。同一份测评复测:
+
+        自主感:4.5 / 10(+1.2)
+        胜任感:7.4 / 10(+0.5)
+        归属感:7.3 / 10(+5.3)
+
+有意思的是——**他没有被逼着学任何东西**。他只是"被听见"。
+
+---
+
+## 3 步把"自主感"还回去
+
+### ① 给选项,不是给命令
+
+❌ "赶紧去做 XX。"
+✅ "今晚你可以做:A作业 / B读绘本 / C出去走走。挑一个。"
+
+被选择,自主激活。被强加,自主压制。
+
+### ② 让他自己写"今日清单"
+
+一张纸,三件事,自己排。完成 ✓ 打勾,没完成没关系。
+
+这叫**"自我监控"**——几周就能提升自主感的核心技巧。
+
+### ③ 给"不做什么"的自由
+
+每周至少半天**无安排日**。孩子可以发呆、刷手机、躺平。
+
+家长总以为"管"等于"负责"。
+**其实"撤掉管理"才是建立自主感的最快通道。**
+
+---
+
+## 自检 3 问
+
+> 你回答得越别扭,孩子越可能缺"自主感":
+>
+> ❶ 他最近一次说"我想 ____",是什么时候?
+> ❷ 是他做不到,还是他不想做?
+> ❸ 他听到你的命令,是立即执行、还是磨蹭?
+
+如果都不太舒服——找一份**核心素养评测报告**。
+我们「**双培强基工程**」平台能精准测量自驱力三维+情绪稳定度+社会关系。
+
+💬 评论区聊聊:你家娃最近一次说"我想",是什么时候?

BIN=BIN
运营文案/小红书发布/_图片资源/bio_dropdown_v1.jpg


BIN=BIN
运营文案/小红书发布/_图片资源/bio_home_v1.jpg


BIN=BIN
运营文案/小红书发布/_图片资源/xhs_profile_bg_final.jpg


BIN=BIN
运营文案/小红书发布/_图片资源/xhs_profile_bg_final2.jpg


BIN=BIN
运营文案/小红书发布/_图片资源/xhs_profile_bg_final3.jpg


BIN=BIN
运营文案/小红书发布/_图片资源/xhs_profile_bg_v3.jpg


BIN=BIN
运营文案/小红书发布/_图片资源/xhs_profile_v1.jpg


BIN=BIN
运营文案/小红书发布/_过程文件/截图/xhs_publish_v2.jpg


+ 172 - 0
运营文案/小红书发布/内容方法论-六阶模型.md

@@ -0,0 +1,172 @@
+# 主动健康六阶模型 · 浠艾福小红书内容方法论
+
+> 本文件是浠艾福小红书账号的**内容创作底层骨架**。  
+> 提炼自杨金宇《主动健康的六阶模型及其神经生理机制》一文(健康界,2026-06-17,  
+> https://www.cn-healthcare.com/articlewm/20260617/content-1673754.html ),  
+> 并与浠艾福**身·智·富·行·心**五维体系做映射。
+
+---
+
+## 1. 为什么要"借用"主动健康六阶模型?
+
+杨金宇这篇文章解决了一个根本问题:**"知而不行"是主动健康落地的第一关**。
+
+——这恰好是浠艾福"主动健康理念"宣传的根本痛点。妈妈们知道"该陪孩子、该早睡、该控糖、该运动",但就是**启动不了**。
+
+如果我们的小红书内容只是**知识科普**,就是杨金宇批评的"增加健康说教"——读者知道却不行动,三天后取关。
+
+六阶模型给我们的不是"感人的口号",而是:
+- 一套**可写、可抄、可复制的内容模板**
+- 一组**带行为指令的写作清单**(三定律)
+- 一个**"如何把'我家做不到'变成'我家做到了'"**的叙事路径(六阶→身份重塑)
+
+**所以本文件的核心作用是:每天写小红书时,对照六阶模型里的某一阶,挑一种"可执行招数",配上一个浠艾福真实案例(家庭成员/家长/孩子经我方协助取得的数据),写出来即可。**
+
+---
+
+## 2. 六阶模型速览
+
+| # | 阶段 | 一句话核心 | 关键问题 | 神经生理基础 |
+|---|------|-----------|----------|--------------|
+| 1 | 有效启动 | "想做"→"做了",从**小到无法失败的动作**开始 | 怎么开始? | 前额叶降低计划负荷、杏仁核降低威胁预判 |
+| 2 | 持续坚持 | 用三定律把单次动作变低耗能习惯 | 怎么不放弃? | 多巴胺奖赏、基底节习惯回路 |
+| 3 | 获得感形成 | 让大脑**当下就体验到**"做了变好了" | 怎么有甜头? | 多巴胺即时正反馈、内感受系统 |
+| 4 | 身份重塑 | 自我叙事从"我应该"变成**"我是这种人"** | 怎么内化? | 自我一致行为,前额叶元认知 |
+| 5 | 意见领袖化 | "我做到且有获得感"→**影响到家人、邻里** | 怎么扩散? | 社会脑网络、社会神经共振 |
+| 6 | 社会扩散 | 多个家庭/社区共振,形成**健康文化** | 怎么形成场域? | 群体节律、制度环境工具 |
+
+---
+
+## 3. 健康行为养成三定律(内容创作时反复出现)
+
+### 定律 1:20秒启动法则
+> 把任务拆到**20秒内能完成**,否则大脑不会启动。
+
+写作模板:**"今天晚饭后,花 20 秒做一件小事:____"**
+
+- 不是"每天跳绳30分钟",而是"绕小区走半圈再回家"
+- 不是"全面控糖",而是"每餐先吃三口蔬菜"
+- 不是"陪孩子2小时",而是"看完这条笔记,跟孩子说一句具体的真诚夸奖"
+
+### 定律 2:多巴胺重塑周期
+> 把**长期收益**(健康、关系、孩子未来)转成**当下可感知的正反馈**:身体舒服感、数据下行/上行、家人认可、社群点赞。
+
+写作模板:**"3 天后会看到:____;14 天后会看到:____"**
+
+- 3 天后:孩子主动跟你说话多了一句
+- 14 天后:A2 自驱力测评里"归属感"上浮 2 分
+
+### 定律 3:社会神经共振
+> **有人陪伴、有人示范、有人认可**,启动门槛成倍下降。
+
+写作模板:**"评论区打卡,我们陪你 7 天一起做这件事"**
+
+- 拉一个"五维家庭健康打卡"圈子
+- 用家庭群接龙形式当外部"前额叶"
+
+---
+
+## 4. 六阶 × 五维映射表(每天写哪一阶,对应哪个维度)
+
+下表是浠艾福内容矩阵的总账:
+- 行:六阶模型(每条笔记必从其中**一阶**切入)
+- 列:五维(每个维度日只写该维一阶一行)
+
+| 六阶 \ 五维 | 🌏 身(主动健康)#FF8C42 | ⚔️ 智(赋能未来)#6366F1 | 💧 富(利他创富)#F59E0B | 🌿 行(人际和谐)#10B981 | 🔥 心(大爱相随)#FF6B9D |
+|---|---|---|---|---|---|
+| **①有效启动** | "穿上鞋到门口"微动作 | "今天问孩子1个开放问题" | "记账1笔本月零钱" | "主动给老朋友发1条问候" | "睡前深呼吸3次" |
+| **②持续坚持** | "早睡7天打卡" | "每周复盘孩子3个进步" | "定投每月1次" | "家庭群接龙5分钟运动" | "情绪日记21天" |
+| **③获得感形成** | 体感/血压/睡眠数据上浮 | 测评自家孩子A2/B4维度提升 | 家庭年资产柱状图 | 关系温度计上升 | 焦虑自量表降分 |
+| **④身份重塑** | "我是我身体趋势的管理者" | "我相信孩子有自己的节奏" | "我是家庭财富的长期主义者" | "我是关系里给温度的人" | "我是能理解自己情绪的人" |
+| **⑤意见领袖化** | 我带动家人一起控血压 | 我影响妈妈群里"看见孩子" | 我分享家庭财商框架 | 我帮邻居解了一次婆媳僵局 | 我分享情绪日记模板被收藏 |
+| **⑥社会扩散** | 小区晨练圈、家庭血压群 | 班级家长用"成长档案"打卡 | 家庭理财读书会 | 街道邻里互助群 | 社群"妈妈情绪互助月" |
+
+**用法**:5天一循环(身→智→富→行→心),30天共6轮。**每轮在六阶中挑一阶切入**(按"先抓人,再立信任,再带扩散"节奏):
+- 第 1 轮(D1-5):① 启动 —— 拉钩子,强启动
+- 第 2 轮(D6-10):② 坚持 —— 留人
+- 第 3 轮(D11-15):③ 获得感 —— 给甜头(数据/截图)
+- 第 4 轮(D16-20):④ 身份 —— 情感共鸣,转化铁粉
+- 第 5 轮(D21-25):⑤ 意见领袖 —— 案例+引荐
+- 第 6 轮(D26-30):⑥ 扩散 —— 建圈子,做拉升粉峰
+
+详见 `发布日历.md`。
+
+---
+
+## 5. 内容骨架(每篇笔记填表即用)
+
+**标题公式**(≤20字):
+- 「维度关键词」+「反常识钩子」+「身份承诺」
+- 例:"孩子说没意思:真不是安排得不够多"(心·启动)
+- 例:"让你早睡的不是自律,是这3件小事"(身·启动)
+
+**正文结构**(≤1000字):
+```
+1. 开头钩子(场景描述,60-100 字)—— 让读者代入
+2. 真实案例(带数据/反馈,200-300 字)—— 证明能力
+3. 问题拆解(六阶模型的某一阶切入,200-300 字)—— 给出机制
+4. 可执行招数(20 秒/3 天行动指令,200-300 字)—— 给出落地
+5. 收尾 → 行动呼吁:评论区打卡/私信拿量表(60-100 字)
+```
+
+**可执行招数清单**(创作时直接挑):
+- 20秒:喝一杯水、跟孩子说一句肯定、记一笔开销、给家人发"晚安"
+- 1分钟:量一次血压、记一次情绪、写一行成长记录、跟伴侣说"今天你__做得很好"
+- 10分钟:散步、读一段书、写一段成长规划、家人共聊今天一件好事
+- 半天:无安排日、家庭健康打卡、家庭关系复盘
+
+---
+
+## 6. 涨粉到 1 万的机制(六阶模型告诉你为什么这样写)
+
+六阶模型对涨粉的三条直接启示:
+
+| 启示 | 对应六阶 | 我们的内容设计 |
+|------|---------|----------------|
+| **降低启动门槛的人,会被反复收藏** | ①有效启动 | 每篇结尾给 20 秒动作,读者做了→收藏→转发 |
+| **能反复"获得感"的人,会变成铁粉** | ③获得感形成 | 每 3-5 天发一次"读者后台晒数据",让粉丝被看见 |
+| **能形成"我们这群人"感的人,会自然扩散** | ⑤⑥意见领袖+社会扩散 | 评论区互动 + 圈子 + 接龙,把"主动健康"做成身份 |
+
+**忌讳**:
+- ❌ 不要堆"为什么你应该 XX"——这就是杨金宇批评的健康说教
+- ❌ 不要只发数据图表没有"幸福感"——这是基础阶段的获得感缺失
+- ❌ 不要过早开圈接龙——必须先到第 5-6 轮(D21+)才有意见领袖密度
+- ❌ 不要追求"专业感"用六阶模型学术词吓读者——只用模型搭骨架,正文说人话
+
+---
+
+## 7. 如何把浠艾福"案例"嵌入内容
+
+浠艾福的核心资源是 **A2 核心素养测评 + B4 自驱力测评 + 家庭健康报告** 真实数据:
+
+- D1-D15 主用 **匿名家长自述 + 3 个维度分数前后**(如"自驱力 4.0→5.3")
+- D16-D30 主用 **家庭整体改善案例**(如"全家一起控糖3个月,爸爸减12斤、孩子专注力分提升1.2")
+- 数据脱敏规范见 `小红书内容\小红书发布指南.md`
+
+---
+
+## 8. 一张图总结(创作时贴墙上)
+
+```
+┌─────────────────────────────────────────────────────┐
+│   主动健康六阶模型 + 五维内容矩阵                     │
+├─────────────────────────────────────────────────────┤
+│   身→智→富→行→心 (5天一轮  6轮30天)                  │
+│                                                      │
+│   每篇 = 一个维度 ×  一阶模型 × 一个招数 × 一个案例  │
+│                                                      │
+│   D1-5   启动 → 拉钩子                              │
+│   D6-10  坚持 → 留人                                 │
+│   D11-15 获得感 → 给甜头                             │
+│   D16-20 身份 → 转化                                 │
+│   D21-25 领袖 → 扩散                                 │
+│   D26-30 社会 → 圈子                                 │
+│                                                      │
+│   三定律:20秒启动 / 多巴胺周期 / 社会神经共振       │
+└─────────────────────────────────────────────────────┘
+```
+
+---
+
+> 参考文章:[《主动健康的六阶模型及其神经生理机制》- 杨金宇 - 健康界](https://www.cn-healthcare.com/articlewm/20260617/content-1673754.html)  
+> 作者原文授权保留,本文件仅作内部创作方法论参考。

+ 152 - 0
运营文案/小红书发布/发布日历.md

@@ -0,0 +1,152 @@
+# 浠艾福小红书 30 天发布日历 · 涨粉到 1 万
+
+> 周期:30 天 / 30 篇笔记,日更 19:00 发  
+> 维度循环:**身→智→富→行→心**(五行相生)  
+> 六阶节奏:**①启动→②坚持→③获得感→④身份→⑤领袖→⑥扩散**(每5天推进一阶)  
+> 深度档:**可执行招数 + 案例化** —— 每篇必含"1件今天可做的事"  
+> 目标:30 天从 0 → 1 万粉  
+> 配合阅读:`内容方法论-六阶模型.md` `账号资料更新速查卡.md`
+
+---
+
+## 阅读说明
+
+每行格式:
+- **D#**  天数
+- **维度** 当日主导维度(带颜色和Emoji)
+- **六阶** 切入模型的阶
+- **标题** ≤20汉字的标题(可直接填入发布)
+- **钩子** 开头场景描述一句话
+- **可执行招数** 当天要读者做的动作(核心20秒/3天)
+- **案例数据** 引用的浠艾福真实数据片段(脱敏)
+- **标签** #话题(建议 3-5 个)
+
+**发布规则**:
+- 法定节假日、周末不计入 5 天循环的维度顺序
+- 每周日**复盘点**:D7/D14/D21/D28 当天笔记改发"本周数据复盘",仍写本维度内容,用复盘做获得感
+- 每篇结尾统一呼吁:**"评论区打卡,我做你的外部前额叶"**
+
+---
+
+## 第 1 轮 · 阶段 ① 有效启动(D1-D5)—— 用低门槛动作拉钩子
+
+| D# | 维度 | 标题 | 钩子 | 可执行招数 | 案例数据 | 标签 |
+|---|---|---|---|---|---|---|
+| **D1** | 🌏身 | 让你早睡的不是自律是这3件小事 | 妈妈哭诉"陪完孩子再收拾,12点才躺" | 今晚把手机放卧室外,20秒就能做 | "睡前手机放远"实操率72%,1周后入睡时间提前41分钟(浠艾福家庭报告) | #主动健康 #早睡 #妈妈自救 |
+| **D2** | ⚔️智 | 孩子说没意思真不是安排得不够多 | "8个班还嫌烦的妈妈哭了" | 今晚给孩子1个开放选择:"作业/绘本/散步挑1个" | 自主感3.3→4.5(一个月只改1件事) | #暑假鸡娃 #自主感 #五维能量 |
+| **D3** | 💧富 | 家庭理财最被低估的开销是什么不是培训班 | 妈妈月花2万还觉得亏欠 | 记账1笔本月零钱,1分钟完成 | 年记账率家庭:儿童财商分数高19分 (浠艾福B4财商分项) | #家庭理财 #儿童财商 #记账打卡 |
+| **D4** | 🌿行 | 给老朋友发1条"在吗"胜过100条朋友圈 | "毕业后再没朋友"的妈妈自白 | 今天主动给1个老朋友发"在吗" | 社会连接数+1,情绪稳定度+8分(浠艾福心维度量表) | #妈妈社交 #关系维护 #社会神经共振 |
+| **D5** | 🔥心 | 睡前深呼吸3次让你和孩子的情绪都安静下来 | "吼完孩子后悔一晚上"的妈妈 | 今晚睡前深呼吸3次(约1分钟) | 妈妈焦虑量表1周降7分,孩子入睡快20分 | #妈妈情绪 #睡前焦虑 #自我调节 |
+
+**本轮目标**:单篇收藏率≥8%、涨粉到 500。
+
+---
+
+## 第 2 轮 · 阶段 ② 持续坚持(D6-D10)—— 用三定律把动作做成习惯
+
+| D# | 维度 | 标题 | 钩子 | 可执行招数(含三定律) | 案例数据 | 标签 |
+|---|---|---|---|---|---|---|
+| **D6** | 🌏身 | 早睡7天打卡第1天:穿睡衣在阳台站2分钟 | 听说要早睡却做不起来的妈妈 | **20秒法则**:只要求"站阳台2分钟",不强求早睡 | 7天打卡家庭平均入睡时间提前52分钟 | #早睡打卡 #微行动 #20秒法则 |
+| **D7** | ⚔️智 | 复盘孩子本周3个进步比报班管用100倍 | "我看不到孩子进步,只看到问题" | 周日晚9点,**多巴胺周期D7**:写3个进步件,奖励自己一杯奶茶 | 坚持周复盘家庭:A2核心素养3个月升0.6分 | #周复盘 #正向反馈 #成长档案 |
+| **D8** | 💧富 | 每月定投1次比每天看余额管用 | 焦虑余额却没动起来的妈妈 | 本月发薪日自动定投1笔,**社会神经共振**:拉家庭群接龙 | 半年定投家庭:让孩子管1%资金决策,财商分+14 | #家庭定投 #财商 #接龙打卡 |
+| **D9** | 🌿行 | 家庭群接龙5分钟运动胜过劝家人减肥 | "我妈不听我劝" | 建家庭群,每天接龙5分钟散步 | 接龙坚持14天,家庭运动频率提升3倍 | #家庭运动群 #接龙 #关系维护 |
+| **D10** | 🔥心 | 情绪日记21天第1天别写就记3个字 | 知道记录有用却写不起来的妈妈 | 每天**只记3个字**:今天感觉,"累/烦/平/悦" | 21天日记者:焦虑自量表降12分 | #情绪日记 #21天 #多巴胺周期 |
+
+**本轮目标**:涨粉到 1500,评论互动率≥3%。
+
+---
+
+## 第 3 轮 · 阶段 ③ 获得感形成(D11-D15)—— 晒数据+晒体感
+
+| D# | 维度 | 标题 | 钩子 | 可执行招数 | 案例数据(获得感样例) | 标签 |
+|---|---|---|---|---|---|---|
+| **D11** | 🌏身 | 3天后你会看到这5个身体信号 | "我做了没看出效果" | 打卡3天后拍1张对比照:舌苔/眼袋/晨起状态 | 3天打卡家庭主诉改善率64%:睡得沉、头晕减少 | #体感反馈 #3天打卡 #数据获得感 |
+| **D12** | ⚔️智 | 14天后孩子主动跟你说话多了一句 | "孩子不爱跟我说话" | 每天晚饭后跟孩子说1句具体夸奖(非"你真棒") | 14天坚持家庭:孩子主动沟通频次+30%/周 | #正向沟通 #获得感 #14天打卡 |
+| **D13** | 💧富 | 14天家庭资产柱状图长什么样 | "钱不知道去哪了" | 14天记账后画1张家庭月度支出柱状图 | 14天记账家庭:自评财务清晰度3.2→7.1(10分制) | #账本柱状图 #家庭获得感 #记账挑战 |
+| **D14** | 🌿行 | 关系温度计:14天里关系上浮了几度 | "我和我婆婆5年没说真心话" | 14天每天给家人1句"今天你___做得很好" | 家庭关系自评温度:5.5→7.8(14天量表) | #家庭温度计 #关系获得感 #社会神经共振 |
+| **D15** | 🔥心 | 量表告诉你的比你自己直觉准 | "我以为我没那么焦虑" | 今晚做个SCL-90焦虑自量表(私信可领) | 妈妈组焦虑分均值下调9.7分(30天) | #量表获得感 #情绪测评 #数据真实 |
+
+**本轮目标**:涨粉到 3500,后台私信咨询量表要量≥20条/天。
+
+---
+
+## 第 4 轮 · 阶段 ④ 身份重塑(D16-D20)—— 让读者从"我应该"变成"我是"
+
+| D# | 维度 | 标题 | 钩子 | 可执行招数(身份陈述) | 案例数据 | 标签 |
+|---|---|---|---|---|---|---|
+| **D16** | 🌏身 | 我是我身体趋势的管理者不是病人 | "我妈一辈子吃药都没主动量过血压" | 写下身份陈述:"我是自己身体趋势的管理者" | 身份陈述打卡者:主动健康管理分+22分 | #身份重塑 #主动健康 #我是这种人 |
+| **D17** | ⚔️智 | 我相信孩子有自己的节奏 | "看完别人家的孩子我就慌" | 在孩子成长档案写1次"我选择相信他的节奏" | 母亲焦虑指数降13分、孩子自主感+1.8 | #相信孩子 #身份重塑 #观察者 |
+| **D18** | 💧富 | 我不是为孩子省钱的我是为家庭增值的人 | "舍不得为自己花一块钱" | 家庭年资产规划写一句话:"我是家庭财富的长期主义者" | 长期理念妈妈:3年累计家庭净值+38% | #长期主义者 #家庭财富 #身份重塑 |
+| **D19** | 🌿行 | 我是关系里给温度的人不是讲理的人 | "跟老公吵架赢他输感情" | 写身份陈述贴冰箱:**"给温度不讲道理"** | 家庭温度自评3周上浮2.4分 | #给温度的人 #关系身份 #家庭重塑 |
+| **D20** | 🔥心 | 我能理解和接纳自己的情绪 | "情绪来了控制不住但事后更崩溃" | 写1句话:"我是能理解自己情绪的人",贴电脑上 | 妈妈情绪稳定度+1.7分(浠艾福心维度量表) | #情绪接纳 #我是这种人 #自我重塑 |
+
+**本轮目标**:涨粉到 5500,铁粉率≥8%(在每篇评论3次以上者达400人)。
+
+---
+
+## 第 5 轮 · 阶段 ⑤ 意见领袖化(D21-D25)—— 案例密度大,开始做拉新
+
+| D# | 维度 | 标题 | 钩子 | 可执行招数 | 案例数据(带细节) | 标签 |
+|---|---|---|---|---|---|---|
+| **D21** | 🌏身 | 我怎么带我老公控血压一起减了12斤 | "他吃降压药都不听话" | 我把"饭后15分钟散步"改成"夫妻约会",每晚1次 | 全家控糖控压3月:老公血压145→125、体重-12斤 | #家庭控压 #案例分享 #夫妻同行 |
+| **D22** | ⚔️智 | 帮班级3位妈妈重启了成长档案 | "班里妈妈都说孩子没动力" | 在班级群每周发1次"孩子3个进步"小单 | 班级3位妈妈孩子3个月内A2核心素养+0.4 | #班级妈妈群 #意见领袖 #成长档案 |
+| **D23** | 💧富 | 我把家庭财商框架分享给5个家庭 | "孩子要零花钱咋给" | 用"3罐法"需要/想要/储蓄,在家长群分享模板 | 5个家庭6个月使用财商框架,孩子储蓄技能+28分 | #3罐法 #家庭财商分享 #意见领袖 |
+| **D24** | 🌿行 | 我帮邻居解了一次婆媳僵局 | "听婆婆哭我就心疼" | 用"3F倾听法":事实-感受-需求,分享一次应用 | 邻居家庭关系自评1个月内上浮1.2分 | #3F倾听 #关系调解 #意见领袖 |
+| **D25** | 🔥心 | 我把情绪日记模板发出来被收藏36次 | "原来那么多妈妈都需要它" | 把21天情绪日记模板做成图文笔记(带二维码) | 36次收藏=5位妈妈加私信,引流到测评 | #情绪日记模板 #私域引流 #妈妈圈 |
+
+**本轮目标**:涨粉到 7500,单篇平均收藏数≥150,开始稳定私域引流(≥5条私信/天)。
+
+---
+
+## 第 6 轮 · 阶段 ⑥ 社会扩散(D26-D30)—— 建圈子,做涨粉峰
+
+| D# | 维度 | 标题 | 钩子 | 可执行招数(圈子) | 战役设计 | 标签 |
+|---|---|---|---|---|---|---|
+| **D26** | 🌏身 | 开个小区晨练圈3个邻居就走起来了 | "我妈一个人不愿动" | 拉小区群3-5人建"晨练15分钟圈" | 倡议"3天试走期",所有参加者拍1张合照打卡 | #晨练圈 #社会扩散 #邻里健康 |
+| **D27** | ⚔️智 | 父母共学圈比鸡娃群高效100倍 | "妈妈群 información 给我加焦虑" | 拉一个"看见孩子"共学小组,每周读1节书 | 周共学会员轮值主持,每月轮值4人 | #共学圈 #父母成长 #意见领袖扩散 |
+| **D28** | 💧富 | 我开了家庭理财读书会第1次来了7家人 | "理财书我看不下去" | 每月1次集中读1本理财书 + 1个家庭实操作 | 第1次7人月会,第6个月固定15人 | #理财读书会 #家庭共读 #社会扩散 |
+| **D29** | 🌿行 | 街道邻里互助群我们做了第一件大事 | "好久没人敲我家门借东西" | 建1个"邻里互助群",每周1件互助事(借物/带娃/接娃) | 借物/接娃/陪诊三大类接龙,3个月5次家互动 | #邻里互助 #街道互助 #关系网扩散 |
+| **D30** | 🔥心 | 30天我做你的外部前额叶今天解锁1万粉 | 一个妈妈哭着说"原来我也可以" | 直播/笔记:30天复盘+1万粉感恩 + 拉社群 | 直播间拉"30天主动健康挑战"第一批100人 | #1万粉 #30天主动健康挑战 #外部前额叶 |
+
+**本轮目标**:涨粉峰值破 1 万,社群首批200人入群,私域转化≥5%(10人购买测评/服务)。
+
+---
+
+## 涨粉曲线目标
+
+| 时间 | 累计粉丝 | 累计收藏 | 累计评论 | 关键事件 |
+|------|---------|---------|---------|---------|
+| D5(第1轮末) | 500 | 800 | 200 | 第1个钩子爆款 |
+| D10(第2轮末) | 1,500 | 3,000 | 800 | 评论区打卡开始热 |
+| D15(第3轮末) | 3,500 | 7,500 | 2,500 | 数据获得感爆文 |
+| D20(第4轮末) | 5,500 | 13,000 | 5,000 | 身份共鸣留言激增 |
+| D25(第5轮末) | 7,500 | 22,000 | 9,000 | 意见领袖案例笔记引爆 |
+| D30(第6轮末) | **10,000** | 35,000 | 14,000 | 圈子+社群拉升 |
+
+---
+
+## 每日发布操作清单
+
+发布当天上午:
+- [ ] 写正文(按 `内容方法论-六阶模型.md` 第5节骨架)
+- [ ] 生成/选定封面图(Agnes AI 或 PIL)
+- [ ] 发 `cdp_publish.py fill` 填入发布页
+- [ ] 人工二次校对(标题/封面/正文)
+- [ ] 19:00 发 `click-publish`
+
+发布后:
+- [ ] **前3小时**:回复前 5 条评论并点赞
+- [ ] **24h**:记录数据进 `发布数据复盘清单.md`
+- [ ] **每周日**(D7/D14/D21/D28):发周复盘笔记
+
+---
+
+## 应急/替补选题库(流量波动时按维度切换)
+
+| 维度 | 替补选题1 | 替补选题2 |
+|------|----------|----------|
+| 身 | "我家水机选不对" | "减肥药都是智商税吗" |
+| 智 | "孩子不爱读书怎么办" | "成长档案从几岁开始建" |
+| 富 | "家庭理财3罐法失败原因" | "孩子零花钱第一笔到底多少合适" |
+| 行 | "公公婆婆来了我该怎么办" | "孩子班级被孤立我该出手吗" |
+| 心 | "为什么我现在老发无名火" | "原生家庭捆住了老公怎么办" |

+ 281 - 0
运营文案/小红书发布计划.md

@@ -0,0 +1,281 @@
+# 浠艾福(Care Family)小红书内容发布计划
+
+> 生成日期:2026-07-19 | 基于项目 README + AGENTS.md + 运营推广设计文档分析
+
+---
+
+## 一、账号定位与目标用户画像
+
+### 品牌一句话定位
+
+**"给全家的一站式幸福提案"** — 以五维能量(身·智·富·行·心)为引擎,帮助家庭实现身体健康、孩子成才、财富自由、关系和谐、情感温暖的幸福生活。
+
+### 小红书目标用户画像
+
+| 维度 | 特征 |
+|------|------|
+| **核心用户** | 28-40岁宝妈,关注孩子教育、家庭健康、自我成长 |
+| **二级用户** | 25-35岁备孕/新婚女性,对"家庭系统规划"感兴趣 |
+| **消费能力** | 中产及以上,愿意为教育测评、营养方案付费 |
+| **核心痛点** | 焦虑孩子学习/心理状态;不知如何科学教养;夫妻关系因育儿压力而紧张 |
+| **内容偏好** | 案例故事("别人家的孩子怎么培养的")、方法论干货("测评报告怎么看")、视觉精美的知识卡片 |
+
+### 品牌人设
+
+- **专业但不冰冷**:科学的测评体系打底,但用温暖的生活化语言表达
+- **案例说话**:遵循公众号案例研究型内容规范,用真实客户故事转化
+- **五维色彩体系**:封面/配图统一使用品牌色(身土橙 #FF8C42 / 智金紫 #6366F1 / 富水黄 #F59E0B / 行木绿 #10B981 / 心火粉 #FF6B9D)
+
+---
+
+## 二、内容矩阵(6大选题方向)
+
+### 选题 1:案例研究 · 高转化核心内容
+
+> 遵循 AGENTS.md 规定的案例研究三步法:真实成果 → 前后对比 → 拆解过程
+
+| 标题模板 | 目标五维 | 互动引导 |
+|----------|----------|----------|
+| "从自驱力4.07到5.30:一个孩子的3个月蜕变实录" | 智 | "你家娃的自驱力几分?评论区聊聊" |
+| "测评报告上这项指标亮了红灯,我们才知道问题出在哪" | 心 | "有拿不准的指标可以发评论区帮看" |
+| "妈妈说"他成绩还行"……测评一看,学习力底层全是洞" | 智+心 | "孩子成绩好≠底层能力好,同意吗?" |
+| "青春期女儿突然变得不爱和我说话,测评后才懂原因" | 行+心 | "你家娃的社交力过得怎么样?" |
+| "一份营养报告揭开全家人反复感冒的真相" | 身 | "你家有做过家庭营养评估吗?" |
+
+**发布频率**:每周 1 篇(周四晚 20:00,阅读高峰期)
+
+**素材来源**:`C:\Users\Administrator\Documents\双培强基工程\temp_images\` 下的脱敏报告截图 + A2 核心素养评估报告
+
+### 选题 2:五维能量 · 品牌概念科普
+
+| 标题模板 | 形式 | 目标 |
+|----------|------|------|
+| "一张图看懂:你家处在五维的哪个象限?" | 信息图 | 建立"五维"品牌认知 |
+| "身·智·富·行·心:五行相生的家庭教育底层逻辑" | 深度长文 | 展示理论体系专业度 |
+| "你拼命鸡娃的'智',到底是五维里的哪个坑?" | 痛点切入+科普 | 爆款+引流 |
+| "五维能量自测表:3分钟给全家打评分" | 互动工具 | 收藏+互动 |
+| "五行相克告诉你:为什么鸡娃的妈妈身体先垮了" | 反常识科普 | 情感共鸣 |
+
+**发布频率**:每两周 1 篇(周三晚 19:00)
+
+### 选题 3:亲子关系 · 情感共鸣型
+
+| 标题模板 | 形式 | 互动 |
+|----------|------|------|
+| "为什么孩子和你越来越没话说?(不是叛逆期那么简单)" | 痛点+方法论 | 评论讨论 |
+| "夫妻关系评分不到6分,亲子关系几乎不可能高分" | 反常识观点 | 投票+讨论 |
+| "别让爸爸在家庭教育里'隐身':一份测评数据看出来的真相" | 数据故事 | 收藏 |
+
+**发布频率**:每月 2 篇(周二晚 20:00)
+
+### 选题 4:测评产品 · 种草转化型
+
+| 标题模板 | 形式 | 转化路径 |
+|----------|------|----------|
+| "朋友推荐做了个'核心素养评估',拿到28页报告我愣住了" | 开箱体验 | 评论区留言"测评"获取链接 |
+| "给娃花了3000块做测评,值不值?看完这4个指标你就懂了" | ROI分析 | 引导私信咨询 |
+| "测评不是考试!5个常见误区,千万别中" | 避坑指南 | 建立专业信任 |
+
+**发布频率**:每月 1 篇(周末上午 10:00)
+
+### 选题 5:营养健康 · 实操型
+
+| 标题模板 | 形式 | 转化点 |
+|----------|------|--------|
+| "一家老小都缺这3种营养素,超市里就能补" | 实用清单 | 建立健康领域专业度 |
+| "健康报告PDF解读保姆级教程:这5项指标最容易被忽视" | 教程 | 引导使用小程序健康报告功能 |
+| "换季全家没感冒的秘密,就藏在这份营养方案里" | 案例+方案 | 精准营养推荐服务 |
+
+**发布频率**:每月 1 篇
+
+### 选题 6:平台功能体验 · 口碑扩散型
+
+| 标题模板 | 内容 | 目的 |
+|----------|------|------|
+| "小程序里居然有个'五维能量沙盒',娃玩到停不下来" | 游戏功能种草 | 提升小程序打开率 |
+| "和老公一起在小程序做了家庭关系图,发现了问题" | 功能体验+情感故事 | 夫妻关系话题互动 |
+| "新手任务做完了,白嫖了200积分+30能量,真香" | 任务奖励种草 | 吸引新用户注册 |
+
+**发布频率**:不定期(配合产品功能更新)
+
+---
+
+## 三、发布节奏与频次
+
+### 月历排期(稳定期)
+
+```
+第1周:周二 亲子关系 | 周三 五维科普 | 周四 案例研究
+第2周:周二 亲子关系 | 周四 案例研究 | 周末 测评种草
+第3周:周三 五维科普 | 周四 案例研究 | 周末 营养健康
+第4周:周二 亲子关系 | 周四 案例研究
+```
+
+- **周发布量**:3-4 篇
+- **月发布量**:12-16 篇(冷启动阶段可减至 8-10 篇保证质量)
+- **最佳发布时间**:
+  - 工作日晚上 19:00-20:30(下班后、娃睡了、刷手机时间)
+  - 周末上午 10:00-11:00(起床后悠闲浏览)
+
+### 冷启动策略(前 2 个月)
+
+**第1个月:建号打标签**
+- 前 2 周:每周 5 篇(高频输出,让算法快速识别人设)
+  - 选题侧重:亲子关系痛点(容易出爆款)+ 五维科普(建立专业度)
+- 后 2 周:每周 4 篇
+  - 选题侧重:加入 1 篇"测评体验开箱"类种草内容
+
+**第2个月:引入案例研究**
+- 第 1 篇案例研究发布(挑最"炸"的案例——前后对比越鲜明越好)
+- 如果数据好(点赞 200+),案例频次提高到每周 1 篇
+
+---
+
+## 四、标题与封面规范(小红书特化)
+
+### 标题公式
+
+| 类型 | 公式 | 示例 |
+|------|------|------|
+| **痛点+解法** | `[痛点场景] + [惊讶发现] + [解决方案暗示]` | "娃成绩不错,测评一看底层全是洞……我用3个月补上了" |
+| **数字清单** | `[数字]个[领域]+[干货标记]` | "5个测评报告红灯指标,每个家长都该懂" |
+| **反常识** | `[常识认知] +(其实是...)+ [真相]` | "你以为孩子是叛逆期?测评数据显示可能是社交力崩塌" |
+| **前后对比** | `[时间]前 vs 后:[指标]+[变化]` | "3个月前自驱力4.07,现在5.30——中间发生了什么" |
+
+### 封面图规范
+
+| 规范项 | 标准 |
+|--------|------|
+| **尺寸** | 3:4 竖版(1080×1440px)|
+| **风格** | 温暖、简约、留白充足 |
+| **配色** | 根据内容对应的五维使用对应品牌色 |
+| | · 智(测评/案例)→ #6366F1 金紫 |
+| | · 心(亲子关系)→ #FF6B9D 火粉 |
+| | · 身(健康营养)→ #FF8C42 土橙 |
+| | · 行(人际/关系)→ #10B981 木绿 |
+| | · 富(成长/福利)→ #F59E0B 水黄 |
+| **文字** | 封面标注维度标签(如"智·案例研究")和非核心标题(大标题由小红书标题字段承担) |
+| **禁止** | 过度修图导致失真;使用与内容无关的"吸引眼球"图 |
+
+---
+
+## 五、标签矩阵
+
+### 核心品牌标签(每篇必带)
+
+```
+#浠艾福 #家庭成长 #五维能量 #身心智行富
+```
+
+### 选题分类标签(选 2-3 个)
+
+| 选题类型 | 标签 |
+|----------|------|
+| 案例研究 | `#育儿心得` `#自驱力培养` `#核心素养测评` `#成长记录` |
+| 五维科普 | `#家庭教育底层逻辑` `#五行育儿` `#全能培养` |
+| 亲子关系 | `#亲子沟通` `#青春期孩子` `#家庭关系心理学` |
+| 测评种草 | `#核心素养评估` `#孩子测评` `#A2测评报告` |
+| 营养健康 | `#家庭营养` `#体质调理` `#精准营养` |
+| 平台功能 | `#育儿小程序` `#成长规划` |
+
+### 流量标签(选 2-3 个,追热点)
+
+- 通用流量:`#宝妈必看` `#育儿干货` `#家庭教育` `#小学生家长`
+- 季节热点:`#暑假带娃` `#开学季` `#期末焦虑` `#流感季防护`
+- 平台活动:小红书官方话题标签活动时参与
+
+---
+
+## 六、评论区运营策略
+
+### 互动引导(每篇正文末尾埋钩子)
+
+```
+基础版:
+"你家娃现在哪个维度是你最担心的?评论区说说,我帮你看看"
+"测评报告里哪个指标不会看?发出来一起讨论"
+
+进阶版(案例研究后):
+"如果你的娃自驱力评分也和我家之前一样(4分以下),可以私信我聊聊怎么从测评开始改善"
+```
+
+### 评论区回复规范
+
+- **发布后 1 小时内**:每条评论必回(影响算法推荐)
+- **专业类问题**:给出 2-3 句有信息量的回复,结尾引导私信
+- **情感共鸣类**:"完全理解你的感受" + 简短经历分享 + 鼓励
+- **敏感信息**:不透露客户姓名/学校,统一用化名或"一个妈妈/孩子"
+
+---
+
+## 七、数据复盘与迭代
+
+### 每篇笔记追踪指标
+
+| 指标 | 健康基准 | 预警线 |
+|------|----------|--------|
+| **点击率**(曝光→点击) | >8% | <5%(标题/封面需要优化) |
+| **完读率**(点击→读完) | >60% | <40%(正文太长或开头不抓人) |
+| **互动率**(点击→赞藏评) | >5% | <3%(内容不够引发行动) |
+| **涨粉率**(单篇新增关注) | >1% | <0.5%(种草/信任感不足) |
+
+### 月度策略会议检查清单
+
+1. 本月哪 3 篇数据最好?为什么好?(选题/标题/发布时间/封面)
+2. 本月是否有"挂0"笔记?(发布后 24h 点赞<10)
+3. 案例研究 vs 干货科普,哪类互动率/涨粉率更高?
+4. 本月涨粉来源:自然搜索 vs 发现页推荐 vs 互动引流?
+5. 下月选题调整:放大数据好的方向,砍掉数据差的选题
+
+---
+
+## 八、素材准备清单(行动项)
+
+### 已具备
+
+| 素材 | 位置 | 备注 |
+|------|------|------|
+| A2 核心素养报告截图(脱敏) | `C:\Users\Administrator\Documents\双培强基工程\temp_images\` | 案例研究核心素材 |
+| 五维体系完整定义 | README.md 「五维全景幸福矩阵」表格 | 可做信息图 |
+| 公众号案例文章 | `articles\v11_case_study.md` | 可改编为小红书风格 |
+| 品牌色系 | #FF8C42 / #6366F1 / #F59E0B / #10B981 / #FF6B9D | 封面配色标准 |
+
+### 待准备
+
+| 素材 | 用途 | 制作方式 |
+|------|------|----------|
+| 五维能量自测表(图片版) | 选题2"互动工具" | 信息图排版,存为 3:4 竖图 |
+| 测评报告"红灯指标"标注图 | 选题4"种草转化" | 报告截图+箭头标注+脱敏 |
+| 品牌Logo印章(小字水印) | 所有原创图右下角 | 简洁 logo,防搬运 |
+| 案例研究用前后对比长图 | 案例研究 · 第二步 | 两张脱敏截图并排+对比标注 |
+| 封面模板 PSD/Canva | 统一品牌视觉 | 3:4 模板含五维色标+留白区 |
+
+---
+
+## 九、与公众号(微信公众平台)协同策略
+
+> 已有稳定发布脚本 `publish_v11_stable.py`,公众号发布流程成熟
+
+| 协同点 | 策略 |
+|--------|------|
+| **内容双向适配** | 公众号长文 → 小红书拆为 2-3 篇短文+图片笔记;小红书爆款 → 扩展为公众号深度案例 |
+| **引流路径** | 小红书 → "想获取完整测评解读,关注公众号 浠艾福"(不可放外链,用关键词引导搜索) |
+| **公众号→小程序** | 公众号文末引导扫码/搜索小程序(已有成熟链路) |
+| **发布时间错开** | 同一天不双平台发相同内容(平台去重机制);隔日发布或用不同切入角度 |
+
+---
+
+## 十、风险与禁忌(硬性红线)
+
+| 红线 | 说明 |
+|------|------|
+| ❌ 不暴露客户隐私 | 姓名化名、学校不提及、日期模糊、关键数据打码 |
+| ❌ 不虚构案例 | 所有案例数据来自真实 A2 报告,截图为证 |
+| ❌ 不夸大承诺 | "保证孩子成绩提升"类话术零容忍 |
+| ❌ 不放外部链接 | 小红书禁用外链,引导方式为"私信发送小程序名称" |
+| ❌ 不搬运拼接 | 禁止直接转载公众号长文/洗稿他人内容 |
+| ❌ 不过度商业化 | 每 3-4 篇内容中不超过 1 篇带产品种草 |
+
+---
+
+*计划制定完成。下一步:根据月历排期创作第一周内容初稿。*

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio