
  /* ---------- 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(--ink-link, 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; }
  /* XG-W7 follow line — its own row, never appended to the disclaimer sentence:
     a legal notice and a marketing CTA must not read as one thought. */
  footer.rfoot .rf-x { display:inline-flex; align-items:center; gap:6px; margin-top:11px; padding:4px 10px;
    border-radius:100px; border:1px solid var(--line); color:var(--muted); font-size:11px; font-weight:600;
    transition:color .16s, border-color .16s; }
  footer.rfoot .rf-x:hover { color:var(--text); border-color:color-mix(in srgb,var(--text) 26%,transparent); }
  
  /* ---- China desk signature accents (brand, NOT direction — never ZH-swapped) ---- */
  /* --cad-gold/--cad-verm are the desk's signature hues and are printed as the eyebrow,
     the section numerals and the c-gold column — 1.88:1 and 4.05:1 on the light
     surfaces. Fill grade stays for chips and rails; *-ink is the text grade, dark
     byte-identical. */
  .cad { --cad-verm:#c8452e; --cad-gold:#d9a441;
         --cad-verm-ink:#c8452e; --cad-gold-ink:#d9a441; max-width:1080px; margin:0 auto; }
  html[data-theme="light"] .cad { --cad-verm-ink:#a83a26; --cad-gold-ink:#8a5c00; }
  .cad :is(h1,h2,h3){ font-family:var(--font-ui,inherit); }

  /* ---- editorial hero ---- */
  .cad-hero{ position:relative; overflow:hidden; border-radius:20px; margin:14px 0 6px;
    padding:22px 24px 20px; background:var(--glass-bg,var(--panel)); border:1px solid var(--glass-brd,var(--line));
    backdrop-filter:var(--glass-blur); box-shadow:var(--glass-shadow,0 18px 48px -24px rgba(3,7,18,.6)); }
  .cad-hero::before{ content:""; position:absolute; left:0; right:0; top:0; height:2px;
    background:linear-gradient(90deg,var(--cad-verm),var(--cad-gold) 60%,transparent); opacity:.9; }
  .cad-eyebrow{ font:600 11px/1 var(--font-ui); letter-spacing:.16em; text-transform:uppercase; color:var(--cad-gold-ink,var(--cad-gold)); margin:0 0 9px; display:flex; align-items:center; gap:8px; }
  .cad-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--cad-verm); box-shadow:0 0 8px var(--cad-verm); }
  .cad-h1{ font-size:30px; line-height:1.1; letter-spacing:-.015em; margin:0 0 8px; font-weight:800; }
  html[data-lang="zh"] .cad-h1{ letter-spacing:0; }
  .cad-dek{ font-size:13.5px; line-height:1.55; color:var(--muted); max-width:62ch; margin:0 0 4px; }

  /* ---- tape gauge row ---- */
  .cad-tape{ display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:center; margin:16px 0 4px; }
  .cad-gauge{ --g:var(--warn); width:200px; flex:none; }
  .cad-gauge-green{ --g:var(--up); } .cad-gauge-yellow{ --g:var(--warn); } .cad-gauge-red{ --g:var(--down); }
  .cad-gauge .g-arcwrap{ position:relative; }
  .cad-gauge svg{ width:100%; height:auto; display:block; }
  .cad-gauge .arc-track{ stroke:var(--line); }
  .cad-gauge .arc-fill{ stroke:var(--g); transition:stroke .3s; }
  .cad-gauge .g-needle{ stroke:var(--g); }
  .cad-gauge .g-needle circle{ fill:var(--g); }
  .cad-gauge .g-score{ position:absolute; left:0; right:0; bottom:0; text-align:center; font-size:27px;
    font-weight:800; color:var(--g); font-variant-numeric:tabular-nums; letter-spacing:-.02em; line-height:1; }
  .cad-gauge .g-anchors{ display:flex; justify-content:space-between; font-size:9px; letter-spacing:.03em;
    color:var(--muted); margin-top:4px; padding:0 3px; text-transform:uppercase; }
  .cad-tape-read .word{ font-size:26px; font-weight:800; letter-spacing:-.01em; margin:0; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
  .cad-tape-read .word .g-word{ color:var(--g,var(--text)); }
  .cad-tape-read .stance-line{ font-size:14px; line-height:1.5; color:var(--text); margin:7px 0 10px; max-width:56ch; }
  .cad-metrows{ display:flex; flex-wrap:wrap; gap:7px; align-items:center; }

  /* ---- hero trajectory sparkline (ilx waterline) ---- */
  .cad-spark{ margin:16px 0 2px; }
  .cad-spark-lab{ font-size:11.5px; color:var(--muted); margin:0 0 3px; display:flex; gap:8px; align-items:baseline; }
  .cad-spark-lab b{ color:var(--text); font-weight:600; font-size:12px; }
  .cad-spark .ilx{ margin:0; }

  /* ---- stance pill (Law 1 — every panel answers "so what do I do") ---- */
  .cad-stance{ display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700;
    padding:4px 11px; border-radius:999px; letter-spacing:.01em; white-space:nowrap;
    background:color-mix(in srgb,var(--sc,var(--muted)) 14%,transparent);
    color:color-mix(in srgb,var(--sc,var(--muted)) 90%,var(--text));
    border:1px solid color-mix(in srgb,var(--sc,var(--muted)) 34%,transparent); }
  .st-act{ --sc:var(--up); } .st-ready{ --sc:var(--info); } .st-watch{ --sc:var(--warn); }
  .st-protect{ --sc:var(--orange,#e08b45); } .st-aside{ --sc:var(--down); } .st-context{ --sc:var(--muted); }

  /* ---- small tinted chips ---- */
  .cad-chip{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; padding:3px 9px;
    border-radius:100px; white-space:nowrap; background:var(--panel2); border:1px solid var(--line); color:var(--muted); }
  .cad-chip.c-up{ color:var(--ink-up, var(--up)); border-color:color-mix(in srgb,var(--up) 30%,transparent); background:color-mix(in srgb,var(--up) 11%,transparent); }
  .cad-chip.c-down{ color:var(--ink-down, var(--down)); border-color:color-mix(in srgb,var(--down) 30%,transparent); background:color-mix(in srgb,var(--down) 11%,transparent); }
  .cad-chip.c-warn{ color:var(--ink-warn, var(--warn)); border-color:color-mix(in srgb,var(--warn) 32%,transparent); background:color-mix(in srgb,var(--warn) 12%,transparent); }
  .cad-chip.c-gold{ color:var(--cad-gold-ink,var(--cad-gold)); border-color:color-mix(in srgb,var(--cad-gold) 40%,transparent); background:color-mix(in srgb,var(--cad-gold) 12%,transparent); }
  .cad-chip.c-info{ color:var(--ink-info, var(--info)); border-color:color-mix(in srgb,var(--info) 30%,transparent); background:color-mix(in srgb,var(--info) 11%,transparent); }

  /* ---- jump nav (homepage index) ---- */
  .cad-jump{ display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 2px; }
  .cad-jump a{ font-size:12px; font-weight:600; color:var(--muted); padding:6px 12px; border-radius:999px;
    border:1px solid var(--line); background:var(--panel2); transition:color .15s,border-color .15s; }
  .cad-jump a:hover{ color:var(--text); border-color:color-mix(in srgb,var(--cad-gold) 45%,var(--line)); }

  /* ---- section header ---- */
  .cad-sec{ margin:34px 0 0; }
  .cad-sec-head{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:20px; }
  .cad-sec-n{ font:700 12px/1 var(--font-mono,monospace); color:var(--cad-gold-ink,var(--cad-gold)); letter-spacing:.06em; }
  .cad-sec h2{ font-size:21px; font-weight:800; letter-spacing:-.01em; margin:0; }
  .cad-sec-count{ font-size:12px; color:var(--muted); font-weight:600; }
  .cad-sec-intro{ font-size:13px; line-height:1.55; color:var(--muted); margin:8px 0 0; max-width:66ch; }
  .cad-sec-bar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:10px 0 2px; }

  /* ---- glass cards + grids ---- */
  .cad-card{ position:relative; overflow:hidden; background:var(--glass-bg,var(--panel)); border:1px solid var(--glass-brd,var(--line));
    border-radius:15px; backdrop-filter:var(--glass-blur); box-shadow:var(--glass-shadow,0 10px 30px -18px rgba(3,7,18,.5)); padding:16px 18px; }
  .cad-card::before{ content:""; position:absolute; inset:0; border-radius:15px; pointer-events:none;
    background:linear-gradient(135deg,rgba(255,255,255,.045),transparent 55%); }
  .cad-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:14px; margin:14px 0; }
  .cad-card h3{ font-size:13px; margin:0 0 4px; font-weight:700; display:flex; align-items:center; gap:7px; }
  .cad-card .sub{ font-size:11.5px; color:var(--muted); margin:0 0 10px; line-height:1.5; }

  /* ---- data table ---- */
  table.cad-tbl{ border-collapse:collapse; width:100%; font-size:12.5px; margin:12px 0 4px; }
  table.cad-tbl th{ text-align:left; padding:8px 10px; color:var(--muted); font-weight:600; font-size:11px;
    text-transform:uppercase; letter-spacing:.04em; border-bottom:1px solid var(--line); white-space:nowrap; }
  table.cad-tbl td{ padding:8px 10px; border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent); vertical-align:middle; }
  table.cad-tbl tbody tr:hover{ background:color-mix(in srgb,var(--cad-gold) 6%,transparent); }
  table.cad-tbl td.num{ text-align:right; font-variant-numeric:tabular-nums; }
  .cad-nm{ font-weight:600; }
  .cad-tk{ font:11px/1 var(--font-mono,monospace); color:var(--muted); }
  .conv{ font-weight:800; font-variant-numeric:tabular-nums; }
  .cvband{ font-size:10px; font-weight:700; padding:2px 7px; border-radius:6px; white-space:nowrap;
    background:color-mix(in srgb,var(--cb,var(--muted)) 13%,transparent); color:color-mix(in srgb,var(--cb,var(--muted)) 92%,var(--text)); }
  .cvband.cv-pos{ --cb:var(--up); } .cvband.cv-neg{ --cb:var(--down); }
  .flag{ font-size:10px; font-weight:700; padding:2px 7px; border-radius:6px; color:var(--ink-warn, var(--warn));
    background:color-mix(in srgb,var(--warn) 13%,transparent); white-space:nowrap; }

  /* ---- the SEAL-STRIP signature (7 independent feeds, lit by contribution sign) ---- */
  .cad-seal{ display:inline-flex; gap:3px; align-items:center; }
  .cad-seal i{ width:8px; height:18px; border-radius:2px; display:block; }
  .cad-seal .sc-pos{ background:var(--up); }
  .cad-seal .sc-neg{ background:var(--down); }
  .cad-seal .sc-neu{ background:var(--muted); opacity:.45; }
  .cad-seal .sc-off{ background:var(--line); opacity:.7; }
  .cad-seal-key{ display:inline-flex; gap:3px; vertical-align:middle; margin:0 2px; }
  .cad-seal-key i{ width:7px; height:13px; border-radius:2px; display:inline-block; }

  /* ---- shared-scale bar (breadth, magnitudes — no time-series, doctrine-safe) ---- */
  .cad-breadth{ display:flex; height:12px; border-radius:7px; overflow:hidden; border:1px solid var(--line); background:var(--panel2); min-width:200px; flex:1; max-width:520px; }
  .cad-breadth .b-acc{ background:var(--up); } .cad-breadth .b-neu{ background:var(--muted); opacity:.4; } .cad-breadth .b-dis{ background:var(--down); }
  .cad-bar{ height:7px; border-radius:5px; background:color-mix(in srgb,var(--bc,var(--muted)) 80%,transparent); min-width:3px; }

  /* ---- tier badges (signal lab) ---- */
  .cad-tiers{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:12px; margin:14px 0; }
  .cad-tier{ background:var(--panel); border:1px solid var(--line); border-radius:13px; padding:13px 15px; }
  .cad-tier h3{ margin:0 0 9px; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
  .cad-tier .tbadge{ font-size:10px; font-weight:700; padding:2px 8px; border-radius:999px; }
  .t-scored .tbadge{ color:var(--ink-up, var(--up)); background:color-mix(in srgb,var(--up) 15%,transparent); }
  .t-confirmer .tbadge{ color:var(--ink-info, var(--info)); background:color-mix(in srgb,var(--info) 15%,transparent); }
  .t-display .tbadge{ color:var(--muted); background:var(--panel2); }
  .t-pending .tbadge{ color:var(--ink-warn, var(--warn)); background:color-mix(in srgb,var(--warn) 15%,transparent); }
  .t-killed .tbadge{ color:var(--ink-down, var(--down)); background:color-mix(in srgb,var(--down) 14%,transparent); }
  .cad-tier .row{ padding:7px 0; border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent); }
  .cad-tier .row:last-child{ border-bottom:0; }
  .cad-tier .nm{ font-weight:600; font-size:12.5px; }
  .cad-tier .wired{ font:10px/1 var(--font-mono,monospace); color:var(--ink-link, var(--link)); }
  .cad-tier .nt{ font-size:11px; color:var(--muted); line-height:1.5; margin-top:2px; }

  .cad-callout{ border-radius:13px; padding:12px 15px; margin:14px 0; border:1px solid var(--line);
    background:var(--panel2); font-size:12.5px; line-height:1.6; color:var(--muted); }
  .cad-callout.warn{ border-left:4px solid var(--warn); }
  .cad-disc{ font-size:11.5px; color:var(--muted); margin-top:14px; line-height:1.55; }
  .cad-asof{ font-size:11px; color:var(--muted); font-variant-numeric:tabular-nums; }

  @media(max-width:640px){
    .cad-tape{ grid-template-columns:1fr; }
    .cad-gauge{ width:170px; margin:0 auto; }
    .cad-h1{ font-size:24px; }
  }

