.ri { --ri-bg: #f6f5f1; --ri-card: #ffffff; --ri-ink: #16171b; --ri-mut: #5d6068; --ri-line: #e3e1da;
  --ri-down: #c2412d; --ri-up: #2f7d3b; --ri-flat: #7a6a3a; --ri-spread: #2d5fa8; --ri-gold: #b0842f;
  background: var(--ri-bg); color: var(--ri-ink); padding: 24px 16px; border-radius: 16px;
  font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ri { --ri-bg: #0b0c0e; --ri-card: #15161a;
  --ri-ink: #ecebe6; --ri-mut: #9a9ca3; --ri-line: #26272d; --ri-down: #ff7a63; --ri-up: #8fdc7a; --ri-flat: #e3b45f;
  --ri-spread: #7fb2ff; --ri-gold: #e3b45f; } }
:root[data-theme="dark"] .ri { --ri-bg: #0b0c0e; --ri-card: #15161a; --ri-ink: #ecebe6; --ri-mut: #9a9ca3;
  --ri-line: #26272d; --ri-down: #ff7a63; --ri-up: #8fdc7a; --ri-flat: #e3b45f; --ri-spread: #7fb2ff; --ri-gold: #e3b45f; }
.ri-kicker { color: var(--ri-gold); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; }
.ri-title { font: 600 26px/1.2 Georgia, "Times New Roman", serif; margin: 6px 0 8px; }
.ri-lead { color: var(--ri-mut); margin: 0 0 18px; max-width: 70ch; }
.ri-group, .ri-sum { font-weight: 600; margin: 14px 0 10px; color: var(--ri-mut); cursor: pointer; }
.ri-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.ri-card { background: var(--ri-card); border: 1px solid var(--ri-line); border-left: 4px solid var(--ri-flat);
  border-radius: 12px; padding: 14px 16px; min-width: 0; }
.ri-down { border-left-color: var(--ri-down); } .ri-up { border-left-color: var(--ri-up); }
.ri-spread { border-left-color: var(--ri-spread); }
.ri-badge { font-size: 12px; font-weight: 600; color: var(--ri-mut); }
.ri-down .ri-badge { color: var(--ri-down); } .ri-up .ri-badge { color: var(--ri-up); }
.ri-spread .ri-badge { color: var(--ri-spread); }
.ri-card-title { font-size: 16px; margin: 4px 0 6px; line-height: 1.3; }
.ri-fact { margin: 0 0 8px; font-variant-numeric: tabular-nums; }
.ri-action { margin: 0; padding-top: 8px; border-top: 1px dashed var(--ri-line); }
.ri-src { color: var(--ri-mut); font-size: 12px; margin: 16px 0 0; }
@media (max-width: 480px) { .ri-grid { grid-template-columns: 1fr; } .ri-title { font-size: 22px; } }
