/* research page — redesign 2026-09. Scoped under .rs-page, ported from
   docs/redesign-mockups/research-mockup.html. Hard corners, JetBrains Mono via global rules.
   Local tonal tokens (--rs-*) mirror the --px- / --vx- pattern each page defines for itself. */
body[data-theme=gemini] #view .rs-page {
  --rs-card: var(--paper);
  --rs-inset: var(--paper-3);
  --rs-lift: var(--today-hover);
  --rs-edge: var(--today-rule);
}

body[data-theme=gemini] #view .rs-page .rs-hero {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 12px;
  align-items: stretch;
  margin: 8px 0 12px;
}
body[data-theme=gemini] #view .rs-page .rs-flow {
  background: var(--rs-card);
  border: 1px solid var(--rs-edge);
  padding: 10px 12px;
}
body[data-theme=gemini] #view .rs-page .rs-flowchart {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 64px;
  margin-bottom: 6px;
}
body[data-theme=gemini] #view .rs-page .rs-flowcol {
  flex: 1;
  display: flex;
  flex-direction: column-reverse;
  align-items: stretch;
  height: 64px;
  cursor: default;
}
body[data-theme=gemini] #view .rs-page .rs-flowbar { width: 100%; }
body[data-theme=gemini] #view .rs-page .rs-flow-f { background: var(--ink3); }
body[data-theme=gemini] #view .rs-page .rs-flow-b { background: var(--accent); }

body[data-theme=gemini] #view .rs-page .rs-houses {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 22px;
}
body[data-theme=gemini] #view .rs-page .rs-house {
  all: unset;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  cursor: pointer;
  background: var(--rs-card);
  border: 1px solid var(--rs-edge);
  border-top: 2px solid var(--rs-edge);
  padding: 12px 14px 13px;
  transition: background-color 120ms ease;
}
body[data-theme=gemini] #view .rs-page .rs-house:hover { background: var(--rs-lift); }
body[data-theme=gemini] #view .rs-page .rs-house[aria-pressed=true] { border-top-color: var(--ink1); background: var(--rs-lift); }
body[data-theme=gemini] #view .rs-page .rs-house:focus-visible { outline: 2px solid var(--today-focus); outline-offset: 1px; }
body[data-theme=gemini] #view .rs-page .rs-house > b { font-size: 17px; font-weight: 600; letter-spacing: -.01em; }
body[data-theme=gemini] #view .rs-page .rs-house .ln { font-size: 10px; color: var(--ink2); }
body[data-theme=gemini] #view .rs-page .rs-house .rank { font-size: 9px; color: var(--ink3); line-height: 1.45; }
body[data-theme=gemini] #view .rs-page .rs-samp { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; margin-top: 2px; }
body[data-theme=gemini] #view .rs-page .rs-samp i { height: 5px; border: 1px solid var(--rline); }
body[data-theme=gemini] #view .rs-page .rs-samp i.on { background: var(--ink1); border-color: var(--ink1); }

body[data-theme=gemini] #view .rs-page .rs-calls { margin-top: 16px; background: var(--rs-card); border: 1px solid var(--rs-edge); padding: 4px 16px 6px; }
body[data-theme=gemini] #view .rs-page .rs-cl-h,
body[data-theme=gemini] #view .rs-page .rs-call > summary {
  display: grid;
  grid-template-columns: 62px 64px minmax(110px, 1fr) minmax(170px, 1.7fr) minmax(130px, 1.1fr) 14px;
  gap: 14px;
  align-items: center;
}
body[data-theme=gemini] #view .rs-page .rs-cl-h { font-size: 9px; letter-spacing: .08em; color: var(--ink3); padding: 10px 0 6px; }
body[data-theme=gemini] #view .rs-page .rs-call { border-top: 1px solid var(--rs-edge); }
body[data-theme=gemini] #view .rs-page .rs-call:first-child { border-top: 0; }
body[data-theme=gemini] #view .rs-page .rs-call > summary { list-style: none; cursor: pointer; padding: 10px 0; font-size: 10px; }
body[data-theme=gemini] #view .rs-page .rs-call > summary::-webkit-details-marker { display: none; }
body[data-theme=gemini] #view .rs-page .rs-call > summary:hover { background: var(--rs-lift); }
body[data-theme=gemini] #view .rs-page .rs-call > summary:focus-visible { outline: 2px solid var(--today-focus); outline-offset: -2px; }
body[data-theme=gemini] #view .rs-page .rs-call > summary .chev { color: var(--ink3); transition: transform 120ms ease; text-align: center; }
body[data-theme=gemini] #view .rs-page .rs-call[open] > summary .chev { transform: rotate(90deg); }
body[data-theme=gemini] #view .rs-page .rs-call .d { color: var(--ink3); }
body[data-theme=gemini] #view .rs-page .rs-call .hs { color: var(--ink2); }
body[data-theme=gemini] #view .rs-page .rs-tk { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
body[data-theme=gemini] #view .rs-page .rs-tk .clickable { font-weight: 700; font-size: 11px; }
body[data-theme=gemini] #view .rs-page .rs-tk small { font-size: 9px; color: var(--ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body[data-theme=gemini] #view .rs-page .rs-tk .tag { margin-top: 1px; }

/* .mc-flag: a small "look at this" flag (mismatched call, generic filing title).
   width:max-content keeps it sized to its text even inside a flex column that
   would otherwise stretch a bare inline-block to the full column width. */
body[data-theme=gemini] #view .rs-page .mc-flag {
  display: inline-block;
  width: max-content;
  padding: 1px 7px;
  border: 1px solid var(--dn);
  color: var(--dn);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: color-mix(in srgb, var(--dn) 8%, transparent);
}

/* the call glyph: price at call (square) → reported target (tick), last close (diamond ring) */
body[data-theme=gemini] #view .rs-page .rs-g { position: relative; height: 30px; min-width: 0; }
body[data-theme=gemini] #view .rs-page .rs-g .base { position: absolute; left: 0; right: 0; top: 11px; border-top: 1px solid var(--rhair); }
body[data-theme=gemini] #view .rs-page .rs-g .seg { position: absolute; top: 9px; height: 5px; }
body[data-theme=gemini] #view .rs-page .rs-g .seg.up { background: color-mix(in srgb, var(--up) 70%, transparent); }
body[data-theme=gemini] #view .rs-page .rs-g .seg.dn { background: color-mix(in srgb, var(--dn) 70%, transparent); }
body[data-theme=gemini] #view .rs-page .rs-g .call { position: absolute; top: 7px; width: 9px; height: 9px; margin-left: -4.5px; background: var(--ink1); }
body[data-theme=gemini] #view .rs-page .rs-g .tgt { position: absolute; top: 4px; height: 15px; width: 0; border-inline-start: 2px solid var(--ink1); margin-left: -1px; }
body[data-theme=gemini] #view .rs-page .rs-g .now { position: absolute; top: 6px; width: 11px; height: 11px; margin-left: -5.5px; border: 1.5px solid var(--ink1); background: var(--rs-card); box-sizing: border-box; transform: rotate(45deg); }
body[data-theme=gemini] #view .rs-page .rs-g .lb { position: absolute; top: 19px; font-size: 8px; color: var(--ink3); white-space: nowrap; }
body[data-theme=gemini] #view .rs-page .rs-g .lb.r { transform: translateX(-100%); }
body[data-theme=gemini] #view .rs-page .rs-g.nt { display: flex; align-items: center; gap: 8px; font-size: 9px; color: var(--ink3); }
body[data-theme=gemini] #view .rs-page .rs-g.nt .arr { font-size: 13px; font-weight: 700; }
body[data-theme=gemini] #view .rs-page .rs-g.nt .arr.up { color: var(--up); }
body[data-theme=gemini] #view .rs-page .rs-g.nt .arr.dn { color: var(--dn); }
body[data-theme=gemini] #view .rs-page .rs-g.nt .arr.mut { color: var(--ink3); }
body[data-theme=gemini] #view .rs-page .rs-g:focus-visible { outline: 2px solid var(--today-focus); outline-offset: 2px; }

body[data-theme=gemini] #view .rs-page .rs-hz { min-width: 0; }
body[data-theme=gemini] #view .rs-page .rs-hz .bar { position: relative; height: 5px; background: color-mix(in srgb, var(--rline) 45%, transparent); }
body[data-theme=gemini] #view .rs-page .rs-hz .bar i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--ink2); }
body[data-theme=gemini] #view .rs-page .rs-hz.late .bar i { background: var(--dn); }
body[data-theme=gemini] #view .rs-page .rs-hz small { display: block; margin-top: 5px; font-size: 9px; color: var(--ink3); white-space: nowrap; }
body[data-theme=gemini] #view .rs-page .rs-hz.late small { color: var(--dn); }

body[data-theme=gemini] #view .rs-page .rs-det {
  margin: 0 0 12px;
  padding: 12px 14px;
  background: var(--rs-inset);
  border: 1px solid var(--rs-edge);
  border-inline-start: 2px solid var(--ink1);
  font-size: 10px;
  line-height: 1.6;
  color: var(--ink2);
}
body[data-theme=gemini] #view .rs-page .rs-det blockquote { margin: 0; font-size: 11px; color: var(--ink1); }
body[data-theme=gemini] #view .rs-page .rs-det p { margin: 8px 0 0; }
body[data-theme=gemini] #view .rs-page .rs-det dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 3px 14px;
  margin: 10px 0 0;
  font-size: 9px;
}
body[data-theme=gemini] #view .rs-page .rs-det dt { color: var(--ink3); }
body[data-theme=gemini] #view .rs-page .rs-det dd { margin: 0; overflow-wrap: anywhere; }

body[data-theme=gemini] #view .rs-page .rs-key { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 9px; color: var(--ink3); margin: 12px 0 0; align-items: center; }
body[data-theme=gemini] #view .rs-page .rs-key span { display: inline-flex; align-items: center; gap: 6px; }
body[data-theme=gemini] #view .rs-page .rs-key .k-call { width: 8px; height: 8px; background: var(--ink1); }
body[data-theme=gemini] #view .rs-page .rs-key .k-now { width: 8px; height: 8px; border: 1.5px solid var(--ink1); transform: rotate(45deg); }
body[data-theme=gemini] #view .rs-page .rs-key .k-tgt { width: 0; height: 11px; border-inline-start: 2px solid var(--ink1); }
body[data-theme=gemini] #view .rs-page .rs-key .k-seg { width: 18px; height: 5px; background: linear-gradient(90deg, color-mix(in srgb, var(--up) 70%, transparent) 50%, color-mix(in srgb, var(--dn) 70%, transparent) 50%); }

body[data-theme=gemini] #view .rs-page .rs-fold > summary { list-style: none; cursor: pointer; padding: 6px 0; font-size: 12px; color: var(--ink3); }
body[data-theme=gemini] #view .rs-page .rs-fold > summary::-webkit-details-marker { display: none; }
body[data-theme=gemini] #view .rs-page .rs-fold > summary:hover { color: var(--ink1); }

body[data-theme=gemini] #view .rs-page .rs-showmore {
  display: block;
  width: 100%;
  margin: 6px 0 14px;
  padding: 8px;
  background: var(--rs-card);
  border: 1px solid var(--rs-edge);
  color: var(--ink1);
  font-family: inherit;
  cursor: pointer;
}
body[data-theme=gemini] #view .rs-page .rs-showmore:hover { background: var(--rs-lift); }
body[data-theme=gemini] #view .rs-page .rs-filmore[hidden] { display: none; }

/* five muted, non-directional hues for the filing-category legend (mix bar + chips).
   Deliberately NOT --up/--dn: the split by category is not a good/bad signal, so
   nothing here should read as an alert. Each mixes toward --ink1 so it self-adjusts
   between light and dark. */
body[data-theme=gemini] #view .rs-page {
  --rs-cat-results: color-mix(in srgb, #4a7a6b 72%, var(--ink1) 28%);
  --rs-cat-meetings: color-mix(in srgb, #6b6fa0 72%, var(--ink1) 28%);
  --rs-cat-actions: color-mix(in srgb, #a08a4a 72%, var(--ink1) 28%);
  --rs-cat-people: color-mix(in srgb, #8a5a7a 72%, var(--ink1) 28%);
  --rs-cat-announce: color-mix(in srgb, #5a7a94 72%, var(--ink1) 28%);
}
body[data-theme=gemini] #view .rs-page .rs-mixbar { display: flex; height: 10px; margin: 6px 0 2px; border: 1px solid var(--rs-edge); }
body[data-theme=gemini] #view .rs-page .rs-mixseg { display: block; height: 100%; }
body[data-theme=gemini] #view .rs-page .rs-mix-results { background: var(--rs-cat-results); }
body[data-theme=gemini] #view .rs-page .rs-mix-meetings { background: var(--rs-cat-meetings); }
body[data-theme=gemini] #view .rs-page .rs-mix-actions { background: var(--rs-cat-actions); }
body[data-theme=gemini] #view .rs-page .rs-mix-people { background: var(--rs-cat-people); }
body[data-theme=gemini] #view .rs-page .rs-mix-announce { background: var(--rs-cat-announce); }

body[data-theme=gemini] #view .rs-page .rs-famtiles { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 6px 0 12px; }
/* base chip reset — without this the <button> renders with the browser's own
   grey/bevelled control chrome (appearance, background, border all leak through). */
body[data-theme=gemini] #view .rs-page .rs-famtiles .chip {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 0;
  border: 1px solid var(--rs-edge);
  background: var(--rs-card);
  color: var(--ink2);
  font-family: inherit;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
  padding: 4px 9px 4px 7px;
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease;
}
body[data-theme=gemini] #view .rs-page .rs-famtiles .chip::before {
  content: ""; display: block; width: 7px; height: 7px; flex: none;
  background: var(--rs-cat-swatch, var(--ink3));
}
body[data-theme=gemini] #view .rs-page .rs-famtiles .chip[data-fam=results] { --rs-cat-swatch: var(--rs-cat-results); }
body[data-theme=gemini] #view .rs-page .rs-famtiles .chip[data-fam=meetings] { --rs-cat-swatch: var(--rs-cat-meetings); }
body[data-theme=gemini] #view .rs-page .rs-famtiles .chip[data-fam=actions] { --rs-cat-swatch: var(--rs-cat-actions); }
body[data-theme=gemini] #view .rs-page .rs-famtiles .chip[data-fam=people] { --rs-cat-swatch: var(--rs-cat-people); }
body[data-theme=gemini] #view .rs-page .rs-famtiles .chip[data-fam=announce] { --rs-cat-swatch: var(--rs-cat-announce); }
body[data-theme=gemini] #view .rs-page .rs-famtiles .chip .sub { color: var(--ink3); font-weight: 600; margin: 0; opacity: 1; }
body[data-theme=gemini] #view .rs-page .rs-famtiles .chip:hover { background: var(--rs-lift); border-color: var(--ink3); }
body[data-theme=gemini] #view .rs-page .rs-famtiles .chip:focus-visible { outline: 2px solid var(--today-focus); outline-offset: 1px; }
body[data-theme=gemini] #view .rs-page .rs-famtiles .chip.on { border-color: var(--ink1); background: var(--rs-lift); color: var(--ink1); }
body[data-theme=gemini] #view .rs-page .rs-famtiles .chip.on .sub { color: var(--ink1); }

body[data-theme=gemini] #view .rs-page .rs-fil2col { display: grid; grid-template-columns: 1.3fr 1fr; gap: 12px; align-items: start; }
body[data-theme=gemini] #view .rs-page .rs-toprow { display: flex; align-items: center; gap: 8px; }
body[data-theme=gemini] #view .rs-page .rs-toprow .sub { flex: 1; min-width: 0; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body[data-theme=gemini] #view .rs-page .rs-toprow b { margin-left: auto; flex: none; font-size: 11px; }

/* Filings + archive rows: put the date at the end of the row, after any ticker
   chips, regardless of source order in the markup — and stop it wrapping. */
body[data-theme=gemini] #view .rs-page .rdoc-top > .t {
  order: 9; margin-left: auto; color: var(--ink3); font-size: 9.5px; white-space: nowrap;
}

body[data-theme=gemini] #view .rs-page .rs-arc-bad { outline: 1px solid var(--dn); outline-offset: -1px; }

body[data-theme=gemini] #view .rs-page .wl-tip { position: fixed; pointer-events: none; z-index: 50; background: var(--paper-3); border: 1px solid var(--rline); padding: 7px 9px; font-size: 10px; line-height: 1.5; color: var(--ink1); box-shadow: var(--shadow); display: none; max-width: 280px; white-space: pre-line; }
body[data-theme=gemini] #view .rs-page .wl-tip b { font-weight: 600; }
body[data-theme=gemini] #view .rs-page .wl-tip span { color: var(--ink3); }

@media (max-width: 900px) {
  body[data-theme=gemini] #view .rs-page .rs-houses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-theme=gemini] #view .rs-page .rs-cl-h { display: none; }
  body[data-theme=gemini] #view .rs-page .rs-call > summary { grid-template-columns: minmax(0, 1fr) auto auto 14px; row-gap: 8px; }
  body[data-theme=gemini] #view .rs-page .rs-call > summary .rs-tk { order: 1; }
  body[data-theme=gemini] #view .rs-page .rs-call > summary .hs { order: 2; }
  body[data-theme=gemini] #view .rs-page .rs-call > summary .d { order: 3; }
  body[data-theme=gemini] #view .rs-page .rs-call > summary .chev { order: 4; }
  body[data-theme=gemini] #view .rs-page .rs-call > summary .rs-g { order: 5; grid-column: 1/-1; }
  body[data-theme=gemini] #view .rs-page .rs-call > summary .rs-hz { order: 6; grid-column: 1/-1; }
  body[data-theme=gemini] #view .rs-page .rs-fil2col { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  body[data-theme=gemini] #view .rs-page .rs-hero { grid-template-columns: 1fr; }
  body[data-theme=gemini] #view .rs-page .rs-fil2col { grid-template-columns: 1fr; }
  body[data-theme=gemini] #view .rs-page .rs-houses { gap: 8px; }
  body[data-theme=gemini] #view .rs-page .rs-house { padding: 10px 10px 11px; }
  body[data-theme=gemini] #view .rs-page .rs-calls { padding: 2px 10px 6px; }
}
