/* ============================================================================
   TIDAL 设计系统 · 路线②「冷银科技」—— 首页（index.html / app.css）覆盖层
   ----------------------------------------------------------------------------
   ⚠ 背景：首页只引 app.css，它的深色写法比 member_v5.css 更早、更"层叠"：
     既用 var(--line) 这类 token，又在多处用内联 style 与高阶选择器 +
     超长复合选择器（`.stats,.toolbar,.risk-strip,.benefit-compare,…`）统一刷深色。
     因此本文件必须放在**所有主题层之后**，用同等或更高特异性覆盖。

   首页真实 DOM（已核对 index.html 原文）：
     header > .brand(.brand-mark/.brand-word) + nav  + #accountActions
     main
       section.hero#home      → 左文案 + aside.terminal(.top/.ring/.ticks/.bars)
       section.stats          → 4 × article
       section.section.manual-brief#manualBrief
         .manual-head(>h2>em) / .manual-metrics / .manual-combo(.combo-legend/
         .combo-frame>.combo-scale+.combo-chart>.combo-grid/.combo-year>i.ret-bar/i.dd-bar)
         / .manual-grid / .manual-years / .manual-year-details / .manual-note
       section.section#strategy → .cards > article
       section.section.dark#matrix → .split / .toolbar / .table
       section.section.research#research → .report
       section.section#membership → .risk-strip / .benefit-compare / .plans.tier-plans
       section.section.contact → form#contact
     footer
     dialog#auth / dialog#app / #toast
   ============================================================================ */

/* ==========================================================================
   0. 高级感修正：干掉首页所有「深色玻璃 + 白内描边 + 青绿辉光」的旧写法
   ------------------------------------------------------------------------
   app.css 有一段超长复合选择器给这些元素统一刷了深色渐变 + --crystal-glow。
   这里用同长度的等价选择器 + !important 一次性拉回浅色，避免逐条追。
   ========================================================================== */
.stats,
.toolbar,
.risk-strip,
.benefit-compare,
.manual-metrics,
.manual-grid article,
.manual-combo article,
.manual-year-details,
.manual-years,
.manual-note,
.public-announcements article,
.payment-status,
.dashcards article,
.member-cards article,
.hero-strip,
form,
dialog,
.report,
.plans article,
.advice-card,
.terminal,
.table{
  border-color:var(--line)!important;
  background:var(--card-glass)!important;
  background-image:none!important;
  box-shadow:var(--shadow-1)!important;
}
/* ⚠ 关键：表格容器必须能"收缩 + 滚动"，否则 7 列表格会把页面撑出横向滚动条
   （390 视口实测被撑到 900px）。min-width:0 是 flex/grid 子项能滚动的必要条件。 */
.table,
.manual-table-wrap,
.table-wrap{
  overflow-x:auto!important;
  min-width:0!important;
  max-width:100%!important;
  -webkit-overflow-scrolling:touch;
}
.table>table,.manual-table-wrap>table,.table-wrap>table{
  min-width:640px; /* 保证窄屏下表格本身不被压扁，改为容器内横滚 */
}
.toolbar,
.table,
.stats{
  background:var(--card-glass)!important;
}

/* 首页 hero 的巨字水印：深色时是 rgba(118,197,199,.025)，浅底要更淡且换冷调 */
.hero:after{color:rgba(11,114,133,.045)!important}
.hero{background:transparent}
.hero h1 em{color:var(--cyan);font-style:normal}
.hero h1{color:var(--ink);font-weight:var(--w-bold);letter-spacing:var(--ls-title);line-height:1.16}
/* ⚠ 特异性陷阱（与 body.research-app 同类）：
   生产写的是 .hero>div>p → (0,1,2)；主题层若只写 .hero p → (0,1,1)，会被压过。
   实测：只写 .hero p 时该段文字仍是生产的 #a9c0c4，对比度 1.73:1。
   故这里必须写成同形状（含 >div>）的选择器 + !important。 */
.hero>div>p,
.hero>aside>p,
.hero p{color:var(--ink2)!important}
.hero label{color:var(--cyan);letter-spacing:var(--ls-label)}
.trust{color:var(--ink3);font-size:var(--fs-xs);letter-spacing:.02em}

/* ==========================================================================
   1. 顶部导航 + 账户区
   ========================================================================== */
#accountActions{display:flex;align-items:center;gap:10px}
#accountActions .ghost,
#accountActions .primary{white-space:nowrap}

/* ==========================================================================
   2. hero 右侧「策略脉搏」终端卡
   ========================================================================== */
.terminal{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:
    radial-gradient(circle at 78% 16%,rgba(11,114,133,.10),transparent 46%),
    linear-gradient(150deg,rgba(255,255,255,.94),rgba(255,255,255,.66));
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  backdrop-filter:blur(16px) saturate(150%);
  box-shadow:var(--shadow-2);
}
/* 原设计的「科技角标」：保留但改为冷青细线，避免深色时代的粗重感 */
.terminal:before,
.terminal:after{content:"";position:absolute;width:34px;height:34px}
.terminal:before{
  left:-1px;top:-1px;
  border-left:2px solid var(--cyan);
  border-top:2px solid var(--cyan);
  border-radius:var(--radius) 0 0 0;
}
.terminal:after{
  right:-1px;bottom:-1px;
  border-right:2px solid var(--cyan);
  border-bottom:2px solid var(--cyan);
  border-radius:0 0 var(--radius) 0;
}
.terminal .top{
  border-bottom:1px solid var(--line);
  color:var(--ink);
}
.terminal .top span{
  color:var(--cyan);
  letter-spacing:var(--ls-label);
  font-weight:var(--w-semi);
}
.terminal .top small{color:var(--ink3)}
.terminal .top b{color:var(--ink);font-variant-numeric:tabular-nums}

/* 脉搏圆环：深底改浅底，环体改浅灰、进度改渐变 */
.ring{
  border:10px solid var(--line-2);
  border-top-color:var(--cyan);
  border-right-color:var(--indigo);
  border-radius:50%;
  box-shadow:0 12px 40px -18px rgba(11,114,133,.35), inset 0 0 30px rgba(11,114,133,.04);
  background:rgba(255,255,255,.55);
}
.ring:after{border:1px dashed var(--line-3)}
.ring strong{
  color:var(--ink);
  font-weight:var(--w-thin);
  letter-spacing:var(--ls-num);
  font-variant-numeric:tabular-nums;
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.ring span{color:var(--ink3)}

.ticks{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:transparent;
  overflow:hidden;
}
.ticks span{
  border:0;
  border-bottom:1px solid var(--line);
  border-right:1px solid var(--line);
  color:var(--ink3);
  font-size:var(--fs-xs);
}
.ticks span:nth-child(2n){border-right:0}
.ticks span:nth-last-child(-n+2){border-bottom:0}
.ticks b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:var(--w-semi)}

.bars{
  color:var(--cyan);
  opacity:.75;
  letter-spacing:6px;
}
#pulseFoot{color:var(--ink3);font-size:var(--fs-xs)}

/* ==========================================================================
   3. 指标快览（section.stats）
   ========================================================================== */
.stats{
  border-block:1px solid var(--line);
  background:var(--card-glass);
  -webkit-backdrop-filter:blur(12px) saturate(140%);
  backdrop-filter:blur(12px) saturate(140%);
}
.stats article{border-left:1px solid var(--line)}
.stats article:last-child{border-right:1px solid var(--line)}
.stats small{color:var(--ink3);letter-spacing:var(--ls-label);font-size:var(--fs-xs)}
.stats b{
  display:block;margin:8px 0 4px;
  color:var(--ink);
  font-size:26px;font-weight:var(--w-thin);
  letter-spacing:var(--ls-num);
  font-variant-numeric:tabular-nums;
}
.stats span{color:var(--ink3);font-size:var(--fs-xs)}

/* ==========================================================================
   4. 策略说明区（manual-*，与 pages 层重复的定义这里更强）
   ========================================================================== */
.manual-brief{
  border-block:1px solid var(--line);
  background:
    radial-gradient(circle at 88% 10%,rgba(11,114,133,.07),transparent 40%),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(242,244,248,.7));
}
.manual-head h2 em{color:var(--cyan);font-style:normal}
.manual-metrics article{border-right:1px solid var(--line)}
.manual-metrics article:last-child{border-right:0}
.manual-metrics small,.manual-metrics span{color:var(--ink3)}
.manual-metrics b{
  color:var(--ink);
  font-family:var(--font);
  font-size:23px;font-weight:var(--w-light);
  letter-spacing:var(--ls-num);
  font-variant-numeric:tabular-nums;
}
.manual-grid article{border:1px solid var(--line);border-radius:var(--radius)}
.manual-grid span{color:var(--cyan);font-weight:var(--w-bold);font-size:var(--fs-xs)}
.manual-grid h3{color:var(--ink);font-weight:var(--w-semi)}
.manual-grid p{color:var(--ink2)}

/* ---- 年度收益/回撤组合图（combo-*） ---- */
.manual-combo article{border:1px solid var(--line);border-radius:var(--radius)}
.manual-combo p{color:var(--ink3)}
/* ⚠ 首页不引 pages 层，pages 层里的 .chart-title b{color:var(--star)} 在这页【不生效】。
   生产 app.css 写 .chart-title b{color:var(--gold)} → --gold 已被 token 层覆盖为 #8f6220，
   但 app.css 的 --gold 定义在 :root，token 层也在 :root 且更靠后 → 理论上应生效。
   实测仍报 #c8992f（旧值），说明另有更强来源；这里直接正面覆盖，不再依赖变量传导。
   —— 这也解释了门禁报的 "2005-2026" 2.61:1。 */
.chart-title b{color:var(--star)!important}
.chart-title span{color:var(--ink)!important}
.chart-title{border-bottom:1px solid var(--line-2)!important}
.combo-chart{border-bottom:1px solid var(--line-2)}
.combo-grid{background:linear-gradient(90deg,rgba(13,21,34,.12),rgba(13,21,34,.03))}
.combo-grid.g0{background:linear-gradient(90deg,rgba(13,21,34,.26),rgba(13,21,34,.08))}
.combo-scale{color:var(--ink3);font-weight:var(--w-semi);font-variant-numeric:tabular-nums}
.combo-year i{box-shadow:0 3px 8px -4px rgba(13,21,34,.28)}
.combo-year b{color:var(--ink3);font-weight:var(--w-semi)}
.combo-year .ret-bar,
.ret-bar{
  border:1px solid rgba(255,255,255,.6);
}
/* 红涨绿跌（浅底重绘，原 #ff6878/#34e8aa 是给深底用的） */
.ret-bar.gain{background:linear-gradient(180deg,#dc4c4c,#a81f1f)}
.ret-bar.loss{background:linear-gradient(180deg,#2f9c8a,#0d6355)}
.dd-bar{
  background:linear-gradient(180deg,#d9a44a,#b34147);
  border:1px solid rgba(255,255,255,.6);
  opacity:.9;
}
.combo-legend{color:var(--ink2)}
.combo-legend em{color:var(--ink3)}
.combo-legend .dot.ret{background:var(--up)}
.combo-legend .dot.loss{background:var(--down)}
.combo-legend .dot.dd{background:linear-gradient(180deg,#d9a44a,#b34147)}

/* ---- 年度明细表 ---- */
.manual-year-details{border:1px solid var(--line);border-radius:var(--radius)}
.manual-year-details summary{color:var(--ink);font-weight:var(--w-bold)}
.manual-year-details summary:after{
  border:1px solid rgba(11,114,133,.28);
  color:var(--cyan);
  border-radius:var(--radius-xs);
}
.manual-year-details[open] summary{border-bottom:1px solid var(--line)}
.manual-year-details summary b{color:var(--star)}
.manual-table-wrap{border-radius:var(--radius-sm);overflow:auto}
.manual-year-table th{
  color:var(--star);
  background:rgba(255,255,255,.6);
  border-bottom:1px solid var(--line);
  font-size:var(--fs-xs);letter-spacing:1px;
}
.manual-year-table td{
  color:var(--ink2);
  border-bottom:1px solid var(--line);
  font-variant-numeric:tabular-nums;
}
.manual-year-table td:first-child{color:var(--ink);font-weight:var(--w-bold)}
.manual-years{border:1px solid var(--line);border-radius:var(--radius)}
.manual-years b{color:var(--cyan)}
.manual-years p{color:var(--ink3)}
.manual-note{border:1px solid var(--line);border-radius:var(--radius)}
.manual-note b{color:var(--cyan)}
.manual-note span{color:var(--ink3)}

/* ==========================================================================
   5. 卡片组 / 深色区 / 数据表
   ========================================================================== */
.section{border-color:var(--line)}
.section>label,.section-head label{color:var(--cyan);letter-spacing:var(--ls-label)}
.section h2{color:var(--ink);font-weight:var(--w-bold);letter-spacing:var(--ls-title)}
.section h2 em{color:var(--cyan);font-style:normal}
.section>p,.section .note{color:var(--ink3)}
/* ⚠⚠ 容器漏覆盖（2026-10-07 线上实测抓到）⚠⚠
   原来只覆盖了 .cards article（卡片本体），漏了 .cards 容器自身 ——
   生产 .cards{background:rgba(4,16,20,.55)} 仍在生效，深色底从卡片间隙透出。
   线上扫描：div.cards bg=rgb(5,18,23) L=0.061，是全站唯一残留的大块深色容器。
   教训：覆盖"卡片组"必须【容器 + 子项】成对处理，只做子项会漏底。 */
.cards{
  border-color:var(--line-2);
  background:var(--card-glass);
  box-shadow:var(--shadow-1);
}
.cards article{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,255,255,.94),rgba(255,255,255,.68));
  box-shadow:var(--shadow-1);
}
.cards article:hover{
  background:linear-gradient(160deg,rgba(11,114,133,.07),rgba(255,255,255,.92));
}
.cards b,.cards h3{color:var(--ink)}
.cards small,.cards p,.cards span{color:var(--ink3)}

/* 深色区（#matrix）改浅色 —— 用略微提亮区分区块，而不是靠变暗。
   ⚠ 对比度踩坑（2026-10-08）：原写法 linear-gradient(180deg,rgba(233,237,244,.72),rgba(242,244,248,.92))
     经 alpha 合成后最暗处 ≈ #e5e9f0，使 --ink3(#647082) 只有 4.28:1，卡在 AA 线下 0.22。
     语义上也说不通 —— 这是"玻璃白卡"，alpha 太低会发脏。
     改为向白靠拢：合成后最暗 ≈ #eef1f7，--ink3 提升到约 4.7:1。 */
.dark{
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(245,248,252,.94))!important;
  border-block:1px solid var(--line);
}
.dark h2,.dark label{color:var(--ink)}
.dark h2 em{color:var(--cyan)}
/* ⚠ 只写 `.dark>p` 是不够的：matrix 区的文案实际挂在
     section.dark#matrix > div.split > div > p
   属于【孙节点】，会被生产 `.section p{color:var(--muted)}`(0,1,1) 接管。
   实测对比度 4.28:1（差 0.22 不达 AA）。这里用 .dark 后代选择器兜住所有层级。 */
.dark>p,
.dark .split p,
.dark .split>div>p,
.dark .section-head p{color:var(--ink2)!important}
.dark .split label,
.dark .section-head label{color:var(--cyan)!important}
.dark .split h2,
.dark .section-head h2{color:var(--ink)!important}
/* matrix 工具栏：文案与状态灯
   span 走 --soft(#3d495c, 8.27:1)，b 走 --green(#12796c, 4.54:1)。
   两者都在 AA 线以上，但 b 只有 4.54 余量极小；这里显式钉住避免日后回流。 */
.dark .toolbar span{color:var(--ink2)!important}
.dark .toolbar b{color:var(--down)!important}
/* 演示区脚注：生产 --muted 在 .dark 底上只有 4.28:1，压深一档 */
.section p,.section li,.dark p,.dark li{color:var(--ink2)!important}
.dark small{color:var(--ink3)}
.dark .toolbar{border-bottom:1px solid var(--line);background:transparent!important}
.dark .table{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.86)!important;
  box-shadow:var(--shadow-1);
}
.dark .table th{color:var(--ink3);background:rgba(255,255,255,.7)}
.dark .table td{color:var(--ink2);border-bottom:1px solid var(--line)}
.dark .table td:first-child,.dark .table b{color:var(--ink)}
.dark small{color:var(--ink3)}

.split button{margin-bottom:20px}

/* ==========================================================================
   6. 财报智研（.report）
   ========================================================================== */
.report>small{color:var(--cyan);letter-spacing:var(--ls-label)}
.report h3{color:var(--ink);font-weight:var(--w-semi)}
.report p{color:var(--ink2)}
.report>div{border-radius:var(--radius-sm);overflow:hidden;background:var(--line)}
.report>div>span{background:rgba(255,255,255,.72);color:var(--ink3)}
.report>div>span b{color:var(--ink);font-variant-numeric:tabular-nums}
.report footer{border-top:1px solid var(--line);color:var(--ink3);font-size:var(--fs-xs)}
/* 原设计的错位描边在浅底会像"重影"，改为极淡单线 */
.report:after{
  inset:8px -8px -8px 8px;
  border:1px solid var(--line);
  opacity:.55;
}

/* ==========================================================================
   7. 会员权益区（risk-strip / benefit-compare / plans）
   ========================================================================== */
.risk-strip{
  border:1px solid rgba(200,153,47,.34)!important;
  border-left:3px solid var(--star)!important;
  border-radius:var(--radius-sm)!important;
  background:var(--warn-bg)!important;
  color:#6b4f10;
  font-size:var(--fs-sm);
}
.benefit-compare{
  border:1px solid var(--line)!important;
  border-radius:var(--radius)!important;
  background:rgba(255,255,255,.86)!important;
  overflow:auto;
}
.benefit-compare table{min-width:860px}
.benefit-compare th{
  background:rgba(255,255,255,.7)!important;
  color:var(--ink3)!important;
  border-bottom:1px solid var(--line);
  font-size:var(--fs-xs);letter-spacing:1px;
}
.benefit-compare td{
  color:var(--ink2);
  border-bottom:1px solid var(--line);
}
.benefit-compare td:first-child{color:var(--ink);font-weight:var(--w-semi)}
.benefit-compare b{color:var(--cyan)}

.plans article{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(255,255,255,.7));
  box-shadow:var(--shadow-1);
  transition:transform .2s, border-color .2s, box-shadow .2s;
}
.plans article:hover{
  transform:translateY(-4px);
  border-color:rgba(11,114,133,.34);
  box-shadow:var(--shadow-2);
}
.plans article>small{color:var(--ink3);letter-spacing:var(--ls-label)}
.plans article>h3{color:var(--ink);font-weight:var(--w-bold)}
.plans article>p{color:var(--ink3)}
/* ⚠⚠ 套餐区「浅底浅字」清扫（2026-10-08）⚠⚠
   两处都是生产在【深色主题】下用的亮色文字，换浅底后不可读；因不是背景问题，
   背景扫描查不出来。必须逐个正面覆盖。
   ① 生产 app.css:165  .plans .silver .plan-price em{color:#e5eef0}
      → 特异性 (0,3,0)，比 .plan-price em (0,1,1) 高，必须用同层级选择器压过。
      实测对比度 1.18:1（几乎不可见，这是全站最严重的一处）。
   ② 生产 app.css:159  .purchase-policy span{color:#91aaad}
      → 浅灰蓝，浅底上 2.45:1。
   ③ 生产 app.css:160  .purchase-policy .check{color:#d7e7e7}（同为深色主题亮字） */
.plans .silver .plan-price em,
.plans .plan-price em,
.plan-price em{color:var(--ink)!important}
.plans .gold .plan-price em{color:var(--gold)!important}
.plan-price small{color:var(--ink3)!important;font-weight:var(--w-normal)}
.purchase-policy span{color:var(--ink2)!important}
.purchase-policy .check{color:var(--ink2)!important}
.purchase-policy b{color:var(--warn)!important}
.plan-price{
  font-family:var(--font);
  font-weight:var(--w-light);
  letter-spacing:var(--ls-num);
  font-variant-numeric:tabular-nums;
  color:var(--ink);
}
.original-price{color:var(--ink4)}
.plan-contact{
  border-radius:var(--radius-sm);
  margin-top:auto;
  min-height:54px;
}
.purchase-policy{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.6);
  color:var(--ink2);
  font-size:var(--fs-xs);
}
.purchase-policy b{color:var(--warn)}
.purchase-policy a{color:var(--cyan)}
.purchase-locked{border-radius:var(--radius-sm)}
.pricing-note{
  border:1px solid rgba(200,153,47,.3);
  border-radius:var(--radius-sm);
  background:var(--warn-bg);
  color:var(--ink2);
}

/* ==========================================================================
   8. 咨询区 + 页脚 + 弹窗
   ========================================================================== */
.contact{
  background:linear-gradient(135deg,rgba(238,244,247,.8),rgba(242,244,248,.92));
  border-top:1px solid var(--line);
}
.contact h2{color:var(--ink)}
.contact p{color:var(--ink3)}
.contact a{color:var(--cyan)}
.contact label{color:var(--cyan);letter-spacing:var(--ls-label)}
#contact input,#contact select,#contact textarea{
  border:1px solid var(--line-2);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.8);
  color:var(--ink);
}
footer{
  border-top:1px solid var(--line);
  background:rgba(255,255,255,.6);
  color:var(--ink3);
}
footer span,footer small{color:var(--ink3)}
footer a{color:var(--ink2);border-bottom:1px solid transparent}
footer a:hover{color:var(--cyan);border-bottom-color:rgba(11,114,133,.3)}

dialog{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
  backdrop-filter:blur(20px) saturate(150%);
  box-shadow:var(--shadow-2);
  color:var(--ink);
}
dialog::backdrop{background:rgba(13,21,34,.32);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
dialog h3{color:var(--ink)}
dialog .close{color:var(--ink3);background:transparent;border:0}
dialog .close:hover{color:var(--up)}
.auth-tabs{border-bottom:1px solid var(--line)}
.auth-tabs button{color:var(--ink3);background:transparent;border:0}
.auth-tabs button[aria-selected="true"]{color:var(--cyan);border-bottom:2px solid var(--cyan);font-weight:var(--w-semi)}
.auth-mode-label{color:var(--ink3)}
.auth-link{color:var(--cyan)}
.dialog-toast{color:var(--ink2)}
dialog .check{color:var(--ink2)}
dialog > small{color:var(--ink4)}

/* 公告条与版本胶囊 */
.public-announcements{
  border-bottom:1px solid rgba(200,153,47,.24);
  background:rgba(255,255,255,.6);
}
.public-announcements article{
  border:1px solid rgba(200,153,47,.34);
  border-radius:var(--radius-sm);
}
.public-announcements small{color:var(--warn)}
.policy-version{
  border:1px solid var(--line-2);
  color:var(--cyan);
  border-radius:var(--radius-pill);
  background:var(--card-glass);
}
.tier-pill{
  border:1px solid rgba(11,114,133,.24)!important;
  background:var(--wash)!important;
  color:var(--cyan);
  border-radius:var(--radius-pill);
}
.gold-btn,.gold,.gold-head,.gold-title{color:#8a6410}

/* 会员中心（member-main / member-nav / member-cards） */
.member-nav{
  padding:6px;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  background:var(--card-glass);
}
.member-nav button{
  border:0;border-radius:var(--radius-pill);
  color:var(--ink3);background:transparent;
}
.member-nav button.active{
  border:0!important;
  background:var(--wash);
  color:var(--cyan);
  font-weight:var(--w-semi);
}
.member-cards article,.dashcards article{border-radius:var(--radius)}
.member-cards small,.dashcards small{color:var(--ink3);letter-spacing:var(--ls-label)}
.member-cards b,.dashcards b{
  color:var(--ink);
  font-weight:var(--w-thin);
  letter-spacing:var(--ls-num);
  font-variant-numeric:tabular-nums;
}
.dashnav button{color:var(--ink3);background:transparent;border:0}
.dashnav button.active{color:var(--cyan);border-bottom:2px solid var(--cyan)}

/* 建议卡（advice-*） */
.advice-grid{gap:14px}
.advice-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--card-glass);
}
.advice-card:before{background:var(--line-3);width:3px}
.advice-card.score-high:before{background:var(--grad)}
.advice-action{color:var(--cyan)}

/* ==========================================================================
   9. 收尾：首页专属响应式（沿用旧断点值）
   ========================================================================== */
@media(max-width:1100px){
  .hero{grid-template-columns:1fr;gap:40px;min-height:auto}
  .stats{grid-template-columns:repeat(2,1fr)}
  .plans{grid-template-columns:1fr 1fr}
  .contact{grid-template-columns:1fr;gap:36px}
  .cards,.dashcards,.member-cards,.advice-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .stats{grid-template-columns:1fr}
  .stats article{border-left:1px solid var(--line);border-right:1px solid var(--line)}
  .plans{grid-template-columns:1fr}
  .cards,.dashcards,.member-cards,.advice-grid{grid-template-columns:1fr}
  .manual-metrics{grid-template-columns:1fr 1fr}
  .ring{width:170px;height:170px}
  .ring strong{font-size:46px}
  .ticks{grid-template-columns:1fr}
  .ticks span{border-right:0!important}
  .benefit-compare table{min-width:720px}
  .bars{letter-spacing:3px}
}
