Browse Source

style(cfc-frontend): U7 大字号段裸值归并 + font-weight 800/900 收口

- uni.scss: 新增 $uni-font-size-4xl(64rpx)/5xl(80rpx)/6xl(100rpx) 令牌(规格 2026-10-25 审查 §5.1)
- 40~120rpx 大字号段 13 种裸值归并:42→40, 56→48, 60→64(4xl), 88→80(5xl), 96→100(6xl);
  52→3xl、64→4xl、80→5xl、100→6xl 令牌化(保留 calc font-scale 缩放)
- font-weight 收口(§5.4):800×19 + 900×3 → 700,消除 20-30rpx 中文小字号糊字风险
- membership/gift-coupon.vue 裸 80rpx → calc($uni-font-size-5xl * font-scale)(补缩放缺口)
- 交付物:docs/2026-10-31-字重令牌映射与视觉影响评估.md(主理人确认稿)
- 注:components/OnboardingGuide/ConfigurableGuide 两处 800 属规格 22 处口径之外,未纳入
Sisyphus 1 week ago
parent
commit
bc78b677cc
100 changed files with 125 additions and 125 deletions
  1. 1 1
      cfc-frontend/pages/achievement/index.vue
  2. 1 1
      cfc-frontend/pages/action-detail/components/AbilityDiagram.vue
  3. 1 1
      cfc-frontend/pages/action-detail/components/OctopusDiagram.vue
  4. 1 1
      cfc-frontend/pages/action-detail/components/PearlDiagram.vue
  5. 1 1
      cfc-frontend/pages/action-detail/index.vue
  6. 1 1
      cfc-frontend/pages/action-detail/octopus-effects-list.vue
  7. 1 1
      cfc-frontend/pages/activity/activity-detail/activity-detail.vue
  8. 1 1
      cfc-frontend/pages/activity/create.vue
  9. 1 1
      cfc-frontend/pages/activity/index.vue
  10. 1 1
      cfc-frontend/pages/ai/chat.vue
  11. 3 3
      cfc-frontend/pages/article-center/article-detail.vue
  12. 1 1
      cfc-frontend/pages/article-center/article-edit.vue
  13. 1 1
      cfc-frontend/pages/article-center/my-posts.vue
  14. 1 1
      cfc-frontend/pages/assessment-plan/detail.vue
  15. 1 1
      cfc-frontend/pages/assessment-plan/list.vue
  16. 1 1
      cfc-frontend/pages/assessment/quota.vue
  17. 1 1
      cfc-frontend/pages/assessment/rating.vue
  18. 1 1
      cfc-frontend/pages/assessment/results.vue
  19. 1 1
      cfc-frontend/pages/body-detail/dimension-questionnaire.vue
  20. 1 1
      cfc-frontend/pages/child/tasks.vue
  21. 1 1
      cfc-frontend/pages/cognitive-hall.vue
  22. 2 2
      cfc-frontend/pages/cognitive-test/language-test.vue
  23. 1 1
      cfc-frontend/pages/cognitive-test/logic-test.vue
  24. 2 2
      cfc-frontend/pages/cognitive-test/memory-test.vue
  25. 2 2
      cfc-frontend/pages/cognitive-test/perception-test.vue
  26. 3 3
      cfc-frontend/pages/cognitive-test/spatial-test.vue
  27. 2 2
      cfc-frontend/pages/cognitive-test/speed-test.vue
  28. 1 1
      cfc-frontend/pages/dan-assessment/report-result.vue
  29. 1 1
      cfc-frontend/pages/diet/meal-config.vue
  30. 1 1
      cfc-frontend/pages/diet/preferences.vue
  31. 1 1
      cfc-frontend/pages/diet/recommendation.vue
  32. 1 1
      cfc-frontend/pages/diet/records.vue
  33. 1 1
      cfc-frontend/pages/discover/circle-feed.vue
  34. 1 1
      cfc-frontend/pages/energy/index.vue
  35. 1 1
      cfc-frontend/pages/family/mbti-profile.vue
  36. 1 1
      cfc-frontend/pages/family/mbti-result.vue
  37. 1 1
      cfc-frontend/pages/family/self-check-ai.vue
  38. 1 1
      cfc-frontend/pages/family/self-check-entry.vue
  39. 1 1
      cfc-frontend/pages/family/self-check-result.vue
  40. 1 1
      cfc-frontend/pages/games/list.vue
  41. 1 1
      cfc-frontend/pages/growth-main/index.vue
  42. 1 1
      cfc-frontend/pages/growth/caution-detail.vue
  43. 2 2
      cfc-frontend/pages/growth/sleep-checkin.vue
  44. 1 1
      cfc-frontend/pages/growth/supplement.vue
  45. 1 1
      cfc-frontend/pages/growth/upload.vue
  46. 2 2
      cfc-frontend/pages/guide/activities/index.vue
  47. 1 1
      cfc-frontend/pages/guide/bind/invite.vue
  48. 1 1
      cfc-frontend/pages/guide/hierarchy/index.vue
  49. 1 1
      cfc-frontend/pages/guide/packages/create.vue
  50. 1 1
      cfc-frontend/pages/guide/register/index.vue
  51. 2 2
      cfc-frontend/pages/health/challenge-manage.vue
  52. 1 1
      cfc-frontend/pages/health/doa-index.vue
  53. 2 2
      cfc-frontend/pages/health/health-plan-summary.vue
  54. 2 2
      cfc-frontend/pages/health/indicator-timeline.vue
  55. 1 1
      cfc-frontend/pages/health/my-feedback.vue
  56. 1 1
      cfc-frontend/pages/health/nutrition-profile.vue
  57. 1 1
      cfc-frontend/pages/health/physical-exam-detail.vue
  58. 1 1
      cfc-frontend/pages/health/plan-list.vue
  59. 1 1
      cfc-frontend/pages/health/report-list.vue
  60. 1 1
      cfc-frontend/pages/health/survey-history.vue
  61. 1 1
      cfc-frontend/pages/health/teacher-service.vue
  62. 4 4
      cfc-frontend/pages/home-pages/child-index.vue
  63. 1 1
      cfc-frontend/pages/home-pages/components/FeedbackToast.vue
  64. 1 1
      cfc-frontend/pages/home-pages/components/MilestoneCelebration.vue
  65. 2 2
      cfc-frontend/pages/home-pages/parent-index.vue
  66. 1 1
      cfc-frontend/pages/home/app-library.vue
  67. 2 2
      cfc-frontend/pages/index-home/index.vue
  68. 1 1
      cfc-frontend/pages/invite/join-form.vue
  69. 4 4
      cfc-frontend/pages/invite/join.vue
  70. 1 1
      cfc-frontend/pages/login/scan-login.vue
  71. 1 1
      cfc-frontend/pages/meal/recipe-detail.vue
  72. 1 1
      cfc-frontend/pages/meal/recommend.vue
  73. 1 1
      cfc-frontend/pages/member-detail/report-detail.vue
  74. 1 1
      cfc-frontend/pages/membership/benefits.vue
  75. 1 1
      cfc-frontend/pages/membership/gift-coupon.vue
  76. 1 1
      cfc-frontend/pages/membership/result.vue
  77. 1 1
      cfc-frontend/pages/mind-detail/articles.vue
  78. 2 2
      cfc-frontend/pages/mind-detail/duo-compatibility.vue
  79. 1 1
      cfc-frontend/pages/mind-detail/emotion-checkin.vue
  80. 2 2
      cfc-frontend/pages/mind-detail/emotion-report.vue
  81. 1 1
      cfc-frontend/pages/mind-detail/emotion-trend.vue
  82. 1 1
      cfc-frontend/pages/mind-detail/family-dashboard.vue
  83. 3 3
      cfc-frontend/pages/mind-detail/index.vue
  84. 1 1
      cfc-frontend/pages/mind-detail/innate-portrait.vue
  85. 1 1
      cfc-frontend/pages/mind-detail/traditional-mirror.vue
  86. 1 1
      cfc-frontend/pages/notification/index.vue
  87. 1 1
      cfc-frontend/pages/orchestration/index.vue
  88. 1 1
      cfc-frontend/pages/parent/appointments.vue
  89. 1 1
      cfc-frontend/pages/parent/plans/detail.vue
  90. 1 1
      cfc-frontend/pages/parent/plans/index.vue
  91. 1 1
      cfc-frontend/pages/parent/wishes/index.vue
  92. 1 1
      cfc-frontend/pages/pearl-reminders/index.vue
  93. 1 1
      cfc-frontend/pages/profile-extra/children.vue
  94. 1 1
      cfc-frontend/pages/profile-extra/coupon-center.vue
  95. 1 1
      cfc-frontend/pages/profile-extra/coupons.vue
  96. 1 1
      cfc-frontend/pages/profile-extra/create-child.vue
  97. 1 1
      cfc-frontend/pages/profile-extra/edit-child.vue
  98. 1 1
      cfc-frontend/pages/profile-extra/family-members.vue
  99. 1 1
      cfc-frontend/pages/profile/message-history.vue
  100. 1 1
      cfc-frontend/pages/profile/report-management.vue

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

@@ -192,7 +192,7 @@ export default {
   padding: 60rpx 0;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 20rpx;
 }

+ 1 - 1
cfc-frontend/pages/action-detail/components/AbilityDiagram.vue

@@ -683,7 +683,7 @@ export default {
   margin: 10rpx 0;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 16rpx;
 }
 .empty-text {

+ 1 - 1
cfc-frontend/pages/action-detail/components/OctopusDiagram.vue

@@ -638,7 +638,7 @@ export default {
   margin: 10rpx 0;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 16rpx;
 }
 .empty-text {

+ 1 - 1
cfc-frontend/pages/action-detail/components/PearlDiagram.vue

@@ -1099,7 +1099,7 @@ export default {
   margin: 10rpx 0;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 16rpx;
 }
 .empty-text {

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

@@ -1241,7 +1241,7 @@ $c-tint-mint: $c-tint-mint-wash;
 }
 .explain-score {
   font-size: calc(48rpx * var(--font-scale, 1));
-  font-weight: 800;
+  font-weight: 700;
   line-height: 1;
   letter-spacing: -2rpx;
 }

+ 1 - 1
cfc-frontend/pages/action-detail/octopus-effects-list.vue

@@ -192,7 +192,7 @@ export default {
   padding: 80rpx 20rpx;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 16rpx;
 }
 .empty-text {

+ 1 - 1
cfc-frontend/pages/activity/activity-detail/activity-detail.vue

@@ -1101,7 +1101,7 @@ export default {
   margin-bottom: 20rpx;
 }
 .error-icon {
-  font-size: calc(64rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   margin-bottom: 16rpx;
 }
 .retry-btn {

+ 1 - 1
cfc-frontend/pages/activity/create.vue

@@ -946,7 +946,7 @@ export default {
 }
 
 .upload-icon {
-  font-size: calc(64rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   color: $app-text-subtle;
 }
 

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

@@ -1197,7 +1197,7 @@ uni.showToast({ title: '请先选择家庭成员身份', icon: 'none' })
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 

+ 1 - 1
cfc-frontend/pages/ai/chat.vue

@@ -829,7 +829,7 @@ export default {
 }
 
 .welcome-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
   transition: transform 0.3s;
 }

+ 3 - 3
cfc-frontend/pages/article-center/article-detail.vue

@@ -456,7 +456,7 @@ export default {
 @keyframes spin { 0% { transform: rotate(0deg); } 360% { transform: rotate(360deg); } }
 .loading-text { font-size: calc(26rpx * var(--font-scale, 1)); color: $facade-text-muted; }
 .error-wrap { display: flex; flex-direction: column; align-items: center; padding-top: 300rpx; }
-.error-icon { font-size: calc(100rpx * var(--font-scale, 1)); margin-bottom: 24rpx; }
+.error-icon { font-size: calc($uni-font-size-6xl * var(--font-scale, 1)); margin-bottom: 24rpx; }
 .error-text { font-size: calc(28rpx * var(--font-scale, 1)); color: $facade-text-muted; margin-bottom: $uni-space-lg; }
 .retry-btn { width: 240rpx; height: 72rpx; line-height: 72rpx; background: $brand-primary; color: $app-surface; font-size: calc(28rpx * var(--font-scale, 1)); border-radius: 24rpx; text-align: center; border: none; }
 .content-scroll { height: calc(100vh - 120rpx); }
@@ -497,7 +497,7 @@ export default {
 .quiz-mask, .result-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 999; display: flex; align-items: center; justify-content: center; }
 .quiz-dialog, .result-dialog { background: $app-surface; border-radius: 24rpx; width: 650rpx; padding: 32rpx; }
 .quiz-mascot { display: flex; align-items: center; justify-content: center; gap: 12rpx; margin-bottom: 16rpx; }
-.mascot-icon { font-size: calc(64rpx * var(--font-scale, 1)); }
+.mascot-icon { font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); }
 .mascot-name { font-size: calc(32rpx * var(--font-scale, 1)); font-weight: 700; color: $brand-primary; }
 .quiz-step-bar { display: flex; align-items: center; justify-content: center; margin-bottom: 24rpx; }
 .quiz-step-text { font-size: calc(24rpx * var(--font-scale, 1)); color: $facade-text-muted; margin-right: 12rpx; }
@@ -522,7 +522,7 @@ export default {
 .quiz-submit::after { border: none; }
 .result-btn { width: 100%; padding: 20rpx; background: linear-gradient(135deg, $brand-primary, $brand-primary-light); color: $app-surface; font-size: calc(28rpx * var(--font-scale, 1)); border-radius: 16rpx; border: none; margin-top: 20rpx; }
 .result-dialog { text-align: center; }
-.result-icon { font-size: calc(80rpx * var(--font-scale, 1)); }
+.result-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); }
 .result-text { font-size: calc(32rpx * var(--font-scale, 1)); font-weight: 700; color: $facade-text-strong; margin: 16rpx 0; }
 .result-energy { font-size: calc(28rpx * var(--font-scale, 1)); color: $brand-primary; }
 </style>

+ 1 - 1
cfc-frontend/pages/article-center/article-edit.vue

@@ -282,7 +282,7 @@ export default {
   justify-content: center;
   height: 100%;
 }
-.cover-icon { font-size: calc(64rpx * var(--font-scale, 1)); margin-bottom: 10rpx; }
+.cover-icon { font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); margin-bottom: 10rpx; }
 .cover-hint { font-size: calc(24rpx * var(--font-scale, 1)); color: $facade-text-muted; }
 .cover-change {
   position: absolute;

+ 1 - 1
cfc-frontend/pages/article-center/my-posts.vue

@@ -137,7 +137,7 @@ export default {
 .posts-list { height: 100vh; }
 .loading-wrap, .empty-wrap { display: flex; flex-direction: column; align-items: center; padding-top: 200rpx; }
 .loading-text { font-size: calc(26rpx * var(--font-scale, 1)); color: $facade-text-muted; }
-.empty-icon { font-size: calc(100rpx * var(--font-scale, 1)); margin-bottom: 24rpx; }
+.empty-icon { font-size: calc($uni-font-size-6xl * var(--font-scale, 1)); margin-bottom: 24rpx; }
 .empty-text { font-size: calc(28rpx * var(--font-scale, 1)); color: $facade-text-muted; margin-bottom: $uni-space-lg; }
 .write-btn { width: 240rpx; height: 72rpx; line-height: 72rpx; background: $brand-primary; color: $app-surface; font-size: calc(28rpx * var(--font-scale, 1)); border-radius: 24rpx; border: none; }
 .write-btn::after { border: none; }

+ 1 - 1
cfc-frontend/pages/assessment-plan/detail.vue

@@ -255,7 +255,7 @@ export default {
   padding: 120rpx 60rpx;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 24rpx;
 }
 .empty-title {

+ 1 - 1
cfc-frontend/pages/assessment-plan/list.vue

@@ -221,7 +221,7 @@ export default {
   padding: 120rpx 60rpx;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 24rpx;
 }
 .empty-title {

+ 1 - 1
cfc-frontend/pages/assessment/quota.vue

@@ -223,7 +223,7 @@ export default {
   padding-top: 120rpx;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 .empty-text {

+ 1 - 1
cfc-frontend/pages/assessment/rating.vue

@@ -304,7 +304,7 @@ export default {
 }
 
 .star {
-  font-size: calc(64rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   color: $facade-hairline;
   transition: color 0.2s ease, text-shadow 0.2s ease;
   line-height: 1;

+ 1 - 1
cfc-frontend/pages/assessment/results.vue

@@ -364,7 +364,7 @@ export default {
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 20rpx;
 }

+ 1 - 1
cfc-frontend/pages/body-detail/dimension-questionnaire.vue

@@ -620,7 +620,7 @@ export default {
   padding: 60rpx 0;
 }
 .qd-result-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 .qd-result-title {
   font-size: calc(40rpx * var(--font-scale, 1));

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

@@ -611,7 +611,7 @@ export default {
 }
 
 .task-card__celebrate-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   animation: celebrateBounce 0.6s ease both;
 }
 

+ 1 - 1
cfc-frontend/pages/cognitive-hall.vue

@@ -293,7 +293,7 @@ $c-ink-night:    $app-ink-night;   // 深夜蓝黑(本页深色文字)
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 20rpx;
 }

+ 2 - 2
cfc-frontend/pages/cognitive-test/language-test.vue

@@ -260,7 +260,7 @@ export default {
 
 /* ===== 说明页 ===== */
 .title-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 24rpx;
 }
 
@@ -428,7 +428,7 @@ export default {
 }
 
 .score-num {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: bold;
   color: $dim-wealth;
 }

+ 1 - 1
cfc-frontend/pages/cognitive-test/logic-test.vue

@@ -434,7 +434,7 @@ export default {
   margin-bottom: $uni-space-lg;
 }
 .score-value {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: bold;
   color: $app-ink-night;
 }

+ 2 - 2
cfc-frontend/pages/cognitive-test/memory-test.vue

@@ -372,7 +372,7 @@ export default {
   margin-bottom: 40rpx;
 }
 .intro-icon-text {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 .intro-title {
   font-size: calc(48rpx * var(--font-scale, 1));
@@ -623,7 +623,7 @@ export default {
   box-shadow: 0 12rpx 40rpx rgba(99, 102, 241, 0.45);
 }
 .score-num {
-  font-size: calc(100rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-6xl * var(--font-scale, 1));
   font-weight: bold;
   color: $app-surface;
   line-height: 1;

+ 2 - 2
cfc-frontend/pages/cognitive-test/perception-test.vue

@@ -258,7 +258,7 @@ export default {
 
 /* ===== 说明页 ===== */
 .title-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 24rpx;
 }
 
@@ -423,7 +423,7 @@ export default {
 }
 
 .score-num {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: bold;
   color: $flat-teal;
 }

+ 3 - 3
cfc-frontend/pages/cognitive-test/spatial-test.vue

@@ -301,7 +301,7 @@ export default {
   margin-bottom: 40rpx;
 }
 .hero-symbol {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   color: $status-info;
   line-height: 1;
 }
@@ -393,7 +393,7 @@ export default {
   margin-bottom: 20rpx;
 }
 .direction-arrow {
-  font-size: calc(100rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-6xl * var(--font-scale, 1));
   color: $app-surface;
   line-height: 1.2;
   margin-bottom: 20rpx;
@@ -463,7 +463,7 @@ export default {
   margin: 40rpx 0;
 }
 .score-number {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: bold;
   color: $app-surface;
   line-height: 1.1;

+ 2 - 2
cfc-frontend/pages/cognitive-test/speed-test.vue

@@ -335,7 +335,7 @@ export default {
 }
 
 .title {
-  font-size: calc(52rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-3xl * var(--font-scale, 1));
   font-weight: bold;
   color: $app-surface;
   margin-top: 40rpx;
@@ -526,7 +526,7 @@ export default {
 }
 
 .score-num {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: bold;
   color: $app-surface;
   line-height: 1;

+ 1 - 1
cfc-frontend/pages/dan-assessment/report-result.vue

@@ -729,7 +729,7 @@ $c-rpt-mask-ink:     #000;    // 遮罩渐变异色(mask-image)
 }
 .hero-score-col { flex: 1; display: flex; flex-direction: column; align-items: center; }
 .hero-score-divider { width: 1rpx; height: 72rpx; background: rgba(255,255,255,0.25); }
-.hero-score-num { font-size: calc(80rpx * var(--font-scale, 1)); font-weight: 700; color: $app-surface; line-height: 1; }
+.hero-score-num { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); font-weight: 700; color: $app-surface; line-height: 1; }
 .hero-score-num-pct { font-size: calc(72rpx * var(--font-scale, 1)); }
 .hero-score-pct-unit { font-size: calc(32rpx * var(--font-scale, 1)); font-weight: 400; margin-left: 2rpx; }
 .hero-score-label { font-size: calc(24rpx * var(--font-scale, 1)); color: rgba(255,255,255,0.75); margin-top: 12rpx; }

+ 1 - 1
cfc-frontend/pages/diet/meal-config.vue

@@ -290,7 +290,7 @@ export default {
   background-color: $app-surface;
   color: $brand-primary;
   font-size: calc(20rpx * var(--font-scale, 1));
-  font-weight: 900;
+  font-weight: 700;
   display: flex;
   align-items: center;
   justify-content: center;

+ 1 - 1
cfc-frontend/pages/diet/preferences.vue

@@ -414,7 +414,7 @@ $c-dp-footer-line: #FFE9D4; // 底部操作条描边
 /* ===== 内容 ===== */
 .content { flex: 1; padding: 10rpx 32rpx $uni-space-lg; box-sizing: border-box; }
 .step-head { display: flex; align-items: center; margin: 20rpx 0 24rpx; }
-.step-icon { font-size: calc(52rpx * var(--font-scale, 1)); margin-right: 20rpx; }
+.step-icon { font-size: calc($uni-font-size-3xl * var(--font-scale, 1)); margin-right: 20rpx; }
 .step-head-text { display: flex; flex-direction: column; }
 .step-title { font-size: calc(34rpx * var(--font-scale, 1)); font-weight: 700; color: $c-dp-ink; }
 .step-sub { font-size: calc(24rpx * var(--font-scale, 1)); color: $c-dp-muted; margin-top: 6rpx; }

+ 1 - 1
cfc-frontend/pages/diet/recommendation.vue

@@ -1154,7 +1154,7 @@ export default {
   padding: 60rpx 40rpx;
 }
 .food-empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 20rpx;
 }

+ 1 - 1
cfc-frontend/pages/diet/records.vue

@@ -506,7 +506,7 @@ export default {
 
 /* 空态 */
 .empty-state { text-align: center; padding: 80rpx 40rpx; }
-.empty-icon { font-size: calc(80rpx * var(--font-scale, 1)); display: block; margin-bottom: 20rpx; }
+.empty-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); display: block; margin-bottom: 20rpx; }
 .empty-text { font-size: calc(28rpx * var(--font-scale, 1)); color: $facade-text-strong; font-weight: 500; display: block; margin-bottom: 8rpx; }
 .empty-hint { font-size: calc(24rpx * var(--font-scale, 1)); color: $facade-text-muted; display: block; }
 .loading-state { text-align: center; padding: 80rpx 0; }

+ 1 - 1
cfc-frontend/pages/discover/circle-feed.vue

@@ -653,7 +653,7 @@ export default {
 .loading-more, .end-hint { text-align: center; padding: 24rpx 0; }
 .lm-text, .eh-text { font-size: calc(24rpx * var(--font-scale, 1)); color: $facade-text-ghost; }
 .empty-state { text-align: center; padding: 120rpx 0; }
-.empty-icon { font-size: calc(80rpx * var(--font-scale, 1)); display: block; margin-bottom: 16rpx; }
+.empty-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); display: block; margin-bottom: 16rpx; }
 .empty-text { font-size: calc(26rpx * var(--font-scale, 1)); color: $facade-text-ghost; }
 .bottom-space { height: 40rpx; }
 

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

@@ -503,7 +503,7 @@ $c-energy-deep-2: #1A2744; // 导航渐变终 / 卡片底(藏蓝)
   align-items: center;
   padding: 200rpx 40rpx;
 }
-.empty-icon { font-size: calc(100rpx * var(--font-scale, 1)); margin-bottom: 20rpx; }
+.empty-icon { font-size: calc($uni-font-size-6xl * var(--font-scale, 1)); margin-bottom: 20rpx; }
 .empty-title { font-size: calc(32rpx * var(--font-scale, 1)); color: $app-surface; font-weight: 600; margin-bottom: 12rpx; }
 .empty-desc { font-size: calc(24rpx * var(--font-scale, 1)); color: rgba(255,255,255,0.5); text-align: center; margin-bottom: 40rpx; }
 .login-btn {

+ 1 - 1
cfc-frontend/pages/family/mbti-profile.vue

@@ -113,7 +113,7 @@ export default {
 .mbp-drawer { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.4); z-index: 100; display: flex; align-items: flex-end }
 .mbp-drawer-content { width: 100%; max-height: 80vh; background: $app-surface; border-radius: 24rpx 24rpx 0 0; display: flex; flex-direction: column }
 .mbp-drawer-header { padding: $uni-space-lg 20rpx; background: linear-gradient(135deg, $dim-wisdom, $dim-wisdom-light); color: $app-surface; display: flex; flex-direction: column; align-items: center }
-.mbp-drawer-code { font-size: calc(64rpx * var(--font-scale, 1)); font-weight: 700; letter-spacing: 8rpx }
+.mbp-drawer-code { font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); font-weight: 700; letter-spacing: 8rpx }
 .mbp-drawer-name { font-size: calc(28rpx * var(--font-scale, 1)); opacity: 0.9; margin-top: 4rpx}
 .mbp-drawer-body { flex: 1; overflow-y: auto; padding: 20rpx}
 .mbp-drawer-section { margin-bottom: 24rpx}

+ 1 - 1
cfc-frontend/pages/family/mbti-result.vue

@@ -168,7 +168,7 @@ export default {
 .mbr-loading { display: flex; justify-content: center; align-items: center; height: 50vh }
 .mbr-hero { border-radius: 24rpx; padding: 40rpx $uni-space-page; margin-bottom: 24rpx; background: linear-gradient(135deg, $dim-wisdom, $dim-wisdom-light); box-shadow: 0 6rpx 20rpx rgba(99,102,241,0.25) }
 .mbr-hero-inner { display: flex; flex-direction: column; align-items: center }
-.mbr-type-code { font-size: calc(80rpx * var(--font-scale, 1)); font-weight: 700; color: $app-surface; letter-spacing: 8rpx }
+.mbr-type-code { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); font-weight: 700; color: $app-surface; letter-spacing: 8rpx }
 .mbr-type-name { font-size: calc(32rpx * var(--font-scale, 1)); color: rgba(255,255,255,0.9); margin-top: 8rpx}
 .mbr-type-desc { font-size: calc(24rpx * var(--font-scale, 1)); color: rgba(255,255,255,0.8); margin-top: 16rpx; text-align: center; max-width: 600rpx }
 .mbr-section { background: $app-surface; border-radius: 24rpx; padding: $uni-space-lg 26rpx; margin-bottom: 24rpx; box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.05) }

+ 1 - 1
cfc-frontend/pages/family/self-check-ai.vue

@@ -547,7 +547,7 @@ export default {
   padding: 100rpx 40rpx;
 }
 .sc-error-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 .sc-error-text {

+ 1 - 1
cfc-frontend/pages/family/self-check-entry.vue

@@ -223,7 +223,7 @@ export default {
   margin-top: 10rpx;
 }
 .sce-hero-score {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: 700;
   color: $app-surface;
 }

+ 1 - 1
cfc-frontend/pages/family/self-check-result.vue

@@ -366,7 +366,7 @@ export default {
   margin-top: 10rpx;
 }
 .scr-hero-score {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: 700;
   color: $app-surface;
 }

+ 1 - 1
cfc-frontend/pages/games/list.vue

@@ -148,7 +148,7 @@ export default {
 }
 
 .game-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   width: 120rpx;
   height: 120rpx;
   display: flex;

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

@@ -643,7 +643,7 @@ $c-danger-ink:       $status-danger-deep;
 }
 .milestone-tile-value {
   font-size: calc(32rpx * var(--font-scale, 1));
-  font-weight: 800;
+  font-weight: 700;
   color: $c-growth-hero-from;
   line-height: 1;
   margin-bottom: 4rpx;

+ 1 - 1
cfc-frontend/pages/growth/caution-detail.vue

@@ -381,7 +381,7 @@ export default {
   padding: 100rpx 40rpx;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 20rpx;
 }

+ 2 - 2
cfc-frontend/pages/growth/sleep-checkin.vue

@@ -561,7 +561,7 @@ $c-rose-400:      #FB7185; // 差质量徽章渐变起点(rose-400,全局 da
 }
 .hero-duration-num {
   font-size: calc(48rpx * var(--font-scale, 1));
-  font-weight: 800;
+  font-weight: 700;
   color: $app-surface;
   line-height: 1.1;
 }
@@ -723,7 +723,7 @@ $c-rose-400:      #FB7185; // 差质量徽章渐变起点(rose-400,全局 da
 .quality-score-row { display: flex; align-items: baseline; }
 .quality-score {
   font-size: calc(54rpx * var(--font-scale, 1));
-  font-weight: 800;
+  font-weight: 700;
   color: $uni-text-color;
   line-height: 1;
 }

+ 1 - 1
cfc-frontend/pages/growth/supplement.vue

@@ -236,7 +236,7 @@ export default {
   background: $facade-fill-ghost;
 }
 .upload-icon {
-  font-size: calc(64rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   color: $facade-text-muted;
   line-height: 1;
 }

+ 1 - 1
cfc-frontend/pages/growth/upload.vue

@@ -361,7 +361,7 @@ export default {
   background: $facade-fill-ghost;
 }
 .upload-icon {
-  font-size: calc(64rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   color: $facade-text-muted;
   line-height: 1;
 }

+ 2 - 2
cfc-frontend/pages/guide/activities/index.vue

@@ -335,7 +335,7 @@ export default {
 }
 
 .cover-placeholder-text {
-  font-size: calc(64rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   color: $app-surface;
 }
 
@@ -462,7 +462,7 @@ export default {
 }
 
 .empty-icon {
-  font-size: calc(100rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-6xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 

+ 1 - 1
cfc-frontend/pages/guide/bind/invite.vue

@@ -255,7 +255,7 @@ export default {
 .input, .picker { padding: 20rpx; background: $facade-fill-2; border-radius: 16rpx; font-size: calc(28rpx * var(--font-scale, 1)); }
 .btn-confirm { background: $mat-green; color: $app-surface; border-radius: 24rpx; margin-top: 40rpx; }
 
-.success-icon { font-size: calc(80rpx * var(--font-scale, 1)); color: $mat-green; display: block; margin-bottom: 20rpx; }
+.success-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); color: $mat-green; display: block; margin-bottom: 20rpx; }
 .success-text { font-size: calc(36rpx * var(--font-scale, 1)); font-weight: bold; display: block; margin-bottom: 10rpx; }
 .success-desc { font-size: calc(28rpx * var(--font-scale, 1)); color: $facade-text-body; display: block; margin-bottom: 40rpx; }
 .btn-go { background: $mat-green; color: $app-surface; border-radius: 24rpx; }

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

@@ -239,7 +239,7 @@ export default {
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 20rpx;
 }

+ 1 - 1
cfc-frontend/pages/guide/packages/create.vue

@@ -174,7 +174,7 @@ export default {
 }
 
 .upload-icon {
-  font-size: calc(64rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   color: $facade-text-ghost;
 }
 

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

@@ -390,7 +390,7 @@ export default {
 }
 
 .upload-icon {
-  font-size: calc(64rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   margin-bottom: 10rpx;
 }
 

+ 2 - 2
cfc-frontend/pages/health/challenge-manage.vue

@@ -917,7 +917,7 @@ export default {
   align-items: center;
   padding: 80rpx 0;
 }
-.empty-icon { font-size: calc(80rpx * var(--font-scale, 1)); margin-bottom: 16rpx; }
+.empty-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); margin-bottom: 16rpx; }
 .empty-title { font-size: calc(32rpx * var(--font-scale, 1)); font-weight: 700; color: $uni-text-color; }
 .empty-desc { font-size: calc(26rpx * var(--font-scale, 1)); color: $app-text-subtle; margin: 8rpx 0 32rpx; }
 .btn-empty {
@@ -1305,7 +1305,7 @@ export default {
   padding: 24rpx 0 16rpx;
 }
 .prompt-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 16rpx;
 }
 .prompt-title {

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

@@ -153,7 +153,7 @@ export default {
 .week-progress { margin-top: 12rpx; }
 .week-text { font-size: calc(22rpx * var(--font-scale, 1)); color: $status-success; font-weight: 600; }
 .empty { display: flex; flex-direction: column; align-items: center; padding: 100rpx 0; }
-.empty-icon { font-size: calc(80rpx * var(--font-scale, 1)); margin-bottom: 16rpx; }
+.empty-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); margin-bottom: 16rpx; }
 .empty-desc { font-size: calc(26rpx * var(--font-scale, 1)); color: $app-text-subtle; margin-bottom: 32rpx; }
 .btn-empty {
   background: $status-success; color: $app-surface; font-size: calc(28rpx * var(--font-scale, 1));

+ 2 - 2
cfc-frontend/pages/health/health-plan-summary.vue

@@ -1482,7 +1482,7 @@ selectedMembers: function() {
   align-items: center;
   padding: 80rpx 20rpx;
 }
-.loading-icon { font-size: calc(80rpx * var(--font-scale, 1)); margin-bottom: 20rpx; }
+.loading-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); margin-bottom: 20rpx; }
 .loading-text { font-size: calc(30rpx * var(--font-scale, 1)); color: $facade-text-strong; margin-bottom: 8rpx; }
 .loading-hint { font-size: calc(24rpx * var(--font-scale, 1)); color: $facade-text-muted; }
 
@@ -1651,7 +1651,7 @@ selectedMembers: function() {
   align-items: center;
   width: 560rpx;
 }
-.success-icon { font-size: calc(100rpx * var(--font-scale, 1)); color: $mat-green; margin-bottom: 20rpx; }
+.success-icon { font-size: calc($uni-font-size-6xl * var(--font-scale, 1)); color: $mat-green; margin-bottom: 20rpx; }
 .success-title { font-size: calc(36rpx * var(--font-scale, 1)); font-weight: bold; color: $facade-text-strong; margin-bottom: 12rpx; }
 .success-sub { font-size: calc(28rpx * var(--font-scale, 1)); color: $facade-text-faint; margin-bottom: 40rpx; }
 

+ 2 - 2
cfc-frontend/pages/health/indicator-timeline.vue

@@ -540,7 +540,7 @@ export default {
 .status-tag.status-high { background: #fff7ed; color: #c2410c; }
 .status-tag.status-low { background: #eff6ff; color: #1d4ed8; }
 .head-value-row { display: flex; flex-direction: row; align-items: baseline; margin-bottom: 8rpx; }
-.head-value { font-size: calc(48rpx * var(--font-scale, 1)); font-weight: 800; color: #111827; line-height: 1.2; }
+.head-value { font-size: calc(48rpx * var(--font-scale, 1)); font-weight: 700; color: #111827; line-height: 1.2; }
 .head-unit { font-size: calc(24rpx * var(--font-scale, 1)); color: #6b7280; margin-left: 8rpx; }
 .head-count { font-size: calc(22rpx * var(--font-scale, 1)); color: #9ca3af; margin-left: 16rpx; }
 .head-ref { font-size: calc(22rpx * var(--font-scale, 1)); color: #6b7280; margin-bottom: 8rpx; }
@@ -553,7 +553,7 @@ export default {
 .loading-text { font-size: calc(24rpx * var(--font-scale, 1)); color: #9ca3af; }
 .empty-text { display: block; text-align: center; font-size: calc(24rpx * var(--font-scale, 1)); color: #9ca3af; margin-top: 80rpx; }
 .single-card { display: flex; flex-direction: row; align-items: baseline; justify-content: center; padding: 24rpx 0; }
-.single-value { font-size: calc(48rpx * var(--font-scale, 1)); font-weight: 800; color: #111827; line-height: 1.2; }
+.single-value { font-size: calc(48rpx * var(--font-scale, 1)); font-weight: 700; color: #111827; line-height: 1.2; }
 .single-unit { font-size: calc(26rpx * var(--font-scale, 1)); color: #6b7280; margin-left: 8rpx; }
 .single-status { font-size: calc(22rpx * var(--font-scale, 1)); padding: 4rpx 12rpx; border-radius: 12rpx; margin-left: 16rpx; }
 .single-note { display: block; text-align: center; font-size: calc(22rpx * var(--font-scale, 1)); color: #9ca3af; margin-top: 8rpx; }

+ 1 - 1
cfc-frontend/pages/health/my-feedback.vue

@@ -164,7 +164,7 @@ export default {
   align-items: center;
 }
 .mf-empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 24rpx;
 }
 .mf-empty-text {

+ 1 - 1
cfc-frontend/pages/health/nutrition-profile.vue

@@ -397,7 +397,7 @@ export default {
   padding: 80rpx $uni-space-page;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 .empty-title {
   font-size: calc(36rpx * var(--font-scale, 1));

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

@@ -314,7 +314,7 @@ goBack: function() {
   align-items: center;
   padding: 100rpx 0;
 }
-.empty-icon { font-size: calc(80rpx * var(--font-scale, 1)); margin-bottom: 20rpx; }
+.empty-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); margin-bottom: 20rpx; }
 .empty-text { font-size: calc(28rpx * var(--font-scale, 1)); color: $facade-text-muted; }
 
 .bottom-spacer { height: 60rpx; }

+ 1 - 1
cfc-frontend/pages/health/plan-list.vue

@@ -191,7 +191,7 @@ export default {
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 
 .empty-title {

+ 1 - 1
cfc-frontend/pages/health/report-list.vue

@@ -824,7 +824,7 @@ export default {
   padding: 120rpx 60rpx;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 24rpx;
 }
 .empty-title {

+ 1 - 1
cfc-frontend/pages/health/survey-history.vue

@@ -83,7 +83,7 @@ export default {
 .answers-label{font-size: calc(24rpx * var(--font-scale, 1));color:$facade-text-muted;margin-right: 8rpx;flex-shrink:0}
 .answers-text{font-size: calc(24rpx * var(--font-scale, 1));color:$facade-text-body;flex:1}
 .empty-state{display:flex;flex-direction:column;align-items:center;padding: 120rpx 0}
-.empty-icon{font-size:calc(80rpx * var(--font-scale, 1));margin-bottom: 20rpx}
+.empty-icon{font-size: calc($uni-font-size-5xl * var(--font-scale, 1));margin-bottom: 20rpx}
 .empty-text{font-size: calc(30rpx * var(--font-scale, 1));color:$facade-text-body;margin-bottom: 12rpx}
 .empty-hint{font-size: calc(24rpx * var(--font-scale, 1));color:$facade-text-muted}
 .loading-state{display:flex;justify-content:center;padding: 80rpx 0}

+ 1 - 1
cfc-frontend/pages/health/teacher-service.vue

@@ -338,7 +338,7 @@ export default {
   align-items: center;
   padding: 80rpx 0;
 }
-.ts-empty-icon { font-size: calc(80rpx * var(--font-scale, 1)); margin-bottom: 16rpx; }
+.ts-empty-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); margin-bottom: 16rpx; }
 .ts-empty-text { font-size: calc(28rpx * var(--font-scale, 1)); color: $facade-text-ghost-light; }
 .ts-empty-hint { font-size: calc(24rpx * var(--font-scale, 1)); color: $facade-border-soft; margin-top: 8rpx; }
 

+ 4 - 4
cfc-frontend/pages/home-pages/child-index.vue

@@ -997,7 +997,7 @@ padding-top: 4rpx;
 
 .streak-days {
   font-size: calc(32rpx * var(--font-scale, 1));
-  font-weight: 800;
+  font-weight: 700;
   color: $c-ci-navy;
   line-height: 1.1;
 }
@@ -1075,8 +1075,8 @@ padding-top: 4rpx;
 }
 
 .points-number {
-  font-size: calc(64rpx * var(--font-scale, 1));
-  font-weight: 800;
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
+  font-weight: 700;
   color: $app-surface;
   line-height: 1.1;
   text-shadow: 0 2rpx 8rpx rgba(0,0,0,0.10);
@@ -1278,7 +1278,7 @@ padding-top: 4rpx;
 }
 
 .tasks-empty-icon {
-  font-size: calc(64rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   margin-bottom: 16rpx;
 }
 

+ 1 - 1
cfc-frontend/pages/home-pages/components/FeedbackToast.vue

@@ -43,7 +43,7 @@ export default {
   padding: 40rpx 60rpx;
   backdrop-filter: blur(4px);
 }
-.feedback-icon { font-size: calc(80rpx * var(--font-scale, 1)); }
+.feedback-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); }
 .feedback-text {
   font-size: calc(32rpx * var(--font-scale, 1));
   color: $app-surface;

+ 1 - 1
cfc-frontend/pages/home-pages/components/MilestoneCelebration.vue

@@ -71,7 +71,7 @@ export default {
 }
 .celebration-title {
   font-size: calc(48rpx * var(--font-scale, 1));
-  font-weight: 800;
+  font-weight: 700;
   color: $app-surface;
   text-shadow: 0 4rpx 20rpx rgba(0,0,0,0.3);
 }

+ 2 - 2
cfc-frontend/pages/home-pages/parent-index.vue

@@ -1642,7 +1642,7 @@ export default {
 .pending-icon--orange { background: rgba(249,115,22,0.12); }
 .pending-emoji { font-size: calc(32rpx * var(--font-scale, 1)); }
 .pending-info { flex: 1; min-width: 0; }
-.pending-count { font-size: calc(36rpx * var(--font-scale, 1)); font-weight: 800; display: block; }
+.pending-count { font-size: calc(36rpx * var(--font-scale, 1)); font-weight: 700; display: block; }
 .pending-label { font-size: calc(22rpx * var(--font-scale, 1)); color: $facade-text-body; margin-top: 4rpx; display: block; }
 .pink-color { color: $accent-pink; }
 .orange-color { color: $brand-primary; }
@@ -2282,7 +2282,7 @@ export default {
   border: 2rpx dashed $brand-primary-light-2;
 }
 .empty-family-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 16rpx;
 }
 .empty-family-title {

+ 1 - 1
cfc-frontend/pages/home/app-library.vue

@@ -271,7 +271,7 @@ export default {
   text-align: center;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 20rpx;
 }

+ 2 - 2
cfc-frontend/pages/index-home/index.vue

@@ -2812,7 +2812,7 @@ $c-warm-tint:     #FFF3E7;
 
 /* ---- brand ---- */
 .splash-brand-name {
-  font-size: calc(64rpx * var(--font-scale, 1)); font-weight: 800;
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); font-weight: 700;
   color: $c-brand-ink;
   letter-spacing: 10rpx;
   margin-bottom: 2rpx;
@@ -3146,7 +3146,7 @@ $c-warm-tint:     #FFF3E7;
   padding: 40rpx 0 20rpx;
 }
 .challenge-empty-icon {
-  font-size: calc(64rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   margin-bottom: 12rpx;
   line-height: 1;
 }

+ 1 - 1
cfc-frontend/pages/invite/join-form.vue

@@ -223,7 +223,7 @@ export default {
 	justify-content: center;
 }
 .plus-icon {
-	font-size: calc(64rpx * var(--font-scale, 1));
+	font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
 	color: $facade-text-ghost;
 }
 .actions {

+ 4 - 4
cfc-frontend/pages/invite/join.vue

@@ -361,7 +361,7 @@ export default {
 }
 
 .loading-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 
@@ -388,7 +388,7 @@ export default {
 }
 
 .invite-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 16rpx;
 }
 
@@ -480,7 +480,7 @@ export default {
 }
 
 .success-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 
 .success-text {
@@ -509,7 +509,7 @@ export default {
 }
 
 .error-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 
 .error-text {

+ 1 - 1
cfc-frontend/pages/login/scan-login.vue

@@ -142,7 +142,7 @@ export default {
   box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.08);
 }
 .icon {
-  font-size: calc(100rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-6xl * var(--font-scale, 1));
   margin-bottom: 24rpx;
 }
 .title {

+ 1 - 1
cfc-frontend/pages/meal/recipe-detail.vue

@@ -306,7 +306,7 @@ export default {
   padding: 120rpx 0;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 .empty-text {
   font-size: calc(28rpx * var(--font-scale, 1));

+ 1 - 1
cfc-frontend/pages/meal/recommend.vue

@@ -278,7 +278,7 @@ export default {
   padding: 120rpx 0;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 .empty-text {
   font-size: calc(28rpx * var(--font-scale, 1));

+ 1 - 1
cfc-frontend/pages/member-detail/report-detail.vue

@@ -276,7 +276,7 @@ export default {
   padding: 120rpx 40rpx;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 20rpx;
 }

+ 1 - 1
cfc-frontend/pages/membership/benefits.vue

@@ -432,7 +432,7 @@ export default {
   padding: 80rpx 0;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 20rpx;
 }

+ 1 - 1
cfc-frontend/pages/membership/gift-coupon.vue

@@ -394,7 +394,7 @@ export default {
   padding: 120rpx 0;
 }
 .empty-icon {
-  font-size: 80rpx;
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
 }
 .empty-text {

+ 1 - 1
cfc-frontend/pages/membership/result.vue

@@ -224,7 +224,7 @@ export default {
   background: $status-danger-soft;
 }
 .icon-text {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 .result-title {
   font-size: calc(40rpx * var(--font-scale, 1));

+ 1 - 1
cfc-frontend/pages/mind-detail/articles.vue

@@ -387,7 +387,7 @@ $c-type-tip-ink:      #7b2bc4;   // 贴士(紫)
   color: $facade-text-muted;
 }
 .empty-icon {
-  font-size: calc(100rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-6xl * var(--font-scale, 1));
   margin-bottom: 24rpx;
 }
 .empty-text {

+ 2 - 2
cfc-frontend/pages/mind-detail/duo-compatibility.vue

@@ -339,8 +339,8 @@ export default {
   align-items: center;
 }
 .compatibility-score {
-  font-size: calc(64rpx * var(--font-scale, 1));
-  font-weight: 800;
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
+  font-weight: 700;
   color: $app-surface;
   line-height: 1;
 }

+ 1 - 1
cfc-frontend/pages/mind-detail/emotion-checkin.vue

@@ -1125,7 +1125,7 @@ $c-border-input: $facade-hairline;   // 自定义标签输入框描边
 }
 
 .photo-icon {
-  font-size: calc(64rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
 }
 
 .photo-hint {

+ 2 - 2
cfc-frontend/pages/mind-detail/emotion-report.vue

@@ -220,7 +220,7 @@ export default {
 }
 
 .overall-value {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: bold;
   margin-bottom: 8rpx;
 }
@@ -427,7 +427,7 @@ export default {
 }
 
 .empty-icon {
-  font-size: calc(100rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-6xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 

+ 1 - 1
cfc-frontend/pages/mind-detail/emotion-trend.vue

@@ -854,7 +854,7 @@ $c-canvas-bg:  $c-canvas-bg;   // 图表画布近白底
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 

+ 1 - 1
cfc-frontend/pages/mind-detail/family-dashboard.vue

@@ -821,7 +821,7 @@ $c-fd-blush: #FFF5F7; // 画布/卡片浅粉底
   margin: 24rpx 0;
 }
 .mood-emoji {
-  font-size: calc(52rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-3xl * var(--font-scale, 1));
   margin-right: 16rpx;
 }
 .mood-text {

+ 3 - 3
cfc-frontend/pages/mind-detail/index.vue

@@ -1365,7 +1365,7 @@ $tint-cyan: #F0F6F7;
   flex-shrink: 0;
 }
 .mind-report-icon {
-  font-size: calc(52rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-3xl * var(--font-scale, 1));
 }
 .mind-report-right {
   flex: 1;
@@ -1635,7 +1635,7 @@ $tint-cyan: #F0F6F7;
   margin-bottom: 6rpx;
 }
 .emi-overall-value {
-  font-size: calc(64rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   font-weight: bold;
   margin-bottom: 6rpx;
 }
@@ -1734,7 +1734,7 @@ $tint-cyan: #F0F6F7;
   box-shadow: 0 4rpx 20rpx rgba(0,0,0,0.06);
 }
 .placeholder-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 .placeholder-title {

+ 1 - 1
cfc-frontend/pages/mind-detail/innate-portrait.vue

@@ -170,7 +170,7 @@ export default {
 }
 
 .header-score {
-  font-size: calc(100rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-6xl * var(--font-scale, 1));
   font-weight: 700;
   color: $app-surface;
   line-height: 1.1;

+ 1 - 1
cfc-frontend/pages/mind-detail/traditional-mirror.vue

@@ -493,7 +493,7 @@ export default {
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 

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

@@ -134,7 +134,7 @@ function pad(n) {
 }
 
 .nt-empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
 }
 

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

@@ -290,7 +290,7 @@ export default {
 }
 .empty-icon {
   display: block;
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 .empty-text {

+ 1 - 1
cfc-frontend/pages/parent/appointments.vue

@@ -232,7 +232,7 @@ export default {
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 20rpx;
 }

+ 1 - 1
cfc-frontend/pages/parent/plans/detail.vue

@@ -98,7 +98,7 @@ export default {
 <style scoped lang="scss">
 .container { min-height: 100vh; background: $facade-fill-page; padding-bottom: $uni-space-lg; }
 .loading, .empty { display: flex; flex-direction: column; align-items: center; padding: 100rpx 0; }
-.empty-icon { font-size: calc(80rpx * var(--font-scale, 1)); }
+.empty-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); }
 .empty-text { font-size: calc(30rpx * var(--font-scale, 1)); color: $facade-text-body; margin-top: 20rpx; }
 .header { background: $app-surface; padding: 40rpx $uni-space-page; display: flex; justify-content: space-between; align-items: center; }
 .title { font-size: calc(36rpx * var(--font-scale, 1)); font-weight: bold; color: $facade-text-strong; flex: 1; }

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

@@ -85,7 +85,7 @@ export default {
 .title { font-size: calc(36rpx * var(--font-scale, 1)); font-weight: bold; color: $facade-text-strong; display: block; }
 .subtitle { font-size: calc(26rpx * var(--font-scale, 1)); color: $facade-text-muted; margin-top: 8rpx; display: block; }
 .loading, .empty { display: flex; flex-direction: column; align-items: center; padding: 100rpx 0; }
-.empty-icon { font-size: calc(80rpx * var(--font-scale, 1)); }
+.empty-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); }
 .empty-text { font-size: calc(30rpx * var(--font-scale, 1)); color: $facade-text-body; margin-top: 20rpx; }
 .empty-hint { font-size: calc(26rpx * var(--font-scale, 1)); color: $facade-text-ghost-light; margin-top: 10rpx; }
 .plan-list { padding: 0 $uni-space-page; }

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

@@ -468,7 +468,7 @@ export default {
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 

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

@@ -162,7 +162,7 @@ export default {
   padding-top: 200rpx;
 }
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 .empty-text {
   font-size: calc(28rpx * var(--font-scale, 1));

+ 1 - 1
cfc-frontend/pages/profile-extra/children.vue

@@ -50,7 +50,7 @@ export default {
   width: 100%;
 }
 .redirect-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 24rpx;
 }

+ 1 - 1
cfc-frontend/pages/profile-extra/coupon-center.vue

@@ -160,7 +160,7 @@ export default {
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 

+ 1 - 1
cfc-frontend/pages/profile-extra/coupons.vue

@@ -366,7 +366,7 @@ export default {
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 

+ 1 - 1
cfc-frontend/pages/profile-extra/create-child.vue

@@ -49,7 +49,7 @@ export default {
   width: 100%;
 }
 .redirect-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 24rpx;
 }

+ 1 - 1
cfc-frontend/pages/profile-extra/edit-child.vue

@@ -49,7 +49,7 @@ export default {
   width: 100%;
 }
 .redirect-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 24rpx;
 }

+ 1 - 1
cfc-frontend/pages/profile-extra/family-members.vue

@@ -1052,7 +1052,7 @@ $c-elm-danger-text:  $el-danger; // Element UI 危险文字
   padding: 100rpx $uni-space-page;
 }
 .empty-icon {
-  font-size: calc(100rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-6xl * var(--font-scale, 1));
   display: block;
   margin-bottom: 20rpx;
 }

+ 1 - 1
cfc-frontend/pages/profile/message-history.vue

@@ -648,7 +648,7 @@ export default {
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 

+ 1 - 1
cfc-frontend/pages/profile/report-management.vue

@@ -291,7 +291,7 @@ export default {
 }
 
 .empty-icon {
-  font-size: calc(80rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 20rpx;
 }
 

Some files were not shown because too many files changed in this diff