Просмотр исходного кода

style(cfc-frontend): U7 字重/字号收敛按 2026-11-01 主理人拍板定稿

路线 B 定稿 + 56/72/88 段 +8rpx 放大拍板落地,全库裸值/字面量收口:

- uni.scss §2 新增 $uni-font-size-title(40rpx)、$uni-font-size-display(48rpx)
  (40/48 保真,不归并放大);新增 $uni-font-weight-extra-heavy(800)、
  $uni-font-weight-black-extra(900);$uni-font-size-6xl 100rpx -> 96rpx
- 字号:56rpx×24 -> $uni-font-size-4xl(64rpx)、72rpx×19 -> $uni-font-size-5xl(80rpx)、
  88rpx×10 -> $uni-font-size-6xl(96rpx);含 wealth/index.vue .disc-value 误映射纠正
- 字重:A 类大字号 15 处保留 800,改用 $uni-font-weight-extra-heavy;
  打卡动画 .energy-anim-text 保留 900,改用 $uni-font-weight-black-extra
- B 类小字号 6 处降级 700(含 ConfigurableGuide/OnboardingGuide 两处遗漏);
  20rpx 勾选标记 900 -> 700
- 校验:全库无裸写 font-weight: 800/900 字面量,无裸写 56/72/88rpx 字号

不改业务逻辑、不新增组件、不涉及数据库。
Sisyphus 1 неделя назад
Родитель
Сommit
213da6f52e
53 измененных файлов с 75 добавлено и 72 удалено
  1. 1 1
      cfc-frontend/components/ConfigurableGuide.vue
  2. 1 2
      cfc-frontend/components/MemberSelector.vue
  3. 1 1
      cfc-frontend/components/OnboardingGuide.vue
  4. 1 1
      cfc-frontend/pages/action-detail/index.vue
  5. 1 1
      cfc-frontend/pages/ai/components/UpgradeGuideModal.vue
  6. 1 1
      cfc-frontend/pages/body-detail/dimension-detail.vue
  7. 2 2
      cfc-frontend/pages/cognitive-test/language-test.vue
  8. 1 1
      cfc-frontend/pages/cognitive-test/logic-test.vue
  9. 1 1
      cfc-frontend/pages/cognitive-test/memory-test.vue
  10. 2 2
      cfc-frontend/pages/cognitive-test/perception-test.vue
  11. 1 1
      cfc-frontend/pages/cognitive-test/spatial-test.vue
  12. 1 1
      cfc-frontend/pages/cognitive-test/speed-test.vue
  13. 2 2
      cfc-frontend/pages/dan-assessment/report-result.vue
  14. 1 1
      cfc-frontend/pages/diet/recommendation.vue
  15. 1 1
      cfc-frontend/pages/energy/detail.vue
  16. 1 1
      cfc-frontend/pages/family/mbti-result.vue
  17. 1 1
      cfc-frontend/pages/family/self-check-entry.vue
  18. 2 2
      cfc-frontend/pages/family/self-check-result.vue
  19. 4 4
      cfc-frontend/pages/growth/sleep-checkin.vue
  20. 2 2
      cfc-frontend/pages/health/indicator-timeline.vue
  21. 1 1
      cfc-frontend/pages/health/nutrition-profile.vue
  22. 1 1
      cfc-frontend/pages/home-pages/child-index.vue
  23. 1 1
      cfc-frontend/pages/home-pages/components/MicroActionCard.vue
  24. 2 2
      cfc-frontend/pages/home-pages/components/MilestoneCelebration.vue
  25. 1 1
      cfc-frontend/pages/home-pages/parent-index.vue
  26. 1 1
      cfc-frontend/pages/index-home/index.vue
  27. 1 1
      cfc-frontend/pages/member-detail/components/member-detail-sections/body-section.vue
  28. 1 1
      cfc-frontend/pages/member-detail/components/member-detail-sections/wisdom-section.vue
  29. 1 1
      cfc-frontend/pages/membership/index.vue
  30. 1 1
      cfc-frontend/pages/mind-detail/duo-compatibility.vue
  31. 1 1
      cfc-frontend/pages/mind-detail/training.vue
  32. 1 1
      cfc-frontend/pages/profile/report-detail.vue
  33. 1 1
      cfc-frontend/pages/psych-assessment/index.vue
  34. 1 1
      cfc-frontend/pages/purchase/index.vue
  35. 1 1
      cfc-frontend/pages/rewards/badge.vue
  36. 1 1
      cfc-frontend/pages/splash/index.vue
  37. 3 3
      cfc-frontend/pages/stats/completion-rate.vue
  38. 1 1
      cfc-frontend/pages/tasks/task-upload-purchase.vue
  39. 1 1
      cfc-frontend/pages/tasks/tasks.vue
  40. 1 1
      cfc-frontend/pages/tianpan/annual-energy.vue
  41. 1 1
      cfc-frontend/pages/tianpan/daily-fortune.vue
  42. 1 1
      cfc-frontend/pages/tianpan/index.vue
  43. 1 1
      cfc-frontend/pages/tianpan/member-detail.vue
  44. 2 2
      cfc-frontend/pages/tianpan/traditional.vue
  45. 1 1
      cfc-frontend/pages/vendor/center.vue
  46. 1 1
      cfc-frontend/pages/wealth-cf/index.vue
  47. 1 1
      cfc-frontend/pages/wealth-sub/checkin.vue
  48. 1 1
      cfc-frontend/pages/wealth-sub/insurance-planning.vue
  49. 1 1
      cfc-frontend/pages/wealth/components/WealthEnergyRing.vue
  50. 1 1
      cfc-frontend/pages/wealth/index.vue
  51. 1 1
      cfc-frontend/pages/wisdom-detail/index.vue
  52. 5 5
      cfc-frontend/pages/wishes/index.vue
  53. 7 3
      cfc-frontend/uni.scss

+ 1 - 1
cfc-frontend/components/ConfigurableGuide.vue

@@ -146,7 +146,7 @@ export default {
   display: block;
   line-height: 1.3;
 }
-.cg-title--intro { font-size: calc(32rpx * var(--font-scale, 1)); font-weight: 800; }
+.cg-title--intro { font-size: calc(32rpx * var(--font-scale, 1)); font-weight: 700; }
 .cg-desc {
   font-size: calc(28rpx * var(--font-scale, 1));
   color: $uni-text-color-secondary;

+ 1 - 2
cfc-frontend/components/MemberSelector.vue

@@ -681,8 +681,7 @@ export default {
   flex-direction: column;
   align-items: center;
 }
-.empty-icon { font-size: calc(48rpx * var(--font-scale, 1)); }
-.empty-title { font-size: calc(30rpx * var(--font-scale, 1)); font-weight: 600; color: $facade-text-gray-800; margin-top: 12rpx; }
+.empty-icon { font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); }.empty-title { font-size: calc(30rpx * var(--font-scale, 1)); font-weight: 600; color: $facade-text-gray-800; margin-top: 12rpx; }
 .empty-desc { font-size: calc(24rpx * var(--font-scale, 1)); color: $facade-text-gray-400; margin-top: 8rpx; }
 .empty-btn {
   margin-top: 24rpx;

+ 1 - 1
cfc-frontend/components/OnboardingGuide.vue

@@ -228,7 +228,7 @@ export default {
 
 .onboarding-title--intro {
   font-size: calc(32rpx * var(--font-scale, 1));
-  font-weight: 800;
+  font-weight: 700;
   color: var(--color-primary, $brand-primary);
   line-height: 1.4;
 }

+ 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: 700;
+  font-weight: $uni-font-weight-extra-heavy;
   line-height: 1;
   letter-spacing: -2rpx;
 }

+ 1 - 1
cfc-frontend/pages/ai/components/UpgradeGuideModal.vue

@@ -96,7 +96,7 @@ export default {
   text-align: center;
 }
 .upgrade-guide-icon {
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 24rpx;
 }
 .upgrade-guide-title {

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

@@ -376,7 +376,7 @@ export default {
   margin: 0 auto 20rpx;
 }
 .dd-score-value {
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   font-weight: 700;
   line-height: 1;
 }

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

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

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

@@ -296,7 +296,7 @@ export default {
   margin-bottom: 40rpx;
 }
 .intro-icon-text {
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 .intro-title {
   font-size: calc(44rpx * var(--font-scale, 1));

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

@@ -581,7 +581,7 @@ export default {
   background: rgba(239, 68, 68, 0.3);
 }
 .feedback-text {
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   font-weight: bold;
   color: $app-surface;
   padding: 24rpx 60rpx;

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

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

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

@@ -425,7 +425,7 @@ export default {
   background: rgba(59, 130, 246, 0.2);
 }
 .option-arrow {
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   color: $app-surface;
 }
 .feedback-row {

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

@@ -526,7 +526,7 @@ export default {
 }
 
 .score-num {
-  font-size: calc($uni-font-size-5xl * 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/dan-assessment/report-result.vue

@@ -729,8 +729,8 @@ $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($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-num { font-size: calc($uni-font-size-6xl * var(--font-scale, 1)); font-weight: 700; color: $app-surface; line-height: 1; }
+.hero-score-num-pct { font-size: calc($uni-font-size-5xl * 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/recommendation.vue

@@ -710,7 +710,7 @@ export default {
   box-shadow: 0 10rpx 30rpx rgba(255, 140, 66, 0.3);
   margin-bottom: 40rpx;
 }
-.empty-icon { font-size: calc(72rpx * var(--font-scale, 1)); }
+.empty-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); }
 .empty-title { font-size: calc(34rpx * var(--font-scale, 1)); font-weight: 700; color: $facade-text-strong; display: block; margin-bottom: 16rpx; }
 .empty-sub { font-size: calc(26rpx * var(--font-scale, 1)); color: $facade-text-muted; display: block; margin-bottom: 48rpx; }
 .generate-btn {

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

@@ -181,7 +181,7 @@ export default {
   align-items: center;
   margin-top: 20rpx;
 }
-.dim-energy-value { font-size: calc(48rpx * var(--font-scale, 1)); font-weight: bold; color: $brand-primary; }
+.dim-energy-value { font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); font-weight: bold; color: $brand-primary; }
 .dim-energy-label { font-size: calc(20rpx * var(--font-scale, 1)); color: rgba(143,197,232,0.4); }
 
 /* ---- 流水 ---- */

+ 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($uni-font-size-5xl * var(--font-scale, 1)); font-weight: 700; color: $app-surface; letter-spacing: 8rpx }
+.mbr-type-code { font-size: calc($uni-font-size-6xl * 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-entry.vue

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

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

@@ -366,7 +366,7 @@ export default {
   margin-top: 10rpx;
 }
 .scr-hero-score {
-  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
+  font-size: calc($uni-font-size-6xl * var(--font-scale, 1));
   font-weight: 700;
   color: $app-surface;
 }
@@ -733,7 +733,7 @@ export default {
   padding: $uni-space-lg 0;
 }
 .scr-all-healthy-icon {
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   margin-bottom: 16rpx;
 }
 .scr-all-healthy-text {

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

@@ -512,7 +512,7 @@ $c-rose-400:      #FB7185; // 差质量徽章渐变起点(rose-400,全局 da
   position: absolute;
   top: 20rpx;
   right: 32rpx;
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   line-height: 1;
   animation: moon-float 4s ease-in-out infinite;
 }
@@ -560,8 +560,8 @@ $c-rose-400:      #FB7185; // 差质量徽章渐变起点(rose-400,全局 da
   margin-top: 24rpx;
 }
 .hero-duration-num {
-  font-size: calc(48rpx * var(--font-scale, 1));
-  font-weight: 700;
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
+  font-weight: $uni-font-weight-extra-heavy;
   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: 700;
+  font-weight: $uni-font-weight-extra-heavy;
   color: $uni-text-color;
   line-height: 1;
 }

+ 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: 700; color: #111827; line-height: 1.2; }
+.head-value { font-size: calc(48rpx * var(--font-scale, 1)); font-weight: $uni-font-weight-extra-heavy; 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: 700; color: #111827; line-height: 1.2; }
+.single-value { font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); font-weight: $uni-font-weight-extra-heavy; 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/nutrition-profile.vue

@@ -359,7 +359,7 @@ export default {
   align-items: center;
 }
 .score-value {
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   font-weight: bold;
   color: $brand-primary;
 }

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

@@ -1076,7 +1076,7 @@ padding-top: 4rpx;
 
 .points-number {
   font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
-  font-weight: 700;
+  font-weight: $uni-font-weight-extra-heavy;
   color: $app-surface;
   line-height: 1.1;
   text-shadow: 0 2rpx 8rpx rgba(0,0,0,0.10);

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

@@ -154,7 +154,7 @@ export default {
   padding: 12rpx 0;
   gap: 8rpx;
 }
-.mac-action-icon { font-size: calc(72rpx * var(--font-scale, 1)); }
+.mac-action-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); }
 .mac-action-name { font-size: calc(36rpx * var(--font-scale, 1)); font-weight: 700; color: $facade-text-strong; }
 .mac-action-desc { font-size: calc(24rpx * var(--font-scale, 1)); color: $facade-text-faint; text-align: center; }
 .mac-action-btn {

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

@@ -70,8 +70,8 @@ export default {
   animation: celebrationTextIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
 }
 .celebration-title {
-  font-size: calc(48rpx * var(--font-scale, 1));
-  font-weight: 700;
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
+  font-weight: $uni-font-weight-extra-heavy;
   color: $app-surface;
   text-shadow: 0 4rpx 20rpx rgba(0,0,0,0.3);
 }

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

@@ -2282,7 +2282,7 @@ export default {
   border: 2rpx dashed $brand-primary-light-2;
 }
 .empty-family-icon {
-  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
+  font-size: calc($uni-font-size-6xl * var(--font-scale, 1));
   margin-bottom: 16rpx;
 }
 .empty-family-title {

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

@@ -2812,7 +2812,7 @@ $c-warm-tint:     #FFF3E7;
 
 /* ---- brand ---- */
 .splash-brand-name {
-  font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); font-weight: 700;
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); font-weight: $uni-font-weight-extra-heavy;
   color: $c-brand-ink;
   letter-spacing: 10rpx;
   margin-bottom: 2rpx;

+ 1 - 1
cfc-frontend/pages/member-detail/components/member-detail-sections/body-section.vue

@@ -153,7 +153,7 @@ export default {
   padding: 20rpx 0;
 }
 .report-score {
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: bold;
   color: $dim-body;
 }

+ 1 - 1
cfc-frontend/pages/member-detail/components/member-detail-sections/wisdom-section.vue

@@ -145,7 +145,7 @@ export default {
   padding: 20rpx 0;
 }
 .result-score {
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: bold;
   color: $dim-wisdom;
 }

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

@@ -262,7 +262,7 @@ export default {
   margin-top: 20rpx;
 }
 .days-num {
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   font-weight: bold;
   color: $status-warning-soft;
 }

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

@@ -340,7 +340,7 @@ export default {
 }
 .compatibility-score {
   font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
-  font-weight: 700;
+  font-weight: $uni-font-weight-extra-heavy;
   color: $app-surface;
   line-height: 1;
 }

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

@@ -342,7 +342,7 @@ export default {
 }
 
 .dimension-icon {
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
 }
 
 .dimension-name {

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

@@ -204,7 +204,7 @@ var res = await getReferralCode()
 }
 
 .score {
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   font-weight: bold;
   color: $brand-primary;
 }

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

@@ -462,7 +462,7 @@ export default {
 }
 
 .score-value {
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: bold;
   color: $facade-text-strong;
 }

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

@@ -199,7 +199,7 @@ export default {
 .hero-title { font-size: calc(40rpx * var(--font-scale, 1)); font-weight: bold; color: $app-surface; display: block; }
 .hero-desc { font-size: calc(26rpx * var(--font-scale, 1)); color: rgba(255,255,255,0.9); margin-top: 8rpx; display: block; }
 .hero-price { margin-top: 24rpx; }
-.price-original { font-size: calc(48rpx * var(--font-scale, 1)); font-weight: bold; color: $app-surface; }
+.price-original { font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); font-weight: bold; color: $app-surface; }
 .price-note { font-size: calc(22rpx * var(--font-scale, 1)); color: rgba(255,255,255,0.8); margin-left: 12rpx; }
 
 .card { margin: 16rpx 24rpx; background: $app-surface; border-radius: 24rpx; overflow: hidden; box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.06); }

+ 1 - 1
cfc-frontend/pages/rewards/badge.vue

@@ -475,7 +475,7 @@ export default {
   justify-content: center;
 }
 .big-icon {
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 .modal-badge-name {
   display: block;

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

@@ -171,7 +171,7 @@ export default {
 
 .splash-brand-name {
   font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
-  font-weight: 700;
+  font-weight: $uni-font-weight-extra-heavy;
   color: $mat-orange-900;
   letter-spacing: 10rpx;
   margin-bottom: 2rpx;

+ 3 - 3
cfc-frontend/pages/stats/completion-rate.vue

@@ -397,7 +397,7 @@ export default {
 
 .rate-value {
   font-size: calc(40rpx * var(--font-scale, 1));
-  font-weight: 700;
+  font-weight: $uni-font-weight-extra-heavy;
   color: $flat-ink;
   line-height: 1.2;
 }
@@ -453,7 +453,7 @@ export default {
 
 .quick-stat-value {
   font-size: calc(40rpx * var(--font-scale, 1));
-  font-weight: 700;
+  font-weight: $uni-font-weight-extra-heavy;
   line-height: 1.2;
 }
 
@@ -673,7 +673,7 @@ export default {
 }
 
 .empty-main-icon {
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 
 .empty-title {

+ 1 - 1
cfc-frontend/pages/tasks/task-upload-purchase.vue

@@ -188,7 +188,7 @@ export default {
 }
 .photo-preview { width: 100%; height: 100%; }
 .upload-placeholder { display: flex; flex-direction: column; align-items: center; gap: 12rpx; }
-.upload-icon { font-size: calc(72rpx * var(--font-scale, 1)); }
+.upload-icon { font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); }
 .upload-text { font-size: calc(26rpx * var(--font-scale, 1)); color: $facade-text-gray-400; }
 .submit-btn {
   background: linear-gradient(135deg, $dim-body, $brand-primary);

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

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

+ 1 - 1
cfc-frontend/pages/tianpan/annual-energy.vue

@@ -126,7 +126,7 @@ export default {
 .error-text { color: $status-danger; font-size: calc(28rpx * var(--font-scale, 1)); }
 .content { padding: 24rpx; }
 .year-selector { text-align: center; padding: 32rpx 0 16rpx; }
-.year-current { font-size: calc(48rpx * var(--font-scale, 1)); font-weight: bold; color: $brand-primary; }
+.year-current { font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); font-weight: bold; color: $brand-primary; }
 .year-label { font-size: calc(26rpx * var(--font-scale, 1)); color: $facade-text-gray-400; display: block; }
 .info-card { background: $app-surface; border-radius: 24rpx; padding: 32rpx; margin-bottom: 24rpx; }
 .card-title-bar { margin-bottom: 24rpx; border-bottom: 2rpx solid $facade-fill-gray-100; padding-bottom: 16rpx; }

+ 1 - 1
cfc-frontend/pages/tianpan/daily-fortune.vue

@@ -85,7 +85,7 @@ export default {
 .inauspicious-bar .card-title { color: $status-danger; font-size: calc(30rpx * var(--font-scale, 1)); font-weight: bold; }
 .card-title { font-size: calc(30rpx * var(--font-scale, 1)); font-weight: bold; color: $facade-text-gray-800; }
 .five-elements-display { text-align: center; padding: 16rpx 0; }
-.fe-main { font-size: calc(48rpx * var(--font-scale, 1)); font-weight: bold; color: $brand-primary; display: block; }
+.fe-main { font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); font-weight: bold; color: $brand-primary; display: block; }
 .fe-detail { font-size: calc(26rpx * var(--font-scale, 1)); color: $facade-text-gray-400; display: block; margin-top: 8rpx; }
 .item-tags { display: flex; flex-wrap: wrap; gap: 16rpx; }
 .tag-item { padding: 12rpx 28rpx; border-radius: 24rpx; }

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

@@ -958,7 +958,7 @@ $c-tp-item-glyph:   str-slice('#{$brand-primary}', 2); // 相关事项缺省图
 }
 
 .popup-close {
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   color: $facade-text-gray-400;
   line-height: 1;
 }

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

@@ -313,7 +313,7 @@ export default {
 
 .avatar-text {
   color: $app-surface;
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   font-weight: bold;
 }
 

+ 2 - 2
cfc-frontend/pages/tianpan/traditional.vue

@@ -267,7 +267,7 @@ export default {
 
 .avatar-text {
   color: $app-surface;
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   font-weight: bold;
 }
 
@@ -386,7 +386,7 @@ export default {
   display: flex;
   justify-content: center;
   align-items: center;
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   font-weight: bold;
   color: $app-surface;
 }

+ 1 - 1
cfc-frontend/pages/vendor/center.vue

@@ -131,7 +131,7 @@ export default {
   margin-top: $uni-space-lg;
 }
 .pending-icon {
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
 }
 .pending-info {
   display: flex;

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

@@ -357,7 +357,7 @@ $c-tint-indigo-border: #e8eaff; // indigo 极浅边框(单页专有)
   margin-bottom: 10rpx;
 }
 .balance-value {
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: 700;
   line-height: 1;
   margin-bottom: 8rpx;

+ 1 - 1
cfc-frontend/pages/wealth-sub/checkin.vue

@@ -559,7 +559,7 @@ export default {
   z-index: 1000; pointer-events: none;
 }
 .energy-anim-text {
-  font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); font-weight: 700; color: $dim-wealth;
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1)); font-weight: $uni-font-weight-black-extra; color: $dim-wealth;
   text-shadow: 0 4rpx 20rpx rgba(245,158,11,0.5);
   animation: floatUp 1.5s ease-out forwards;
 }

+ 1 - 1
cfc-frontend/pages/wealth-sub/insurance-planning.vue

@@ -362,7 +362,7 @@ $c-warning-mid: #FFA940; // gold-6 警示中档(单页专有)
   flex-shrink: 0;
 }
 .score-ring-inner { text-align: center; }
-.score-value { font-size: calc(48rpx * var(--font-scale, 1)); font-weight: bold; display: block; }
+.score-value { font-size: calc($uni-font-size-4xl * var(--font-scale, 1)); font-weight: bold; display: block; }
 .score-max { font-size: calc(24rpx * var(--font-scale, 1)); opacity: 0.7; }
 
 .score-dims { flex: 1; }

+ 1 - 1
cfc-frontend/pages/wealth/components/WealthEnergyRing.vue

@@ -110,7 +110,7 @@ export default {
   z-index: 3;
 }
 .ring-score {
-  font-size: calc(72rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
   font-weight: bold;
   color: $status-warning-strong;
   line-height: 1.1;

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

@@ -1013,7 +1013,7 @@ export default {
   color: $status-warning-strong;
 }
 .disc-value {
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   font-weight: bold;
   color: $dim-wealth;
   margin-top: 8rpx;

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

@@ -1170,7 +1170,7 @@ $c-ink-strong: #1D1D1F;
   padding: 40rpx 0;
 }
 .gut-empty-icon {
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   margin-bottom: 16rpx;
 }
 .gut-empty-text {

+ 5 - 5
cfc-frontend/pages/wishes/index.vue

@@ -645,8 +645,8 @@ export default {
 
 .points-card__value {
   display: block;
-  font-size: calc(72rpx * var(--font-scale, 1));
-  font-weight: 700;
+  font-size: calc($uni-font-size-5xl * var(--font-scale, 1));
+  font-weight: $uni-font-weight-extra-heavy;
   color: var(--color-primary, $brand-primary);
   line-height: 1.1;
   margin-bottom: 20rpx;
@@ -778,7 +778,7 @@ export default {
 }
 
 .wish-card__emoji {
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   line-height: 1;
 }
 
@@ -826,7 +826,7 @@ export default {
 
 .wish-card__points-value {
   font-size: calc(40rpx * var(--font-scale, 1));
-  font-weight: 700;
+  font-weight: $uni-font-weight-extra-heavy;
   color: var(--color-accent, $uni-info);
   line-height: 1;
 }
@@ -932,7 +932,7 @@ export default {
 }
 
 .fab__icon {
-  font-size: calc(48rpx * var(--font-scale, 1));
+  font-size: calc($uni-font-size-4xl * var(--font-scale, 1));
   color: $app-surface;
   font-weight: 300;
   line-height: 1;

+ 7 - 3
cfc-frontend/uni.scss

@@ -120,9 +120,11 @@ $uni-font-size-xl: 36rpx;
 $uni-font-size-2xl: 44rpx;
 $uni-font-size-3xl: 52rpx;
 // 大字号段令牌(2026-10-25 字体边距间距专项审查 §5.1 扩档;覆盖 40~120rpx 大字号段裸值)
-$uni-font-size-4xl: 64rpx;   /* 大数字、统计值 */
-$uni-font-size-5xl: 80rpx;   /* Hero 数字、封面主标 */
-$uni-font-size-6xl: 100rpx;  /* 极值展示 */
+$uni-font-size-title: 40rpx;   /* 大标题(为主理人拍板保留 40rpx 原值) */
+$uni-font-size-display: 48rpx; /* 展示性大数字(为主理人拍板保留 48rpx 原值) */
+$uni-font-size-4xl: 64rpx;   /* 大数字、统计值(56rpx 收敛 +8rpx) */
+$uni-font-size-5xl: 80rpx;   /* Hero 数字、封面主标(72rpx 收敛 +8rpx) */
+$uni-font-size-6xl: 96rpx;   /* 极值展示(88rpx/100rpx 收敛为 96rpx) */
 
 // 字号令牌扩档(2026-10-31 U7 独立任务新增,依据 docs/2026-10-25-字体边距间距专项审查.md §5.1)
 // 大字号段 40~120rpx 归并规则:42→40 / 56→48 / 60→64 / 88→80 / 96→100
@@ -141,6 +143,8 @@ $uni-font-weight-normal: 400;
 $uni-font-weight-medium: 500;
 $uni-font-weight-bold: 600;
 $uni-font-weight-black: 700;
+$uni-font-weight-extra-heavy: 800;   /* 2026-11-01 主理人拍板:大字号保留 800 */
+$uni-font-weight-black-extra: 900;   /* 2026-11-01 主理人拍板:大字号保留 900(仅打卡动画) */
 
 // ============================================================
 // 3. 间距系统 (Spacing)