/*
 * trace-v1 research mode styles (dashboard/static/research/research.css).
 *
 * Scoped under #research-root / .rsrch so this file can never bleed into the
 * rest of the SPA's markup, and vice versa. Reuses the host page's CSS
 * custom properties (--bg, --ink, --accent, --border, ...) when present —
 * they are defined on a bare :root in index.html's own <style> block — and
 * falls back to the same literal palette here so this file also renders
 * correctly when loaded on its own (e.g. the Playwright acceptance harness).
 */

#research-root {
  --rsrch-bg: var(--bg, #fafafa);
  --rsrch-card: var(--bg-card, #ffffff);
  --rsrch-border: var(--border, #ddd);
  --rsrch-border-soft: var(--border-soft, #eee);
  --rsrch-ink: var(--ink, #1a1a1a);
  --rsrch-ink-2: var(--ink-2, #2a2a2a);
  --rsrch-muted: var(--muted, #555);
  --rsrch-muted-2: var(--muted-2, #777);
  --rsrch-accent: var(--accent, #0f3787);
  --rsrch-accent-soft: var(--accent-soft, #dde6f5);
  font-family: "Inter", "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.6;
  color: var(--rsrch-ink);
  /* An explicit ground, so the panel never borrows a host page plane it
   * does not share — in light this is the SPA's own #fafafa (a no-op), in
   * dark it is the selected dark page plane. */
  background: var(--rsrch-bg);
}

#research-root[hidden] { display: none; }

#research-root .rsrch-title {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--rsrch-muted-2);
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 18px 0 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--rsrch-border);
}
#research-root .rsrch-title .hint {
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--rsrch-muted-2);
  font-size: 10.5px;
}

#research-root .rsrch-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 10px;
}
#research-root .rsrch-tab {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  padding: 6px 10px;
  border: 1px solid var(--rsrch-border);
  background: var(--rsrch-card);
  color: var(--rsrch-muted);
  border-radius: 3px;
  cursor: pointer;
}
#research-root .rsrch-tab:hover { border-color: var(--rsrch-accent); color: var(--rsrch-accent); }
#research-root .rsrch-tab-active {
  background: var(--rsrch-accent);
  border-color: var(--rsrch-accent);
  color: #fff;
}
/* The active tab is also frequently hovered — Playwright's `.click()` (and a
 * real pointer that just clicked it) leaves the cursor sitting on top of it.
 * `:hover` above has higher specificity (two class-level selectors) than
 * `.rsrch-tab-active` (one), so without this rule a hovered active tab loses
 * its white label to `var(--rsrch-accent)` — the SAME colour as its own
 * background, rendering the label invisible in both light and dark themes.
 * Repeating the active declaration at equal specificity, later in the
 * cascade, keeps the label legible while hovered. */
#research-root .rsrch-tab-active:hover {
  border-color: var(--rsrch-accent);
  color: #fff;
}

#research-root .rsrch-status { min-height: 14px; font-size: 11px; color: var(--rsrch-muted-2); margin-bottom: 6px; }
#research-root .rsrch-status-error { color: #a3242a; }

#research-root .rsrch-empty {
  padding: 18px;
  text-align: center;
  color: var(--rsrch-muted-2);
  border: 1px dashed var(--rsrch-border);
  border-radius: 4px;
}

#research-root .rsrch-caption {
  font-size: 10.5px;
  color: var(--rsrch-muted-2);
  margin-bottom: 8px;
}

/* ── contribution cards (feed + queue) ── */
#research-root .rsrch-card {
  background: var(--rsrch-card);
  border: 1px solid var(--rsrch-border-soft);
  border-radius: 4px;
  padding: 10px 12px;
  margin-bottom: 8px;
}
#research-root .rsrch-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  margin-bottom: 4px;
}
#research-root .rsrch-kind {
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: var(--rsrch-accent-soft);
  color: var(--rsrch-accent);
  padding: 1px 6px;
  border-radius: 3px;
  font-weight: 500;
}
#research-root .rsrch-agent { color: var(--rsrch-ink-2); font-weight: 500; }
#research-root .rsrch-muted { color: var(--rsrch-muted-2); }
#research-root .rsrch-mono { font-family: "JetBrains Mono", monospace; }
#research-root .rsrch-card-title { font-weight: 500; margin-bottom: 6px; }
#research-root .rsrch-k {
  font-family: "JetBrains Mono", monospace;
  font-size: 9.5px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--rsrch-muted-2);
  margin-right: 4px;
}
#research-root .rsrch-result, #research-root .rsrch-limitations, #research-root .rsrch-links {
  font-size: 11.5px;
  margin: 4px 0;
}
#research-root .rsrch-ref {
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  background: var(--rsrch-border-soft);
  color: inherit;
  text-decoration: none;
  padding: 1px 5px;
  border-radius: 3px;
  margin-right: 3px;
  display: inline-block;
}
a.rsrch-ref:hover { color: var(--rsrch-accent); }
#research-root .rsrch-card-actions { margin-top: 8px; display: flex; gap: 6px; }

/* ── badges — distinct wording/color per CONTRACT §10.1: "concern raised"
   and "substantiated finding" are never collapsed into one badge. ── */
#research-root .rsrch-badges { margin: 6px 0; display: flex; flex-wrap: wrap; gap: 4px; }
#research-root .rsrch-badge {
  display: inline-block;
  font-family: "JetBrains Mono", monospace;
  font-size: 9.5px;
  padding: 2px 7px;
  border-radius: 10px;
  border: 1px solid transparent;
}
#research-root .rsrch-badge-concern { background: #fff3cd; color: #7a5b00; border-color: #f0d98a; }
#research-root .rsrch-badge-substantiated { background: #f8d7da; color: #7a1f28; border-color: #eba7ae; }
#research-root .rsrch-badge-corrected { background: #d1e7dd; color: #0f5132; border-color: #a3d3bb; }
#research-root .rsrch-badge-dismissed { background: var(--rsrch-border-soft); color: var(--rsrch-muted-2); }
#research-root .rsrch-badge-subset { background: #e0e7ff; color: #2f3f9e; border-color: #c2cdf5; }
#research-root .rsrch-badge-exploratory { background: #fde7d0; color: #8a4a06; border-color: #f2c48f; }
#research-root .rsrch-badge-muted { background: var(--rsrch-border-soft); color: var(--rsrch-muted-2); }
/* (r13) diagnostics provenance — who produced the numbers, never a grade. */
#research-root .rsrch-badge-source { background: #ede7f6; color: #4527a0; border-color: #c5b3e6; }

/* ── verification level line — never the word "verified" ── */
#research-root .rsrch-vl { font-size: 11px; margin: 6px 0; padding: 6px 8px; border-radius: 3px; background: var(--rsrch-bg); border: 1px solid var(--rsrch-border-soft); }
#research-root .rsrch-vl-self { border-left: 3px solid #b98900; }
/* (r13) `server-computed` is a DIFFERENT fact from `self-reported`, not a
   rung above or below it, so it gets its own colour rather than borrowing
   either the self-reported amber or the organizer-verified green. */
#research-root .rsrch-vl-server { border-left: 3px solid #6f42c1; }
#research-root .rsrch-vl-checked { border-left: 3px solid #2f6fb0; }
#research-root .rsrch-vl-reproduced { border-left: 3px solid #0f5132; }
#research-root .rsrch-vl-mismatch { border-left: 3px solid #a3242a; }
#research-root .rsrch-vl-unchecked { border-left: 3px solid var(--rsrch-border); color: var(--rsrch-muted-2); }

/* ── method comparison table — reuses .lb-table from the host page; add
   only what's specific to this table. No rank/winner column exists. ── */
#research-root .rsrch-methods-table td, #research-root .rsrch-methods-table th { font-size: 11px; }
#research-root .rsrch-sortable { cursor: pointer; user-select: none; }
#research-root .rsrch-sortable:hover { color: var(--rsrch-accent); }
#research-root .rsrch-per-run { font-size: 10px; font-family: "JetBrains Mono", monospace; }

/* ── forms ── */
#research-root .rsrch-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--rsrch-card);
  border: 1px solid var(--rsrch-border-soft);
  border-radius: 4px;
  padding: 12px;
  margin-bottom: 10px;
  max-width: 640px;
}
#research-root .rsrch-form label { display: flex; flex-direction: column; gap: 3px; font-size: 11px; color: var(--rsrch-muted); }
#research-root .rsrch-form input[type="text"],
#research-root .rsrch-form textarea,
#research-root .rsrch-form select {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  padding: 6px 8px;
  border: 1px solid var(--rsrch-border);
  border-radius: 3px;
  background: var(--rsrch-bg);
  color: var(--rsrch-ink);
}
#research-root .rsrch-form-status { font-size: 11px; margin-top: 4px; min-height: 14px; }

#research-root .rsrch-btn {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  padding: 6px 10px;
  border: 1px solid var(--rsrch-border);
  background: var(--rsrch-card);
  color: var(--rsrch-ink-2);
  border-radius: 3px;
  cursor: pointer;
  align-self: flex-start;
}
#research-root .rsrch-btn:hover { border-color: var(--rsrch-accent); color: var(--rsrch-accent); }
#research-root .rsrch-btn-primary { background: var(--rsrch-accent); border-color: var(--rsrch-accent); color: #fff; }
#research-root .rsrch-btn-primary:hover { opacity: 0.9; color: #fff; }

/* ── case history ── */
#research-root .rsrch-history { margin: 10px 0; }
#research-root .rsrch-hist-entry {
  border-left: 2px solid var(--rsrch-border);
  padding: 4px 0 4px 10px;
  margin-bottom: 6px;
  font-size: 11.5px;
}
#research-root .rsrch-hist-head { display: flex; gap: 8px; align-items: center; font-family: "JetBrains Mono", monospace; font-size: 10px; margin-bottom: 2px; }
#research-root .rsrch-hist-resolution { border-left-color: #a3242a; }
#research-root .rsrch-hist-owner { border-left-color: #0f5132; }
#research-root .rsrch-hist-reopen { border-left-color: #b98900; }

/* ── report evidence (CONTRACT §5.1, §11): rendered under a `report` history
   entry, one block per filed report, so multiple reports on one case each
   keep their own evidence list. Never a raw/broken link — an item whose
   reference cannot be resolved to a safe http(s) URL renders the explicit
   ".rsrch-unavailable" state instead. ── */
#research-root .rsrch-evidence { margin: 4px 0 6px 0; }
#research-root .rsrch-evidence-summary { font-style: italic; color: var(--rsrch-muted); margin-bottom: 4px; }
#research-root .rsrch-evidence-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 3px 0;
  border-top: 1px dashed var(--rsrch-border-soft);
}
#research-root .rsrch-evidence-item:first-of-type { border-top: none; }
#research-root .rsrch-evidence-kind { text-transform: uppercase; }
#research-root .rsrch-evidence-desc { flex: 1 1 auto; min-width: 120px; }
#research-root .rsrch-evidence-link { flex: 0 0 auto; }
#research-root .rsrch-evidence-components, #research-root .rsrch-reproduction { margin-top: 4px; font-size: 11px; }
#research-root .rsrch-ref-inert {
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  color: var(--rsrch-muted-2);
  word-break: break-all;
}
#research-root .rsrch-unavailable {
  font-size: 10.5px;
  color: #7a5b00;
  background: #fff3cd;
  border: 1px solid #f0d98a;
  border-radius: 3px;
  padding: 1px 6px;
  display: inline-block;
}
#research-root .rsrch-unsafe-link {
  color: #7a1f28;
  background: #f8d7da;
  border: 1px solid #eba7ae;
  border-radius: 3px;
  padding: 0 4px;
  font-size: 10.5px;
}

@media (max-width: 640px) {
  #research-root .rsrch-tabs { gap: 3px; }
  #research-root .rsrch-tab { font-size: 9.5px; padding: 5px 8px; }
}

/* ══════════════════════════════════════════════════════════════════════
 * Progress panel — dot-plot time series over contributions.
 *
 * Palette: the data-visualization skill's validated default categorical
 * instance (references/palette.md), both modes selected — NOT an automatic
 * flip. Validator results are recorded in docs/trace-monitoring/frontend.md.
 *
 * Every colour below is a role token so the light/dark swap happens in one
 * place and the SVG body never carries a raw hex.
 * ══════════════════════════════════════════════════════════════════════ */
#research-root {
  /* chart chrome */
  --rsrch-plot-surface: var(--bg-card, #ffffff);
  --rsrch-plot-grid: #e1e0d9;
  --rsrch-plot-axis: #c3c2b7;
  --rsrch-plot-ink: var(--ink, #0b0b0b);
  --rsrch-plot-ink-2: var(--muted, #52514e);
  --rsrch-plot-muted: #898781;
  /* categorical slots 1-8, fixed order, never cycled */
  --rsrch-s1: #2a78d6;
  --rsrch-s2: #eb6834;
  --rsrch-s3: #1baf7a;
  --rsrch-s4: #eda100;
  --rsrch-s5: #e87ba4;
  --rsrch-s6: #008300;
  --rsrch-s7: #4a3aa7;
  --rsrch-s8: #e34948;
  /* the 9th and beyond fold into this de-emphasis gray — never a 9th hue */
  --rsrch-s-other: #898781;
}

/* Dark is SELECTED, not flipped: the same eight hues stepped for the dark
 * surface (palette.md's dark column), plus dark steps for this panel's own
 * chrome, since index.html's :root tokens are light-only today. Declared
 * under both scopes so an explicit theme stamp wins in either direction and
 * the OS setting still works when nothing is stamped. */
:root[data-theme="dark"] #research-root,
#research-root[data-theme="dark"] {
  color-scheme: dark;
  --rsrch-bg: #0d0d0d;
  --rsrch-card: #1a1a19;
  --rsrch-border: #383835;
  --rsrch-border-soft: #2c2c2a;
  --rsrch-ink: #ffffff;
  --rsrch-ink-2: #e8e7e0;
  --rsrch-muted: #c3c2b7;
  --rsrch-muted-2: #a3a29a;
  --rsrch-accent: #7fb0f2;
  --rsrch-accent-soft: #1d2b45;
  --rsrch-plot-surface: #1a1a19;
  --rsrch-plot-grid: #2c2c2a;
  --rsrch-plot-axis: #383835;
  --rsrch-plot-ink: #ffffff;
  --rsrch-plot-ink-2: #c3c2b7;
  --rsrch-plot-muted: #898781;
  --rsrch-s1: #3987e5;
  --rsrch-s2: #d95926;
  --rsrch-s3: #199e70;
  --rsrch-s4: #c98500;
  --rsrch-s5: #d55181;
  --rsrch-s6: #008300;
  --rsrch-s7: #9085e9;
  --rsrch-s8: #e66767;
  --rsrch-s-other: #898781;
}
@media (prefers-color-scheme: dark) {
  :root:where(:not([data-theme="light"])) #research-root:not([data-theme="light"]) {
    color-scheme: dark;
    --rsrch-bg: #0d0d0d;
    --rsrch-card: #1a1a19;
    --rsrch-border: #383835;
    --rsrch-border-soft: #2c2c2a;
    --rsrch-ink: #ffffff;
    --rsrch-ink-2: #e8e7e0;
    --rsrch-muted: #c3c2b7;
    --rsrch-muted-2: #a3a29a;
    --rsrch-accent: #7fb0f2;
    --rsrch-accent-soft: #1d2b45;
    --rsrch-plot-surface: #1a1a19;
    --rsrch-plot-grid: #2c2c2a;
    --rsrch-plot-axis: #383835;
    --rsrch-plot-ink: #ffffff;
    --rsrch-plot-ink-2: #c3c2b7;
    --rsrch-plot-muted: #898781;
    --rsrch-s1: #3987e5;
    --rsrch-s2: #d95926;
    --rsrch-s3: #199e70;
    --rsrch-s4: #c98500;
    --rsrch-s5: #d55181;
    --rsrch-s6: #008300;
    --rsrch-s7: #9085e9;
    --rsrch-s8: #e66767;
    --rsrch-s-other: #898781;
  }
}

/* One control row, above the chart it scopes (interaction.md). */
#research-root .rsrch-plot-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}
#research-root .rsrch-seg {
  display: inline-flex;
  border: 1px solid var(--rsrch-border);
  border-radius: 3px;
  overflow: hidden;
}
#research-root .rsrch-seg button {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  font-weight: 400;
  padding: 5px 10px;
  border: 0;
  border-left: 1px solid var(--rsrch-border);
  background: var(--rsrch-card);
  color: var(--rsrch-muted);
  cursor: pointer;
}
#research-root .rsrch-seg button:first-child { border-left: 0; }
#research-root .rsrch-seg button:hover { color: var(--rsrch-accent); }
#research-root .rsrch-seg button[aria-pressed="true"] {
  background: var(--rsrch-accent-soft);
  color: var(--rsrch-ink);
  font-weight: 500;
}
#research-root .rsrch-seg button:focus-visible {
  outline: 2px solid var(--rsrch-accent);
  outline-offset: -2px;
}
#research-root .rsrch-seg-label {
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--rsrch-muted-2);
}

#research-root .rsrch-plot-frame {
  background: var(--rsrch-plot-surface);
  border: 1px solid var(--rsrch-border-soft);
  border-radius: 4px;
  padding: 10px 12px 4px;
  /* the container grows with its content so the x-axis band is never
   * cropped into a nested scrollbar (anti-patterns.md) */
  overflow-x: auto;
}
#research-root .rsrch-plot-svg {
  display: block;
  width: 100%;
  min-width: 520px;
  height: auto;
  font-family: "Inter", "Helvetica Neue", sans-serif;
}
#research-root .rsrch-plot-svg text { fill: var(--rsrch-plot-ink-2); }
#research-root .rsrch-plot-svg .rsrch-tick {
  fill: var(--rsrch-plot-muted);
  font-size: 9.5px;
  font-variant-numeric: tabular-nums;
}
#research-root .rsrch-plot-svg .rsrch-axis-title {
  fill: var(--rsrch-plot-ink-2);
  font-size: 10px;
  letter-spacing: 0.3px;
}
#research-root .rsrch-plot-svg .rsrch-grid { stroke: var(--rsrch-plot-grid); stroke-width: 1; }
#research-root .rsrch-plot-svg .rsrch-baseline { stroke: var(--rsrch-plot-axis); stroke-width: 1; }
#research-root .rsrch-plot-svg .rsrch-ci { stroke-width: 1.5; stroke-linecap: butt; }
#research-root .rsrch-plot-svg .rsrch-ci-cap { stroke-width: 1; }
/* a 2px ring in the SURFACE colour, so overlapping points stay legible —
 * never a border drawn to separate marks (marks-and-anatomy.md) */
/* fill/stroke are set INLINE per mark (the series hue is a data value, not a
 * stylesheet constant); only the ring width lives here, because a CSS rule
 * would otherwise beat the presentation attribute and repaint every mark. */
#research-root .rsrch-plot-svg .rsrch-dot { stroke-width: 2; }
#research-root .rsrch-plot-svg .rsrch-hit { fill: transparent; cursor: pointer; outline: none; }
#research-root .rsrch-plot-svg .rsrch-hit:focus-visible + .rsrch-focus-ring,
#research-root .rsrch-plot-svg .rsrch-hit:hover + .rsrch-focus-ring { opacity: 1; }
#research-root .rsrch-plot-svg .rsrch-focus-ring {
  fill: none;
  stroke: var(--rsrch-plot-ink);
  stroke-width: 1;
  opacity: 0;
  pointer-events: none;
}
#research-root .rsrch-plot-svg .rsrch-dlabel {
  fill: var(--rsrch-plot-ink-2);
  font-size: 9.5px;
}

#research-root .rsrch-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}
#research-root .rsrch-legend li {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  color: var(--rsrch-muted);
}
#research-root .rsrch-legend svg { display: block; flex: none; }

#research-root .rsrch-plot-tip {
  position: fixed;
  z-index: 40;
  max-width: 320px;
  padding: 8px 10px;
  background: var(--rsrch-card);
  border: 1px solid var(--rsrch-border);
  border-radius: 4px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
  font-size: 10.5px;
  line-height: 1.5;
  color: var(--rsrch-muted);
  pointer-events: none;
}
#research-root .rsrch-plot-tip[hidden] { display: none; }
#research-root .rsrch-plot-tip .rsrch-tip-value {
  font-size: 13px;
  font-weight: 600;
  color: var(--rsrch-ink);
}
#research-root .rsrch-plot-tip .rsrch-tip-title {
  font-weight: 500;
  color: var(--rsrch-ink-2);
  margin-bottom: 2px;
}
#research-root .rsrch-plot-tip dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1px 8px;
  margin: 6px 0 0;
}
#research-root .rsrch-plot-tip dt {
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--rsrch-muted-2);
}
#research-root .rsrch-plot-tip dd { margin: 0; color: var(--rsrch-muted); }
#research-root .rsrch-plot-tip .rsrch-tip-key {
  display: inline-block;
  width: 14px;
  height: 2px;
  vertical-align: middle;
  margin-right: 5px;
}
#research-root .rsrch-plot-table td.num,
#research-root .rsrch-plot-table th.num { font-variant-numeric: tabular-nums; }
#research-root .rsrch-swatch-cell { display: flex; align-items: center; gap: 6px; }

/* ── Diagnostic-history panel: heading, standfirst, provenance cues ── */
#research-root .rsrch-plot-heading {
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.4px;
  color: var(--rsrch-ink);
  margin: 2px 0 6px;
}
#research-root .rsrch-plot-standfirst {
  max-width: 78ch;
  margin: 0 0 12px;
  color: var(--rsrch-muted);
  font-size: 11px;
  line-height: 1.65;
}
#research-root .rsrch-plot-standfirst p { margin: 0 0 4px; }
#research-root .rsrch-linklike {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  color: var(--rsrch-accent);
  text-decoration: underline;
  cursor: pointer;
}
#research-root .rsrch-linklike:hover { text-decoration: none; }
#research-root .rsrch-linklike:focus-visible {
  outline: 2px solid var(--rsrch-accent);
  outline-offset: 2px;
}
/* A declaration the server's recomputation refuted. Deliberately NOT a
 * categorical series hue and not a plotted-mark change: the mark already
 * sits at the canonical value, and a status colour must never impersonate a
 * series (palette.md). This is text-level, and always carries its words. */
#research-root .rsrch-tip-disputed {
  margin-top: 6px;
  padding: 5px 7px;
  border-left: 2px solid #d03b3b;
  background: var(--rsrch-bg);
  color: var(--rsrch-ink-2);
}
#research-root .rsrch-declared-disputed { color: var(--rsrch-ink-2); }
#research-root .rsrch-caption-warn { color: var(--rsrch-ink-2); font-weight: 500; }
