:root{--bg:#070a0f;--surface-1: #0d1218;--surface-2: #131a22;--surface-3: #1a232e;--surface-inset:#090d12;--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.14);--border-faint:rgba(255,255,255,0.05);--text:#e8edf2;--text-muted:#9aa7b4;--text-faint:#647483;--text-on-accent:#04130d;--accent:#10b981;--accent-hover:#34d399;--accent-press:#0d9f70;--accent-weak:rgba(16,185,129,0.14);--accent-faint:rgba(16,185,129,0.07);--accent-border:rgba(16,185,129,0.34);--accent-text:#6ee7b7;--cyan:#22d3ee;--cyan-text:#67e8f9;--grad-brand:linear-gradient(92deg,#34d399 8%,#22d3ee 92%);--aurora-a:rgba(16,185,129,0.16);--aurora-b:rgba(34,211,238,0.10);--grid-line:rgba(233,238,244,0.033);--up:#2ebd85;--up-weak:rgba(46,189,133,0.14);--up-text:#5fd6a6;--down:#f6465d;--down-weak:rgba(246,70,93,0.14);--down-text:#ff7a8a;--flat:#8a98a6;--flat-weak:rgba(138,152,166,0.14);--gold:#e8b84b;--gold-weak:rgba(232,184,75,0.13);--gold-border:rgba(232,184,75,0.36);--gold-text:#f0cd7a;--ring:0 0 0 3px rgba(16,185,129,0.40);--r-xs:3px;--r-sm:5px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--shadow-sm:0 1px 2px rgba(0,0,0,0.40);--shadow-md:0 6px 20px rgba(0,0,0,0.45);--shadow-lg:0 16px 48px rgba(0,0,0,0.55);--maxw:1120px;--maxw-narrow:760px;--nav-h:64px;--font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--font-disp:'Space Grotesk','Inter',-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:'JetBrains Mono','SF Mono',ui-monospace,'Cascadia Mono',Menlo,Consolas,monospace}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter-400.woff2') format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/inter-500.woff2') format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter-600.woff2') format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/inter-700.woff2') format('woff2')}@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url('/fonts/space-grotesk-var.woff2') format('woff2')}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url('/fonts/jetbrains-mono-var.woff2') format('woff2')}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:'cv11','ss01';text-rendering:optimizeLegibility}h1,.h1{font-family:var(--font-disp);font-size:clamp(32px,4.6vw,44px);font-weight:600;line-height:1.06;letter-spacing:-0.03em;margin:0 0 var(--s-4);color:var(--text)}h2,.h2{font-family:var(--font-disp);font-size:clamp(23px,3vw,30px);font-weight:600;line-height:1.15;letter-spacing:-0.02em;margin:0 0 var(--s-3);color:var(--text)}h3,.h3{font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-0.01em;margin:0 0 var(--s-2);color:var(--text)}.eyebrow{font-family:var(--font-mono);font-size:11.5px;font-weight:500;line-height:1.4;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent-text);margin:0 0 var(--s-2)}/* Numbered section eyebrows — every .section-head gets a running 01 / 02 / … index per page (display:none sections don't count, so tab panels renumber
   cleanly). Page-level eyebrows next to an <h1> are outside .section-head
   and stay unnumbered. */
body { counter-reset: mpd-sec; }
.section-head .eyebrow::before {
  counter-increment: mpd-sec;
  content: counter(mpd-sec, decimal-leading-zero) " / ";
  color: var(--text-faint);
  letter-spacing: 0.14em;
}

p { margin: 0 0 var(--s-4); color: var(--text); }

.lead {                       /* hero subheading / intro paragraph */
  font-size: 18px;
  line-height: 1.55;
  color: var(--text-muted);
}

small, .small {
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-muted);
}

.micro {                      /* captions, timestamps, footnotes */
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: var(--text-faint);
}

a {
  color: var(--accent-text);
  text-decoration: none;
  transition: color 0.15s ease;
}
/* Hover = colour shift only. No underline: on card-style links and links that wrap onto
   two lines it drew a stray rule under every row. */
a:not(.btn):not(.nav__link):not(.asset-chip):hover { color: var(--accent-hover); text-decoration: none; }

strong, b { font-weight: 600; color: var(--text); }

/* ---- Tabular numerals for ALL market data ----
   Apply .num to any element showing prices, %, ratios, counts.
   Locks digit width so columns/tiles don't jitter as values update. */ .num,.data,table td,table th,.stat-value,.price,.pill,.tile-value{font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1,'cv11' 1}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-0.01em}::selection{background:var(--accent-weak);color:var(--text)}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--s-5)}.container--narrow{max-width:var(--maxw-narrow)}.section{padding-block:var(--s-9)}.section--tight{padding-block:var(--s-7)}.section-head{margin-bottom:var(--s-6)}.section-head .lead{max-width:60ch}.nav{position:sticky;top:0;z-index:50;height:var(--nav-h);display:flex;align-items:center;background:rgba(7,10,15,0.80);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--border)}.nav::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad-brand);opacity:.55;pointer-events:none}.nav__inner{width:100%;max-width:1240px;margin-inline:auto;padding-inline:var(--s-5);display:flex;align-items:center;gap:var(--s-4);position:relative}.nav__brand{display:flex;align-items:center;gap:var(--s-2);font-family:var(--font-disp);font-weight:700;font-size:17px;letter-spacing:-0.015em;color:var(--text);white-space:nowrap}.nav__brand .brand-pd{color:var(--accent-text)}.nav__brand .dot{width:10px;height:10px;border-radius:var(--r-pill);background:var(--grad-brand);box-shadow:0 0 0 3px var(--accent-weak)}.nav__links{display:flex;align-items:center;gap:var(--s-1);margin-left:var(--s-2)}.nav__link{position:relative;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);font-size:14px;font-weight:500;color:var(--text-muted);white-space:nowrap;transition:color 0.15s ease,background 0.15s ease}.nav__link:hover{color:var(--text);background:var(--surface-2);text-decoration:none}.nav__link.is-active{color:var(--text)}.nav__link.is-active::after{content:"";position:absolute;left:var(--s-3);right:var(--s-3);bottom:-2px;height:2px;border-radius:var(--r-pill);background:var(--accent)}.nav__spacer{flex:1}@media (min-width:1001px){.nav__brand,.nav__cta-desktop{position:relative;z-index:2}.nav__links{position:absolute;left:50%;transform:translateX(-50%);margin-left:0;z-index:1}.nav__spacer{flex:1;min-width:0}}.nav__group{position:relative}.nav__group-btn{background:none;border:none;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.nav__caret{font-size:10px;opacity:.7;transition:transform .15s ease}.nav__group:hover .nav__caret,.nav__group.is-open .nav__caret{transform:rotate(180deg)}.nav__menu{position:absolute;top:calc(100% + 8px);left:0;min-width:190px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:6px;z-index:60;/* Hidden with a 200ms grace period (not display:none) so a slightly wobbly path from the button to the menu doesn't close it. */
  visibility: hidden; opacity: 0; transform: translateY(-4px);
  transition: opacity .12s ease, transform .12s ease, visibility 0s linear .2s;
}
/* Invisible bridge over the 8px gap: the pointer stays "inside" the group while it
   travels from the button down to the menu (the gap used to close it). */
.nav__menu::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.nav__group:hover .nav__menu, .nav__group:focus-within .nav__menu, .nav__group.is-open .nav__menu {
  visibility: visible; opacity: 1; transform: none; transition-delay: 0s;
}
.nav__menu-item { display: block; padding: 8px 10px; border-radius: var(--r-sm); font-size: 14px; font-weight: 500; color: var(--text-muted); white-space: nowrap; }
.nav__menu-item:hover { background: var(--surface-3); color: var(--text); text-decoration: none; }
.nav__menu-item.is-active { color: var(--accent-text); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-2);
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: var(--r-md);
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease,
              color 0.15s ease, transform 0.08s ease;
}
.btn:active { transform: translateY(1px); }
.btn:focus-visible { outline: none; box-shadow: var(--ring); }

.btn--primary {                 /* emerald CTA with a soft brand glow */
  background: var(--accent);
  color: var(--text-on-accent);
  box-shadow: 0 6px 24px rgba(16,185,129,0.22);
}
.btn--primary:hover { background: var(--accent-hover); color: var(--text-on-accent); text-decoration: none; box-shadow: 0 8px 30px rgba(16,185,129,0.32); }
.btn--primary:active { background: var(--accent-press); }

.btn--ghost {                   /* outline / secondary */
  background: transparent;
  color: var(--text);
  border-color: var(--border-strong);
}
.btn--ghost:hover { background: var(--surface-2); border-color: var(--accent-border); color: var(--text); text-decoration: none; }

.btn--subtle {                  /* tinted, low-emphasis */
  background: var(--accent-weak);
  color: var(--accent-text);
}
.btn--subtle:hover { background: var(--accent-faint); color: var(--accent-text); text-decoration: none; }

.btn--sm { padding: 7px 13px; font-size: 13px; border-radius: var(--r-sm); }
.btn--lg { padding: 14px 26px; font-size: 15px; }
.btn--block { display: flex; width: 100%; }

/* Subscribe button in nav = primary, slightly compact */
.nav .btn--primary { padding: 9px 16px; }

/* ---------- Cards / panels ---------- */
.card {
  background: var(--surface-1);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: var(--s-5);
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}
.card--raised { background: var(--surface-2); }
.card--inset  { background: var(--surface-inset); }
.card--hover:hover {
  border-color: var(--border-strong);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.card--accent {                 /* emerald-edged feature panel */
  border-color: var(--accent-border);
  background:
    linear-gradient(var(--surface-1), var(--surface-1)) padding-box,
    var(--accent-faint) border-box;
}
.card__title { font-size: 16px; font-weight: 600; margin: 0 0 var(--s-1); }
.card__meta  { color: var(--text-faint); font-size: 12px; }

/* Premium panel — gold-edged, locked-content treatment */
.card--premium {
  border-color: var(--gold-border);
  background: var(--surface-1);
  position: relative;
}
.card--premium .lock {
  color: var(--gold-text);
}

/* ---------- Badges (Free / Premium) ---------- */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: var(--r-pill);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.4;
  border: 1px solid transparent;
}
.badge--free {
  background: var(--accent-weak);
  color: var(--accent-text);
  border-color: var(--accent-border);
}
.badge--premium {
  background: var(--gold-weak);
  color: var(--gold-text);
  border-color: var(--gold-border);
}
.badge--neutral {
  background: var(--surface-3);
  color: var(--text-muted);
  border-color: var(--border);
}

/* ---------- Pills (up / down / flat market posture) ---------- */
.pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: var(--r-pill);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
}
.pill--up   { background: var(--up-weak);   color: var(--up-text); }
.pill--down { background: var(--down-weak); color: var(--down-text); }
.pill--flat { background: var(--flat-weak); color: var(--flat); }
.pill .ico { font-size: 14px; line-height: 0; }     /* caret/arrow glyph */

/* Inline value coloring (use on raw numbers in text/tables) */
.val-up   { color: var(--up-text);   font-variant-numeric: tabular-nums; }
.val-down { color: var(--down-text); font-variant-numeric: tabular-nums; }
.val-flat { color: var(--flat);      font-variant-numeric: tabular-nums; }

/* Posture tags: "Above 50D", "Below 200D" */
.posture {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 10px; border-radius: var(--r-sm);
  font-size: 12px; font-weight: 600; letter-spacing: 0.02em;
  border: 1px solid var(--border);
  background: var(--surface-2); color: var(--text-muted);
}
.posture--above { border-color: var(--accent-border); color: var(--up-text); background: var(--up-weak); }
.posture--below { border-color: var(--down-weak);    color: var(--down-text); background: var(--down-weak); }

/* ---------- Data tables ---------- */
.table-wrap {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  background: var(--surface-1);
}
.table-wrap--fit{overflow-x:hidden}
table.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.data-table thead th {
  position: sticky; top: 0;
  background: var(--surface-2);
  color: var(--text-faint);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  text-align: right;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}
.data-table thead th:first-child,
.data-table tbody td:first-child { text-align: left; }
.data-table tbody td {
  padding: 13px 16px;
  text-align: right;
  border-bottom: 1px solid var(--border-faint);
  color: var(--text);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.data-table tbody tr:last-child td { border-bottom: none; }
.data-table tbody tr { transition: background 0.12s ease; }
.data-table tbody tr:hover { background: var(--surface-2); }
.data-table .asset {            /* first-col asset cell */
  font-weight: 600; color: var(--text);
}
.asset-cell{display:inline-flex;align-items:baseline;gap:var(--s-2);min-width:0}
.data-table .asset .ticker { color: var(--text-faint); font-size: 12px; font-weight: 500; }
.lb-table{table-layout:fixed;font-size:13px}
.lb-table thead th{padding:11px 9px;font-size:10px;letter-spacing:.055em}
.lb-table tbody td{padding:12px 9px}
.lb-table .pill{padding:3px 8px}
.lb-table .sector-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.lb-table--free th:nth-child(1),.lb-table--free td:nth-child(1){width:5%}
.lb-table--free th:nth-child(2),.lb-table--free td:nth-child(2){width:15%}
.lb-table--free th:nth-child(3),.lb-table--free td:nth-child(3){width:16%}
.lb-table--free th:nth-child(4),.lb-table--free td:nth-child(4){width:13%}
.lb-table--free th:nth-child(5),.lb-table--free td:nth-child(5){width:8%}
.lb-table--free th:nth-child(6),.lb-table--free td:nth-child(6),
.lb-table--free th:nth-child(7),.lb-table--free td:nth-child(7),
.lb-table--free th:nth-child(8),.lb-table--free td:nth-child(8){width:9%}
.lb-table--free th:nth-child(9),.lb-table--free td:nth-child(9){width:12%}
.lb-table--premium{font-size:12px}
.lb-table--premium thead th{padding:10px 6px;font-size:9.5px}
.lb-table--premium tbody td{padding:11px 6px}
.lb-table--premium th:nth-child(1),.lb-table--premium td:nth-child(1){width:4%}
.lb-table--premium th:nth-child(2),.lb-table--premium td:nth-child(2){width:11%}
.lb-table--premium th:nth-child(3),.lb-table--premium td:nth-child(3){width:11%}
.lb-table--premium th:nth-child(4),.lb-table--premium td:nth-child(4){width:10%}
.lb-table--premium th:nth-child(5),.lb-table--premium td:nth-child(5){width:6%}
.lb-table--premium th:nth-child(6),.lb-table--premium td:nth-child(6),
.lb-table--premium th:nth-child(7),.lb-table--premium td:nth-child(7),
.lb-table--premium th:nth-child(8),.lb-table--premium td:nth-child(8),
.lb-table--premium th:nth-child(9),.lb-table--premium td:nth-child(9),
.lb-table--premium th:nth-child(13),.lb-table--premium td:nth-child(13){width:7%}
.lb-table--premium th:nth-child(10),.lb-table--premium td:nth-child(10){width:5%}
.lb-table--premium th:nth-child(11),.lb-table--premium td:nth-child(11){width:6%}
.lb-table--premium th:nth-child(12),.lb-table--premium td:nth-child(12){width:6%}
.lb-table--preview{font-size:13px}
.lb-table--preview thead th{padding:11px 10px;font-size:10px}
.lb-table--preview tbody td{padding:12px 10px}
.lb-table--preview th:nth-child(1),.lb-table--preview td:nth-child(1){width:7%}
.lb-table--preview th:nth-child(2),.lb-table--preview td:nth-child(2){width:20%}
.lb-table--preview th:nth-child(3),.lb-table--preview td:nth-child(3){width:18%}
.lb-table--preview th:nth-child(4),.lb-table--preview td:nth-child(4){width:17%}
.lb-table--preview th:nth-child(5),.lb-table--preview td:nth-child(5),
.lb-table--preview th:nth-child(6),.lb-table--preview td:nth-child(6),
.lb-table--preview th:nth-child(7),.lb-table--preview td:nth-child(7),
.lb-table--preview th:nth-child(8),.lb-table--preview td:nth-child(8){width:12%}
.preview-note{margin:0 0 var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-1);color:var(--text-muted);font-size:13px;line-height:1.5}
.preview-note b{color:var(--text)}

/* ---------- Stat tiles ---------- */
.tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--s-3);
}
.tile {
  background: var(--surface-1);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: var(--s-4) var(--s-5);
  transition: border-color 0.18s ease;
}
.tile:hover { border-color: var(--border-strong); }
.tile__label {
  font-family: var(--font-mono);
  font-size: 10.5px; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--text-faint);
  margin-bottom: var(--s-2);
}
.tile__value {
  font-family: var(--font-disp);
  font-size: 28px; font-weight: 600; line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--text);
  font-variant-numeric: tabular-nums;
}
.tile__delta { margin-top: var(--s-2); font-size: 13px; font-weight: 600; }
.tile--accent { border-color: var(--accent-border); background: var(--accent-faint); }

/* ---------- Hero ---------- */
.hero {
  padding-block: var(--s-9) var(--s-8);
  border-bottom: 1px solid var(--border);
}
.hero__eyebrow {                /* reuse .eyebrow */ }
.hero h1 { max-width: 18ch; }
.hero .lead { max-width: 52ch; margin-bottom: var(--s-5); }
.hero__cta { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; }
.hero__note { font-size: 12px; color: var(--text-faint); margin-top: var(--s-4); }

/* ---------- Sparkline holder (price vs trend) ---------- */
.spark {
  background: var(--surface-inset);
  border: 1px solid var(--border-faint);
  border-radius: var(--r-md);
  padding: var(--s-2);
}
.spark svg { display: block; width: 100%; height: auto; }
/* In the inline SVG: price line = currentColor via .val-up/.val-down on wrapper;
   trend line stroke = var(--flat); fill under price = var(--accent-faint). */

/* ---------- Footer ---------- */
.footer {
  position: relative;
  border-top: 1px solid var(--border);
  background: var(--surface-1);
  padding-block: var(--s-7) var(--s-6);
  margin-top: var(--s-9);
}
.footer::before {          /* mirrored brand hairline along the footer's top edge */ content: "";position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--grad-brand);opacity:.35}.footer__brand{font-family:var(--font-disp);font-size:17px}.footer__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--s-5)}.footer__brand{font-weight:700;margin-bottom:var(--s-2)}.footer__col h5{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-faint);margin:0 0 var(--s-3)}.footer__col a{display:block;color:var(--text-muted);font-size:14px;padding:4px 0;transition:color 0.15s ease}.footer__col a:hover{color:var(--text);text-decoration:none}.footer__legal{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--border-faint);font-size:12px;color:var(--text-faint);line-height:1.6}.footer__legal a{color:var(--text-muted)}.ad-label{display:inline-block;font-size:10px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--border);border-radius:var(--r-xs);padding:1px 5px;vertical-align:middle}.disclaimer{background:var(--surface-inset);border:1px solid var(--border-faint);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-size:12px;line-height:1.6;color:var(--text-faint)}.input{width:100%;height:44px;padding:0 var(--s-4);background:var(--surface-inset);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text);font-family:inherit;font-size:14px;transition:border-color 0.15s ease,box-shadow 0.15s ease}.input::placeholder{color:var(--text-faint)}.input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.hr{height:1px;border:0;background:var(--border);margin-block:var(--s-6)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.center{text-align:center}.stack>* + *{margin-top:var(--s-3)}.row{display:flex;align-items:center;gap:var(--s-3)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s-4)}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-4)}.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--text-on-accent);padding:var(--s-2) var(--s-4);border-radius:var(--r-sm);z-index:100}.skip-link:focus{left:var(--s-3);top:var(--s-3)}@media (max-width: 860px){.footer__grid{grid-template-columns:1fr 1fr}.nav__links{display:none}}@media (max-width: 560px){.footer__grid{grid-template-columns:1fr}.section{padding-block:var(--s-6)}.section--tight{padding-block:var(--s-5)}.container{padding-inline:var(--s-4)}/* compact the big stacked cards so the page isn't a marathon to scroll */
  .card, .plan, .pair-card, .quant-callout, .quant-tile { padding: var(--s-4); }
  .plan__features { margin: var(--s-3) 0; gap: 6px; }
  .plan__features li { font-size: 13px; }
  .plan__price { font-size: 30px; }
  h1 { font-size: 30px; }
  .cta-band { padding: var(--s-5); }
}


/* ============================================================
   MOTION — subtle only. Emerald is the brand; restraint is the look.
   Principles: short (120–200ms), ease-out, transform/opacity/color only.
   No bounce, no neon glow pulses, no parallax, no auto-playing loops.
   ============================================================ */

/* Global transition defaults are already declared per-component above
   (nav links, buttons, cards, tiles, table rows). Keep durations tight:
     - color / background swaps : 0.15s ease
     - border + elevation       : 0.18s ease
     - press feedback           : 0.08s ease (translateY(1px))  */

/* Card lift on hover — the single signature interaction */
.card--hover { will-change: transform; }
/* (defined in components: translateY(-2px) + soft shadow on hover) */

/* Focus ring: instant, never animated (a11y clarity) */

/* Optional: gentle entrance for above-the-fold blocks.
   Apply .reveal; it animates once on load. Keep it whisper-quiet. */
@keyframes fade-rise {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: none; }
}
.reveal { animation: fade-rise 0.45s cubic-bezier(0.22, 1, 0.36, 1) both; }
.reveal--2 { animation-delay: 0.06s; }
.reveal--3 { animation-delay: 0.12s; }

/* Live-data freshness ping — tiny emerald dot next to "Updated …".
   One slow, low-opacity pulse; not a flashing beacon. */
.live-dot {
  display: inline-block; width: 8px; height: 8px;
  border-radius: var(--r-pill); background: var(--accent);
  position: relative; vertical-align: middle;
}
.live-dot::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  background: var(--accent); opacity: 0.5;
  animation: live-ping 2.4s ease-out infinite;
}
@keyframes live-ping {
  0%   { transform: scale(1);   opacity: 0.5; }
  70%, 100% { transform: scale(2.6); opacity: 0; }
}

/* Links: hover is a colour shift only (see the `a:hover` rule in the typography block). */

/* Respect user preference — kill all motion if requested */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .live-dot::after { display: none; }
}



/* ============================================================
   PROJECT EXTRAS — mobile nav, page layouts (added at build)
   ============================================================ */
.nav__toggle{display:none;background:transparent;border:1px solid var(--border-strong);color:var(--text);border-radius:var(--r-sm);width:40px;height:40px;cursor:pointer;font-size:18px;line-height:1}
.nav__toggle:focus-visible{outline:none;box-shadow:var(--ring)}
.nav__mobile{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:var(--surface-1);border-bottom:1px solid var(--border);padding:var(--s-3) var(--s-5) var(--s-5);z-index:49}
.nav__mobile a{display:block;padding:var(--s-3) 0;color:var(--text-muted);font-size:15px;font-weight:500;border-bottom:1px solid var(--border-faint)}
.nav__mobile a:hover{color:var(--text);text-decoration:none}
.nav__mobile .badge{margin-left:6px}
.nav__mobile .btn{margin-top:var(--s-4)}
.nav__mobile a.btn--primary{color:var(--text-on-accent);border-bottom:none}
.nav__mobile a.btn--primary:hover{color:var(--text-on-accent)}
.nav__mobile.is-open{display:block}
@media(min-width:1001px){.nav__mobile{display:none!important}}
@media(max-width:1000px){.nav__links{display:none}.nav__toggle{display:inline-flex;align-items:center;justify-content:center}.nav__cta-desktop,.nav__login{display:none}}
/* 1001–1180px: links flow left-aligned with tighter spacing; centring them collides with Log in + Subscribe. */
@media(min-width:1001px) and (max-width:1180px){.nav__links{position:static;transform:none;margin-left:var(--s-3)}.nav__link{padding:8px 9px}}

.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-4)}
.feature__icon{color:var(--accent-text);font-size:22px;margin-bottom:var(--s-2)}
.feature__title{font-weight:600;margin:0 0 var(--s-2)}
.feature p{color:var(--text-muted);font-size:14px;margin:0}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-4)}
.step__n{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-pill);background:var(--accent-weak);color:var(--accent-text);font-weight:700;font-size:14px;margin-bottom:var(--s-3)}
.step__title{font-weight:600;margin:0 0 var(--s-1)}
.step p{color:var(--text-muted);font-size:14px;margin:0}

.asset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--s-4);align-items:stretch}
.asset-grid>*{height:100%}
.asset-card{display:flex;flex-direction:column;gap:var(--s-3);height:100%}
.asset-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}
.asset-name .tk{font-size:18px;font-weight:700}
.asset-name .ticker{color:var(--text-faint);font-size:12px;font-weight:500;margin-left:3px}
.asset-price{font-family:var(--font-disp);font-size:26px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.mrow{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:7px 0;border-top:1px solid var(--border-faint)}
.mrow .k{color:var(--text-muted)} .mrow .v{font-variant-numeric:tabular-nums;font-weight:500}
.gated{border-top:1px dashed var(--gold-border);margin-top:var(--s-3);padding-top:var(--s-3)}
.gated__head{display:flex;align-items:center;gap:6px;color:var(--gold-text);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--s-1)}
.mrow .k[title]{border-bottom:1px dotted var(--border-strong);cursor:help}
.mgroup{margin-top:var(--s-3)}
.mgroup__h{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:600;margin:var(--s-2) 0 0}
.chg-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:var(--s-2) 0 var(--s-1)}
.chg{background:var(--surface-inset);border:1px solid var(--border-faint);border-radius:var(--r-sm);padding:8px;text-align:center}
.chg .cl{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}
.chg .cv{font-weight:600;font-variant-numeric:tabular-nums;font-size:14px;margin-top:2px}
.bar{display:inline-block;position:relative;height:5px;width:58px;border-radius:3px;background:var(--surface-3);overflow:hidden;vertical-align:middle;margin-right:6px}
.bar__f{position:absolute;top:0;left:0;height:100%;background:var(--flat)}
.ov-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s-3)}
.chart{background:var(--surface-inset);border:1px solid var(--border-faint);border-radius:var(--r-md);padding:var(--s-3);margin-top:var(--s-3)}
.chart svg{display:block;width:100%;height:auto}
.chart .caxis{fill:var(--text-faint);font-size:11px;font-variant-numeric:tabular-nums}
.chart .cgrid{stroke:var(--border-faint);stroke-width:1}
.chart__title{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:600;margin-bottom:var(--s-1)}
.chart__legend{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-bottom:var(--s-2);font-size:11px;color:var(--text-muted)}
.lg{display:inline-flex;align-items:center;gap:5px}
.lg__d{width:12px;height:3px;border-radius:2px;display:inline-block}
.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-3);margin-top:var(--s-3)}

.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--s-5);align-items:stretch}
.plan{display:flex;flex-direction:column}
.plan__price{font-family:var(--font-disp);font-size:38px;font-weight:600;letter-spacing:-.02em;margin:var(--s-2) 0 0}
.plan__price small{font-size:15px;font-weight:500;color:var(--text-muted)}
.plan__sub{color:var(--text-muted);font-size:13px;margin:var(--s-1) 0 var(--s-3)}
.plan__features{list-style:none;padding:0;margin:var(--s-4) 0;display:flex;flex-direction:column;gap:var(--s-2)}
.plan__features li{display:flex;gap:var(--s-2);font-size:14px;color:var(--text-muted);align-items:flex-start}
.plan__features .ck{color:var(--up-text);flex:none}
.plan__cta{margin-top:auto;padding-top:var(--s-4)}
.faq__item{padding:var(--s-4) 0;border-top:1px solid var(--border-faint)}
.faq__q{font-weight:600;margin:0 0 var(--s-2)}
.faq__a{color:var(--text-muted);font-size:14px;margin:0}

.subscribe-form{display:flex;gap:var(--s-2);flex-wrap:wrap;max-width:520px;margin-top:var(--s-4)}
.subscribe-form .input{flex:1;min-width:220px}
.form-note{font-size:12px;color:var(--text-faint);margin-top:var(--s-2)}
.form-success{display:none;color:var(--up-text);font-weight:600;margin-top:var(--s-3)}
.form-success.show{display:block}

.cmp .yes{color:var(--up-text);font-weight:600}
.cmp .no{color:var(--text-faint)}
.kicker-strip{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);color:var(--text-faint);font-size:13px;margin-top:var(--s-4)}

/* ---------- Marketing split layouts (hero + story + subscribe) ---------- */
.hero--split .container{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s-7);align-items:center}
.hero--split h1{max-width:15ch}
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-7)}
.split--start{align-items:start}
@media(max-width:860px){.hero--split .container{grid-template-columns:1fr;gap:var(--s-6)}.split{grid-template-columns:1fr;gap:var(--s-5)}}
.statgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-3)}
.stat{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4)}
.stat__n{font-family:var(--font-disp);font-size:26px;font-weight:600;color:var(--text);line-height:1.05}
.stat__n--accent{color:var(--accent-text)}
.stat__l{font-size:13px;color:var(--text-muted);margin-top:var(--s-1)}
.concept{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s-5)}
.concept__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-3)}
.concept__tag{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}
.concept__pill{font-size:11px;font-weight:600;color:var(--up-text);background:var(--up-weak);border-radius:var(--r-pill);padding:3px 10px}
.concept svg{display:block;width:100%;height:auto}
.concept__legend{display:flex;gap:var(--s-4);margin-top:var(--s-3);font-size:12px;color:var(--text-muted)}
.concept__legend span{display:inline-flex;align-items:center;gap:6px}
.concept__sw{width:16px;height:2px;border-radius:2px;display:inline-block}
.guarantees{list-style:none;display:grid;gap:var(--s-2);margin:0;padding:0}
.guarantees li{font-size:14px;color:var(--text-muted);padding-left:24px;position:relative}
.guarantees li::before{content:"\2713";position:absolute;left:0;color:var(--accent-text);font-weight:700}
.archive-lock{margin-top:var(--s-4)}
.archive-lock h3{margin:10px 0 4px}
.archive-lock__dates{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:var(--s-3) 0 var(--s-4)}
.archive-lock__chip{font-size:12px;color:var(--text-faint);background:var(--surface-2);border:1px solid var(--border-faint);border-radius:var(--r-pill);padding:3px 10px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s-7)}
@media(max-width:760px){.faq-grid{grid-template-columns:1fr}}
.regime{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-1);padding:var(--s-4) var(--s-5);margin-bottom:var(--s-5)}
.regime__label{font-size:15px;font-weight:700;padding:4px 12px;border-radius:var(--r-pill);white-space:nowrap}
.regime--up .regime__label{color:var(--up-text);background:var(--up-weak)}
.regime--down .regime__label{color:var(--down-text);background:var(--down-weak)}
.regime--flat .regime__label{color:var(--text);background:var(--surface-3)}
.regime__detail{font-size:14px;color:var(--text-muted)}
.regime__movers{font-size:13px;color:var(--text-faint);flex-basis:100%}
.cta-band{position:relative;overflow:hidden;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s-8) var(--s-7);text-align:center}
.cta-band::before{content:"";position:absolute;inset:-40% -20%;background:radial-gradient(560px 300px at 50% 120%, var(--aurora-a), transparent 65%),radial-gradient(420px 260px at 80% -20%, var(--aurora-b), transparent 60%);pointer-events:none}
.cta-band>*{position:relative}
.cta-band h2{font-size:clamp(26px,3.6vw,38px)}
.last-updated{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--text-muted);font-size:13px}
.breadth{font-size:15px;color:var(--text-muted);margin-top:var(--s-2)}
.export-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin-top:var(--s-4)}
.export-actions .micro{margin:0 0 0 var(--s-1)}
.sector-badge{display:inline-flex;align-items:center;max-width:180px;padding:3px 8px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:11px;font-weight:600;white-space:nowrap}
.archive-list{display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-5)}
.archive-day{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.archive-day[open]{border-color:var(--border-strong)}
.archive-day>summary{list-style:none;display:grid;grid-template-columns:minmax(140px,.7fr) minmax(0,1.7fr);gap:var(--s-4);align-items:center;padding:var(--s-4) var(--s-5);cursor:pointer}
.archive-day>summary::-webkit-details-marker{display:none}
.archive-day>summary:focus-visible{outline:none;box-shadow:var(--ring)}
.archive-day__date{font-size:16px;font-weight:700;color:var(--text)}
.archive-day__stats{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:var(--s-3);align-items:center}
.archive-day__stats>span{min-width:0}
.archive-day__stats b{display:block;font-size:15px;font-variant-numeric:tabular-nums;color:var(--text)}
.archive-day__stats small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}
.archive-day__body{padding:0 var(--s-5) var(--s-5);display:flex;flex-direction:column;gap:var(--s-4)}
.archive-table{table-layout:fixed;font-size:13px}
.archive-table th,.archive-table td{padding:10px 9px}
.archive-table th:nth-child(1),.archive-table td:nth-child(1){width:16%;text-align:left}
.archive-table th:nth-child(2),.archive-table td:nth-child(2){width:18%}
.archive-table th:nth-child(3),.archive-table td:nth-child(3){width:15%}
.spark svg .price-up{stroke:var(--up-text)} .spark svg .price-down{stroke:var(--down-text)}
.prose p{max-width:68ch}
.prose h2{margin-top:var(--s-7)}
.prose ul{color:var(--text-muted)}

/* ============================================================
   MEMBERS / PREMIUM TERMINAL — tabbed dashboard (added at build)
   Progressive enhancement: panels collapse only when html.js is set
   (a head <script> adds it before paint), so no-JS shows all content.
   ============================================================ */
.dash-tabs{position:sticky;top:var(--nav-h);z-index:30;display:flex;align-items:center;gap:var(--s-1);background:var(--bg);border-bottom:1px solid var(--border);padding:var(--s-2) 0 var(--s-3);margin-bottom:var(--s-5);overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity;scroll-padding-left:var(--s-1)}
.dash-tabs::-webkit-scrollbar{height:5px}
.dash-tabs::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill)}
.dash-tab{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:var(--s-2) var(--s-4);border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;scroll-snap-align:start}
.dash-tab:hover{background:var(--surface-2);color:var(--text)}
.dash-tab[aria-selected="true"]{background:var(--accent-weak);color:var(--accent-text);border-color:var(--accent-border)}
.dash-tab:focus-visible{outline:none;box-shadow:var(--ring)}
.dash-tab .ct{font-size:11px;color:var(--text-faint);font-weight:600}
.tabpanel:focus{outline:none}
html.js .tabpanel:not(.is-active){display:none}
/* Quant Terminal Crypto|Stocks universe switch (one desk at a time) */
.universe-switch{display:flex;width:fit-content;gap:var(--s-1);padding:var(--s-1);margin:0 auto var(--s-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill)}
.universe-btn{padding:var(--s-2) var(--s-4);border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:14px;font-weight:600;border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;transition:background .18s ease,color .18s ease}
.universe-btn[aria-pressed="true"]{background:var(--accent-weak);color:var(--accent-text)}
.universe-btn:focus-visible{outline:none;box-shadow:var(--ring)}
html.js .universe-pane:not(.is-active){display:none}
html.js .universe-pane.is-active{animation:fade-rise .28s cubic-bezier(.22,1,.36,1)}
.mbr-head--sub{margin-top:var(--s-7);padding-top:var(--s-6);border-top:1px solid var(--border)}
.mbr-head--sub h2{margin:0;font-size:28px;line-height:1.15}

/* multi-coin relative-performance filter legend (coin toggle / solo) */
.rp-legend{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3);align-items:center}
.rp-item{display:inline-flex;align-items:stretch}
.rp-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border-strong);border-right:0;border-radius:var(--r-pill) 0 0 var(--r-pill);background:var(--surface-2);color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums}
.rp-solo{padding:0 8px;border:1px solid var(--border-strong);border-radius:0 var(--r-pill) var(--r-pill) 0;background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer;line-height:1}
.rp-chip[aria-pressed="false"]{opacity:.4;text-decoration:line-through}
.rp-chip:focus-visible,.rp-solo:focus-visible{outline:none;box-shadow:var(--ring)}
.rp-solo:hover{color:var(--accent-text);border-color:var(--accent-border)}
.rp-sw{width:12px;height:3px;border-radius:2px;display:inline-block;flex:none}
.rp-end{color:var(--text-faint);font-weight:500}
.rp-reset{padding:4px 11px;border:1px dashed var(--border-strong);border-radius:var(--r-pill);background:transparent;color:var(--text-muted);font:inherit;font-size:12px;cursor:pointer}
.rp-reset:hover{color:var(--text);border-color:var(--accent-border)}
.rp-line.is-off{display:none}

/* per-asset card: charts in a responsive grid, metric groups in a grid */
.card-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-3);margin-top:var(--s-3)}
.card-charts .chart{margin-top:0}
.card-charts--compact{grid-template-columns:minmax(260px,420px);justify-content:start}
.chart--returns{max-width:420px}
.chart--returns .caxis.bar-label{fill:var(--text);font-weight:700}
.chart--returns svg{max-height:190px}
.asset-performance{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-3);margin-top:var(--s-3);max-width:860px}
.perf-card{background:var(--surface-inset);border:1px solid var(--border-faint);border-radius:var(--r-md);padding:var(--s-4)}
.perf-returns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-2)}
.perf-return{min-width:0;padding:var(--s-3);border:1px solid var(--border-faint);border-radius:var(--r-sm);background:var(--surface-1)}
.perf-return span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:700}
.perf-return b{display:block;margin-top:var(--s-1);font-size:16px;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.perf-return i,.perf-trend-row i{display:block;height:5px;margin-top:var(--s-2);border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}
.perf-return em,.perf-trend-row em{display:block;height:100%;border-radius:inherit;background:var(--flat)}
.perf-return--up b,.perf-trend-row--up b{color:var(--up-text)}
.perf-return--down b,.perf-trend-row--down b{color:var(--down-text)}
.perf-return--up em,.perf-trend-row--up em{background:var(--up-text)}
.perf-return--down em,.perf-trend-row--down em{background:var(--down-text)}
.perf-trends{display:flex;flex-direction:column;gap:var(--s-3)}
.perf-trend-row{display:grid;grid-template-columns:68px minmax(0,1fr) 78px;gap:var(--s-3);align-items:center}
.perf-trend-row span{font-size:12px;color:var(--text-muted);font-weight:600}
.perf-trend-row i{margin:0}
.perf-trend-row b{text-align:right;font-size:13px;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.mgroups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-4);align-items:start}
.mgroups .mgroup{margin-top:var(--s-2)}
.mgroups .mrow{gap:var(--s-2)}
.mgroups .mrow .k{min-width:0}
.mgroups .mrow .v{flex:none}

/* explorer: asset picker rail + one card at a time */
.asset-rail{display:flex;gap:var(--s-2);overflow-x:auto;padding-bottom:var(--s-2);margin-bottom:var(--s-4);scrollbar-width:thin}
.asset-chip{flex:none;display:flex;flex-direction:column;gap:2px;min-width:92px;padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-1);color:var(--text);cursor:pointer;text-align:left;font:inherit}
.asset-chip:hover{border-color:var(--border-strong)}
.asset-chip[aria-pressed="true"]{border-color:var(--accent-border);background:var(--accent-faint)}
.asset-chip:focus-visible{outline:none;box-shadow:var(--ring)}
.asset-chip .tk{font-weight:700;font-size:15px}
.asset-chip .sub{font-size:11px;font-variant-numeric:tabular-nums}
.asset-chip--lock{cursor:default;color:var(--text-faint);align-items:center;justify-content:center;min-width:78px}
.asset-chip--lock:hover{border-color:var(--border)}
html.js .explorer-card:not(.is-active){display:none}

/* leaderboard tools (sort + filter pills + search) */
.lb-tools{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;margin-bottom:var(--s-3)}
.lb-pill{padding:5px 11px;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.lb-pill.is-on{background:var(--accent-weak);color:var(--accent-text);border-color:var(--accent-border)}
.lb-pill:focus-visible{outline:none;box-shadow:var(--ring)}
.lb-search{height:36px;max-width:160px;margin-left:auto}
.lb-count{font-size:12px;color:var(--text-faint)}
.data-table th.sortable{cursor:pointer;user-select:none}
.data-table th.sortable:hover{color:var(--text-muted)}
.data-table th[aria-sort="ascending"]::after{content:" \25B2";font-size:9px}
.data-table th[aria-sort="descending"]::after{content:" \25BC";font-size:9px}
.data-table tbody tr[hidden]{display:none}

/* signal board + research funnel */
.change-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-3);margin-bottom:var(--s-5)}
.change-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4)}
.change-card__h{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);margin-bottom:var(--s-2)}
.change-card__b{font-size:14px;color:var(--text-muted);line-height:1.5}
.signal-board{display:grid;grid-template-columns:1fr;gap:var(--s-4);margin-bottom:var(--s-5)}
.signal-hero{background:var(--surface-1);border:1px solid var(--accent-border);border-radius:var(--r-lg);padding:var(--s-5);display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);gap:var(--s-5);align-items:end}
.signal-hero__k{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-text)}
.signal-hero__v{font-family:var(--font-disp);font-size:36px;font-weight:600;line-height:1;letter-spacing:-.02em;margin-top:var(--s-3);font-variant-numeric:tabular-nums}
.signal-hero__l{color:var(--text-muted);font-size:14px;margin-top:var(--s-2)}
.signal-hero__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3);margin-top:0;padding-top:0}
.signal-hero__metrics div{border-top:1px solid var(--border-faint);padding-top:var(--s-2);font-size:13px;min-width:0}
.signal-hero__metrics span{display:block;color:var(--text-faint)}
.signal-hero__metrics b{display:block;margin-top:3px;font-variant-numeric:tabular-nums}
.signal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.signal-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-4);align-items:center;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4)}
.signal-item__h{font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px}
.signal-item__d{font-size:12px;color:var(--text-muted);line-height:1.45}
.signal-item__v{text-align:right;min-width:82px}
.signal-item__v span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);white-space:nowrap}
.signal-item__v b{display:block;font-size:16px;font-variant-numeric:tabular-nums;color:var(--text)}
.signal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-4);margin-bottom:var(--s-4)}
.signal-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5)}
.signal-card .sh{display:flex;align-items:center;gap:6px;color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--s-2)}
.signal-card .sb{font-size:14px;color:var(--text);line-height:1.5}
.signal-card .sb b{font-weight:600}

/* Equities blocks woven into the terminal tabs: 52-week range (Overview), sparkline
   rail (Leaderboard), today's movers (Signals);plus the one-line intro hook. */ .eq-block{margin-top:var(--s-6)}.eq-h{margin:0;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--text)}.eq-sub{margin:2px 0 var(--s-3);font-size:13px;color:var(--text-muted)}.eq-block>.eq-h+.eq-movers,.eq-block>.eq-h+.eq-rail,.eq-block>.eq-h+.eq-range{margin-top:var(--s-3)}/* one-line intro hook: today's biggest up/down mover */
.eq-hook{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-2) var(--s-4);margin:var(--s-4) 0 0;font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums}
.eq-hook__lbl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}
.eq-hook__m{display:inline-flex;align-items:baseline;gap:6px}
.eq-hook a{color:var(--text)}

/* movers */
.eq-movers{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s-3)}
.eq-mv{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-3) var(--s-4)}
.eq-mv__h{display:flex;align-items:center;gap:var(--s-2);font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:var(--s-2)}
.eq-mv__ic{font-size:11px;line-height:1;color:var(--text-faint)}
.eq-mv__ic--up{color:var(--up-text)}
.eq-mv__ic--down{color:var(--down-text)}
.eq-mv__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.eq-mv__list a{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2);padding:4px 6px;margin:0 -6px;border-radius:var(--r-md);color:var(--text);font-variant-numeric:tabular-nums}
.eq-mv__list a:hover{background:var(--surface-2);text-decoration:none}
.eq-mv__list b{font-size:13px}
.eq-mv__sub{font-size:11px;color:var(--text-faint)}

/* sparkline rail */
.eq-rail{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:var(--s-3)}
.eq-card{display:flex;flex-direction:column;gap:6px;padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-1);color:var(--text)}
.eq-card:hover{border-color:var(--accent-border);background:var(--surface-2);text-decoration:none}
.eq-card__top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2);font-size:13px;font-variant-numeric:tabular-nums}
.eq-card__top b{font-size:14px}
.eq-spark{display:block;width:100%;height:40px}
.eq-spark__area{opacity:.16}
.eq-spark--up .eq-spark__area{fill:var(--up-text)}
.eq-spark--up .eq-spark__line{stroke:var(--up-text)}
.eq-spark--down .eq-spark__area{fill:var(--down-text)}
.eq-spark--down .eq-spark__line{stroke:var(--down-text)}
.eq-card__bot{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}
.eq-dot{width:7px;height:7px;border-radius:50%;flex:none}
.eq-dot--up{background:var(--up-text)}
.eq-dot--down{background:var(--down-text)}

/* 52-week range board */
.eq-range{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:4px var(--s-5)}
.eq-rg{display:grid;grid-template-columns:48px 1fr 38px;align-items:center;gap:var(--s-3);padding:5px 8px;margin:0 -8px;border-radius:var(--r-md);color:var(--text)}
.eq-rg:hover{background:var(--surface-2);text-decoration:none}
.eq-rg__tk{font-size:13px;font-weight:600}
.eq-rg__track{position:relative;height:6px;border-radius:var(--r-pill);background:var(--surface-3)}
.eq-rg__fill{position:absolute;left:0;top:0;bottom:0;border-radius:var(--r-pill)}
.eq-rg__fill--up{background:var(--up-weak)}
.eq-rg__fill--down{background:var(--down-weak)}
.eq-rg__fill--flat{background:var(--flat-weak)}
.eq-rg__mark{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;background:var(--text);transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--surface-1)}
.eq-rg__val{font-size:12px;color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:560px){.eq-rg{grid-template-columns:44px 1fr 34px}}
.funnel{display:flex;height:26px;border-radius:var(--r-sm);overflow:hidden;font-size:11px;font-weight:600;margin-top:var(--s-3)}
.funnel span{display:flex;align-items:center;justify-content:center;color:var(--text-on-accent);white-space:nowrap;padding:0 6px;min-width:0;overflow:hidden}

@media(max-width:860px){
  .mgroups{grid-template-columns:1fr}
  .asset-performance{grid-template-columns:1fr;max-width:none}
  .lb-search{margin-left:0;max-width:none;flex:1}
  .signal-board{grid-template-columns:1fr}
  .signal-hero{grid-template-columns:1fr;align-items:start}
  .signal-hero__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .signal-list{grid-template-columns:1fr}
  .asset-group>summary{grid-template-columns:1fr}
  .asset-group__meta{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* mobile: dense data tables keep their natural column widths and scroll sideways,
   instead of the fixed layout squashing numbers on top of each other */
@media(max-width:760px){
  .table-wrap--fit{overflow-x:auto}
  .lb-table,.archive-table{table-layout:auto;min-width:660px}
  .archive-day>summary{grid-template-columns:1fr;gap:var(--s-2)}
  .archive-day__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* members dashboard header (logged-in, clean — replaces the leftover gate furniture) */
.mbr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-5);padding-bottom:var(--s-4);border-bottom:1px solid var(--border-faint)}
.mbr-head h1{margin:2px 0 0;font-size:28px}
.mbr-head__acct{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}

/* overview tiles balanced into 2 even rows (10 tiles -> 5+5) */
.ov-grid--wide{grid-template-columns:repeat(5,1fr)}
@media(max-width:980px){.ov-grid--wide{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.ov-grid--wide{grid-template-columns:repeat(2,1fr)}}

/* landing: collapsible posture cards — header + sparkline by default, charts on demand */
.asset-groups{display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-4)}
.asset-group{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.asset-group[open]{border-color:var(--border-strong)}
.asset-group>summary{list-style:none;display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.4fr);gap:var(--s-4);align-items:center;padding:var(--s-4) var(--s-5);cursor:pointer}
.asset-group>summary::-webkit-details-marker{display:none}
.asset-group>summary:focus-visible{outline:none;box-shadow:var(--ring)}
.asset-group__name{font-size:16px;font-weight:700;color:var(--text)}
.asset-group__meta{display:grid;grid-template-columns:repeat(3,minmax(86px,1fr));gap:var(--s-3)}
.asset-group__meta b{display:block;font-size:15px;color:var(--text);font-variant-numeric:tabular-nums}
.asset-group__meta small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}
.asset-group__grid{padding:0 var(--s-5) var(--s-5);margin:0}
.lcard{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:border-color .18s ease}
.lcard[open]{border-color:var(--border-strong)}
.lcard[open]>summary::before{content:"";position:fixed;inset:0;background:rgba(2,6,10,.72);z-index:80;cursor:default}
.lcard>summary{list-style:none;cursor:pointer;padding:var(--s-4) var(--s-5)}
.lcard>summary::-webkit-details-marker{display:none}
.lcard>summary:focus-visible{outline:none;box-shadow:var(--ring)}
.lcard__hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}
.lcard__px{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:var(--s-1)}
.lcard__more{font-size:12px;color:var(--accent-text);display:inline-flex;align-items:center;gap:5px;margin-top:var(--s-3)}
.lcard__chev{font-size:10px;transition:transform .15s ease}
.lcard[open] .lcard__chev{transform:rotate(180deg)}
.lcard__body{padding:0 var(--s-5) var(--s-5)}
.lcard[open] .lcard__body{position:fixed;z-index:90;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 56px);overflow:auto;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--s-5)}
.lcard__modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-3)}
.lcard__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:20px;line-height:1;cursor:pointer}
.lcard__close:hover{color:var(--text);border-color:var(--border-strong)}
.lcard__close:focus-visible{outline:none;box-shadow:var(--ring)}
.lcard__body .card-charts{margin-top:0}

/* chart hover crosshair + price tooltip (explorer price chart) */
.chart{position:relative}
.chart__tip{position:absolute;pointer-events:none;display:none;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:3px 8px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;transform:translate(-50%,-135%);z-index:6}
.chart svg .cx-line{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:3 3}
.chart svg .cx-dot{fill:var(--text)}

/* correlation matrix heatmap (members/sample "Correlations" tab) */
.corr-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-1);padding:var(--s-3);margin-top:var(--s-3)}
.corr-matrix{display:grid;gap:2px;min-width:520px}
.corr-cell{display:flex;align-items:center;justify-content:center;min-height:32px;padding:4px 2px;border-radius:3px;background:var(--surface-2);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}
.corr-cell--head{background:transparent;color:var(--text-muted)}
.corr-cell--corner{background:transparent}
.corr-legend{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-3);font-size:12px;color:var(--text-faint)}
.corr-legend__bar{height:10px;width:140px;border-radius:5px;background:linear-gradient(90deg,var(--down),var(--surface-2),var(--up))}

/* premium sample locked panels */
.locked-preview{position:relative;overflow:hidden;min-height:280px;margin-top:var(--s-4);border:1px solid var(--gold-border);border-radius:var(--r-lg);background:var(--surface-1)}
.locked-preview__shade{position:absolute;inset:0;background:
  linear-gradient(135deg,rgba(232,184,75,.12),rgba(16,185,129,.06) 42%,transparent 70%),
  repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 38px),
  repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 64px);
  opacity:.9}
.locked-preview__shade::after{content:"";position:absolute;inset:18px;border:1px dashed rgba(232,184,75,.22);border-radius:var(--r-md);filter:blur(.2px)}
.locked-preview__content{position:relative;z-index:1;max-width:560px;padding:var(--s-6)}
.locked-preview h3{margin:var(--s-3) 0 var(--s-2);font-size:22px}
.locked-preview p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.55}
.locked-preview__chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:var(--s-4) 0}
.locked-preview__chips span{display:inline-flex;align-items:center;padding:4px 9px;border-radius:var(--r-pill);border:1px solid var(--border);background:rgba(2,6,10,.42);color:var(--text-muted);font-size:12px;font-weight:600}

/* subscriber API snippet (members Leaderboard tab) */
.api-snippet{background:var(--surface-inset);border:1px solid var(--border-faint);border-radius:var(--r-sm);padding:var(--s-3);font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--text-muted);overflow-x:auto;white-space:pre;margin:0}
.api-rows{display:grid;gap:1px;background:var(--border-faint);border:1px solid var(--border-faint);border-radius:var(--r-sm);overflow:hidden;margin:var(--s-2) 0}
.api-row{display:flex;justify-content:space-between;gap:var(--s-3);background:var(--surface-1);padding:9px 12px;font-size:13px}
.api-row span{color:var(--text-faint)}
.api-row b{color:var(--text);font-weight:600;text-align:right}
.mission p{color:var(--text-muted);font-size:15px;line-height:1.7;margin:0 0 var(--s-3);max-width:64ch}
.mission b{color:var(--text);font-weight:600}
/* account / profile page */
.acct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-3)}
.acct-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4)}
.acct-card__top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-bottom:var(--s-3)}
.acct-card__top b{font-size:15px}
.acct-card__row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}
.acct-card__meta{font-size:13px;color:var(--text-muted)}
.acct-card__meta b{color:var(--text);font-weight:600}
.acct-badge{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--text-faint);border:1px solid var(--border);border-radius:var(--r-pill);padding:3px 9px;white-space:nowrap}
.acct-badge--on{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-faint)}
.acct-badge--warn{color:var(--gold-text);border-color:var(--gold-border);background:var(--gold-weak)}
/* tap-to-reveal metric description (hover tooltips are useless on touch) */
.mpd-tip{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(8px);max-width:min(440px,92vw);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:10px 14px;font-size:13px;line-height:1.45;color:var(--text);box-shadow:var(--shadow-lg);z-index:130;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}
.mpd-tip.is-on{opacity:1;transform:translateX(-50%) translateY(0)}
.mrow .k[title],.data-table th[title]{cursor:help}

/* per-asset strength-score banner (premium card) */
.score-banner{display:flex;align-items:center;gap:var(--s-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);margin:var(--s-2) 0 var(--s-3)}
.score-banner__num{font-size:28px;font-weight:700;line-height:1;color:var(--accent-text);font-variant-numeric:tabular-nums}
.score-banner__num span{font-size:13px;color:var(--text-faint);font-weight:500}
.score-banner__lbl{display:flex;flex-direction:column;gap:2px}
.score-banner__lbl span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-weight:600}
.score-banner__lbl b{font-size:14px;color:var(--text);font-weight:600}

/* explorer asset picker — searchable sector tabs, one compact panel at a time */
.asset-pick{margin-bottom:var(--s-4)}
.asset-search{max-width:260px;margin-bottom:var(--s-3)}
.asset-pick__tabs{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-3)}
.asset-pick__tab{display:inline-flex;align-items:center;gap:var(--s-2);padding:7px 11px;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.asset-pick__tab b{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:10px;background:var(--surface-3);color:var(--text-faint);font-size:11px}
.asset-pick__tab[aria-pressed="true"]{background:var(--accent-weak);border-color:var(--accent-border);color:var(--accent-text)}
.asset-pick__tab:focus-visible{outline:none;box-shadow:var(--ring)}
.asset-pick__panel{display:none}
.asset-pick__panel.is-active{display:block}
.asset-pick.is-searching .asset-pick__panel{display:none}
.asset-pick.is-searching .asset-pick__groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,132px));gap:var(--s-2);align-items:stretch}
.asset-pick.is-searching .asset-pick__panel.has-match,
.asset-pick.is-searching .asset-pick__panel.has-match .asset-pick__row{display:contents}
.asset-pick__row{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,116px));gap:var(--s-2)}
.asset-pick .asset-chip{width:100%;min-width:0}
.asset-pick__panel--locked{display:block;margin-top:var(--s-2)}
.asset-pick.is-searching .asset-pick__panel--locked{display:none}

/* pairs / cointegration board — descriptive mean-reversion structure */
.pairs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:var(--s-3);margin-top:var(--s-3)}
.pair-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4)}
.pair-card__top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}
.pair-card__name{font-weight:700;font-size:15px;letter-spacing:-.01em}
.pair-card__name span{color:var(--text-faint);margin:0 3px;font-weight:400}
.pair-tag{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border:1px solid var(--border);border-radius:var(--r-pill);padding:2px 8px;white-space:nowrap}
.pair-tag--same{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-faint)}
.pair-card__z{font-size:30px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;margin-top:var(--s-3)}
.pair-card__z span{font-size:15px;font-weight:600;margin-left:2px}
.pair-card__z.val-down{color:var(--down-text)}
.pair-card__z.accent-text{color:var(--accent-text)}
.pair-card__z.text-faint{color:var(--text-faint)}
.pair-card__desc{font-size:12px;color:var(--text-muted);margin:var(--s-1) 0 var(--s-3)}
.pair-spark{display:block;width:100%;height:52px;border:1px solid var(--border-faint);border-radius:var(--r-sm);background:var(--surface-inset)}
.pair-card__stats{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-3);margin-top:var(--s-3);font-size:11px;color:var(--text-faint)}
.pair-card__stats b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.pair-card__stats i{font-style:normal;color:var(--text-faint)}
.pairs-note{margin-top:var(--s-4);max-width:760px;line-height:1.5}

/* quant desk — stat tiles shared by the Volatility / Risk / Dispersion tabs */
.quant-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s-3);margin:var(--s-3) 0 var(--s-4)}
.quant-tile{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4)}
.quant-tile__lbl{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-weight:600}
.quant-tile__val{font-size:26px;font-weight:700;line-height:1.15;letter-spacing:-.01em;color:var(--text);font-variant-numeric:tabular-nums;margin-top:6px}
.quant-tile__val .tk{font-weight:700}
.quant-tile__unit{font-size:14px;font-weight:600;color:var(--text-faint);margin-left:3px}
.quant-tile__sub{font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.4}
.quant-intro{max-width:780px;color:var(--text-muted);font-size:13.5px;line-height:1.6;margin:0 0 var(--s-4);padding:var(--s-3) var(--s-4);background:var(--surface-2);border-left:2px solid var(--accent-border);border-radius:0 var(--r-sm) var(--r-sm) 0}
.quant-intro b{color:var(--text);font-weight:600}
.quant-universe{margin-top:var(--s-7)}
.quant-universe:first-of-type{margin-top:var(--s-5)}
.quant-universe__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-3);padding-top:var(--s-5);border-top:1px solid var(--border)}
.quant-universe:first-of-type .quant-universe__head{padding-top:0;border-top:0}
.quant-universe__head h2{margin:0;font-size:28px;line-height:1.15}
.quant-universe__head .eyebrow{margin:0 0 var(--s-1)}
.quant-universe__head .small{max-width:360px;text-align:right}
.quant-chart{display:block;width:100%;height:auto;max-width:680px;margin:var(--s-2) 0 var(--s-5)}
.quant-focus{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:var(--s-5);align-items:stretch;margin:var(--s-3) 0 var(--s-5)}
.quant-focus .quant-chart,.quant-focus .qbars,.quant-focus .qgauge{margin:0;max-width:none}
/* left column fills the row height so it never leaves a gap beside the side rail */
.quant-focus > :first-child{display:flex;flex-direction:column;justify-content:center;min-width:0}
.quant-focus .qbars{flex:1;justify-content:space-between}
.quant-side{display:grid;gap:var(--s-3)}
.quant-callout{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4)}
.quant-callout__k{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:700;margin-bottom:var(--s-1)}
.quant-callout__v{font-size:22px;font-weight:700;line-height:1.15;color:var(--text);font-variant-numeric:tabular-nums}
.quant-callout__v .tk{font-weight:800}
.quant-callout__d{font-size:12px;color:var(--text-muted);line-height:1.45;margin-top:var(--s-1)}
.quant-rank{display:grid;gap:var(--s-2)}
.quant-rank__row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:var(--s-2);padding:8px 10px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-sm);font-size:12px}
.quant-rank__row b{font-size:13px}
.quant-rank__track{height:7px;background:var(--surface-inset);border-radius:var(--r-pill);overflow:hidden}
.quant-rank__fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent-press),var(--accent));border-radius:inherit}
.quant-rank__val{color:var(--text-muted);font-variant-numeric:tabular-nums}
.quant-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--s-3);margin:var(--s-4) 0}
.quant-asset-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4);min-width:0}
.quant-asset-card:hover{border-color:var(--border-strong);background:var(--surface-2)}
.quant-asset-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-2);margin-bottom:var(--s-3)}
.quant-asset-card__top .tk{font-size:17px;font-weight:800;line-height:1;color:var(--text)}
.quant-asset-card__tag{font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;text-align:right}
.quant-asset-card__big{font-size:25px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;margin-bottom:var(--s-3)}
.quant-asset-card__meter{height:7px;border-radius:var(--r-pill);background:var(--surface-inset);overflow:hidden;margin-bottom:var(--s-3)}
.quant-asset-card__meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-press),var(--accent))}
.quant-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}
.quant-metric{border-top:1px solid var(--border-faint);padding-top:var(--s-2);min-width:0}
.quant-metric span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quant-metric b{display:block;margin-top:2px;font-size:13px;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quant-details{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-1);overflow:hidden;margin-top:var(--s-4)}
.quant-details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);cursor:pointer;font-weight:700;color:var(--text)}
.quant-details>summary::-webkit-details-marker{display:none}
.quant-details>summary span{font-size:12px;color:var(--text-faint);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.quant-details>summary::after{content:"\25BE";display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--accent-text);font-size:13px;line-height:1;transition:transform .15s ease,border-color .15s ease}
.quant-details>summary:hover::after{border-color:var(--accent-border)}
.quant-details[open]>summary::after{content:"\25B4";background:var(--accent-weak);border-color:var(--accent-border)}
.quant-details[open]>summary{border-bottom:1px solid var(--border)}
.quant-details .table-wrap{border:0;border-radius:0}
.quant-table{font-size:12.5px}
.quant-table thead th{padding:10px 12px;font-size:9.5px}
.quant-table tbody td{padding:11px 12px}
.quant-card-note{font-size:12px;color:var(--text-faint);margin:calc(var(--s-2) * -1) 0 var(--s-3);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.quant-spread{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s-3);margin:var(--s-4) 0}
.quant-spread-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4)}
.quant-spread-card__h{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:700;margin-bottom:var(--s-2)}
.quant-spread-card__v{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2)}
.quant-spread-card__v .tk{font-size:18px;font-weight:800}
.quant-spread-card__v b{font-size:18px;font-variant-numeric:tabular-nums}
.quant-spread-card__d{font-size:12px;color:var(--text-muted);margin-top:var(--s-1)}
.disp-board{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.35fr);gap:var(--s-4);align-items:stretch;margin:var(--s-4) 0}
.disp-hero{background:var(--surface-1);border:1px solid var(--accent-border);border-radius:var(--r-lg);padding:var(--s-5);display:flex;flex-direction:column;justify-content:space-between;min-height:260px}
.disp-hero__k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-weight:800}
.disp-hero__v{font-size:44px;font-weight:800;line-height:1;margin:var(--s-3) 0 var(--s-2);font-variant-numeric:tabular-nums}
.disp-hero__d{color:var(--text-muted);font-size:13px;line-height:1.5;max-width:34ch}
.disp-hero .qgauge{margin:var(--s-5) 0 0;max-width:none}
.disp-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.disp-metric{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4)}
.disp-metric>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:800}
.disp-metric b{display:block;font-size:24px;line-height:1.15;margin-top:var(--s-2);font-variant-numeric:tabular-nums}
.disp-metric small{display:block;margin-top:var(--s-1);font-size:12px;color:var(--text-muted);line-height:1.35}
.disp-movers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);margin:var(--s-4) 0}
.disp-mover-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4)}
.disp-mover-panel__h{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:800;margin-bottom:var(--s-3)}
.disp-mover{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:var(--s-3);align-items:center;padding:9px 0;border-top:1px solid var(--border-faint)}
.disp-mover:first-of-type{border-top:0;padding-top:0}
.disp-mover b{font-size:13px}
.disp-mover__track{height:8px;border-radius:var(--r-pill);background:var(--surface-inset);overflow:hidden}
.disp-mover__fill{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.disp-mover__fill--down{background:var(--down)}
.disp-mover__val{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.disp-note{background:var(--surface-1);border-left:2px solid var(--accent-border);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:var(--s-3) var(--s-4);max-width:860px;color:var(--text-muted)}
.qbars{display:flex;flex-direction:column;gap:7px;max-width:560px;margin:var(--s-2) 0 var(--s-5)}
.qbar{display:grid;grid-template-columns:48px 1fr 54px;align-items:center;gap:var(--s-3);font-size:12px}
.qbar__lbl{font-weight:600;color:var(--text)}
.qbar__track{height:10px;background:var(--surface-inset);border-radius:var(--r-pill);overflow:hidden}
.qbar__fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent-press),var(--accent));border-radius:var(--r-pill)}
.qbar__val{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}
.qgauge{max-width:520px;margin:var(--s-3) 0 var(--s-5)}
.qgauge__track{position:relative;height:8px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--up-weak),var(--surface-3),var(--down-weak))}
.qgauge__marker{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--text);border:2px solid var(--bg);transform:translate(-50%,-50%);box-shadow:var(--shadow-sm)}
.qgauge__ends{display:flex;justify-content:space-between;margin-top:7px;font-size:11px;color:var(--text-faint)}
.qgauge__val{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}

@media(max-width:900px){
  .quant-focus{grid-template-columns:1fr}
  .quant-card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .disp-board,.disp-movers{grid-template-columns:1fr}
  .disp-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quant-universe__head{display:block}
  .quant-universe__head .small{text-align:left;margin-top:var(--s-2)}
}
@media(max-width:560px){.disp-metrics{grid-template-columns:1fr}}

/* ============================================================
   DATASET TERMINAL UI — polished presentation of gated API datasets
   inside the Posture Terminal and the local Data Lab preview.
   Reuses .quant-tile / .quant-callout / .quant-details where possible.
   ============================================================ */

/* Dataset grid used by local previews and internal tooling */
.dataset-lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);align-items:start}
.dataset-section-stack{display:grid;gap:var(--s-4);margin-top:var(--s-4)}
.dataset-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4);min-width:0;box-shadow:var(--shadow-sm)}
.dataset-panel:hover{border-color:var(--border-strong)}
/* Stacked dataset cards must not touch/merge — keep a clear gap between them. */
.dataset-panel + .dataset-panel{margin-top:var(--s-4)}
.dataset-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);padding-bottom:var(--s-3);margin-bottom:var(--s-3);border-bottom:1px solid var(--border-faint)}
.dataset-panel__title{font-size:15px;font-weight:700;line-height:1.2;color:var(--text);letter-spacing:-.01em}
.dataset-panel__head p{margin:4px 0 0;color:var(--text-muted);font-size:12.5px;line-height:1.45}
.dataset-panel .api-row b{overflow-wrap:anywhere}
.dataset-state{display:flex;flex-direction:column;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4);margin-bottom:var(--s-3)}
.dataset-state span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:700}
.dataset-state b{font-size:24px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1}
.dataset-link-list{list-style:none;margin:0;padding:0;display:grid;gap:1px;border:1px solid var(--border-faint);border-radius:var(--r-sm);overflow:hidden;background:var(--border-faint)}
.dataset-link-list li{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(0,1fr);gap:var(--s-3);align-items:center;background:var(--surface-1);padding:9px 12px;font-size:13px}
.dataset-link-list a{font-family:var(--font-mono);font-size:12px;font-weight:600;overflow-wrap:anywhere}
.dataset-link-list span{color:var(--text-muted);line-height:1.35}
.hero-stat{display:flex;flex-direction:column;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4);margin-bottom:var(--s-3)}
.hero-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:600}
.hero-stat b{font-size:22px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}

/* Dataset tab panels inside the Posture Terminal */
.dataset-hero{background:linear-gradient(180deg,var(--surface-1),rgba(17,22,28,.86));border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-5);margin-bottom:var(--s-4);box-shadow:var(--shadow-sm)}
.dataset-hero__top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-3)}
.dataset-hero__title{font-size:19px;font-weight:700;line-height:1.2;color:var(--text);margin:0;letter-spacing:-.01em}
.dataset-hero__meta{display:flex;flex-wrap:wrap;gap:var(--s-2);font-size:11px;color:var(--text-faint)}
.dataset-hero__meta span{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-pill);padding:4px 9px;white-space:nowrap}
.dataset-hero__meta b{color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.dataset-hero+.quant-tiles .quant-tile__val{overflow-wrap:anywhere}

/* Scanner bucket cards */
.scanner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-4);margin-bottom:var(--s-4)}
.dataset-panel .scanner-grid{margin-bottom:0}
.scanner-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);min-height:148px}
.scanner-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}
.scanner-card__name{font-size:14px;font-weight:700;color:var(--text)}
.scanner-card__count{font-size:11px;font-weight:600;color:var(--text-faint);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);padding:2px 8px}
.scanner-card__desc{font-size:12px;color:var(--text-muted);line-height:1.45;margin:0}
.scanner-card__top{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-1);font-size:13px;color:var(--text-muted)}
.scanner-card__top b{color:var(--text);font-weight:600}

/* Dataset API + download card (appears on every dataset tab) */
.dataset-api-card{background:linear-gradient(180deg,rgba(16,185,129,.08),rgba(17,22,28,.92));border:1px solid var(--accent-border);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5);margin-top:var(--s-4)}
.dataset-api-card__head{display:flex;align-items:center;gap:6px;color:var(--accent-text);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--s-2)}
.dataset-api-card p{margin:0 0 var(--s-3);color:var(--text-muted);font-size:13px;line-height:1.55}
.dataset-api-card pre{margin:var(--s-2) 0 0}

/* Value coloring helpers for dataset tables */
.cell-up{color:var(--up-text)}
.cell-down{color:var(--down-text)}
.cell-flat{color:var(--flat)}

/* Narrative strength heatmap (Narratives tab) */
.nheat{display:grid;gap:3px;margin-top:var(--s-2);font-size:12px;font-variant-numeric:tabular-nums}
.nheat-cell{padding:7px 8px;border-radius:var(--r-xs);text-align:center;color:var(--text);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
.nheat-cell--corner,.nheat-cell--head{background:transparent;color:var(--text-faint);font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.nheat-cell--row{background:var(--surface-2);text-align:left;font-weight:600}
.nheat-cell--na{background:var(--surface-2);color:var(--text-faint)}

/* Compact dataset table spacing */
.dataset-table{font-size:13px}
.dataset-table thead th{padding:11px 12px;font-size:9.5px}
.dataset-table tbody td{padding:11px 12px}
.dataset-table--catalog tbody td:nth-child(5),
.dataset-table--catalog tbody td:nth-child(6){white-space:normal;text-align:left;line-height:1.45;font-variant-numeric:normal;min-width:220px}
.dataset-table--catalog tbody td:nth-child(6) code{white-space:normal;overflow-wrap:anywhere}
/* dataset keys never break mid-word — wrap belongs at the dots, not inside them */
.dataset-table--catalog tbody td:first-child code{white-space:nowrap;font-size:11px}

@media(max-width:760px){
  .dataset-lab-grid{grid-template-columns:1fr}
  .scanner-grid{grid-template-columns:1fr}
  .dataset-hero{padding:var(--s-4)}
  .dataset-hero__meta{width:100%}
  .dataset-link-list li{grid-template-columns:1fr;gap:3px}
}

/* share-card popout — preview today's social card + download / share / cancel */ .share-modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:var(--s-4)}.share-modal.is-open{display:flex}.share-modal__backdrop{position:absolute;inset:0;background:rgba(2,6,10,.72);backdrop-filter:saturate(140%) blur(4px);-webkit-backdrop-filter:saturate(140%) blur(4px)}.share-modal__panel{position:relative;z-index:1;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 56px);overflow:auto;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--s-5)}.share-modal__title{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-weight:600;margin:0 0 var(--s-3)}.share-modal__preview{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--bg)}.share-modal__preview img{display:block;width:100%;height:auto}.share-modal__actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-4)}.share-modal__msg{margin:var(--s-3) 0 0;min-height:1.2em}html.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--rv,0)*80ms)}html.js [data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html.js [data-reveal]{opacity:1;transform:none}}.kick{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-text);margin:0 0 var(--s-4)}.kick .kick__n{color:var(--text-faint);letter-spacing:.14em}.hero-land{position:relative;overflow:hidden;border-bottom:1px solid var(--border);padding-block:var(--s-8) 0}.hero-land .container{position:relative;z-index:3;display:grid;grid-template-columns:1.12fr .88fr;gap:var(--s-8);align-items:center;padding-bottom:var(--s-8)}.hero-land h1{font-size:clamp(46px,6.6vw,86px);font-weight:600;line-height:1;letter-spacing:-.035em;max-width:12ch;margin:0}.hero-land h1 em{font-style:normal;color:var(--accent-text)}.hero-land .lead{font-size:18px;max-width:44ch;margin:var(--s-5) 0 0;border-left:2px solid var(--accent);padding-left:var(--s-4)}.hero-land .hero__cta{margin-top:var(--s-6)}.noir-grid{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(#000 45%,transparent 96%);-webkit-mask-image:linear-gradient(#000 45%,transparent 96%)}.aurora{position:absolute;z-index:2;width:min(860px,90vw);height:520px;right:-160px;top:-160px;border-radius:50%;filter:blur(110px);background:conic-gradient(from 200deg,var(--aurora-a),var(--aurora-b),transparent 65%);pointer-events:none;animation:aurora-drift 19s ease-in-out infinite}@keyframes aurora-drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-36px,26px) scale(1.07)}}@media (prefers-reduced-motion: reduce){.aurora{animation:none}}.cursor-blink{display:inline-block;width:.14em;height:.78em;margin-left:.08em;background:var(--accent);vertical-align:-.04em;animation:cursor-on 1.15s steps(1) infinite}@keyframes cursor-on{0%,55%{opacity:1}56%,100%{opacity:0}}@media (prefers-reduced-motion: reduce){.cursor-blink{animation:none;opacity:1}}.arrow-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--text-muted)}.arrow-link .ar{transition:transform .18s ease}.arrow-link:hover{color:var(--text);text-decoration:none}.arrow-link:hover .ar{transform:translateX(4px)}.termcard{position:relative;border:1px solid var(--border-strong);border-radius:var(--r-xl);background:rgba(9,13,18,.82);overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.55)}.termcard__bar{display:flex;align-items:center;gap:8px;padding:13px 18px;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-faint)}.termcard__dot{width:9px;height:9px;border-radius:50%;background:var(--border-strong);flex:none}.termcard__dot--on{background:var(--accent)}.termcard__body{padding:var(--s-5)}.termcard__body svg{display:block;width:100%;height:auto}.term-rows{margin-top:var(--s-4);font-family:var(--font-mono);font-size:12px}.term-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:10px 2px;border-top:1px solid var(--border-faint);color:var(--text-muted);letter-spacing:.08em}.term-row .term-bar{flex:1;height:3px;background:var(--surface-3);border-radius:2px;overflow:hidden}.term-row .term-bar i{display:block;height:100%;width:var(--w,60%);background:var(--grad-brand);border-radius:2px;transform-origin:left;transform:scaleX(0);transition:transform 1.1s cubic-bezier(.22,1,.36,1) .35s}html.js .is-in .term-row .term-bar i,html:not(.js) .term-row .term-bar i{transform:scaleX(1)}.term-row .term-val{color:var(--accent-text);font-weight:500;white-space:nowrap}.draw-line{stroke-dasharray:900;stroke-dashoffset:900}html.js .is-in .draw-line,html:not(.js) .draw-line{animation:draw-in 2.1s cubic-bezier(.3,.7,.3,1) .3s forwards}@keyframes draw-in{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.draw-line{stroke-dashoffset:0;animation:none}.term-row .term-bar i{transform:scaleX(1);transition:none}}.marq{position:relative;overflow:hidden;border-top:1px solid var(--border);padding-block:var(--s-3);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marq__in{display:inline-flex;gap:0;white-space:nowrap;animation:marq-roll 36s linear infinite;will-change:transform}.marq__in span{padding-inline:28px;position:relative}.marq__in span::after{content:"·";position:absolute;right:-4px;color:var(--accent-text);opacity:.6}.marq:hover .marq__in{animation-play-state:paused}@keyframes marq-roll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion: reduce){.marq__in{animation:none}}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border)}.fact{padding:var(--s-5) var(--s-2) var(--s-4) 0;border-bottom:1px solid var(--border)}.fact__n{font-family:var(--font-disp);font-size:clamp(30px,3.4vw,42px);font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.fact__n em{font-style:normal;color:var(--accent-text)}.fact__l{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin-top:var(--s-2)}@media(max-width:860px){.facts{grid-template-columns:repeat(2,1fr)}}/* ---------- Abstract "what we measure" cards ---------- */ .measure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4)}.measure{position:relative;overflow:hidden;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-5);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.measure:hover{border-color:var(--accent-border);transform:translateY(-3px);box-shadow:var(--shadow-md)}.measure__ix{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;color:var(--text-faint)}.measure__glyph{margin:var(--s-4) 0;height:56px}.measure__glyph svg{display:block;width:100%;height:56px}.measure h3{font-family:var(--font-disp);font-size:19px;font-weight:600;margin:0 0 var(--s-1)}.measure p{font-size:13.5px;color:var(--text-muted);margin:0;line-height:1.5}.measure::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--grad-brand);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,1,.36,1)}.measure:hover::after{transform:scaleX(1)}@media(max-width:1020px){.measure-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.measure-grid{grid-template-columns:1fr}}.prod-rows{border-top:1px solid var(--border)}.prod-row{display:grid;grid-template-columns:64px 1.1fr 1.6fr auto 28px;gap:var(--s-5);align-items:center;padding:var(--s-5) var(--s-2);border-bottom:1px solid var(--border);color:var(--text);transition:background .18s ease,padding .18s ease}.prod-row:hover{background:var(--surface-1);text-decoration:none;padding-left:var(--s-4)}.prod-row__ix{font-family:var(--font-mono);font-size:13px;color:var(--text-faint);letter-spacing:.1em}.prod-row__name{font-family:var(--font-disp);font-size:clamp(19px,2.2vw,24px);font-weight:600;letter-spacing:-.015em;line-height:1.15}.prod-row__desc{font-size:14px;color:var(--text-muted);line-height:1.5;max-width:52ch}.prod-row__arrow{color:var(--text-faint);font-size:18px;transition:transform .18s ease,color .18s ease}.prod-row:hover .prod-row__arrow{transform:translateX(5px);color:var(--accent-text)}@media(max-width:860px){.prod-row{grid-template-columns:44px 1fr 28px}.prod-row__desc{grid-column:2/4;margin-top:-6px}.prod-row .badge{grid-column:2;justify-self:start}}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);position:relative}.flow__step{position:relative;padding-top:var(--s-5)}.flow__step::before{content:"";position:absolute;top:0;left:0;right:calc(-1*var(--s-5));height:1px;background:var(--border)}.flow__step:last-child::before{right:0}.flow__step::after{content:"";position:absolute;top:-3.5px;left:0;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-weak)}.flow__n{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--text-faint)}.flow__t{font-family:var(--font-disp);font-size:20px;font-weight:600;margin:var(--s-2) 0}.flow__step p{font-size:14px;color:var(--text-muted);margin:0;max-width:38ch}@media(max-width:760px){.flow{grid-template-columns:1fr}.flow__step::before{right:0}}.manifesto{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--s-8);align-items:start}.manifesto blockquote{margin:0;font-family:var(--font-disp);font-size:clamp(22px,2.8vw,30px);font-weight:500;line-height:1.35;letter-spacing:-.015em;color:var(--text)}.manifesto blockquote em{font-style:normal;color:var(--accent-text)}.manifesto__note{font-size:14px;color:var(--text-muted);margin-top:var(--s-5);max-width:52ch}@media(max-width:860px){.manifesto{grid-template-columns:1fr;gap:var(--s-5)}}.plan--lite .plan__features li{font-size:13.5px}@media(max-width:960px){.hero-land .container{grid-template-columns:1fr;gap:var(--s-6)}.hero-land h1{font-size:clamp(40px,11vw,56px)}.aurora{right:-220px;top:-220px;opacity:.8}}.page-head{position:relative;overflow:hidden;border-bottom:1px solid var(--border);padding-block:var(--s-7) var(--s-6)}.page-head .container{position:relative;z-index:3}.page-head h1{font-size:clamp(34px,5vw,54px);letter-spacing:-.03em;max-width:20ch}.page-head .lead{max-width:56ch}.page-head .aurora{opacity:.55}.tiles.ov-grid{gap:0 var(--s-6);background:transparent}.ov-grid .tile{background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;padding:var(--s-4) 0 var(--s-3)}.ov-grid .tile:hover{border-top-color:var(--accent-border)}.ov-grid .tile__value{font-size:clamp(24px,2.6vw,32px)}.ov-grid .tile__value.val-up{color:var(--up-text)}.ov-grid .tile__value.val-down{color:var(--down-text)}.secboard{border-top:1px solid var(--border);margin-top:var(--s-5)}.secrow{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1.3fr) auto;gap:var(--s-5);align-items:center;padding:var(--s-4) 0;border-bottom:1px solid var(--border)}.secrow__id{display:flex;gap:var(--s-3);align-items:baseline;min-width:0}.secrow__ix{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);flex:none}.secrow__name{font-family:var(--font-disp);font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.secrow__assets{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;color:var(--text-faint);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:36ch}.secrow__mid{min-width:0}.secrow__ratio{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:7px}.secrow__ratio b{color:var(--text);font-weight:600}.secrow--up .secrow__ratio b{color:var(--up-text)}.secrow--down .secrow__ratio b{color:var(--down-text)}.secrow__track{position:relative;height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden}.secrow__track i{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:var(--grad-brand);width:var(--p,0%);transform-origin:left;transform:scaleX(1);transition:transform 1s cubic-bezier(.22,1,.36,1) .2s}.secrow--down .secrow__track i{background:var(--down);opacity:.8}html.js [data-reveal]:not(.is-in) .secrow__track i{transform:scaleX(0)}.secrow__stats{display:grid;grid-auto-flow:column;gap:var(--s-5);text-align:right}.secrow__stats span{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.secrow__stats b{display:block;margin-top:3px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}@media(max-width:860px){.secrow{grid-template-columns:1fr;gap:var(--s-3)}.secrow__stats{justify-content:start;text-align:left;gap:var(--s-5)}.secrow__assets{max-width:none}}.corr-wrap{background:var(--surface-inset);padding:var(--s-4)}.corr-cell{font-family:var(--font-mono);font-size:12px;font-weight:500;border-radius:4px;letter-spacing:.01em;min-height:36px}.corr-cell:hover{outline:1px solid var(--border-strong);outline-offset:-1px;filter:brightness(1.3)}.corr-cell--head{font-size:10px;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.corr-cell--diag{outline:1px solid var(--accent-border);outline-offset:-1px}.lb-table tbody td:first-child{font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.lb-table tbody tr:hover td:first-child{box-shadow:inset 2px 0 0 var(--accent);color:var(--accent-text)}.dbar{position:relative;display:inline-block;width:52px;height:4px;border-radius:2px;background:var(--surface-3);vertical-align:middle;margin-left:9px;overflow:hidden}.dbar i{position:absolute;top:0;bottom:0;border-radius:2px}.dbar--up i{left:50%;background:var(--up)}.dbar--down i{right:50%;background:var(--down)}.dbar::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--border-strong)}@media(max-width:700px){.dbar{display:none}}.lb-pill{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;background:transparent;padding:6px 12px}.lb-pill:hover{border-color:var(--accent-border);color:var(--text)}.lb-pill.is-on{background:var(--accent-weak);color:var(--accent-text);border-color:var(--accent-border)}.lb-count{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.asset-chip{background:var(--surface-inset)}.asset-chip .tk{font-family:var(--font-disp);font-weight:600}.asset-chip .sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em}.asset-chip[aria-pressed="true"]{border-color:var(--accent-border);background:var(--accent-faint);box-shadow:inset 0 -2px 0 var(--accent)}.asset-pick__tab{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.asset-pick__tab b{font-family:var(--font-mono)}.signal-hero{position:relative;overflow:hidden;border-radius:var(--r-xl)}.signal-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(460px 220px at 88% -40%,var(--aurora-a),transparent 62%);pointer-events:none}.signal-hero>*{position:relative}.signal-hero__k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;font-weight:500}.signal-hero__v{font-size:clamp(38px,4.4vw,52px);background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.signal-hero__metrics span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase}.signal-list{gap:0 var(--s-7)}.signal-item{background:transparent;border:0;border-radius:0;border-top:1px solid var(--border);padding:var(--s-4) 2px}.signal-item:hover{background:var(--surface-1)}.signal-item__h{font-family:var(--font-disp);font-size:14.5px}.signal-item__v span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em}.signal-item__v b{font-family:var(--font-disp);font-size:19px;font-weight:600}.scanner-card .sh{font-family:var(--font-mono);letter-spacing:.12em;font-weight:500}.quant-tiles{gap:0 var(--s-6)}.quant-tile{background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;padding:var(--s-4) 0 var(--s-3)}.quant-tile:hover{border-top-color:var(--accent-border)}.quant-tile__lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;font-weight:500}.quant-tile__val{font-family:var(--font-disp);font-weight:600}.qgauge__ends{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em}.quant-callout{background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;padding:var(--s-4) 0}.quant-metric span{font-family:var(--font-mono);letter-spacing:.1em}.dataset-hero{background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;padding:var(--s-5) 0 var(--s-3);box-shadow:none;margin-bottom:var(--s-3)}.dataset-hero__title{font-family:var(--font-disp);font-size:22px;letter-spacing:-.015em}.dataset-hero__meta span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--text-faint)}.dataset-hero__meta b{color:var(--text-muted);font-weight:500}.dataset-panel{background:var(--surface-inset);box-shadow:none}.dataset-api-card{position:relative;overflow:hidden;background:var(--surface-inset);border:1px solid var(--border-strong)}.dataset-api-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad-brand);opacity:.6}.dataset-api-card__head{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}.plan{position:relative}.plan--featured{border-color:var(--accent-border);box-shadow:0 24px 60px rgba(16,185,129,.10)}.plan--featured::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--grad-brand)}.plan__tag{position:absolute;top:calc(-1*var(--s-3));right:var(--s-4);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-on-accent);background:var(--accent);border-radius:var(--r-pill);padding:4px 11px}.faq-grid{counter-reset:faq}.faq__q{font-family:var(--font-disp);font-size:17px;font-weight:600}.faq__q::before{counter-increment:faq;content:counter(faq,decimal-leading-zero) " / ";font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--text-faint);font-weight:500}.tabpanel .section-head:not(:first-child){margin-top:var(--s-8)}.pairs-grid{display:flex;flex-wrap:wrap}.pairs-grid .pair-card{flex:1 1 248px;min-width:248px}.quant-card-grid{display:flex;flex-wrap:wrap}.quant-card-grid .quant-asset-card{flex:1 1 190px;min-width:190px}.plan__features .ck{flex:none;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-top:1px;border-radius:50%;background:var(--accent-weak);border:1px solid var(--accent-border);color:var(--accent-text);font-size:9px;line-height:1}.card--premium .plan__features .ck{background:var(--gold-weak);border-color:var(--gold-border);color:var(--gold-text)}.eq-range__legend{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:var(--s-3)}.eq-range__band{display:flex;align-items:baseline;gap:var(--s-3);margin:var(--s-5) 0 var(--s-2)}.eq-range__band b{font-family:var(--font-disp);font-size:14px;font-weight:600;letter-spacing:-.01em}.eq-range__band span{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.eq-range__band i{font-style:normal;font-family:var(--font-mono);font-size:10px;color:var(--text-faint);margin-left:auto}.eq-range__band--up b{color:var(--up-text)}.eq-range__band--down b{color:var(--down-text)}.eq-rg__mark--up{background:var(--up-text)}.eq-rg__mark--down{background:var(--down-text)}.eq-rg__mark--flat{background:var(--text)}.eq-rg__val.val-flat{color:var(--text-muted)}.qrisk-board{border-top:1px solid var(--border);margin-bottom:var(--s-4)}.qrisk{display:grid;grid-template-columns:64px 110px minmax(140px,1fr) 72px auto;gap:var(--s-4);align-items:center;padding:var(--s-3) 2px;border-bottom:1px solid var(--border);color:var(--text);transition:background .15s ease,padding .15s ease}.qrisk:hover{background:var(--surface-1);text-decoration:none;padding-left:var(--s-3)}.qrisk__tk{font-family:var(--font-disp);font-size:15px;font-weight:600}.qrisk__tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:var(--r-pill);border:1px solid var(--border);color:var(--text-faint);text-align:center;white-space:nowrap}.qrisk__tag--systematic{color:var(--cyan-text);border-color:rgba(34,211,238,.3);background:rgba(34,211,238,.08)}.qrisk__tag--idiosyncratic{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-faint)}.qrisk__tag--benchmark{color:var(--gold-text);border-color:var(--gold-border);background:var(--gold-weak)}.qrisk__track{display:block;position:relative;height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden}.qrisk__track i{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:var(--grad-brand)}.qrisk__beta{font-family:var(--font-disp);font-size:16px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.qrisk__stats{display:grid;grid-auto-flow:column;gap:var(--s-4);text-align:right}.qrisk__stats em{display:block;font-style:normal;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.qrisk__stats b{display:block;font-size:13px;font-variant-numeric:tabular-nums;margin-top:2px}@media(max-width:760px){.qrisk{grid-template-columns:56px 1fr 64px}.qrisk__tag,.qrisk__mid{display:none}.qrisk__stats{gap:var(--s-3)}}.disp-hero{position:relative;overflow:hidden;border-radius:var(--r-xl)}.disp-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(420px 200px at 85% -30%,var(--aurora-a),transparent 62%);pointer-events:none}.disp-hero>*{position:relative}.disp-hero__k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;font-weight:500}.disp-hero__v{font-family:var(--font-disp);font-size:clamp(30px,3.4vw,42px);font-weight:600;letter-spacing:-.02em;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.disp-metric{background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;padding:var(--s-3) 0}.disp-metric span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase}.disp-metric b{font-family:var(--font-disp);font-weight:600}.dv-board{background:transparent;border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5)}.dv-board__h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3)}.dv-board__h b{font-family:var(--font-disp);font-size:14px;font-weight:600}.dv-board__h span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.dv-row{display:grid;grid-template-columns:52px minmax(0,1fr) 64px;gap:var(--s-3);align-items:center;padding:7px 0;border-top:1px solid var(--border-faint);color:var(--text)}.dv-row:hover{text-decoration:none;background:var(--surface-1)}.dv-tk{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.04em}.dv-track{position:relative;height:5px;border-radius:3px;background:var(--surface-inset)}.dv-track::after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--border-strong)}.dv-fill{position:absolute;top:0;bottom:0;border-radius:3px}.dv-fill--up{left:50%;background:linear-gradient(90deg,var(--up),var(--cyan))}.dv-fill--down{right:50%;background:var(--down);opacity:.85}.dv-val{text-align:right;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}.universe-switch{background:var(--surface-inset);border-color:var(--border-strong);border-radius:var(--r-md);padding:4px}.universe-btn{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border-radius:var(--r-sm);padding:9px 20px}.universe-btn[aria-pressed="true"]{background:var(--accent);color:var(--text-on-accent);box-shadow:0 4px 16px rgba(16,185,129,.30)}.legal-body{border-top:1px solid var(--border)}.legal-sec{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--s-4);padding:var(--s-5) 0;border-bottom:1px solid var(--border)}.legal-sec__ix{font-family:var(--font-mono);font-size:12px;color:var(--text-faint);letter-spacing:.1em;padding-top:5px}.legal-sec__body h2{font-size:19px;margin:0 0 var(--s-2)}.legal-sec__body p{font-size:14.5px;line-height:1.65;color:var(--text-muted);margin:0 0 var(--s-3)}.legal-sec__body p:last-child{margin-bottom:0}.legal-sec__body strong{color:var(--text)}@media(max-width:560px){.legal-sec{grid-template-columns:36px 1fr}}.acct-card{background:var(--surface-inset);border-radius:var(--r-lg)}.acct-card h3{font-family:var(--font-disp);font-size:17px}.acct-badge{font-family:var(--font-mono);letter-spacing:.1em;font-weight:500}@media(max-width:560px){.signal-hero__metrics{grid-template-columns:1fr}.perf-returns{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-row{position:sticky;top:var(--nav-h);z-index:30;display:flex;align-items:center;gap:var(--s-4);background:var(--bg);border-bottom:1px solid var(--border);margin-bottom:var(--s-5)}.dash-row .dash-tabs{position:static;top:auto;flex:1;min-width:0;border-bottom:0;margin-bottom:0}.dash-row .universe-switch{flex:none;margin:0 0 var(--s-2)}@media(max-width:760px){.dash-row{flex-wrap:wrap;gap:var(--s-2)}.dash-row .universe-switch{margin:0 0 var(--s-2) auto;order:-1}}.sector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-4);margin-top:var(--s-4)}.sector-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4)}.sector-card__top{display:flex;justify-content:space-between;gap:var(--s-3);align-items:flex-start}.sector-card__name{font-family:var(--font-disp);font-size:15px;font-weight:600}.sector-card__assets{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);margin-top:2px}.sector-card__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:var(--s-2);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--border-faint)}.sector-card__metrics span{display:block;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.sector-card__metrics b{display:block;font-size:13px;font-variant-numeric:tabular-nums}.sector-score{display:inline-flex;flex-direction:column;align-items:center;padding:5px 10px;border-radius:var(--r-md);border:1px solid var(--border-strong);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.sector-score small{font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;opacity:.85;font-weight:500}.sector-score--up{color:var(--up-text);border-color:var(--accent-border);background:var(--up-weak)}.sector-score--down{color:var(--down-text);border-color:rgba(246,70,93,.35);background:var(--down-weak)}.cookie{position:fixed;left:var(--s-4);right:var(--s-4);bottom:var(--s-4);z-index:200;display:none;max-width:660px;margin-inline:auto;gap:var(--s-4);align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5);box-shadow:var(--shadow-lg)}.cookie.is-shown{display:flex;animation:fade-rise .4s cubic-bezier(.22,1,.36,1)}.cookie::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--grad-brand);opacity:.6}.cookie__eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);margin:0 0 5px}.cookie__text{flex:1;min-width:250px}.cookie__text p:last-child{margin:0;font-size:12.5px;line-height:1.55;color:var(--text-muted)}.cookie__actions{display:flex;gap:var(--s-2);flex:none}@media(max-width:520px){.cookie{flex-direction:column;align-items:stretch;left:var(--s-3);right:var(--s-3);bottom:var(--s-3)}.cookie__actions{justify-content:flex-end}}[hidden]{display:none!important}.btn:disabled{cursor:default;opacity:.72;transform:none}.btn--primary:disabled{box-shadow:none}.spin{display:inline-block;flex:none;width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;opacity:.85;animation:mpd-spin .7s linear infinite}.spin--lg{width:28px;height:28px;border-width:3px;color:var(--accent-text)}@keyframes mpd-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}}.linkbtn{appearance:none;background:none;border:0;padding:0;font:inherit;color:var(--accent-text);cursor:pointer}.linkbtn:hover{color:var(--accent-hover)}.auth-lead{max-width:56ch;margin:var(--s-2) 0 0}.auth-split{align-items:start;margin-top:var(--s-6)}.auth-page .auth-lead{margin-bottom:var(--s-5)}@media(max-width:860px){.auth-split--action-first>.auth-col{order:-1}}.auth-col{display:grid;gap:var(--s-4);align-content:start}.auth-page .auth-shell{max-width:440px;margin-inline:auto}.auth-page h1{margin-bottom:0}.auth{padding:var(--s-5)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:var(--s-4);background:var(--surface-inset);border:1px solid var(--border-strong);border-radius:var(--r-md)}.auth-tab{appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:13.5px;font-weight:600;padding:9px 10px;border-radius:var(--r-sm);cursor:pointer;transition:background .15s ease,color .15s ease}.auth-tab:hover{color:var(--text)}.auth-tab.is-on{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.auth-tab:focus-visible{outline:none;box-shadow:var(--ring)}.auth-google{gap:10px}.auth-or{display:flex;align-items:center;gap:var(--s-3);margin:var(--s-4) 0 var(--s-3);color:var(--text-faint);font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.auth-or::before,.auth-or::after{content:"";flex:1;height:1px;background:var(--border)}.auth-form{display:grid;gap:6px}.auth-label{font-size:12.5px;font-weight:600;color:var(--text-muted)}.auth-label--pass{margin-top:var(--s-2)}.auth-forgot{justify-self:end;font-size:12.5px}.auth-forgot[aria-disabled]{opacity:.5;pointer-events:none}.auth-hint{margin:0;font-size:12px;color:var(--text-faint)}.auth-submit{margin-top:var(--s-3)}.auth-msg{margin:var(--s-2) 0 0;font-size:13px;line-height:1.5;color:var(--text-muted)}.auth-msg:empty{display:none}.auth-msg[data-kind=err]{color:var(--down-text)}.auth-msg[data-kind=ok]{color:var(--accent-text)}.auth-note{margin:var(--s-4) 0 0;font-size:12.5px;line-height:1.5;color:var(--text-faint);text-align:center}.auth-title{font-family:var(--font-disp);font-size:20px;margin:0 0 var(--s-2)}.auth-blurb{font-size:14px;line-height:1.55;color:var(--text-muted);margin:0 0 var(--s-2)}.auth-blurb b{color:var(--text);word-break:break-all}.auth-fine{margin:var(--s-2) 0 0;font-size:12px;line-height:1.5;color:var(--text-faint);text-align:center}.auth-sent{text-align:center;padding:var(--s-2) 0}.auth-sent__icon{width:48px;height:48px;margin:0 auto var(--s-3);display:grid;place-items:center;border-radius:50%;background:var(--accent-faint);border:1px solid var(--accent-border);color:var(--accent-text);font-family:var(--font-mono);font-size:20px}.auth-sent__actions{display:flex;gap:var(--s-2);justify-content:center;flex-wrap:wrap;margin-top:var(--s-4)}.auth-wait{display:flex;align-items:center;gap:var(--s-3);color:var(--text-muted);font-size:14px}.auth-wait--col{flex-direction:column;align-items:flex-start;gap:var(--s-2)}.auth-wait--col .btn{margin-top:var(--s-2)}.auth-wait--col .small{margin:0}.auth-app-wait{padding-block:var(--s-7)}.auth-pay__title{font-family:var(--font-disp);font-size:22px;letter-spacing:-.01em;margin:var(--s-3) 0 var(--s-2)}.auth-wait--col .auth-pay__title{margin:var(--s-2) 0 0}.auth-pay .small{margin:0 0 var(--s-4)}.auth-alert{margin:0 0 var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:13.5px;line-height:1.5;color:var(--gold-text);background:var(--gold-weak);border:1px solid var(--gold-border)}.auth-alert--ok{color:var(--accent-text);background:var(--accent-faint);border-color:var(--accent-border)}.auth-who{margin:var(--s-4) 0 0;font-size:13px;color:var(--text-muted)}.auth-who b{color:var(--text);font-weight:600;word-break:break-all}.auth-row{display:flex;gap:var(--s-2);flex-wrap:wrap}.auth-trust{margin-top:var(--s-2)}.auth-trust li{font-size:13px}.plan-pick{display:inline-grid;grid-auto-flow:column;gap:4px;padding:4px;margin-top:var(--s-5);background:var(--surface-inset);border:1px solid var(--border-strong);border-radius:var(--r-md)}.plan-pick__btn{appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;cursor:pointer;padding:10px 18px;border-radius:var(--r-sm);display:grid;gap:2px;text-align:left;transition:background .15s ease,color .15s ease}.plan-pick__btn b{font-size:14px;color:inherit}.plan-pick__btn span{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;opacity:.8}.plan-pick__btn:hover{color:var(--text)}.plan-pick__btn.is-on{background:var(--accent);color:var(--text-on-accent);box-shadow:0 4px 16px rgba(16,185,129,.30)}.plan-pick__btn:focus-visible{outline:none;box-shadow:var(--ring)}@media(max-width:520px){.plan-pick{display:grid;grid-auto-flow:row;width:100%}}.acct-h{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin:var(--s-6) 0 var(--s-3)}#acct-app>.acct-h:first-child{margin-top:var(--s-2)}.acct-badge--err{color:var(--down-text);border-color:rgba(246,70,93,.35);background:var(--down-weak)}.acct-card__cta{display:flex;gap:var(--s-2);flex-wrap:wrap}.mpd-toast{position:fixed;left:50%;bottom:var(--s-5);z-index:210;max-width:min(92vw,520px);transform:translate(-50%,16px);opacity:0;pointer-events:none;padding:var(--s-3) var(--s-5);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);font-size:13.5px;line-height:1.5;color:var(--text);transition:opacity .2s ease,transform .2s ease}.mpd-toast.is-on{opacity:1;transform:translate(-50%,0)}.mpd-toast[data-kind=err]{border-color:rgba(246,70,93,.45);color:var(--down-text)}.bill-toggle{display:inline-grid;grid-auto-flow:column;gap:4px;padding:4px;background:var(--surface-inset);border:1px solid var(--border-strong);border-radius:var(--r-pill)}.bill-toggle button{appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:13px;font-weight:600;padding:7px 16px;border-radius:var(--r-pill);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s ease,color .15s ease}.bill-toggle button:hover{color:var(--text)}.bill-toggle button.is-on{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.bill-toggle button:focus-visible{outline:none;box-shadow:var(--ring)}.bill-toggle__save{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);background:var(--accent-faint);border:1px solid var(--accent-border);border-radius:var(--r-pill);padding:2px 7px}.plans-bill{display:flex;justify-content:center;margin-bottom:var(--s-5)}.plan-pick-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4);margin-top:var(--s-5)}.plan-pick-row .plan-pick{margin-top:0}.auth-pay .bill-toggle{display:grid;grid-template-columns:1fr 1fr;margin-bottom:var(--s-3)}.auth-pay .bill-toggle button{justify-content:center}@media(max-width:520px){.plan-pick-row .bill-toggle{width:100%;grid-template-columns:1fr 1fr;display:grid}.plan-pick-row .bill-toggle button{justify-content:center}}.alert-cta{display:flex;align-items:center;gap:var(--s-4);margin-top:var(--s-5);padding:var(--s-4) var(--s-5);background:var(--surface-1);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--r-lg)}.alert-cta__icon{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--accent-faint);border:1px solid var(--accent-border);color:var(--accent-text);font-size:15px}.alert-cta__text{flex:1;min-width:0}.alert-cta__text b{font-size:14.5px}.alert-cta__text p{margin:3px 0 0;font-size:13px;line-height:1.5;color:var(--text-muted)}.alert-cta .btn{flex:none}@media(max-width:560px){.alert-cta{flex-wrap:wrap}.alert-cta .btn{width:100%}}.acct-h__tag{margin-left:8px;color:var(--accent-text);border:1px solid var(--accent-border);background:var(--accent-faint);border-radius:var(--r-pill);padding:1px 7px;font-size:9.5px}.alerts{display:grid;gap:var(--s-3)}.alerts__lead{margin:0;font-size:13.5px;line-height:1.55;color:var(--text-muted)}.watch-chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}.watch-chip{display:inline-flex;align-items:center;gap:2px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-pill);padding:3px 4px 3px 12px;font-size:13px}.watch-chip a{color:var(--text-muted);text-decoration:none}.watch-chip a b{color:var(--text);font-family:var(--font-mono);font-weight:600;margin-right:4px}.watch-chip a:hover{color:var(--text)}.watch-chip button{appearance:none;border:0;background:transparent;color:var(--text-faint);font-size:16px;line-height:1;width:24px;height:24px;border-radius:50%;cursor:pointer}.watch-chip button:hover{background:var(--down-weak);color:var(--down-text)}.watch-empty{margin:0;font-size:13px;color:var(--text-faint)}.watch-add{display:flex;gap:var(--s-2)}.watch-add .input{flex:1;min-width:0}.alerts__foot{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap}.alerts__up{margin:0;color:var(--gold-text)}.switch{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--text-muted);cursor:pointer;user-select:none}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch__ui{position:relative;width:34px;height:20px;border-radius:var(--r-pill);background:var(--surface-inset);border:1px solid var(--border-strong);transition:background .15s ease,border-color .15s ease}.switch__ui::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-faint);transition:transform .15s ease,background .15s ease}.switch input:checked+.switch__ui{background:var(--accent-weak);border-color:var(--accent-border)}.switch input:checked+.switch__ui::after{transform:translateX(14px);background:var(--accent)}.switch input:focus-visible+.switch__ui{box-shadow:var(--ring)}.switch input:disabled+.switch__ui{opacity:.6}.pair-tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.pair-sides{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);margin-top:var(--s-4)}.pair-side{display:grid;gap:var(--s-2);text-decoration:none;color:inherit}.pair-side:hover{text-decoration:none}.pair-side__tk{font-family:var(--font-disp);font-size:20px;font-weight:600;color:var(--text)}.pair-side .small{line-height:1.55}.pair-hub__names{display:block;font-size:12px;margin-top:2px}@media(max-width:640px){.pair-sides{grid-template-columns:1fr}}.plan>.badge{align-self:flex-start}.ds-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-5);margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--border-faint);max-width:860px}.ds-facts b{display:block;font-family:var(--font-disp);font-size:28px;font-weight:600;letter-spacing:-.02em}.ds-facts span{display:block;margin-top:2px;font-size:12.5px;color:var(--text-faint)}@media(max-width:700px){.ds-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.ds-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--s-3)}@media(max-width:420px){.ds-files{grid-template-columns:1fr}}.ds-file{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-4);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);color:inherit;text-decoration:none;transition:border-color .15s ease,background .15s ease}.ds-file:hover{border-color:var(--accent-border);background:var(--surface-2);text-decoration:none}.ds-file__fmt{flex:none;width:52px;height:52px;display:grid;place-items:center;border-radius:var(--r-md);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;border:1px solid var(--border-strong);background:var(--surface-inset);color:var(--text-muted)}.ds-file__fmt--csv{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-faint)}.ds-file__fmt--json{color:var(--gold-text);border-color:var(--gold-border);background:var(--gold-weak)}.ds-file__body{flex:1;min-width:0;display:grid;gap:2px}.ds-file__body b{font-size:14.5px;color:var(--text)}.ds-file__body span{font-size:12.5px;line-height:1.45;color:var(--text-muted)}.ds-file__meta{flex:none;display:grid;justify-items:end;gap:4px;font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.ds-file__dl{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border-strong);color:var(--text);font-family:var(--font-body,inherit);font-size:13px}.ds-file:hover .ds-file__dl{border-color:var(--accent);color:var(--accent-text)}.ds-preview{margin-top:var(--s-5)}.ds-preview__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-2)}.ds-tier+.ds-tier{margin-top:var(--s-7)}.ds-tier__head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-4)}.ds-tier__note{margin:var(--s-2) 0 0;font-size:14px;color:var(--text-muted);max-width:60ch}.ds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s-3)}.ds-card{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4) var(--s-5);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg)}.ds-card h3{margin:0;font-family:var(--font-disp);font-size:17px}.ds-card p{margin:0;font-size:13px;line-height:1.55;color:var(--text-muted);flex:1}.ds-card__key{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-2);padding:6px 6px 6px 10px;background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-sm)}.ds-card__key code{flex:1;min-width:0;font-family:var(--font-mono);font-size:12px;color:var(--accent-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-card__meta{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);letter-spacing:.02em}.ds-copy{appearance:none;flex:none;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:var(--r-sm);cursor:pointer}.ds-copy:hover{color:var(--text);border-color:var(--accent-border)}.ds-copy.is-done{color:var(--accent-text);border-color:var(--accent-border)}.ds-quick{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:var(--s-6);align-items:start}@media(max-width:900px){.ds-quick{grid-template-columns:1fr}}.ds-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-5);counter-reset:dsstep}.ds-steps li{position:relative;padding-left:48px;counter-increment:dsstep;display:grid;gap:4px}.ds-steps li::before{content:counter(dsstep);position:absolute;left:0;top:-2px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--accent-border);background:var(--accent-faint);color:var(--accent-text);font-family:var(--font-mono);font-size:13px}.ds-steps b{font-size:15px}.ds-steps span{font-size:13.5px;line-height:1.55;color:var(--text-muted)}.ds-code{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface-inset);overflow:hidden}.ds-code__bar{display:flex;align-items:center;gap:4px;padding:6px;border-bottom:1px solid var(--border);background:var(--surface-1)}.ds-code__bar [data-code-tab]{appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:var(--r-sm);cursor:pointer}.ds-code__bar [data-code-tab].is-on{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.ds-code__sp{flex:1}.ds-code pre{margin:0;padding:var(--s-4) var(--s-5);overflow-x:auto;font-family:var(--font-mono);font-size:12.5px;line-height:1.65;color:var(--text)}.ds-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 var(--s-6);margin:0}.ds-specs div{padding:var(--s-4) 0;border-top:1px solid var(--border-faint)}.ds-specs dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-bottom:6px}.ds-specs dd{margin:0;font-size:13.5px;line-height:1.6;color:var(--text-muted)}.ds-specs code,.ds-log code{font-family:var(--font-mono);font-size:12px;color:var(--text);overflow-wrap:anywhere}.ds-log{margin-top:var(--s-6)}.ds-log ul{list-style:none;margin:var(--s-3) 0 0;padding:0;display:grid;gap:var(--s-2)}.ds-log li{display:grid;grid-template-columns:72px 1fr;gap:var(--s-3);font-size:13px;line-height:1.55;color:var(--text-muted)}.ds-log li span{font-family:var(--font-mono);font-size:11.5px;color:var(--text-faint);padding-top:1px}.checkout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);gap:var(--s-7);align-items:start}@media(max-width:960px){.checkout{grid-template-columns:1fr;gap:var(--s-6)}}.co-step{display:flex;align-items:center;gap:var(--s-3);margin:0 0 var(--s-3);font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.co-step span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--accent-border);background:var(--accent-faint);color:var(--accent-text);letter-spacing:0}.co-step:not(:first-child){margin-top:var(--s-6)}.co-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--s-3)}.co-plan{appearance:none;position:relative;display:flex;flex-direction:column;gap:var(--s-2);text-align:left;font:inherit;color:inherit;cursor:pointer;padding:var(--s-5);padding-left:calc(var(--s-5) + 30px);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-lg);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.co-plan:hover{border-color:var(--accent-border)}.co-plan:focus-visible{outline:none;box-shadow:var(--ring)}.co-plan.is-on{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-faint),transparent 60%),var(--surface-1);box-shadow:0 16px 40px rgba(16,185,129,.10)}.co-plan__radio{position:absolute;left:var(--s-5);top:calc(var(--s-5) + 3px);width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong)}.co-plan.is-on .co-plan__radio{border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--surface-1),inset 0 0 0 9px var(--accent)}.co-plan__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.co-plan__head b{font-family:var(--font-disp);font-size:18px}.co-plan__tag{position:absolute;top:-10px;right:var(--s-4);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);background:var(--bg);border:1px solid var(--accent-border);border-radius:var(--r-pill);padding:2px 9px;white-space:nowrap}.co-plan__price{font-family:var(--font-disp);font-size:34px;font-weight:600;letter-spacing:-.02em;line-height:1.1}.co-plan__price small{font-size:14px;font-weight:500;color:var(--text-muted);margin-left:2px}.co-plan__blurb{font-size:13.5px;color:var(--text-muted)}.co-plan__list{display:grid;gap:6px;margin-top:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--border-faint)}.co-plan__list span{position:relative;padding-left:20px;font-size:13px;line-height:1.45;color:var(--text-muted)}.co-plan__list span::before{content:"\2713";position:absolute;left:0;color:var(--accent-text);font-weight:700}.co-compare{margin:var(--s-3) 0 0;font-size:13px}.bill-toggle--lg{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:520px;border-radius:var(--r-md)}.bill-toggle--lg button{justify-content:center;font-size:14.5px;padding:12px 18px;border-radius:var(--r-sm)}.bill-toggle--lg button.is-on{background:var(--accent);color:var(--text-on-accent);box-shadow:0 4px 16px rgba(16,185,129,.30)}.bill-toggle--lg button.is-on .bill-toggle__save{color:var(--text-on-accent);background:rgba(4,19,13,.16);border-color:rgba(4,19,13,.25)}.co-bill-note{margin:var(--s-3) 0 0;font-size:13.5px;color:var(--text-muted)}.co-aside{position:sticky;top:calc(var(--nav-h) + var(--s-4));display:grid;gap:var(--s-3)}@media(max-width:960px){.co-aside{position:static}}.co-sum{display:grid;gap:var(--s-2);padding:var(--s-5)}.co-sum .kick{margin:0 0 var(--s-2)}.co-sum__row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3)}.co-sum__row b{font-size:15.5px}.co-sum__sub{font-size:12.5px;color:var(--text-faint)}.co-sum__due{margin-top:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--border)}.co-sum__due span{font-size:13px;color:var(--text-muted)}.co-sum__due b{font-family:var(--font-disp);font-size:26px;font-weight:600}.co-sum__fine{margin:0 0 var(--s-3);font-size:12px;color:var(--text-faint)}.co-sum .auth-who{margin-top:var(--s-3)}.co-aside__label{margin:var(--s-3) 0 0;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.plans-bill .bill-toggle--lg{max-width:440px}.plan__sub .linkbtn{font-size:inherit;font-weight:600}.acct-plan{display:flex;flex-direction:column;gap:var(--s-3)}.acct-plan .acct-card__top{margin-bottom:0}.acct-plan__meta{margin:0;font-size:13.5px;line-height:1.5;color:var(--text-muted)}.acct-plan__meta b{color:var(--text);font-weight:600}.acct-plan__cta{margin-top:auto;display:flex;gap:var(--s-2);flex-wrap:wrap;padding-top:var(--s-1)}.acct-api{display:grid;gap:var(--s-3)}body:has(.ws) .nav__inner{max-width:none;padding-inline:clamp(16px,2vw,28px)}.ws{position:relative;display:grid;grid-template-columns:252px minmax(0,1fr);min-height:calc(100vh - var(--nav-h))}.ws-side{position:sticky;top:var(--nav-h);align-self:start;padding:18px 14px 18px clamp(16px,2vw,28px);border-right:1px solid var(--border);min-height:calc(100vh - var(--nav-h));background:linear-gradient(180deg,rgba(16,185,129,.035),transparent 40%)}.ws-side__kick{display:flex;align-items:center;justify-content:space-between;margin:0 6px 10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.ws-side__kick .badge{letter-spacing:.08em}.ws-tswitch{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-inset)}.ws-tswitch a{display:block;text-align:center;font-family:var(--font-disp);font-size:14px;font-weight:600;padding:8px 6px;border-radius:var(--r-sm);color:var(--text-muted);text-decoration:none}.ws-tswitch a:hover{color:var(--text)}.ws-tswitch a.is-on{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong);cursor:default}.ws-kbar{display:flex;justify-content:space-between;align-items:center;width:100%;margin:12px 0 4px;padding:9px 12px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface-inset);color:var(--text-faint);font:inherit;font-size:12.5px;white-space:nowrap;cursor:pointer}.ws-kbar:hover{color:var(--text-muted);border-color:var(--accent-border)}.ws-kbar kbd{font-family:var(--font-mono);font-size:11px;border:1px solid var(--border-strong);border-radius:5px;padding:1px 6px;color:var(--text-muted)}.ws-uswitch{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;margin:10px 0 0;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-inset)}.ws-uswitch button{appearance:none;border:0;background:transparent;color:var(--text-faint);font:inherit;font-size:12px;font-weight:600;padding:6px;border-radius:4px;cursor:pointer}.ws-uswitch button.is-on{background:var(--surface-2);color:var(--text)}.ws-side__g{margin:12px 12px 3px;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.ws-side__g span{color:var(--accent-text);margin-right:8px}.ws-side__nav{margin-top:8px}.ws-side__nav a{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:8px;color:var(--text-muted);font-size:13.5px;text-decoration:none}.ws-side__nav a:hover{background:var(--surface-2);color:var(--text)}.ws-side__nav a.is-on{background:var(--surface-2);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.ws-side__nav a span{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint)}.ws .ws-side__nav a[data-ws-go]:hover,.ws .ws-side__nav a.is-on:hover{color:var(--text);text-decoration:none}.ws .ws-tswitch a[href]:hover{color:var(--text);text-decoration:none}.ws-side__nav a .ws-new{color:#04130d;background:var(--accent);border-radius:99px;padding:1px 7px;font-weight:600}.ws-acct{display:grid;gap:2px;margin:16px 6px 0;padding-top:12px;border-top:1px solid var(--border-faint);font-size:12px;color:var(--text-faint)}.ws-acct b{display:block;color:var(--text-muted);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px}.ws-link{appearance:none;border:0;background:none;padding:3px 0;text-align:left;font:inherit;font-size:12.5px;color:var(--text-muted);cursor:pointer}.ws-link:hover{color:var(--accent-text)}.ws-main{position:relative;min-width:0;padding:24px clamp(16px,3vw,40px) 60px}.ws-main::before{content:"";position:absolute;inset:0 0 auto 0;height:520px;pointer-events:none;opacity:.6;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}.ws-main>*{position:relative}.ws-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px}.ws-bar h1{font-family:var(--font-disp);font-size:26px;margin:0}.ws-bar__r{display:flex;gap:10px;align-items:center}.ws-live{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-muted)}.ws-live i{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:ws-pulse 2s infinite}@keyframes ws-pulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.6)}70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}.ws-btn{appearance:none;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-muted);font-family:var(--font-mono);font-size:11px;padding:6px 10px;border-radius:7px;cursor:pointer}.ws-btn:hover{color:var(--accent-text);border-color:var(--accent-border)}.ws-mnav{display:none}.ws-view{display:none}.ws-view.is-on{display:block}.ws-view>.section-head:first-child,.ws-view>.ws-uni-note+.section-head{margin-top:0}.ws-uni-note{margin:0 0 12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--text-faint)}.ws-view .dataset-api-card{display:none!important}.ws-note{font-size:12.5px;color:var(--text-muted);margin:0 0 12px}.ws-more{appearance:none;display:block;width:100%;margin:10px 0 0;padding:10px 14px;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:transparent;color:var(--accent-text);font:inherit;font-size:13px;cursor:pointer}.ws-more:hover{border-color:var(--accent-border);background:var(--accent-faint)}table.is-capped tbody tr.ws-cap{display:none}.ws-up{color:var(--up)}.ws-down{color:var(--down)}.ws-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.2fr);gap:32px;align-items:center;padding:26px 28px;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface-1)}.ws-hero::before{content:"";position:absolute;inset:-40% -10% auto auto;width:520px;height:420px;background:radial-gradient(closest-side,rgba(16,185,129,.18),transparent);pointer-events:none}.ws-hero::after{content:"";position:absolute;inset:auto auto -50% -10%;width:420px;height:320px;background:radial-gradient(closest-side,rgba(56,189,248,.10),transparent);pointer-events:none}.ws-hero>*{position:relative}.ws-ring{position:relative;width:132px;height:132px}.ws-ring svg{transform:rotate(-90deg)}.ws-ring__arc{transition:stroke-dashoffset 1.2s cubic-bezier(.2,.8,.2,1)}.ws-ring b{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font-family:var(--font-disp);font-size:34px;font-weight:600;line-height:1}.ws-ring b small{display:block;margin-top:6px;font-family:var(--font-mono);font-size:9.5px;font-weight:400;letter-spacing:.1em;line-height:1.35;text-transform:uppercase;color:var(--text-faint)}.ws-hreg small,.ws-hline small,.ws-card__h small{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.ws-hreg h2{font-family:var(--font-disp);font-size:clamp(30px,3.4vw,44px);letter-spacing:-.03em;margin:6px 0 10px}.ws-hreg h2 em{font-style:normal;color:var(--accent-text)}.ws-tags{display:flex;gap:6px;flex-wrap:wrap}.ws-tag{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;padding:3px 9px;border-radius:99px;border:1px solid var(--border-strong);color:var(--text-muted)}.ws-tag--gold{color:var(--gold-text);border-color:var(--gold-border);background:var(--gold-weak)}.ws-hline svg{display:block;width:100%;height:90px;margin-top:8px}.ws-sec{margin-top:28px}.ws-sec__h{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}.ws-sec__h .eyebrow{margin:0}.ws-sec__h h3{font-family:var(--font-disp);font-size:20px;margin:4px 0 0}.ws-sec__h>span{font-size:12.5px;color:var(--text-faint)}.ws-legend{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-faint)}.ws-legend i{width:120px;height:6px;border-radius:99px;background:linear-gradient(90deg,#7f1d2a,#2a2f36,#0f6b4c)}.ws-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px}.ws-tile{appearance:none;text-align:left;font:inherit;color:inherit;border-radius:var(--r-sm);padding:9px 8px 8px;border:1px solid var(--border-faint);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;animation:ws-tin .5s both}.ws-tile:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.4);border-color:rgba(255,255,255,.18);position:relative;z-index:2}.ws-tile b{display:block;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text)}.ws-tile span{font-family:var(--font-mono);font-size:10.5px;color:rgba(232,237,242,.75)}@keyframes ws-tin{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}.ws-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ws-card{appearance:none;text-align:left;font:inherit;color:inherit;display:flex;flex-direction:column;gap:8px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-inset);cursor:pointer;transition:border-color .15s ease,transform .15s ease}.ws-card:hover{border-color:var(--accent-border);transform:translateY(-2px)}.ws-card__h{display:flex;justify-content:space-between;align-items:center}.ws-card__go{color:var(--text-faint);transition:transform .15s ease,color .15s ease}.ws-card:hover .ws-card__go{color:var(--accent-text);transform:translateX(3px)}.ws-card__big{font-family:var(--font-disp);font-size:28px;font-weight:600;letter-spacing:-.02em}.ws-card__unit{font-size:14px;font-weight:400;letter-spacing:0;color:var(--text-muted)}.ws-card__sub{font-size:12.5px;color:var(--text-muted)}.ws-card svg{display:block;width:100%}.ws-mv,.ws-bars{display:block}.ws-mv div{display:grid;grid-template-columns:52px 1fr 54px;gap:8px;align-items:center;font-family:var(--font-mono);font-size:11.5px;margin-top:5px}.ws-mv em{position:relative;display:block;height:8px}.ws-mv em::before{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--border-strong)}.ws-mv em i{position:absolute;top:0;height:100%;border-radius:3px}.ws-bars div{display:grid;grid-template-columns:118px 1fr 34px;gap:8px;align-items:center;font-size:12px;color:var(--text-muted);margin-top:5px}.ws-bars span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-bars em,.ws-co-row em{display:block;height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden}.ws-bars em i,.ws-co-row em i{display:block;height:100%;border-radius:99px}.ws-hstrip{display:flex;align-items:flex-end;gap:2px;height:56px}.ws-hstrip i{flex:1;min-width:2px;border-radius:2px 2px 0 0}.ws-co-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.ws-co-stats>div{padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-inset)}.ws-co-stats small{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.ws-co-stats b{display:block;font-family:var(--font-disp);font-size:24px;font-weight:600;margin-top:6px}.ws-co-stats span{font-size:12.5px;color:var(--text-muted)}.ws-co-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start}.ws-co-col{display:grid;gap:20px}.ws-co-box{padding:16px 18px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-1)}.ws-co-box h4{margin:0 0 10px;font-family:var(--font-disp);font-size:16px}.ws-co-pick{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.ws-co-pick button{appearance:none;border:1px solid var(--border);background:var(--surface-inset);color:var(--text-muted);font-family:var(--font-mono);font-size:11px;padding:4px 8px;border-radius:6px;cursor:pointer}.ws-co-pick button.is-on{border-color:var(--accent);color:var(--text);background:var(--accent-faint)}.ws-co-rank{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}.ws-co-rank h5{margin:0 0 4px;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.ws-co-row{display:grid;grid-template-columns:56px 1fr 40px;gap:8px;align-items:center;font-family:var(--font-mono);font-size:12px;margin-top:5px}.ws-co-row--pair{grid-template-columns:104px 1fr 40px}.ws-co-heat{display:grid;gap:1px;width:max-content}.ws-co-heat i{width:9px;height:9px;border-radius:1px;cursor:crosshair}.ws-co-tip{min-height:18px;margin-top:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.ws-view .corr-wrap+.ws-more,.ws-co-grid+.ws-more{margin-top:18px}.ws-cal{display:flex;flex-wrap:wrap;gap:22px;margin:0 0 20px}.ws-cal__m h5{margin:0 0 8px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.ws-cal__g{display:grid;grid-template-columns:repeat(7,30px);gap:4px}.ws-cal__g span{text-align:center;font-family:var(--font-mono);font-size:9.5px;color:var(--text-faint)}.ws-cal__g button{appearance:none;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--text);cursor:pointer}.ws-cal__g button.is-on{border-color:var(--text);box-shadow:0 0 0 2px var(--accent-border)}.ws-cal__g button.is-none{background:var(--surface-inset);color:var(--text-faint);cursor:default}.ws-pal{position:fixed;inset:0;z-index:90;padding-top:12vh;background:rgba(3,5,8,.6);backdrop-filter:blur(4px)}.ws-pal[hidden]{display:none}.ws-pal__box{width:min(560px,92vw);margin:0 auto;overflow:hidden;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow-lg)}.ws-pal input{width:100%;padding:16px 18px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:16px;outline:none}.ws-pal ul{list-style:none;margin:0;padding:6px;max-height:320px;overflow:auto}.ws-pal li{display:flex;justify-content:space-between;padding:9px 12px;border-radius:8px;font-size:14px;color:var(--text-muted);cursor:pointer}.ws-pal li:first-child,.ws-pal li:hover{background:var(--surface-1);color:var(--text)}.ws-pal li span{font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.ws-dock{position:fixed;top:calc(var(--nav-h) + 12px);right:12px;bottom:12px;z-index:80;width:360px;max-width:92vw;overflow:auto;padding:20px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:16px;box-shadow:var(--shadow-lg);transform:translateX(calc(100% + 24px));visibility:hidden;transition:transform .25s ease,visibility 0s .25s}.ws-dock.is-on{transform:none;visibility:visible;transition:transform .25s ease}.ws-dock__h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ws-dock__row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border-faint)}.ws-dock__row code{font-family:var(--font-mono);font-size:12px;color:var(--accent-text);word-break:break-all}@media(max-width:1200px){.ws-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.ws-hero{grid-template-columns:auto 1fr}.ws-hline{grid-column:1/-1}.ws-co-grid{grid-template-columns:1fr}}@media(max-width:960px){.ws{grid-template-columns:1fr;min-height:0}.ws-side{order:2;position:static;min-height:0;padding:16px;border-right:0;border-top:1px solid var(--border);background:none}.ws-side>:not(.ws-acct){display:none}.ws-acct{margin:0;padding:0;border:0}.ws-main{padding-top:16px}.ws-mnav{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.ws-mnav select{flex:1;padding:9px 10px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-inset);color:var(--text);font:inherit;font-size:14px;letter-spacing:0;text-transform:none}}@media(max-width:700px){.ws-cards,.ws-co-stats{grid-template-columns:1fr}.ws-hero{grid-template-columns:1fr;justify-items:start;padding:20px}.ws-co-rank{grid-template-columns:1fr}.ws-sec__h{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.ws-tile{animation:none}.ws-ring__arc{transition:none}.ws-live i{animation:none}}.ws-arch{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start;margin:0 0 20px}.ws-arch .ws-cal{margin:0}.ws-arch__months{display:grid;gap:4px}.ws-arch__months button{appearance:none;display:grid;gap:3px;text-align:left;padding:9px 12px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-muted);font:inherit;cursor:pointer}.ws-arch__months button:hover{background:var(--surface-2);color:var(--text)}.ws-arch__months button.is-on{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.ws-arch__months b{font-family:var(--font-disp);font-size:14px;font-weight:600}.ws-arch__months span{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint)}.ws-arch__months span i{width:8px;height:8px;border-radius:2px}@media(max-width:700px){.ws-arch{grid-template-columns:1fr}.ws-arch__months{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.ws-pub{margin-top:var(--s-2)}.ws-sec__t{font-family:var(--font-disp);font-size:20px;margin:4px 0 0}.ws-hero--pub{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr)}.ws-ring__arc--css{stroke-dashoffset:var(--ws-off);animation:ws-ring 1.2s cubic-bezier(.2,.8,.2,1) both .1s}@keyframes ws-ring{from{stroke-dashoffset:352}}.ws-tag--up{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-faint)}.ws-meters{display:grid;gap:14px}.ws-meter__h{display:flex;justify-content:space-between;align-items:baseline}.ws-meter__h small{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.ws-meter__h b{font-family:var(--font-disp);font-size:20px;font-weight:600}.ws-meter em{display:block;height:8px;margin:6px 0 4px;border-radius:99px;background:var(--surface-inset);overflow:hidden}.ws-meter em i{display:block;height:100%;border-radius:99px;background:var(--grad-brand)}.ws-meter span,.ws-hero__foot{font-size:12.5px;color:var(--text-muted)}.ws-hero__foot{margin:0}.ws-pub a.ws-tile,.ws-pub a.ws-card{text-decoration:none;color:var(--text)}.ws-pub a.ws-tile[href]:hover,.ws-pub a.ws-card[href]:hover,.ws-pub .ws-mv a[href]:hover{color:var(--text);text-decoration:none}.ws-card--static{cursor:default}.ws-card--static:hover{transform:none;border-color:var(--border)}.ws-mv a{display:grid;grid-template-columns:52px 1fr 54px;gap:8px;align-items:center;margin-top:5px;padding:1px 4px;margin-inline:-4px;border-radius:4px;font-family:var(--font-mono);font-size:11.5px;color:var(--text);text-decoration:none}.ws-mv a:hover{background:var(--surface-2)}.ws-mv a em{position:relative;display:block;height:8px}.ws-mv a em::before{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--border-strong)}.ws-mv a em i{position:absolute;top:0;height:100%;border-radius:3px}.ws-bars--pub em i{background:var(--grad-brand)}.ws-bars--pub em.is-down{background:var(--down-weak)}.ws-bars--pub em.is-down i{background:var(--down)}.ws-card--lock{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(232,184,75,.05),transparent 60%),var(--surface-inset)}.ws-card--lock:hover{border-color:var(--gold-border)}.ws-lock__art{display:block;height:56px;filter:blur(2.5px);opacity:.55;pointer-events:none}.ws-lock__art svg{display:block;width:100%}.ws-lock__heat{display:grid;grid-template-columns:repeat(16,1fr);gap:2px;height:100%}.ws-lock__heat i{border-radius:1px;background:var(--accent)}.ws-lock__art .ws-hstrip i{background:var(--accent)}.ws-card__big--sm{font-size:19px}.ws-lock__cta{margin-top:auto;font-size:12.5px;color:var(--gold-text)}@media(max-width:1100px){.ws-hero--pub{grid-template-columns:auto 1fr}.ws-hero--pub .ws-meters{grid-column:1/-1}}@media(max-width:700px){.ws-hero--pub{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.ws-ring__arc--css{animation:none}}.ws-bars--pub div{grid-template-columns:136px 1fr 34px}html:not(.js) .ws-view{display:block}.ws-bar--pub{align-items:flex-end}.ws-bar--pub .eyebrow{margin:0 0 4px}.ws-bar--pub h1{font-size:clamp(24px,2.4vw,30px)}.ws-crumb{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:5px 10px;border:1px solid var(--border);border-radius:99px}.ws-lead{margin:0 0 20px;max-width:760px;font-size:15px}.ws-side__intro{margin:0 6px 4px;font-size:12.5px;line-height:1.5;color:var(--text-muted)}.ws-side__nav a.is-locked{color:var(--text-faint)}.ws-side__nav a.is-locked:hover,.ws-side__nav a.is-locked.is-on{color:var(--text-muted)}.ws-lk{margin-left:auto;color:var(--gold-text);opacity:.8;flex:none}.ws-acct--pub{border-top:0;padding-top:0;margin-top:18px}.ws-unlock{display:grid;gap:8px;padding:14px;border:1px solid var(--gold-border);border-radius:var(--r-lg);background:linear-gradient(180deg,rgba(232,184,75,.07),transparent)}.ws-unlock b{font-family:var(--font-disp);font-size:14px;color:var(--text)}.ws-unlock span{font-size:12px;line-height:1.45;color:var(--text-muted)}.ws-unlock .ws-link{text-align:center}.ws-lockview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:center;padding:32px;border:1px solid var(--border);border-radius:var(--r-xl);background:linear-gradient(135deg,rgba(232,184,75,.05),transparent 45%),var(--surface-1)}.ws-lockview__art{position:relative;height:240px;padding:18px;border:1px solid var(--border-faint);border-radius:var(--r-lg);background:var(--surface-inset);overflow:hidden;filter:blur(3px);opacity:.6}.ws-lockview__art>*{height:100%}.ws-lockview__body h2{font-family:var(--font-disp);font-size:clamp(24px,2.4vw,32px);margin:4px 0 8px}.ws-lockview__body .lead{font-size:15px;margin:0 0 14px}.ws-lockview__list{margin:0 0 20px;padding:0;list-style:none;display:grid;gap:8px}.ws-lockview__list li{position:relative;padding-left:22px;font-size:14px;color:var(--text-muted)}.ws-lockview__list li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}.ws-lockview__cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.ws-lock__heat--big{grid-template-columns:repeat(12,1fr)}.ws-hstrip--big{height:100%}.ws-hstrip--big i{background:var(--accent)}.ws-deco-rows{display:grid;gap:14px;align-content:center}.ws-deco-row{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center}.ws-deco-row b{height:10px;border-radius:4px;background:var(--surface-3)}.ws-deco-row em{height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden}.ws-deco-row em i{display:block;height:100%;background:var(--grad-brand)}.ws-deco-wave{width:100%;height:100%}button.ws-card--lock{width:100%}@media(max-width:900px){.ws-lockview{grid-template-columns:1fr;padding:22px}.ws-lockview__art{height:150px}}.ws-mini{display:grid;grid-template-columns:22% 1fr;gap:10px;height:190px;padding:12px;margin-bottom:10px;border:1px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(135deg,rgba(16,185,129,.07),transparent 50%),var(--surface-1);overflow:hidden}.ws-mini__side{display:grid;align-content:start;gap:7px;padding-right:10px;border-right:1px solid var(--border-faint)}.ws-mini__side i{height:7px;border-radius:3px;background:var(--surface-3)}.ws-mini__side i.is-on{background:var(--accent);opacity:.7}.ws-mini__main{display:grid;grid-template-rows:auto 1fr;gap:10px;min-width:0}.ws-mini__hero{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--border-faint);border-radius:var(--r-md);background:var(--surface-inset)}.ws-mini__ring{width:38px;height:38px;border-radius:50%;border:5px solid var(--surface-3);border-top-color:#10b981;border-right-color:#38bdf8;flex:none}.ws-mini__lines{display:grid;gap:6px;flex:1}.ws-mini__lines b{height:7px;border-radius:3px;background:var(--surface-3)}.ws-mini__lines b:first-child{width:60%;background:var(--accent);opacity:.6}.ws-mini__lines b:last-child{width:80%}.ws-mini__map{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.ws-mini__map i{border-radius:3px;min-height:12px}.ws-mini__pairs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ws-mini__pair{display:grid;gap:6px;padding:8px;border:1px solid var(--border-faint);border-radius:var(--r-sm);background:var(--surface-inset)}.ws-mini__pair b{height:6px;width:60%;border-radius:3px;background:var(--surface-3)}.ws-mini__pair svg{width:100%;height:36px}.ws-mini__rows{display:grid;gap:7px;align-content:start}.ws-mini__rows i{height:12px;border-radius:4px;background:var(--surface-2)}.ws-mini__see{display:inline-block;margin:0 0 14px;font-size:13.5px;color:var(--accent-text)}.pub-arch{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start;margin-top:var(--s-5)}.pub-arch__cal{position:sticky;top:calc(var(--nav-h) + 16px);display:grid;gap:16px}.pub-cal{flex-direction:column;gap:18px;margin:0}.pub-cal__g a,.pub-cal__g span.is-none{display:grid;place-items:center;width:30px;height:30px;border-radius:6px;font-family:var(--font-mono);font-size:10.5px;text-decoration:none}.pub-cal__g span.is-none{color:var(--text-faint);opacity:.45}.pub-cal__g a.is-locked{color:var(--text-faint);background:repeating-linear-gradient(135deg,var(--surface-2) 0 3px,var(--surface-1) 3px 6px);border:1px solid var(--border-faint)}.pub-cal__g a.is-locked:hover{color:var(--gold-text);border-color:var(--gold-border);text-decoration:none}.pub-cal__g a.is-free{color:#04130d;background:var(--accent);font-weight:600}.pub-cal__g a.is-free.is-on{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.pub-cal__g a.is-free:hover{color:#04130d;text-decoration:none}.pub-cal__legend{display:flex;gap:14px;font-size:12px;color:var(--text-faint)}.pub-cal__legend span{display:inline-flex;align-items:center;gap:6px}.pub-cal__legend i{width:12px;height:12px;border-radius:3px}.pub-cal__legend i.is-free{background:var(--accent)}.pub-cal__legend i.is-locked{background:repeating-linear-gradient(135deg,var(--surface-3) 0 2px,var(--surface-1) 2px 4px);border:1px solid var(--border)}.pub-arch .archive-lock{margin:0}.archive-day table.is-capped tbody tr.ws-cap{display:none}@media(max-width:960px){.pub-arch{grid-template-columns:1fr}.pub-arch__cal{position:static}}.pair-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 var(--s-7)}@media(max-width:1000px){.pair-sum{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.pair-sum{grid-template-columns:1fr}}.plan-compare-link{margin:var(--s-4) 0 0;text-align:center;font-size:14px}.ds-switch{display:inline-grid;grid-auto-flow:column;gap:3px;padding:3px;margin:0 0 var(--s-5);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-inset)}.ds-switch button{appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;font-family:var(--font-disp);font-size:14px;font-weight:600;padding:9px 16px;border-radius:var(--r-sm);cursor:pointer}.ds-switch button span{margin-left:6px;font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.ds-switch button.is-on{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.ds-tiers .ds-tier+.ds-tier{margin-top:0}.ds-tiers .ds-tier[hidden]{display:none}.rng{margin:6px 0 16px}.rng__h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.rng__h small{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.rng__h b{font-size:13px;font-weight:500;color:var(--text-muted)}.rng__bar{position:relative;height:8px;margin:10px 0 6px;border-radius:99px;background:linear-gradient(90deg,rgba(246,70,93,.45),var(--surface-3) 50%,rgba(46,189,133,.5))}.rng__bar i{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--text);box-shadow:0 0 0 3px var(--bg)}.rng__ends{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.peer__h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.peer__h span{font-size:13px;color:var(--text-muted)}.peer__h b{color:var(--text)}.peer__bars{display:flex;gap:2px;height:96px;margin:14px 0 6px}.peer__bars a{position:relative;flex:1;min-width:2px}.peer__bars a i{position:absolute;left:0;right:0;border-radius:2px;background:var(--surface-3)}.peer__bars a:hover i{background:var(--text-faint)}.peer__bars a.is-me i{background:var(--accent)}.peer__bars a::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--border)}.peer__legend{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint)}.peer__legend span:nth-child(2){color:var(--accent-text)}.peer__bars a.up i{background:rgba(46,189,133,.32)}.peer__bars a.dn i{background:rgba(246,70,93,.4)}.peer__bars a.up:hover i,.peer__bars a.dn:hover i{opacity:.7}.pub-arch>*{min-width:0}