
  /* ---------- shared Research-Reports chrome ---------- */
  * { box-sizing:border-box; }
  body { background:var(--bg); color:var(--text); font:14px/1.6 -apple-system,"Segoe UI",Roboto,Helvetica,sans-serif; margin:0; padding:18px 18px 60px; }
  @media(min-width:1100px){ body{ padding-left:max(18px,calc((100vw - 1096px)/2)); padding-right:max(18px,calc((100vw - 1096px)/2)); } }
  a { color:var(--link); text-decoration:none; }
  .wrap { max-width:1060px; margin:0 auto; }
  /* unambiguous move colours (NOT tied to the zh red=up swap) */
  .r-neg { color:#d23f3f; font-weight:600; }
  .r-pos { color:#1f9a55; font-weight:600; }
  html[data-theme="dark"] .r-neg { color:#ef6a6a; }
  html[data-theme="dark"] .r-pos { color:#3fc07e; }
  .mut { color:var(--muted); }
  /* tags / chips */
  .chip { display:inline-flex; align-items:center; gap:5px; font-size:11.5px; line-height:1; padding:5px 10px; border-radius:999px;
          background:var(--panel2); border:1px solid var(--line); color:var(--muted); white-space:nowrap; }
  .chip.tag-macro   { color:#5b8def; border-color:#5b8def55; }
  .chip.tag-fed     { color:#c77dff; border-color:#c77dff55; }
  .chip.tag-rates   { color:#3fb6c0; border-color:#3fb6c055; }
  .chip.tag-equities{ color:#46b87a; border-color:#46b87a55; }
  .chip.tag-crypto  { color:#e0973a; border-color:#e0973a55; }
  .chip.tag-energy  { color:#cf7b3a; border-color:#cf7b3a55; }
  .chip.tag-event   { color:#e0607a; border-color:#e0607a55; }
  .chip.tag-ai      { color:#b48ead; border-color:#b48ead55; }
  .chip.tag-china   { color:#d0554f; border-color:#d0554f55; }
  .chip.tag-credit  { color:#d08770; border-color:#d0877055; }
  footer.rfoot { color:var(--muted); font-size:11.5px; margin:46px auto 0; max-width:1060px; border-top:1px solid var(--line); padding-top:14px; }
  
  .rd-hero { max-width:1060px; margin:18px auto 0; }
  .rd-hero .eyebrow { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--link); font-weight:600; margin:0 0 8px; }
  .rd-hero h1 { font-size:29px; margin:0 0 8px; letter-spacing:-.01em; }
  html[data-lang="zh"] .rd-hero h1 { letter-spacing:0; }
  .rd-hero .lens { font-size:12px; color:var(--muted); }
  .rd-wrap { max-width:1060px; margin:0 auto; }
  h2.sec { font-size:19px; margin:28px 0 8px; border-top:1px solid var(--line); padding-top:18px; display:flex; align-items:baseline; gap:9px; }
  .callout { border-radius:12px; padding:13px 16px; margin:14px 0; border:1px solid var(--line); background:var(--panel2); font-size:13.5px; line-height:1.6; }
  .dcards { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:12px; margin:12px 0; }
  .dcard { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:14px 16px; border-left:4px solid var(--line); }
  .dcard.positive { border-left-color:#1f9a55; }
  .dcard.negative { border-left-color:#d23f3f; }
  html[data-lang="zh"] .dcard.positive { border-left-color:#d23f3f; }
  html[data-lang="zh"] .dcard.negative { border-left-color:#1f9a55; }
  .dcard .hd { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:6px; }
  .sgn { font-size:10px; font-weight:800; padding:2px 8px; border-radius:6px; text-transform:uppercase; letter-spacing:.03em; }
  .sgn.positive { color:#1f9a55; background:color-mix(in srgb,#1f9a55 13%,transparent); }
  .sgn.negative { color:#d23f3f; background:color-mix(in srgb,#d23f3f 13%,transparent); }
  html[data-lang="zh"] .sgn.positive { color:#d23f3f; background:color-mix(in srgb,#d23f3f 13%,transparent); }
  html[data-lang="zh"] .sgn.negative { color:#1f9a55; background:color-mix(in srgb,#1f9a55 13%,transparent); }
  .dcard .pair { font-weight:700; font-size:14px; }
  .dcard .det { font-size:12px; color:var(--muted); margin:5px 0; }
  .dcard .rs { font-size:12px; font-variant-numeric:tabular-nums; }
  .dcard .hyp { font-size:12.5px; line-height:1.5; border-left:2px solid var(--link); padding-left:9px; margin-top:8px; opacity:.92; }
  .dcard .cvx { margin-left:auto; font-size:13px; font-weight:800; font-variant-numeric:tabular-nums; color:var(--link); }
  .dcard .cand { font-size:11.5px; color:var(--muted); margin-top:7px; }
  .dcard .hd { justify-content:flex-start; }
  .strength { height:5px; border-radius:3px; background:var(--panel2); overflow:hidden; margin-top:8px; }
  .strength > i { display:block; height:100%; background:var(--link); }
  .inline-list { display:flex; flex-wrap:wrap; gap:7px; margin:8px 0; }
  .ichip { font-size:11.5px; padding:4px 10px; border-radius:999px; background:var(--panel2); border:1px solid var(--line); color:var(--muted); }
  table.data { border-collapse:collapse; width:100%; font-size:12.5px; margin:10px 0; }
  table.data th { text-align:left; padding:7px 9px; background:var(--panel2); color:var(--muted); font-weight:600; border-bottom:2px solid var(--line); }
  table.data td { padding:7px 9px; border-bottom:1px solid var(--line); }
  .b-hit{color:#1f9a55}.b-miss{color:#d23f3f}.b-open{color:var(--muted)}
  .r-pos{color:#1f9a55}.r-neg{color:#d23f3f}
  html[data-lang="zh"] .r-pos{color:#d23f3f}
  html[data-lang="zh"] .r-neg{color:#1f9a55}
  html[data-theme="dark"][data-lang="zh"] .r-pos{color:#ff6b6b}
  html[data-theme="dark"][data-lang="zh"] .r-neg{color:#4cd98a}
  .led-stat { display:flex; gap:18px; flex-wrap:wrap; margin:8px 0; font-size:13px; color:var(--muted); }
  .led-stat b { color:var(--text); font-size:17px; }
  .disc { font-size:11.5px; color:var(--muted); margin-top:12px; line-height:1.55; }

