
/* ── The Vault BLUE intelligence accent (a STABLE brand token, never price dir) ── */
:root{
  --num: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;
  --rv:#4f8ff7; --rv-2:#38bdf8; --rv-ink:#9cc2ff; --rv-dim:rgba(79,143,247,.13); --rv-glow:rgba(79,143,247,.34);
  --gold:#d8b26a; --buy:#45b873; --sell:#dCA24a; --indep:#8c93c8;
  --rr-glass-bg:rgba(16,22,30,.55); --rr-glass-border:rgba(255,255,255,.12);
  --rr-shadow:0 8px 32px rgba(0,0,0,.55), 0 1.5px 0 rgba(255,255,255,.07) inset;
}
html[data-theme="light"]{
  --rv:#285fff; --rv-2:#0f8fd8; --rv-ink:#1b49c8; --rv-dim:rgba(40,95,255,.10); --rv-glow:rgba(40,95,255,.26); --gold:#a9812e;
  --buy:#1f9a55; --sell:#a9781f; --indep:#5b62a8;
  --rr-glass-bg:rgba(255,255,255,.82); --rr-glass-border:rgba(0,0,0,.06);
  --rr-shadow:0 4px 24px rgba(0,0,0,.09), 0 1px 0 rgba(255,255,255,.95) inset;
}
html[data-lang="zh"]{ --buy:#e06464; }
html[data-theme="light"][data-lang="zh"]{ --buy:#cf4040; }
html:not([data-lang="zh"]) .l-zh{ display:none; } html[data-lang="zh"] .l-en{ display:none; }

html,body{ background:var(--bg); }
body{ padding-top:22px; color:var(--text); min-height:100vh; }
.rr-wrap{ max-width:760px; margin:0 auto; padding:26px 22px 96px; }
.rr-aurora{ position:fixed; inset:0; pointer-events:none; z-index:-1; overflow:hidden; }
.rr-aurora::before{ content:""; position:absolute; width:820px; height:640px; top:-220px; left:-160px; border-radius:50%;
  filter:blur(90px); background:radial-gradient(ellipse, rgba(79,143,247,.14) 0%, transparent 70%); }
html[data-theme="light"] .rr-aurora::before{ background:radial-gradient(ellipse, rgba(40,95,255,.06) 0%, transparent 70%); }

.rr-crumb{ font-size:12.5px; color:var(--muted); margin-bottom:16px; display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.rr-crumb a{ color:var(--rv-ink); text-decoration:none; font-weight:600; }
html[data-theme="light"] .rr-crumb a{ color:var(--rv); }
.rr-crumb a:hover{ text-decoration:underline; }
.rr-crumb .sep{ color:color-mix(in srgb,var(--text) 24%,transparent); }

.rr{ position:relative; padding:26px 26px 22px; border-radius:18px; overflow:hidden;
  background:var(--rr-glass-bg); border:1px solid var(--rr-glass-border); box-shadow:var(--rr-shadow);
  -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.rr::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--rv),var(--rv-2)); }
.rr-top{ display:flex; align-items:center; gap:11px; flex-wrap:wrap; margin-bottom:16px; }
.rr-logo{ width:38px; height:38px; border-radius:10px; flex:none; display:grid; place-items:center;
  font-family:var(--num); font-weight:700; font-size:14px; color:#fff; letter-spacing:-.02em;
  background:linear-gradient(150deg,var(--rv),var(--rv-2)); box-shadow:inset 0 1px 0 rgba(255,255,255,.28); }
.rr-inst{ font-size:14px; font-weight:800; color:var(--text); }
.rr-desk{ font-size:12.5px; color:var(--muted); }
.stamp{ display:inline-flex; align-items:center; gap:5px; font-family:var(--num); font-size:10px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; padding:3px 9px; border-radius:6px; border:1.5px solid currentColor; }
.stamp.buy{ color:var(--buy); } .stamp.sell{ color:var(--sell); } .stamp.indep{ color:var(--indep); }
.stamp .dt{ width:5px; height:5px; border-radius:50%; background:currentColor; }

.rr h1{ font-weight:800; font-size:clamp(23px,3.3vw,32px); line-height:1.16; letter-spacing:-.02em; color:var(--text); margin:0 0 14px; }
.rr-meta{ display:flex; align-items:center; gap:8px 14px; flex-wrap:wrap; font-family:var(--num); font-size:12px;
  color:var(--muted); font-variant-numeric:tabular-nums; margin-bottom:16px; }
.rr-meta .m-ico{ display:inline-flex; align-items:center; gap:6px; } .rr-meta svg{ width:13px; height:13px; opacity:.75; }
.rr-tks{ display:flex; gap:6px; flex-wrap:wrap; }
.rr-tk{ font-family:var(--num); font-size:11px; font-weight:700; color:var(--rv-ink); padding:2px 8px; border-radius:6px;
  background:var(--rv-dim); border:1px solid color-mix(in srgb,var(--rv) 22%,transparent); }
html[data-theme="light"] .rr-tk{ color:var(--rv); }
.rr-tag{ font-size:11px; font-weight:600; color:var(--muted); padding:2px 8px; border-radius:6px; background:color-mix(in srgb,var(--text) 6%,transparent); }

.rr-teaser{ font-size:16px; line-height:1.6; color:color-mix(in srgb,var(--text) 90%,var(--muted));
  padding:16px 0 4px; border-top:1px solid color-mix(in srgb,var(--text) 8%,transparent); }
.rr-teaser .lead{ font-family:var(--num); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted); display:block; margin-bottom:8px; }

/* the paywall (the gated part — matches the JSON-LD hasPart cssSelector) */
.rr-gate{ margin-top:20px; padding:22px; border-radius:14px; text-align:center;
  background:radial-gradient(120% 130% at 50% 0%, var(--rv-dim), transparent 70%), color-mix(in srgb,var(--rr-glass-bg) 92%,transparent);
  border:1px solid color-mix(in srgb,var(--rv) 26%,transparent); }
.rr-gate .lk{ width:30px; height:30px; color:var(--rv); opacity:.92; }
html[data-theme="light"] .rr-gate .lk{ color:var(--rv); }
.rr-gate h2{ margin:8px 0 6px; font-size:18px; font-weight:800; color:var(--text); }
.rr-gate p{ margin:0 auto 15px; font-size:13.5px; line-height:1.5; color:var(--muted); max-width:46ch; }
.rr-cta{ display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border-radius:11px; font-weight:800; font-size:14px;
  color:#fff; text-decoration:none; background:linear-gradient(120deg,var(--rv),color-mix(in srgb,var(--rv) 74%,var(--rv-2)));
  box-shadow:0 8px 20px -8px var(--rv-glow); transition:.16s; }
.rr-cta:hover{ filter:brightness(1.06); transform:translateY(-1px); }
.rr-cta svg{ width:16px; height:16px; }

.rr-rel{ margin-top:34px; }
.rr-rel h3{ font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); margin:0 0 12px; }
.rr-rel ul{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.rr-rel a{ display:block; padding:13px 15px; border-radius:12px; text-decoration:none; color:var(--text);
  background:var(--rr-glass-bg); border:1px solid var(--rr-glass-border); transition:.16s; }
.rr-rel a:hover{ border-color:color-mix(in srgb,var(--rv) 40%,var(--rr-glass-border)); transform:translateY(-1px); }
.rr-rel .r-inst{ font-family:var(--num); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--rv-ink); }
html[data-theme="light"] .rr-rel .r-inst{ color:var(--rv); }
.rr-rel .r-title{ font-size:14px; font-weight:600; color:var(--text); margin-top:3px; line-height:1.35; }

.rr-foot{ margin-top:38px; padding-top:20px; border-top:1px solid color-mix(in srgb,var(--text) 8%,transparent);
  font-size:12px; line-height:1.6; color:var(--muted); }
.rr-foot b{ color:color-mix(in srgb,var(--text) 80%,var(--muted)); font-weight:700; }
.rr-foot a{ color:var(--rv-ink); text-decoration:none; font-weight:600; } html[data-theme="light"] .rr-foot a{ color:var(--rv); }
.rr-foot a:hover{ text-decoration:underline; }

@media (prefers-reduced-motion:reduce){ .rr-cta:hover,.rr-rel a:hover{ transform:none; } }
