/* ==========================================================================
   37313 · Base（UI 母版 v1）
   职责：页面底色、容器三档、排版基准、通用链接/按钮/空状态。
   约束：所有选择器都以 .m- 前缀限定，不碰公共 Header/Footer。
   ========================================================================== */

/* ---------- 页面底色：去掉全局径向渐变与厚重阴影，改为纯净深底 ---------- */
body{
  background:var(--m-bg) fixed;
  color:var(--m-text);
  font-family:var(--font);
  font-size:14px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ---------- 容器三档 ----------
   .m-page 是唯一负责居中与左右安全间距的外壳；任何限宽都必须写在内层，
   保证数据区不会因为统一母版被整体压窄。 */
.m-page{
  max-width:var(--shell-max);
  margin:0 auto;
  padding:0 var(--gutter);
}
.m-core{ max-width:var(--home-core-max); }      /* 核心内容区 */
.m-wide{ max-width:100%; }                      /* 数据区，自适应外壳全宽 */
.m-read{ max-width:var(--reading-max); }        /* 阅读区 */

/* ---------- 排版基准 ---------- */
.m-eyebrow{
  font:600 11px/1 var(--mono);
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--m-brand);
}
.m-num{ font-family:var(--mono); font-variant-numeric:tabular-nums; }
.m-muted{ color:var(--m-muted); }
.m-soft{ color:var(--m-soft); }
.m-good{ color:var(--m-good); }
.m-warn{ color:var(--m-warn); }
.m-bad{ color:var(--m-bad); }

/* 标题与正文 */
.m-h1{
  font-size:46px;
  line-height:1.08;
  letter-spacing:-.045em;
  margin:15px 0 18px;
  max-width:730px;
  font-weight:760;
}
.m-h1 span{ color:var(--m-muted); font-weight:550; }
.m-lede{ font-size:16px; color:var(--m-soft); max-width:650px; margin:0; }

/* ---------- 分区节奏 ---------- */
.m-sec{
  padding:var(--sec-pad) 0;
  border-bottom:1px solid var(--m-line-soft);
}
.m-sec:last-of-type{ border-bottom:0; }
.m-sec-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:var(--gap-16); margin-bottom:21px;
}
.m-sec-title{ font-size:20px; margin:0; letter-spacing:-.02em; font-weight:700; }
.m-sec-note{ color:var(--m-muted); font-size:12px; }
.m-more{ color:var(--m-brand); font-size:13px; white-space:nowrap; }
.m-more:hover{ text-decoration:underline; }

/* ---------- 通用链接 / 按钮（母版：圆角只有 7 或 10）---------- */
.m-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:36px; padding:0 14px;
  border:1px solid var(--m-line); background:transparent; color:var(--m-soft);
  border-radius:var(--radius-s); cursor:pointer; white-space:nowrap;
  font-size:13px; font-family:inherit;
}
.m-btn:hover{ border-color:#485868; color:var(--m-text); }
.m-btn-primary{
  border-color:var(--m-brand); background:var(--m-brand);
  color:#07110e; font-weight:680;
}
.m-btn-primary:hover{ border-color:var(--m-brand); color:#07110e; opacity:.92; }
.m-btn-sm{ height:30px; padding:0 11px; font-size:12px; }

/* ---------- 空状态 ---------- */
.m-empty{
  padding:22px 0; color:var(--m-muted); font-size:12px;
  text-align:center; border:1px dashed var(--m-line); border-radius:var(--radius-s);
}

/* ---------- 合作伙伴位（低权重，必须可辨认）----------
   规则：低于正文视觉权重、标明 Partner / Affiliate、不参与评分与排序、禁止首屏大横幅。 */
.m-partner{
  margin-top:26px; padding-top:16px;
  border-top:1px solid var(--m-line-soft);
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--gap-16); flex-wrap:wrap;
  color:var(--m-muted); font-size:11px; line-height:1.7;
}
.m-partner-label{
  display:inline-block; margin-right:8px; padding:1px 6px;
  border:1px solid var(--m-line); border-radius:4px;
  font:600 10px/1.6 var(--mono); letter-spacing:.06em;
  color:var(--m-muted); text-transform:uppercase;
}
.m-partner-item{ color:var(--m-soft); }
.m-partner-item b{ color:var(--m-text); font-weight:600; }
.m-partner a{ color:var(--m-soft); border-bottom:1px solid var(--m-line); }
.m-partner a:hover{ color:var(--m-text); border-bottom-color:var(--m-muted); }
.m-partner-disclose{ color:var(--m-muted); }

/* ---------- 响应式：≤960 一律改为上下排布（母版禁止靠隐藏风险/可信度/更新时间来省空间）---------- */
@media (max-width:960px){
  .m-h1{ font-size:36px; }
  .m-lede{ font-size:15px; }
}
@media (max-width:620px){
  .m-h1{ font-size:35px; }
  .m-sec-head{ display:block; }
  .m-sec-note{ display:block; margin-top:6px; }
}
