/* 报告页（涨停复盘 / TOP3 复盘 / 详情页）浅色 SaaS 组件。
   依赖 home-saas.css 提供的设计 token 与共享原子（.nav/.logo/.brand/.live/.tag/.rb/.h5-top/.h5-bar/.site-toast）。
   仅展示，不含任何打分/排序逻辑。 */

body.rpage-body{background:var(--bg);min-height:100vh;overflow-x:hidden;}
.rpage{max-width:1240px;margin:0 auto;padding:14px 18px 96px;}
.rlayout,.rmain{min-width:0;}
.rtr > span,.rtr > div{min-width:0;}

/* 顶栏（复用 .fr.top + .nav，补独立高度） */
.rtop{height:58px;margin-bottom:14px;}

/* 两栏布局 */
.rlayout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start;}
@media (max-width:1000px){.rlayout{grid-template-columns:1fr;}}

/* 区块卡 */
.rsec{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:14px;
  box-shadow:0 1px 2px rgba(20,30,60,.04),0 6px 18px rgba(20,30,60,.04);}
.rsec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;}
.rsec-h h3{font-size:16px;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:7px;}
.rsec-h h3 .tab{width:3px;height:14px;border-radius:2px;background:var(--blue);}
.rsec-h .meta{font-size:11.5px;color:var(--ink3);white-space:nowrap;}
.rempty{background:var(--card);border:1px dashed var(--line2);border-radius:12px;padding:22px;text-align:center;color:var(--ink3);font-size:12.5px;}
.rsec-note{font-size:11.5px;color:var(--ink2);line-height:1.6;margin:-2px 0 12px;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:8px 11px;}

/* 海报头 */
.rhero{background:linear-gradient(135deg,#fff,#f4f7fd);border:1px solid var(--line);border-radius:16px;
  padding:22px 24px;margin-bottom:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
.rhero h2{font-size:22px;font-weight:900;color:var(--ink);line-height:1.25;}
.rhero p{font-size:12.5px;color:var(--ink2);margin-top:8px;line-height:1.6;max-width:640px;}
.rhero-date{flex:none;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 16px;}
.rhero-date b{font-family:var(--num);font-size:20px;font-weight:700;color:var(--blue);display:block;}
.rhero-date small{font-size:10px;color:var(--ink3);}
.rhero-date .rfresh{display:inline-block;margin-top:6px;font-size:10px;font-weight:700;padding:2px 9px;border-radius:20px;border:1px solid currentColor;line-height:1.4;}
.rhero-date .rfresh.ok{color:var(--green);}
.rhero-date .rfresh.stale{color:var(--gold);}

/* 指标条 */
.rmetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;}
.rmetric{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px 16px;box-shadow:0 1px 2px rgba(20,30,60,.03);}
.rmetric span{font-size:12px;color:var(--ink2);font-weight:600;}
.rmetric strong{font-family:var(--num);font-size:30px;font-weight:700;display:block;line-height:1;margin:7px 0 5px;color:var(--ink);}
.rmetric small{font-size:10.5px;color:var(--ink3);}
.rmetric-hot strong{color:var(--red);}
.rmetric-cool strong{color:var(--green);}
.rmetric-neutral strong{color:var(--blue);}

/* 最强主线 strip */
.rleaders{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;}
.rleader{background:linear-gradient(180deg,rgba(240,153,27,.07),#fff 70%);border:1px solid rgba(240,153,27,.3);
  border-radius:13px;padding:14px 16px;}
.rleader span{font-family:var(--num);font-size:11px;font-weight:800;color:var(--gold);}
.rleader b{display:block;font-size:16px;font-weight:800;color:var(--ink);margin:4px 0 5px;}
.rleader small{font-size:11px;color:var(--ink3);}

/* 通用 chip 行 / 卡 */
.rcards3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.rcard{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px;}
.rcard .top{display:flex;align-items:center;gap:9px;margin-bottom:8px;}
.rcard .bignum{font-family:var(--num);font-size:14px;font-weight:700;color:var(--purple);}
.rcard b.nm{font-size:14.5px;font-weight:800;color:var(--ink);}
.rcard small{font-size:10.5px;color:var(--ink3);}
.rcard p{font-size:11px;color:var(--ink2);line-height:1.55;margin-top:6px;}
.rcard em{font-style:normal;font-family:var(--num);font-weight:700;color:var(--blue);font-size:12px;}

/* 报告表格（题材强度 / 算法 TOP3） */
.rtable{width:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.rtr{display:grid;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;}
.rtr + .rtr{border-top:1px solid var(--line);}
.rtr.head{background:var(--soft);font-size:10.5px;font-weight:700;color:var(--ink3);}
.rtr .nm{font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rtr .co{font-family:var(--num);font-size:10.5px;color:var(--ink3);}
.rtr .num{font-family:var(--num);}
.tcols-topic{grid-template-columns:30px 1.3fr 70px 52px 78px 64px 1fr;}
.tcols-topic .topic-nm{display:flex;align-items:center;gap:8px;white-space:normal;overflow:visible;text-overflow:clip;min-width:0;}
.tcols-topic .topic-nm b{font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.tcols-pick{grid-template-columns:40px 1.4fr 1.3fr 72px 90px 56px;}
.score-bar{position:relative;height:6px;border-radius:3px;background:#e7ecf5;overflow:hidden;margin-top:4px;}
.score-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--blue);border-radius:3px;}
.trend{display:inline-flex;align-items:flex-end;gap:2px;height:18px;}
.trend i{width:3px;background:var(--blue);border-radius:1px;opacity:.7;}
.up{color:var(--red);}.dn{color:var(--green);}

/* 题材代表股 chips */
.rchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.rchip{display:inline-flex;align-items:center;gap:5px;background:var(--card);border:1px solid var(--line);
  border-radius:8px;padding:4px 9px;font-size:11px;}
.rchip strong{font-weight:700;color:var(--ink);}
.rchip small{font-family:var(--num);color:var(--ink3);}
.rchip b{font-size:9.5px;color:var(--blue);font-weight:700;}

/* 观察池 / 梯队 / 信号 / 规则 两栏 */
.rtwo{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:760px){.rtwo{grid-template-columns:1fr;}}
.rwatch{display:grid;gap:9px;}
.rwatch article{background:var(--soft);border:1px solid var(--line);border-radius:11px;padding:11px 13px;}
.rwatch strong{font-size:13.5px;font-weight:700;color:var(--ink);}
.rwatch span{font-size:11px;color:var(--ink3);display:block;margin:3px 0;}
.rwatch p{font-size:11px;color:var(--ink2);line-height:1.5;}
.rladder{display:grid;gap:8px;}
.rladder div{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;background:var(--soft);
  border:1px solid var(--line);border-radius:10px;padding:9px 12px;}
.rladder strong{font-family:var(--num);font-size:14px;font-weight:800;color:var(--gold);}
.rladder span{font-size:12px;color:var(--ink2);line-height:1.5;}
.rkv{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.rkv div{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:11px 13px;}
.rkv span{font-size:11px;color:var(--ink3);}
.rkv strong{font-family:var(--num);font-size:18px;font-weight:700;color:var(--ink);display:block;margin-top:3px;}
.rrules{display:grid;gap:8px;margin:0;padding:0;list-style:none;}
.rrules li{font-size:12px;color:var(--ink2);line-height:1.55;padding-left:16px;position:relative;}
.rrules li::before{content:"";position:absolute;left:3px;top:7px;width:5px;height:5px;border-radius:50%;background:var(--gold);}

/* TOP3 表现卡 */
.rtrades{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media (max-width:760px){.rtrades{grid-template-columns:1fr;}}
.rtrade{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px;}
.rtrade-h{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px;}
.rtrade-h strong{font-size:14.5px;font-weight:800;color:var(--ink);}
.rtrade-h small{font-size:10.5px;color:var(--ink3);display:block;margin-top:2px;}
.rtrade-h b{flex:none;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:7px;background:rgba(59,108,246,.1);color:var(--blue);}
.rtrade-ret{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:9px;}
.rtrade-ret span{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px;text-align:center;font-size:10px;color:var(--ink3);}
.rtrade-ret b{font-family:var(--num);font-size:14px;font-weight:700;display:block;margin-top:2px;color:var(--ink);}
.rtrade p{font-size:11px;color:var(--ink2);line-height:1.5;}
.rtags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.rtags span{font-size:10px;color:var(--ink2);background:#eef1f7;border-radius:6px;padding:3px 8px;}

/* 侧栏 */
.raside .rsec{margin-bottom:14px;}
.rhist{display:grid;gap:7px;}
.rhist a{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--soft);
  border:1px solid var(--line);border-radius:10px;padding:10px 12px;transition:.15s;}
.rhist a:hover{border-color:var(--blue);background:#fff;}
.rhist .d{font-family:var(--num);font-size:13px;font-weight:700;color:var(--ink);}
.rhist .t{font-size:10px;color:var(--ink3);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rnote p{font-size:10.5px;color:var(--ink3);line-height:1.7;}
.rnote .warn{color:var(--gold);}
.rfoot{text-align:center;font-size:10.5px;color:var(--ink3);padding:18px;line-height:1.6;}
.rfoot a{color:var(--blue);}

/* 题材表移动端：≤760 用卡片 */
.rtopic-mobile{display:none;}
@media (max-width:760px){
  .rtable.rtopic-desktop{display:none;}
  .rtopic-mobile{display:grid;gap:9px;}
  .rtopic-mcard{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:12px;}
  .rtopic-mhead{display:flex;align-items:center;gap:9px;margin-bottom:7px;}
  .rtopic-mhead b{font-size:14px;font-weight:800;color:var(--ink);}
  .rtopic-mstats{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--ink3);}
  .rtopic-mstats b{color:var(--ink);font-family:var(--num);}
  .rmetrics{grid-template-columns:1fr 1fr;}
  .rleaders{grid-template-columns:1fr;}
  .rcards3{grid-template-columns:1fr;}
  .rhero{flex-direction:column;}
  .rhero h2{font-size:19px;}
  /* 手机：顶部 7 项导航隐藏，由底部 Tab Bar 代替；顶栏紧凑 */
  .rtop{height:auto;padding:11px 14px;}
  .rtop .nav{display:none;}
  .rtop .live{margin-left:auto;}
  .rpage{padding:12px 14px 88px;}
  /* 算法 TOP3：手机端精简为 排名/名称/涨幅/评分，隐藏题材+封板资金 */
  .tcols-pick{grid-template-columns:34px 1fr 66px 48px;}
  .tcols-pick > :nth-child(3),.tcols-pick > :nth-child(5){display:none;}
}

/* ── 双 TOP3 对比区块 ── */
.rcompare .cmp-agg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}
.cmp-tbl{width:100%;border-collapse:collapse;font-size:12px}
.cmp-tbl th,.cmp-tbl td{padding:4px 6px;border-bottom:1px solid var(--line,#eee);text-align:right;white-space:nowrap}
.cmp-tbl th:first-child,.cmp-tbl td:first-child,.cmp-tbl .cmp-nm{text-align:left}
.cmp-tbl .up{color:var(--red,#e53)}.cmp-tbl .down{color:var(--green,#0a8)}.cmp-tbl .flat{color:var(--muted,#999)}
.cmp-daily{margin-top:10px;overflow-x:auto}
.rcompare .cmp-agg>.cmp-tbl{overflow-x:auto;display:block}
.cmp-featured{background:var(--blue-50,#eff4ff);border:1px solid var(--blue,#2563eb);border-radius:8px;padding:8px 10px;margin:8px 0 14px}
.cmp-featured>h4{margin:0 0 4px;display:flex;align-items:center;gap:6px}
.cmp-badge{display:inline-block;background:var(--blue,#2563eb);color:#fff;font-size:11px;padding:1px 6px;border-radius:4px}
.cmp-agg-one{grid-template-columns:1fr!important}
.cmp-cmp-h{margin:10px 0 4px}
@media(max-width:760px){.rcompare .cmp-agg{grid-template-columns:1fr}.rcompare .cmp-tbl{font-size:11px}.rcompare .cmp-tbl th,.rcompare .cmp-tbl td{padding:3px 4px}}
