/* Superinvestors page (superinvestors.html + js/superinvestors.js).
   Dark workspace like the other tool pages. Chart colors follow the data-viz method:
   performance is a DIVERGING blue <-> red scale around a neutral gray (not red/green, which a
   color-blind reader can't separate), with signed text beside every colored mark; bars are thin
   with 4px rounded data-ends and 2px gaps; text never wears a data color. */

main{
  --si-surface:#161728; --si-surface-2:#1B1C32; --si-line:rgba(255,255,255,0.09);
  --si-ink:#fff; --si-ink-2:rgba(255,255,255,0.74); --si-muted:rgba(255,255,255,0.5);
  --si-up:#3987e5; --si-down:#e66767; --si-flat:#383835;
}

/* ---------------- Hero ---------------- */
.si-hero{
  position:relative; overflow:hidden; padding:64px 0 36px;
  background: radial-gradient(120% 140% at 12% -10%, #2A2358 0%, var(--band-mid) 48%, var(--band-dark) 100%);
  border-bottom:1px solid var(--si-line); color:#fff;
}
.si-orb{ position:absolute; border-radius:50%; filter:blur(100px); pointer-events:none; }
.si-orb-1{ width:520px; height:520px; background:#8B7FFF; opacity:.32; top:-220px; right:-120px; }
.si-orb-2{ width:420px; height:420px; background:#FFC257; opacity:.18; bottom:-200px; left:-120px; }
.si-hero .wrap{ position:relative; z-index:1; }
.si-hero h1{
  font-family:'Instrument Sans', sans-serif; font-weight:600; font-size:clamp(40px, 6.4vw, 76px); line-height:.98;
  letter-spacing:-0.015em; margin:16px 0 20px; color:#fff;
}
.si-hero .lede{ font-size:17px; line-height:1.65; color: rgba(255,255,255,0.74); max-width:720px; margin:0 0 28px; }
.si-hero .lede strong{ color:#fff; }

.si-hero-stats{ min-height:112px; display:grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap:14px; max-width:920px; margin-bottom:26px; }
.si-stat{
  display:flex; flex-direction:column; gap:3px; padding:16px 18px; border-radius:16px;
  background: rgba(255,255,255,0.05); border:1px solid var(--si-line); backdrop-filter: blur(6px);
}
.si-stat-lbl{ font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color: var(--si-muted); }
.si-stat-val{ font-family:'Instrument Sans', sans-serif; font-size:30px; font-weight:600; line-height:1.1; color:#fff; }
.si-stat-sub{ font-size:12px; line-height:1.4; color: var(--si-ink-2); }
.si-stat--hero{ grid-column: span 2; background: linear-gradient(135deg, rgba(139,127,255,0.22), rgba(255,194,87,0.10)); border-color: rgba(139,127,255,0.4); }
.si-stat--hero .si-stat-val{ font-size:clamp(40px, 5vw, 56px); }
.si-loading{ font-size:14px; color: var(--si-muted); }

/* ---------------- Fresh from EDGAR ---------------- */
.si-live{ background:#3987e5; box-shadow:0 0 0 0 rgba(57,135,229,0.6); animation: si-pulse 2s ease-out infinite; }
@keyframes si-pulse{ 70%{ box-shadow:0 0 0 8px rgba(57,135,229,0); } 100%{ box-shadow:0 0 0 0 rgba(57,135,229,0); } }
@media (prefers-reduced-motion: reduce){ .si-live{ animation:none; } }
.si-fresh-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px 32px; flex-wrap:wrap; margin-bottom:26px; }
.si-fresh-head .si-head{ margin-bottom:0; flex:1 1 520px; }
.si-deadline{ display:flex; flex-direction:column; gap:2px; padding:16px 20px; border-radius:18px; background: rgba(57,135,229,0.10); border:1px solid rgba(57,135,229,0.35); min-width:230px; }
.si-deadline-lbl{ font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:#9EC5F4; }
.si-deadline-date{ font-family:'Instrument Sans', sans-serif; font-size:28px; font-weight:700; line-height:1.15; }
.si-deadline-days{ font-size:14px; font-weight:800; color:#fff; }
.si-deadline-note{ font-size:12px; color: var(--si-ink-2); margin-top:4px; }
.si-fresh{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; }
.si-fc{ display:flex; flex-direction:column; gap:12px; padding:20px 22px; border-radius:22px; background: var(--si-surface); border:1px solid var(--si-line); }
.si-fc-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.si-fc-who{ display:inline-flex; align-items:center; gap:10px; padding:4px 10px 4px 4px; border-radius:14px; border:1px solid transparent; background:transparent; color:#fff; font-size:14px; font-weight:700; text-align:left; cursor:pointer; line-height:1.2; }
.si-fc-who:hover{ background: rgba(255,255,255,0.06); border-color: rgba(139,127,255,0.4); }
.si-fc-who:focus-visible{ outline:2px solid #8B7FFF; outline-offset:2px; }
.si-fc-who small{ display:block; font-weight:500; font-size:11.5px; color: var(--si-muted); }
.si-fc-when{ text-align:right; font-size:11.5px; line-height:1.35; color: var(--si-muted); flex:none; }
.si-fc-when b{ display:block; font-size:13px; color:#fff; }
.si-fc-title{ display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; }
.si-tag{ font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; padding:4px 11px; border-radius:999px; border:1px solid transparent; }
.si-tag--buy{ color:#9EC5F4; background: rgba(57,135,229,0.16); border-color: rgba(57,135,229,0.4); }
.si-tag--sell{ color:#F5A3A3; background: rgba(230,103,103,0.16); border-color: rgba(230,103,103,0.4); }
.si-tag--flat{ color: var(--si-ink-2); background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.14); }
.si-fc-tkr{ font-size:22px; font-weight:800; letter-spacing:.01em; }
.si-fc-co{ font-size:14px; color: var(--si-ink-2); }
.si-fc-body{ margin:0; font-size:14.5px; line-height:1.6; color: var(--si-ink-2); }
.si-fc-body b{ color:#fff; }
.si-fc-ctx{ margin:0; padding-top:10px; border-top:1px solid var(--si-line); font-size:12.5px; line-height:1.5; color: var(--si-muted); }
.si-fc-link{ margin-top:auto; font-size:12.5px; font-weight:800; color:#B5ADFF; }
.si-fc-link:hover{ color:#fff; }
.si-more{ display:block; margin:22px auto 0; padding:10px 24px; border-radius:999px; border:1px solid var(--si-line); background:transparent; color:#fff; font-size:13.5px; font-weight:700; cursor:pointer; }
.si-more:hover{ border-color: rgba(255,255,255,0.35); }
.si-more:focus-visible{ outline:2px solid #8B7FFF; outline-offset:2px; }

/* ---------------- Bands / headings ---------------- */
.si-band{ padding:64px 0; background: linear-gradient(180deg, var(--band-dark) 0%, var(--band-mid) 100%); color:#fff; border-top:1px solid rgba(255,255,255,0.05); }
.si-band--alt{ background: linear-gradient(180deg, var(--band-mid) 0%, var(--band-dark) 100%); }
.si-head{ max-width:760px; margin-bottom:30px; }
.si-head h2{
  font-family:'Instrument Sans', sans-serif; font-weight:600; font-size:clamp(28px, 4vw, 44px); line-height:1.07;
  letter-spacing:-0.01em; margin:14px 0 12px; color:#fff;
}
.si-head p{ font-size:15px; line-height:1.65; color: var(--si-ink-2); margin:0; }

/* ---------------- Avatars (monogram, tinted by investing style) ---------------- */
.si-av{
  flex:none; display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:14px;
  font-family:'Instrument Sans', sans-serif; font-weight:700; font-size:15px; color:#fff; letter-spacing:.01em;
  background: linear-gradient(135deg, #5A5A7A, #3A3A55); box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
}
.si-av--sm{ width:28px; height:28px; border-radius:10px; font-size:11px; }
.si-av--xs{ width:24px; height:24px; border-radius:8px; font-size:11px; }
.si-av--lg{ width:64px; height:64px; border-radius:20px; font-size:24px; }
.si-av--value{ background: linear-gradient(135deg, #1C9B78, #0F5C6E); }
.si-av--activist{ background: linear-gradient(135deg, #F0683C, #A8321F); }
.si-av--macro{ background: linear-gradient(135deg, #5B6CFF, #2D2F8F); }
.si-av--growth{ background: linear-gradient(135deg, #E05FA0, #7B3AA8); }
.si-av--distressed{ background: linear-gradient(135deg, #E0A020, #9A5A0E); }
.si-av--founder{ background: linear-gradient(135deg, #F2C14E, #B8762A); color:#1D1D2E; }
.si-av--contrarian{ background: linear-gradient(135deg, #E8576B, #7E1E3C); }
.si-av--quality{ background: linear-gradient(135deg, #3FB6D6, #1B5E86); }
.si-av--multi-manager{ background: linear-gradient(135deg, #7C8CA8, #3D4A63); }

/* ---------------- Tabs ---------------- */
.si-tabs{ display:inline-flex; gap:4px; padding:4px; margin-bottom:20px; border-radius:999px; background: rgba(255,255,255,0.05); border:1px solid var(--si-line); }
.si-tab{ padding:8px 20px; border:0; border-radius:999px; background:transparent; color: var(--si-ink-2); font-weight:700; font-size:13.5px; cursor:pointer; transition: background .15s ease, color .15s ease; }
.si-tab:hover{ color:#fff; }
.si-tab.active{ background:#fff; color:#17182E; }
.si-tab:focus-visible{ outline:2px solid #8B7FFF; outline-offset:2px; }

/* ---------------- Move cards ---------------- */
.si-moves{
  display:grid; grid-auto-flow:column; grid-auto-columns: minmax(250px, 270px); gap:14px;
  overflow-x:auto; padding-bottom:14px; scroll-snap-type:x proximity;
}
.si-moves::-webkit-scrollbar{ height:7px; }
.si-moves::-webkit-scrollbar-track{ background:transparent; }
.si-moves::-webkit-scrollbar-thumb{ background: rgba(139,127,255,0.45); border-radius:999px; }
.si-moves::-webkit-scrollbar-thumb:hover{ background: rgba(139,127,255,0.7); }
.si-move{
  scroll-snap-align:start; display:flex; flex-direction:column; gap:12px; text-align:left; cursor:pointer;
  padding:18px; border-radius:20px; color:#fff; background: var(--si-surface); border:1px solid var(--si-line);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.si-move:hover{ transform: translateY(-3px); border-color: rgba(139,127,255,0.5); background: var(--si-surface-2); }
.si-move:focus-visible{ outline:2px solid #8B7FFF; outline-offset:2px; }
.si-move-top{ display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:center; }
.si-move-who{ font-size:13px; font-weight:700; color: var(--si-ink-2); line-height:1.25; min-width:0; }
.si-move-who small{ display:block; font-weight:500; font-size:11px; color: var(--si-muted); }
.si-verb{ grid-column:1 / -1; grid-row:1; justify-self:start; flex:none; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; padding:4px 10px; border-radius:999px; border:1px solid transparent; }
.si-verb--buy{ color:#9EC5F4; background: rgba(57,135,229,0.16); border-color: rgba(57,135,229,0.4); }
.si-verb--sell{ color:#F5A3A3; background: rgba(230,103,103,0.16); border-color: rgba(230,103,103,0.4); }
.si-move-stock{ display:flex; flex-direction:column; gap:2px; }
.si-move-tkr{ font-family:'Instrument Sans', sans-serif; font-size:34px; font-weight:700; line-height:1; letter-spacing:-0.01em; }
.si-move-name{ font-size:12px; color: var(--si-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.si-move-usd{ font-size:15px; font-weight:700; color: var(--si-ink-2); }
.si-move-usd small{ font-weight:500; color: var(--si-muted); font-size:12px; }
.si-move-since{ display:flex; align-items:center; gap:8px; padding-top:12px; border-top:1px solid var(--si-line); font-size:12.5px; color: var(--si-muted); }
.si-since{ font-weight:800; font-size:14px; color:#fff; display:inline-flex; align-items:center; gap:5px; }
.si-since::before{ content:""; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; }
.si-since.up::before{ border-bottom:8px solid var(--si-up); }
.si-since.down::before{ border-top:8px solid var(--si-down); }
.si-since.flat::before{ width:8px; height:2px; border:0; background: var(--si-muted); }

/* ---------------- Crowd ---------------- */
.si-crowd-grid{ display:grid; grid-template-columns: minmax(0,3fr) minmax(0,2fr); gap:24px; align-items:start; }

/* ---------------- Leaderboards ---------------- */
.si-tabs--wrap{ display:flex; flex-wrap:wrap; border-radius:22px; margin-bottom:22px; }
.si-tab{ display:inline-flex; align-items:center; gap:8px; }
.si-tab-n{ display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:50%; background: rgba(255,255,255,0.12); font-size:11px; font-weight:800; }
.si-tab.active .si-tab-n{ background:#17182E; color:#fff; }
.si-board-head h3{ font-family:'Instrument Sans', sans-serif; font-size:26px; line-height:1.2; margin:0 0 8px; color:#fff; }
.si-board-head p{ font-size:14.5px; line-height:1.65; color: var(--si-ink-2); margin:0 0 14px; max-width:60ch; }
.si-modes{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 14px; }
.si-modes-lbl{ font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color: var(--si-muted); margin-right:2px; }
.si-lb{ display:flex; flex-direction:column; gap:2px; }
.si-lb-row{
  display:grid; grid-template-columns: 26px minmax(0,1.6fr) auto minmax(60px,1fr) 78px; gap:12px; align-items:center;
  padding:10px 12px; border-radius:14px; border:1px solid transparent; background:transparent; color:#fff; text-align:left; cursor:pointer; width:100%;
}
.si-lb-row:hover{ background: rgba(255,255,255,0.05); }
.si-lb-row.active{ background: rgba(139,127,255,0.14); border-color: rgba(139,127,255,0.4); }
.si-lb-row:focus-visible{ outline:2px solid #8B7FFF; outline-offset:1px; }
.si-lb-rank{ font-family:'Instrument Sans', sans-serif; font-size:20px; font-weight:700; color: var(--si-muted); text-align:center; font-variant-numeric: tabular-nums; }
.si-lb-row:nth-child(-n+3) .si-lb-rank{ color:#fff; }
.si-lb-name{ min-width:0; display:block; line-height:1.3; }
.si-lb-tkr{ font-size:16px; font-weight:800; margin-right:8px; letter-spacing:.01em; }
.si-lb-co{ font-size:12.5px; color: var(--si-ink-2); }
.si-lb-flag{ display:inline-block; margin-left:8px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:2px 8px; border-radius:999px; color:#9EC5F4; background: rgba(57,135,229,0.16); vertical-align:middle; }
.si-lb-name small{ display:block; margin-top:2px; font-size:11.5px; line-height:1.4; color: var(--si-muted); }
.si-lb-track{ height:10px; background: rgba(255,255,255,0.04); border-radius:0 4px 4px 0; }
.si-lb-fill{ display:block; height:100%; border-radius:0 4px 4px 0; background: linear-gradient(90deg, #1C5CAB, #5598E7); }
.si-lb-val{ font-size:17px; font-weight:800; text-align:right; font-variant-numeric: tabular-nums; line-height:1.15; }
.si-lb-val small{ display:block; font-size:11px; font-weight:600; color: var(--si-muted); letter-spacing:.02em; }
.si-faces{ display:inline-flex; align-items:center; padding-left:7px; }
.si-faces .si-av{ margin-left:-7px; box-shadow: 0 0 0 2px #1a1b33; }
.si-faces-more{ margin-left:4px; font-size:11px; font-weight:700; color: var(--si-muted); }
.si-lb-rank{ grid-column:1; grid-row:1; }
.si-lb-name{ grid-column:2; grid-row:1; }
.si-lb-row > .si-faces{ grid-column:3; grid-row:1; }
.si-lb-track{ grid-column:4; grid-row:1; }
.si-lb-val{ grid-column:5; grid-row:1; }
.si-lb-row:not(:has(.si-faces)) .si-lb-track{ grid-column:3 / 5; }
.si-legend-note{ margin-top:14px; }

.si-who{ position:sticky; top:96px; padding:20px; border-radius:20px; background: var(--si-surface); border:1px solid var(--si-line); }
.si-who h3{ font-family:'Instrument Sans', sans-serif; font-size:20px; margin:0 0 12px; color:#fff; }
.si-who-input{ width:100%; padding:11px 14px; border-radius:12px; border:1px solid var(--si-line); background: rgba(255,255,255,0.05); color:#fff; font-size:15px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.si-who-input::placeholder{ text-transform:none; letter-spacing:0; font-weight:500; color: var(--si-muted); }
.si-who-input:focus-visible{ outline:2px solid #8B7FFF; outline-offset:1px; }
.si-who-result{ margin-top:14px; display:flex; flex-direction:column; gap:8px; max-height:420px; overflow-y:auto; }
.si-who-result::-webkit-scrollbar{ width:8px; }
.si-who-result::-webkit-scrollbar-track{ background:transparent; }
.si-who-result::-webkit-scrollbar-thumb{ background: rgba(139,127,255,0.45); border-radius:999px; }
.si-who-result::-webkit-scrollbar-thumb:hover{ background: rgba(139,127,255,0.7); }
.si-hint{ font-size:13px; line-height:1.6; color: var(--si-muted); margin:0; }
.si-who-title{ font-size:13px; color: var(--si-ink-2); margin:0 0 4px; }
.si-who-title b{ color:#fff; }
.si-holder{ display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:12px; background: rgba(255,255,255,0.04); border:1px solid transparent; color:#fff; text-align:left; cursor:pointer; width:100%; }
.si-holder:hover{ border-color: rgba(139,127,255,0.45); }
.si-holder-main{ flex:1; min-width:0; font-size:13px; font-weight:700; line-height:1.25; }
.si-holder-main small{ display:block; font-weight:500; font-size:11px; color: var(--si-muted); }
.si-holder-w{ font-size:13px; font-weight:800; font-variant-numeric: tabular-nums; }
.si-act{ font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:2px 7px; border-radius:999px; background: rgba(255,255,255,0.08); color: var(--si-ink-2); }
.si-act--new, .si-act--added{ color:#9EC5F4; background: rgba(57,135,229,0.16); }
.si-act--trimmed, .si-act--sold, .si-act--exited{ color:#F5A3A3; background: rgba(230,103,103,0.16); }

/* ---------------- Roster ---------------- */
.si-controls{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px 20px; margin-bottom:22px; }
.si-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.si-chip{ padding:7px 14px; border-radius:999px; border:1px solid var(--si-line); background:transparent; color: var(--si-ink-2); font-size:13px; font-weight:700; cursor:pointer; transition: all .15s ease; }
.si-chip:hover{ color:#fff; border-color: rgba(255,255,255,0.3); }
.si-chip.active{ background:#fff; color:#17182E; border-color:#fff; }
.si-chip:focus-visible{ outline:2px solid #8B7FFF; outline-offset:2px; }
/* the sort control is one pill, shaped like the chips: the label sits inside it, the select fills the rest (so a click anywhere on the value opens it) and a drawn chevron replaces the native arrow */
.si-sort{ position:relative; display:inline-flex; align-items:center; gap:10px; padding:0 0 0 16px; border:1px solid var(--si-line); border-radius:999px; background:transparent; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color: var(--si-muted); cursor:pointer; transition: border-color .15s ease, background .15s ease; }
.si-sort:hover{ border-color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.03); }
.si-sort:focus-within{ outline:2px solid #8B7FFF; outline-offset:2px; }
.si-sort select{ -webkit-appearance:none; appearance:none; margin:0; padding:8px 40px 8px 0; border:0; border-radius:0 999px 999px 0; background:transparent; color:#fff; font-family:inherit; font-size:13px; font-weight:700; line-height:1.2; text-transform:none; letter-spacing:0; cursor:pointer; outline:none; field-sizing:content; }
.si-sort select option{ background:#1D1D2E; color:#fff; }
.si-sort::after{ content:""; position:absolute; right:17px; top:50%; width:6px; height:6px; margin-top:-5px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); pointer-events:none; }

/* the roster under the grid: a link to every investor's own page, in the page itself (the grid above is drawn by JavaScript) */
.si-roster-list{ display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:10px; margin:0; padding:0; list-style:none; }
.si-roster-list a{ display:flex; flex-direction:column; gap:2px; min-height:44px; padding:14px 16px; border-radius:16px; background: rgba(255,255,255,0.04); border:1px solid var(--si-line); color: var(--si-ink-2); transition: background .15s ease, border-color .15s ease; }
.si-roster-list a:hover{ background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.22); }
.si-roster-list b{ color:#fff; font-size:15px; }
.si-roster-list span{ font-size:12.5px; }
.si-roster-list small{ font-size:11.5px; color: var(--si-muted); }

.si-grid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:20px; }
.si-card{
  --c1:#86B6EF; --c2:#5598E7; --c3:#3987E5; --c4:#256ABF; --c5:#1C5CAB;
  position:relative; display:flex; flex-direction:column; gap:16px; text-align:left; cursor:pointer; color:#fff;
  padding:24px; border-radius:24px; background: var(--si-surface); border:1px solid var(--si-line);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.si-card:hover{ transform: translateY(-4px); border-color: rgba(139,127,255,0.55); box-shadow: 0 18px 40px rgba(0,0,0,0.35); }
.si-card:focus-visible{ outline:2px solid #8B7FFF; outline-offset:2px; }
.si-card-head{ display:flex; align-items:center; gap:14px; }
.si-card .si-av{ width:54px; height:54px; border-radius:17px; font-size:20px; }
.si-card-id{ display:block; min-width:0; flex:1; }
.si-card-name{ display:block; font-family:'Instrument Sans', sans-serif; font-size:23px; font-weight:600; line-height:1.15; }
.si-card-fund{ display:block; margin-top:3px; font-size:12.5px; color: var(--si-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.si-card-badges{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; flex:none; align-self:flex-start; }
.si-style{ font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; padding:4px 10px; border-radius:999px; background: rgba(255,255,255,0.08); color: var(--si-ink-2); }
.si-card-tagline{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:14px; line-height:1.55; color: var(--si-ink-2); }
.si-card-stats{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:8px; }
.si-mini{ display:flex; flex-direction:column; gap:3px; padding:11px 12px; border-radius:14px; background: rgba(255,255,255,0.04); min-width:0; }
.si-mini-lbl{ font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color: var(--si-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.si-mini-val{ font-size:17px; font-weight:800; line-height:1.15; font-variant-numeric: tabular-nums; }
.si-conc-wrap{ display:flex; flex-direction:column; gap:10px; }
.si-conc{ display:flex; gap:2px; height:10px; }
.si-conc span{ border-radius:3px; min-width:3px; background:#5598E7; }
.si-conc span:nth-child(1){ background: var(--c1); }
.si-conc span:nth-child(2){ background: var(--c2); }
.si-conc span:nth-child(3){ background: var(--c3); }
.si-conc span:nth-child(4){ background: var(--c4); }
.si-conc span:nth-child(5){ background: var(--c5); }
.si-conc span.rest{ background: rgba(255,255,255,0.12); flex:1; }
.si-top5{ display:flex; flex-wrap:wrap; gap:4px 14px; font-size:12.5px; color: var(--si-muted); }
.si-top5 > span{ display:inline-flex; align-items:center; gap:6px; }
.si-top5 b{ color:#fff; font-weight:800; }
.si-top5 i{ width:10px; height:10px; border-radius:3px; flex:none; }
.si-top5 i.c1{ background: var(--c1); } .si-top5 i.c2{ background: var(--c2); } .si-top5 i.c3{ background: var(--c3); } .si-top5 i.c4{ background: var(--c4); } .si-top5 i.c5{ background: var(--c5); }
.si-card-sub{ display:block; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color: var(--si-muted); margin-bottom:-6px; }
.si-mvs{ display:flex; flex-wrap:wrap; gap:6px; }
.si-mv{ display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border-radius:999px; font-size:12.5px; font-weight:800; color:#fff; background: rgba(255,255,255,0.07); border:1px solid transparent; }
.si-mv i{ font-style:normal; font-weight:700; font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.si-mv--buy{ background: rgba(57,135,229,0.16); border-color: rgba(57,135,229,0.4); }
.si-mv--buy i{ color:#9EC5F4; }
.si-mv--sell{ background: rgba(230,103,103,0.16); border-color: rgba(230,103,103,0.4); }
.si-mv--sell i{ color:#F5A3A3; }
.si-card-last{ font-size:13.5px; line-height:1.55; color: var(--si-ink-2); }
.si-card-last b{ color:#fff; }
.si-card-cta{ margin-top:auto; padding-top:14px; border-top:1px solid var(--si-line); font-size:13px; font-weight:800; color:#B5ADFF; }
.si-card:hover .si-card-cta{ color:#fff; }
.si-ribbon{ font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:3px 9px; border-radius:999px; background: rgba(255,194,87,0.14); color:#FFC257; border:1px solid rgba(255,194,87,0.35); white-space:nowrap; }
.si-card--dim{ opacity:.85; }

/* ---------------- Scoreboard (diverging bars around a baseline) ---------------- */
.si-score{ display:flex; flex-direction:column; gap:4px; max-width:900px; }
.si-score-row{ display:grid; grid-template-columns: 190px minmax(0,1fr) 70px; gap:12px; align-items:center; padding:6px 8px; border-radius:12px; border:0; background:transparent; color:#fff; text-align:left; cursor:pointer; width:100%; }
.si-score-row:hover{ background: rgba(255,255,255,0.05); }
.si-score-row:focus-visible{ outline:2px solid #8B7FFF; outline-offset:1px; }
.si-score-who{ display:flex; align-items:center; gap:10px; min-width:0; font-size:13.5px; font-weight:700; line-height:1.2; }
.si-score-who small{ display:block; font-weight:500; font-size:11px; color: var(--si-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.si-score-track{ position:relative; height:20px; }
.si-score-track::before{ content:""; position:absolute; left:50%; top:-3px; bottom:-3px; width:1px; background: rgba(255,255,255,0.22); }
.si-score-bar{ position:absolute; top:3px; height:14px; }
.si-score-bar.up{ left:50%; border-radius:0 4px 4px 0; background: var(--si-up); }
.si-score-bar.down{ right:50%; border-radius:4px 0 0 4px; background: var(--si-down); }
.si-score-val{ font-size:14px; font-weight:800; text-align:right; font-variant-numeric: tabular-nums; }
.si-legend-note{ max-width:900px; margin:14px 0 0; font-size:12.5px; line-height:1.6; color: var(--si-muted); }

/* ---------------- Method ---------------- */
.si-caveats{ display:grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap:14px; margin-bottom:44px; }
.si-caveat{ display:flex; flex-direction:column; gap:6px; padding:18px; border-radius:18px; background: var(--si-surface); border:1px solid var(--si-line); }
.si-caveat b{ font-family:'Instrument Sans', sans-serif; font-size:18px; font-weight:600; color:#fff; }
.si-caveat span{ font-size:13.5px; line-height:1.6; color: var(--si-ink-2); }
.si-faq-head h2{ font-family:'Instrument Sans', sans-serif; font-weight:600; font-size:clamp(24px, 3.2vw, 32px); margin:0 0 18px; color:#fff; }
#siFaqList{ max-width:860px; }
.si-disclaimer{ max-width:860px; margin:26px 0 0; font-size:12px; line-height:1.7; color: var(--si-muted); }

/* ---------------- Drawer ---------------- */
.si-overlay{ position:fixed; inset:0; z-index:200; display:flex; justify-content:flex-end; background: rgba(8,8,16,0.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity:0; transition: opacity .2s ease; }
.si-overlay.open{ opacity:1; }
.si-drawer{
  position:relative; width:min(1000px, 100%); height:100%; overflow-y:auto; color:#fff;
  background: radial-gradient(120% 90% at 0% 0%, #1E1B3A 0%, #15162B 45%, #0E0E1C 100%);
  border-left:1px solid rgba(255,255,255,0.1); box-shadow: -30px 0 80px rgba(0,0,0,0.5);
  transform: translateX(48px); transition: transform .28s cubic-bezier(.16,1,.3,1);
}
.si-overlay.open .si-drawer{ transform: translateX(0); }
.si-drawer::-webkit-scrollbar{ width:8px; }
.si-drawer::-webkit-scrollbar-track{ background:transparent; }
.si-drawer::-webkit-scrollbar-thumb{ background: rgba(139,127,255,0.45); border-radius:999px; }
.si-drawer::-webkit-scrollbar-thumb:hover{ background: rgba(139,127,255,0.7); }
.si-drawer-close{ position:sticky; top:14px; float:right; margin:14px 14px 0 0; z-index:5; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; background: rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.15); color:#fff; cursor:pointer; }
.si-drawer-close svg{ width:16px; height:16px; }
.si-drawer-close:hover{ background: rgba(255,255,255,0.2); }
.si-drawer-body{ padding:34px 34px 60px; }
.si-d-head{ display:flex; align-items:center; gap:18px; margin-bottom:8px; padding-right:48px; }
.si-d-title{ font-family:'Instrument Sans', sans-serif; font-size:clamp(28px, 4vw, 40px); font-weight:600; line-height:1.05; margin:0; }
.si-d-fund{ font-size:14px; color: var(--si-ink-2); margin:4px 0 0; }
.si-d-tag{ font-size:14px; line-height:1.6; color: var(--si-ink-2); margin:14px 0 0; max-width:680px; }
.si-d-meta{ display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 0; }
.si-pill{ font-size:12px; font-weight:700; padding:6px 12px; border-radius:999px; background: rgba(255,255,255,0.07); color: var(--si-ink-2); border:1px solid var(--si-line); }
.si-pill a{ color:#C9C2FF; text-decoration:underline; }
.si-pill--note{ flex-basis:100%; border-radius:14px; font-weight:600; line-height:1.5; background: rgba(57,135,229,0.10); border-color: rgba(57,135,229,0.32); }
.si-pill--warn{ color:#FFC257; background: rgba(255,194,87,0.12); border-color: rgba(255,194,87,0.35); }
.si-kpis{ display:grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap:12px; margin:26px 0 8px; }
.si-kpi{ display:flex; flex-direction:column; gap:3px; padding:14px 16px; border-radius:16px; background: rgba(255,255,255,0.05); border:1px solid var(--si-line); }
.si-kpi-lbl{ font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color: var(--si-muted); }
.si-kpi-val{ font-family:'Instrument Sans', sans-serif; font-size:26px; font-weight:600; line-height:1.1; }
.si-kpi-sub{ font-size:11.5px; line-height:1.4; color: var(--si-muted); }
.si-d-section{ margin-top:36px; }
.si-d-section h3{ font-family:'Instrument Sans', sans-serif; font-size:22px; font-weight:600; margin:0 0 6px; }
.si-d-section > p{ font-size:13.5px; line-height:1.6; color: var(--si-ink-2); margin:0 0 16px; max-width:720px; }
.si-spark{ display:block; width:100%; max-width:560px; height:auto; overflow:visible; }
.si-spark-note{ font-size:12px; color: var(--si-muted); margin:6px 0 0; }

/* treemap */
.si-treemap{ position:relative; width:100%; border-radius:16px; overflow:hidden; background: var(--si-surface); border:1px solid var(--si-line); }
.si-treemap svg{ display:block; width:100%; height:auto; }
.si-tile{ cursor:pointer; outline:none; }
.si-tile rect{ transition: filter .12s ease; }
.si-tile:hover rect, .si-tile:focus-visible rect{ filter: brightness(1.18); }
.si-tile:focus-visible rect{ stroke:#fff; stroke-width:2; }
.si-tile text{ pointer-events:none; font-family:'Instrument Sans', system-ui, sans-serif; }
.si-scale{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:10px 0 0; font-size:11.5px; color: var(--si-muted); }
.si-scale-note{ flex-basis:100%; line-height:1.5; }
.si-scale-bar{ flex:none; width:180px; height:8px; border-radius:4px; background: linear-gradient(90deg, #e66767 0%, #383835 50%, #3987e5 100%); }

/* tables */
.si-table-wrap{ overflow:auto; max-height:520px; border-radius:16px; border:1px solid var(--si-line); background: rgba(255,255,255,0.02); }
.si-table-wrap::-webkit-scrollbar{ width:8px; height:8px; }
.si-table-wrap::-webkit-scrollbar-track{ background:transparent; }
.si-table-wrap::-webkit-scrollbar-thumb{ background: rgba(139,127,255,0.45); border-radius:999px; }
.si-table-wrap::-webkit-scrollbar-thumb:hover{ background: rgba(139,127,255,0.7); }
.si-table{ width:100%; border-collapse:separate; border-spacing:0; font-size:12.5px; color: var(--si-ink-2); }
.si-table th{ position:sticky; top:0; z-index:2; text-align:left; padding:10px 12px; background:#151A2E; border-bottom:1px solid rgba(255,255,255,0.1); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color: var(--si-muted); white-space:nowrap; }
.si-table td{ padding:10px 12px; border-bottom:1px solid rgba(255,255,255,0.06); white-space:nowrap; }
.si-table th.num, .si-table td.num{ text-align:right; font-variant-numeric: tabular-nums; }
.si-table td b{ color:#fff; }
.si-table td small{ display:block; font-size:11px; color: var(--si-muted); }
.si-table tr.clickable{ cursor:pointer; }
.si-table tr.clickable:hover td{ background: rgba(255,255,255,0.04); }
.si-pos{ color:#9EC5F4; font-weight:700; }
.si-neg{ color:#F5A3A3; font-weight:700; }

/* moves inside the drawer */
.si-mv-groups{ display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:14px; }
.si-mv-group{ padding:16px; border-radius:18px; background: rgba(255,255,255,0.04); border:1px solid var(--si-line); }
.si-mv-group h4{ margin:0 0 10px; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color: var(--si-muted); }
.si-mv-item{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 0; border-top:1px solid rgba(255,255,255,0.06); font-size:13px; }
.si-mv-item:first-of-type{ border-top:0; }
.si-mv-item b{ color:#fff; }
.si-mv-item small{ display:block; font-size:11px; color: var(--si-muted); }
.si-mv-empty{ font-size:12.5px; color: var(--si-muted); margin:0; }

/* insider bars (monthly $ sold) */
.si-bars{ display:flex; align-items:flex-end; gap:6px; height:150px; padding:10px 4px 0; }
.si-bar{ flex:1; min-width:10px; max-width:24px; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:6px; height:100%; }
.si-bar-fill{ width:100%; border-radius:4px 4px 0 0; background: #5598E7; min-height:2px; }
.si-bar-lbl{ font-size:11px; color: var(--si-muted); }
.si-link-list{ display:flex; flex-direction:column; gap:6px; }
.si-link-list a{ display:flex; justify-content:space-between; gap:12px; padding:9px 12px; border-radius:12px; background: rgba(255,255,255,0.04); color: var(--si-ink-2); font-size:13px; }
.si-link-list a:hover{ background: rgba(255,255,255,0.08); color:#fff; }
.si-link-list a span{ color: var(--si-muted); }

/* tooltip */
.si-tip{ position:fixed; z-index:300; max-width:260px; padding:10px 12px; border-radius:12px; pointer-events:none; font-size:12px; line-height:1.5; color: var(--si-ink-2); background: rgba(18,19,38,0.96); border:1px solid rgba(255,255,255,0.14); box-shadow: 0 14px 30px rgba(0,0,0,0.45); }
.si-tip b{ display:block; color:#fff; font-size:13px; }
.si-tip .si-tip-val{ color:#fff; font-weight:800; }

@media (max-width: 820px){
  .si-grid, .si-fresh{ grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 900px){
  .si-crowd-grid{ grid-template-columns: minmax(0,1fr); }
  .si-lb-row{ grid-template-columns: 26px minmax(0,1.6fr) auto minmax(50px,1fr) 78px; }
  .si-who{ position:static; }
  .si-score-row{ grid-template-columns: 150px minmax(0,1fr) 62px; }
}
@media (max-width: 620px){
  .si-card{ padding:20px 18px; }
  .si-card-stats{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .si-card-name{ font-size:21px; }
  .si-card-head{ flex-wrap:wrap; row-gap:10px; }
  .si-card-badges{ order:3; flex-basis:100%; flex-direction:row; flex-wrap:wrap; align-items:center; align-self:auto; }
  .si-card-fund{ white-space:normal; }
  .si-hero{ padding:44px 0 28px; }
  .si-stat--hero{ grid-column: span 1; }
  .si-band{ padding:48px 0; }
  .si-drawer-body{ padding:24px 18px 48px; }
  .si-d-head{ gap:12px; }
  .si-av--lg{ width:52px; height:52px; font-size:19px; }
  .si-lb-row{ grid-template-columns: 22px minmax(0,1fr) 72px; gap:8px 10px; padding:10px 8px; }
  .si-lb-rank{ font-size:17px; }
  .si-lb-row > .si-faces{ display:none; }
  .si-lb-row .si-lb-track, .si-lb-row:not(:has(.si-faces)) .si-lb-track{ grid-column:2 / 4; grid-row:2; }
  .si-lb-val{ grid-column:3; grid-row:1; }
  .si-board-head h3{ font-size:22px; }
  .si-tab{ padding:7px 12px; font-size:12.5px; }
  .si-score-row{ grid-template-columns: 110px minmax(0,1fr) 56px; gap:8px; }
  .si-score-who .si-av{ display:none; }
  .si-moves{ grid-auto-columns: minmax(230px, 82%); }
}

/* ---- Themed scrollbars: Firefox only ----
   (Chromium/Safari use the ::-webkit-scrollbar rules above; see css/style.css for why these two
   standard properties live only inside this block.) */
@supports not selector(::-webkit-scrollbar){
  .si-moves, .si-drawer, .si-table-wrap, .si-who-result{ scrollbar-width: thin; scrollbar-color: rgba(139,127,255,0.5) transparent; }
}

/* Phone pass (2026-10-17) */
@media (max-width: 720px){
  .si-tab{ min-height:44px; }
  .si-chip{ min-height:40px; }
  .si-more{ min-height:44px; }
  .si-fc-link{ padding-block:12px; }
}

/* how to use this page */
.si-steps{ list-style:none; margin:0 0 22px; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:14px; counter-reset: si-step; }
.si-step{ position:relative; display:flex; flex-direction:column; gap:6px; padding:18px 18px 18px 60px; border-radius:18px; background: var(--si-surface); border:1px solid var(--si-line); counter-increment: si-step; }
.si-step::before{ content:counter(si-step); position:absolute; left:16px; top:16px; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; color:#fff; background:#8B7FFF; }
.si-step b{ font-family:'Instrument Sans', sans-serif; font-size:17px; font-weight:600; color:#fff; }
.si-step span{ font-size:13.5px; line-height:1.6; color: var(--si-ink-2); }
.si-steps-cta{ margin:0; font-size:15px; color: var(--si-ink-2); }
.si-steps-cta a{ color:#fff; font-weight:600; text-decoration:underline; }

/* sector rotation, portfolio overlap, long-held positions and the S&P 500 column (js/si-insights.js) */
.sii-lede{ margin:0 0 18px; max-width:820px; font-size:16px; line-height:1.65; color:var(--si-ink-2); }
.sii-lede b{ color:#fff; }
.sii-bench{ margin:8px 0 0; max-width:820px; font-size:14.5px; line-height:1.6; color:var(--si-ink-2); }
.sii-rot{ display:flex; flex-direction:column; gap:2px; max-width:960px; }
.sii-rot-row{ display:grid; grid-template-columns:200px minmax(0,1fr) 86px; gap:4px 14px; align-items:center; padding:10px 8px; border-bottom:1px solid var(--si-line); }
.sii-rot-name{ font-size:14px; font-weight:700; color:#fff; line-height:1.25; }
.sii-rot-name small{ display:block; margin-top:2px; font-size:11.5px; font-weight:500; color:var(--si-muted); }
.sii-rot-track{ position:relative; height:18px; }
.sii-rot-track::before{ content:""; position:absolute; left:50%; top:-3px; bottom:-3px; width:1px; background:rgba(255,255,255,0.22); }
.sii-rot-bar{ position:absolute; top:2px; height:14px; }
.sii-rot-bar.up{ left:50%; border-radius:0 4px 4px 0; background:var(--si-up); }
.sii-rot-bar.down{ right:50%; border-radius:4px 0 0 4px; background:var(--si-down); }
.sii-rot-net{ font-size:14px; font-weight:800; text-align:right; font-variant-numeric:tabular-nums; }
.sii-rot-net.up{ color:#7db4ff; } .sii-rot-net.down{ color:#ff9a9a; }
.sii-rot-top{ grid-column:1 / -1; font-size:12.5px; line-height:1.5; color:var(--si-muted); }
.sii-rot-top b{ color:var(--si-ink-2); font-weight:700; }
.sii-pick{ display:flex; flex-wrap:wrap; gap:14px; margin:0 0 14px; }
.sii-pick label{ display:flex; flex-direction:column; gap:4px; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--si-muted); }
.sii-pick select{ min-height:44px; min-width:220px; padding:0 12px; border-radius:12px; border:1px solid var(--si-line); background:var(--si-surface); color:#fff; font:inherit; font-size:16px; text-transform:none; letter-spacing:0; }
.sii-pairs{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 18px; font-size:13px; color:var(--si-muted); }
.sii-pairs .si-chip b{ margin-left:6px; color:#fff; }
.sii-result{ display:grid; grid-template-columns:minmax(240px,320px) minmax(0,1fr); gap:20px; align-items:start; margin:0 0 22px; }
.sii-big{ display:flex; flex-direction:column; gap:8px; padding:20px; border-radius:18px; background:var(--si-surface); border:1px solid var(--si-line); }
.sii-big b{ font-family:'Instrument Sans', sans-serif; font-size:44px; line-height:1; font-weight:600; color:#fff; }
.sii-big span{ font-size:13.5px; line-height:1.6; color:var(--si-ink-2); }
.sii-wrap{ margin-bottom:6px; }
.sii-matrix{ border-collapse:separate; border-spacing:2px; font-size:11px; color:var(--si-ink-2); }
.sii-matrix caption{ caption-side:top; text-align:left; padding:0 0 8px; font-size:12.5px; color:var(--si-muted); }
.sii-matrix thead th{ min-width:34px; padding:4px 0; font-size:10.5px; font-weight:700; color:var(--si-muted); }
.sii-matrix tbody th{ position:sticky; left:0; padding:0 10px 0 8px; text-align:left; white-space:nowrap; font-size:12px; font-weight:600; background:var(--si-surface); color:var(--si-ink-2); }
.sii-matrix td{ padding:0; }
.sii-matrix td.self{ background:rgba(255,255,255,0.05); border-radius:5px; }
.sii-cell{ display:block; width:100%; min-width:34px; height:30px; border:0; border-radius:5px; background:rgba(255,255,255,0.03); color:#fff; font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.sii-cell:hover{ outline:2px solid rgba(255,255,255,0.5); }
.sii-cell:focus-visible, .sii-link:focus-visible, .sii-pat-row:focus-visible{ outline:2px solid #8B7FFF; outline-offset:1px; }
.sii-cell.on{ outline:2px solid #FFC257; }
.sii-long{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); gap:22px; align-items:start; margin:0 0 6px; }
.sii-link{ border:0; background:transparent; padding:0; color:#fff; font:inherit; font-weight:600; text-decoration:underline; text-underline-offset:2px; cursor:pointer; text-align:left; }
.sii-patience{ padding:18px; border-radius:18px; background:var(--si-surface); border:1px solid var(--si-line); }
.sii-patience h3{ margin:0 0 6px; font-family:'Instrument Sans', sans-serif; font-size:18px; font-weight:600; color:#fff; }
.sii-patience p{ margin:0 0 12px; font-size:13px; line-height:1.55; color:var(--si-muted); }
.sii-pat-row{ display:grid; grid-template-columns:minmax(0,120px) minmax(0,1fr) 34px; gap:10px; align-items:center; width:100%; min-height:36px; padding:2px 0; border:0; background:transparent; color:#fff; font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.sii-pat-row span:first-child{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sii-pat-track{ position:relative; height:10px; border-radius:5px; background:rgba(255,255,255,0.08); }
.sii-pat-track span{ position:absolute; left:0; top:0; bottom:0; border-radius:5px; background:#8B7FFF; }
.sii-pat-row b{ text-align:right; font-variant-numeric:tabular-nums; }
.snapshot-table .si-pos{ color:#7db4ff; } .snapshot-table .si-neg{ color:#ff9a9a; }
.si-score-row{ grid-template-columns:190px minmax(0,1fr) 70px 92px; }
.si-score-vs{ font-size:12.5px; font-weight:800; text-align:right; font-variant-numeric:tabular-nums; line-height:1.15; }
.si-score-vs small{ display:block; font-weight:500; font-size:10.5px; color:var(--si-muted); }
.si-score-vs.up{ color:#7db4ff; } .si-score-vs.down{ color:#ff9a9a; }
@media (max-width:900px){ .sii-result, .sii-long{ grid-template-columns:1fr; } .si-score-row{ grid-template-columns:150px minmax(0,1fr) 62px 80px; } }
@media (max-width:620px){ .sii-rot-row{ grid-template-columns:minmax(0,1fr) 78px; } .sii-rot-track{ grid-column:1 / -1; order:3; } .sii-rot-top{ order:4; } .si-score-row{ grid-template-columns:110px minmax(0,1fr) 56px 66px; } .sii-pick select{ min-width:0; width:100%; } .sii-pick label{ flex:1 1 100%; } }

/* the H1's topic line, and room for the views that load after the page so they do not shift it */
.si-h1-sub{ display:block; margin-top:14px; font-size:clamp(16px, 2vw, 22px); font-weight:500; letter-spacing:0; line-height:1.3; color:rgba(255,255,255,0.7); }
#siRotation{ min-height:620px; } #siOverlap{ min-height:1100px; } #siLongHeld{ min-height:700px; }
@media (max-width:900px){ #siOverlap{ min-height:1500px; } #siLongHeld{ min-height:1100px; } }

/* the "More lenses" tabs (js/si-lenses.js) */
.sii-lens{ min-height:760px; }
.sii-twin{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:22px; align-items:start; margin:0 0 6px; }
.sii-twin--wide{ grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); }
.sii-twin h3{ margin:0 0 10px; font-family:'Instrument Sans', sans-serif; font-size:18px; font-weight:600; color:#fff; }
.sii-lens .sii-wrap + .sii-twin, .sii-lens .sii-lede + .sii-wrap{ margin-top:0; }
.sii-lens .snapshot-table .sii-link{ font-size:inherit; }
.sii-lens .snapshot-table td.num.si-neg, .sii-lens .snapshot-table td.num.si-pos{ font-weight:700; }
#silRoot{ min-height:900px; }
@media (max-width:900px){ .sii-twin, .sii-twin--wide{ grid-template-columns:1fr; } #silRoot{ min-height:1200px; } }
