/* ==========================================================================
   37313 · 首页（UI 母版 v1）
   模块顺序固定（母版规则 12）：
     今日雷达 → 稳定币理财 → DeFi Radar → 其他机会雷达 → Launch Filter → 知识与研究/My Radar
   本文件只服务首页，不定义任何其他页面会复用的结构。
   ========================================================================== */

/* ============================ ① Hero ============================ */
.m-hero{
  display:grid;
  grid-template-columns:minmax(0,1.32fr) minmax(300px,.68fr);
  gap:70px;
  padding:56px 0 40px;
  border-bottom:1px solid var(--m-line);
}
.m-hero-copy{ min-width:0; }

.m-status{
  margin-top:26px;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  color:var(--m-muted); font-size:12px;
}
.m-status .dot{
  width:7px; height:7px; border-radius:50%; background:var(--m-good);
  flex:0 0 auto;
}
.m-status b{ color:var(--m-good); font-weight:500; }
.m-status .sep{ color:var(--m-line); }

/* Hero 右侧：数据覆盖（真实计数，取代母版演示用的「扫描/通过」漏斗） */
.m-cover{
  align-self:end;
  border-left:1px solid var(--m-line);
  padding-left:32px;
  min-width:0;
}
.m-cover-title{ color:var(--m-muted); font-size:12px; }
.m-cover-grid{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:18px 0; margin:16px 0 18px;
}
.m-cover-item{ border-left:1px solid var(--m-line); padding-left:12px; min-width:0; }
.m-cover-item:nth-child(odd){ border-left-color:var(--m-brand); }
.m-cover-item strong{
  display:block; font:650 var(--m-num-size)/1.2 var(--mono);
  font-variant-numeric:tabular-nums; color:var(--m-text);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.m-cover-item span{ color:var(--m-muted); font-size:11px; }
.m-cover-note{ font-size:13px; color:var(--m-soft); line-height:1.7; }

/* ==================== ② 今日雷达（主信号 + Why it matters） ==================== */
.m-lead{
  display:grid; grid-template-columns:1.42fr .58fr;
  border:1px solid var(--m-line); border-radius:var(--radius);
  overflow:hidden; background:var(--m-surface);
}
.m-feature{ padding:26px 28px; min-width:0; }
.m-feature-top{
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
}
.m-kicker{ color:var(--m-muted); font-size:12px; }
.m-feature-h{ font-size:24px; margin:14px 0 8px; font-weight:700; letter-spacing:-.02em; }
.m-feature-p{ color:var(--m-soft); margin:0 0 22px; max-width:680px; }
.m-feature .m-metrics{
  border-top:1px solid var(--m-line-soft); padding-top:18px;
}
.m-why{
  background:var(--m-surface-2);
  border-left:1px solid var(--m-line);
  padding:26px 24px;
  min-width:0;
}
.m-why-h{
  font-size:12px; color:var(--m-muted); margin:0 0 16px;
  text-transform:uppercase; letter-spacing:.08em; font-weight:600;
}
.m-why .m-more{ display:inline-block; margin-top:14px; }

/* ==================== ③ 稳定币理财（完整独立区域） ==================== */
.m-yield{
  display:grid; grid-template-columns:1.06fr .94fr; gap:0;
  border:1px solid var(--m-line); border-radius:var(--radius); overflow:hidden;
}
.m-yield-main{
  padding:24px 26px; background:var(--m-surface);
  border-top:2px solid var(--m-warn);
  min-width:0;
}
.m-yield-main.is-normal{ border-top-color:var(--m-brand); }
.m-yield-row{
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
}
.m-yield-name{ font-size:16px; font-weight:700; }
.m-yield-sub{ color:var(--m-muted); font-size:11px; margin-top:3px; }
.m-apy{
  font:700 40px/1 var(--mono); letter-spacing:-.06em;
  font-variant-numeric:tabular-nums; text-align:right;
}
.m-apy.is-warn{ color:var(--m-warn); }
.m-apy-cap{ color:var(--m-muted); font-size:11px; margin-top:4px; text-align:right; }

/* 收益拆解条 */
.m-split{ margin-top:22px; }
.m-bar{ display:flex; height:7px; border-radius:8px; overflow:hidden; background:#27313b; }
.m-bar i{ display:block; height:100%; }
.m-bar i.base{ background:var(--m-good); }
.m-bar i.promo{ background:var(--m-warn); }
.m-bar i.unknown{ background:#3a4652; }
/* D0-1（需求七）：拆分未核验时的中性未确定态 —— 不表达任何 Base 占比 */
.m-bar-unverified i.unknown{
  flex:1 1 auto; width:auto;
  background:repeating-linear-gradient(45deg,#3a4652 0 6px,#333e49 6px 12px);
}
.m-legend{
  display:flex; gap:18px; flex-wrap:wrap;
  margin-top:10px; color:var(--m-muted); font-size:11px;
}
.m-legend b{ color:var(--m-text); font-family:var(--mono); font-weight:600; }
.m-split-cap{ color:var(--m-warn); font-weight:600; }
.m-split-note{ margin-top:10px; font-size:12px; color:var(--m-soft); line-height:1.7; }

/* D0-1：DeFi 机会公开准入未通过时的说明态（替代原机会卡列表） */
.m-gate{
  display:flex; flex-direction:column; gap:9px;
  background:var(--m-surface-2); border:1px dashed var(--m-line);
  border-radius:10px; padding:20px 22px;
}
.m-gate b{ font-size:14px; font-weight:700; color:var(--m-text); }
.m-gate p{ margin:0; font-size:12px; color:var(--m-soft); line-height:1.75; }
.m-gate span{ font-size:11px; color:var(--m-muted); }

.m-verdict{
  background:var(--m-surface-2);
  border-left:1px solid var(--m-line);
  padding:24px 24px;
  min-width:0;
}
.m-verdict-title{ font-size:12px; color:var(--m-muted); }
.m-verdict strong{
  display:block; margin:8px 0 10px;
  font-size:16px; line-height:1.5; color:var(--m-warn); font-weight:700;
}
.m-verdict p{ margin:0 0 18px; font-size:13px; color:var(--m-soft); line-height:1.75; }

/* ==================== ④ DeFi Radar（市场环境 + 可参与机会） ==================== */
.m-defi{
  display:grid; grid-template-columns:.78fr 1.22fr;
  border:1px solid var(--m-line); border-radius:var(--radius); overflow:hidden;
}
.m-pulse{ padding:24px 26px; background:var(--m-surface-2); min-width:0; }
.m-pulse-v{
  font:700 38px/1.15 var(--mono); margin:12px 0 2px;
  letter-spacing:-.04em; font-variant-numeric:tabular-nums;
}
.m-pulse-c{ font:600 13px var(--mono); }
.m-pulse-list{ margin-top:22px; }
.m-pulse-row{
  display:flex; justify-content:space-between; gap:14px;
  padding:10px 0; border-top:1px solid var(--m-line-soft);
  color:var(--m-soft); font-size:12px;
}
.m-pulse-row b{ font-family:var(--mono); color:var(--m-text); font-weight:600; }
.m-defi-rows{ background:var(--m-surface); min-width:0; }
.m-drow{
  display:grid; grid-template-columns:1.5fr .7fr .95fr .6fr;
  align-items:center; gap:10px;
  padding:16px 20px; border-top:1px solid var(--m-line-soft);
}
.m-drow:first-child{ border-top:0; }
.m-drow.head{
  font-size:11px; color:var(--m-muted);
  background:transparent; border-bottom:1px solid var(--m-line); padding-bottom:12px;
}
.m-proto{ font-weight:650; min-width:0; }
.m-proto small{ display:block; color:var(--m-muted); font-weight:400; margin-top:1px; }
.m-src{ font-size:11px; color:var(--m-muted); line-height:1.6; }
.m-src b{ color:var(--m-text); font-family:var(--mono); font-weight:600; }

/* ==================== ⑤ 其他机会雷达（交易所 / Web3 / 钱包） ==================== */
.m-signals{
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--m-line); border-radius:var(--radius); overflow:hidden;
}
.m-signal{
  padding:22px; background:var(--m-surface);
  border-left:1px solid var(--m-line); min-width:0;
}
.m-signal:first-child{ border-left:0; }
.m-signal-type{
  font-size:11px; color:var(--m-muted);
  text-transform:uppercase; letter-spacing:.08em;
}
.m-signal-h{ font-size:17px; margin:16px 0 5px; font-weight:700; }
.m-big{ font:700 26px/1.2 var(--mono); font-variant-numeric:tabular-nums; }
.m-signal-p{ color:var(--m-soft); font-size:12px; margin:12px 0 0; line-height:1.7; }
.m-meta{
  display:flex; justify-content:space-between; gap:12px;
  margin-top:18px; color:var(--m-muted); font-size:11px;
}
.m-meta a{ color:var(--m-brand); }

/* ==================== ⑥ Launch Filter ==================== */
.m-qual{ border:1px solid var(--m-line); border-radius:var(--radius); overflow:hidden; }
.m-qual .m-table{ font-size:13px; }
.m-qual .m-table th:first-child, .m-qual .m-table td:first-child{ padding-left:18px; }
.m-qual .m-table th:last-child, .m-qual .m-table td:last-child{ padding-right:18px; }
.m-qual .m-table thead th{ padding-top:14px; background:transparent; }
.m-qual .m-table tbody tr{ background:var(--m-surface); }
.m-suff{ display:inline-flex; gap:3px; vertical-align:middle; }
.m-suff i{ width:6px; height:6px; border-radius:1px; background:#3a4652; display:block; }
.m-suff i.on{ background:var(--m-brand); }

/* ==================== ⑦ 知识与研究 / My Radar ==================== */
.m-intel{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.m-brief{ padding:0 0 18px; border-bottom:1px solid var(--m-line-soft); }
.m-brief:last-child{ border-bottom:0; padding-bottom:0; }
.m-brief time{ font:500 11px var(--mono); color:var(--m-muted); }
.m-brief h3{ font-size:16px; margin:9px 0 6px; font-weight:650; }
.m-brief p{ font-size:13px; color:var(--m-soft); margin:0; line-height:1.7; }
.m-alertbox{
  background:var(--m-surface); border:1px solid var(--m-line);
  border-radius:var(--radius); padding:24px;
}
.m-alertbox h3{ margin:0 0 8px; font-size:17px; font-weight:700; }
.m-alertbox p{ margin:0; color:var(--m-soft); font-size:13px; line-height:1.75; }
.m-channels{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.m-channel{
  border:1px solid var(--m-line); padding:8px 12px; border-radius:var(--radius-s);
  color:var(--m-soft); font-size:12px;
}
.m-alertbox .m-btn{ margin-top:18px; }

/* ============================ 响应式 ============================
   母版硬约束：不得因为移动端空间不足而隐藏风险 / 可信度 / 更新时间，一律改成上下排布。 */
@media (max-width:1100px){
  .m-hero{ gap:40px; }
  .m-yield{ grid-template-columns:1fr; }
  .m-yield-main{ border-radius:0; }
  .m-verdict{ border-left:0; border-top:1px solid var(--m-line); }
  .m-defi{ grid-template-columns:1fr; }
  .m-drow{ grid-template-columns:1.5fr .7fr .95fr .55fr; padding:14px 16px; }
}
@media (max-width:960px){
  .m-hero{ grid-template-columns:1fr; gap:34px; padding:40px 0 32px; }
  .m-cover{ border-left:0; border-top:1px solid var(--m-line); padding:24px 0 0; }
  .m-lead{ grid-template-columns:1fr; }
  .m-why{ border-left:0; border-top:1px solid var(--m-line); }
  .m-signals{ grid-template-columns:1fr; }
  .m-signal{ border-left:0; border-top:1px solid var(--m-line); }
  .m-signal:first-child{ border-top:0; }
  .m-intel{ grid-template-columns:1fr; gap:28px; }
  /* 宽表允许横向滚动，但不压缩列、不隐藏风险与可信度 */
  .m-qual, .m-defi-rows, .m-table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .m-qual .m-table, .m-defi-rows .m-drow{ min-width:640px; }
}
@media (max-width:620px){
  .m-hero{ padding-top:32px; }
  .m-feature{ padding:22px 20px; }
  .m-feature-h{ font-size:20px; }
  .m-score{ font-size:32px; }
  .m-yield-main, .m-verdict, .m-pulse{ padding:20px 18px; }
  .m-apy{ font-size:32px; }
  .m-pulse-v{ font-size:30px; }
  .m-signal{ padding:20px 18px; }
  .m-drow{ grid-template-columns:1.4fr .6fr .9fr; }
  .m-drow > *:nth-child(4){ display:none; }
  .m-apy, .m-apy-cap{ text-align:left; }
  .m-yield-row{ display:block; }
  .m-yield-row .m-apy{ margin-top:14px; }
}
