
:root {
  --ink: #eaf0f5;
  
  --paper: #0a0f1a;
  --paper-raised: #0d1321;
  --line: color-mix(in srgb, var(--raise) 11%, transparent);
  --line-hard: color-mix(in srgb, var(--raise) 18%, transparent);
  
  --text-dim: rgba(234,240,245,.68);
  --text-faint: rgba(234,240,245,.42);
  
  --accent: #22ff6a;
  --accent-ink: #53ff8b;
  --accent-bg: color-mix(in srgb, var(--accent) 13%, transparent);
  
  --amber: #ffc24b;
  --good: #22ff6a;
  
  --good-bg: color-mix(in srgb, var(--good) 13%, transparent);
  --bad: #ff2d8e;
  
  --bad-ink: #ff79b7;
  --bad-bg: color-mix(in srgb, var(--bad) 13%, transparent);
  
  --neutral: #00e5d4;
  --neutral-bg: color-mix(in srgb, var(--neutral) 13%, transparent);
  
  --violet: #a06bff;
  
  --azure: #4d8cff;
  --violet-bg: rgba(160,107,255,.13);
  
  --warn: var(--amber);

  

  
  --brand: var(--accent);
  --brand-ink: var(--accent-ink);
  --brand-bg: var(--accent-bg);
  --brand-2: var(--bad);          
  
  --brand-3: var(--neutral);
  --brand-3-bright: #38ebdd;    
  --brand-3-ink: #04211e;
  --brand-3-bg: var(--neutral-bg);

  
  --state-pos: var(--good);       
  --state-pos-bg: var(--good-bg);
  --state-neg: var(--bad);        
  --state-neg-ink: var(--bad-ink);
  --state-neg-bg: var(--bad-bg);
  --state-warn: var(--warn);      
  --state-warn-bg: var(--warn-bg);
  --state-info: var(--neutral);   
  --state-info-bg: var(--neutral-bg);
  --state-unknown: var(--text-faint);  
  --warn-bg: color-mix(in srgb, var(--warn) 13%, transparent);
  
  --chart-ema20: #6ea8fe;
  --chart-ema50: #c99bf0;
  --chart-vwap: #45d6c9;
  
  --chart-bollinger: #e0a458;
  --chart-rsi: #ec7fb0;
  
  --chart-macd: #4dd0e1;
  --chart-macd-signal: #ffb74d;
  
  --chart-draw: #ff6b7a;
  
  --frost-bg: color-mix(in srgb, var(--raise) 14%, transparent);
  --frost-border: var(--line-hard);
  --frost-dark-bg: color-mix(in srgb, var(--raise) 16%, transparent);
  --frost-dark-border: var(--line-hard);
  
  --candle-up: #22ff6a; --candle-down: #f6465d;
  
  --mono: "JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;
  --sans: "Space Grotesk", ui-sans-serif, -apple-system, "Segoe UI", Arial, sans-serif;
  --display: "Space Grotesk", ui-sans-serif, -apple-system, "Segoe UI", Arial, sans-serif;

  
  --sp-1: 4px; --sp-2: 8px; --sp-3: 14px; --sp-4: 20px; --sp-5: 28px; --sp-6: 48px;
  
  
  --ui-scale: 1;
  
  --raise: #FFFFFF;

  
  --on-accent: var(--paper);
  --fs-micro: calc(9px * var(--ui-scale));   
  --fs-2xs: calc(11px * var(--ui-scale));    
  --fs-xs: calc(12.5px * var(--ui-scale)); --fs-sm: calc(13.5px * var(--ui-scale));
  --fs-base: calc(15px * var(--ui-scale)); --fs-md: calc(16.5px * var(--ui-scale));
  --fs-lg: calc(20px * var(--ui-scale)); --fs-xl: calc(23px * var(--ui-scale));
  --fs-2xl: calc(25px * var(--ui-scale)); --fs-3xl: calc(31px * var(--ui-scale));

  
  --r-xs: 2px; --r-sm: 4px; --r-md: 6px; --r-lg: 8px;
  --r-xl: 12px; --r-2xl: 16px; --r-3xl: 20px;
  --r-round: 50%;    
  --r-pill: 999px;   

  
  --shadow-sm: 0 0 0 1px rgba(234,240,245,.05), 0 1px 2px rgba(0,0,0,.4);
  --shadow-md: 0 0 0 1px rgba(234,240,245,.08), 0 4px 14px rgba(0,0,0,.5);
  --transition-fast: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease, transform .15s ease;

  
  --hero-bg: #0d1321; --hero-ink: #eaf0f5;
  --hero-line: rgba(234,240,245,.11); --hero-dim: rgba(234,240,245,.60);
}

:root[data-cvd="deutan"] {
  --good: #5BB8FF;
  --bad: #FF9E4A;
  --bad-ink: #FFB673;
  
  --candle-up: var(--good);
  --candle-down: var(--bad);
}

:root[data-cvd="mono"] {
  --good: var(--ink);
  --bad: var(--text-dim);
  --bad-ink: var(--text-dim);
  
  --candle-up: var(--ink);
  --candle-down: var(--text-dim);
}

:root[data-hatch="on"] .pill.loss,
:root[data-hatch="on"] .pill.noncompliant,
:root[data-hatch="on"] .pill.fail {
  background-image: repeating-linear-gradient(
    135deg,
    color-mix(in srgb, var(--bad) 26%, transparent) 0 2px,
    transparent 2px 5px);
}

:root[data-hatch="on"] .mc-ih-f {
  background-image: repeating-linear-gradient(
    135deg,
    color-mix(in srgb, var(--bad) 55%, transparent) 0 1px,
    transparent 1px 3px);
}
:root[data-hatch="on"] .htr-home .vcell.F,
:root[data-hatch="on"] .htr-home .meter i.F {
  background-image: repeating-linear-gradient(
    135deg,
    color-mix(in srgb, var(--bad) 34%, transparent) 0 2px,
    transparent 2px 5px);
}

:root[data-motion="reduced"] *,
:root[data-motion="reduced"] *::before,
:root[data-motion="reduced"] *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
  scroll-behavior: auto !important;
}

:root[data-theme="rosewood"] {
  color-scheme: dark;
  --paper: #0C090D;
  --paper-raised: #151017;
  --hero-bg: #151017;
  --line: rgba(255,214,236,.07);
  --line-hard: rgba(255,214,236,.15);
  --hero-line: rgba(255,214,236,.07);
  --ink: #F4ECF2;
  --hero-ink: #F4ECF2;
  --text-dim: #B7A5B2;
  --hero-dim: #B7A5B2;
  --text-faint: #7A6C77;
  --accent: #F0559E;
  --accent-ink: #F0559E;
  
  --good: #58D9A3;
  --bad: #F2607B;
  
  --candle-up: var(--good);
  --candle-down: var(--bad);
  --bad-ink: #F2607B;
  --amber: #E3AE68;
  --warn: #E3AE68;
  --shadow-sm: 0 0 0 1px rgba(234,240,245,.05), 0 1px 2px rgba(0,0,0,.4);
  --shadow-md: 0 0 0 1px rgba(234,240,245,.08), 0 4px 14px rgba(0,0,0,.5);
  --frost-bg: color-mix(in srgb, var(--raise) 14%, transparent);
  --frost-dark-bg: color-mix(in srgb, var(--raise) 14%, transparent);
}

:root[data-theme="bubblegum"] {
    
    --on-accent: var(--ink);
    --brand-3-ink: #FFD9EC;  
    --raise: #12060E;  
    
    --neutral: #00726A;  
    --azure: #337CFF;  
    --candle-up: #009530;  
    --candle-down: #F5334C;  
    --chart-vwap: #209086;  
    --chart-ema20: #257CFD;  
    --chart-ema50: #A75DE7;  
    --chart-rsi: #E3438B;  
    --chart-macd: #1A8D9C;  
    --chart-macd-signal: #BB6F00;  
    --chart-bollinger: #B37321;  
    --chart-draw: #FF1931;  
    --brand-3-bright: #0E9086;  
  color-scheme: light;
  --paper: #FFD9EC;
  --paper-raised: #FFF2F8;
  --hero-bg: #FFF2F8;
  --line: rgba(14,7,12,.9);
  --line-hard: #0E070C;
  --hero-line: rgba(14,7,12,.9);
  --ink: #12060E;
  --hero-ink: #12060E;
  --text-dim: #4A2438;
  --hero-dim: #4A2438;
  --text-faint: #7A4A62;
  --accent: #E8117F;
  --accent-ink: #E8117F;
  
  
  --good: #0F512F;
  --bad: #B4111F;
  --bad-ink: #B4111F;
  --amber: #7A4A08;
  --warn: #7A4A08;
  --shadow-sm: 0 0 0 1px rgba(20,24,32,.05), 0 1px 2px rgba(0,0,0,.08);
  --shadow-md: 0 0 0 1px rgba(20,24,32,.08), 0 4px 14px rgba(0,0,0,.10);
  --frost-bg: rgba(0,0,0,.05);
  --frost-dark-bg: rgba(0,0,0,.05);
}

:root[data-theme="ember"] {
  color-scheme: dark;
  --paper: #14100B;
  --paper-raised: #1D1710;
  --hero-bg: #1D1710;
  --line: rgba(255,226,185,.08);
  --line-hard: rgba(255,226,185,.17);
  --hero-line: rgba(255,226,185,.08);
  --ink: #F2E8D8;
  --hero-ink: #F2E8D8;
  --text-dim: #BCAB92;
  --hero-dim: #BCAB92;
  --text-faint: #87785F;
  --accent: #F0A64B;
  --accent-ink: #F0A64B;
  
  --good: #8FD17A;
  --bad: #E4695F;
  
  --candle-up: var(--good);
  --candle-down: var(--bad);
  --bad-ink: #E4695F;
  --amber: #DCC57E;
  --warn: #DCC57E;
  --shadow-sm: 0 0 0 1px rgba(234,240,245,.05), 0 1px 2px rgba(0,0,0,.4);
  --shadow-md: 0 0 0 1px rgba(234,240,245,.08), 0 4px 14px rgba(0,0,0,.5);
  --frost-bg: color-mix(in srgb, var(--raise) 14%, transparent);
  --frost-dark-bg: color-mix(in srgb, var(--raise) 14%, transparent);
}

:root[data-theme="iris"] {
  color-scheme: dark;
  --paper: #0A0818;
  --paper-raised: #131128;
  --hero-bg: #131128;
  --line: rgba(190,186,255,.09);
  --line-hard: rgba(190,186,255,.19);
  --hero-line: rgba(190,186,255,.09);
  --ink: #ECEAFB;
  --hero-ink: #ECEAFB;
  --text-dim: #A9A4CE;
  --hero-dim: #A9A4CE;
  --text-faint: #736EA0;
  --accent: #9B8CFF;
  --accent-ink: #9B8CFF;
  
  --good: #62E2B4;
  --bad: #FF7A93;
  
  --candle-up: var(--good);
  --candle-down: var(--bad);
  --bad-ink: #FF7A93;
  --amber: #F0C36A;
  --warn: #F0C36A;
  --shadow-sm: 0 0 0 1px rgba(234,240,245,.05), 0 1px 2px rgba(0,0,0,.4);
  --shadow-md: 0 0 0 1px rgba(234,240,245,.08), 0 4px 14px rgba(0,0,0,.5);
  --frost-bg: color-mix(in srgb, var(--raise) 14%, transparent);
  --frost-dark-bg: color-mix(in srgb, var(--raise) 14%, transparent);
}

:root[data-theme="sepia"] {
    --brand-3-ink: #F3EBDD;  
    --raise: #2A2015;  
    
    --neutral: #00776E;  
    --azure: #3E82FF;  
    --candle-up: #009C33;  
    --candle-down: #F6445B;  
    --chart-vwap: #21968C;  
    --chart-ema20: #3184FE;  
    --chart-ema50: #AC66E8;  
    --chart-rsi: #E54E92;  
    --chart-macd: #1C95A5;  
    --chart-macd-signal: #C27400;  
    --chart-bollinger: #BC7823;  
    --chart-draw: #FF354A;  
    --brand-3-bright: #0F978C;  
  color-scheme: light;
  --paper: #F3EBDD;
  --paper-raised: #FBF6EC;
  --hero-bg: #FBF6EC;
  --line: rgba(60,44,28,.15);
  --line-hard: rgba(60,44,28,.26);
  --hero-line: rgba(60,44,28,.15);
  --ink: #2A2015;
  --hero-ink: #2A2015;
  --text-dim: #5C4B36;
  --hero-dim: #5C4B36;
  --text-faint: #7C6A52;
  --accent: #8A4B12;
  --accent-ink: #8A4B12;
  
  --good: #35783B;
  --bad: #9E2B2B;
  --bad-ink: #9E2B2B;
  --amber: #7A5A12;
  --warn: #7A5A12;
  --shadow-sm: 0 0 0 1px rgba(20,24,32,.05), 0 1px 2px rgba(0,0,0,.08);
  --shadow-md: 0 0 0 1px rgba(20,24,32,.08), 0 4px 14px rgba(0,0,0,.10);
  --frost-bg: rgba(0,0,0,.05);
  --frost-dark-bg: rgba(0,0,0,.05);
}

:root[data-theme="paper"] {
    --brand-3-ink: #FFFFFF;  
    --raise: #12161E;  
    
    --neutral: #00847A;  
    --candle-up: #00AC38;  
    
    --candle-down: #f6465d;  
    --chart-vwap: #24A599;  
    --chart-ema20: #4D94FE;  
    --chart-ema50: #B77AEB;  
    --chart-rsi: #E969A2;  
    --chart-macd: #1EA3B4;  
    --chart-macd-signal: #D78000;  
    --chart-bollinger: #CD8326;  
    --chart-draw: #FF5C6C;  
    --brand-3-bright: #11A599;  
  color-scheme: light;
  --paper: #FFFFFF;
  --paper-raised: #FFFFFF;
  --hero-bg: #FFFFFF;
  --line: rgba(20,24,32,.14);
  --line-hard: rgba(20,24,32,.24);
  --hero-line: rgba(20,24,32,.14);
  --ink: #12161E;
  --hero-ink: #12161E;
  --text-dim: #4B5462;
  --hero-dim: #4B5462;
  --text-faint: #6D7683;
  --accent: #0F7A3D;
  --accent-ink: #0F7A3D;
  
  
  --good: #1D874F;
  --bad: #B4262C;
  --bad-ink: #B4262C;
  --amber: #8A5A05;
  --warn: #8A5A05;
  --shadow-sm: 0 0 0 1px rgba(20,24,32,.05), 0 1px 2px rgba(0,0,0,.08);
  --shadow-md: 0 0 0 1px rgba(20,24,32,.08), 0 4px 14px rgba(0,0,0,.10);
  --frost-bg: rgba(0,0,0,.05);
  --frost-dark-bg: rgba(0,0,0,.05);
}

:root[data-theme="contrast"] {
  color-scheme: dark;
  --paper: #000000;
  --paper-raised: #0A0A0A;
  --hero-bg: #0A0A0A;
  --line: color-mix(in srgb, var(--raise) 32%, transparent);
  --line-hard: color-mix(in srgb, var(--raise) 55%, transparent);
  --hero-line: color-mix(in srgb, var(--raise) 32%, transparent);
  --ink: #FFFFFF;
  --hero-ink: #FFFFFF;
  --text-dim: #E4E4E4;
  --hero-dim: #E4E4E4;
  --text-faint: #BDBDBD;
  --accent: #7CFF88;
  --accent-ink: #7CFF88;
  
  
  --good: #7CFF88;
  --bad: #FF8A8A;
  
  --candle-up: var(--good);
  --candle-down: var(--bad);
  --bad-ink: #FF8A8A;
  --amber: #FFD166;
  --warn: #FFD166;
  --shadow-sm: 0 0 0 1px rgba(234,240,245,.05), 0 1px 2px rgba(0,0,0,.4);
  --shadow-md: 0 0 0 1px rgba(234,240,245,.08), 0 4px 14px rgba(0,0,0,.5);
  --frost-bg: color-mix(in srgb, var(--raise) 14%, transparent);
  --frost-dark-bg: color-mix(in srgb, var(--raise) 14%, transparent);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  :root { --frost-bg: rgba(18,22,30,.92); --frost-dark-bg: rgba(18,22,30,.92); }
}

* { box-sizing: border-box; }
html { background: var(--paper); }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: var(--fs-md);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--accent-ink); text-decoration: none; }

a:hover { text-decoration: underline; }
a:hover:has(> :is(div, p, ul, ol, dl, table, section, article, figure,
                  h1, h2, h3, h4, h5, h6)) { text-decoration: none; }
::selection { background: var(--accent); color: var(--paper-raised); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.fx { position: fixed; inset: 0; z-index: 1; pointer-events: none; }
.fx-scan {
  background: repeating-linear-gradient(180deg, color-mix(in srgb, var(--raise) 2.6%, transparent) 0 1px, transparent 1px 3px);
  opacity: .5;
}
.fx-noise {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
  opacity: .045; mix-blend-mode: overlay;
}

.fx-wash {
  background:
    radial-gradient(760px 420px at 6% -8%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%),
    radial-gradient(680px 420px at 96% 4%, color-mix(in srgb, var(--bad) 7%, transparent), transparent 62%),
    radial-gradient(900px 500px at 50% 118%, color-mix(in srgb, var(--neutral) 6%, transparent), transparent 66%);
}

@media (max-width: 768px) {
  .fx-wash {
    background:
      radial-gradient(420px 300px at 0% -6%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 62%),
      radial-gradient(380px 300px at 100% 2%, color-mix(in srgb, var(--bad) 6%, transparent), transparent 64%),
      radial-gradient(520px 340px at 50% 116%, color-mix(in srgb, var(--neutral) 5%, transparent), transparent 68%);
  }
}
@media (prefers-reduced-motion: reduce) {
  
  .fx-noise { display: none; }
}

.shell { max-width: 1080px; margin: 0 auto; padding: 0 24px 80px; }

header.top {
  position: sticky; top: 0; z-index: 40;
  background: color-mix(in srgb, var(--paper) 62%, transparent);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
  margin-bottom: 28px;
}
header.top .inner {
  max-width: 1080px; margin: 0 auto; padding: 20px 24px 16px;
  display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 12px;
}

.brand { display: flex; align-items: baseline; gap: 10px; color: inherit; text-decoration: none; }
.brand:hover { text-decoration: none; }

.brand h1 {
  font-family: var(--sans); font-size: calc(17px * var(--ui-scale)); font-weight: 700; margin: 0;
  letter-spacing: 0.055em;
}
.brand h1 em {
  font-style: normal;
  background: linear-gradient(100deg, var(--neutral), var(--accent));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.brand .tag {
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim);
  letter-spacing: 0.14em; text-transform: uppercase;
}

.nav-toggle-cb {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0;
  clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap;
  
  -webkit-appearance: none; appearance: none;
}
.nav-toggle { display: none; }
.brand-row { display: flex; align-items: center; gap: 12px; }

nav.tabs { display: flex; gap: 4px; flex-wrap: wrap; }

.nav-dropdown { position: relative; display: inline-flex; }

.nav-dropdown-head { display: flex; align-items: center; }
.nav-dropdown-toggle {
  display: none; background: none; border: none; cursor: pointer;
  padding: 6px; margin: 0; align-items: center; justify-content: center;
  border-radius: 5px; transition: var(--transition-fast);
}

.mini-candle { position: relative; display: block; width: 11px; height: 18px; }
.mini-candle::before {
  content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1.5px;
  background: var(--candle-down); transform: translateX(-50%);
  transition: background-color .22s ease;
}
.mini-candle::after {
  content: ""; position: absolute; left: 50%; width: 4px; top: 9px; height: 6px;
  background: var(--candle-down); border-radius: 1px; transform: translateX(-50%);
  transition: background-color .22s ease, top .22s ease, height .22s ease;
}

.nav-dropdown.open .mini-candle::before,
.nav-dropdown.active:not(.closed) .mini-candle::before { background: var(--candle-up); }
.nav-dropdown.open .mini-candle::after,
.nav-dropdown.active:not(.closed) .mini-candle::after { top: 3px; height: 9px; background: var(--candle-up); }
.nav-dropdown-trigger {
  font-family: var(--mono); font-size: var(--fs-sm); letter-spacing: 0.02em; text-transform: lowercase;
  padding: 7px 12px; border-radius: 5px; color: var(--text-dim);
  background: none; border: none; cursor: pointer; display: flex; align-items: center; gap: 4px;
  transition: color .16s, text-shadow .16s;
}

.nav-dropdown-trigger:hover { color: var(--accent); text-decoration: none; }
.nav-dropdown-trigger .caret { font-size: var(--fs-micro); transition: transform .2s ease; }
.nav-dropdown.active .nav-dropdown-trigger { color: var(--accent); font-weight: 600; }
.nav-dropdown.open .nav-dropdown-trigger .caret { transform: rotate(180deg); }
.nav-dropdown-menu {
  position: absolute; top: calc(100% + 6px); left: 0; min-width: 170px; z-index: 46;
  background: var(--frost-bg); border: 1px solid var(--frost-border); border-radius: 10px;
  
  backdrop-filter: blur(28px) saturate(180%); -webkit-backdrop-filter: blur(28px) saturate(180%);
  box-shadow: 0 12px 30px rgba(0,0,0,.5); padding: 6px;
  opacity: 0; transform: translateY(-6px); pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.nav-dropdown-menu-inner { display: flex; flex-direction: column; gap: 2px; }

.nav-dropdown-head { position: relative; }
.nav-dropdown-head::after {
  content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 14px;
  pointer-events: none;
}
.nav-dropdown:hover .nav-dropdown-head::after,
.nav-dropdown.open .nav-dropdown-head::after,
.nav-dropdown:focus-within .nav-dropdown-head::after { pointer-events: auto; }
.nav-dropdown.open .nav-dropdown-menu,
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu { opacity: 1; transform: translateY(0); pointer-events: auto; }
.nav-dropdown-menu a, .nav-dropdown-menu button {
  display: block; width: 100%; font-family: var(--mono); font-size: var(--fs-sm); text-transform: lowercase; padding: 8px 10px; border-radius: var(--r-md);
  color: var(--text-dim); white-space: nowrap; transition: color .16s, text-shadow .16s, background-color .16s;
  background: none; border: none; cursor: pointer; text-align: left;
}

.nav-dropdown-menu a:hover, .nav-dropdown-menu button:hover { background: var(--accent-bg); color: var(--accent); text-decoration: none; }
.nav-dropdown-menu a.active { background: var(--accent-bg); color: var(--accent); font-weight: 600; }

.search-results {
  position: absolute; top: calc(100% + 8px); left: 0; width: 320px; max-height: 380px;
  background: var(--frost-bg); border: 1px solid var(--frost-border);
  
  backdrop-filter: blur(28px) saturate(180%); -webkit-backdrop-filter: blur(28px) saturate(180%);
  border-radius: 10px; box-shadow: 0 12px 32px rgba(0,0,0,0.18); overflow-y: auto; z-index: 50; display: none;
  transition: width .3s ease;
}
.search-results.open { display: block; }
.header-search.search-open .search-results { width: 100%; }
.search-results a {
  display: flex; flex-direction: column; gap: 3px;
  padding: 9px 12px; color: var(--ink); text-decoration: none;
  border-bottom: 1px solid var(--line);
}
.search-results a:last-child { border-bottom: none; }
.search-results a:hover, .search-results a.active { background: var(--accent-bg); }
.search-results .sr-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.search-results .sr-sym { font-family: var(--mono); font-weight: 700; font-size: var(--fs-base); display: flex; align-items: center; gap: 6px; }
.search-results .sr-crypto-tag { color: var(--text-dim); font-size: var(--fs-2xs); font-weight: 400; text-transform: uppercase; letter-spacing: 0.03em; }
.search-results .sr-pill { font-size: var(--fs-2xs); padding: 2px 7px; flex-shrink: 0; }
.search-results .sr-name { color: var(--text-dim); font-size: var(--fs-sm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-results .sr-empty { padding: 12px; color: var(--text-dim); font-size: var(--fs-sm); text-align: center; }

.local-pill {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: 0.06em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 3px; background: var(--neutral-bg); color: var(--neutral);
  border: 1px solid currentColor;
}

.page-title { font-family: var(--display); font-size: var(--fs-2xl); font-weight: 600; letter-spacing: -0.005em; margin: 0 0 6px; }

#recent-signals, h3.section-head { scroll-margin-top: 100px; }
p.page-sub { color: var(--text-dim); margin: 0 0 26px; max-width: 68ch; font-size: calc(14.5px * var(--ui-scale)); }

.site-tagline {
  font-family: var(--display); font-size: calc(17px * var(--ui-scale)); line-height: 1.55; font-weight: 500;
  color: var(--accent-ink); border-left: 3px solid var(--accent); padding-left: 14px;
  margin: 0 0 20px; max-width: 62ch;
}
.site-tagline b { font-weight: 700; }

.section-head {
  font-family: var(--mono); font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--text-dim); font-weight: 600; margin: var(--sp-5) 0 var(--sp-2);
}
.section-head--flush { margin-top: 0; }

.kicker {
  font-family: var(--mono); font-size: var(--fs-sm); letter-spacing: .16em; text-transform: uppercase;
  color: var(--bad-ink); margin: 0 0 18px; text-shadow: 0 0 16px color-mix(in srgb, var(--bad) 50%, transparent);
}

.range-tabs { display: flex; gap: 6px; margin-bottom: 18px; }

.chart-controls-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
.chart-controls-row .range-tabs { margin-bottom: 0; }
.range-tabs a, .range-tabs button {
  font-family: var(--mono); font-size: var(--fs-sm); padding: 6px 14px; border-radius: 5px;
  border: 1px solid var(--line-hard); color: var(--text-dim);
  transition: var(--transition-fast);
  background: none; cursor: pointer;
}

.range-tabs a:hover, .range-tabs button:hover { text-decoration: none; background: var(--paper-raised); transform: translateY(-1px); }
.range-tabs a.active, .range-tabs button.active { background: var(--accent-bg); color: var(--accent-ink); border-color: var(--accent); font-weight: 600; }

.section-nav {
  display: flex; gap: 6px; margin: 4px 0 18px; overflow-x: auto;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.section-nav::-webkit-scrollbar { display: none; }
.section-nav a {
  font-family: var(--mono); font-size: var(--fs-sm); padding: 6px 14px; border-radius: var(--r-pill);
  border: 1px solid var(--line-hard); color: var(--text-dim); white-space: nowrap; flex: none;
  transition: var(--transition-fast); background: none;
}
.section-nav a:hover { text-decoration: none; background: var(--paper-raised); color: var(--accent-ink); transform: translateY(-1px); }

.row-limit-group.limited .table-wide tbody tr:nth-child(n+6) { display: none; }
.row-limit-group.limited .sig-cards > :nth-child(n+6) { display: none; }
.row-limit-toggle {
  display: block; width: 100%; margin: 10px 0 0; padding: 10px;
  font-family: var(--mono); font-size: var(--fs-sm); letter-spacing: 0.04em; text-transform: uppercase;
  text-align: center; color: var(--text-dim); background: var(--paper-raised);
  border: 1px solid var(--line-hard); border-radius: var(--r-lg); cursor: pointer;
  transition: var(--transition-fast);
}
.row-limit-toggle:hover { color: var(--accent-ink); border-color: var(--accent); transform: translateY(-1px); }

.price-chart-container { position: relative; cursor: grab; touch-action: pan-y; }
.price-chart-container.chart-dragging { cursor: grabbing; }

.price-chart-container.chart-drawing-mode { cursor: crosshair; }

.chart-draw-tools { display: flex; gap: 6px; margin: 0 0 12px; }
.chart-draw-tools button {
  font-family: var(--mono); font-size: var(--fs-sm); padding: 5px 12px; border-radius: 5px;
  border: 1px solid var(--line-hard); color: var(--text-dim); background: none; cursor: pointer;
  transition: var(--transition-fast);
}
.chart-draw-tools button:hover { background: var(--paper-raised); }
.chart-draw-tools button[data-tool].active { background: var(--chart-draw); color: #fff; border-color: var(--chart-draw); font-weight: 600; }

#chart-fullscreen-btn, .chart-fullscreen-btn-standalone {
  font-size: calc(15px * var(--ui-scale)); line-height: 1; padding: 6px 12px;
}
#chart-fullscreen-btn.active, .chart-fullscreen-btn-standalone.active {
  background: var(--accent-bg); color: var(--accent-ink); border-color: var(--accent);
}
#chart-fullscreen-target:fullscreen,
#chart-fullscreen-target:-webkit-full-screen {
  display: flex; flex-direction: column; justify-content: center;
  background: var(--paper); padding: 20px 24px; margin: 0; border: none; box-shadow: none;
}
#chart-fullscreen-target:fullscreen .price-chart-container,
#chart-fullscreen-target:-webkit-full-screen .price-chart-container {
  flex: 1; min-height: 0;
}

#chart-fullscreen-target.chart-fake-fullscreen {
  position: fixed; inset: 0; z-index: 2000;
  display: flex; flex-direction: column; justify-content: center;
  background: var(--paper); padding: 20px 24px; margin: 0; border: none; box-shadow: none;
  border-radius: 0;
}
#chart-fullscreen-target.chart-fake-fullscreen .price-chart-container {
  flex: 1; min-height: 0;
}
body:has(#chart-fullscreen-target.chart-fake-fullscreen) { overflow: hidden; }
.chart-tooltip {
  position: absolute; pointer-events: none; z-index: 5; display: none;
  background: var(--paper-raised); border: 1px solid var(--line-hard); border-radius: 5px;
  padding: 6px 10px; font-family: var(--mono); font-size: var(--fs-sm); box-shadow: var(--shadow-md);
  white-space: nowrap;
}
.chart-tooltip .d { color: var(--text-dim); }
.chart-tooltip .p { font-weight: 700; }
.chart-tooltip .ohlc { display: flex; gap: 8px; margin-top: 3px; }
.chart-tooltip .ohlc span { color: var(--text-dim); }
.chart-tooltip .ohlc b { color: var(--ink); font-weight: 600; }
.chart-tooltip .vol { margin-top: 2px; color: var(--text-dim); }
.chart-tooltip .vol b { color: var(--ink); font-weight: 600; }
.chart-zoom-hint {
  font-size: var(--fs-xs); color: var(--text-dim); margin: 6px 0 0; text-align: center;
}

.chart-overlay-toggles { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0 0 12px; }
.overlay-toggle {
  display: flex; align-items: center; gap: 5px; font-size: var(--fs-sm); color: var(--text-dim);
  cursor: pointer; user-select: none;
}
.overlay-toggle input[type="checkbox"] { margin: 0; accent-color: var(--accent); cursor: pointer; }
.overlay-toggle:has(input:not(:checked)) { color: var(--line-hard); }
.overlay-swatch {
  display: inline-block; width: 10px; height: 3px; border-radius: var(--r-xs); flex-shrink: 0;
}
.overlay-swatch-smc {
  background: linear-gradient(90deg, var(--good) 0%, var(--good) 45%, var(--bad) 55%, var(--bad) 100%);
  opacity: 0.6;
}

.chart-overlay.overlay-hidden { display: none; }

.stat-row { display: flex; gap: 1px; flex-wrap: wrap; margin-bottom: 28px; background: var(--line); border-radius: var(--r-xl); overflow: hidden; }
.stat-card {
  flex: 1 1 140px; background: color-mix(in srgb, var(--raise) 4.5%, transparent); backdrop-filter: blur(20px);
  padding: 18px 16px; transition: var(--transition-fast);
  
  color: var(--ink); text-decoration: none;
}
.stat-card .n { font-family: var(--display); font-size: var(--fs-2xl); font-weight: 700; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.stat-card .l { font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .09em; text-transform: uppercase; color: var(--text-faint); margin-top: 4px; line-height: 1.4; }

.stat-card .l a {
  color: inherit; text-decoration: none;
  border-bottom: 1px dotted var(--line-hard);
  transition: var(--transition-fast);
}
.stat-card .l a:hover { color: var(--accent-ink); border-bottom-color: var(--accent); }

.stat-card-wide { flex-basis: 260px; }
.stat-card-sub { font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .02em; text-transform: none; color: var(--text-dim); margin-top: 8px; }
.stat-card.good .n { color: var(--good); text-shadow: 0 0 22px color-mix(in srgb, var(--good) 55%, transparent); }
.stat-card.bad .n { color: var(--bad-ink); text-shadow: 0 0 22px color-mix(in srgb, var(--bad) 55%, transparent); }
.stat-card.neutral .n { color: var(--neutral); text-shadow: 0 0 22px color-mix(in srgb, var(--neutral) 55%, transparent); }

.stat-card-filter { cursor: pointer; }
.stat-card-filter:hover { background: color-mix(in srgb, var(--raise) 7.5%, transparent); }
.stat-card-filter:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.stat-card-filter.active { background: var(--accent-bg); }
tr[data-outcome].filtered-out { display: none; }
.stat-filter-status {
  font-size: var(--fs-sm); color: var(--accent-ink); background: var(--accent-bg);
  border: 1px solid var(--accent); border-radius: var(--r-md); padding: 8px 12px; margin: -14px 0 20px;
}

.proportion-card {
  background: linear-gradient(150deg, color-mix(in srgb, var(--raise) 7%, transparent), color-mix(in srgb, var(--raise) 2%, transparent));
  border: 1px solid var(--line); border-radius: var(--r-2xl); padding: 20px 22px; margin-bottom: 16px;
  box-shadow: 0 30px 80px -50px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,0.1);
}
.proportion-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }
.proportion-head .total { font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim); }
.proportion-head .total b { color: var(--ink); font-size: calc(15px * var(--ui-scale)); }
.proportion-head .refreshed { font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-faint); }
.proportion-bar {
  display: flex; height: 14px; border-radius: var(--r-lg); overflow: hidden; background: var(--paper-raised);
  box-shadow: inset 0 0 0 1px var(--line-hard); margin-bottom: 16px;
}
.proportion-bar span { height: 100%; }
.proportion-bar .seg-compliant { background: linear-gradient(90deg, var(--good), color-mix(in srgb, var(--good) 70%, var(--neutral))); }
.proportion-bar .seg-noncompliant { background: var(--bad); }
.proportion-bar .seg-questionable { background: var(--neutral); }

.proportion-bar .seg-insufficient { background: var(--warn); }
.proportion-bar .seg-unrated { background: var(--line-hard); }
.proportion-legend { display: flex; flex-wrap: wrap; gap: 10px 22px; }

.leg-item {
  display: flex; align-items: baseline; gap: 8px; font-family: var(--mono); font-size: var(--fs-sm);
  color: var(--text-dim); background: none; border: none; padding: 6px 0;
  border-bottom: 2px solid transparent; transition: var(--transition-fast); cursor: pointer;
}
.leg-item:hover { color: var(--ink); background: none; }
.leg-item.active { color: var(--ink); border-bottom-color: currentColor; background: none; }

.leg-dot { display: inline-block; width: 8px; height: 8px; border-radius: var(--r-round); flex-shrink: 0; }
.leg-dot.compliant { background: var(--good); box-shadow: 0 0 10px var(--good); }
.leg-dot.noncompliant { background: var(--bad); box-shadow: 0 0 10px var(--bad); }
.leg-dot.questionable { background: var(--neutral); box-shadow: 0 0 10px var(--neutral); }
.leg-dot.insufficient { background: var(--warn); box-shadow: 0 0 10px var(--warn); }

.leg-dot.unrated { background: var(--line-hard); }
.leg-item b { color: var(--ink); font-size: calc(15px * var(--ui-scale)); font-weight: 700; }
.leg-item .pct { color: var(--text-faint); }
.nr-chip {
  display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: var(--fs-sm);
  color: var(--text-dim); background: color-mix(in srgb, var(--raise) 3%, transparent); border: 1px solid var(--line-hard);
  border-radius: var(--r-3xl); padding: 7px 14px; cursor: pointer; transition: var(--transition-fast); margin-bottom: 16px;
}
.nr-chip:hover { border-color: var(--accent); color: var(--ink); }
.nr-chip.active { background: var(--accent-bg); border-color: var(--accent); color: var(--accent-ink); }

.compliance-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }
.compliance-split-card {
  display: flex; flex-direction: column;
  background: linear-gradient(150deg, color-mix(in srgb, var(--raise) 6%, transparent), color-mix(in srgb, var(--raise) 2%, transparent));
  border: 1px solid var(--line); border-radius: var(--r-2xl); padding: 22px 24px;
  box-shadow: 0 30px 80px -50px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,0.1);
  color: inherit; text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.compliance-split-card:hover {
  transform: translateY(-3px); border-color: var(--accent);
  box-shadow: 0 30px 80px -50px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,0.1), 0 20px 50px -30px color-mix(in srgb, var(--accent) 60%, transparent);
}
.compliance-split-card .proportion-bar { margin-bottom: 14px; }
.compliance-split-counts { display: flex; gap: 18px; font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim); margin-bottom: 18px; }
.compliance-split-counts .leg-dot { margin-right: 6px; }
.compliance-split-cta { margin-top: auto; align-self: flex-start; }
@media (max-width: 640px) { .compliance-split { grid-template-columns: 1fr; } }

.disclosure {
  background: color-mix(in srgb, var(--raise) 2%, transparent); border: 1px solid var(--line); border-radius: var(--r-xl);
  padding: 14px 18px; margin-bottom: 22px;
}
.disclosure summary {
  cursor: pointer; font-family: var(--mono); font-size: var(--fs-sm); letter-spacing: .02em;
  color: var(--text-dim); list-style: none; display: flex; align-items: center; gap: 8px;
}
.disclosure summary::-webkit-details-marker { display: none; }
.disclosure summary::before { content: "▸"; color: var(--accent); transition: transform .15s; flex-shrink: 0; }
.disclosure[open] summary::before { transform: rotate(90deg); }
.disclosure p { color: var(--text-dim); line-height: 1.65; margin: 12px 0 0; font-size: var(--fs-base); }
.disclosure p + p { margin-top: 8px; }

.kv-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; }
.kv-row:not(:last-child) { border-bottom: 1px solid var(--line); }

.issue-row { display: flex; gap: 10px; padding: 10px 0; }
.issue-row:not(:last-child) { border-bottom: 1px solid var(--line); }
.issue-row .pill { flex: none; }
.issue-row p { margin: 0; font-size: var(--fs-base); line-height: 1.55; }

a.row-compliant { border-left: 3px solid var(--good); }
a.row-noncompliant { border-left: 3px solid var(--bad); }
a.row-questionable { border-left: 3px solid var(--neutral); }
a.row-unrated { border-left: 3px solid var(--line-hard); }
tr.row-compliant td:first-child { border-left: 3px solid var(--good); }
tr.row-noncompliant td:first-child { border-left: 3px solid var(--bad); }
tr.row-questionable td:first-child { border-left: 3px solid var(--neutral); }
tr.row-unrated td:first-child { border-left: 3px solid var(--line-hard); }

.row-win:not(.card-row-link), .row-loss:not(.card-row-link), .row-open:not(.card-row-link) { padding-left: 12px; }
.row-win { border-left: 3px solid var(--good); }
.row-loss { border-left: 3px solid var(--bad); }
.row-open { border-left: 3px solid var(--neutral); }

tr.row-win td:first-child { border-left: 3px solid var(--good); }
tr.row-loss td:first-child { border-left: 3px solid var(--bad); }
tr.row-open td:first-child { border-left: 3px solid var(--neutral); }

.pending-chip {
  display: inline-flex; align-items: center; gap: 5px; font-family: var(--mono); font-size: var(--fs-xs);
  color: var(--text-faint); font-style: normal;
}
.pending-chip::before { content: "○"; font-size: var(--fs-2xs); }

.card {
  background: linear-gradient(150deg, color-mix(in srgb, var(--raise) 8.5%, transparent), color-mix(in srgb, var(--raise) 2.8%, transparent));
  backdrop-filter: blur(22px) saturate(150%); -webkit-backdrop-filter: blur(22px) saturate(150%);
  border: 1px solid var(--line); border-radius: 14px;
  padding: 16px 18px; margin-bottom: 14px;
  box-shadow: 0 30px 90px -50px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,0.14);
  transition: transform .22s, box-shadow .22s, border-color .22s;
}

.card-row-link {
  margin: 0 -18px; padding-left: 18px; padding-right: 18px;
  border-radius: var(--r-md); transition: var(--transition-fast);
}
.card-row-link:hover { background: var(--paper); transform: translateX(2px); }
.card-row-link:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }

.crypto-table td { vertical-align: top; padding-top: 12px; padding-bottom: 12px; }
.crypto-table tbody tr { cursor: pointer; }
.crypto-name-cell { min-width: 260px; }
.crypto-name-wrap { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.crypto-name-line { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.crypto-name-link { font-weight: 600; color: var(--ink); text-decoration: none; }
.crypto-name-link:hover { color: var(--accent-ink); }
.crypto-tk { font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-faint); letter-spacing: 0.04em; }
.crypto-row-note { margin: 3px 0 0; color: var(--text-dim); font-size: var(--fs-sm); line-height: 1.5; max-width: 52ch; }
.chg-up { color: var(--good); }
.chg-down { color: var(--bad-ink); }

.no-data { color: var(--text-faint); }

.newsletter-card {
  background: linear-gradient(150deg, color-mix(in srgb, var(--accent) 11%, color-mix(in srgb, var(--raise) 8.5%, transparent)), color-mix(in srgb, var(--raise) 2.8%, transparent));
  border-color: color-mix(in srgb, var(--accent) 40%, var(--line));
  animation: newsletter-glow 4s ease-in-out infinite;
}
.newsletter-head { display: flex; align-items: center; gap: 7px; }
.newsletter-icon { font-size: var(--fs-base); color: var(--accent); }
@keyframes newsletter-glow {
  0%, 100% { box-shadow: 0 30px 90px -50px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,0.14), 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent); }
  50% { box-shadow: 0 30px 90px -50px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,0.14), 0 0 36px -6px color-mix(in srgb, var(--accent) 42%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent); }
}
@media (prefers-reduced-motion: reduce) { .newsletter-card { animation: none; } }

.scroller { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--paper-raised); box-shadow: var(--shadow-sm); }

table { border-collapse: collapse; width: 100%; min-width: 300px; font-size: var(--fs-base); font-family: var(--mono); }
table.table-wide { min-width: 560px; }

table:not(.tm-tbl) th {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: 0.08em; text-transform: uppercase;
  text-align: left; color: var(--text-faint); font-weight: 600;
  padding: 10px 14px; border-bottom: 1.5px solid var(--line-hard);
  position: sticky; top: 0; background: var(--paper-raised);
}

.tm-tbl th {
  font-family: var(--mono); text-align: left; color: var(--text-faint);
  font-weight: 600; border-bottom: 1.5px solid var(--line-hard);
}
table td { padding: 9px 14px; border-bottom: 1px solid var(--line); vertical-align: middle; }
table tr:last-child td { border-bottom: none; }
table td.num, table th.num { text-align: right; font-variant-numeric: tabular-nums; font-family: var(--mono); }
table tbody tr { transition: background-color .16s ease; }
table tbody tr:hover { background: color-mix(in srgb, var(--raise) 3.2%, transparent); }

[data-href] { cursor: pointer; }
table tbody tr.row-link { cursor: pointer; }
table tbody tr.row-link:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }

.tk { font-family: var(--display); font-weight: 700; font-size: calc(15px * var(--ui-scale)); letter-spacing: -0.01em; }
.tk-sub { display: block; font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-faint); font-weight: 400; margin-top: 2px; }

.pill {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--mono); font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 3px 9px; border-radius: 100px;
}
.pill.win, .pill.compliant, .pill.pass { background: var(--good-bg); color: var(--good); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--good) 40%, transparent); }
.pill.loss, .pill.noncompliant, .pill.fail { background: var(--bad-bg); color: var(--bad-ink); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bad) 40%, transparent); }
.pill.open, .pill.questionable { background: var(--neutral-bg); color: var(--neutral); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--neutral) 40%, transparent); }
.pill.insufficient { background: var(--warn-bg); color: var(--warn); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--warn) 45%, transparent); }

.pill.long, .pill.short { background: var(--frost-bg); color: var(--text-dim); box-shadow: inset 0 0 0 1px var(--line); }

td.num.win  { color: var(--good); }
td.num.loss { color: var(--bad-ink); }
td.num.na   { color: var(--state-unknown); }

.activity-note {
  margin: 0 0 12px;
  padding-left: 10px;
  border-left: 2px solid color-mix(in srgb, var(--neutral) 35%, transparent);
  font-size: var(--fs-sm); line-height: 1.55; color: var(--text-dim);
  max-width: 74ch;
}

.ticker-logo-wrap { position: relative; display: inline-flex; flex: none; }
.ticker-logo {
  width: var(--logo-size, 28px); height: var(--logo-size, 28px);
  border-radius: var(--r-round); object-fit: contain; background: var(--paper-raised);
  border: 1px solid var(--line); flex: none;
}
.ticker-logo-fallback {
  width: var(--logo-size, 28px); height: var(--logo-size, 28px);
  border-radius: var(--r-round); display: none; align-items: center; justify-content: center;
  font-family: var(--mono); font-weight: 700; letter-spacing: -0.02em;
  font-size: calc(var(--logo-size, 28px) * 0.34);
  background: var(--accent-bg, var(--line)); color: var(--accent, var(--text-dim));
  border: 1px solid var(--line); flex: none;
}
.ticker-logo-wrap.logo-failed .ticker-logo { display: none; }
.ticker-logo-wrap.logo-failed .ticker-logo-fallback { display: flex; }

.news-thumb {
  width: 44px; height: 44px; border-radius: var(--r-md); object-fit: cover;
  border: 1px solid var(--line); flex: none; background: var(--paper);
}
.news-row { display: flex; align-items: center; gap: 10px; }

.symbol { font-family: var(--mono); font-weight: 700; }
a.symbol { color: var(--ink); text-decoration: none; transition: var(--transition-fast); }
a.symbol:hover { color: var(--accent-ink); text-decoration: underline; }

.browse-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.browse-list { display: flex; flex-direction: column; gap: 2px; }
.browse-item {
  display: flex; justify-content: space-between; padding: 8px 12px; border-radius: 5px;
  color: var(--ink); font-size: var(--fs-base); transition: var(--transition-fast);
}
.browse-item:hover { background: var(--paper-raised); text-decoration: none; transform: translateX(2px); }
.browse-item.active { background: var(--accent-bg); color: var(--accent-ink); font-weight: 600; }
.browse-count { font-family: var(--mono); color: var(--text-dim); }
.browse-item.active .browse-count { color: var(--accent-ink); }

.basket-grid {
  display: grid; gap: var(--sp-3);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  margin-bottom: var(--sp-4);
}
.basket-card {
  display: block; color: inherit;
  transition: var(--transition-fast);
}
.basket-card:hover {
  text-decoration: none; border-color: var(--accent);
  box-shadow: var(--shadow-md); transform: translateY(-2px);
}
.basket-h {
  font-family: var(--display); font-size: var(--fs-lg);
  margin: 0 0 var(--sp-1);
}
.basket-blurb {
  margin: 0 0 var(--sp-2); font-size: var(--fs-sm); color: var(--text-dim);
}
.basket-n {
  margin: 0 0 var(--sp-2); font-family: var(--mono);
  font-variant-numeric: tabular-nums;
}
.basket-n strong { font-size: var(--fs-xl); color: var(--accent); }
.basket-n-l { font-size: var(--fs-xs); color: var(--text-dim); }

.basket-un {
  display: block; font-size: var(--fs-xs); color: var(--text-faint);
  font-family: var(--mono);
}
.basket-why {
  margin: 0 0 var(--sp-2); font-size: var(--fs-sm); line-height: 1.5;
}

.basket-def { margin: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.basket-def code {
  font-family: var(--mono); font-size: var(--fs-xs);
  padding: 1px 5px; border-radius: 3px;
  background: var(--paper-raised); color: var(--text-dim);
  border: 1px solid var(--line);
}
.basket-missing-s {
  margin: 0 0 var(--sp-3); font-size: var(--fs-sm); color: var(--text-dim);
}
.basket-dl { margin: 0; }
.basket-dl dt {
  font-family: var(--mono); font-size: var(--fs-xs);
  text-transform: uppercase; letter-spacing: .06em;
  color: var(--ink); margin-top: var(--sp-2);
}
.basket-dl dd {
  margin: 2px 0 0; font-size: var(--fs-sm); color: var(--text-dim);
  line-height: 1.5;
}

.chart-row { display: grid; grid-template-columns: 100px 1fr 50px; align-items: center; gap: 12px; padding: 5px 0; }
.chart-label { font-family: var(--mono); font-size: var(--fs-sm); font-weight: 700; }
.chart-track { position: relative; height: 15px; background: color-mix(in srgb, var(--raise) 5%, transparent); border-radius: var(--r-sm); overflow: hidden; }
.chart-fill {
  height: 100%; min-width: 3px; border-radius: var(--r-sm);
  transition: width 1s cubic-bezier(.22,.7,.3,1);
}
.chart-fill.good {
  background: linear-gradient(90deg, color-mix(in srgb, var(--good) 55%, transparent), var(--good));
  box-shadow: 0 0 16px -1px color-mix(in srgb, var(--good) 75%, transparent);
}
.chart-fill.bad {
  background: var(--bad);
  box-shadow: 0 0 16px -1px color-mix(in srgb, var(--bad) 85%, transparent);
}

.chart-fill.neutral {
  background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 55%, transparent), var(--accent));
  box-shadow: 0 0 16px -1px color-mix(in srgb, var(--accent) 75%, transparent);
}

.chart-track--ref { position: relative; }
.chart-track--ref::after {
  content: ""; position: absolute; left: 30%; top: -3px; bottom: -3px; width: 1px;
  background: var(--neutral); opacity: .8; box-shadow: 0 0 8px color-mix(in srgb, var(--neutral) 70%, transparent);
}
.chart-value { font-family: var(--mono); font-size: var(--fs-sm); font-weight: 500; text-align: right; font-variant-numeric: tabular-nums; }
.chart-n { font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-faint); text-align: right; }

.sparkline { display: block; vertical-align: middle; }
.price-chart { display: block; width: 100%; }

.empty-state {
  padding: 40px 20px; text-align: center; color: var(--text-dim);
  background: var(--paper-raised); border: 1px dashed var(--line-hard); border-radius: var(--r-lg);
}

.empty-state.compact {
  padding: var(--sp-3) var(--sp-4);
  text-align: left;
  font-size: var(--fs-sm);
}

.search-box {
  display: flex; gap: 8px; margin-bottom: 22px;
}
.search-box input {
  flex: 1; font-family: var(--mono); font-size: calc(15px * var(--ui-scale)); padding: 10px 14px;
  border: 1px solid var(--line-hard); border-radius: var(--r-md); background: var(--paper-raised); color: var(--ink);
  transition: var(--transition-fast);
}
.search-box input::placeholder { color: var(--text-faint); }
.search-box input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-bg), 0 0 24px -8px var(--accent); }

button.search-box { min-height: 36px; }

.search-box button {
  font-family: var(--mono); font-weight: 700; font-size: var(--fs-base); letter-spacing: .03em; padding: 10px 18px;
  border: none; border-radius: var(--r-lg); background: linear-gradient(135deg, var(--accent), var(--neutral)); color: var(--on-accent); cursor: pointer;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent), 0 8px 26px -10px var(--accent);
  transition: transform .16s, box-shadow .2s;
}
.search-box button:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 80%, transparent), 0 12px 36px -10px var(--accent); }

.cta-btn {
  display: inline-block; font-family: var(--mono); font-weight: 700; font-size: var(--fs-base); letter-spacing: .03em;
  padding: 11px 20px; border-radius: var(--r-lg); background: linear-gradient(135deg, var(--accent), var(--neutral)); color: var(--on-accent);
  text-decoration: none; white-space: nowrap;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent), 0 10px 34px -10px var(--accent);
  transition: transform .16s, box-shadow .2s;
}
.cta-btn:hover { transform: translateY(-2px); background: linear-gradient(135deg, var(--accent), var(--neutral)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 80%, transparent), 0 16px 48px -10px var(--accent); text-decoration: none; }

.cta-btn { position: relative; overflow: hidden; }
.cta-btn::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: -70%; width: 55%;
  background: linear-gradient(100deg, transparent, color-mix(in srgb, var(--raise) 55%, transparent), transparent);
  transform: skewX(-18deg); pointer-events: none;
}
.cta-btn:hover::after { animation: cta-sweep .62s ease-out; }
.cta-btn.ghost::after { display: none; }
@keyframes cta-sweep { to { left: 130%; } }
@media (prefers-reduced-motion: reduce) { .cta-btn:hover::after { animation: none; } }

footer.site {
  border-top: 1px solid var(--line); margin-top: 60px; padding-top: 40px; padding-bottom: 24px;
  max-width: 1080px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px;
}
.footer-top { display: flex; justify-content: space-between; gap: 48px; flex-wrap: wrap; margin-bottom: 32px; }
.footer-about { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; max-width: 320px; flex: 1 1 260px; }
.footer-brand { font-family: var(--mono); font-size: var(--fs-base); font-weight: 700; letter-spacing: .02em; color: var(--ink); }
.footer-blurb { font-size: var(--fs-base); line-height: 1.55; color: var(--text-dim); margin: 0; }

.footer-cols {
  display: grid; grid-template-columns: repeat(3, minmax(0, max-content));
  gap: var(--sp-4) 40px; flex: 2 1 480px;
  justify-content: end; align-items: start;
}
.footer-col { display: flex; flex-direction: column; gap: 3px; min-width: 128px; }
.footer-col-head {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .08em; text-transform: uppercase;
  color: var(--text-faint); margin-bottom: 7px;
}

.crumb {
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim);
  letter-spacing: .04em; margin: 0 0 var(--sp-3);
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
}
.crumb a { color: var(--text-dim); text-decoration: none; }
.crumb a:hover { color: var(--ink); text-decoration: underline; }
.crumb [aria-current="page"] { color: var(--ink); }

.footer-col a {
  font-size: var(--fs-base); color: var(--text-dim); padding: 3px 0; transition: var(--transition-fast);
}
.footer-col a:hover { text-decoration: none; color: var(--ink); }

.footer-newsletter {
  width: 100%; max-width: 320px; padding-left: 10px;
  border-left: 2px solid color-mix(in srgb, var(--accent) 45%, transparent);
}
.footer-newsletter .footer-col-head { display: flex; align-items: center; gap: 6px; color: var(--accent); }
.footer-newsletter .search-box { margin-bottom: 4px; }
.footer-newsletter .newsletter-status { font-size: var(--fs-sm); min-height: 16px; }
.alerts-btn {
  font-family: var(--mono); font-size: var(--fs-sm); letter-spacing: 0.02em;
  padding: 7px 12px; border-radius: 5px; border: 1px solid var(--line-hard);
  background: var(--paper-raised); color: var(--text-dim); cursor: pointer;
  transition: var(--transition-fast); margin-top: 10px;
}
.alerts-btn:hover { border-color: var(--accent); color: var(--ink); }
.alerts-btn.active { background: var(--accent-bg); color: var(--accent-ink); border-color: var(--accent); font-weight: 600; }
.footer-discord {
  font-family: var(--mono); font-size: var(--fs-sm); font-weight: 600; color: var(--text-dim);
  padding: 7px 14px; border-radius: 5px; border: 1px solid var(--line-hard);
  transition: var(--transition-fast);
}
.footer-discord:hover { text-decoration: none; color: var(--accent-ink); border-color: var(--accent); }
.footer-bottom { padding-top: 18px; border-top: 1px solid var(--line); }
.footer-disclaimer { font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim); margin: 0; }
.footer-build { font-size: var(--fs-xs); color: var(--text-dim); opacity: .7; margin-top: 6px; }

.footer-attribution { opacity: .55; max-width: 62ch; margin-left: auto; margin-right: auto; text-wrap: pretty; }
@media (max-width: 640px) {
  .footer-top { flex-direction: column; gap: 28px; }
  
  .footer-about, .footer-cols { flex: 0 0 auto; }
  .footer-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: start; gap: 24px 20px;
  }
  
  .footer-col { min-width: 0; }
  
  footer.site {
    margin-top: 32px; padding-top: 28px;
    
    padding-bottom: calc(160px + env(safe-area-inset-bottom, 0px));
  }
  .shell { padding-bottom: 40px; }
}

.dashboard-hero {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: var(--sp-6) var(--sp-4) var(--sp-5);
}

.dashboard-sym { font-family: var(--display); font-size: var(--fs-2xl); font-weight: 600; letter-spacing: -0.005em; margin: 0; }
.dashboard-hero .dashboard-title { font-family: var(--display); font-size: calc(32px * var(--ui-scale)); font-weight: 600; letter-spacing: -0.01em; text-wrap: balance; margin: 0 0 var(--sp-2); }
.dashboard-hero p { color: var(--text-dim); margin: 0 0 var(--sp-5); max-width: 52ch; font-size: var(--fs-md); }
.dashboard-search {
  display: flex; gap: 8px; width: 100%; max-width: 480px;
}
.dashboard-search input {
  flex: 1; font-family: var(--mono); font-size: calc(16px * var(--ui-scale)); padding: 14px 18px;
  border: 1.5px solid var(--line-hard); border-radius: var(--r-lg); background: var(--paper-raised); color: var(--ink);
  transition: var(--transition-fast);
}
.dashboard-search input::placeholder { color: var(--text-faint); }
.dashboard-search input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-bg), 0 0 30px -10px var(--accent); }
.dashboard-search button {
  font-family: var(--mono); font-weight: 700; font-size: calc(14px * var(--ui-scale)); letter-spacing: .02em; padding: 14px 24px;
  border: none; border-radius: var(--r-lg); background: linear-gradient(135deg, var(--accent), var(--neutral)); color: var(--on-accent); cursor: pointer;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent), 0 8px 26px -10px var(--accent);
  transition: transform .16s, box-shadow .2s; white-space: nowrap;
}
.dashboard-search button:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 80%, transparent), 0 14px 40px -10px var(--accent); }
.dashboard-examples { margin-top: var(--sp-3); font-size: var(--fs-sm); color: var(--text-dim); }
.dashboard-examples a { font-family: var(--mono); color: var(--text-dim); border-bottom: 1px dotted var(--line-hard); }
.dashboard-examples a:hover { color: var(--accent-ink); text-decoration: none; border-color: var(--accent-ink); }

.verdict-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--mono); font-size: calc(15px * var(--ui-scale)); font-weight: 700; letter-spacing: 0.02em;
  padding: 8px 16px; border-radius: var(--r-lg);
}
.verdict-badge.strong, .verdict-badge.execute { background: var(--good-bg); color: var(--good); }
.verdict-badge.watchlist { background: var(--neutral-bg); color: var(--neutral); }
.verdict-badge.ignore { background: var(--bad-bg); color: var(--bad-ink); }
.verdict-score { font-size: var(--fs-2xl); font-family: var(--mono); font-weight: 700; }

.factor-row {
  display: grid; grid-template-columns: 140px 1fr 56px; align-items: center; gap: 12px; padding: 6px 0;
}
.factor-label { font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.03em; }
.factor-track { height: 8px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; position: relative; }
.factor-fill { height: 100%; background: var(--accent); transition: width .3s ease; }
.factor-fill.neg { background: var(--bad); }
.factor-value { font-family: var(--mono); font-size: var(--fs-sm); text-align: right; font-variant-numeric: tabular-nums; color: var(--text-dim); }

.regime-pill {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--mono); font-size: var(--fs-base); font-weight: 600;
  padding: 6px 12px; border-radius: var(--r-md); background: var(--paper); border: 1px solid var(--line-hard);
}

.shadow-note {
  font-size: var(--fs-xs); color: var(--text-dim); font-style: italic; margin: var(--sp-2) 0 0;
}

[data-animate="fade"], [data-animate="stagger"] > * { opacity: 1; }
[data-hover="lift"] { cursor: pointer; }
.js-enhanced [data-hover="lift"] { will-change: transform; }

.hero {
  position: relative; overflow: hidden;
  background: var(--hero-bg); color: var(--hero-ink);
  margin: -28px -24px 0; padding: 76px 24px 64px;
}
#heroChart { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-fade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 0%, var(--hero-bg) 92%); pointer-events: none; }
.hero-inner { position: relative; max-width: 720px; margin: 0 auto; text-align: center; }
.hero .eyebrow {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--brand-3); margin: 0 0 20px; display: inline-flex; align-items: center; gap: 10px;
}
.hero .eyebrow::before, .hero .eyebrow::after { content: ""; width: 24px; height: 1px; background: currentColor; opacity: 0.5; }
.hero h2 {
  font-family: var(--display); font-weight: 600; letter-spacing: -0.015em;
  font-size: clamp(34px, 6vw, 56px); line-height: 1.06; margin: 0 0 20px; text-wrap: balance;
  text-shadow: 0 2px 30px rgba(0,0,0,0.4);
}
.hero h2 em { font-style: italic; color: var(--brand-3-bright); }
.hero .site-tagline {
  font-family: var(--sans); font-size: calc(16px * var(--ui-scale)); line-height: 1.65; color: var(--hero-dim);
  border-left: none; padding-left: 0; max-width: 56ch; margin: 0 auto 30px; text-wrap: pretty; font-weight: 400;
}
.hero-ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.cta-btn.gold {
  background: linear-gradient(135deg, var(--brand-3-bright), var(--brand-3)); color: var(--brand-3-ink);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand-3) 55%, transparent), 0 10px 34px -10px var(--brand-3); border: none;
}
.cta-btn.gold:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand-3) 80%, transparent), 0 16px 48px -10px var(--brand-3); }

.cta-btn.pink {
  background: linear-gradient(135deg, var(--bad), #ff6ad5); color: #1a0210; border: none;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--bad) 55%, transparent), 0 10px 34px -10px var(--bad);
}
.cta-btn.pink:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px color-mix(in srgb, var(--bad) 80%, transparent), 0 16px 48px -10px var(--bad); }
.cta-btn.ghost {
  background: var(--frost-dark-bg); border: 1px solid var(--frost-dark-border); color: var(--hero-ink);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: none;
}
.cta-btn.ghost:hover { transform: translateY(-2px); background: color-mix(in srgb, var(--bad) 8%, transparent); border-color: var(--bad-ink); color: var(--bad-ink); }

.glass-sheen { position: relative; isolation: isolate; }
.glass-sheen::before {
  content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
  background: linear-gradient(135deg, color-mix(in srgb, var(--raise) 16%, transparent) 0%, transparent 34%, transparent 70%, color-mix(in srgb, var(--raise) 5%, transparent) 100%);
}

.stat-bento {
  position: relative; margin: 32px auto 24px; max-width: 940px; z-index: 2;
  
  
  display: flex; flex-wrap: wrap; align-items: stretch;
  --cols: 6; --bento-gap: 10px;
  gap: var(--bento-gap); padding: 0 8px;
  max-width: 1032px;   
}

.stat-bento:has(> .stat-cell:nth-child(4):last-child) { --cols: 4; }
.stat-bento:has(> .stat-cell:nth-child(5):last-child) { --cols: 5; }
.stat-cell {
  flex: 1 1 calc((100% - (var(--cols) - 1) * var(--bento-gap)) / var(--cols));
  min-width: 0;   
}

@media (min-width: 641px) {
  .stat-bento:has(> .stat-cell:nth-child(6)) .stat-cell { padding: 18px 10px; }
  .stat-bento:has(> .stat-cell:nth-child(6)) .stat-label {
    font-size: var(--fs-2xs); letter-spacing: .045em;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .stat-bento { --cols: 3; }
  .stat-bento:has(> .stat-cell:nth-child(4):last-child) { --cols: 2; }
}
.stat-cell {
  
  background: color-mix(in srgb, var(--raise) 6%, transparent);
  border: 1px solid var(--line);
  backdrop-filter: blur(20px) saturate(150%); -webkit-backdrop-filter: blur(20px) saturate(150%);
  border-radius: var(--r-xl); padding: 20px 14px; text-align: center;
  box-shadow: 0 8px 24px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,0.14);
  transition: var(--transition-fast);
}
.stat-cell:hover { background: color-mix(in srgb, var(--raise) 9%, transparent); transform: translateY(-2px); }
.stat-num {
  font-family: var(--display); font-weight: 700; font-size: clamp(22px, 3.2vw, 32px);
  color: var(--hero-ink); font-variant-numeric: tabular-nums; letter-spacing: -0.01em;
}
.stat-num .unit { font-size: 0.48em; color: var(--brand-3-bright); font-family: var(--mono); font-weight: 600; margin-left: 2px; }
.stat-label { font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: 0.06em; text-transform: uppercase; color: var(--hero-dim); margin-top: 6px; }
@media (max-width: 640px) {
  
  .stat-bento {
    
    display: grid;
    grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(132px, 1fr);
    margin: 16px 0 20px; padding: 0 16px; overflow-x: auto; scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .stat-bento::-webkit-scrollbar { display: none; }
  .stat-cell {
    scroll-snap-align: start; padding: 14px 13px; text-align: left; position: relative; overflow: hidden;
  }
  .stat-cell::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; }
  
  
  .stat-cell:nth-of-type(6n+1)::before { background: var(--accent); }
  .stat-cell:nth-of-type(6n+2)::before { background: var(--neutral); }
  .stat-cell:nth-of-type(6n+3)::before { background: var(--amber); }
  .stat-cell:nth-of-type(6n+4)::before { background: var(--bad); }
  .stat-cell:nth-of-type(6n+5)::before { background: var(--violet); }
  .stat-cell:nth-of-type(6n+6)::before { background: var(--azure); }
  .stat-num { font-size: calc(21px * var(--ui-scale)); }
  .stat-label { margin-top: 4px; }
}

.marquee {
  width: 100vw; margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); margin-bottom: 28px;
  overflow: hidden; white-space: nowrap; padding: 8px 0;
  background: var(--paper-raised); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}

.marquee-track { display: inline-flex; animation: hero-scroll 32s linear infinite; }
.marquee-track span {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--text-dim); padding: 0 20px; display: inline-flex; align-items: center; gap: 20px;
}
.marquee-track span::after { content: "◆"; color: var(--brand-3); font-size: var(--fs-2xs); }
@keyframes hero-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .marquee-track { animation: none; } }

.frost-field { position: relative; padding-top: 4px; }
.frost-field::before {
  content: ""; position: absolute; top: -20px; left: 8%; width: 40%; height: 200px;
  background: radial-gradient(circle, var(--accent) 0%, transparent 70%); opacity: 0.14; filter: blur(10px); pointer-events: none;
}
.frost-field::after {
  content: ""; position: absolute; top: 4px; right: 6%; width: 34%; height: 180px;
  background: radial-gradient(circle, var(--brand-3) 0%, transparent 70%); opacity: 0.12; filter: blur(10px); pointer-events: none;
}
.proof-grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 32px; }
@media (max-width: 820px) { .proof-grid { grid-template-columns: 1fr; } }
.proof-card {
  display: flex; flex-direction: column; gap: 8px; padding: 20px 18px; border-radius: var(--r-xl); position: relative; overflow: hidden;
  background: var(--frost-bg); border: 1px solid var(--frost-border);
  backdrop-filter: blur(14px) saturate(160%); -webkit-backdrop-filter: blur(14px) saturate(160%);
  transition: var(--transition-fast);
}
.proof-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--brand-3); }
.proof-num { font-family: var(--mono); font-size: var(--fs-xs); color: var(--brand-3); letter-spacing: 0.06em; }
.proof-card h3 { font-family: var(--display); font-size: calc(17px * var(--ui-scale)); font-weight: 600; margin: 0; letter-spacing: -0.005em; }
.proof-card p { color: var(--text-dim); font-size: var(--fs-base); line-height: 1.6; margin: 0; }

.proof-card.k1:hover { border-color: var(--accent); box-shadow: 0 24px 66px -32px color-mix(in srgb, var(--accent) 85%, transparent); }
.proof-card.k2:hover { border-color: var(--neutral); box-shadow: 0 24px 66px -32px color-mix(in srgb, var(--neutral) 85%, transparent); }
.proof-card.k3:hover { border-color: var(--bad-ink); box-shadow: 0 24px 66px -32px color-mix(in srgb, var(--bad) 85%, transparent); }

.page-header {
  position: relative; overflow: hidden;
  background: var(--hero-bg); color: var(--hero-ink);
  margin: -28px -24px 30px; padding: 46px 24px 42px; text-align: center;
}
.page-header > * { position: relative; max-width: 760px; margin-left: auto; margin-right: auto; }
.page-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--mono); font-size: var(--fs-xs); font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--brand-3); margin: 0 0 14px;
}
.page-eyebrow::before, .page-eyebrow::after { content: ""; width: 22px; height: 1px; background: currentColor; opacity: 0.5; }

.page-header .page-title {
  font-family: var(--display); font-weight: 600; letter-spacing: -0.015em;
  font-size: clamp(26px, 4vw, 38px); line-height: 1.08; margin: 0 0 12px;
  text-wrap: balance; text-shadow: 0 2px 24px rgba(0,0,0,0.35);
}
.page-header p.page-sub {
  font-family: var(--sans); font-size: calc(15px * var(--ui-scale)); line-height: 1.6; color: var(--hero-dim);
  max-width: 62ch; margin: 0 auto; text-wrap: pretty;
}
.page-header-meta {
  display: flex; gap: 18px; flex-wrap: wrap; justify-content: center; margin-top: 18px;
  font-family: var(--mono); font-size: var(--fs-sm); color: var(--hero-dim);
}
.page-header-meta b { color: var(--hero-ink); font-weight: 700; font-size: var(--fs-base); }
.page-header-meta span { display: flex; flex-direction: column; gap: 2px; }

.why { margin: 14px 0 0; max-width: 62ch; }
.why summary {
  font-family: var(--mono); font-size: var(--fs-sm); color: var(--neutral); cursor: pointer;
  list-style: none; display: inline-flex; align-items: center; gap: 4px;
}
.why summary::-webkit-details-marker { display: none; }
.why summary::before { content: "▸"; font-size: var(--fs-2xs); transition: transform .2s ease; }
.why[open] summary::before { transform: rotate(90deg); }
.why p { font-size: var(--fs-base); color: var(--hero-dim); margin: 10px 0 0; line-height: 1.6; }

header.top .inner.search-open .brand,
header.top .inner.search-open nav.tabs {
  flex: 0 0 0; width: 0; min-width: 0; margin: 0; padding: 0; border-width: 0;
  opacity: 0; pointer-events: none; overflow: hidden; white-space: nowrap;
}
.brand, nav.tabs {
  transition: opacity .25s ease, flex-basis .3s cubic-bezier(.16,1,.3,1), width .3s cubic-bezier(.16,1,.3,1),
              margin .3s cubic-bezier(.16,1,.3,1), padding .3s cubic-bezier(.16,1,.3,1);
}

.header-search { position: relative; z-index: 45; flex: 0 1 auto; 
  
  min-width: 0;
}
.header-search.search-open { flex: 1 1 auto; }
.header-search input {
  
  font-family: var(--mono); font-size: var(--fs-sm); padding: 8px 16px 8px 32px;
  width: 100%; max-width: 280px; min-width: 0; cursor: text;
  border: 1px solid var(--frost-border); border-radius: 22px;
  background: var(--frost-bg); color: var(--ink);
  backdrop-filter: blur(14px) saturate(180%); -webkit-backdrop-filter: blur(14px) saturate(180%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
  transition: box-shadow .3s ease, border-color .2s ease, font-size .3s ease, padding .3s ease, width .3s cubic-bezier(.16,1,.3,1);
}

.header-search input::placeholder {
  text-overflow: ellipsis; overflow: hidden; white-space: nowrap;
}
.header-search.search-open input {
  width: 100%; font-size: calc(15px * var(--ui-scale)); padding: 14px 44px 14px 40px; border-color: var(--accent);
  box-shadow: 0 16px 40px rgba(16,24,32,0.16), 0 0 0 4px var(--accent-bg), inset 0 1px 0 rgba(255,255,255,0.25);
}
.header-search::before {
  content: "⌕"; position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--text-dim); font-size: var(--fs-base); pointer-events: none; z-index: 1; transition: var(--transition-fast);
}
.header-search.search-open::before { left: 16px; font-size: calc(17px * var(--ui-scale)); color: var(--accent); }
.search-close {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%) scale(0.6);
  width: 24px; height: 24px; border-radius: var(--r-round); border: none; cursor: pointer;
  background: var(--paper); color: var(--text-dim); font-size: var(--fs-sm); line-height: 1;
  display: none; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .2s ease .1s, transform .2s ease .1s;
}
.header-search.search-open .search-close { display: flex; opacity: 1; transform: translateY(-50%) scale(1); }
.search-close:hover { background: var(--bad-bg); color: var(--bad-ink); }

.feedback-widget { position: fixed; right: 22px; bottom: 22px; z-index: 55; }

.mc-inhouse {
  display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
  margin: 10px 0 0; padding: 9px 11px;
  border: 1px solid var(--line); border-radius: var(--r-lg);
  background: color-mix(in srgb, var(--paper-raised) 70%, transparent);
}
.mc-ih-dots { display: inline-flex; gap: 4px; flex: none; }
.mc-ih-dots i {
  width: 9px; height: 9px; border-radius: var(--r-round);
  
  box-shadow: inset 0 0 0 1.5px currentColor;
}
.mc-ih-p { color: var(--good); background: color-mix(in srgb, var(--good) 45%, transparent); }
.mc-ih-f { color: var(--bad);  background: color-mix(in srgb, var(--bad) 45%, transparent); }
.mc-ih-u { color: var(--text-faint); background: transparent; }

.mc-ih-dots i {
  position: relative;
  
  padding: 7px; margin: -7px;
  background-clip: content-box;
}
.mc-ih-dots i::after {
  content: attr(title);
  position: absolute; left: 50%; bottom: calc(100% + 6px);
  transform: translateX(-50%);
  white-space: nowrap;
  font-family: var(--mono); font-size: var(--fs-xs);
  color: var(--paper); background: var(--ink);
  padding: 4px 7px; border-radius: var(--r-sm);
  opacity: 0; pointer-events: none;
  transition: opacity var(--transition-fast);
  z-index: 3;
}
.mc-ih-dots i:hover::after,
.mc-ih-dots i:focus-visible::after { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .mc-ih-dots i::after { transition: none; }
}

.mc-ih-txt { font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.45; }
.mc-ih-txt b { color: var(--ink); font-weight: 600; }

@media (max-width: 900px) {
  .feedback-widget { bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 640px) {
  
  .feedback-widget { left: 16px; right: auto; bottom: calc(94px + env(safe-area-inset-bottom, 0px)); }
  .feedback-panel { right: auto; left: 0; }
  
}
.feedback-bubble {
  display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: var(--fs-sm); font-weight: 700;
  padding: 13px 20px; border-radius: 30px; cursor: pointer; color: var(--ink);
  background: var(--frost-bg); border: 1px solid var(--frost-border);
  backdrop-filter: blur(18px) saturate(180%); -webkit-backdrop-filter: blur(18px) saturate(180%);
  box-shadow: var(--shadow-md), 0 0 0 0 rgba(217,172,63,0.4);
  transition: var(--transition-fast), box-shadow .3s ease;
  animation: feedback-pulse 3.2s ease-in-out infinite;
}
@keyframes feedback-pulse {
  0%, 100% { box-shadow: var(--shadow-md), 0 0 0 0 rgba(217,172,63,0.35); }
  50% { box-shadow: var(--shadow-md), 0 0 0 8px rgba(217,172,63,0); }
}
.feedback-bubble:hover { border-color: var(--brand-3); color: var(--brand-3); transform: translateY(-2px) scale(1.03); animation-play-state: paused; }
.feedback-bubble .dot { width: 7px; height: 7px; border-radius: var(--r-round); background: var(--accent); box-shadow: 0 0 0 3px var(--accent-bg); flex: none; }

.feedback-icon { display: none; width: 22px; height: 22px; flex: none; }

@media (max-width: 640px) {
  .feedback-bubble { width: 50px; height: 50px; padding: 0; border-radius: var(--r-round); justify-content: center; }
  .feedback-bubble .dot, .feedback-label { display: none; }
  .feedback-icon { display: block; }
  
  
  .feedback-widget .feedback-bubble {
    background: color-mix(in srgb, var(--paper-raised) 92%, transparent);
    border-color: var(--line-hard);
    color: var(--text-dim);
    animation: none;
  }
  .feedback-widget .feedback-bubble:hover,
  .feedback-widget .feedback-bubble:focus-visible,
  .feedback-widget.open .feedback-bubble { color: var(--ink); border-color: var(--brand-3); }

  
  .feedback-widget { transition: transform .22s ease, opacity .22s ease; }
  .feedback-widget.fb-scrolling:not(.open) {
    transform: translateX(calc(-100% - 20px));
    opacity: 0;
    pointer-events: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  
  .feedback-widget { transition: opacity .22s ease; }
  .feedback-widget.fb-scrolling:not(.open) { transform: none; }
}
.feedback-widget.open .feedback-bubble { animation: none; }
.feedback-panel {
  position: absolute; right: 0; bottom: calc(100% + 12px); width: 320px;
  background: var(--frost-bg); border: 1px solid var(--frost-border); border-radius: var(--r-2xl);
  backdrop-filter: blur(24px) saturate(180%); -webkit-backdrop-filter: blur(24px) saturate(180%);
  box-shadow: 0 20px 50px rgba(16,24,32,0.22), inset 0 1px 0 rgba(255,255,255,0.2); padding: 20px;
  opacity: 0; transform: translateY(10px) scale(0.96); pointer-events: none;
  transition: opacity .22s cubic-bezier(.16,1,.3,1), transform .22s cubic-bezier(.16,1,.3,1);
}
.feedback-widget.open .feedback-panel { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.feedback-panel-head { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.feedback-panel-head .icon {
  width: 32px; height: 32px; border-radius: 9px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--brand-3-bright), var(--brand-3)); font-size: calc(15px * var(--ui-scale)); flex: none;
}
.feedback-panel h4 { font-family: var(--display); font-size: calc(16px * var(--ui-scale)); margin: 0; }
.feedback-panel p.fb-sub { font-size: var(--fs-sm); color: var(--text-dim); margin: 4px 0 12px; line-height: 1.5; }

.feedback-reactions { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 11px; }
.feedback-reactions button {
  flex: 1 1 auto; font-family: var(--mono); font-size: var(--fs-xs); font-weight: 600; letter-spacing: .02em;
  padding: 8px 10px; border-radius: var(--r-lg); cursor: pointer; white-space: nowrap;
  background: var(--paper); color: var(--text-dim); border: 1px solid var(--line); transition: var(--transition-fast);
  
  min-height: 36px;
}
.feedback-reactions button:hover, .feedback-reactions button.picked { border-color: var(--brand-3); color: var(--ink); background: color-mix(in srgb, var(--brand-3) 10%, var(--paper)); transform: translateY(-1px); }
.feedback-panel textarea {
  width: 100%; min-height: 78px; resize: vertical; font-family: var(--sans); font-size: var(--fs-base);
  padding: 10px 12px; border-radius: 9px; border: 1px solid var(--line-hard); background: var(--paper-raised); color: var(--ink);
}
.feedback-panel textarea:focus { outline: none; border-color: var(--brand-3); }
.feedback-panel .fb-send {
  margin-top: 11px; width: 100%; font-family: var(--mono); font-size: var(--fs-sm); font-weight: 700;
  padding: 11px; border-radius: 9px; border: none; cursor: pointer;
  background: linear-gradient(135deg, var(--brand-3-bright), var(--brand-3)); color: var(--brand-3-ink);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--neutral) 30%, transparent); transition: var(--transition-fast);
}
.feedback-panel .fb-send:hover { transform: translateY(-1px); box-shadow: 0 8px 22px color-mix(in srgb, var(--neutral) 42%, transparent); }
.feedback-panel .fb-send:disabled { opacity: 0.6; cursor: default; transform: none; box-shadow: none; }
.feedback-panel .fb-status { font-size: var(--fs-sm); color: var(--accent-ink); margin-top: 8px; text-align: center; display: none; }
.feedback-panel .fb-status.show { display: block; }

@media (max-width: 640px) {
  
  header.top { position: relative; box-shadow: none; }
  #recent-signals, h3.section-head { scroll-margin-top: 0; }
  .hero { margin: -20px -20px 0; padding: 56px 16px 48px; }
  .browse-cols { grid-template-columns: 1fr; }
  header.top .inner { flex-direction: column; align-items: flex-start; }
  .brand-row { width: 100%; justify-content: space-between; }
  .nav-toggle {
    display: flex; flex-direction: column; justify-content: center; gap: 4px;
    width: 34px; height: 34px; padding: 8px; flex-shrink: 0;
    border: 1px solid var(--line-hard); border-radius: var(--r-md);
    background: var(--paper-raised); cursor: pointer;
  }
  .nav-toggle-bar { display: block; height: 2px; background: var(--ink); border-radius: 1px; transition: var(--transition-fast); }
  
  .nav-toggle-cb:focus-visible ~ .nav-toggle { outline: 2px solid var(--accent); outline-offset: 2px; }
  .nav-toggle-cb:checked ~ .nav-toggle .nav-toggle-bar:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .nav-toggle-cb:checked ~ .nav-toggle .nav-toggle-bar:nth-child(2) { opacity: 0; }
  .nav-toggle-cb:checked ~ .nav-toggle .nav-toggle-bar:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  nav.tabs {
    display: none; flex-direction: column; gap: 2px; width: 100%;
    margin-top: 4px; padding-top: 8px; border-top: 1px solid var(--line);
  }
  .nav-toggle-cb:checked ~ nav.tabs { display: flex; }
  
  .nav-dropdown { display: flex; flex-direction: column; width: 100%; }
  
  .nav-dropdown-head { justify-content: space-between; }
  .nav-dropdown-toggle { display: flex; }
  .nav-dropdown-trigger {
    cursor: pointer; font-weight: 700; font-size: var(--fs-base); letter-spacing: 0.05em; text-transform: uppercase;
    color: var(--text-dim); padding: 12px 12px 6px 12px; transition: var(--transition-fast);
  }
  .nav-dropdown-trigger:active, .nav-dropdown-trigger:hover { color: var(--accent-ink); text-decoration: none; }
  .nav-dropdown.active .nav-dropdown-trigger { color: var(--accent-ink); }
  .nav-dropdown-trigger .caret { display: none; }
  
  .nav-dropdown-menu {
    position: relative; opacity: 1; transform: none; pointer-events: auto;
    background: none; border: none; backdrop-filter: none; -webkit-backdrop-filter: none;
    box-shadow: none; padding: 0; margin: 0;
    display: grid; grid-template-rows: 0fr;
    transition: grid-template-rows .28s ease;
  }
  .nav-dropdown.active .nav-dropdown-menu,
  .nav-dropdown.open .nav-dropdown-menu { grid-template-rows: 1fr; }
  .nav-dropdown.closed .nav-dropdown-menu { grid-template-rows: 0fr; }
  
  .nav-dropdown-menu-inner {
    overflow: hidden; min-height: 0; position: relative;
    padding: 3px 0 6px 14px;
  }
  .nav-dropdown-menu-inner::before {
    content: ""; position: absolute; left: 5px; top: 0; bottom: 8px; width: 1px;
    background: linear-gradient(to bottom, var(--accent) 0%, var(--line-hard) 65%, transparent 100%);
  }
  
  .dashboard-search { flex-direction: column; }
  .factor-row { grid-template-columns: 100px 1fr 44px; }
  .dashboard-hero { padding: var(--sp-5) var(--sp-2) var(--sp-4); }
  .dashboard-hero .dashboard-title { font-size: var(--fs-2xl); }
}

.nav-loading-overlay {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--paper) 82%, transparent);
  backdrop-filter: blur(1.5px);
  opacity: 0; pointer-events: none;
  transition: opacity 0.15s ease;
}
.nav-loading-overlay.visible { opacity: 1; pointer-events: all; }
.nav-loading-spinner {
  width: 34px; height: 34px; border-radius: var(--r-round);
  border: 3px solid var(--line-hard);
  border-top-color: var(--brand-3);
  animation: nav-spin 0.7s linear infinite;
}
@keyframes nav-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .nav-loading-spinner { animation-duration: 1.6s; }
}

.nh-hero { position: relative; overflow: hidden; min-height: 82vh; display: flex; align-items: center; padding: 64px 0 88px; margin: -20px -20px 0; }

@media (max-width: 640px) {
  .nh-hero { padding: 40px 0 20px; min-height: auto; align-items: flex-start; }
  
  .nh-horizon { display: none; }
}
.nh-fx { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.nh-fx-scan { background: repeating-linear-gradient(180deg, color-mix(in srgb, var(--raise) 2.8%, transparent) 0 1px, transparent 1px 3px); opacity: .5; }
.nh-fx-vig { background: radial-gradient(ellipse 78% 58% at 50% 42%, transparent 40%, color-mix(in srgb, var(--paper) 85%, transparent) 100%); }

.nh-room { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.nh-room-floor, .nh-room-ceil {
  position: absolute; left: -60%; width: 220%; height: 56%;
  background-image:
    linear-gradient(color-mix(in srgb, var(--bad) 42%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--accent) 30%, transparent) 1px, transparent 1px);
  background-size: 70px 70px;
  
  animation: nh-drift 22s linear infinite;
}
.nh-room-floor { bottom: -6%; transform: perspective(520px) rotateX(74deg); transform-origin: bottom center;
  mask-image: linear-gradient(to top, #000 4%, transparent 76%); -webkit-mask-image: linear-gradient(to top, #000 4%, transparent 76%); }
.nh-room-ceil { top: -6%; transform: perspective(520px) rotateX(-74deg); transform-origin: top center; opacity: .55;
  mask-image: linear-gradient(to bottom, #000 4%, transparent 68%); -webkit-mask-image: linear-gradient(to bottom, #000 4%, transparent 68%); }
@keyframes nh-drift { from { background-position: 0 0; } to { background-position: 0 70px; } }
.nh-room-wall { position: absolute; top: 0; bottom: 0; width: 2px; filter: blur(1px); }
.nh-room-wall.l { left: 6%; background: linear-gradient(180deg, transparent, var(--bad), transparent); opacity: .5; }
.nh-room-wall.r { right: 6%; background: linear-gradient(180deg, transparent, var(--accent), transparent); opacity: .5; }
@media (max-width: 900px) { .nh-room-wall { display: none; } }
.nh-horizon { position: absolute; left: 0; right: 0; top: 47%; height: 1px;
  background: linear-gradient(90deg, transparent, var(--bad) 22%, var(--neutral) 50%, var(--accent) 78%, transparent);
  box-shadow: 0 0 60px 14px color-mix(in srgb, var(--bad) 30%, transparent), 0 0 120px 40px color-mix(in srgb, var(--accent) 16%, transparent); }
.nh-bloom { position: absolute; border-radius: var(--r-round); filter: blur(110px); pointer-events: none; }
.nh-bloom-p { width: 620px; height: 620px; left: -160px; top: -180px; background: color-mix(in srgb, var(--bad) 22%, transparent); }
.nh-bloom-g { width: 600px; height: 600px; right: -180px; top: -120px; background: color-mix(in srgb, var(--accent) 18%, transparent); }

.nh-hero .w { position: relative; z-index: 4; width: 100%; max-width: var(--wrap, 1180px); margin: 0 auto; padding: 0 22px; }
.nh-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 56px; align-items: center; }
@media (max-width: 1000px) { .nh-grid { grid-template-columns: 1fr; gap: 44px; } }

.nh-tag {
  display: inline-flex; align-items: center; gap: 9px; font-family: var(--mono);
  font-size: var(--fs-sm); letter-spacing: .06em; color: var(--text-dim);
  background: var(--paper-raised); backdrop-filter: blur(14px);
  border: 1px solid var(--line); border-radius: 100px; padding: 7px 14px; margin: 0 0 28px;
}
.nh-dot { width: 6px; height: 6px; border-radius: var(--r-round); background: var(--accent); box-shadow: 0 0 12px 3px color-mix(in srgb, var(--accent) 90%, transparent); animation: nh-pulse 2s ease-in-out infinite; }
@keyframes nh-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

.nh-h1 { font-family: var(--display); font-weight: 700; font-size: clamp(38px, 7vw, 72px); line-height: .98; letter-spacing: -.04em; margin: 0 0 22px; max-width: 14ch; color: var(--ink); }
.nh-h1 em {
  font-style: normal; position: relative;
  background: linear-gradient(100deg, var(--accent) 0%, var(--neutral) 42%, var(--bad) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 26px color-mix(in srgb, var(--bad) 45%, transparent));
}
.nh-term { font-family: var(--mono); font-size: var(--fs-base); color: var(--accent); margin: 0 0 24px; min-height: 1.6em; text-shadow: 0 0 14px color-mix(in srgb, var(--accent) 55%, transparent); }
.nh-term .nh-cur { display: inline-block; width: 8px; background: var(--accent); animation: nh-blink 1.05s steps(1) infinite; vertical-align: -2px; height: 15px; }
@keyframes nh-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
.nh-lead { font-size: clamp(15px, 1.9vw, 18px); color: var(--text-dim); max-width: 50ch; margin: 0 0 32px; }
.nh-acts { display: flex; flex-wrap: wrap; gap: 12px; }

.nh-screen { position: relative; padding: 16px 16px 14px; background: var(--paper-raised); border: 1px solid var(--line); border-radius: var(--r-2xl); box-shadow: var(--shadow-md); }
.nh-screen-top { display: flex; align-items: center; gap: 10px; padding: 0 4px 12px; border-bottom: 1px solid var(--line); margin-bottom: 12px; }
.nh-led { width: 8px; height: 8px; border-radius: var(--r-round); background: var(--bad); box-shadow: 0 0 10px 2px color-mix(in srgb, var(--bad) 80%, transparent); }
.nh-screen-t { font-family: var(--mono); font-size: var(--fs-sm); letter-spacing: .1em; text-transform: uppercase; color: var(--text-dim); margin: 0; }
.nh-screen-tag { margin-left: auto; font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .12em; text-transform: uppercase; color: var(--text-dim); border: 1px solid var(--line); border-radius: 5px; padding: 3px 8px; }
#nh-tape { display: block; width: 100%; height: 260px; border-radius: 9px; }
@media (max-width: 1000px) { #nh-tape { height: 210px; } }
.nh-screen-foot { display: flex; gap: 18px; flex-wrap: wrap; padding: 12px 4px 0; margin-top: 10px; border-top: 1px solid var(--line); }
.nh-sf { font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim); }
.nh-sf b { display: block; font-size: calc(15px * var(--ui-scale)); font-weight: 500; margin-top: 3px; color: var(--ink); }
.nh-sf.up b { color: var(--good); }
.nh-sf.dn b { color: var(--bad-ink); }

.nh-chip {
  position: absolute; z-index: 5; padding: 11px 14px; border-radius: var(--r-xl);
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim);
  background: var(--paper-raised); backdrop-filter: blur(20px);
  border: 1px solid var(--line); box-shadow: var(--shadow-md); white-space: nowrap;
}
.nh-chip b { color: var(--good); font-weight: 500; }
.nh-chip.p b { color: var(--bad-ink); }
.nh-chip-1 { top: -26px; left: -24px; }
.nh-chip-2 { bottom: -24px; right: -18px; }
@media (max-width: 1000px) { .nh-chip { display: none; } }

@media (max-width: 640px) { .nh-screen { display: none; } }

.nh-rise { opacity: 1; transform: none; }
.nh-js .nh-rise { opacity: 0; transform: translateY(18px); }
.nh-ready .nh-rise { opacity: 1; transform: none; transition: opacity .7s ease, transform .7s cubic-bezier(.22,.7,.3,1); }
.nh-ready .nh-rise[data-d="1"] { transition-delay: .05s; }
.nh-ready .nh-rise[data-d="2"] { transition-delay: .14s; }
.nh-ready .nh-rise[data-d="3"] { transition-delay: .24s; }
.nh-ready .nh-rise[data-d="4"] { transition-delay: .34s; }
.nh-ready .nh-rise[data-d="5"] { transition-delay: .44s; }
@media (prefers-reduced-motion: reduce) {
  
  .nh-rise, .nh-js .nh-rise { opacity: 1; transform: none; }
  .nh-room-floor, .nh-room-ceil { animation: none !important; }
}

.botnav, .nav-overlay-head, .nav-backdrop, .live-dot, .nav-overlay-cta { display: none; }

@media (max-width: 640px) {
  
  html, body { overflow-x: clip; max-width: 100%; }
  img, svg, video, canvas, table { max-width: 100%; }

  
  body { padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)); }
}

@media (min-width: 641px) and (max-width: 900px) {
  body { padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)); }

  
  
  
  header.top { margin-bottom: 16px; z-index: 56; background: color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter: none; -webkit-backdrop-filter: none; }
  
  
  header.top .inner { padding: 10px 16px; gap: 8px; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; }
  .brand-row { width: auto; flex: 0 1 auto; min-width: 0; justify-content: flex-start; align-items: center; gap: 10px; }
  .brand { flex-direction: row; align-items: center; min-width: 0; overflow: hidden; }
  
  .brand h1 { font-size: var(--fs-xl); line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .brand .tag, .brand .local-pill { display: none; }
  .nav-toggle { width: 42px; height: 42px; flex: none; margin-left: 6px; }   

  
  
  .header-search { flex: 0 0 42px; min-width: 0; margin-left: auto; }
  .header-search.search-open { flex: 1 1 auto; margin-left: 0; }
  .header-search input {
    width: 100%; font-size: calc(15px * var(--ui-scale)); padding: 9px 14px 9px 32px;
  }
  .header-search.search-open input { padding: 9px 40px 9px 36px; }
  
  .header-search:not(.search-open)::before {
    left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: var(--fs-lg);
  }

  
  .live-dot {
    display: block; width: 7px; height: 7px; border-radius: var(--r-round); flex: none;
    background: var(--accent); box-shadow: 0 0 8px 2px color-mix(in srgb, var(--accent) 70%, transparent);
    animation: live-dot-pulse 2s ease-in-out infinite;
  }
  @keyframes live-dot-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .45; transform: scale(.8); } }
  @media (prefers-reduced-motion: reduce) { .live-dot { animation: none; } }

  
  .nav-toggle-cb:checked ~ nav.tabs {
    
    display: flex; flex-direction: column; flex-wrap: nowrap;
    position: fixed; inset: 0; z-index: 60;
    margin: 0; border-top: none; width: auto; max-width: 100vw;
    padding: 12px 16px calc(24px + env(safe-area-inset-bottom, 0px));
    background: color-mix(in srgb, var(--paper) 96%, transparent);
    backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
    overflow-y: auto; overscroll-behavior: contain;
  }
  .nav-overlay-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 2px 2px 10px; margin-bottom: 6px; border-bottom: 1px solid var(--line);
  }
  .nav-overlay-title {
    font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: 0.12em;
    text-transform: uppercase; color: var(--text-faint);
  }
  .nav-overlay-close {
    width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
    font-size: calc(18px * var(--ui-scale)); line-height: 1; color: var(--text-dim); cursor: pointer;
    border: 1px solid var(--line-hard); border-radius: var(--r-lg); background: var(--paper-raised);
  }
  .nav-overlay-close:active { color: var(--accent-ink); border-color: var(--accent); }

  
  
  nav.tabs #nav-menu-markets      .nav-dropdown-menu-inner::before { background: linear-gradient(to bottom, var(--neutral) 0%, var(--line-hard) 65%, transparent 100%); }
  nav.tabs #nav-menu-intelligence .nav-dropdown-menu-inner::before { background: linear-gradient(to bottom, var(--amber) 0%, var(--line-hard) 65%, transparent 100%); }
  nav.tabs #nav-menu-proof        .nav-dropdown-menu-inner::before { background: linear-gradient(to bottom, var(--bad) 0%, var(--line-hard) 65%, transparent 100%); }
  nav.tabs #nav-menu-learn        .nav-dropdown-menu-inner::before { background: linear-gradient(to bottom, var(--accent) 0%, var(--line-hard) 65%, transparent 100%); }
  nav.tabs #nav-menu-account      .nav-dropdown-menu-inner::before { background: linear-gradient(to bottom, var(--violet) 0%, var(--line-hard) 65%, transparent 100%); }
  .nav-overlay-cta { display: flex; margin: 18px 2px 4px; }
  .nav-overlay-cta .cta-btn { width: 100%; text-align: center; }

  
  
  .botnav {
    display: flex; position: fixed; left: 12px; right: 12px;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 50;
    justify-content: space-around; align-items: stretch; gap: 4px; padding: 8px;
    background: color-mix(in srgb, var(--paper-raised) 68%, transparent);
    backdrop-filter: blur(30px) saturate(160%); -webkit-backdrop-filter: blur(30px) saturate(160%);
    border: 1px solid var(--line-hard); border-radius: 22px;
    
    box-shadow: 0 10px 34px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,0.13);
  }
  
  .botnav::after {
    content: "";
    position: fixed; left: 0; right: 0; bottom: 0;
    height: calc(92px + env(safe-area-inset-bottom, 0px));
    z-index: -1; pointer-events: none;
    backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    -webkit-mask-image: linear-gradient(to top, #000 0%, #000 52%, transparent 96%);
    mask-image: linear-gradient(to top, #000 0%, #000 52%, transparent 96%);
  }
  
  .botnav-item {
    position: relative; 
    flex: 1 1 0; min-width: 0; display: flex; flex-direction: column;
    
    align-items: center; justify-content: center; gap: 5px; min-height: 52px;
    padding: 7px 4px; border-radius: 15px; cursor: pointer;
    
    -webkit-appearance: none; appearance: none;
    color: var(--text-dim); text-decoration: none; background: none; border: none;
    font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: 0.02em; text-transform: uppercase;
    transition: color var(--transition-fast), background var(--transition-fast);
  }
  .botnav-item svg { width: 25px; height: 25px; flex: none; }
  .botnav-item span { line-height: 1; }
  .botnav-item:active { color: var(--accent-ink); }
  
  .botnav-item.active { color: var(--accent-ink); background: color-mix(in srgb, var(--accent) 15%, transparent); }
  .botnav-item.active svg { filter: drop-shadow(0 0 7px color-mix(in srgb, var(--accent) 60%, transparent)); }
  .botnav-item.active::before {
    content: ""; position: absolute; top: 3px; left: 50%; transform: translateX(-50%);
    width: 3px; height: 3px; border-radius: var(--r-round); background: var(--accent);
    box-shadow: 0 0 6px 2px color-mix(in srgb, var(--accent) 70%, transparent);
  }

  
  .feedback-widget { bottom: calc(102px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 640px) {
  
  
  .nav-toggle-cb:checked ~ nav.tabs .nav-dropdown,
  .nav-toggle-cb:checked ~ nav.tabs .nav-overlay-head,
  .nav-toggle-cb:checked ~ nav.tabs .nav-overlay-cta {
    
    flex: 0 0 auto; min-width: 0;
  }
  .nav-toggle-cb:checked ~ nav.tabs .nav-dropdown { margin-bottom: 8px; }
  .nav-toggle-cb:checked ~ nav.tabs .nav-dropdown-toggle { display: none; }
  .nav-toggle-cb:checked ~ nav.tabs .nav-dropdown-menu {
    
    display: block; grid-template-rows: none; transition: none; top: auto; left: auto;
  }
  .nav-toggle-cb:checked ~ nav.tabs .nav-dropdown-menu-inner { overflow: visible; padding-left: 18px; }

  
  .nav-toggle-cb:checked ~ nav.tabs { padding-left: 20px; padding-right: 20px; }
  .nav-toggle-cb:checked ~ nav.tabs .nav-dropdown-trigger {
    font-family: var(--mono); font-size: calc(23px * var(--ui-scale)); font-weight: 700;
    letter-spacing: 0.14em; text-transform: uppercase; padding: 18px 8px 10px;
  }
  .nav-toggle-cb:checked ~ nav.tabs .nav-dropdown-menu a {
    font-family: var(--mono); font-size: calc(17px * var(--ui-scale)); letter-spacing: 0.09em;
    text-transform: lowercase; padding: 13px 12px; line-height: 1.2;
  }
  
  .nav-toggle-cb:checked ~ nav.tabs .nav-overlay-title { font-size: var(--fs-base); letter-spacing: 0.18em; }
  .nav-toggle-cb:checked ~ nav.tabs .nav-overlay-title::before { content: "~/ "; color: var(--accent); }
}

.mobile-only { display: none; }

@media (max-width: 900px) {
  .desktop-only { display: none !important; }
  .mobile-only { display: block; }

  .sig-cards { display: flex; flex-direction: column; gap: 11px; margin: 0 0 24px; }
  .sig-card {
    display: block; padding: 16px 16px; border: 1px solid var(--line);
    border-radius: 14px; background: var(--paper-raised); color: inherit;
    text-decoration: none; transition: border-color var(--transition-fast);
  }
  .sig-card:hover, .sig-card:active { text-decoration: none; border-color: var(--line-hard); }
  
  .sig-card.win { border-left: 3px solid var(--good); }
  .sig-card.loss { border-left: 3px solid var(--bad); }
  .sig-card.open { border-left: 3px solid var(--accent); }

  .sig-card-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
  
  .sig-tkr { font-family: var(--mono); font-weight: 700; font-size: calc(21px * var(--ui-scale)); letter-spacing: -0.01em; color: var(--ink); }
  .sig-type {
    font-family: var(--mono); font-size: var(--fs-base); letter-spacing: 0.05em;
    color: var(--text-dim); margin-top: 5px; text-transform: uppercase;
  }
  .sig-type .scalp { color: var(--accent); }

  .sig-nums { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 13px 0 12px; }
  .sig-nums.two { grid-template-columns: repeat(2, 1fr); }
  .sig-num .k {
    font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: 0.06em;
    text-transform: uppercase; color: var(--text-faint); display: block; margin-bottom: 3px;
  }
  .sig-num .v { font-family: var(--mono); font-size: calc(17px * var(--ui-scale)); font-variant-numeric: tabular-nums; color: var(--ink); }
  .sig-num.stop .v { color: var(--bad-ink); }
  .sig-num.target .v { color: var(--good); }

  .sig-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .sig-meta { font-family: var(--mono); font-size: var(--fs-base); color: var(--text-dim); }
  .sig-go { font-family: var(--mono); font-size: var(--fs-base); color: var(--accent-ink); white-space: nowrap; }
  .sig-reason { font-size: calc(14.5px * var(--ui-scale)); color: var(--text-dim); margin: 9px 0 11px; line-height: 1.5; }

  
  .sig-card--v2 .sig-card-top { align-items: center; }
  .sig-badges { display: flex; align-items: center; gap: 7px; flex: none; }
  .sig-halal {
    font-family: var(--mono); font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.04em;
    text-transform: uppercase; color: var(--good); background: var(--good-bg);
    border: 1px solid color-mix(in srgb, var(--good) 30%, transparent);
    padding: 2px 7px; border-radius: var(--r-pill); white-space: nowrap;
  }
  .sig-setup { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
  .sig-setup-name { font-family: var(--sans); font-size: calc(14px * var(--ui-scale)); font-weight: 600; color: var(--ink); letter-spacing: 0.01em; }
  .sig-tf {
    font-family: var(--mono); font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.06em;
    text-transform: uppercase; color: var(--accent-ink); background: var(--accent-bg);
    border-radius: var(--r-sm); padding: 2px 6px;
  }
  .sig-plan { display: grid; grid-template-columns: repeat(auto-fit, minmax(64px, 1fr)); gap: 6px; margin: 13px 0 12px; }
  .sig-plan-cell .k {
    font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: 0.06em;
    text-transform: uppercase; color: var(--text-faint); display: block; margin-bottom: 3px;
  }
  .sig-plan-cell .v { font-family: var(--mono); font-size: calc(17px * var(--ui-scale)); font-variant-numeric: tabular-nums; color: var(--ink); }
  .sig-plan-cell.stop .v { color: var(--bad-ink); }
  .sig-plan-cell.target .v { color: var(--good); }
  .sig-plan-cell.rr .v { color: var(--neutral); }
  .sig-foot-right { display: flex; align-items: center; gap: 10px; }
  .sig-score { font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim); white-space: nowrap; }

  
  .sig-nums + .sig-nums { margin-top: -6px; }
  .sig-card .sparkline { display: block; width: 100%; height: 22px; margin: 2px 0 11px; }
  .sig-card .sig-side { font-family: var(--mono); font-size: var(--fs-2xs); text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-dim); }

  
  .sig-intro { margin-top: -6px; }
  .sig-intro > summary {
    list-style: none; cursor: pointer; font-size: calc(14.5px * var(--ui-scale)); color: var(--accent-ink);
    font-family: var(--mono); padding: 2px 0;
  }
  .sig-intro > summary::-webkit-details-marker { display: none; }
  .sig-intro > summary::before { content: "ⓘ "; }
  .sig-intro[open] > summary::before { content: "▾ "; }
  .sig-intro p { font-size: calc(15px * var(--ui-scale)); margin: 8px 0 0; }
}

@media (max-width: 640px) {
  
  .range-tabs {
    gap: 4px; width: 100%; margin-bottom: 16px; padding: 4px;
    border: 1px solid var(--line); border-radius: 14px; background: var(--paper-raised);
  }
  .range-tabs a {
    flex: 1 1 0; min-width: 0; text-align: center; border: none; border-radius: 10px;
    min-height: 40px; display: flex; align-items: center; justify-content: center;
    padding: 9px 4px; color: var(--text-dim);
  }
  .range-tabs a:hover { transform: none; background: none; }
  .range-tabs a.active {
    background: color-mix(in srgb, var(--accent) 16%, transparent);
    color: var(--accent-ink); font-weight: 600;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 42%, transparent);
  }

  
  .newsletter-card { padding: 14px; }
  .newsletter-card > .page-sub { font-size: calc(14.5px * var(--ui-scale)); margin-bottom: 10px; }
  .newsletter-form.search-box { flex-wrap: wrap; }
  .newsletter-form .newsletter-email { min-width: 0; }

  
  .stat-row { background: none; border-radius: 0; overflow: visible; gap: 8px; margin-bottom: 20px; }
  .stat-card {
    flex: 1 1 calc(50% - 4px); padding: 14px 14px;
    background: var(--paper-raised); border: 1px solid var(--line);
    border-radius: var(--r-xl); backdrop-filter: none; -webkit-backdrop-filter: none;
  }
  .stat-card-wide { flex-basis: 100%; }

  
  #signals-stat-row {
    flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden;
    scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; padding-bottom: 2px;
  }
  #signals-stat-row::-webkit-scrollbar { display: none; }
  #signals-stat-row .stat-card {
    flex: 0 0 auto; min-width: 138px; scroll-snap-align: start;
  }
  
  .stat-card .n { font-size: calc(26px * var(--ui-scale)); }
  .stat-card .l { font-size: var(--fs-sm); color: var(--text-dim); }
  
  .stat-card.good { border-left: 3px solid var(--good); }
  .stat-card.bad { border-left: 3px solid var(--bad); }

  
  details.data-quality { margin-bottom: 16px; }
  details.data-quality > summary { list-style: none; font-size: calc(15px * var(--ui-scale)); }
  details.data-quality > summary::-webkit-details-marker { display: none; }
  details.data-quality > summary .dq-caret { font-size: var(--fs-base); }
}

details.data-quality {
  border: 1px solid var(--line); border-left: 3px solid var(--bad);
  border-radius: 10px; background: var(--paper-raised); padding: 0; margin-bottom: 16px;
}
details.data-quality > summary {
  cursor: pointer; padding: 12px 14px; display: flex; align-items: center; gap: 8px;
  font-weight: 600; font-size: var(--fs-base);
}
details.data-quality > summary .dq-caret { margin-left: auto; color: var(--text-dim); font-size: var(--fs-xs); transition: transform .2s ease; }
details.data-quality[open] > summary .dq-caret { transform: rotate(180deg); }
details.data-quality .dq-body { padding: 0 14px 12px; }

@media (max-width: 640px) {
  
  #compliance-table { min-width: 0; width: 100%; }
  .scroller:has(#compliance-table) { overflow-x: hidden; }
  #compliance-table, #compliance-table tbody { display: block; }
  #compliance-table thead { display: none; }
  #compliance-table tr {
    display: grid; grid-template-columns: 1fr auto; align-items: center;
    gap: 3px 10px; padding: 11px 13px; margin-bottom: 8px;
    border: 1px solid var(--line); border-radius: 11px; background: var(--paper-raised);
  }
  #compliance-table tr.row-compliant { border-left: 3px solid var(--good); }
  #compliance-table tr.row-noncompliant { border-left: 3px solid var(--bad); }
  #compliance-table tr.row-questionable { border-left: 3px solid var(--neutral); }
  #compliance-table tr.row-unrated { border-left: 3px solid var(--line-hard); }
  #compliance-table td { display: block; border: none !important; padding: 0; }
  #compliance-table td:nth-child(1) { grid-column: 1; grid-row: 1; }         
  #compliance-table td:nth-child(1) .symbol { font-size: calc(18px * var(--ui-scale)); }  
  #compliance-table td:nth-child(3) { grid-column: 2; grid-row: 1; justify-self: end; } 
  #compliance-table td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; color: var(--text-dim); font-size: calc(14.5px * var(--ui-scale)); }
  #compliance-table td:nth-child(4), #compliance-table td:nth-child(5) {
    grid-column: 1 / -1; font-family: var(--mono); font-size: var(--fs-base); color: var(--text-dim); margin-top: 1px;
  }
  #compliance-table td[data-label]::before { content: attr(data-label) ": "; color: var(--text-faint); }

  
  .compliance-etfs .card-row-link { padding-top: 11px; padding-bottom: 11px; }
}

@media (max-width: 640px) {
  
  
  #crypto-list, #etf-list,
  #crypto-list thead, #etf-list thead,
  #crypto-list tbody, #etf-list tbody,
  #crypto-list tr, #etf-list tr,
  #crypto-list td, #etf-list td { display: block; }
  #crypto-list thead, #etf-list thead { display: none; }
  #crypto-list, #etf-list { background: none; border: none; box-shadow: none; padding: 0; min-width: 0; }
  #crypto-list tbody tr, #etf-list tbody tr {
    margin: 0 0 8px; padding: 12px 13px;
    border: 1px solid var(--line); border-radius: 11px; background: var(--paper-raised);
  }
  #crypto-list tbody tr.row-compliant, #etf-list tbody tr.row-compliant { border-left: 3px solid var(--good); }
  #crypto-list tbody tr.row-noncompliant, #etf-list tbody tr.row-noncompliant { border-left: 3px solid var(--bad); }
  #crypto-list tbody tr.row-questionable, #etf-list tbody tr.row-questionable { border-left: 3px solid var(--neutral); }
  #crypto-list td, #etf-list td { border: none; padding: 0; text-align: left; }
  #crypto-list td[data-label], #etf-list td[data-label] {
    display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-3);
    padding: 5px 0 0;
  }
  #crypto-list td[data-label]::before, #etf-list td[data-label]::before {
    content: attr(data-label);
    font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-faint);
    letter-spacing: 0.06em; text-transform: uppercase;
  }
  #crypto-list td[data-label="Status"], #etf-list td[data-label="Status"] { padding-top: 9px; }
  .crypto-row-note { font-size: calc(14.5px * var(--ui-scale)); max-width: none; }  
  .crypto-name-link { font-size: calc(16px * var(--ui-scale)); }
}

@media (max-width: 640px) {
  
  .section-head { font-size: var(--fs-base); letter-spacing: 0.16em; margin: 26px 0 13px; }
  .section-head:not(.newsletter-head)::before { content: "▸ "; color: var(--accent); opacity: .85; }

  
  #crypto-list tbody tr, #etf-list tbody tr { padding: 14px; }
  .crypto-name-link { font-size: calc(18px * var(--ui-scale)); }
  .crypto-row-note { line-height: 1.55; }
}

@media (max-width: 640px) {
  
  a, button, label, [role="button"], .sig-card, .crypto-row, #compliance-table tr {
    -webkit-tap-highlight-color: transparent;
  }
  .sig-card, #crypto-list .crypto-row, #compliance-table tr, .botnav-item, .range-tabs a {
    transition: transform .12s ease, background .15s ease, border-color var(--transition-fast), color var(--transition-fast);
  }
  .sig-card:active, #crypto-list .crypto-row:active, #compliance-table tr:active { transform: scale(0.985); }
  .botnav-item:active { transform: scale(0.93); }
  .cta-btn:active, .newsletter-submit:active, .fb-send:active, form button[type="submit"]:active { transform: scale(0.97); }
}

@media (max-width: 640px) {
  
  
  .chart-controls-row .range-tabs {
    width: auto; flex: 0 1 auto; padding: 0; gap: 6px; margin-bottom: 0;
    background: none; border: none; border-radius: 0;
    flex-wrap: wrap; row-gap: 6px;
  }
  .chart-controls-row .range-tabs a, .chart-controls-row .range-tabs button {
    flex: 0 0 auto; min-height: 34px; padding: 6px 11px; border-radius: var(--r-md);
    border: 1px solid var(--line-hard); background: none; box-shadow: none; color: var(--text-dim);
  }
  .chart-controls-row .range-tabs a.active, .chart-controls-row .range-tabs button.active {
    background: var(--accent-bg); color: var(--accent-ink); border-color: var(--accent);
    box-shadow: none; font-weight: 600;
  }
  .chart-overlay-toggles, .chart-draw-tools { flex-wrap: wrap; gap: 8px 12px; }
  
  .price-chart-container svg { max-width: 100%; }
}

.price-chart .price-line {
  filter: drop-shadow(0 0 1.5px color-mix(in srgb, currentColor 30%, transparent));
}
.price-chart .price-pulse {
  transform-box: fill-box; transform-origin: center;
  animation: price-pulse 1.9s ease-out infinite;
}
@keyframes price-pulse {
  0%   { transform: scale(1);   opacity: 0.55; }
  100% { transform: scale(4.2); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .price-chart .price-pulse { animation: none; opacity: 0; } }

.brand-mark { width: 34px; height: 34px; flex: none; align-self: center; }
@media (max-width: 640px) {
  .brand-mark { width: 30px; height: 30px; }
  .brand-row .live-dot { display: none; }
}

@media (max-width: 900px) {
  
  .mc-wrap {
    --mc-g: var(--good); --mc-a: var(--warn); --mc-p: var(--bad); --mc-t: var(--neutral);
    --mc-g-bg: var(--good-bg); --mc-a-bg: var(--warn-bg); --mc-p-bg: var(--bad-bg); --mc-t-bg: var(--neutral-bg);
    display: flex; flex-direction: column; gap: var(--sp-3, 14px); margin: 4px 0 18px;
  }
  .mc-card {
    position: relative; overflow: hidden; background: var(--paper-raised);
    border: 1px solid var(--line); border-radius: 18px; padding: var(--sp-4, 16px);
  }
  .mc-card.mc-shariah { border-color: color-mix(in srgb, var(--mc-t) 34%, transparent); }
  
  .mc-card.mc-trade   { border-color: color-mix(in srgb, var(--mc-g) 34%, transparent); padding-bottom: 28px; }
  .mc-card.mc-shariah::before, .mc-card.mc-trade::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  }
  .mc-card.mc-shariah::before { background: linear-gradient(var(--mc-t), transparent); }
  .mc-card.mc-trade::before   { background: linear-gradient(var(--mc-g), transparent); }

  .mc-eyebrow {
    display: flex; align-items: center; gap: 8px; font-family: var(--mono);
    font-size: var(--fs-xs); font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
    color: color-mix(in srgb, var(--ink) 42%, transparent);
  }
  .mc-eyebrow svg { width: 15px; height: 15px; flex: none; }
  .mc-eyebrow.mc-teal svg { color: var(--mc-t); } .mc-eyebrow.mc-green svg { color: var(--mc-g); }
  .mc-sep { margin-left: auto; font-size: var(--fs-2xs); letter-spacing: .1em; color: color-mix(in srgb, var(--ink) 34%, transparent); }

  .mc-statusline { display: flex; align-items: center; gap: 11px; margin-top: 12px; }
  .mc-statusline b { font-size: calc(23px * var(--ui-scale)); font-weight: 800; letter-spacing: -.02em; line-height: 1.05; }
  .mc-dot { width: 12px; height: 12px; border-radius: var(--r-round); flex: none; }
  .mc-dot.t { background: var(--mc-t); box-shadow: 0 0 13px 1px var(--mc-t), 0 0 0 4px var(--mc-t-bg); }
  .mc-dot.g { background: var(--mc-g); box-shadow: 0 0 13px 1px var(--mc-g), 0 0 0 4px var(--mc-g-bg); }
  .mc-dot.a { background: var(--mc-a); box-shadow: 0 0 13px 1px var(--mc-a), 0 0 0 4px var(--mc-a-bg); }
  .mc-dot.p { background: var(--mc-p); box-shadow: 0 0 13px 1px var(--mc-p), 0 0 0 4px var(--mc-p-bg); }
  .mc-dot.n { background: var(--text-dim); }
  .mc-ink-t { color: var(--mc-t); } .mc-ink-g { color: var(--mc-g); }
  .mc-ink-a { color: var(--mc-a); } .mc-ink-p { color: var(--mc-p); } .mc-ink-n { color: var(--ink); }
  .mc-sub { font-size: var(--fs-sm); color: var(--text-dim); margin-top: 7px; line-height: 1.4; }
  .mc-foot { font-size: var(--fs-xs); color: color-mix(in srgb, var(--ink) 42%, transparent); margin-top: 11px; display: flex; gap: 6px; align-items: flex-start; line-height: 1.4; }

  
  .mc-details { margin-top: 12px; }
  .mc-details > summary { list-style: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .mc-details > summary::-webkit-details-marker { display: none; }
  .mc-disc {
    display: flex; align-items: center; justify-content: space-between; padding: 11px 13px;
    border: 1px solid var(--line-hard); border-radius: var(--r-xl); background: var(--paper);
    font-family: var(--mono); font-size: var(--fs-sm); color: var(--ink);
  }
  
  .mc-mcount { color: var(--text-dim); font-size: var(--fs-xs); font-weight: 400; }
  .mc-chev { transition: transform .25s ease; color: var(--text-dim); }
  .mc-details[open] .mc-chev { transform: rotate(180deg); }
  .mc-method { margin-top: 10px; }
  
  .mc-mdetail { background: var(--paper); border: 1px solid var(--line); }
  .mc-mdetail:first-child { border-radius: 10px 10px 0 0; } .mc-mdetail:last-child { border-radius: 0 0 10px 10px; }
  .mc-mdetail + .mc-mdetail { border-top: 0; }
  .mc-mdetail > summary { list-style: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .mc-mdetail > summary::-webkit-details-marker { display: none; }
  .mc-mrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 13px; }
  .mc-mrow-right { display: flex; align-items: center; gap: 8px; }
  
  .mc-chev-sm { display: inline-block; font-size: var(--fs-xs); color: var(--text-dim); transition: transform .25s ease; }
  .mc-mdetail[open] .mc-chev-sm { transform: rotate(180deg); }
  .mc-mratios { padding: 2px 13px 12px; }
  .mc-mname { font-family: var(--mono); font-size: var(--fs-sm); letter-spacing: .02em; }
  .mc-tag { font-family: var(--mono); font-size: var(--fs-xs); font-weight: 700; letter-spacing: .05em; padding: 4px 9px; border-radius: 100px; white-space: nowrap; }
  .mc-tag.pass { color: var(--mc-g); background: var(--mc-g-bg); border: 1px solid color-mix(in srgb, var(--mc-g) 30%, transparent); }
  .mc-tag.fail { color: var(--mc-p); background: var(--mc-p-bg); border: 1px solid color-mix(in srgb, var(--mc-p) 30%, transparent); }
  .mc-tag.rev  { color: var(--mc-a); background: var(--mc-a-bg); border: 1px solid color-mix(in srgb, var(--mc-a) 30%, transparent); }

  
  .mc-verdict-row { display: flex; align-items: center; gap: 14px; margin-top: 13px; }
  .mc-verdict-txt { flex: 1; min-width: 0; }
  .mc-vlabel { font-size: var(--fs-lg); font-weight: 800; letter-spacing: -.02em; line-height: 1.12; }
  
  .mc-vscores {
    margin-top: 6px; font-family: var(--mono); font-size: var(--fs-2xs);
    color: var(--text-dim); font-variant-numeric: tabular-nums;
  }
  .mc-vmissing {
    margin-top: 4px; font-family: var(--mono); font-size: var(--fs-2xs);
    color: var(--mc-a, var(--warn));
  }
  .mc-vmeta { font-size: var(--fs-sm); color: var(--text-dim); margin-top: 7px; line-height: 1.4; }
  .mc-ring { width: 92px; height: 92px; flex: none; position: relative; }
  .mc-ring circle:last-of-type { transition: stroke-dashoffset 1.1s cubic-bezier(.2,.8,.2,1); }
  .mc-rc { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
  .mc-rv { font-family: var(--mono); font-size: calc(27px * var(--ui-scale)); font-weight: 800; line-height: 1; }
  .mc-rk { font-size: var(--fs-2xs); letter-spacing: .1em; color: color-mix(in srgb, var(--ink) 40%, transparent); text-transform: uppercase; margin-top: 3px; }
  .mc-conv { margin-top: 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .04em; color: var(--text-dim); line-height: 1.35; }
  .mc-conv b { font-weight: 700; flex: none; font-size: var(--fs-base); }
  .mc-empty { margin-top: 12px; font-size: var(--fs-base); color: var(--text-dim); line-height: 1.45; }

  
  .mc-plan { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 13px; }
  .mc-leg { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: 12px 8px; text-align: center; }
  .mc-lk { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .1em; text-transform: uppercase; color: color-mix(in srgb, var(--ink) 40%, transparent); }
  .mc-lv { font-family: var(--mono); font-size: calc(16px * var(--ui-scale)); font-weight: 700; margin-top: 6px; font-variant-numeric: tabular-nums; }
  .mc-leg.entry  { border-color: color-mix(in srgb, var(--mc-t) 30%, transparent); } .mc-leg.entry .mc-lv  { color: var(--mc-t); }
  .mc-leg.stop   { border-color: color-mix(in srgb, var(--mc-p) 30%, transparent); } .mc-leg.stop .mc-lv   { color: var(--mc-p); }
  .mc-leg.target { border-color: color-mix(in srgb, var(--mc-g) 30%, transparent); } .mc-leg.target .mc-lv { color: var(--mc-g); }
  .mc-rr { margin-top: 10px; display: flex; align-items: center; gap: 12px; padding: 11px 14px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); }
  .mc-rk2 { font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .08em; color: var(--text-dim); text-transform: uppercase; flex: none; }
  .mc-rv2 { font-family: var(--mono); font-size: calc(17px * var(--ui-scale)); font-weight: 800; color: var(--mc-g); flex: none; }
  .mc-rtrack { flex: 1; height: 7px; border-radius: 100px; overflow: hidden; display: flex; }
  .mc-rtrack i { display: block; height: 100%; } .mc-rtrack .risk { background: var(--mc-p); } .mc-rtrack .reward { background: var(--mc-g); }

  
  .mc-why { display: flex; flex-direction: column; gap: 1px; margin-top: 12px; border-radius: var(--r-xl); overflow: hidden; }
  .mc-w { display: flex; align-items: flex-start; gap: 12px; padding: 12px 13px; background: var(--paper); }
  .mc-wd { width: 9px; height: 9px; border-radius: var(--r-round); flex: none; margin-top: 5px; }
  .mc-w.pos .mc-wd { background: var(--mc-g); box-shadow: 0 0 8px var(--mc-g); }
  .mc-w.mix .mc-wd { background: var(--mc-a); box-shadow: 0 0 8px var(--mc-a); }
  .mc-w.neg .mc-wd { background: var(--mc-p); box-shadow: 0 0 8px var(--mc-p); }
  .mc-wk { font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .06em; text-transform: uppercase; color: var(--text-dim); min-width: 74px; flex: none; margin-top: 1px; }
  .mc-wt { font-size: var(--fs-base); color: var(--ink); line-height: 1.35; }
  .mc-overall { margin-top: 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 15px; border-radius: var(--r-xl); }
  .mc-ov-g { background: var(--mc-g-bg); border: 1px solid color-mix(in srgb, var(--mc-g) 30%, transparent); }
  .mc-ov-a { background: var(--mc-a-bg); border: 1px solid color-mix(in srgb, var(--mc-a) 30%, transparent); }
  .mc-ov-p { background: var(--mc-p-bg); border: 1px solid color-mix(in srgb, var(--mc-p) 30%, transparent); }
  .mc-ok { font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .08em; text-transform: uppercase; color: var(--text-dim); }
  .mc-overall .mc-ov { font-family: var(--mono); font-size: var(--fs-base); font-weight: 800; display: flex; align-items: center; gap: 8px; text-align: right; }
  .mc-ov-g .mc-ov { color: var(--mc-g); } .mc-ov-g .mc-wd { background: var(--mc-g); box-shadow: 0 0 8px var(--mc-g); }
  .mc-ov-a .mc-ov { color: var(--mc-a); } .mc-ov-a .mc-wd { background: var(--mc-a); box-shadow: 0 0 8px var(--mc-a); }
  .mc-ov-p .mc-ov { color: var(--mc-p); }
}
 .mc-ov-p .mc-wd { background: var(--mc-p); box-shadow: 0 0 8px var(--mc-p); }

@media (max-width: 900px) {
  
  h3.section-head.mcol-head {
    display: flex; align-items: center; gap: 10px;
    cursor: pointer; -webkit-tap-highlight-color: transparent; user-select: none;
    margin: 0; padding: 15px 4px;
    border-top: 1px solid var(--line);
    letter-spacing: 0.06em; text-align: left; line-height: 1.3;
  }
  h3.section-head.mcol-head::before { content: none; }  
  h3.section-head.mcol-head:active { opacity: .66; }
  .mcol-ico { width: 18px; height: 18px; flex: none; color: var(--neutral); opacity: .85; }
  .mcol-title { flex: 1 1 auto; min-width: 0; }
  .mcol-prev { margin-left: auto; flex: none; font-family: var(--mono); font-size: var(--fs-xs);
    font-weight: 600; letter-spacing: .01em; text-transform: none; color: var(--text-dim);
    background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-3xl); padding: 3px 10px; }
  .mcol-prev.g { color: var(--good); border-color: color-mix(in srgb, var(--good) 34%, transparent); }
  .mcol-prev.t { color: var(--neutral); border-color: color-mix(in srgb, var(--neutral) 34%, transparent); }
  .mcol-prev.p { color: var(--bad-ink); border-color: color-mix(in srgb, var(--bad) 34%, transparent); }
  .mcol-chev { margin-left: auto; color: var(--text-faint); font-size: var(--fs-sm);
    transition: transform .28s ease; flex: none; }
  h3.section-head.mcol-head:not(.mcol-collapsed) .mcol-chev { transform: rotate(180deg); }
  .mcol-body { overflow: hidden; max-height: 0; transition: max-height .32s cubic-bezier(.2,.8,.2,1); }
  @media (prefers-reduced-motion: reduce) { .mcol-body, .mcol-chev { transition: none; } }

  
  .mkt-card { margin: 4px 0 14px; }
  .mkt-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px;
    background: var(--line); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
  .mkt-cell { background: var(--paper-raised); padding: 13px 14px; }
  
  .mkt-cell:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .mkt-k { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .09em; text-transform: uppercase; color: var(--text-faint); }
  .mkt-v { font-family: var(--mono); font-size: calc(16px * var(--ui-scale)); font-weight: 700; margin-top: 6px; color: var(--ink); }
  .mkt-v.g { color: var(--good); } .mkt-v.p { color: var(--bad-ink); } .mkt-v.t { color: var(--neutral); }
  .mkt-s { font-size: var(--fs-xs); color: var(--text-dim); margin-top: 2px; }

  
  .mc-shextra { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
  .mc-shchip { font-family: var(--mono); font-size: var(--fs-xs); font-weight: 600; color: var(--mc-t);
    background: color-mix(in srgb, var(--mc-t) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--mc-t) 30%, transparent);
    border-radius: var(--r-3xl); padding: 4px 10px; }
  .mc-shchip.dim { color: var(--text-dim); background: var(--paper); border-color: var(--line); }
  
  .mc-alsotrades { margin-top: 2px; }
  .mc-alsotrades a { color: inherit; text-decoration: none; border-bottom: 1px dotted var(--line-hard); }
  .mc-alsotrades a:hover { border-bottom-style: solid; }
  .mc-venue { font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim); }

  
  .mc-rtrack i.reward { transition: width .9s .15s cubic-bezier(.2,.8,.2,1); }
  
  @media (prefers-reduced-motion: reduce) {
    .mc-rtrack i.reward, .mc-ring circle:last-of-type { transition: none; }
  }
}

@media (max-width: 900px) {
  .of-stages { display: flex; flex-direction: column; gap: 8px; }
  .of-stage { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-xl); padding: 11px 12px; }
  .of-stage-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .of-stage-title { font-family: var(--mono); font-size: var(--fs-sm); font-weight: 600; letter-spacing: .02em; }
  .of-stage-delta { font-family: var(--mono); font-size: var(--fs-base); font-weight: 700; font-variant-numeric: tabular-nums; flex: none; }
  .of-stage-reason { font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.42; margin-top: 8px; }
}

@media (max-width: 900px) {
  .acct-cards { display: flex; flex-direction: column; gap: 9px; }
  .acct-card { display: flex; align-items: center; gap: 12px; background: var(--paper-raised);
    border: 1px solid var(--line); border-radius: var(--r-xl); padding: 12px 14px; }
  .acct-card-col { flex-direction: column; align-items: stretch; gap: 9px; }
  .acct-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .acct-sym { font-family: var(--mono); font-size: calc(16px * var(--ui-scale)); font-weight: 700; color: var(--neutral); text-decoration: none; }
  
  .acct-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
  .acct-since { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .02em; color: var(--text-dim); }
  .acct-nums { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex: none; }
  .acct-gain { font-size: var(--fs-sm); font-weight: 700; font-variant-numeric: tabular-nums; color: var(--text-dim); }
  .acct-price { font-family: var(--mono); font-size: calc(15px * var(--ui-scale)); font-weight: 700; font-variant-numeric: tabular-nums; }
  .acct-target { font-family: var(--mono); font-size: calc(15px * var(--ui-scale)); font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }
  .acct-meta { font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.4; }
  .acct-rm { margin: 0; flex: none; }
  .acct-card:not(.acct-card-col) .acct-rm .cta-btn { padding: 7px 13px; font-size: var(--fs-sm); }
  .acct-card-col .acct-rm .cta-btn { padding: 9px 14px; font-size: var(--fs-sm); width: 100%; }
}

.wl-since { font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim); margin-left: 8px; }

@media (max-width: 900px) {
  .acct-actions { display: flex; align-items: center; gap: 8px; flex: none; }
  .acct-bell { display: grid; place-items: center; width: 36px; height: 36px; flex: none;
    border: 1px solid var(--line-hard); border-radius: 10px; background: var(--paper);
    text-decoration: none; font-size: calc(16px * var(--ui-scale)); line-height: 1; -webkit-tap-highlight-color: transparent; }
  .acct-bell:active { transform: scale(0.94); }
}

.pm-sub { margin: 0 0 12px; font-size: var(--fs-sm); color: var(--text-dim); }
.pm-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: var(--line); border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; }
.pm-metric { background: var(--paper-raised); padding: 12px 13px; text-align: center; }
.pm-k { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .07em; text-transform: uppercase; color: var(--text-faint); min-height: 2.1em; }
.pm-v { font-family: var(--mono); font-size: calc(16px * var(--ui-scale)); font-weight: 700; margin-top: 6px; color: var(--ink); font-variant-numeric: tabular-nums; }
.pm-v.g { color: var(--good); }
.pm-v.p { color: var(--bad-ink); }
.pm-badge { display: flex; flex-direction: column; gap: 2px; margin-top: 11px; padding: 11px 14px;
  border-radius: var(--r-xl); border: 1px solid var(--line); background: var(--paper); }
.pm-badge b { font-family: var(--mono); font-size: calc(14px * var(--ui-scale)); font-weight: 700; letter-spacing: .06em; }
.pm-badge span { font-size: var(--fs-sm); color: var(--text-dim); }
.pm-badge.lead-up { border-color: color-mix(in srgb, var(--good) 40%, transparent); background: var(--good-bg); }
.pm-badge.lead-up b { color: var(--good); }
.pm-badge.lead-down { border-color: color-mix(in srgb, var(--bad) 40%, transparent); background: var(--bad-bg); }
.pm-badge.lead-down b { color: var(--bad-ink); }
.pm-badge.lead-mid { border-color: color-mix(in srgb, var(--neutral) 34%, transparent); background: var(--neutral-bg); }
.pm-badge.lead-mid b { color: var(--neutral); }
.pm-note { margin: 9px 2px 12px; font-size: var(--fs-xs); color: var(--text-faint); }
.pm-source { margin: 10px 2px 0; font-size: var(--fs-xs); color: var(--text-faint); }

.peers { display: flex; flex-direction: column; gap: 1px; background: var(--line);
  border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; }
.peer-row { display: grid; grid-template-columns: 26px 82px 1fr 68px; align-items: center; gap: 12px;
  padding: 11px 14px; background: var(--paper-raised); text-decoration: none; color: var(--ink);
  transition: background var(--transition-fast); }
.peer-row:hover { background: var(--paper); }
.peer-row.peer-self { background: var(--accent-bg); }
.peer-rank { font-family: var(--mono); font-size: var(--fs-xs); font-weight: 600; color: var(--text-faint); text-align: center; }
.peer-sym { font-family: var(--mono); font-size: var(--fs-base); font-weight: 700; color: var(--neutral); white-space: nowrap; }
.peer-row.peer-self .peer-sym { color: var(--ink); }
.peer-tag { font-family: var(--mono); font-size: var(--fs-2xs); font-weight: 700; letter-spacing: .08em; color: var(--accent-ink);
  border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); border-radius: 5px; padding: 1px 4px; vertical-align: middle; }
.peer-track { height: 7px; border-radius: var(--r-sm); background: var(--paper); overflow: hidden; display: flex; }
.peer-track i { height: 100%; border-radius: var(--r-sm); min-width: 2px; }
.peer-track i.up { background: var(--good); }
.peer-track i.down { background: var(--bad); }
.peer-chg { font-family: var(--mono); font-size: var(--fs-base); font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.peer-chg.up { color: var(--good); }
.peer-chg.down { color: var(--bad-ink); }
@media (max-width: 640px) {
  .peer-row { grid-template-columns: 22px 64px 1fr 60px; gap: 9px; padding: 11px 10px; }
  .pm-metric { padding: 11px 8px; }
  .pm-v { font-size: calc(15px * var(--ui-scale)); }
}

.lw-chart { position: relative; width: 100%; height: 340px; }
.lwc-fallback { display: none; }
.lw-legend {
  position: absolute; top: 8px; left: 10px; z-index: 3; pointer-events: none;
  font-family: var(--mono); font-size: var(--fs-xs); font-weight: 600; letter-spacing: .01em;
  color: var(--text-dim); opacity: 0; transition: opacity .12s ease;
  background: color-mix(in srgb, var(--paper) 72%, transparent);
  border: 1px solid var(--line); border-radius: 7px; padding: 4px 8px;
  white-space: nowrap; max-width: calc(100% - 20px); overflow: hidden; text-overflow: ellipsis;
}
.lw-legend b { color: var(--ink); }
.lw-legend .up { color: var(--candle-up); }
.lw-legend .down { color: var(--candle-down); }
:fullscreen .lw-chart { height: 82vh; }
@media (max-width: 640px) { .lw-chart { height: 300px; } }

.tf-totals { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px;
  background: var(--line); border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; margin-bottom: 14px; }
.tf-total { background: var(--paper-raised); padding: 12px 10px; text-align: center; }
.tf-k { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .08em; text-transform: uppercase; color: var(--text-faint); }
.tf-v { font-family: var(--mono); font-size: calc(15px * var(--ui-scale)); font-weight: 700; margin-top: 5px; font-variant-numeric: tabular-nums; }
.tf-v.g { color: var(--good); } .tf-v.p { color: var(--bad-ink); }
.tf-row { display: grid; grid-template-columns: 1fr 34px 1fr; align-items: center; gap: 8px; padding: 7px 0; }
.tf-side { display: flex; align-items: center; gap: 8px; min-width: 0; overflow: hidden; }
.tf-in { justify-content: flex-end; }
.tf-out { justify-content: flex-start; }
.tf-amt { font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim); white-space: nowrap; font-variant-numeric: tabular-nums; }
.tf-bar { height: 9px; border-radius: 3px; flex: none; min-width: 2px; }
.tf-in .tf-bar { background: var(--candle-up); }
.tf-out .tf-bar { background: var(--candle-down); }
.tf-size { font-family: var(--mono); font-size: var(--fs-sm); font-weight: 700; color: var(--text-faint); text-align: center; }

.scan-list { display: flex; flex-direction: column; padding: 4px 6px; }
.scan-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px;
  padding: 13px 10px; text-decoration: none; color: var(--ink); transition: background var(--transition-fast); border-radius: 9px; }
.scan-row:hover { background: var(--paper); }
.scan-row:not(:last-child) { border-bottom: 1px solid var(--line2, var(--line)); border-radius: 0; }
.scan-sym { font-family: var(--mono); font-size: calc(15px * var(--ui-scale)); font-weight: 700; color: var(--neutral); }
.scan-chg { font-family: var(--mono); font-size: calc(14px * var(--ui-scale)); font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; }
.scan-chg.up { color: var(--good); }
.scan-chg.down { color: var(--bad-ink); }
.scan-tag { font-family: var(--sans); font-size: var(--fs-sm); font-weight: 700; padding: 4px 11px; border-radius: var(--r-3xl); white-space: nowrap; }
.scan-tag.bull { color: var(--accent-ink); background: var(--good-bg); border: 1px solid color-mix(in srgb, var(--good) 34%, transparent); }
.scan-tag.bear { color: var(--bad-ink); background: var(--bad-bg); border: 1px solid color-mix(in srgb, var(--bad) 34%, transparent); }

@media (max-width: 640px) {
  .brand h1 {
    display: flex; flex-direction: column; align-items: flex-start;
    line-height: 1.05; min-width: 0; overflow: hidden;
  }
  .brand h1 .bw1 { font-size: var(--fs-xl); letter-spacing: 0.02em; }
  .brand h1 .bw2 {
    font-family: var(--mono); font-size: var(--fs-2xs); font-weight: 500;
    letter-spacing: 0.2em; color: var(--text-dim); margin-top: 3px;
  }
  
  .brand h1 .bw2 em {
    background: none; color: inherit; -webkit-text-fill-color: currentColor;
  }
}

@media (min-width: 641px) {
  header.top {
    background: transparent;
    backdrop-filter: none; -webkit-backdrop-filter: none;
    border-bottom: 0;
    padding: 14px 20px 0;
  }
  
  header.top::before {
    content: "";
    position: absolute;
    inset: 0 0 4px 0;
    z-index: -1;
    pointer-events: none;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 62%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 62%, transparent 100%);
  }
  @media (prefers-reduced-transparency: reduce) {
    header.top::before { display: none; }
  }
  header.top .inner {
    align-items: center;
    padding: 13px 20px;
    border: 1px solid var(--line);
    border-radius: var(--r-2xl);
    background: color-mix(in srgb, var(--paper-raised) 80%, transparent);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.13), 0 10px 30px rgba(0,0,0,.34);  
  }

  
  .brand {
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 11px; row-gap: 3px;
    align-items: center;
  }
  .brand-mark { grid-row: 1 / span 2; }
  .brand h1, .brand .tag, .brand .local-pill { grid-column: 2; }
}

@media (min-width: 1040px) {
  header.top .inner { flex-wrap: nowrap; }
  
  .brand-row { order: 1; }
  .header-search { order: 2; }
  
  nav.tabs { order: 3; flex: none; }
}

@media (min-width: 641px) {
  .nav-dropdown--end .nav-dropdown-menu { left: auto; right: 0; }
}

.htr-engine { margin: var(--sp-5) 0; }
.htr-engine-track {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--sp-3);
}
.htr-step {
  position: relative;
  padding: var(--sp-3) var(--sp-3) var(--sp-4);
  border: 1px solid var(--line);
  border-top: 2px solid color-mix(in srgb, var(--neutral) 55%, transparent);
  border-radius: 10px;
  background: var(--paper-raised);
}
.htr-step--end { border-top-color: color-mix(in srgb, var(--good) 60%, transparent); }
.htr-step-n {
  display: block; font-family: var(--mono); font-size: var(--fs-sm); font-weight: 700;
  letter-spacing: .12em; color: var(--neutral); margin-bottom: var(--sp-2);
}
.htr-step--end .htr-step-n { color: var(--good); }
.htr-step-t {
  margin: 0 0 var(--sp-1); font-family: var(--sans); font-size: var(--fs-md); font-weight: 600;
  text-transform: uppercase; letter-spacing: .04em; color: var(--ink);
}
.htr-step-d { margin: 0; font-size: var(--fs-sm); line-height: 1.5; color: var(--text-dim); }

.htr-step:not(:last-child)::after {
  content: "\203A"; position: absolute; top: 50%; right: calc(var(--sp-3) / -2);
  transform: translate(50%, -50%); color: var(--text-faint);
  font-size: var(--fs-xl); line-height: 1; font-family: var(--mono); pointer-events: none;
}
@media (max-width: 760px) {
  .htr-engine-track { grid-template-columns: 1fr; gap: var(--sp-4); }
  .htr-step:not(:last-child)::after {
    top: auto; right: 50%; bottom: calc(var(--sp-4) / -2);
    transform: translate(50%, 50%) rotate(90deg);
  }
}

.sig-tabs {
  display: flex; gap: 6px; margin: 4px 0 18px; overflow-x: auto;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.sig-tabs::-webkit-scrollbar { display: none; }
.sig-tabs button {
  font-family: var(--mono); font-size: var(--fs-sm); padding: 6px 14px; border-radius: 5px;
  border: 1px solid var(--line-hard); color: var(--text-dim);
  background: none; cursor: pointer; white-space: nowrap; flex: none;
  transition: var(--transition-fast); -webkit-appearance: none; appearance: none;
}
.sig-tabs button:hover { background: var(--paper-raised); }
.sig-tabs button.active { background: var(--accent-bg); color: var(--accent-ink); border-color: var(--accent); font-weight: 600; }
.sig-hidden { display: none !important; }

.nav-dropdown-menu a.nav-group-head {
  color: var(--ink); font-weight: 600;
  position: relative; padding-left: 22px;
}
.nav-dropdown-menu a.nav-group-head::before {
  content: ""; position: absolute; left: 9px; top: 50%;
  width: 6px; height: 6px; border-radius: var(--r-round);
  background: var(--accent); transform: translateY(-50%);
  pointer-events: none;
}
.nav-dropdown-menu a.nav-subitem { padding-left: 34px; position: relative; }

.nav-dropdown-menu a.nav-subitem::before {
  content: ""; position: absolute; left: 11px; top: 0; bottom: 0;
  width: 1px; background: var(--line-hard); pointer-events: none;
}
.nav-dropdown-menu a.nav-subitem--last::before { bottom: 50%; }
.nav-dropdown-menu a.nav-subitem::after {
  content: ""; position: absolute; left: 11px; top: 50%; width: 10px; height: 1px;
  background: var(--line-hard); transform: translateY(-50%); pointer-events: none;
}

.nav-dropdown-menu a.nav-subitem.active::after { background: var(--accent); }

.nav-toggle-cb:checked ~ nav.tabs .nav-dropdown-menu a.nav-subitem { padding-left: 42px; }

.nav-toggle-cb:checked ~ nav.tabs .nav-dropdown-menu a.nav-group-head {
  padding-left: 30px;
}

.of-pipeline { margin: var(--sp-4) 0 var(--sp-5); }
.of-pipeline-label {
  display: block; font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-faint); margin-bottom: var(--sp-2);
}
.of-pipeline-flow {
  list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px;
}
.of-node {
  position: relative; font-family: var(--mono); font-size: var(--fs-sm); letter-spacing: 0.01em;
  color: var(--text-dim); background: var(--paper-raised); border: 1px solid var(--line);
  border-radius: var(--r-lg); padding: 7px 12px; white-space: nowrap;
}
.of-node:not(:last-child)::after {
  content: "\203A"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%);
  color: var(--text-faint); font-size: calc(16px * var(--ui-scale)); line-height: 1; pointer-events: none;
}
.of-node--decision {
  color: var(--ink); font-weight: 700;
  border-color: color-mix(in srgb, var(--neutral) 45%, transparent);
  background: color-mix(in srgb, var(--neutral) 10%, var(--paper-raised));
}

.sig-card.filtered-out { display: none; }
@media (min-width: 901px) {
  .sig-cards--desk { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; margin: 0 0 16px; }
  .sig-cards--desk .sig-card {
    display: block; padding: 14px; border: 1px solid var(--line); border-radius: var(--r-xl);
    background: var(--paper-raised); color: inherit; text-decoration: none;
    transition: border-color var(--transition-fast), transform var(--transition-fast);
  }
  .sig-cards--desk .sig-card:hover { border-color: var(--line-hard); transform: translateY(-2px); }
  .sig-cards--desk .sig-card.win  { border-left: 3px solid var(--good); }
  .sig-cards--desk .sig-card.loss { border-left: 3px solid var(--bad); }
  .sig-cards--desk .sig-card.open { border-left: 3px solid var(--accent); }
  
  .sig-cards--desk .sig-card.filtered-out { display: none; }
  .sig-cards--desk .sig-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .sig-cards--desk .sig-tkr { font-family: var(--mono); font-weight: 700; font-size: calc(17px * var(--ui-scale)); color: var(--ink); }
  .sig-cards--desk .sig-badges { display: flex; align-items: center; gap: 7px; flex: none; }
  .sig-cards--desk .sig-halal { font-family: var(--mono); font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--good); background: var(--good-bg); border: 1px solid color-mix(in srgb, var(--good) 30%, transparent); padding: 2px 7px; border-radius: var(--r-pill); white-space: nowrap; }
  .sig-cards--desk .sig-setup { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
  .sig-cards--desk .sig-setup-name { font-family: var(--sans); font-size: var(--fs-base); font-weight: 600; color: var(--ink); }
  .sig-cards--desk .sig-tf { font-family: var(--mono); font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent-ink); background: var(--accent-bg); border-radius: var(--r-sm); padding: 2px 6px; }
  .sig-cards--desk .sig-plan { display: grid; grid-template-columns: repeat(auto-fit, minmax(58px, 1fr)); gap: 6px; margin: 12px 0 10px; }
  .sig-cards--desk .sig-plan-cell .k { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); display: block; margin-bottom: 3px; }
  .sig-cards--desk .sig-plan-cell .v { font-family: var(--mono); font-size: calc(15px * var(--ui-scale)); font-variant-numeric: tabular-nums; color: var(--ink); }
  .sig-cards--desk .sig-plan-cell.stop .v { color: var(--bad-ink); }
  .sig-cards--desk .sig-plan-cell.target .v { color: var(--good); }
  .sig-cards--desk .sig-plan-cell.rr .v { color: var(--neutral); }
  .sig-cards--desk .sig-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .sig-cards--desk .sig-meta { font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim); }
  .sig-cards--desk .sig-foot-right { display: flex; align-items: center; gap: 10px; }
  .sig-cards--desk .sig-score { font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim); white-space: nowrap; }
  .sig-table-details { margin: 0 0 4px; }
  .sig-table-details > summary { cursor: pointer; font-family: var(--mono); font-size: var(--fs-sm); color: var(--accent-ink); padding: 4px 0; list-style: none; }
  .sig-table-details > summary::-webkit-details-marker { display: none; }
  .sig-table-details > summary::before { content: "\25B8  "; color: var(--text-faint); }
  .sig-table-details[open] > summary::before { content: "\25BE  "; }
}

.of-checklist { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 12px; }
.of-chk {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: 0.01em; white-space: nowrap;
  padding: 3px 8px; border-radius: var(--r-md); border: 1px solid var(--line);
  color: var(--text-dim); background: var(--paper-raised);
}
.of-chk.ok { color: var(--good); border-color: color-mix(in srgb, var(--good) 30%, transparent); background: var(--good-bg); }
.of-chk.no { color: var(--bad-ink);  border-color: color-mix(in srgb, var(--bad) 30%, transparent);  background: var(--bad-bg); }
.of-chk.na { opacity: 0.65; }
.of-notrade { font-family: var(--sans); font-size: var(--fs-base); color: var(--text-dim); margin: 0 0 12px; }
.of-notrade b { color: var(--bad-ink); }

.ofi2 {
  margin: 4px 0 14px; padding: var(--sp-3);
  border: 1px solid var(--line); border-radius: var(--r-xl); background: var(--paper-raised);
}
.ofi2-head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }

.ofi2-shadow {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .04em; text-transform: uppercase;
  padding: 3px 7px; border-radius: 5px; border: 1px dashed var(--line-hard, var(--line));
  color: var(--text-dim); cursor: help;
}
.ofi2-decision {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .03em;
  padding: 3px 9px; border-radius: var(--r-md); border: 1px solid var(--line); color: var(--text-dim);
}
.ofi2-approved { color: var(--good); border-color: color-mix(in srgb, var(--good) 34%, transparent); background: var(--good-bg); }
.ofi2-blocked  { color: var(--bad-ink); border-color: color-mix(in srgb, var(--bad) 34%, transparent); background: var(--bad-bg); }
.ofi2-watch, .ofi2-wait { color: var(--amber); border-color: color-mix(in srgb, var(--amber) 34%, transparent); }
.ofi2-insufficient_data { opacity: .72; }
.ofi2-grade {
  font-family: var(--mono); font-size: var(--fs-xs); font-weight: 700;
  padding: 3px 8px; border-radius: var(--r-md); border: 1px solid var(--line); color: var(--ink);
}
.ofi2-score { margin-left: auto; font-family: var(--mono); font-size: calc(20px * var(--ui-scale)); font-weight: 700; color: var(--ink); }
.ofi2-score-max { font-size: var(--fs-xs); font-weight: 400; color: var(--text-dim); }

.ofi2-layers { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.ofi2-layer {
  font-family: var(--mono); font-size: var(--fs-xs); white-space: nowrap;
  padding: 3px 8px; border-radius: var(--r-md); border: 1px solid var(--line); color: var(--text-dim);
}
.ofi2-layer b { color: var(--ink); font-weight: 600; margin-right: 3px; }
.ofi2-layer.good { color: var(--good); border-color: color-mix(in srgb, var(--good) 28%, transparent); background: var(--good-bg); }
.ofi2-layer.good b { color: var(--good); }
.ofi2-layer.bad { color: var(--bad-ink); border-color: color-mix(in srgb, var(--bad) 28%, transparent); background: var(--bad-bg); }
.ofi2-layer.bad b { color: var(--bad-ink); }
.ofi2-layer.mid { color: var(--amber); border-color: color-mix(in srgb, var(--amber) 26%, transparent); }
.ofi2-layer.mid b { color: var(--amber); }

.ofi2-layer.na { opacity: .5; }

.ofi2-why { font-size: var(--fs-base); color: var(--text-dim); margin: 0 0 10px; }
.ofi2-verdict { font-size: var(--fs-base); color: var(--ink); margin: 0 0 10px; line-height: 1.5; }

.ofi2-card { border-top: 1px solid var(--line); }
.ofi2-card > summary {
  cursor: pointer; list-style: none; padding: 9px 2px;
  font-family: var(--mono); font-size: var(--fs-sm); letter-spacing: .02em; color: var(--text-dim);
}
.ofi2-card > summary::-webkit-details-marker { display: none; }
.ofi2-card > summary::before { content: "▸ "; color: var(--text-dim); }
.ofi2-card[open] > summary::before { content: "▾ "; }
.ofi2-card > summary:hover { color: var(--ink); }
.ofi2-card--block > summary { color: var(--bad-ink); }
.ofi2-n {
  font-size: var(--fs-2xs); padding: 1px 6px; margin-left: 6px;
  border-radius: var(--r-pill); border: 1px solid var(--line); color: var(--text-dim);
}

.ofi2-list { margin: 0 0 10px; padding-left: 18px; }
.ofi2-list li { font-size: var(--fs-base); color: var(--text-dim); line-height: 1.55; margin-bottom: 3px; }
.ofi2-list--for li::marker { color: var(--good); }
.ofi2-list--against li::marker { color: var(--amber); }
.ofi2-card--block .ofi2-list li::marker { color: var(--bad); }

.ofi2-kv { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 6px 14px; padding-bottom: 10px; }
.ofi2-kv > div { display: flex; justify-content: space-between; gap: 10px; font-size: var(--fs-sm); padding: 3px 0; border-bottom: 1px solid var(--line); }
.ofi2-kv span { color: var(--text-dim); text-transform: capitalize; }
.ofi2-kv b { font-family: var(--mono); color: var(--ink); font-weight: 600; text-align: right; }

.ofi2-plan { font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim); margin: 0 0 6px; }
.ofi2-plan b { color: var(--ink); }
.ofi2-plan-note { font-size: var(--fs-sm); color: var(--text-dim); margin: 0 0 10px; line-height: 1.5; }

.ofi2-status {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .04em; white-space: nowrap;
  padding: 4px 9px; border-radius: var(--r-md); border: 1px solid var(--line); color: var(--text-dim);
}
.ofi2-status--supported { color: var(--good); border-color: color-mix(in srgb, var(--good) 34%, transparent); background: var(--good-bg); }
.ofi2-status--rejected, .ofi2-status--invalidated { color: var(--bad-ink); border-color: color-mix(in srgb, var(--bad) 34%, transparent); background: var(--bad-bg); }
.ofi2-status--weak { color: var(--amber); border-color: color-mix(in srgb, var(--amber) 30%, transparent); }
.ofi2-status--insufficient_sample, .ofi2-status--draft, .ofi2-status--running { opacity: .78; }

@media (max-width: 640px) {
  .ofi2 { padding: var(--sp-2); }
  .ofi2-score { font-size: calc(17px * var(--ui-scale)); }
  .ofi2-kv { grid-template-columns: 1fr; }
}

.cmdk { position: fixed; inset: 0; z-index: 200; display: flex; align-items: flex-start; justify-content: center; }
.cmdk[hidden] { display: none; }

[hidden] { display: none !important; }
.cmdk-backdrop { position: absolute; inset: 0; background: rgba(3,5,10,.72); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); animation: cmdk-fade .14s ease; }
.cmdk-panel {
  position: relative; width: min(620px, calc(100vw - 32px));
  
  margin-top: min(18vh, 150px);
  background: var(--paper-raised); border: 1px solid var(--line-hard); border-radius: var(--r-2xl);
  box-shadow: 0 24px 70px rgba(0,0,0,.6); overflow: hidden;
  animation: cmdk-rise .16s cubic-bezier(.2,.8,.3,1);
}
@keyframes cmdk-fade { from { opacity: 0; } }
@keyframes cmdk-rise { from { opacity: 0; transform: translateY(-8px) scale(.985); } }
@media (prefers-reduced-motion: reduce) {
  .cmdk-backdrop, .cmdk-panel { animation: none; }
}
.cmdk-inputrow { display: flex; align-items: center; gap: 11px; padding: 15px 16px; border-bottom: 1px solid var(--line); }
.cmdk-ico { width: 19px; height: 19px; color: var(--text-dim); flex: none; }
#cmdk-input {
  flex: 1; min-width: 0; background: none; border: none; outline: none; color: var(--ink);
  font-family: var(--sans); font-size: calc(17px * var(--ui-scale));
}
#cmdk-input::placeholder { color: var(--text-dim); }
.cmdk-esc {
  flex: none; cursor: pointer; font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim);
  border: 1px solid var(--line-hard); border-radius: 5px; padding: 3px 7px; background: var(--paper);
}
.cmdk-esc:hover { color: var(--ink); border-color: var(--accent); }

.cmdk-results { max-height: min(52vh, 420px); overflow-y: auto; }
.cmdk-results:empty { display: none; }
.cmdk-results a {
  display: block; padding: 11px 16px; text-decoration: none; color: inherit;
  border-bottom: 1px solid var(--line);
}
.cmdk-results a:last-child { border-bottom: none; }
.cmdk-results a:hover, .cmdk-results a.active { background: var(--accent-bg); }
.cmdk-results .sr-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cmdk-results .sr-sym { display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-weight: 700; color: var(--ink); }
.cmdk-results .sr-name { display: block; font-size: var(--fs-sm); color: var(--text-dim); margin-top: 3px; }
.cmdk-results .sr-empty { padding: 18px 16px; font-size: var(--fs-base); color: var(--text-dim); text-align: center; }
.cmdk-hint {
  display: flex; gap: 16px; align-items: center; padding: 9px 16px;
  border-top: 1px solid var(--line); background: var(--paper);
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim);
}
.cmdk-hint kbd {
  font-family: var(--mono); border: 1px solid var(--line-hard); border-radius: var(--r-sm);
  padding: 1px 5px; margin-right: 3px; background: var(--paper-raised);
}
@media (max-width: 640px) {
  
  .cmdk-panel { margin-top: 8vh; width: calc(100vw - 20px); }
  #cmdk-input { font-size: calc(16px * var(--ui-scale)); }  
  .cmdk-hint-key { display: none; }  
}

.loop-funnel { display: flex; align-items: flex-end; gap: 4px; overflow-x: auto; padding: 4px 0 0; }
.loop-stage { flex: 1 1 0; min-width: 62px; text-align: center; }
.loop-bar-wrap {
  height: 96px; display: flex; align-items: flex-end; justify-content: center;
  border-bottom: 1px solid var(--line); margin-bottom: 7px;
}
.loop-bar {
  width: 68%; min-height: 2px; border-radius: 4px 4px 0 0;
  background: linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--neutral) 70%, transparent));
  transition: height .35s cubic-bezier(.16,1,.3,1);
}

.loop-stage:not(.has) .loop-bar { background: var(--line); opacity: .55; }
.loop-count { font-family: var(--display); font-size: calc(17px * var(--ui-scale)); font-weight: 700; font-variant-numeric: tabular-nums; }
.loop-name {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .06em;
  text-transform: uppercase; color: var(--text-faint); margin-top: 2px; line-height: 1.3;
}
.loop-arrow { align-self: center; color: var(--text-faint); font-size: calc(15px * var(--ui-scale)); padding-bottom: 26px; flex: 0 0 auto; }
.loop-legend { font-size: var(--fs-sm); color: var(--text-dim); margin: 12px 0 0; }
.loop-name-cell { font-weight: 600; }
.loop-note { display: block; font-size: var(--fs-sm); color: var(--text-faint); margin-top: 2px; }

.stat-sub { font-size: var(--fs-micro); letter-spacing: .04em; opacity: .75; }
.muted { color: var(--text-faint); }
.bad-txt { color: var(--bad-ink); }
.row-retired { opacity: .5; }
.disclaimer-note { font-size: var(--fs-sm); color: var(--text-faint); margin: 22px 0 0; line-height: 1.55; }

@media (max-width: 640px) {
  
  .loop-funnel { gap: 8px; }
  .loop-stage { min-width: 74px; }
  .loop-arrow { display: none; }
  .loop-bar-wrap { height: 76px; }
  .loop-name { font-size: var(--fs-2xs); }
}

.stage-track { display: flex; align-items: center; gap: 4px; }
.stage-dot {
  width: 8px; height: 8px; border-radius: var(--r-round); flex: none;
  background: var(--line-hard);              
  transition: background .25s ease, box-shadow .25s ease;
}
.stage-dot.done { background: color-mix(in srgb, var(--accent) 55%, transparent); }
.stage-dot.here {
  background: var(--accent); width: 10px; height: 10px;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);
}

.loop-moved { border-color: color-mix(in srgb, var(--accent) 40%, var(--line)); }
.loop-moved-tag {
  display: inline-block; font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .1em; text-transform: uppercase; color: var(--accent);
  margin-bottom: 8px;
}
.loop-moved-row {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-size: var(--fs-base); padding: 3px 0;
}
.loop-moved-arrow { color: var(--text-faint); }

.tier-note {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-2);
  margin: 0 0 var(--sp-3);
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--line);
  border-left: 3px solid var(--warn);
  border-radius: var(--r-md);
  background: var(--neutral-bg);
  font-family: var(--sans);
  font-size: var(--fs-xs);
  line-height: 1.5;
  color: var(--text-dim);
}
.tier-note .pill { flex: none; }

.table-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
  gap: var(--sp-2);
  align-items: center;
  margin-bottom: var(--sp-2);
}

.table-filters input[type="text"] { grid-column: span 2; }
.table-filters > * { min-width: 0; }
.table-filters select { width: 100%; }
.table-filters input[type="text"] {
  width: 100%;
  font-family: var(--sans); font-size: var(--fs-sm);
  padding: 9px 12px; border: 1px solid var(--line-hard); border-radius: var(--r-lg);
  background: var(--paper-raised); color: var(--ink);
  transition: var(--transition-fast);
}
.table-filters input[type="text"]:focus,
.table-filters select:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.table-filters select {
  font-family: var(--mono); font-size: var(--fs-xs);
  padding: 9px 10px; border: 1px solid var(--line-hard); border-radius: var(--r-lg);
  background: var(--paper-raised); color: var(--ink);
  transition: var(--transition-fast);
}

.table-filters-actions {
  display: flex; align-items: center; gap: var(--sp-3);
}
.table-filters .cta-btn { padding: 9px 18px; }
.table-filters-actions .cta-btn { flex: 1 1 auto; text-align: center; }

.table-filters-reset {
  display: inline-flex; align-items: center; min-height: 36px;
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim);
  text-decoration: none; transition: var(--transition-fast);
}
.table-filters-reset:hover { color: var(--ink); }
.table-filters-note {
  font-size: var(--fs-xs); color: var(--text-dim);
  margin: 0 0 var(--sp-3); line-height: 1.5;
}

.pager-btn {
  font-family: var(--mono); font-size: var(--fs-xs);
  padding: 7px 13px; border: 1px solid var(--line-hard); border-radius: var(--r-lg);
  background: var(--paper-raised); color: var(--ink);
  text-decoration: none; transition: var(--transition-fast);
}
.pager-btn:hover { border-color: var(--accent); color: var(--accent-ink); }
.pager-now {
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim);
  padding: 0 var(--sp-2);
}

.pager-cur {
  font-family: var(--mono); font-size: var(--fs-xs);
  padding: 7px 13px; border: 1px solid var(--accent); border-radius: var(--r-lg);
  background: var(--accent-bg); color: var(--accent-ink);
}
.pager-gap {
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-faint);
  padding: 0 var(--sp-1);
}

@media (max-width: 640px) {
  
  .table-filters { gap: 8px; grid-template-columns: 1fr; }
  .table-filters input[type="text"] { grid-column: span 1; }
}

.table-filters {
  gap: var(--sp-3);
  padding: var(--sp-3);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  background: var(--paper-raised);
  margin-bottom: var(--sp-3);
}
.table-filters input[type="text"],
.table-filters select {
  padding: 11px 14px;
  font-size: var(--fs-sm);
  border-radius: 9px;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast),
              transform var(--transition-fast);
}
.table-filters input[type="text"]:hover,
.table-filters select:hover { border-color: var(--line-hard); }
.table-filters input[type="text"]:focus,
.table-filters select:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-bg);
}
.table-filters select { padding-right: 30px; }
.table-filters .cta-btn {
  padding: 11px 22px;
  transition: transform var(--transition-fast), filter var(--transition-fast);
}
.table-filters .cta-btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
.table-filters .cta-btn:active { transform: translateY(0); }
.table-filters-note { font-size: var(--fs-sm); margin-bottom: var(--sp-3); }

#compliance-table { font-size: var(--fs-sm); }
#compliance-table thead th {
  position: sticky; top: 0; z-index: 2;
  background: var(--paper-raised);
  padding-top: 13px; padding-bottom: 13px;
}
#compliance-table tbody td { padding-top: 13px; padding-bottom: 13px; }
#compliance-table td.nowrap { white-space: nowrap; }
#compliance-table tbody tr { transition: background var(--transition-fast); }

@media (max-width: 640px) {
  .table-filters { padding: var(--sp-2); gap: 8px; }
  #compliance-table thead th { position: static; }
}

.unver-note {
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim);
  margin-left: 5px; white-space: nowrap;
}

.skeleton-bar {
  height: 3px;
  border-radius: 3px;
  background: var(--line);
  overflow: hidden;
}
.skeleton-bar > span {
  display: block;
  height: 100%;
  width: 40%;
  border-radius: 3px;
  background: var(--accent);
  animation: skeleton-sweep 1.5s ease-in-out infinite;
}
@keyframes skeleton-sweep {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(350%); }
}
.skeleton-note {
  margin: 10px 0 0;
  color: var(--text-dim);
  font-size: var(--fs-xs);
}
.skeleton-lines {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  margin-top: var(--sp-3);
}
.skeleton-lines > span {
  height: 10px;
  border-radius: var(--r-sm);
  background: var(--line);
  opacity: 0.65;
  animation: skeleton-pulse 1.8s ease-in-out infinite;
}
.skeleton-lines > span:nth-child(2) { animation-delay: 0.2s; }
.skeleton-lines > span:nth-child(3) { animation-delay: 0.4s; }
@keyframes skeleton-pulse {
  0%, 100% { opacity: 0.35; }
  50%      { opacity: 0.75; }
}

.section-filled { animation: section-fade-in 0.42s ease-out both; }
@keyframes section-fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .skeleton-bar > span,
  .skeleton-lines > span { animation: none; }
  .section-filled { animation: none; }
}

.levels-row { margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--line); }
.levels-head {
  font-family: var(--mono); font-size: var(--fs-xs); text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--text-faint); margin-bottom: var(--sp-2);
}

.levels-scroll {
  display: flex; gap: var(--sp-2); overflow-x: auto; padding-bottom: 2px;
  scrollbar-width: none;
}
.levels-scroll::-webkit-scrollbar { display: none; }
.level-pill {
  flex: none; text-align: center; padding: 6px 14px; border-radius: 100px;
  background: var(--paper-raised); box-shadow: inset 0 0 0 1px var(--line);
}
.level-pill.support { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--good) 35%, transparent); }
.level-pill.resistance { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bad) 35%, transparent); }

.level-pill.at-price { background: var(--frost-bg); box-shadow: inset 0 0 0 1.5px currentColor; }
.level-pill.support.at-price { color: var(--good); }
.level-pill.resistance.at-price { color: var(--bad-ink); }
.level-label {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: 0.09em;
  text-transform: uppercase; color: var(--text-faint); line-height: 1.3;
}
.level-pill.at-price .level-label { color: currentColor; }
.level-value { font-family: var(--mono); font-size: var(--fs-sm); font-weight: 600; color: var(--ink); }
.level-pill.at-price .level-value { color: currentColor; }
.levels-note { margin: var(--sp-2) 0 0; font-size: var(--fs-xs); color: var(--text-faint); }

.tech-summary { display: flex; gap: var(--sp-4); align-items: center; flex-wrap: wrap; }
.tech-verdict { flex: none; text-align: center; min-width: 148px; }
.tech-verdict-label {
  font-family: var(--mono); font-size: var(--fs-lg); font-weight: 700;
  letter-spacing: 0.04em; line-height: 1.2;
}
.tech-verdict-sub {
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-faint); margin-top: 3px;
}
.tech-strong-buy, .tech-buy { color: var(--good); }
.tech-strong-sell, .tech-sell { color: var(--bad-ink); }
.tech-neutral { color: var(--neutral); }
.tech-strong-buy .tech-verdict-label, .tech-verdict.tech-strong-buy .tech-verdict-label {
  text-shadow: 0 0 24px color-mix(in srgb, var(--good) 55%, transparent);
}
.tech-strong-sell .tech-verdict-label {
  text-shadow: 0 0 24px color-mix(in srgb, var(--bad) 55%, transparent);
}
.tech-groups { flex: 1 1 260px; display: flex; flex-direction: column; gap: var(--sp-3); min-width: 0; }
.tech-group-head {
  display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-2);
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim); margin-bottom: 5px;
}

.tech-bar {
  display: flex; height: 8px; border-radius: 5px; overflow: hidden;
  background: var(--paper-raised); box-shadow: inset 0 0 0 1px var(--line-hard);
}
.tech-seg { height: 100%; }
.tech-seg.buy { background: var(--good); }
.tech-seg.neutral { background: var(--neutral); }
.tech-seg.sell { background: var(--bad); }
.tech-counts {
  margin-top: 5px; font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-faint);
}
.tech-counts .buy { color: var(--good); }
.tech-counts .sell { color: var(--bad-ink); }
.tech-table td:first-child { font-family: var(--mono); font-size: var(--fs-sm); }
.tech-disclaimer { margin: var(--sp-3) 0 0; font-size: var(--fs-xs); color: var(--text-faint); line-height: 1.6; }

.tv-chart { width: 100%; height: 460px; border-radius: 10px; overflow: hidden; }
@media (max-width: 640px) { .tv-chart { height: 340px; } }

.fc-head { display: flex; gap: var(--sp-4); align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
.fc-label, .fc-sub {
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-faint);
  letter-spacing: 0.05em;
}
.fc-label { text-transform: uppercase; margin-bottom: 4px; }
.fc-band { font-family: var(--mono); font-size: var(--fs-xl); font-weight: 700; color: var(--ink); line-height: 1.15; }
.fc-dash { color: var(--text-faint); margin: 0 6px; }
.fc-sub { margin-top: 5px; line-height: 1.5; }
.fc-dir { text-align: right; flex: none; }
.fc-dir-label { font-family: var(--mono); font-size: var(--fs-lg); font-weight: 700; letter-spacing: 0.04em; }
.fc-narrative { margin: var(--sp-3) 0 0; line-height: 1.65; }

.fc-record {
  margin-top: var(--sp-3); padding: 10px 13px; border-radius: var(--r-lg);
  background: var(--paper-raised); box-shadow: inset 0 0 0 1px var(--line);
  font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.6;
}
.fc-record b { color: var(--ink); }
.fc-disclaimer { margin: var(--sp-3) 0 0; font-size: var(--fs-xs); color: var(--text-faint); line-height: 1.6; }
@media (max-width: 640px) {
  .fc-head { gap: var(--sp-3); }
  .fc-dir { text-align: left; }
}

.ih-card { border-left: 3px solid var(--line-hard); }
.ih-compliant { border-left-color: var(--good); }
.ih-non-compliant { border-left-color: var(--bad-ink); }
.ih-questionable { border-left-color: var(--neutral); }
.ih-needs-review { border-left-color: var(--warn); }
.ih-head { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; margin-bottom: var(--sp-3); }
.ih-headline {
  
  font-family: var(--display); font-size: var(--fs-lg); color: var(--ink); }
.ih-reason { margin: 0 0 10px; line-height: 1.65; }

.ih-split { margin: var(--sp-3) 0; }
.ih-split-bar {
  display: flex; height: 8px; border-radius: var(--r-pill); overflow: hidden;
  background: var(--line); box-shadow: inset 0 0 0 1px var(--line);
}
.ih-split-bar > span { display: block; height: 100%; transition: width var(--transition-fast); }
.ih-split-yes { background: var(--good); }

.ih-split-no { background: var(--neutral); }
.ih-split-keys {
  display: flex; gap: var(--sp-4); flex-wrap: wrap; margin-top: var(--sp-2);
  font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim);
}
.ih-split-key { display: inline-flex; align-items: center; gap: 6px; cursor: help; }
.ih-split-key b { color: var(--ink); }
.ih-key-dot { width: 8px; height: 8px; border-radius: var(--r-round); flex: none; }
.ih-key-yes { background: var(--good); }
.ih-key-no { background: var(--neutral); }

.ih-facts {
  
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--sp-3) var(--sp-4);
  padding: 12px 14px; border-radius: 9px;
  background: var(--paper-raised); box-shadow: inset 0 0 0 1px var(--line);
}
.ih-fact { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ih-fact-k {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: 0.09em;
  text-transform: uppercase; color: var(--text-faint);
}
.ih-fact b { font-family: var(--mono); font-size: var(--fs-sm); color: var(--ink); font-weight: 600; }
.ih-conf-high { color: var(--good); }
.ih-conf-medium { color: var(--warn); }
.ih-conf-low, .ih-conf-none { color: var(--bad-ink); }
.ih-unverified {
  margin: var(--sp-2) 0 0; font-size: var(--fs-sm); line-height: 1.6; color: var(--text-dim);
}
.ih-details { margin-top: var(--sp-3); }

.meth-list { display: flex; flex-direction: column; gap: var(--sp-2); }
.meth-row { padding: 11px 14px; border-radius: 9px; background: var(--paper-raised); border-left: 3px solid var(--line-hard); }

details.meth-row > summary { cursor: pointer; list-style: none; }
details.meth-row > summary::-webkit-details-marker { display: none; }
details.meth-row > summary::after {
  content: "▾"; grid-column: 3; grid-row: 1;
  color: var(--text-faint); font-size: var(--fs-xs);
  transition: transform var(--transition-fast); flex: none;
  line-height: 1.5; 
}
details.meth-row[open] > summary::after { transform: rotate(180deg); }
details.meth-row[open] { box-shadow: inset 0 0 0 1px var(--line); }
details.meth-row > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.meth-compliant { border-left-color: var(--good); }
.meth-non-compliant { border-left-color: var(--bad-ink); }
.meth-questionable { border-left-color: var(--neutral); }
.meth-needs-review { border-left-color: var(--warn); }

.meth-row-head {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: start;
  gap: var(--sp-1) var(--sp-3);
}
.meth-name { font-weight: 600; color: var(--ink); grid-column: 1; grid-row: 1; min-width: 0; overflow-wrap: break-word; }
.meth-row-head > .pill { grid-column: 2; grid-row: 1; justify-self: end; white-space: nowrap; }

.meth-note { margin: var(--sp-3) 0 0; font-size: var(--fs-base); line-height: 1.65; color: var(--text-dim); }
.meth-reason { margin: 6px 0 0; font-size: var(--fs-base); line-height: 1.6; color: var(--text-dim); }

.meth-source {
  margin: 8px 0 0; font-family: var(--mono); font-size: var(--fs-xs);
  line-height: 1.55; color: var(--text-faint);
}
@media (max-width: 640px) {
  
  .ih-facts { gap: var(--sp-2) var(--sp-3); }
  .ih-fact { flex: 1 1 44%; }
  .ih-headline { font-size: var(--fs-md); }
  .meth-row { padding: 10px 12px; }
}

@media (max-width: 480px) {
  .meth-row-head { grid-template-columns: 1fr auto; }
  .meth-row-head > .pill { grid-column: 1; grid-row: 2; justify-self: start; }
}

.meth-region {
  font-family: var(--mono); font-size: var(--fs-xs); text-transform: uppercase;
  letter-spacing: 0.1em; color: var(--text-faint); margin: var(--sp-3) 0 var(--sp-2);
}
.meth-framework { margin-bottom: var(--sp-2); }

.attr-chip {
  display: inline-block; margin: 0 4px 4px 0; padding: 2px 8px;
  border-radius: var(--r-sm); background: var(--paper-raised);
  box-shadow: inset 0 0 0 1px var(--line);
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim);
}

.fw-agree { font-family: var(--mono); color: var(--text-dim); }
.fw-split { font-family: var(--mono); color: var(--neutral); border-bottom: 1px dotted currentColor; }

.crypto-search { display: flex; gap: var(--sp-2); align-items: center; margin: var(--sp-3) 0 var(--sp-2); flex-wrap: wrap; }
.crypto-search input[type="search"] {
  flex: 1 1 240px; min-width: 0;
  font-family: var(--sans); font-size: var(--fs-base);
  padding: 10px 13px; border-radius: var(--r-lg);
  border: 1px solid var(--line-hard); background: var(--paper-raised); color: var(--ink);
}
.crypto-search button {
  font-family: var(--mono); font-size: var(--fs-sm); padding: 10px 18px;
  border-radius: var(--r-lg); border: none; cursor: pointer;
  background: var(--accent); color: var(--paper); font-weight: 600;
  transition: var(--transition-fast);
}
.crypto-search button:hover { filter: brightness(1.08); }
.crypto-search-clear { font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim); }
.crypto-count { font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim); margin: 0 0 var(--sp-2); }
.crypto-count b { color: var(--ink); }

.pager {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: var(--sp-4); margin: var(--sp-4) 0;
  font-family: var(--mono); font-size: var(--fs-sm);
}
.pager a { color: var(--neutral); text-decoration: none; padding: 8px 14px; border-radius: var(--r-lg); box-shadow: inset 0 0 0 1px var(--line); transition: var(--transition-fast); }
.pager a:hover { background: var(--paper-raised); }
.pager-off { color: var(--text-faint); padding: 8px 14px; }

.pager-at {
  font-family: var(--mono); font-size: var(--fs-sm); color: var(--text-dim);
  text-align: center; margin: var(--sp-4) 0 0;
}
@media (max-width: 640px) {
  .crypto-search { gap: var(--sp-2); }
  .crypto-search button { flex: 1 1 auto; }
  .pager { gap: var(--sp-2); font-size: var(--fs-xs); }
  .pager a, .pager-off { padding: 8px 10px; }
}

.ih-evidence {
  margin: var(--sp-2) 0 0; padding: 0 0 0 18px;
  font-size: var(--fs-sm); line-height: 1.65; color: var(--text-dim);
}
.ih-evidence li { margin-bottom: 3px; }
.ih-evidence li::marker { color: var(--text-faint); }

.ih-consensus {
  margin: var(--sp-2) 0 0; padding: 8px 12px; border-radius: 7px;
  font-size: var(--fs-sm); line-height: 1.6; color: var(--text-dim);
  background: var(--paper-raised); border-left: 2px solid var(--line-hard);
}
.ih-consensus b { color: var(--ink); }
.ih-cons-ok { border-left-color: var(--good); }
.ih-cons-split { border-left-color: var(--warn); }

.meth-ladder { margin: 0; padding-left: 1.3em; display: flex; flex-direction: column; gap: var(--sp-3); }
.meth-ladder li { line-height: 1.65; padding-left: 4px; }
.meth-ladder li::marker { font-family: var(--mono); color: var(--accent); font-weight: 700; }
.meth-ladder .pill { margin: 0 2px; }

.meth-verdicts { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--sp-4); }
.meth-verdicts > div { display: flex; flex-direction: column; gap: var(--sp-2); align-items: flex-start; }
.meth-verdicts p { margin: 0; font-size: var(--fs-sm); line-height: 1.6; color: var(--text-dim); }

.meth-limits { margin: 0; padding-left: 1.15em; display: flex; flex-direction: column; gap: var(--sp-2); }
.meth-limits li { line-height: 1.65; }
.meth-limits li::marker { color: var(--text-faint); }

.post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: var(--sp-3);
  margin-bottom: var(--sp-5);
}
.post-card {
  display: flex; flex-direction: column; gap: 9px;
  padding: 17px 18px 15px; border-radius: 14px;
  text-decoration: none; color: inherit;
  background: linear-gradient(150deg, color-mix(in srgb, var(--raise) 8.5%, transparent), color-mix(in srgb, var(--raise) 2.8%, transparent));
  backdrop-filter: blur(22px) saturate(150%); -webkit-backdrop-filter: blur(22px) saturate(150%);
  border: 1px solid var(--line);
  box-shadow: 0 30px 90px -50px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,0.14);
  transition: var(--transition-fast);
  position: relative; overflow: hidden;
}

.post-card::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px;
  background: var(--brand-3); opacity: .55;
}
.post-card--ref::before { background: var(--neutral); }
.post-card:hover, .post-card:focus-visible {
  border-color: var(--brand-3); box-shadow: var(--shadow-md);
  text-decoration: none;
}
.post-card--ref:hover, .post-card--ref:focus-visible { border-color: var(--neutral); }
.post-card:hover::before, .post-card:focus-visible::before { opacity: 1; }

.post-kicker {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .12em;
  text-transform: uppercase; color: var(--brand-3);
}
.post-card--ref .post-kicker { color: var(--neutral); }
.post-title {
  font-family: var(--display); font-size: calc(17px * var(--ui-scale)); font-weight: 600;
  letter-spacing: -0.005em; margin: 0; color: var(--ink);
}
.post-summary {
  margin: 0; flex: 1;
  font-size: var(--fs-base); line-height: 1.6; color: var(--text-dim);
}

.post-meta {
  margin-top: auto; padding-top: 2px;
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-faint);
}
.post-dot { margin: 0 5px; opacity: .6; }

@media (min-width: 761px) and (max-width: 947px) {
  .htr-engine-track { grid-template-columns: 1fr; gap: var(--sp-4); }
}

.changed-strip {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: var(--sp-3); margin-bottom: var(--sp-5);
}
.changed-cell {
  display: flex; flex-direction: column; gap: 3px;
  padding: 15px 16px 13px; border-radius: var(--r-xl);
  text-decoration: none; color: inherit;
  background: var(--paper-raised); border: 1px solid var(--line);
  border-left: 3px solid var(--state-info);
  transition: var(--transition-fast);
}
.changed-cell:hover, .changed-cell:focus-visible {
  border-color: var(--line-hard); border-left-color: var(--brand);
  box-shadow: var(--shadow-md); text-decoration: none;
}
.changed-cell--none { border-left-color: var(--line-hard); }
.changed-cell--unavailable { border-left-color: var(--state-unknown); }

.changed-n {
  font-family: var(--mono); font-size: calc(25px * var(--ui-scale)); font-weight: 700;
  font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--ink);
}

.changed-n--zero { color: var(--text-dim); }

.changed-n--none {
  font-size: var(--fs-base); font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; color: var(--state-unknown);
}
.changed-l {
  font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.4;
}
.changed-note {
  margin-top: 2px; font-family: var(--mono); font-size: var(--fs-xs);
  letter-spacing: .04em; color: var(--text-faint);
}

@media (max-width: 640px) {
  .changed-strip { grid-template-columns: repeat(2, 1fr); gap: var(--sp-2); }
  .changed-n { font-size: calc(21px * var(--ui-scale)); }
}

.scr-form { margin-bottom: var(--sp-4); }
.scr-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: var(--sp-3);
}
.scr-field { display: flex; flex-direction: column; gap: 5px; }
.scr-k {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .09em;
  text-transform: uppercase; color: var(--text-dim);
  display: flex; justify-content: space-between; align-items: baseline; gap: 8px;
}

.scr-k em {
  font-style: normal; font-size: var(--fs-2xs); color: var(--text-faint);
  letter-spacing: .04em;
}

.scr-field input:not([type="checkbox"]):not([type="radio"]),
.scr-field select {
  width: 100%; padding: 9px 11px; border-radius: 9px;
  background: var(--paper-raised); border: 1px solid var(--line);
  color: var(--ink); font-family: var(--sans); font-size: var(--fs-base);
}
.scr-field input:focus-visible, .scr-field select:focus-visible {
  outline: 2px solid var(--brand); outline-offset: 1px; border-color: var(--brand);
}
.scr-actions { display: flex; gap: var(--sp-2); margin-top: var(--sp-3); flex-wrap: wrap; }

.scr-result {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px;
  padding: 13px 16px; margin-bottom: var(--sp-4);
  border-radius: var(--r-xl); background: var(--paper-raised);
  border: 1px solid var(--line); border-left: 3px solid var(--brand);
}
.scr-count {
  font-family: var(--mono); font-size: calc(23px * var(--ui-scale)); font-weight: 700;
  font-variant-numeric: tabular-nums; color: var(--ink);
}
.scr-count-l { font-size: var(--fs-base); color: var(--text-dim); }

.scr-uneval {
  flex-basis: 100%; margin-top: 3px;
  font-size: var(--fs-sm); line-height: 1.5; color: var(--state-unknown);
}

@media (max-width: 640px) {
  .scr-grid { grid-template-columns: 1fr 1fr; gap: var(--sp-2); }
  .scr-count { font-size: calc(20px * var(--ui-scale)); }
}

.sym-index { display: none; }

@media (min-width: 901px) {
  .sym-index {
    display: block; position: sticky; top: 64px; z-index: 5;
    margin: 0 0 var(--sp-4);
    padding: 8px 0;
    background: color-mix(in srgb, var(--paper) 92%, transparent);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  }
  .sym-index ul {
    list-style: none; margin: 0; padding: 0;
    display: flex; gap: 4px; overflow-x: auto;
    scrollbar-width: none;
  }
  .sym-index ul::-webkit-scrollbar { display: none; }
  .sym-index a {
    display: block; white-space: nowrap;
    padding: 5px 10px; border-radius: 7px;
    font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .03em;
    color: var(--text-dim); text-decoration: none;
    border: 1px solid transparent; transition: var(--transition-fast);
  }
  .sym-index a:hover { color: var(--ink); background: var(--paper-raised); }
  .sym-index a:focus-visible {
    outline: 2px solid var(--brand); outline-offset: 1px;
  }
  
  .sym-index a[aria-current="true"] {
    color: var(--brand); border-color: var(--line-hard);
    background: var(--paper-raised);
  }
}

.mech-list { display: flex; flex-direction: column; gap: 1px;
  background: var(--line); border: 1px solid var(--line);
  border-radius: var(--r-xl); overflow: hidden; margin-bottom: var(--sp-4); }
.mech-row {
  display: grid; grid-template-columns: 56px minmax(120px, 170px) 1fr;
  gap: var(--sp-3); align-items: baseline;
  padding: 12px 15px; background: var(--paper-raised);
  border-left: 3px solid var(--state-info);
}
.mech-row--neg { border-left-color: var(--state-neg); }
.mech-row--warn { border-left-color: var(--state-warn); }
.mech-row--pos { border-left-color: var(--state-pos); }
.mech-row--unknown { border-left-color: var(--state-unknown); }
.mech-n {
  font-family: var(--mono); font-size: calc(18px * var(--ui-scale)); font-weight: 700;
  font-variant-numeric: tabular-nums; color: var(--ink); text-align: right;
}
.mech-k {
  font-family: var(--mono); font-size: var(--fs-sm); letter-spacing: .05em;
  text-transform: uppercase; color: var(--text-dim);
}
.mech-why { font-size: var(--fs-base); line-height: 1.55; color: var(--text-dim); }

@media (max-width: 640px) {
  .mech-row { grid-template-columns: 48px 1fr; row-gap: 4px; }
  .mech-why { grid-column: 1 / -1; font-size: var(--fs-sm); }
}

.of-excluded {
  margin: 0 0 var(--sp-3); padding: 10px 13px;
  border-radius: 9px; background: var(--paper-raised);
  border: 1px solid var(--line); border-left: 3px solid var(--state-unknown);
  font-size: var(--fs-sm); line-height: 1.55; color: var(--text-dim);
}
.of-excluded b { color: var(--ink); font-weight: 600; }
.of-excluded a { color: var(--brand); }

.mode-banner {
  margin: 10px 0 0; padding: 10px 13px; border-radius: 9px;
  background: var(--paper-raised); border: 1px solid var(--line);
  border-left: 3px solid var(--state-info);
  font-size: var(--fs-sm); line-height: 1.55; color: var(--text-dim); max-width: 72ch;
}
.mode-banner b { color: var(--ink); font-weight: 600; }
.mode-banner--paper { border-left-color: var(--state-info); }
.mode-banner--live { border-left-color: var(--state-pos); }
.mode-banner--unknown { border-left-color: var(--state-unknown); }

.mode-banner--mixed { border-left-color: var(--state-warn); }

.sig-detail {
  display: inline-block; margin-top: 2px; max-width: 34ch;
  font-size: var(--fs-xs); line-height: 1.4; color: var(--text-faint);
}

.stage-recorded {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .05em;
  text-transform: uppercase; color: var(--state-unknown);
}

@media (max-width: 640px) {
  .search-box--stack { flex-wrap: wrap; }
  
  .search-box--stack input,
  .search-box--stack button { flex: 1 1 100%; min-width: 0; }
}

.tm-sel { backdrop-filter: blur(8px); }

@media (prefers-reduced-transparency: reduce) {
  :root { --frost-bg: rgba(18,22,30,.97); --frost-dark-bg: rgba(18,22,30,.97); }

  header.top,
  header.top .inner,
  header.top::before,
  .nav-dropdown-menu,
  .search-results,
  .stat-card,
  .card,
  .cta-btn.ghost,
  .stat-cell,
  .proof-card,
  .header-search input,
  .feedback-bubble,
  .feedback-panel,
  .nav-loading-overlay,
  .nh-tag,
  .nh-chip,
  .post-card,
  .sym-index,
  .nav-toggle-cb:checked ~ nav.tabs,
  .botnav,
  .botnav::after,
  .cmdk-backdrop,
  
  .tm-sel {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  
  header.top .inner,
  .botnav,
  .nav-toggle-cb:checked ~ nav.tabs { background: var(--frost-bg); }

  
  .card,
  .stat-card,
  .stat-cell,
  .nh-tag,
  .nh-chip,
  .post-card,
  .sym-index { background: var(--paper-raised); }

  
  .cmdk-backdrop,
  .nav-loading-overlay { background: color-mix(in srgb, var(--paper) 94%, transparent); }
}

.vc-card { margin-bottom: var(--sp-4); }
.vc-lead { margin: 0 0 var(--sp-3); font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.6; }
.vc-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-2); }
.vc-item {
  display: flex; align-items: center; gap: var(--sp-2) var(--sp-3); flex-wrap: wrap;
  padding: 9px 12px; border-radius: 9px; background: var(--paper-raised);
  box-shadow: inset 0 0 0 1px var(--line);
}

.vc-sym { display: inline-flex; align-items: center; min-height: 36px; gap: 7px; text-decoration: none; color: var(--ink); }
.vc-sym:hover { color: var(--accent); }
.vc-logo { border-radius: var(--r-round); flex: none; }
.vc-name { color: var(--text-dim); font-size: var(--fs-sm); }
.vc-move { display: inline-flex; align-items: center; gap: 6px; }
.vc-arrow { color: var(--text-faint); font-family: var(--mono); }

.vc-when { margin-left: auto; font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-faint); }

.sig-card.open { position: relative; overflow: hidden; }
.sig-card.open::before {
  content: ""; position: absolute; z-index: 0; pointer-events: none;
  top: 50%; left: 50%; width: 170%; aspect-ratio: 1; translate: -50% -50%;
  background: conic-gradient(from 0deg,
    transparent 0deg 300deg,
    color-mix(in srgb, var(--neutral) 62%, transparent) 338deg,
    var(--accent) 353deg,
    transparent 360deg);
  animation: sig-beam-spin 14s linear infinite;
}

.sig-card.open::after {
  content: ""; position: absolute; z-index: 1; pointer-events: none;
  inset: 1px; border-radius: inherit; background: var(--paper-raised);
}

.sig-card.open > * { position: relative; z-index: 2; }
@keyframes sig-beam-spin { to { rotate: 360deg; } }

@media (prefers-reduced-motion: reduce) {
  .sig-card.open::before { animation: none; }
}

@media (hover: hover) and (pointer: fine) {
  .stat-card-filter { position: relative; overflow: hidden; }
  .stat-card-filter::before {
    content: ""; position: absolute; inset: 0; z-index: -1;
    pointer-events: none; opacity: 0;
    transition: opacity 160ms ease-out;
    background: radial-gradient(150px circle at var(--spot-x, 50%) var(--spot-y, 50%),
      color-mix(in srgb, var(--accent) 13%, transparent), transparent 72%);
  }
  .stat-card-filter:hover::before,
  .stat-card-filter:focus-visible::before { opacity: 1; }

  
  @media (prefers-reduced-motion: reduce) {
    .stat-card-filter::before { transition: none; }
  }
}

@media (prefers-reduced-transparency: reduce) {
  .stat-card-filter::before { display: none; }
}

.ratio-note {
  color: var(--warn, var(--warn));
  cursor: help;
  font-weight: 700;
  margin-left: 2px;
}

.scr-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.scr-tab {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 14px; border-radius: 7px;
  border: 1px solid var(--line);
  background: var(--paper-raised);
  color: var(--text-dim);
  font-family: var(--mono);
  font-size: var(--fs-sm); letter-spacing: .03em;
  text-decoration: none; white-space: nowrap;
  transition: border-color .15s, color .15s;
}
.scr-tab em { font-style: normal; opacity: .62; font-variant-numeric: tabular-nums; }
.scr-tab:hover { color: var(--ink); border-color: var(--line-hard); }
.scr-tab.on { color: var(--brand); border-color: currentColor; background: transparent; }

.scr-scope {
  margin: 18px 0 8px; font-family: var(--mono);
  font-size: var(--fs-xs); letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-faint);
}

.sig-cap { display: block; }

.sig-bars { display: flex; gap: 3px; margin-top: 5px; justify-content: flex-end; }
.sig-bar {
  position: relative; width: 26px; height: 5px; border-radius: 3px;
  background: var(--line); overflow: hidden;
}
.sig-bar.none { background: transparent; box-shadow: inset 0 0 0 1px var(--line); }
.sig-fill { position: absolute; inset: 0 auto 0 0; border-radius: 3px; }
.sig-bar.ok   .sig-fill { background: var(--good); }
.sig-bar.warn .sig-fill { background: var(--amber); }
.sig-bar.over .sig-fill { background: var(--bad); }

.sig-kind { display: block; text-transform: capitalize; }
.sig-flags { display: flex; gap: 4px; margin-top: 5px; justify-content: flex-end; flex-wrap: wrap; }
.sig-flag {
  font-family: var(--mono); font-size: var(--fs-2xs); line-height: 1.6;
  padding: 0 5px; border-radius: 3px;
  color: var(--text-dim); box-shadow: inset 0 0 0 1px var(--line);
}
.sig-flag.bad { color: var(--bad-ink); box-shadow: inset 0 0 0 1px var(--bad-bg); }

.sig-holdings { display: block; }

.sig-mandate {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  overflow: hidden; text-align: right; text-wrap: balance;
  font-family: var(--mono); font-size: var(--fs-2xs); line-height: 1.45;
  color: var(--text-dim);
}
.sig-comp {
  display: flex; width: 92px; height: 5px; margin-top: 5px; margin-left: auto;
  border-radius: 3px; overflow: hidden; background: var(--line);
}
.sig-comp .seg { height: 100%; }
.sig-comp .seg.ok { background: var(--good); }
.sig-comp .seg.qn { background: var(--amber); }
.sig-comp .seg.nc { background: var(--bad); }
.sig-comp .seg.un { background: var(--line-hard); }

@media (prefers-reduced-motion: reduce) {
  .sig-fill, .sig-comp .seg { transition: none; }
}

.scr-hint {
  margin: 10px 0 2px; font-size: var(--fs-sm); line-height: 1.5;
  color: var(--text-faint);
}
.scr-hint a { color: var(--text-dim); text-decoration: none;
  border-bottom: 1px solid var(--line); }
.scr-hint a:hover { color: var(--ink); }
.scr-hint em {
  font-style: normal; font-family: var(--mono); font-size: var(--fs-xs);
  color: var(--text-faint);
}
.scr-check { gap: 8px; }

.scr-check input[type="checkbox"] {
  flex: none; width: auto; margin: 0; accent-color: var(--brand); cursor: pointer;
}
.scr-check label {
  display: flex; align-items: center; gap: 7px;
  font-size: var(--fs-base); color: var(--text-dim); cursor: pointer;
}
.scr-actions { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.scr-note { margin: 14px 0 18px; font-size: var(--fs-base); }

.scr-save {
  display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
  margin: 12px 0 0; padding-top: 12px;
  border-top: 1px solid var(--line);
}
.scr-save input[name="name"] {
  flex: 1; min-width: 180px; max-width: 320px;
  font-size: calc(14px * var(--ui-scale)); padding: 9px 12px;
  border: 1px solid var(--line-hard); border-radius: var(--r-md);
  background: var(--paper-raised); color: var(--ink);
}
.scr-save-link { font-size: var(--fs-sm); color: var(--text-dim); }
.scr-saved-note,
.scr-save-signin {
  margin: 10px 0 0; font-size: var(--fs-sm); color: var(--text-dim);
}
.scr-saved-note { color: var(--ink); }
.scr-name { display: block; font-size: var(--fs-sm); color: var(--text-dim); margin-top: 2px; }

.nd-why {
  display: block; margin-top: 3px;
  font-size: var(--fs-sm); line-height: 1.3; color: var(--text-dim);
}

.scr-scheme {
  display: inline-block; margin-left: 5px;
  font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .06em; text-transform: uppercase; color: var(--text-faint);
}

.comp { font-size: var(--fs-sm); white-space: nowrap; }
.comp-complete { color: var(--state-pos); }
.comp-financial_only { color: var(--warn); }
.comp-insufficient { color: var(--text-faint); }

.pill.notdetermined {
  color: var(--warn);
  border-color: color-mix(in srgb, var(--warn) 38%, transparent);
  background: color-mix(in srgb, var(--warn) 8%, transparent);
}
.pill.type-stock, .pill.type-crypto, .pill.type-fund {
  color: var(--text-dim); border-color: var(--line); background: transparent;
  font-size: var(--fs-xs);
}

.comp-src {
  display: block; margin-top: 2px;
  font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .06em; text-transform: uppercase; color: var(--text-faint);
}

.hold-bar {
  display: flex; height: 8px; border-radius: 99px; overflow: hidden;
  background: var(--paper); margin: 12px 0 8px;
}
.hold-bar .hb { display: block; height: 100%; }
.hold-bar .hb.ok   { background: var(--state-pos); }
.hold-bar .hb.q    { background: var(--warn); }
.hold-bar .hb.no   { background: var(--bad); }
.hold-bar .hb.none { background: var(--line-hard); }
.hold-key { display: flex; flex-wrap: wrap; gap: 12px; font-size: var(--fs-sm); }

.meth-compare { margin-top: 6px; }
.meth-pick {
  display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin: 0 0 12px;
}
.meth-pick-label {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .14em;
  text-transform: uppercase; color: var(--text-dim);
}
.meth-pick select {
  font-family: var(--mono); font-size: var(--fs-sm); font-weight: 600;
  color: var(--ink); background: var(--paper-raised);
  border: 1px solid var(--line-hard); border-radius: 9px;
  padding: 9px 12px; cursor: pointer; min-width: 190px;
  transition: var(--transition-fast);
}
.meth-pick select:hover { border-color: var(--brand-3); }
.meth-pick select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

tr.hold-row { cursor: pointer; }
tr.hold-row:hover { background: var(--brand-bg); }
tr.hold-row:focus-within { background: var(--brand-bg); }

@media (max-width: 640px) {
  .meth-pick { width: 100%; }
  .meth-pick select { flex: 1 1 100%; min-width: 0; }
}
.hold-key .k {
  display: inline-block; width: 8px; height: 8px; border-radius: var(--r-xs);
  margin-right: 5px; vertical-align: middle;
}
.hold-key .k.ok   { background: var(--state-pos); }
.hold-key .k.q    { background: var(--warn); }
.hold-key .k.no   { background: var(--bad); }
.hold-key .k.none { background: var(--line-hard); }
.hold-details { margin-top: 10px; }
.hold-details summary {
  cursor: pointer; font-family: var(--mono); font-size: var(--fs-sm);
  color: var(--text-dim); letter-spacing: .03em;
}

.wl-add { margin: 0; }
.wl-add button {
  background: none; border: 1px solid var(--line); color: var(--text-dim);
  border-radius: 5px; width: 24px; height: 24px; line-height: 1;
  font-size: calc(14px * var(--ui-scale)); cursor: pointer; padding: 0;
}
.wl-add button:hover { color: var(--brand); border-color: currentColor; }
.sr-only {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}

.cmp th[scope="row"] { text-align: left; font-weight: 500; color: var(--text-dim); white-space: nowrap; }
.cmp-name { display: block; font-size: var(--fs-sm); color: var(--text-dim); font-weight: 400; margin-top: 2px; }
.cmp-scope {
  display: block; font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .06em; text-transform: uppercase; color: var(--text-faint);
}
.cmp-na { color: var(--text-faint); font-family: var(--mono); font-size: var(--fs-sm); }
.cmp-incomparable td, .cmp-incomparable th { background: color-mix(in srgb, var(--warn) 5%, transparent); }
.cmp-warning-row td {
  font-size: var(--fs-sm); color: var(--warn); padding-top: 0;
  border-top: none;
}

.cmp-submit { display: flex; align-items: center; gap: 12px; margin-top: 14px; font-size: var(--fs-sm); }

.hold-meth { min-width: 320px; }
.mchips { display: flex; flex-wrap: wrap; gap: 3px; }
.mchip {
  display: inline-flex; align-items: baseline; gap: 4px;
  padding: 2px 6px; border-radius: 5px;
  font-family: var(--mono); font-size: var(--fs-xs); line-height: 1.5;
  border: 1px solid transparent; white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.mchip b { font-weight: 600; letter-spacing: .01em; }
.mchip i { font-style: normal; opacity: .85; }

.mchip.is-pass { color: var(--accent-ink); background: var(--accent-bg, color-mix(in srgb, var(--accent) 10%, transparent)); border-color: color-mix(in srgb, var(--accent) 22%, transparent); }
.mchip.is-fail { color: var(--bad-ink, var(--bad)); background: color-mix(in srgb, var(--bad) 10%, transparent); border-color: color-mix(in srgb, var(--bad) 24%, transparent); }

.mchip.is-none { color: var(--text-faint); background: transparent; border-color: var(--line); }
@media (max-width: 640px) {
  .hold-meth { min-width: 260px; }
  .mchip { font-size: var(--fs-2xs); padding: 2px 5px; }
  .mchip b { font-size: var(--fs-2xs); }
}

.cert-box {
  border: 1px solid var(--line-hard); border-radius: 10px;
  padding: 14px 16px; margin: 0 0 var(--sp-3);
  background: var(--paper-raised);
}
.cert-head { font-size: var(--fs-sm); line-height: 1.55; }
.cert-badge {
  display: inline-block; font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .06em; padding: 2px 7px; border-radius: var(--r-sm);
  margin-right: 8px; vertical-align: 1px;
  color: var(--neutral); box-shadow: inset 0 0 0 1px var(--line-hard);
}
.cert-facts {
  display: grid; grid-template-columns: max-content 1fr;
  gap: 3px var(--sp-3); margin: 12px 0 0; font-size: var(--fs-xs);
}
.cert-facts dt { color: var(--text-dim); font-family: var(--mono); }
.cert-facts dd { margin: 0; color: var(--ink); }
.cert-note {
  margin: 10px 0 0; font-size: var(--fs-xs);
  color: var(--text-dim); line-height: 1.55;
}

.cert-note.is-stale { color: var(--ink); }
.cert-note.is-stale b { color: var(--warn, var(--amber)); }
@media (max-width: 560px) {
  .cert-facts { grid-template-columns: 1fr; gap: 1px 0; }
  .cert-facts dt { margin-top: 8px; }
}

.hold-asof { margin: 0 0 var(--sp-2); font-size: var(--fs-sm); color: var(--text-dim); }
.hold-asof b { color: var(--ink); }
.hold-asof-warn {
  display: block; margin-top: 4px; font-size: var(--fs-xs); line-height: 1.5;
}
.hold-asof.is-stale .hold-asof-warn { color: var(--text-dim); }
.hold-asof.is-stale b { color: var(--ink); }

.fund-name-line { margin: 0 0 6px; font-size: var(--fs-sm); line-height: 1.4; }
.fund-name-line b { color: var(--ink); }

.purif { margin: 0 0 var(--sp-2); font-size: var(--fs-sm); color: var(--text-dim); line-height: 1.5; }
.purif b { color: var(--ink); }
.purif-note { display: block; margin-top: 4px; font-size: var(--fs-xs); }

:root {
  
  --hx-surface: #0c1220;
  --hx-surface-2: #0e1526;
  --hx-line: color-mix(in srgb, var(--raise) 8%, transparent);
  --hx-line-2: color-mix(in srgb, var(--raise) 14%, transparent);
  --hx-teal-dim: color-mix(in srgb, var(--neutral) 30%, transparent);
  --hx-teal-wash: color-mix(in srgb, var(--neutral) 5.5%, transparent);
  
  --hx-elev: 0 1px 0 color-mix(in srgb, var(--raise) 3%, transparent) inset, 0 18px 40px -28px rgba(0,0,0,.9);
  --hx-ease: cubic-bezier(.22,.7,.3,1);
}

.hx-hero { min-height: auto; padding: 48px 0 72px; overflow: hidden; }
@media (max-width: 1000px) { .hx-hero { padding: 56px 0 48px; } }
@media (max-width: 640px)  { .hx-hero { padding: 22px 0 34px; } }

.hx-hero-field { position: absolute; inset: 0; z-index: 0; pointer-events: none; }

.hx-grid-lines {
  position: absolute; inset: -10% -5%;
  background-image:
    linear-gradient(to right, color-mix(in srgb, var(--raise) 3.5%, transparent) 1px, transparent 1px),
    linear-gradient(to bottom, color-mix(in srgb, var(--raise) 2.8%, transparent) 1px, transparent 1px);
  background-size: 72px 72px;
  -webkit-mask-image: radial-gradient(ellipse 62% 68% at 42% 46%, #000 0%, transparent 78%);
          mask-image: radial-gradient(ellipse 62% 68% at 42% 46%, #000 0%, transparent 78%);
}

.hx-glow {
  position: absolute; width: 720px; height: 520px; right: -6%; top: -14%;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--neutral) 11%, transparent), transparent 72%);
  filter: blur(38px); will-change: transform;
  animation: hx-drift 26s ease-in-out infinite alternate;
}
@keyframes hx-drift {
  from { transform: translate3d(0, 0, 0) scale(1); opacity: .85; }
  to   { transform: translate3d(-38px, 26px, 0) scale(1.06); opacity: 1; }
}
@media (max-width: 640px) { .hx-glow { width: 380px; height: 300px; filter: blur(30px); } }

.hx-hero-grid { grid-template-columns: 1.04fr .96fr; gap: 60px; align-items: center; }
@media (max-width: 1000px) { .hx-hero-grid { grid-template-columns: 1fr; gap: 40px; } }

.hx-eyebrow {
  background: none; backdrop-filter: none; border: 0; border-radius: 0;
  padding: 0; margin: 0 0 22px; letter-spacing: .18em; text-transform: uppercase;
  font-size: var(--fs-xs); color: var(--text-dim);
}

.hx-dot {
  width: 6px; height: 6px; border-radius: 1px; background: var(--brand-3);
  box-shadow: none; animation: hx-breathe 3.4s ease-in-out infinite;
}
@keyframes hx-breathe { 0%, 100% { opacity: 1; } 50% { opacity: .42; } }

.hx-h1 {
  font-size: clamp(42px, 6.6vw, 82px); line-height: .95; letter-spacing: -.038em;
  font-weight: 600; max-width: 13ch; margin: 0 0 20px; color: var(--ink);
}

.hx-h1 em {
  font-style: normal; background: none; -webkit-background-clip: border-box;
  background-clip: border-box; color: var(--brand-3); filter: none;
}
.hx-sub {
  font-family: var(--display); font-size: clamp(17px, 2.1vw, 22px);
  line-height: 1.4; font-weight: 400; color: var(--ink);
  max-width: 34ch; margin: 0 0 18px; letter-spacing: -.012em;
}
.hx-sub em { font-style: normal; color: var(--brand-3); }
.hx-lead { font-size: calc(14.5px * var(--ui-scale)); line-height: 1.68; max-width: 52ch; margin: 0 0 32px; color: var(--text-dim); }

.hx-acts { gap: 12px; align-items: center; }
.hx-cta {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--sans); font-size: calc(14px * var(--ui-scale)); font-weight: 500;
  padding: 13px 21px; border-radius: var(--r-md); text-decoration: none;
  border: 1px solid transparent; white-space: nowrap;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease,
              transform .2s var(--hx-ease), box-shadow .2s ease;
}
.hx-cta--primary { background: var(--brand-3); color: var(--brand-3-ink); font-weight: 600; }
.hx-cta--primary:hover {
  background: var(--brand-3-bright); transform: translateY(-1px);
  box-shadow: 0 10px 26px -14px color-mix(in srgb, var(--neutral) 55%, transparent);
}
.hx-cta--search {
  background: var(--hx-surface); color: var(--ink);
  border-color: var(--hx-line-2); font-family: var(--mono); font-size: var(--fs-base);
}
.hx-cta--search svg { width: 15px; height: 15px; opacity: .6; }
.hx-cta--search:hover { border-color: var(--hx-teal-dim); background: var(--hx-surface-2); transform: translateY(-1px); }
.hx-cta--search:hover svg { opacity: .95; }
.hx-arrow { display: inline-block; transition: transform .2s var(--hx-ease); }
.hx-cta:hover .hx-arrow { transform: translateX(4px); }

.hx-line { position: relative; height: 1px; background: var(--hx-line); margin: 16px 0; overflow: hidden; }
.hx-line > i {
  position: absolute; inset: 0 auto 0 0; width: 100%;
  background: linear-gradient(90deg, transparent, var(--brand-3) 62%, var(--bad) 100%);
  transform-origin: left center; transform: scaleX(1);
}

.nh-js .hx-line > i { transform: scaleX(0); }
.nh-ready .hx-line > i,
.hx-chain-lit .hx-line > i { transform: scaleX(1); transition: transform 1.05s var(--hx-ease) .35s; }
.hx-line--card { margin: 12px 0 13px; }

.hx-hero-visual { position: relative; }

.hx-hero-shot {
  display: block; width: 100%; height: auto;
  border: 1px solid var(--hx-line-2); border-radius: 10px;
  box-shadow: var(--hx-elev);
  
  filter: saturate(.92) brightness(.86);
}

@media (min-width: 901px) {
  .hx-hero-visual .hx-ee {
    position: relative; z-index: 1;
    margin: -84px 0 0 auto; width: min(100%, 380px);
    
  }
}

.hx-ee {
  background: linear-gradient(180deg, var(--hx-surface-2), var(--hx-surface));
  border: 1px solid var(--hx-line-2); border-radius: 10px;
  padding: 0 0 14px; box-shadow: var(--hx-elev);
}
.hx-ee-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 13px 16px; border-bottom: 1px solid var(--hx-line);
}
.hx-ee-title {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .16em;
  text-transform: uppercase; color: var(--text-dim);
}
.hx-ee-live {
  display: inline-flex; align-items: center; gap: 7px; font-family: var(--mono);
  font-size: var(--fs-2xs); letter-spacing: .13em; text-transform: uppercase;
  color: var(--state-pos); border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  border-radius: var(--r-sm); padding: 3px 8px;
}
.hx-ee-live--idle { color: var(--text-faint); border-color: var(--hx-line); }
.hx-live-dot {
  width: 5px; height: 5px; border-radius: var(--r-round); background: currentColor;
  animation: hx-breathe 3.4s ease-in-out infinite;
}
.hx-ee-body { padding: 16px 16px 4px; }

.hx-ee-sym { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; text-decoration: none; }
.hx-ee-tkr { font-family: var(--mono); font-size: calc(21px * var(--ui-scale)); font-weight: 700; letter-spacing: -.01em; color: var(--ink); }
.hx-ee-name { font-size: var(--fs-sm); color: var(--text-dim); }
.hx-ee-sym:hover .hx-ee-tkr { color: var(--brand-3); }
.hx-ee-verdict { margin-top: 11px; }

.hx-ee-score { display: flex; align-items: flex-end; justify-content: space-between; margin-top: 20px; }
.hx-ee-score-l {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .16em;
  text-transform: uppercase; color: var(--text-dim); padding-bottom: 7px;
  
  white-space: nowrap;
}
.hx-ee-score-n {
  font-family: var(--mono); font-size: calc(52px * var(--ui-scale)); line-height: 1; font-weight: 700;
  letter-spacing: -.045em; color: var(--ink); font-variant-numeric: tabular-nums;
}

.hx-ee-rows { list-style: none; margin: 4px 0 0; padding: 0; }

.hx-ee-row {
  display: grid; grid-template-columns: 112px 1fr auto 14px; align-items: center;
  gap: 10px; padding: 5px 0; font-family: var(--mono); font-size: var(--fs-xs);
}
.hx-ee-row-l {
  color: var(--text-dim); letter-spacing: .04em; text-transform: uppercase;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.hx-ee-row-bar { position: relative; height: 3px; border-radius: var(--r-xs); background: color-mix(in srgb, var(--raise) 7%, transparent); overflow: hidden; }
.hx-ee-row-bar > i {
  position: absolute; inset: 0 auto 0 0; border-radius: var(--r-xs);
  background: var(--brand-3); opacity: .82;
}
.hx-ee-row.is-weak .hx-ee-row-bar > i { background: var(--text-faint); opacity: .9; }
.hx-ee-row-v { color: var(--ink); font-variant-numeric: tabular-nums; }
.hx-ee-row-max { color: var(--text-faint); }
.hx-ee-row-k { text-align: right; color: var(--state-pos); font-size: var(--fs-xs); }
.hx-ee-row.is-weak .hx-ee-row-k { color: var(--text-faint); }

.hx-ee-foot {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--hx-line);
}
.hx-ee-bias {
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .13em;
  text-transform: uppercase; padding: 4px 9px; border-radius: var(--r-sm);
  border: 1px solid var(--hx-line-2); color: var(--ink);
}
.hx-ee-bias--long  { color: var(--state-pos); border-color: color-mix(in srgb, var(--accent) 24%, transparent); }
.hx-ee-bias--short { color: var(--bad-ink);   border-color: color-mix(in srgb, var(--bad) 24%, transparent); }
.hx-ee-levels { display: flex; gap: 16px; flex-wrap: wrap; margin-left: auto; }
.hx-lv { font-family: var(--mono); font-size: var(--fs-sm); color: var(--ink); font-variant-numeric: tabular-nums; }
.hx-lv b {
  display: block; font-weight: 400; font-size: var(--fs-2xs); letter-spacing: .13em;
  text-transform: uppercase; color: var(--text-faint); margin-bottom: 3px;
}

.hx-lv-age { font-size: var(--fs-2xs); color: var(--state-unknown); letter-spacing: 0; }
.hx-ee-note {
  margin: 12px 16px 0; padding-top: 11px; border-top: 1px solid var(--hx-line);
  font-size: var(--fs-xs); line-height: 1.55; color: var(--text-faint);
}
.hx-ee-note a { color: var(--brand-3); text-decoration: none; }
.hx-ee-note a:hover { text-decoration: underline; }

.hx-ee-scan { display: none; }
.nh-js .hx-ee-scan {
  display: block; margin: 0; padding: 14px 16px 0;
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .07em; color: var(--brand-3);
}
.nh-js .hx-ee-scan-text::after { content: ""; display: inline-block; width: 7px; height: 12px; margin-left: 4px; background: currentColor; vertical-align: -2px; animation: hx-caret 1s steps(1) infinite; }
@keyframes hx-caret { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
.hx-ee-scan-done .hx-ee-scan { display: none; }

.hx-ee--empty { padding-bottom: 16px; }
.hx-ee-empty-t { margin: 18px 16px 6px; font-size: var(--fs-md); font-weight: 500; color: var(--ink); }
.hx-ee-empty-d { margin: 0 16px; font-size: var(--fs-sm); line-height: 1.6; color: var(--text-dim); }

.hx-ribbon-wrap { margin: 6px 0 42px; }
.hx-ribbon-h {
  font-family: var(--display); font-size: clamp(19px, 2.2vw, 25px); font-weight: 500;
  letter-spacing: -.02em; margin: 0 0 14px; color: var(--ink);
}
.hx-ribbon {
  display: grid; grid-template-columns: repeat(5, 1fr);
  border: 1px solid var(--hx-line); border-radius: var(--r-lg);
  background: var(--hx-surface); overflow: hidden;
}
.hx-rib {
  display: block; padding: 15px 18px; text-decoration: none;
  border-left: 1px solid var(--hx-line); transition: background-color .18s ease;
}
.hx-rib:first-child { border-left: 0; }
.hx-rib:hover { background: var(--hx-teal-wash); }
.hx-rib-l {
  display: block; font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .14em;
  text-transform: uppercase; color: var(--text-faint); margin-bottom: 8px;
}
.hx-rib-v {
  display: block; font-family: var(--mono); font-size: calc(20px * var(--ui-scale)); font-weight: 600;
  letter-spacing: -.02em; color: var(--ink); font-variant-numeric: tabular-nums;
}
.hx-rib-v--pos   { color: var(--state-pos); }
.hx-rib-v--neg   { color: var(--bad-ink); }
.hx-rib-v--brand { color: var(--brand-3); }

.hx-rib-v--none { font-size: var(--fs-base); font-weight: 500; color: var(--state-unknown); letter-spacing: 0; }
.hx-rib-s { display: block; margin-top: 6px; font-size: var(--fs-xs); line-height: 1.45; color: var(--text-faint); }

.hx-rib-age { font-size: var(--fs-2xs); font-variant-numeric: tabular-nums; }
.hx-rib--unavailable { background: color-mix(in srgb, var(--raise) 1.2%, transparent); }
@media (max-width: 900px) {
  .hx-ribbon { grid-template-columns: repeat(2, 1fr); }
  .hx-rib { border-top: 1px solid var(--hx-line); }
  .hx-rib:nth-child(-n+2) { border-top: 0; }
  .hx-rib:nth-child(odd) { border-left: 0; }
}

.hx-sub-tight { margin-top: -6px; max-width: 74ch; }
.hx-muted { font-size: var(--fs-sm); line-height: 1.6; color: var(--text-dim); margin: 10px 0 0; }
.hx-chart-card { padding-top: 18px; }
.hx-coverage-note { margin: 16px 0 0; font-size: var(--fs-sm); line-height: 1.6; color: var(--text-dim); }
.hx-coverage-note a { color: var(--brand-3); text-decoration: none; }
.hx-coverage-note a:hover { text-decoration: underline; }
.hx-bento { margin-top: 4px; }

.hx-opps { display: grid; grid-template-columns: repeat(auto-fit, minmax(238px, 1fr)); gap: 14px; }
@media (max-width: 1080px) { .hx-opps { grid-template-columns: repeat(2, 1fr); } }
.hx-opp {
  display: block; text-decoration: none; padding: 16px 16px 14px;
  background: var(--hx-surface); border: 1px solid var(--hx-line); border-radius: var(--r-lg);
  transition: transform .2s var(--hx-ease), border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.hx-opp:hover {
  transform: translateY(-2px); border-color: var(--hx-teal-dim);
  background: var(--hx-surface-2); box-shadow: var(--hx-elev);
}
.hx-opp-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.hx-opp-tkr { display: block; font-family: var(--mono); font-size: calc(17px * var(--ui-scale)); font-weight: 700; color: var(--ink); }
.hx-opp-name { display: block; margin-top: 3px; font-size: var(--fs-sm); line-height: 1.4; color: var(--text-dim); }
.hx-opp-score { text-align: right; flex: none; }
.hx-opp-score-n {
  display: block; font-family: var(--mono); font-size: var(--fs-3xl); font-weight: 700;
  line-height: 1; letter-spacing: -.04em; color: var(--brand-3); font-variant-numeric: tabular-nums;
}
.hx-opp-score-l {
  display: block; margin-top: 5px; font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .14em; text-transform: uppercase; color: var(--text-faint);
}
.hx-opp-pill { margin-top: 11px; }
.hx-opp-why { margin: 0; font-size: var(--fs-sm); line-height: 1.55; color: var(--text-dim); }
.hx-opp-n { color: var(--text-faint); }

.hx-opp-levels { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; margin-top: 13px; }
.hx-opp-record {
  margin: 12px 0 0; padding-top: 11px; border-top: 1px solid var(--hx-line);
  font-size: var(--fs-xs); line-height: 1.5; color: var(--text-faint); font-family: var(--mono);
}
.hx-opp-go {
  display: inline-flex; align-items: center; gap: 7px; margin-top: 12px;
  font-size: var(--fs-sm); font-weight: 500; color: var(--brand-3);
}
.hx-opp:hover .hx-arrow { transform: translateX(4px); }

.hx-chain { position: relative; padding: 8px 0 4px; --hx-dot-offset: 30px; }
.hx-node:last-child .hx-node-dot { background: var(--bad); border-color: var(--bad); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bad) 13%, transparent); }
.hx-chain-rail {
  position: absolute; left: 0; right: 0; height: 1px;
  top: calc(8px + var(--hx-dot-offset) + 4px);
  background: var(--hx-line); overflow: hidden;
}
.hx-chain-rail > i {
  position: absolute; inset: 0; transform-origin: left center; transform: scaleX(1);
  background: linear-gradient(90deg, var(--brand-3), color-mix(in srgb, var(--neutral) 35%, transparent) 72%, var(--bad));
}
.nh-js .hx-chain-rail > i { transform: scaleX(0); }
.hx-chain-lit .hx-chain-rail > i { transform: scaleX(1); transition: transform 1.5s var(--hx-ease); }
.hx-chain-track {
  position: relative; display: grid; grid-template-columns: repeat(5, 1fr);
  gap: 0; list-style: none; margin: 0; padding: 0;
}
.hx-node {
  position: relative; padding: 0 20px 0 0; margin-right: 18px;
  border-right: 1px solid var(--hx-line);
}
.hx-node:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.hx-node-dot {
  display: block; width: 9px; height: 9px; border-radius: var(--r-round);
  background: var(--brand-3); border: 1px solid var(--brand-3);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--neutral) 13%, transparent);
  margin: var(--hx-dot-offset) 0 18px; position: relative; z-index: 2;
  transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.hx-node-n {
  display: block; font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .16em;
  color: var(--text-faint); margin-bottom: 8px;
}
.hx-node-t {
  font-family: var(--display); font-size: calc(17px * var(--ui-scale)); font-weight: 600; letter-spacing: -.015em;
  margin: 0 0 8px; color: var(--ink);
}
.hx-node-d { font-size: var(--fs-sm); line-height: 1.62; color: var(--text-dim); margin: 0 0 10px; }
.hx-node-k {
  display: block; font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-faint);
}

.hx-lenses { display: grid; grid-template-columns: repeat(auto-fit, minmax(228px, 1fr)); gap: 10px; }
.hx-lens {
  display: block; text-decoration: none; padding: 14px 15px;
  background: var(--hx-surface); border: 1px solid var(--hx-line); border-radius: 7px;
  transition: transform .2s var(--hx-ease), border-color .2s ease, background-color .2s ease;
}
.hx-lens:hover { transform: translateY(-2px); border-color: var(--hx-teal-dim); background: var(--hx-surface-2); }
.hx-lens-k { display: block; font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .16em; color: var(--text-faint); margin-bottom: 9px; }
.hx-lens-n { display: block; font-family: var(--mono); font-size: var(--fs-base); font-weight: 600; color: var(--ink); letter-spacing: -.005em; }

.hx-lens-d {
  display: block; margin-top: 0; max-height: 0; overflow: hidden; opacity: 0;
  font-size: var(--fs-xs); line-height: 1.5; color: var(--text-dim);
  transition: max-height .22s var(--hx-ease), opacity .22s ease, margin-top .22s var(--hx-ease);
}
.hx-lens:hover .hx-lens-d, .hx-lens:focus-visible .hx-lens-d { max-height: 4em; opacity: 1; margin-top: 8px; }

.hx-research { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; }
.hx-study {
  padding: 16px; background: var(--hx-surface);
  border: 1px solid var(--hx-line); border-left: 2px solid var(--hx-teal-dim);
  border-radius: 7px;
}
.hx-study-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.hx-study-k { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .15em; text-transform: uppercase; color: var(--text-faint); }
.hx-study-q { font-size: calc(14px * var(--ui-scale)); font-weight: 500; line-height: 1.5; margin: 0 0 13px; color: var(--ink); }
.hx-study-n {
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim); margin: 0;
  padding-top: 11px; border-top: 1px solid var(--hx-line); font-variant-numeric: tabular-nums;
}
.hx-study-g { font-size: var(--fs-sm); line-height: 1.6; color: var(--text-faint); margin: 7px 0 0; }

.hx-proof {
  display: grid; grid-template-columns: repeat(5, 1fr);
  border: 1px solid var(--hx-line); border-radius: var(--r-lg); background: var(--hx-surface); overflow: hidden;
}
.hx-metric { padding: 18px; border-left: 1px solid var(--hx-line); }
.hx-metric:first-child { border-left: 0; }
.hx-metric-l { display: block; font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .14em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 11px; }
.hx-metric-n {
  display: block; font-family: var(--mono); font-size: var(--fs-3xl); font-weight: 700;
  line-height: 1; letter-spacing: -.04em; color: var(--ink); font-variant-numeric: tabular-nums;
}
.hx-metric-u { font-size: calc(17px * var(--ui-scale)); font-weight: 500; color: var(--text-dim); margin-left: 1px; }
.hx-metric-n--none { font-size: calc(14px * var(--ui-scale)); font-weight: 500; letter-spacing: 0; color: var(--state-unknown); }
.hx-metric-n--neg { color: var(--bad-ink); }
.hx-metric-s { display: block; margin-top: 9px; font-size: var(--fs-xs); line-height: 1.5; color: var(--text-faint); }
@media (max-width: 900px) {
  .hx-proof { grid-template-columns: repeat(2, 1fr); }
  .hx-metric { border-top: 1px solid var(--hx-line); }
  .hx-metric:nth-child(-n+2) { border-top: 0; }
  .hx-metric:nth-child(odd) { border-left: 0; }
}

.hx-pillars .proof-card { display: block; text-decoration: none; }
.hx-pillar-go {
  display: inline-flex; align-items: center; gap: 7px; margin-top: 14px;
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .05em; color: var(--brand-3);
}
.hx-pillars .proof-card:hover .hx-arrow { transform: translateX(4px); }

.hx-questions { display: grid; grid-template-columns: repeat(auto-fit, minmax(238px, 1fr)); gap: 8px; }
.hx-q {
  display: block; padding: 13px 15px; font-size: var(--fs-base); color: var(--ink);
  text-decoration: none; background: var(--hx-surface);
  border: 1px solid var(--hx-line); border-radius: var(--r-md);
  transition: border-color .2s ease, transform .2s var(--hx-ease), color .2s ease;
}
.hx-q:hover { border-color: var(--hx-teal-dim); color: var(--brand-3); transform: translateY(-2px); }

.hx-final { text-align: center; padding: 96px 0 56px; }
.hx-final-h {
  font-family: var(--display); font-size: clamp(32px, 4.6vw, 54px); font-weight: 600;
  letter-spacing: -.035em; line-height: 1.02; margin: 0 0 16px; color: var(--ink);
}
.hx-final-s { max-width: 46ch; margin: 0 auto 30px; font-size: calc(15px * var(--ui-scale)); line-height: 1.65; color: var(--text-dim); }
.hx-final-acts { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.hx-final-n { margin: 32px auto 0; max-width: 52ch; font-size: var(--fs-sm); color: var(--text-faint); }
.hx-final-n a { color: var(--brand-3); text-decoration: none; }
.hx-final-n a:hover { text-decoration: underline; }
@media (max-width: 640px) { .hx-final { padding: 64px 0 36px; } }

@media (max-width: 640px) {
  .hx-h1 { font-size: clamp(38px, 11vw, 50px); max-width: 100%; }
  .hx-sub { font-size: calc(17px * var(--ui-scale)); max-width: 100%; }
  .hx-lead { font-size: calc(14px * var(--ui-scale)); }
  .hx-acts { gap: 10px; }
  .hx-cta { flex: 1 1 100%; justify-content: center; padding: 15px 18px; }
  .hx-ee-row { grid-template-columns: 112px auto 1fr 14px; }
  .hx-ee-row-bar { display: none; }
  .hx-ee-row-v { text-align: left; }
  .hx-ee-score-n { font-size: calc(44px * var(--ui-scale)); }
  .hx-ee-levels { margin-left: 0; gap: 18px; }
  .hx-ribbon-wrap { margin-bottom: 34px; }
  .hx-opps { grid-template-columns: 1fr; }
  .hx-lenses, .hx-questions { grid-template-columns: 1fr; }
  .hx-research { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .hx-glow { animation: none; }
  .hx-dot, .hx-live-dot { animation: none; }
  .nh-js .hx-ee-scan { display: none; }
  .hx-line > i, .nh-js .hx-line > i,
  .hx-chain-rail > i, .nh-js .hx-chain-rail > i { transform: none; transition: none; }
  .hx-chain-lit .hx-node-dot { transition: none; }
  .hx-cta, .hx-opp, .hx-lens, .hx-q, .hx-arrow { transition: none; }
  .hx-cta:hover, .hx-opp:hover, .hx-lens:hover, .hx-q:hover { transform: none; }
  .nh-js .hx-ee-row { opacity: 1; transform: none; }
}

.hx-ee-row { opacity: 1; transform: none; }
.nh-js .hx-ee-row { opacity: 0; transform: translateY(6px); }

.hx-ee-armed .hx-ee-row,
.hx-ee-settled .hx-ee-row {
  opacity: 1; transform: none;
  transition: opacity .34s ease, transform .34s var(--hx-ease);
  transition-delay: calc(var(--i, 0) * .085s);
}
.hx-ee-foot { opacity: 1; }
.nh-js .hx-ee-foot { opacity: 0; }
.hx-ee-armed .hx-ee-foot,
.hx-ee-settled .hx-ee-foot { opacity: 1; transition: opacity .4s ease .1s; }
@media (prefers-reduced-motion: reduce) {
  .nh-js .hx-ee-row, .nh-js .hx-ee-foot { opacity: 1; transform: none; }
}

.hx-chain .htr-step {
  background: none; border: 0; border-top: 0; border-radius: 0;
  padding: 0 20px 0 0;
}
.hx-chain .htr-step:not(:last-child)::after { content: none; }
.hx-chain .htr-step-t { text-transform: none; letter-spacing: -.015em; font-family: var(--display); }
.hx-chain .htr-step-n { color: var(--text-faint); font-weight: 400; }
.hx-chain .htr-step--end .htr-step-n { color: var(--text-faint); }
.hx-chain .hx-node { border-right: 1px solid var(--hx-line); margin-right: 18px; }
.hx-chain .hx-node:last-child { border-right: 0; margin-right: 0; padding-right: 0; }

@media (max-width: 948px) {
  .hx-chain .htr-engine-track, .hx-chain-track { grid-template-columns: 1fr; gap: 26px; }
  .hx-chain-rail { left: 4px; right: auto; top: 12px; bottom: 12px; width: 1px; height: auto; }
  .hx-chain-rail > i { background: linear-gradient(180deg, var(--brand-3), color-mix(in srgb, var(--neutral) 35%, transparent) 72%, var(--bad)); transform-origin: center top; }
  .nh-js .hx-chain-rail > i { transform: scaleY(0); }
  .hx-chain-lit .hx-chain-rail > i { transform: scaleY(1); transition: transform 1.5s var(--hx-ease); }
  
  @media (prefers-reduced-motion: reduce) {
    .hx-chain-rail > i,
    .nh-js .hx-chain-rail > i,
    .hx-chain-lit .hx-chain-rail > i { transform: none; transition: none; }
  }
  .hx-chain .hx-node, .hx-chain .htr-step { border-right: 0; margin-right: 0; padding: 0 0 0 26px; }
  .hx-node-dot { position: absolute; left: 0; top: 4px; margin: 0; }
}

.hx-hero .w { max-width: none; padding: 0 20px; }
@media (max-width: 400px) { .hx-ee-score-n { font-size: calc(38px * var(--ui-scale)); } }

@media (max-width: 900px) {
  .hx-rib:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

.hx-node:last-child .hx-node-dot { background: var(--bad); border-color: var(--bad); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bad) 13%, transparent); }
.nh-js .hx-node-dot { background: var(--paper); border-color: var(--hx-line-2); box-shadow: none; }
.nh-js .hx-chain-lit .hx-node-dot {
  background: var(--brand-3); border-color: var(--brand-3);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--neutral) 13%, transparent);
  transition-delay: calc(var(--i, 0) * .22s + .18s);
}
.nh-js .hx-chain-lit .hx-node:last-child .hx-node-dot {
  background: var(--bad); border-color: var(--bad); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bad) 13%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .nh-js .hx-node-dot { background: var(--brand-3); border-color: var(--brand-3); box-shadow: 0 0 0 3px color-mix(in srgb, var(--neutral) 13%, transparent); }
  .nh-js .hx-node:last-child .hx-node-dot { background: var(--bad); border-color: var(--bad); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bad) 13%, transparent); }
}

.hx-ee-score { opacity: 1; }
.nh-js .hx-ee-score { opacity: 0; }
.hx-ee-scored .hx-ee-score,
.hx-ee-settled .hx-ee-score { opacity: 1; transition: opacity .3s ease; }
@media (prefers-reduced-motion: reduce) {
  .nh-js .hx-ee-score { opacity: 1; }
}

.hx-pillars .proof-card {
  background: var(--hx-surface); border-color: var(--hx-line);
  backdrop-filter: none; -webkit-backdrop-filter: none;
  border-radius: var(--r-lg); gap: 10px;
}
.hx-pillars .proof-card h3 { color: var(--ink); }
.hx-pillars .proof-card p { color: var(--text-dim); }
.hx-pillars .proof-card:hover {
  transform: translateY(-2px); border-color: var(--hx-teal-dim);
  background: var(--hx-surface-2); box-shadow: var(--hx-elev);
}

.hx-pillars .proof-card.k1:hover,
.hx-pillars .proof-card.k2:hover,
.hx-pillars .proof-card.k3:hover { border-color: var(--hx-teal-dim); box-shadow: var(--hx-elev); }

:root {
  
  --tm-panel: var(--paper);
  --tm-panel-2: var(--paper-raised);
  --tm-head: color-mix(in srgb, var(--paper-raised) 92%, var(--ink));
  --tm-line: color-mix(in srgb, var(--ink) 8%, transparent);
  --tm-line-2: color-mix(in srgb, var(--ink) 15%, transparent);
  --tm-teal-wash: color-mix(in srgb, var(--accent) 7%, transparent);
  
  --tm-heat-pos: color-mix(in srgb, var(--good) 42%, #000);
  --tm-heat-neg: color-mix(in srgb, var(--bad) 42%, #000);
  --tm-gap: 8px;
  
  --tm-den: 1;
}

.tm {
  font-size: var(--fs-sm);
  margin: 0 0 40px;
}

.tm[data-density="t"] { --tm-den: .70; --tm-gap: 4px;  font-size: var(--fs-2xs); }
.tm[data-density="s"] { --tm-den: .85; --tm-gap: 6px;  font-size: var(--fs-xs); }
.tm[data-density="m"] { --tm-den: 1;   --tm-gap: 8px;  font-size: var(--fs-sm); }
.tm[data-density="l"] { --tm-den: 1.3; --tm-gap: 12px; font-size: var(--fs-base); }

.tm { width: calc(100% + 40px); max-width: 1560px; margin-left: -20px; margin-right: -20px; }
@media (min-width: 1640px) { .tm { margin-left: auto; margin-right: auto; width: 100%; } }

body.htr-immersive .shell { max-width: none; margin: 0; padding: 0; }

body.htr-home-wide .shell { max-width: none; padding-left: 0; padding-right: 0; }

body.htr-immersive .tm {
  width: 100%; max-width: none;
  margin: 0;
  padding: 0 var(--sp-3)
           calc(var(--sp-4) + var(--tm-status-h) + env(safe-area-inset-bottom, 0px));
}
@media (max-width: 760px) {
  body.htr-immersive .tm {
    padding: 0 var(--sp-2)
             calc(var(--sp-3) + var(--tm-status-h) + env(safe-area-inset-bottom, 0px));
  }
}

.tm-exitbar {
  position: sticky; top: 0; z-index: 50;
  display: flex; flex-direction: column;
  padding: 0;
  margin-bottom: var(--tm-gap);
  background: var(--tm-panel);
  border-bottom: 1px solid var(--tm-line-2);
}
.tm-cmdrow {
  display: flex; align-items: center; gap: var(--sp-2);
  height: var(--tm-cmd-h, 44px); padding: 0 var(--sp-3);
  box-sizing: border-box; border-bottom: 1px solid var(--tm-line);
}

.tm-mark {
  flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; box-sizing: border-box;
  font-family: var(--mono); font-size: var(--fs-2xs); font-weight: 700; letter-spacing: .02em;
  color: var(--accent); border: 1px solid var(--accent);
}
.tm-exit {
  flex: 0 0 auto;
  display: inline-flex; align-items: center; gap: var(--sp-1);
  padding: 6px 10px;
  font-family: var(--mono); font-size: var(--fs-xs);
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--text-dim); text-decoration: none;
  border: 1px solid var(--tm-line-2);
  transition: var(--transition-fast);
}
.tm-exit:hover, .tm-exit:focus-visible {
  color: var(--ink); border-color: var(--accent); background: var(--tm-panel-2);
}
.tm-exit-x { font-size: var(--fs-sm); line-height: 1; }

.tm-cmd {
  flex: 1 1 auto; min-width: 0;
  display: flex; align-items: center; gap: 7px;
  height: 28px; box-sizing: border-box; padding: 0 8px;
  background: var(--tm-panel-2); border: 1px solid var(--tm-line-2);
}
.tm-cmd:focus-within { border-color: var(--accent); }
.tm-cmd-p {
  flex: 0 0 auto; cursor: text;
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .06em;
  color: var(--accent);
}
.tm-cmd-in {
  flex: 1 1 auto; min-width: 0;
  background: none; border: 0; outline: none; padding: 0; margin: 0;
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .04em;
  color: var(--ink);
}
.tm-cmd-in::placeholder { color: var(--text-faint); letter-spacing: .06em; }

.tm-cmd-in.is-bad::placeholder { color: var(--bad-ink); }
.tm-cmd:focus-within .tm-cmd-in.is-bad::placeholder { color: var(--bad-ink); }

.tm-cmd-k {
  flex: 0 0 auto; padding: 1px 4px;
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .06em;
  color: var(--text-faint); border: 1px solid var(--tm-line-2);
}
.tm-js .tm-cmd-k { cursor: pointer; }
.tm-js .tm-cmd-k:hover { color: var(--accent); border-color: var(--accent); }
.tm-clock {
  flex: 0 0 auto; white-space: nowrap;
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .06em;
  font-variant-numeric: tabular-nums; color: var(--text-dim);
}

.tm-fnav {
  display: flex; align-items: stretch;
  height: var(--tm-fnav-h, 28px); box-sizing: border-box;
  padding: 0 var(--sp-3);
  overflow-x: auto; overflow-y: hidden; scrollbar-width: none;
  background: var(--tm-head);
}
.tm-fnav::-webkit-scrollbar { display: none; }
.tm-fn-i {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px;
  padding: 0 11px; white-space: nowrap; text-decoration: none;
  border-right: 1px solid var(--tm-line);
  transition: var(--transition-fast);
}
.tm-fn-i:first-child { border-left: 1px solid var(--tm-line); }
.tm-fn-c {
  font-family: var(--mono); font-size: var(--fs-2xs); font-weight: 600;
  font-variant-numeric: tabular-nums; color: var(--accent);
}
.tm-fn-l {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .16em;
  text-transform: uppercase; color: var(--text-dim);
}
.tm-fn-i:hover, .tm-fn-i:focus-visible { background: var(--tm-teal-wash); }
.tm-fn-i:hover .tm-fn-l, .tm-fn-i:focus-visible .tm-fn-l { color: var(--ink); }

.tm-fn-i.is-here { background: var(--tm-teal-wash); box-shadow: inset 0 -2px 0 var(--accent); }
.tm-fn-i.is-here .tm-fn-l { color: var(--ink); }

.tm-fn-i.is-off .tm-fn-c, .tm-fn-i.is-off .tm-fn-l { opacity: .35; }
.tm-fn-i.is-off .tm-fn-l { text-decoration: line-through; }

body.htr-immersive {
  --tm-cmd-h: 44px;
  --tm-fnav-h: 28px;
  --tm-status-h: 26px;
  --tm-exit-h: calc(var(--tm-cmd-h) + var(--tm-fnav-h));
}
body.htr-immersive .tm-exitbar { min-height: var(--tm-exit-h); box-sizing: border-box; }
body.htr-immersive table:not(.tm-tbl) th { top: var(--tm-exit-h); }

body.htr-immersive .feedback-widget { display: none; }

.tm-exit-acct {
  flex: 0 0 auto;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 10px; margin-left: 0;
  font-family: var(--mono); font-size: var(--fs-xs);
  letter-spacing: .08em; text-decoration: none; white-space: nowrap;
  color: var(--text-dim);
  border: 1px solid var(--tm-line-2);
  transition: var(--transition-fast);
}
.tm-exit-acct:hover, .tm-exit-acct:focus-visible {
  color: var(--ink); border-color: var(--accent); background: var(--tm-panel-2);
}
.tm-acct-dot { width: 6px; height: 6px; border-radius: var(--r-round); flex: 0 0 auto; }
.tm-acct-dot--in { background: var(--good); }
.tm-acct-dot--out { background: var(--text-faint); }

.tm-status {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  display: flex; align-items: center; gap: 14px;
  height: var(--tm-status-h, 26px); box-sizing: content-box;
  padding: 0 var(--sp-3);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  overflow-x: auto; scrollbar-width: none;
  background: var(--tm-head); border-top: 1px solid var(--tm-line-2);
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-faint);
}
.tm-status::-webkit-scrollbar { display: none; }
.tm-status > * { flex: 0 0 auto; }

.tm-status-dot {
  width: 6px; height: 6px; border-radius: var(--r-round);
  background: var(--accent);
  animation: tm-blink 2s steps(1, end) infinite;
}
@keyframes tm-blink { 0%, 62% { opacity: 1; } 63%, 100% { opacity: .18; } }
.tm-status-b { color: var(--text-dim); font-weight: 600; letter-spacing: .18em; }
.tm-ws-slot { display: inline-flex; align-items: center; gap: 6px; }

.tm-ws-slot[hidden] { display: none; }
.tm-status-l { color: var(--text-faint); }
.tm-status .tm-bar-sel, .tm-status .tm-bar-btn {
  font-size: var(--fs-micro); padding: 1px 5px; height: 18px; line-height: 1;
}
.tm-status-kv { display: inline-flex; align-items: baseline; gap: 6px; }
.tm-status-kv i { font-style: normal; color: var(--text-faint); }
.tm-status-kv b {
  font-weight: 500; letter-spacing: .06em; color: var(--text-dim);
  font-variant-numeric: tabular-nums;
}

.tm-sess {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 2px 7px; border: 1px solid var(--tm-line-2);
}
.tm-sess b { font-weight: 600; letter-spacing: .08em; }
.tm-sess--open b { color: var(--good); }
.tm-sess--ext b  { color: var(--warn); }
.tm-sess--shut b { color: var(--state-unknown); }

.tm-lock { display: inline-flex; align-items: center; gap: 5px; }
.tm-lock-t { letter-spacing: .1em; }
.tm-lock.is-on { color: var(--accent); border-color: var(--accent); }

.tm-dens { display: inline-flex; align-items: center; }
.tm-dens[hidden] { display: none; }
.tm-den-b {
  width: 18px; height: 18px; padding: 0; cursor: pointer;
  background: none; color: var(--text-faint);
  border: 1px solid var(--tm-line); border-left-width: 0;
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: 0; line-height: 1;
  transition: var(--transition-fast);
}
.tm-den-b:first-child { border-left-width: 1px; }
.tm-den-b:hover { color: var(--ink); }
.tm-den-b.is-on { color: var(--accent); border-color: var(--accent); background: var(--tm-teal-wash); }

.tm-den-b { position: relative; }
.tm-den-b::after {
  content: ""; position: absolute; top: 50%; left: 50%;
  width: 100%; min-width: 30px; height: 44px; transform: translate(-50%, -50%);
}
.tm-status-r { margin-left: auto; display: inline-flex; align-items: center; gap: 10px; }
.tm-status-v { color: var(--text-faint); font-variant-numeric: tabular-nums; letter-spacing: .06em; }

@property --tm-beam-a {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

.tm-beam { position: relative; }
.tm-beam::after {
  content: ""; position: absolute; inset: 0; padding: 1px;
  pointer-events: none; z-index: 1;
  background: conic-gradient(from var(--tm-beam-a),
              transparent 0deg, transparent 296deg,
              var(--accent) 352deg, transparent 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  animation: tm-beam 5s linear infinite;
}
@keyframes tm-beam { to { --tm-beam-a: 360deg; } }

.tm-w-x {
  position: relative; flex: 0 0 auto; margin-left: 6px;
  width: 20px; height: 20px; padding: 0; cursor: pointer;
  background: none; border: 1px solid transparent; color: var(--text-faint);
  font-family: var(--mono); font-size: var(--fs-xs); line-height: 1;
  transition: var(--transition-fast);
}
.tm-w-x:hover, .tm-w-x:focus-visible { color: var(--bad-ink); border-color: var(--tm-line-2); }

.tm-w-x::after {
  content: ""; position: absolute; top: 50%; left: 50%;
  width: 44px; height: 44px; transform: translate(-50%, -50%);
}

@keyframes tm-flash {
  0%   { border-color: var(--accent); }
  100% { border-color: var(--tm-line); }
}
.tm-w.is-flash { animation: tm-flash 1.1s ease-out 1; }

@media (prefers-reduced-motion: reduce) {
  .tm-status-dot { animation: none; opacity: 1; }
  .tm-beam::after { display: none; }   
  .tm-w.is-flash { animation: none; }
}

@media (max-width: 760px) {
  body.htr-immersive { --tm-fnav-h: 0px; }
  .tm-fnav { display: none; }
  
  .tm-cmd-in { font-size: 16px; }
  .tm-cmd-in::placeholder { font-size: var(--fs-xs); }
  .tm-cmdrow { gap: var(--sp-1); padding: 0 var(--sp-2); }
  .tm-cmd { gap: 5px; padding: 0 6px; }
  .tm-status { gap: 9px; padding: 0 var(--sp-2); }
  
  .tm-status-r { margin-left: 0; }
}

@media (max-width: 620px) {
  .tm-clock { display: none; }
  .tm-status-kv:last-of-type { display: none; }
  .tm-exit-t { display: none; }
  .tm-exit-acct { margin-left: 0; padding: 6px 7px; min-height: 34px; }
  
  .tm-exit {
    position: relative; justify-content: center;
    min-width: 44px; min-height: 38px; padding: 0;
  }
  .tm-exit::after {
    content: ""; position: absolute; top: 50%; left: 50%;
    width: 44px; height: 44px; transform: translate(-50%, -50%);
  }
}
@media (max-width: 420px) {
  .tm-cmd-k { display: none; }
  .tm-status-b { display: none; }
}

.tm-ribbon-wrap { margin-bottom: var(--tm-gap); }

.tm-ribbon {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
  border: 1px solid var(--tm-line);
  background: var(--tm-panel); overflow: hidden;
}
.tm-rib {
  display: grid; grid-template-columns: auto 1fr; gap: 0 7px;
  align-items: baseline;
  padding: 6px 10px; text-decoration: none;
  border-left: 1px solid var(--tm-line); transition: background-color .14s ease;
}
.tm-rib:first-child { border-left: 0; }
.tm-rib:hover { background: var(--tm-teal-wash); }
.tm-rib-l {
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .13em;
  text-transform: uppercase; color: var(--text-faint);
  white-space: nowrap;
}
.tm-rib-v {
  font-family: var(--mono); font-size: calc(15px * var(--ui-scale)); font-weight: 600;
  text-align: right;
  letter-spacing: -.02em; color: var(--ink); font-variant-numeric: tabular-nums;
}
.tm-rib-v--pos { color: var(--good); }
.tm-rib-v--neg { color: var(--bad-ink); }
.tm-rib-v--brand { color: var(--brand-3); }

.tm-rib-v--none { font-size: var(--fs-xs); font-weight: 500; letter-spacing: 0; color: var(--state-unknown); }

.tm-rib-s {
  grid-column: 1 / -1; margin-top: 2px;
  font-size: var(--fs-2xs); line-height: 1.35; color: var(--text-faint);
}
.tm-stale { color: var(--warn); font-weight: 400; }
.tm-rib--unavailable { background: color-mix(in srgb, var(--raise) 1.2%, transparent); }
@media (max-width: 1200px) { .tm-ribbon { grid-template-columns: repeat(4, 1fr); } .tm-rib:nth-child(4n+1) { border-left: 0; } .tm-rib:nth-child(n+5) { border-top: 1px solid var(--tm-line); } }
@media (max-width: 700px) {
  
  .tm-ribbon { display: flex; overflow-x: auto; scrollbar-width: none; }
  .tm-ribbon::-webkit-scrollbar { display: none; }
  .tm-rib { flex: 0 0 148px; border-top: 0 !important; border-left: 1px solid var(--tm-line); }
}

.tm-ribbon-note { margin: 7px 2px 0; font-size: var(--fs-xs); line-height: 1.5; color: var(--text-faint); }
.tm-ribbon-note > summary {
  display: flex; align-items: baseline; gap: 9px; cursor: pointer;
  list-style: none; padding: 2px 0;
}
.tm-ribbon-note > summary::-webkit-details-marker { display: none; }

.tm-ribbon-note > summary::after {
  content: "＋"; margin-left: auto; padding-left: 10px; color: var(--text-faint);
  font-family: var(--mono); font-size: var(--fs-2xs);
}
.tm-ribbon-note[open] > summary::after { content: "−"; }
.tm-ribbon-note > summary:focus-visible { outline: 1px solid var(--brand-3); outline-offset: 2px; }
.tm-ribbon-note > p { margin: 6px 0 0; padding-left: 2px; }
.tm-state {
  flex: none; font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .14em;
  text-transform: uppercase; padding: 2px 7px; border-radius: 3px; border: 1px solid;
}
.tm-state--normal   { color: var(--good); border-color: color-mix(in srgb, var(--accent) 28%, transparent); }
.tm-state--partial  { color: var(--warn); border-color: color-mix(in srgb, var(--warn) 28%, transparent); }
.tm-state--degraded { color: var(--bad-ink); border-color: color-mix(in srgb, var(--bad) 28%, transparent); }

.tm-sel {
  position: sticky; top: 0; z-index: 6;
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  padding: 10px 13px; margin-bottom: var(--tm-gap);
  background: var(--tm-head); border: 1px solid var(--tm-line-2); border-radius: var(--r-sm);
  
}
.tm-sel-id { display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; min-width: 0; }

.tm-sel-tkr { font-family: var(--mono); font-size: var(--fs-3xl); font-weight: 700; letter-spacing: -.03em; color: var(--ink); line-height: 1.05; }
.tm-sel-name { font-size: var(--fs-sm); color: var(--text-dim); }
.tm-sel-conv { display: flex; align-items: baseline; gap: 7px; }
.tm-sel-conv-n { font-family: var(--mono); font-size: var(--fs-2xl); font-weight: 700; line-height: 1; letter-spacing: -.04em; color: var(--brand-3); font-variant-numeric: tabular-nums; }
.tm-sel-conv-l { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .14em; text-transform: uppercase; color: var(--text-faint); }
.tm-sel-sig { display: flex; align-items: center; gap: 8px; }
.tm-sel-setup { font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim); }
.tm-sel-lv { display: flex; gap: 15px; flex-wrap: wrap; }
.tm-lv { font-family: var(--mono); font-size: var(--fs-sm); color: var(--ink); font-variant-numeric: tabular-nums; }
.tm-lv b { display: block; font-weight: 400; font-size: var(--fs-2xs); letter-spacing: .13em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 2px; }
.tm-sel-nosig, .tm-sel-empty { margin: 0; font-size: var(--fs-sm); color: var(--text-dim); }
.tm-sel-acts { margin-left: auto; display: flex; gap: 7px; }
.tm-act {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .06em;
  padding: 5px 9px; border: 1px solid var(--tm-line-2); border-radius: 3px;
  color: var(--brand-3); text-decoration: none; white-space: nowrap;
  transition: background-color .14s ease, border-color .14s ease;
}
.tm-act:hover { background: var(--tm-teal-wash); border-color: var(--brand-3); }
@media (max-width: 700px) { .tm-sel { position: static; gap: 10px; } .tm-sel-acts { margin-left: 0; width: 100%; } }

.tm-verdict {
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .11em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 3px; border: 1px solid; white-space: nowrap;
}

.tm-scr-f {
  display: flex; flex-wrap: wrap; gap: 5px; align-items: center;
  margin-bottom: var(--sp-2);
}
.tm-scr-i, .tm-scr-s {
  min-width: 0; padding: 2px 4px; width: 84px;
  font-family: var(--mono); font-size: var(--fs-xs);
  color: var(--ink); background: var(--tm-panel-2);
  border: 1px solid var(--tm-line-2); border-radius: var(--r-xs);
}
.tm-scr-s { width: auto; }
.tm-scr-i:focus-visible, .tm-scr-s:focus-visible {
  outline: 1px solid var(--accent); outline-offset: 1px;
}
.tm-scr-c {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim);
  white-space: nowrap;
}
.tm-scr-b {
  padding: 2px 9px; cursor: pointer; background: none;
  font-family: var(--mono); font-size: var(--fs-xs); line-height: 1.6;
  color: var(--text-faint);
  border: 1px solid var(--tm-line-2); border-radius: var(--r-xs);
  transition: color var(--transition-fast), border-color var(--transition-fast);
}
.tm-scr-b:hover, .tm-scr-b:focus-visible { color: var(--accent); border-color: var(--accent); }

.tm-scr-n {
  margin: var(--sp-1) 0 0; font-family: var(--mono);
  font-size: var(--fs-xs); color: var(--text-faint); line-height: 1.5;
}
.tm-scr-n--warn { color: var(--warn); }

.tm-cap {
  font: 500 9px/1 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--text-dim);
  white-space: nowrap;
}
.tm-cap--mega, .tm-cap--large { color: var(--ink); }
.tm-cap--micro, .tm-cap--nano { color: var(--text-faint); }

.tm-tbl--scr .tm-verdict--sm { margin-left: 0; }
.tm-tbl--scr .tm-verdict--sm::before { content: none; margin-right: 0; }

.tm-scr-s { max-width: 130px; }

.tm-brief-q { border-top: 1px solid var(--tm-line); }
.tm-brief-q > summary {
  cursor: pointer; list-style: none;
  padding: 7px calc(10px * var(--tm-den, 1));
  font-family: var(--mono); font-size: var(--fs-xs);
  color: var(--text-faint);
  transition: color var(--transition-fast);
}
.tm-brief-q > summary::-webkit-details-marker { display: none; }
.tm-brief-q > summary::before { content: "+ "; }
.tm-brief-q[open] > summary::before { content: "\2212 "; }
.tm-brief-q > summary:hover { color: var(--accent); }
.tm-brief-q > summary b { color: var(--text-dim); }

.tm-verdict--sm {
  font-size: var(--fs-2xs); letter-spacing: .06em; padding: 1px 5px;
  
  margin-left: 7px;
}
.tm-verdict--sm::before {
  content: "·"; margin-right: 7px; color: var(--text-faint);
}

.tm-list .tm-stale-s { color: var(--text-faint); }

.tm-verdict--compliant     { color: var(--good); border-color: color-mix(in srgb, var(--accent) 30%, transparent); background: color-mix(in srgb, var(--accent) 7%, transparent); }
.tm-verdict--non_compliant { color: var(--bad-ink); border-color: color-mix(in srgb, var(--bad) 30%, transparent); background: color-mix(in srgb, var(--bad) 6%, transparent); }
.tm-verdict--questionable  { color: var(--warn); border-color: color-mix(in srgb, var(--warn) 30%, transparent); }
.tm-verdict--unrated,
.tm-verdict--insufficient_data,
.tm-verdict--none          { color: var(--state-unknown); border-color: var(--tm-line-2); }
.tm-bias { font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .12em; padding: 3px 8px; border-radius: 3px; border: 1px solid; }
.tm-bias--long  { color: var(--good); border-color: color-mix(in srgb, var(--accent) 28%, transparent); }
.tm-bias--short { color: var(--bad-ink); border-color: color-mix(in srgb, var(--bad) 28%, transparent); }

.tm-grid {
  display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--tm-gap);
  
  grid-auto-flow: row dense;
  
  align-items: start;
}

.tm-w--1 { grid-column: span 1; } .tm-w--2 { grid-column: span 2; }
.tm-w--3 { grid-column: span 3; } .tm-w--4 { grid-column: span 4; }
.tm-w--5 { grid-column: span 5; } .tm-w--6 { grid-column: span 6; }
.tm-w--7 { grid-column: span 7; } .tm-w--8 { grid-column: span 8; }
.tm-w--9 { grid-column: span 9; } .tm-w--10 { grid-column: span 10; }
.tm-w--11 { grid-column: span 11; } .tm-w--12 { grid-column: span 12; }
@media (max-width: 1200px) {
  .tm-w--3, .tm-w--4, .tm-w--5, .tm-w--6 { grid-column: span 6; }
  .tm-w--7, .tm-w--8, .tm-w--9, .tm-w--10, .tm-w--11 { grid-column: span 12; }
}
@media (max-width: 760px) { .tm-grid { grid-template-columns: 1fr; } [class*="tm-w--"] { grid-column: span 1; } }

.tm-w {
  display: flex; flex-direction: column; min-width: 0;
  background: var(--tm-panel); border: 1px solid var(--tm-line);
  
  scroll-margin-top: calc(var(--tm-exit-h, 72px) + var(--tm-gap));
}
.tm-w-hd {
  display: flex; align-items: center; gap: 9px;
  padding: calc(7px * var(--tm-den, 1)) calc(10px * var(--tm-den, 1));
  background: var(--tm-head); border-bottom: 1px solid var(--tm-line);
}

.tm-fn-code {
  flex: 0 0 auto;
  font-family: var(--mono); font-size: var(--fs-micro); font-weight: 600;
  letter-spacing: .02em; color: var(--accent);
  font-variant-numeric: tabular-nums;
}
.tm-w-t { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); }
.tm-w-meta { margin-left: auto; font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .07em; color: var(--text-faint); }
.tm-w-b { padding: calc(10px * var(--tm-den, 1)); flex: 1; min-width: 0; }
.tm-w-b--flush { padding: 0; }

.tm-w-find {
  flex: 1 1 140px; min-width: 90px; max-width: 260px;
  margin: 0 8px;
  padding: 3px 7px;
  font-family: var(--mono); font-size: var(--fs-xs);
  color: var(--ink);
  background: var(--tm-panel-2);
  border: 1px solid var(--tm-line-2);
  transition: var(--transition-fast);
}
.tm-w-find::placeholder { color: var(--text-faint); }
.tm-w-find:focus-visible { outline: none; border-color: var(--accent); }
@media (max-width: 760px) { .tm-w-find { flex-basis: 100px; margin: 0 6px; } }

.tm-w-ft { padding: calc(7px * var(--tm-den, 1)) calc(10px * var(--tm-den, 1)); border-top: 1px solid var(--tm-line); }
.tm-w-ft a { font-family: var(--mono); font-size: var(--fs-2xs); color: var(--brand-3); text-decoration: none; }
.tm-w-ft a:hover { text-decoration: underline; }
.tm-w-note { margin: 8px 10px 10px; font-size: var(--fs-2xs); line-height: 1.5; color: var(--text-faint); }
.tm-w-note--warn { color: var(--warn); }
.tm-w-b .tm-w-note:first-child { margin-top: 0; }
.tm-w-note b { color: var(--text-dim); font-weight: 500; }
.tm-mode { font-family: var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--warn); }

.tm-empty { margin: 0; padding: 12px 2px; font-size: var(--fs-xs); line-height: 1.6; color: var(--text-dim); }
.tm-empty-s { color: var(--text-faint); }
.tm-empty a { color: var(--brand-3); }
.tm-na { color: var(--state-unknown); }
.tm-pos { color: var(--good); }
.tm-neg { color: var(--bad-ink); }
.tm-strong { color: var(--ink); font-weight: 600; }
.tm-scroll { overflow-x: auto; }

.tm-tree-wrap { padding: 1px; background: var(--tm-line); }
.tm-tree { display: block; width: 100%; height: auto; }
.tm-tree-c { cursor: pointer; }
.tm-tree-c:hover .tm-tree-edge,
.tm-tree-c:focus-visible .tm-tree-edge { stroke: var(--accent); stroke-width: 2; }
.tm-tree-c.is-sel .tm-tree-edge { stroke: var(--accent); stroke-width: 2; }
.tm-tree-n { fill: var(--ink); font-family: var(--sans); font-weight: 600; }
.tm-tree-v { fill: var(--ink); font-family: var(--mono); font-weight: 700; font-variant-numeric: tabular-nums; }

.tm-tree-v--none { fill: var(--state-unknown); font-weight: 500; font-size: var(--fs-base); }
.tm-tree-s { fill: var(--text-dim); font-family: var(--mono); }

.tm-tree-list { list-style: none; margin: 0; padding: 0; display: none; }
.tm-tree-list li { border-bottom: 1px solid var(--tm-line); }
.tm-tree-r {
  position: relative; display: grid; align-items: center;
  grid-template-columns: 1fr auto; gap: 0 var(--sp-2);
  min-height: 44px; padding: 8px 10px; text-decoration: none;
  color: var(--ink); background: var(--tm-panel-2); overflow: hidden;
  transition: var(--transition-fast);
}

.tm-tree-rb {
  position: absolute; inset: 0 auto 0 0; width: var(--wt, 0%);
  background: var(--tm-heat-pos); opacity: var(--tint, 0);
}
.tm-tree-r--untracked .tm-tree-rb {
  background: repeating-linear-gradient(45deg, var(--tm-line-2) 0 2px, transparent 2px 6px);
  opacity: 1;
}
.tm-tree-r--neg .tm-tree-rb { background: var(--tm-heat-neg); }
.tm-tree-rn, .tm-tree-rv, .tm-tree-rs { position: relative; }
.tm-tree-rn { font-family: var(--sans); font-weight: 600; color: var(--ink); font-size: var(--fs-sm); }

.tm-tree-rv { font-family: var(--mono); font-weight: 700; font-variant-numeric: tabular-nums; }
.tm-tree-rs { grid-column: 1 / -1; font-family: var(--mono); font-size: var(--fs-2xs); color: var(--text-dim); }
.tm-tree-r:hover, .tm-tree-r:focus-visible { background: var(--tm-head); }
.tm-tree-r.is-sel { box-shadow: inset 2px 0 0 var(--accent); }

@media (max-width: 760px) {
  
  .tm-tree-wrap { display: none; }
  .tm-tree-list { display: block; }
}

.tm-list { list-style: none; margin: 0; padding: 0; }
.tm-list li { border-bottom: 1px solid var(--tm-line); }
.tm-list li:last-child { border-bottom: 0; }

.tm-row {
  display: grid; grid-template-columns: minmax(64px, auto) minmax(66px, auto) 1fr;
  grid-template-rows: auto auto;
  gap: 2px 9px; align-items: baseline; width: 100%; text-align: left;
  padding: 7px 10px; background: none; border: 0; font: inherit; cursor: pointer;
  transition: background-color .12s ease;
}
.tm-row:hover { background: var(--tm-teal-wash); }
.tm-row:focus-visible { outline: 1px solid var(--brand-3); outline-offset: -1px; }
.tm-row.is-sel { background: var(--tm-teal-wash); box-shadow: inset 2px 0 0 var(--brand-3); }
.tm-row-s { white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font-family: var(--mono); font-size: var(--fs-sm); font-weight: 700; color: var(--ink); }
.tm-row-c { overflow: hidden; font-family: var(--mono); font-size: var(--fs-base); font-weight: 700; color: var(--brand-3); text-align: right; font-variant-numeric: tabular-nums; }
.tm-row-m { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .05em; color: var(--text-dim); }
.tm-row-f { grid-column: 3; font-size: var(--fs-2xs); color: var(--text-faint); }
.tm-list--pos .tm-row-c { font-size: var(--fs-sm); }

.tm-tbl { width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--fs-xs); }
.tm-tbl th {
  text-align: left; padding: 6px 10px; font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .14em; text-transform: uppercase; color: var(--text-faint);
  font-weight: 400; background: var(--tm-panel-2); border-bottom: 1px solid var(--tm-line);
}
.tm-tbl td { padding: 6px 10px; border-bottom: 1px solid var(--tm-line); color: var(--text-dim); vertical-align: top; }
.tm-tbl tbody tr:last-child td { border-bottom: 0; }
.tm-tbl tbody tr { cursor: pointer; transition: background-color .12s ease; }
.tm-tbl tbody tr:hover { background: var(--tm-teal-wash); }
.tm-tbl tbody tr:focus-visible { outline: 1px solid var(--brand-3); outline-offset: -1px; }
.tm-tbl tbody tr.is-sel { background: var(--tm-teal-wash); box-shadow: inset 2px 0 0 var(--brand-3); }
.tm-tbl .n { text-align: right; font-variant-numeric: tabular-nums; }
.tm-sym { font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
.tm-nm { display: block; font-family: var(--sans); font-weight: 400; font-size: var(--fs-2xs); color: var(--text-faint); max-width: 15ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tm-basis { font-size: var(--fs-2xs); color: var(--text-faint); }

.tm-meth { position: relative; font-family: var(--mono); color: var(--ink); }
.tm-pop {
  position: absolute; right: 0; top: 100%; z-index: 8; min-width: 190px;
  display: none; padding: 7px 9px; background: var(--tm-head);
  border: 1px solid var(--tm-line-2); border-radius: var(--r-sm); box-shadow: 0 12px 28px -14px rgba(0,0,0,.9);
}
tr:hover .tm-pop, tr:focus-within .tm-pop, tr:focus-visible .tm-pop { display: block; }
.tm-pop-r { display: flex; justify-content: space-between; gap: 12px; font-size: var(--fs-2xs); padding: 2px 0; }
.tm-pop-r b { color: var(--text-dim); font-weight: 400; letter-spacing: .05em; }
.tm-pop-r i { font-style: normal; }
.v-pass { color: var(--good); }
.v-fail { color: var(--bad-ink); }
.v-unverified, .v-unrated { color: var(--state-unknown); }

.tm-kv { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; margin: 0; font-size: var(--fs-xs); }
.tm-kv dt { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .08em; color: var(--text-faint); }
.tm-kv dd { margin: 0; text-align: right; font-family: var(--mono); color: var(--ink); font-variant-numeric: tabular-nums; }
.tm-kv dd s { text-decoration: none; color: var(--text-faint); font-size: var(--fs-2xs); }
.tm-kv--tight { margin-bottom: 9px; padding-bottom: 9px; border-bottom: 1px solid var(--tm-line); }
.tm-reasons { list-style: none; margin: 9px 0 0; padding: 9px 0 0; border-top: 1px solid var(--tm-line); font-size: var(--fs-2xs); line-height: 1.55; color: var(--text-dim); }
.tm-reasons li { padding: 2px 0 2px 11px; position: relative; }
.tm-reasons li::before { content: ""; position: absolute; left: 0; top: 8px; width: 4px; height: 1px; background: var(--brand-3); }

.tm-eline { position: relative; height: 1px; background: var(--tm-line); overflow: hidden; margin: 0 0 10px; }
.tm-eline i {
  position: absolute; inset: 0; transform-origin: left center; transform: scaleX(1);
  background: linear-gradient(90deg, transparent, var(--brand-3) 62%, var(--bad));
  transition: transform .9s cubic-bezier(.22,.7,.3,1);
}
.tm-fac { list-style: none; margin: 0; padding: 0; }
.tm-fac li { display: grid; grid-template-columns: 78px 1fr auto; gap: 8px; align-items: center; padding: 3px 0; font-family: var(--mono); font-size: var(--fs-2xs); }
.tm-fac-l { color: var(--text-dim); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tm-fac-b { height: 3px; border-radius: var(--r-xs); background: color-mix(in srgb, var(--raise) 7%, transparent); overflow: hidden; }
.tm-fac-b i { display: block; height: 100%; border-radius: var(--r-xs); background: var(--brand-3); opacity: .82; }
.tm-fac li.weak .tm-fac-b i { background: var(--text-faint); }
.tm-fac-v { color: var(--ink); font-variant-numeric: tabular-nums; }
.tm-fac-v s { text-decoration: none; color: var(--text-faint); }

.tm-w-tabs { display: inline-flex; flex-wrap: wrap; gap: 3px; margin-left: 9px; }
.tm-tab {
  padding: 2px 7px; background: none; border: 1px solid var(--tm-line);
  border-radius: 3px; color: var(--text-faint); font: inherit;
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .08em; cursor: pointer;
}
.tm-tab.is-on { color: var(--brand-3); border-color: var(--brand-3); }
.tm-tab:focus-visible { outline: 1px solid var(--brand-3); outline-offset: 1px; }

.tm {
  --tm-chart-h: clamp(300px, calc(38vh * var(--tm-den, 1)), 520px);
  
  --tm-tv-h: clamp(420px, calc(52vh * var(--tm-den, 1)), 720px);
}

.tm-tv { height: var(--tm-tv-h); min-height: 0; }
.tm-chart { height: var(--tm-chart-h); position: relative; }
.tm-chart .tm-empty { padding: 12px 10px; }
@media (max-width: 760px) { .tm-chart { height: 240px; } }

.tm-foot { margin: 14px 2px 0; font-size: var(--fs-xs); line-height: 1.6; color: var(--text-faint); }
.tm-foot a { color: var(--brand-3); text-decoration: none; }

@media (prefers-reduced-motion: reduce) {
  .tm-eline i { transition: none; }
  .tm *, .tm *::before, .tm *::after { transition-duration: .001ms !important; }
}

.brand h1 { white-space: nowrap; }
.brand-row { flex: none; min-width: 0; }
header.top .inner > nav.tabs { min-width: 0; }

@media (prefers-reduced-transparency: reduce) {
    
    .botnav::after { display: none; }
  }

.tm-bar {
  display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
  padding: 7px 10px; margin-bottom: var(--tm-gap);
  background: var(--tm-panel); border: 1px solid var(--tm-line); border-radius: var(--r-sm);
}
.tm-bar-l { font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .16em; text-transform: uppercase; color: var(--text-faint); }
.tm-bar-chips { display: flex; gap: 5px; flex-wrap: wrap; flex: 1; min-width: 0; }
.tm-chip {
  padding: 3px 8px; background: none; border: 1px solid var(--tm-line);
  border-radius: 3px; color: var(--text-faint); font: inherit;
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .08em;
  text-transform: uppercase; cursor: pointer;
  transition: color .14s ease, border-color .14s ease, background-color .14s ease;
}

.tm-chip.is-on { color: var(--brand-3); border-color: var(--brand-3); background: var(--tm-teal-wash); }
.tm-chip:hover { color: var(--ink); }
.tm-chip:focus-visible, .tm-bar-btn:focus-visible { outline: 1px solid var(--brand-3); outline-offset: 1px; }
.tm-bar-btn {
  padding: 3px 9px; background: none; border: 1px solid var(--tm-line);
  border-radius: 3px; color: var(--text-dim); font: inherit;
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .1em;
  text-transform: uppercase; cursor: pointer;
}
.tm-bar-btn:hover { color: var(--ink); border-color: var(--tm-line-2); }
.tm-bar-hint { font-family: var(--mono); font-size: var(--fs-micro); color: var(--text-faint); }
.tm-bar-hint kbd, .tm-keys kbd {
  font-family: var(--mono); font-size: var(--fs-micro); padding: 1px 4px;
  border: 1px solid var(--tm-line-2); border-radius: 3px; color: var(--text-dim);
}

.tm-news-t { font-size: var(--fs-sm); line-height: 1.45; color: var(--ink); }

.tm-keys {
  position: fixed; inset: 0; z-index: 60; display: grid; place-items: center;
  background: color-mix(in srgb, var(--paper) 72%, transparent);
}
.tm-keys-p {
  min-width: 300px; max-width: 92vw; padding: 18px 20px;
  background: var(--tm-head); border: 1px solid var(--tm-line-2); border-radius: var(--r-md);
}
.tm-keys-p h3 { margin: 0 0 14px; font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .16em; text-transform: uppercase; color: var(--text-dim); }
.tm-keys-p dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; margin: 0 0 16px; align-items: baseline; }
.tm-keys-p dt { white-space: nowrap; }
.tm-keys-p dd { margin: 0; font-size: var(--fs-sm); color: var(--ink); }

.tm-rib-p, .hx-rib-p { color: var(--text-dim); font-variant-numeric: tabular-nums; }
.tm-row-px { color: var(--text-dim); font-variant-numeric: tabular-nums; font-weight: 500; }

.tm-stale-s, .hx-stale { color: var(--warn); font-style: normal; }
.hx-stale { font-weight: 500; }

.tm-row--wl .tm-na {
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .04em;
  color: var(--state-unknown); text-transform: none;
}

.tm-sel-px { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.tm-sel-last {
  font-family: var(--mono); font-size: calc(17px * var(--ui-scale)); font-weight: 600;
  letter-spacing: -.01em; color: var(--ink); font-variant-numeric: tabular-nums;
}
.tm-sel-last--none { font-size: var(--fs-xs); font-weight: 500; letter-spacing: 0; color: var(--state-unknown); }
.tm-sel-chg { font-family: var(--mono); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; }
.tm-sel-age { font-family: var(--mono); font-size: var(--fs-micro); color: var(--text-faint); }

.tm-closed, .hx-closed { color: var(--text-dim); font-weight: 500; }
.tm-rib--closed { opacity: 1; }

.hx-lv.hx-pos b, .hx-lv.hx-pos { color: var(--good); }
.hx-lv.hx-neg b, .hx-lv.hx-neg { color: var(--bad-ink); }

.tm-row-c.tm-pos { color: var(--good); }
.tm-row-c.tm-neg { color: var(--bad-ink); }
.tm-row-c.tm-na  { color: var(--state-unknown); }

.tm-kv dd.tm-pos { color: var(--good); }
.tm-kv dd.tm-neg { color: var(--bad-ink); }
.tm-kv dd.tm-na  { color: var(--state-unknown); font-size: var(--fs-xs); }

.tm-w-note b.tm-stale { color: var(--warn); }
.tm-w-note b.tm-mode  { color: var(--ink); }

.tm-sel-win {
  text-decoration: none; color: var(--text-faint);
  font-size: var(--fs-2xs); letter-spacing: .02em;
}

.tm-row .tm-na {
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .04em;
  color: var(--state-unknown); text-transform: none;
}

.tm-rf { display: flex; flex-direction: column; min-width: 0; }
.tm-rf-body { min-width: 0; }
.tm-rf-bar {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1);
  padding: 5px 8px; background: var(--tm-panel-2);
  border-bottom: 1px solid var(--tm-line);
}
.tm-rf-body > .tm-empty { padding-left: 10px; padding-right: 10px; }

.tm-rf.is-refreshing .tm-rf-body { opacity: .55; transition: opacity .15s ease; }

.tm-rf-btn, .tm-rf-pause, .tm-rf-range, .tm-more {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .08em;
  text-transform: uppercase; color: var(--text-dim); cursor: pointer;
  background: var(--tm-panel); border: 1px solid var(--tm-line-2);
  border-radius: 3px; padding: 5px 8px; min-height: 26px;
  transition: var(--transition-fast);
}
.tm-rf-btn:hover, .tm-rf-pause:hover, .tm-rf-range:hover, .tm-more:hover {
  color: var(--brand-3); border-color: var(--brand-3);
}
.tm-rf-btn:focus-visible, .tm-rf-pause:focus-visible,
.tm-rf-range:focus-visible, .tm-more:focus-visible,
.tm-rf-search:focus-visible {
  outline: 2px solid var(--brand-3); outline-offset: 1px;
}
.tm-rf-btn[disabled] { cursor: progress; opacity: .6; }
.tm-rf-btn { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; }
.tm-rf-ico { font-size: var(--fs-sm); line-height: 1; display: inline-block; }

.tm-rf-btn[aria-busy="true"] .tm-rf-ico { animation: tm-rf-spin .9s linear infinite; }
@keyframes tm-rf-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .tm-rf-btn[aria-busy="true"] .tm-rf-ico { animation: none; }
}

.tm-rf-ranges { display: inline-flex; gap: 2px; }
.tm-rf-range.is-on { color: var(--brand-3); border-color: var(--brand-3); background: var(--tm-teal-wash); }

.tm-rf-search {
  flex: 1 1 130px; min-width: 0; padding: 5px 8px; min-height: 26px;
  font-family: var(--mono); font-size: var(--fs-2xs); color: var(--ink);
  background: var(--tm-panel); border: 1px solid var(--tm-line-2); border-radius: 3px;
}
.tm-rf-search::placeholder { color: var(--text-faint); }

.tm-rf-live {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .14em;
  color: var(--good);
}
.tm-rf-live::before {
  content: ""; width: 5px; height: 5px; border-radius: var(--r-round);
  background: currentColor;
}
.tm-rf-live.is-paused { color: var(--text-faint); }
.tm-rf-live.is-paused::before { background: none; box-shadow: inset 0 0 0 1px currentColor; }

.tm-rf-st {
  flex: 1 0 100%; font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .05em; color: var(--text-faint);
}
.tm-rf-st.is-busy { color: var(--brand-3); }
.tm-rf-st.is-fail { color: var(--warn); }

.tm-scroll--y { max-height: 320px; overflow-y: auto; overscroll-behavior: contain; }

   The first is SITE-WIDE and `.tm-tbl` is a `<table>`, so every Terminal
   header inherited sticky. The second exists so a PAGE-level sticky header
   clears the Terminal's exit bar -- right for a page, wrong here, because
   these tables sit inside 320px scrollers: a 72px offset parks the header
   72px down from the scroller's top, which lands it squarely on ROW TWO
   and hides it. Measured on the live page: `position: sticky`, `top: 72px`,
   inside a `max-height: 320px` scroller.

   #1285 removed the Terminal's own sticky rule and the bug survived
   untouched, because the Terminal's rule was never the one doing it -- it
   had been OVERRIDING the site-wide one with `top: 0`, which is why the
   header only drifted after it was taken away.

   `position: static` here beats `table th` on specificity and makes `top`
   irrelevant, so both rules stop mattering at once. */
.tm-tbl th,
body.htr-immersive .tm-tbl th {
  position: static;
  background: var(--tm-panel-2, var(--paper-raised));
}

.tm-more-wrap { padding: 7px 10px; text-align: center; border-top: 1px solid var(--tm-line); }
.tm-more { width: 100%; }
.tm-more s { text-decoration: none; color: var(--text-faint); }
.tm-more[disabled] { cursor: progress; opacity: .6; }

.tm-tbl td.tm-pos { color: var(--good); }
.tm-tbl td.tm-neg { color: var(--bad-ink); }
.tm-tbl td.tm-na  { color: var(--state-unknown); }

.tm-tbl--pos td, .tm-tbl--news td { vertical-align: middle; }
.tm-tbl--pos .pill { font-size: var(--fs-2xs); padding: 1px 5px; }

.tm-tr-note td { padding-top: 0; font-size: var(--fs-micro); line-height: 1.4; }
.tm-tr-note { cursor: default; }
.tm-tr-note:hover { background: none; }
.tm-px-sub { display: none; }

.tm-tbl--news { min-width: 620px; }
.tm-tbl--news .tm-news-t { max-width: 34ch; }
.tm-tbl--news .tm-news-t a { color: var(--ink); text-decoration: none; }
.tm-tbl--news .tm-news-t a:hover { color: var(--brand-3); text-decoration: underline; }
.tm-tbl--news .tm-col-time, .tm-tbl--news .tm-col-src, .tm-tbl--news .tm-col-cat {
  font-family: var(--mono); font-size: var(--fs-micro); color: var(--text-faint); white-space: nowrap;
}
.tm-tbl--news tbody tr { cursor: default; }
.tm-chip {
  display: inline-block; padding: 1px 5px; border-radius: var(--r-xs);
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .08em;
  text-transform: uppercase;
}

.tm-chip--bullish { color: var(--good); background: var(--good-bg); }
.tm-chip--bearish { color: var(--bad-ink); background: var(--bad-bg); }

.tm-view-in { position: absolute; opacity: 0; pointer-events: none; }
.tm-views { display: none; }

@media (max-width: 760px) {
  
  .tm-ribbon {
    display: flex; overflow-x: auto; scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .tm-ribbon::-webkit-scrollbar { display: none; }
  .tm-rib {
    
    flex: 0 0 41vw; max-width: 41vw; scroll-snap-align: start;
    border-top: 0 !important;
  }
  .tm-rib:first-child { border-left: 0; }
  
  .tm-rib .tm-rib-s {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
    overflow: hidden;
  }

  
  .tm-sel { gap: 8px 12px; padding: 9px 11px; }
  .tm-sel-id { flex: 1 1 100%; }
  .tm-sel-px { flex: 0 0 auto; }
  .tm-sel-lv { flex: 1 1 100%; }

  .tm-views {
    display: flex; gap: 0; position: sticky; top: 0; z-index: 7;
    margin-bottom: var(--tm-gap); overflow-x: auto; scrollbar-width: none;
    background: var(--tm-head); border: 1px solid var(--tm-line-2);
    border-radius: var(--r-sm);
  }
  .tm-views::-webkit-scrollbar { display: none; }
  .tm-view {
    flex: 1 0 auto; padding: 10px 14px; text-align: center; cursor: pointer;
    font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .12em;
    text-transform: uppercase; color: var(--text-dim);
    border-bottom: 2px solid transparent; white-space: nowrap;
    
    min-height: 44px; display: flex; align-items: center; justify-content: center;
  }
  .tm-view:active { background: var(--tm-teal-wash); }

  
  #tm-view-overview:checked ~ .tm-views .tm-view:nth-child(1),
  #tm-view-chart:checked    ~ .tm-views .tm-view:nth-child(2),
  #tm-view-news:checked     ~ .tm-views .tm-view:nth-child(3),
  #tm-view-flow:checked     ~ .tm-views .tm-view:nth-child(4),
  #tm-view-screen:checked   ~ .tm-views .tm-view:nth-child(5) {
    color: var(--brand-3); font-weight: 600; border-bottom-color: var(--brand-3);
  }
  
  .tm-view-in:focus-visible ~ .tm-views .tm-view { outline: none; }
  #tm-view-overview:focus-visible ~ .tm-views .tm-view:nth-child(1),
  #tm-view-chart:focus-visible    ~ .tm-views .tm-view:nth-child(2),
  #tm-view-news:focus-visible     ~ .tm-views .tm-view:nth-child(3),
  #tm-view-flow:focus-visible     ~ .tm-views .tm-view:nth-child(4),
  #tm-view-screen:focus-visible   ~ .tm-views .tm-view:nth-child(5) {
    outline: 2px solid var(--brand-3); outline-offset: -2px;
  }

  
  
  .tm-grid > [data-widget] { order: var(--m, 50); }

  
  #tm-view-overview:checked ~ .tm-grid > [data-tab]:not([data-tab="overview"]),
  #tm-view-chart:checked    ~ .tm-grid > [data-tab]:not([data-tab="chart"]),
  #tm-view-news:checked     ~ .tm-grid > [data-tab]:not([data-tab="news"]),
  #tm-view-flow:checked     ~ .tm-grid > [data-tab]:not([data-tab="flow"]),
  #tm-view-screen:checked   ~ .tm-grid > [data-tab]:not([data-tab="screen"]) {
    display: none;
  }

  
  .tm-bar { display: none !important; }

  
  .tm-chart { height: 46vh; min-height: 260px; }
  .tm-w-b { padding: 9px 11px; }

  
  .tm-rf-bar { gap: 6px; padding: 7px 9px; }
  .tm-rf-btn, .tm-rf-pause, .tm-rf-range, .tm-rf-search, .tm-more {
    min-height: 44px;
  }
  .tm-rf-btn, .tm-rf-pause, .tm-rf-range { min-width: 44px; justify-content: center; }
  .tm-rf-search { flex: 1 1 100%; }
  
  .tm-rf-live { order: -1; }
  .tm-rf-pause { order: -1; }

  
  @media (max-width: 560px) {
    .tm-col-px { display: none; }
    .tm-px-sub {
      display: block; font-family: var(--mono); font-weight: 400;
      font-size: var(--fs-micro); color: var(--text-faint); white-space: nowrap;
    }
    
    .tm-tbl--news { min-width: 520px; }
    .tm-tbl--news .tm-news-t { max-width: 26ch; }
  }
  
  .tm-scroll--y { max-height: 52vh; }

}

.sr-card {
  padding: 12px 14px 10px; margin-bottom: 6px;
  background: var(--paper-raised); border: 1px solid var(--line-hard);
  border-radius: 10px;
}
.sr-card-hd { display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; }
.sr-card-s { font-family: var(--mono); font-size: calc(17px * var(--ui-scale)); font-weight: 700; letter-spacing: -.01em; color: var(--ink); }
.sr-card-n { font-size: var(--fs-sm); color: var(--text-dim); }
.sr-card-pills { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.sr-verdict {
  padding: 2px 8px; border-radius: var(--r-pill); border: 1px solid currentColor;
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .07em; text-transform: uppercase;
}
.sr-verdict--compliant { color: var(--good); }
.sr-verdict--non_compliant { color: var(--bad-ink); }
.sr-verdict--questionable { color: var(--warn); }
.sr-verdict--none, .sr-verdict--unrated, .sr-verdict--insufficient_data { color: var(--state-unknown); }
.sr-conv { font-family: var(--mono); font-size: calc(15px * var(--ui-scale)); font-weight: 700; color: var(--brand-3); }
.sr-conv s { font-size: var(--fs-micro); font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--text-faint); text-decoration: none; }

.sr-card-rows { display: grid; grid-template-columns: auto 1fr; gap: 3px 14px; margin-top: 10px; }
.sr-card-r { display: contents; }
.sr-card-k { font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .1em; text-transform: uppercase; color: var(--text-faint); align-self: baseline; }
.sr-card-v { font-size: var(--fs-sm); color: var(--ink); font-variant-numeric: tabular-nums; }
.sr-card-v s { color: var(--text-faint); font-size: var(--fs-2xs); text-decoration: none; }
.sr-pos { color: var(--good); }
.sr-neg { color: var(--bad-ink); }
.sr-flat { color: var(--text-dim); }

.sr-card-cta {
  display: block; text-align: center; margin-top: 11px; padding: 8px 13px;
  border: 1px solid var(--brand-3); border-radius: var(--r-md);
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .1em;
  text-transform: uppercase; color: var(--brand-3); text-decoration: none;
}
.sr-card-cta:hover { background: var(--tm-teal-wash); }

.tm-chip-w { display: inline-flex; align-items: stretch; gap: 0; }
.tm-chip-w.is-edit .tm-chip { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.tm-chip-x {
  padding: 3px 6px; background: none; border: 1px solid var(--tm-line);
  border-left: 0; color: var(--text-dim); font: inherit;
  font-family: var(--mono); font-size: var(--fs-micro); cursor: pointer;
}
.tm-chip-x:last-child { border-radius: 0 3px 3px 0; }
.tm-chip-x:hover:not(:disabled) { color: var(--brand-3); border-color: var(--brand-3); }
.tm-chip-x:disabled { opacity: .35; cursor: default; }
.tm-chip-x:focus-visible { outline: 1px solid var(--brand-3); outline-offset: 1px; }
.tm-chip-size { font-variant-numeric: tabular-nums; }
.tm-bar-sel {
  padding: 3px 6px; background: var(--tm-head); border: 1px solid var(--tm-line);
  border-radius: 3px; color: var(--ink); font-family: var(--mono); font-size: var(--fs-2xs);
}
.tm-bar-btn.is-on { color: var(--brand-3); border-color: var(--brand-3); }

.tm-grid.is-editing > [data-widget] { outline: 1px dashed var(--tm-line-2); outline-offset: 2px; }

.tm-charts { display: grid; gap: 8px; height: 100%; min-height: 0; }
.tm-charts[data-panes="1"] { grid-template-columns: minmax(0, 1fr); }
.tm-charts[data-panes="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tm-charts[data-panes="4"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.tm-charts[data-panes="2"] { height: 440px; }
.tm-charts[data-panes="4"] { height: 640px; }
.tm-charts:not([data-panes="1"]) > .tm-chart,
.tm-charts:not([data-panes="1"]) > .tm-pane { height: 100%; min-height: 0; }

.tm-pane { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.tm-pane .tm-chart { flex: 1 1 auto; min-height: 0; }
.tm-pane-bar { display: flex; gap: 5px; padding: 0 0 5px; }
.tm-pane-sel {
  padding: 2px 5px; background: var(--tm-head); border: 1px solid var(--tm-line);
  border-radius: 3px; color: var(--text-dim);
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .06em;
}
.tm-pane-sel:focus-visible { outline: 1px solid var(--brand-3); outline-offset: 1px; }
.tm-pane-btn {
  padding: 2px 7px; background: none; border: 1px solid var(--tm-line);
  border-radius: 3px; color: var(--text-dim); font: inherit;
  font-family: var(--mono); font-size: var(--fs-micro); cursor: pointer;
}
.tm-pane-btn.is-on { color: var(--brand-3); border-color: var(--brand-3); }
.tm-w-tabs--panes { margin-left: 6px; }
@media (max-width: 760px) {
  
  
  .tm-charts[data-panes="2"] {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(2, minmax(0, 1fr)); height: 520px;
  }
  .tm-charts[data-panes="4"] {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(4, minmax(0, 1fr)); height: 880px;
  }
}

.scr-run { line-height: 1.7; }
.scr-in { color: var(--good); font-weight: 600; }
.scr-out { color: var(--bad-ink); font-weight: 600; }
.scr-when, .scr-none { color: var(--text-faint); }
.scr-diff {
  font-family: var(--mono); font-size: var(--fs-xs); line-height: 1.7;
  word-break: break-word;
}
.scr-diff s { color: var(--text-faint); text-decoration: none; }

.tm-tbl tbody tr:nth-last-child(-n+4) .tm-pop { top: auto; bottom: 100%; }

@media (pointer: coarse) {
  .tm-w-ft a, .tm-pane-btn, .tm-tab, .tm-act, .tm-chip, .tm-bar-btn, .tm-chip-x {
    min-height: 44px; display: inline-flex; align-items: center;
    justify-content: center;
  }
  .tm-tbl tbody tr { height: 44px; }

  
  .sig-tabs button { min-height: 44px; }

  
  .tm-bar-sel { min-height: 44px; }
  .tm-cmd, .tm-cmd-in { min-height: 44px; }
  .tm-exit-acct { min-height: 44px; }
  .tm-empty a { min-height: 44px; display: inline-flex; align-items: center; }
}

.hx-opp-id { min-width: 0; }

.tm-theme{position:relative;display:inline-block}
.tm-theme-btn{
  display:inline-flex;align-items:center;gap:7px;
  font:inherit;font-size:var(--fs-sm);cursor:pointer;
  background:var(--paper-raised);color:var(--text-dim);
  border:1px solid var(--line);border-radius:3px;padding:4px 9px;
}
.tm-theme-btn:hover{color:var(--ink);border-color:var(--line-hard,var(--line))}
.tm-theme-swatch{
  width:9px;height:9px;border-radius: var(--r-xs);background:var(--accent);
  outline:1px solid var(--line);outline-offset:1px;flex:0 0 auto;
}
.tm-theme-menu{
  position:absolute;right:0;top:calc(100% + 5px);z-index:60;
  margin:0;padding:4px;list-style:none;min-width:186px;
  background:var(--paper-raised);border:1px solid var(--line);
  border-radius: var(--r-sm);box-shadow:0 10px 28px rgba(0,0,0,.45);
}
.tm-theme-opt{
  display:flex;align-items:center;gap:8px;width:100%;
  font:inherit;font-size: var(--fs-sm);text-align:left;cursor:pointer;
  background:none;border:0;border-radius:3px;padding:6px 8px;color:var(--text-dim);
}
.tm-theme-opt:hover{background:var(--panel,var(--paper));color:var(--ink)}
.tm-theme-opt.is-on{color:var(--ink)}
.tm-theme-dot{
  width:10px;height:10px;border-radius: var(--r-round);flex:0 0 auto;
  outline:1px solid;outline-offset:1px;
}
.tm-theme-cur{color:var(--text-faint);font-size:var(--fs-sm)}

.tm-chartpanel{display:flex;flex-direction:column;gap:8px}
.tm-chartpanel-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tm-chartpanel-sym{
  font-family:var(--mono);font-size:var(--fs-base);font-weight:600;color:var(--ink);
}
.tm-chartpanel-tf{display:flex;gap:2px;flex-wrap:wrap}
.tm-tf{
  font:inherit;font-size: var(--fs-xs);font-family:var(--mono);cursor:pointer;
  background:none;border:1px solid transparent;border-radius:3px;
  padding:2px 7px;color:var(--text-faint);
}
.tm-tf:hover{color:var(--text-dim)}
.tm-tf.is-on{color:var(--accent);border-color:var(--line)}
.tm-tv{display:flex;flex-direction:column;gap:6px}
.tm-tv-empty{
  padding:36px 12px;text-align:center;color:var(--text-faint);font-size:var(--fs-base);
  border:1px dashed var(--line);border-radius: var(--r-sm);
}
.tm-tv-src{
  margin:0;font-size:var(--fs-xs);font-family:var(--mono);color:var(--text-faint);
  letter-spacing:.02em;
}
@media (prefers-reduced-motion:reduce){
  .tm-theme-menu,.tm-theme-opt{transition:none!important;animation:none!important}
}

.tm-vp { display: flex; flex-direction: column; gap: 8px; }
.tm-vp-chart,
.tm-fp-chart {
  border: 1px solid var(--tm-line);
  border-radius: 3px;
  overflow: hidden;
  background: var(--tm-panel-2);
}

.tm-vp-svg, .tm-fp-svg {
  display: block; width: 100%; height: auto;
  max-height: var(--tm-chart-h, clamp(200px, 30vh, 380px));
}
.tm-vp-kv, .tm-fp-kv { margin: 0; }
.tm-vp-poc { color: var(--accent); }
.tm-vp-pos {
  margin: 0;
  font-family: var(--mono);
  font-size: var(--fs-xs);
  letter-spacing: .02em;
  color: var(--text-dim);
  border-left: 2px solid var(--accent);
  padding-left: 7px;
}

.tm-fp { display: flex; flex-direction: column; gap: 8px; }
.tm-fp-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tm-fp-tbl {
  width: 100%;
  min-width: 232px;
  border-collapse: collapse;
  font-family: var(--mono);
  font-size: var(--fs-xs);
}
.tm-fp-tbl th {
  text-align: right;
  font-weight: 500;
  color: var(--text-faint);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: var(--fs-2xs);
  padding: 2px 6px 4px;
  border-bottom: 1px solid var(--tm-line-2);
}
.tm-fp-tbl th:first-child, .tm-fp-tbl td:first-child { text-align: left; }
.tm-fp-tbl td {
  text-align: right;
  padding: 3px 6px;
  color: var(--text-dim);
  border-bottom: 1px solid var(--tm-line);
  white-space: nowrap;
}
.tm-fp-tbl tr:last-child td { border-bottom: none; }
.tm-fp-tbl tr:last-child td:first-child { color: var(--ink); font-weight: 600; }
.tm-fp-verdict {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.45;
  color: var(--text-dim);
  border-left: 2px solid var(--tm-line-2);
  padding-left: 7px;
}

@media (max-width: 760px) {
  .tm-fp-tbl { font-size: var(--fs-sm); }
  .tm-fp-tbl td, .tm-fp-tbl th { padding-top: 6px; padding-bottom: 6px; }
  .tm-vp-pos, .tm-fp-verdict { font-size: var(--fs-sm); }
}

.tm-live {
  display: inline-flex; align-items: center; gap: 5px; margin-left: auto;
  font-family: var(--mono); font-size: var(--fs-micro); font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; white-space: nowrap;
  padding: 2px 7px; border-radius: 3px;
  border: 1px solid var(--tm-line-2); color: var(--text-dim);
}
.tm-live-d {
  width: 5px; height: 5px; border-radius: var(--r-round); background: currentColor;
  flex: 0 0 auto;
}
.tm-live--live   { color: var(--good); border-color: color-mix(in srgb, var(--good) 42%, transparent); }
.tm-live--delayed{ color: var(--warn); border-color: color-mix(in srgb, var(--warn) 42%, transparent); }
.tm-live--closed { color: var(--text-dim); }
.tm-live--cold,
.tm-live--empty  { color: var(--state-unknown); }

@media (prefers-reduced-motion: no-preference) {
  .tm-live--live .tm-live-d { animation: tm-live-pulse 2.4s ease-in-out infinite; }
}
@keyframes tm-live-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .32; } }

.tm-mon-ctl {
  display: flex; flex-wrap: wrap; gap: 6px; align-items: center;
  padding: 7px 10px; border-bottom: 1px solid var(--tm-line);
}
.tm-mon-add { display: flex; gap: 6px; align-items: center; margin: 0; }
.tm-mon-in {
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--ink);
  padding: 5px 8px; min-width: 8.5rem; flex: 1 1 8.5rem;
  background: var(--tm-panel-2); border: 1px solid var(--tm-line-2);
  border-radius: 3px; transition: border-color var(--transition-fast);
}
.tm-mon-in::placeholder { color: var(--text-faint); }
.tm-mon-in:focus { outline: none; border-color: var(--brand-3); }
.tm-mon-filter { flex: 1 1 7rem; }

.tm-mon-tbl td { vertical-align: middle; }
.tm-mon-tbl .n { font-family: var(--mono); font-variant-numeric: tabular-nums; text-align: right; }
.tm-mon-tbl th.n { text-align: right; }
.tm-mon-last { color: var(--ink); font-weight: 600; }
.tm-mon-rng { color: var(--text-faint); font-size: var(--fs-2xs); }

.tm-mon-tbl td[colspan] { text-align: left; font-family: var(--sans); }
.tm-mon-none { padding: 10px; }

.tm-note-f { margin: 0; }
.tm-note-ta {
  display: block; width: 100%; box-sizing: border-box; resize: vertical;
  font-family: var(--mono); font-size: var(--fs-sm); line-height: 1.55;
  color: var(--ink); padding: 8px 9px;
  background: var(--tm-panel-2); border: 1px solid var(--tm-line-2);
  border-radius: 3px; transition: border-color var(--transition-fast);
}
.tm-note-ta::placeholder { color: var(--text-faint); }
.tm-note-ta:focus { outline: none; border-color: var(--brand-3); }
.tm-note-ta[readonly] { opacity: .6; }
.tm-note-a {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  margin-top: 7px;
}

.tm-note-st {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .04em;
  color: var(--text-faint); flex: 1 1 12rem; line-height: 1.5;
}
.tm-note-st--ok   { color: var(--good); }
.tm-note-st--warn { color: var(--warn); }
.tm-note-st--busy { color: var(--text-dim); }
.tm-note-st--bad {
  color: var(--bad-ink); font-weight: 700;
  border-left: 2px solid currentColor; padding-left: 7px;
}

.tm-note-all { margin-top: 10px; border-top: 1px solid var(--tm-line); padding-top: 8px; }
.tm-note-all > summary {
  cursor: pointer; font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .1em; text-transform: uppercase; color: var(--text-dim);
}
.tm-note-all > summary s { text-decoration: none; color: var(--text-faint); }
.tm-note-list { list-style: none; margin: 7px 0 0; padding: 0; }
.tm-note-list li { border-top: 1px solid var(--tm-line); }
.tm-note-row {
  display: grid; grid-template-columns: 5.5rem 1fr auto; gap: 8px;
  width: 100%; text-align: left; padding: 6px 2px; background: none;
  border: 0; color: var(--text-dim); font-size: var(--fs-xs); align-items: baseline;
  transition: background-color var(--transition-fast);
}
button.tm-note-row { cursor: pointer; }
button.tm-note-row:hover { background: var(--tm-teal-wash); }
.tm-note-row.is-sel { background: var(--tm-teal-wash); box-shadow: inset 2px 0 0 var(--brand-3); }
.tm-note-row-s { font-family: var(--mono); font-weight: 700; color: var(--ink); }
.tm-note-row-p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tm-note-row-a { font-family: var(--mono); font-size: var(--fs-2xs); color: var(--text-faint); }

.tm-noteerr { max-width: 46rem; margin: 0 auto; padding: 18px 0 32px; }
.tm-noteerr-h { font-family: var(--sans); font-size: var(--fs-xl); margin: 0 0 8px; }
.tm-noteerr-h em { color: var(--bad-ink); font-style: normal; }
.tm-noteerr-r { color: var(--text-dim); line-height: 1.6; margin: 0 0 16px; }
.tm-noteerr-l {
  display: block; font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .1em; text-transform: uppercase; color: var(--text-dim);
  margin-bottom: 6px;
}
.tm-noteerr-a { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 10px; }

@media (max-width: 760px) {
  .tm-mon-in, .tm-note-ta { font-size: 16px; }
  .tm-mon-ctl { gap: 8px; }
  .tm-mon-add { flex: 1 1 100%; }
  .tm-mon-filter { flex: 1 1 100%; }
  
  .tm-mon-in, .tm-mon-add .tm-bar-btn, .tm-note-a .tm-bar-btn { min-height: 44px; }
  .tm-note-ta { min-height: 8.5rem; }
  .tm-note-st { flex: 1 1 100%; }
  
  .tm-note-row { grid-template-columns: 4.5rem 1fr auto; font-size: var(--fs-sm); }
  .tm-mon-tbl th, .tm-mon-tbl td { padding: 8px 8px; }
}

.tm-brief-hd {
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .1em;
  text-transform: uppercase; color: var(--state-unknown);
  padding: 2px 7px; border: 1px solid var(--tm-line-2); border-radius: 3px;
}
.tm-brief-hd--on { color: var(--warn); border-color: var(--warn); }
.tm-brief-hd--off { font-style: italic; letter-spacing: .06em; }

.tm-brief-l { list-style: none; margin: 0; padding: 0; }
.tm-brief-r {
  display: grid; grid-template-columns: 1fr auto; gap: 3px 10px;
  padding: 9px 11px; border-bottom: 1px solid var(--tm-line);
  border-left: 3px solid var(--state-info);
}
.tm-brief-l > li:last-child { border-bottom: 0; }

.tm-brief-r--measured    { border-left-color: var(--state-info); }

.tm-brief-r--none        { border-left-color: var(--state-info); }

.tm-brief-r--stale       { border-left-color: var(--state-warn); }

.tm-brief-r--not_tracked { border-left-color: var(--state-unknown); }
.tm-brief-r--unavailable { border-left-color: var(--state-neg); }

.tm-brief-k {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .08em;
  text-transform: uppercase; color: var(--text-dim); min-width: 0;
}
.tm-brief-k a { color: inherit; text-decoration: none; }
.tm-brief-k a:hover { color: var(--brand-3); text-decoration: underline; }
.tm-brief-v {
  font-family: var(--mono); font-size: var(--fs-sm); color: var(--ink);
  text-align: right; white-space: nowrap;
}
.tm-brief-v--pos   { color: var(--good); }
.tm-brief-v--neg   { color: var(--bad-ink); }
.tm-brief-v--warn  { color: var(--warn); }
.tm-brief-v--brand { color: var(--brand-3); }
.tm-brief-r--not_tracked .tm-brief-v,
.tm-brief-r--stale .tm-brief-v { color: var(--state-unknown); }
.tm-brief-s {
  grid-column: 1 / -1;
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .14em;
  text-transform: uppercase; color: var(--state-unknown);
}
.tm-brief-r--stale .tm-brief-s { color: var(--warn); }
.tm-brief-d {
  grid-column: 1 / -1;
  font-family: var(--mono); font-size: var(--fs-2xs); color: var(--text-faint);
}
.tm-brief-n {
  grid-column: 1 / -1; margin: 0;
  font-size: var(--fs-xs); line-height: 1.55; color: var(--text-faint);
}
.tm-brief-i {
  grid-column: 1 / -1; list-style: none; margin: 4px 0 0; padding: 0;
}
.tm-brief-i > li {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 8px;
  padding: 4px 0 4px 9px; border-left: 1px solid var(--tm-line-2);
  font-size: var(--fs-xs); color: var(--text-dim);
}
.tm-brief-i b {
  font-family: var(--mono); font-weight: 600; color: var(--ink);
  font-size: var(--fs-sm);
}
.tm-brief-mv { font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim); }
.tm-brief-i s { text-decoration: none; font-family: var(--mono); font-size: var(--fs-2xs); color: var(--text-faint); }
.tm-brief-i em {
  flex: 1 1 100%; font-style: normal; font-size: var(--fs-2xs); line-height: 1.5;
  color: var(--text-faint);
}

@media (min-width: 761px) {
  .tm-brief-r {
    grid-template-columns: minmax(0, 15rem) minmax(0, 11rem) minmax(0, 7rem) 1fr;
    align-items: baseline; column-gap: 14px;
  }
  .tm-brief-v { text-align: left; }
  .tm-brief-s { grid-column: auto; }
  .tm-brief-d { grid-column: auto; text-align: right; }
  .tm-brief-n, .tm-brief-i { grid-column: 1 / -1; }
}

.tm-grid.is-editing > [data-widget] { cursor: grab; }
.tm-grid.is-editing > [data-widget].is-dragging {
  cursor: grabbing;
  opacity: .45;
}

.tm-grid.is-editing > [data-widget].is-drop-before {
  box-shadow: inset 3px 0 0 var(--accent);
}
.tm-grid.is-editing > [data-widget].is-drop-after {
  box-shadow: inset -3px 0 0 var(--accent);
}
@media (prefers-reduced-motion: reduce) {
  
  .tm-grid.is-editing > [data-widget] { transition: none; }
}

.tm-chat {
  list-style: none; margin: 0; padding: 0;
  height: 240px; overflow-y: auto;
  font-size: var(--fs-sm); line-height: 1.5;
}
.tm-chat-m {
  padding: 5px 10px;
  border-bottom: 1px solid var(--tm-line);
  color: var(--text-dim);
  overflow-wrap: anywhere;      
}
.tm-chat-m:last-child { border-bottom: 0; }
.tm-chat-m b {
  display: block;
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .1em;
  text-transform: uppercase; font-weight: 400;
  color: var(--text-faint); margin-bottom: 2px;
}
.tm-chat-empty {
  padding: 12px 10px; font-size: var(--fs-xs); line-height: 1.6;
  color: var(--text-faint);
}
.tm-chat-form {
  display: flex; gap: 6px; padding: 7px 10px;
  border-top: 1px solid var(--tm-line);
}
.tm-chat-in {
  flex: 1; min-width: 0;
  background: var(--tm-panel-2); color: var(--ink);
  border: 1px solid var(--tm-line-2); border-radius: 3px;
  padding: 6px 8px;
  
  font: 400 16px var(--sans);
}
.tm-chat-in:focus-visible { outline: 1px solid var(--accent); outline-offset: 1px; }
.tm-chat-send {
  flex: 0 0 auto;
  
  min-height: 44px; padding: 0 12px;
  background: none; color: var(--brand-3);
  border: 1px solid var(--tm-line-2); border-radius: 3px;
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .1em;
  cursor: pointer; transition: var(--transition-fast);
}
.tm-chat-send:hover { border-color: var(--accent); background: var(--tm-teal-wash); }
.tm-chat-why {
  display: block; margin-top: 4px;
  font-size: var(--fs-2xs); line-height: 1.5; color: var(--text-faint);
}
@media (max-width: 760px) {
  
  .tm-chat { height: 180px; }
}

.tm-tree-sect { fill: none; stroke: var(--tm-line-2); stroke-width: 1; }
.tm-tree-sn {
  fill: var(--text-faint); font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .12em; text-transform: uppercase;
}
.tm-stk { stroke: var(--tm-panel); stroke-width: 1; }
.tm-stk--pos  { fill: var(--tm-heat-pos); }
.tm-stk--neg  { fill: var(--tm-heat-neg); }
.tm-stk--flat { fill: var(--tm-line-2); }

.tm-stk--none { color: var(--text-faint); fill: url(#tmhatch2); }

.tm-stk-t {
  fill: var(--ink); font-family: var(--mono); font-size: 17px; font-weight: 700;
  pointer-events: none;
}
.tm-stk-p {
  fill: var(--text-dim); font-family: var(--mono); font-size: var(--fs-base);
  pointer-events: none;
}

.tm-tree-alt { margin: 8px 10px 0; }
.tm-tree-alt > summary {
  cursor: pointer; font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .08em; text-transform: uppercase; color: var(--text-faint);
  padding: 4px 0;
}
.tm-tree-alt > summary:hover { color: var(--ink); }

.tm-maps { position: relative; }
.tm-map-in {
  position: absolute; width: 1px; height: 1px;
  opacity: 0; pointer-events: none;
}
.tm-map-nav {
  display: flex; align-items: center; gap: 4px;
  padding: 6px 10px; border-bottom: 1px solid var(--tm-line);
}
.tm-map-tab, .tm-map-arrow {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-faint);
  border: 1px solid transparent; border-radius: 3px;
  cursor: pointer; transition: var(--transition-fast);
  
  min-height: 44px; display: inline-flex; align-items: center;
  padding: 0 9px;
}
.tm-map-arrow { padding: 0 11px; }
.tm-map-tab:hover, .tm-map-arrow:hover { color: var(--ink); border-color: var(--tm-line-2); }
.tm-map-tab:focus-visible, .tm-map-arrow:focus-visible {
  outline: 1px solid var(--accent); outline-offset: 1px;
}

#tm-map-stocks:checked  ~ .tm-map-nav .tm-map-tab--stocks,
#tm-map-crypto:checked  ~ .tm-map-nav .tm-map-tab--crypto,
#tm-map-sectors:checked ~ .tm-map-nav .tm-map-tab--sectors {
  color: var(--ink); border-color: var(--accent); background: var(--tm-teal-wash);
}
.tm-map-arrow { display: none; }
#tm-map-stocks:checked  ~ .tm-map-nav .tm-map-arrow--from-stocks,
#tm-map-crypto:checked  ~ .tm-map-nav .tm-map-arrow--from-crypto,
#tm-map-sectors:checked ~ .tm-map-nav .tm-map-arrow--from-sectors {
  display: inline-flex;
}

.tm-map-lg {
  display: flex; align-items: center; gap: var(--sp-2);
  margin: var(--sp-1) 0 var(--sp-2); flex: 0 0 auto;
}
.tm-map-lg-t {
  font-family: var(--mono); font-size: var(--fs-xs);
  color: var(--text-faint); white-space: nowrap;
}
.tm-map-lg-bar {
  flex: 1 1 auto; height: 6px; border-radius: 3px;
  border: 1px solid var(--line);
  background: linear-gradient(to right,
    var(--bad) 0%, var(--bad-bg) 32%, var(--paper-raised) 50%,
    var(--good-bg) 68%, var(--good) 100%);
}

.tm-map-slide { display: none; }
#tm-map-stocks:checked  ~ .tm-map-slide--stocks,
#tm-map-crypto:checked  ~ .tm-map-slide--crypto,
#tm-map-sectors:checked ~ .tm-map-slide--sectors { display: block; }

.tm-w-resize { display: none; }
.tm-grid.is-editing > [data-widget] { position: relative; }
.tm-grid.is-editing > [data-widget] > .tm-w-resize {
  display: block; position: absolute; right: 0; bottom: 0;
  width: 44px; height: 44px;
  cursor: nwse-resize; touch-action: none;
  background:
    linear-gradient(135deg, transparent 60%, var(--tm-line-2) 60% 70%,
                    transparent 70% 78%, var(--tm-line-2) 78% 88%, transparent 88%);
}
.tm-grid.is-editing > [data-widget] > .tm-w-resize:hover {
  background:
    linear-gradient(135deg, transparent 60%, var(--accent) 60% 70%,
                    transparent 70% 78%, var(--accent) 78% 88%, transparent 88%);
}

.tm-grid.is-editing > [data-widget].is-resizing { cursor: nwse-resize; opacity: 1; }
.tm-grid.is-editing > [data-widget].is-resizing .tm-w-hd { user-select: none; }

.tm-ladder { list-style: none; margin: 0; padding: 0; }
.tm-lad {
  display: grid;
  grid-template-columns: 14px minmax(6.5rem, auto) auto;
  gap: 2px 8px; align-items: baseline;
  padding: 5px 0; border-bottom: 1px solid var(--tm-line);
  font-size: var(--fs-xs);
}
.tm-lad:last-child { border-bottom: 0; }
.tm-lad-m { font-family: var(--mono); text-align: center; }
.tm-lad-l {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .08em;
  text-transform: uppercase; color: var(--text-faint);
}
.tm-lad-v { font-family: var(--mono); color: var(--ink); text-align: right; }
.tm-lad-v s { text-decoration: none; color: var(--warn); font-size: var(--fs-micro); }

.tm-lad-r {
  grid-column: 2 / -1; color: var(--text-dim);
  font-size: var(--fs-xs); line-height: 1.45;
}
.tm-lad--supports .tm-lad-m { color: var(--good); }
.tm-lad--weakens  .tm-lad-m { color: var(--warn); }
.tm-lad--blocks   .tm-lad-m { color: var(--bad-ink); }
.tm-lad--neutral  .tm-lad-m { color: var(--text-dim); }

.tm-lad--nodata .tm-lad-m,
.tm-lad--nodata .tm-lad-l,
.tm-lad--nodata .tm-lad-v { color: var(--state-unknown); }

.tm-kv--off { margin-top: 9px; padding-top: 9px; border-top: 1px solid var(--tm-line); }
.tm-kv--off dt { color: var(--state-unknown); }

.tm-opp {
  display: grid; gap: 3px; width: 100%;
  padding: 7px 10px;
  
  background: none; border: 0;
  font: inherit; text-align: left; cursor: pointer; color: inherit;
  transition: background-color .12s ease;
}
.tm-opp:hover { background: var(--tm-teal-wash); }
.tm-opp:focus-visible { outline: 1px solid var(--brand-3); outline-offset: -1px; }
.tm-opp.is-sel { background: var(--tm-teal-wash); box-shadow: inset 2px 0 0 var(--brand-3); }

.tm-opp-hd { display: flex; align-items: baseline; gap: 8px; }
.tm-opp-s {
  font-family: var(--mono); font-size: var(--fs-sm); font-weight: 700;
  color: var(--ink); letter-spacing: .02em;
}
.tm-opp-b {
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .06em;
  padding: 1px 5px; border: 1px solid var(--tm-line-2);
  color: var(--text-dim); border-radius: var(--r-xs);
}

.tm-opp-b--long  { border-color: var(--good); color: var(--good); }
.tm-opp-b--short { border-color: var(--bad);  color: var(--bad-ink); }
.tm-opp-ch {
  margin-left: auto; font-family: var(--mono); font-size: var(--fs-sm);
  font-weight: 700; font-variant-numeric: tabular-nums; color: var(--brand-3);
}
.tm-opp-w {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .05em;
  color: var(--text-dim);
}
.tm-opp-y { font-size: var(--fs-2xs); line-height: 1.35; color: var(--text-faint); }
.tm-opp-x {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .04em;
  color: var(--warn);
}

.tm-opp-lv { display: flex; flex-wrap: wrap; gap: 3px 10px; }
.tm-opp-lvi {
  font-family: var(--mono); font-size: var(--fs-xs);
  font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--ink);
}
.tm-opp-lvi b {
  font-weight: 400; color: var(--text-faint);
  margin-right: 4px; text-transform: uppercase; letter-spacing: .06em;
  font-size: var(--fs-micro);
}
.tm-opp-rr { font-weight: 700; }

.tm-opp-ch.tm-pos  { color: var(--good); }
.tm-opp-ch.tm-neg  { color: var(--bad-ink); }
.tm-opp-ch.tm-na   { color: var(--state-unknown); }
.tm-opp-rr.tm-pos  { color: var(--good); }
.tm-opp-rr.tm-neg  { color: var(--bad-ink); }
.tm-opp-y.tm-na    { color: var(--state-unknown); }

.tm-lock-hint {
  font-family: var(--mono); font-size: var(--fs-micro); letter-spacing: .06em;
  color: var(--text-faint); white-space: nowrap; align-self: center;
}
.tm-lock-hint[hidden] { display: none; }
@media (max-width: 900px) { .tm-lock-hint { display: none; } }

.tm-fib { margin-top: 10px; border-top: 1px solid var(--tm-line); padding-top: 8px; }
.tm-fib-h {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .14em;
  text-transform: uppercase; color: var(--text-faint); margin-bottom: 5px;
}
.tm-fib-l { list-style: none; margin: 0; padding: 0; }
.tm-fib-r {
  display: grid; grid-template-columns: 4.5rem 1fr auto; gap: 8px;
  align-items: baseline; padding: 2px 0;
  font-family: var(--mono); font-size: var(--fs-xs);
  font-variant-numeric: tabular-nums; color: var(--text-dim);
}
.tm-fib-k { color: var(--text-faint); }
.tm-fib-v { color: var(--ink); font-weight: 600; }
.tm-fib-d { color: var(--text-faint); font-size: var(--fs-2xs); }

.tm-fib-r--edge .tm-fib-k, .tm-fib-r--edge .tm-fib-v { color: var(--text-faint); font-weight: 400; }
.tm-fib-r.is-near .tm-fib-v { color: var(--brand-3); }
.tm-fib-r.is-near .tm-fib-k { color: var(--brand-3); }
.tm-fib-n { margin-top: 6px; }

.nav-dropdown--terminal { position: relative; z-index: 46; }
.nav-terminal {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px; border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  color: var(--accent); font-family: var(--mono); font-weight: 700;
  font-size: var(--fs-xs); letter-spacing: .08em; text-transform: uppercase;
  text-decoration: none; white-space: nowrap;
  transition: background var(--transition-fast), border-color var(--transition-fast);
}
.nav-terminal:hover, .nav-terminal:focus-visible {
  background: color-mix(in srgb, var(--accent) 22%, transparent);
  border-color: var(--accent);
}
.nav-terminal.active {
  background: color-mix(in srgb, var(--accent) 26%, transparent);
  border-color: var(--accent);
}

.nav-terminal-d {
  width: 5px; height: 5px; border-radius: var(--r-round);
  background: currentColor; flex: 0 0 auto;
}
@media (max-width: 900px) {
  .nav-terminal { padding: 4px 9px; letter-spacing: .04em; }
}

.tm-edge { border-left: 2px solid transparent; }
.tm-edge--pos { border-left-color: var(--good); }
.tm-edge--neg { border-left-color: var(--bad); }
.tm-edge--flat, .tm-edge--na { border-left-color: transparent; }

.tm-opp:has(.tm-pos) { box-shadow: inset 2px 0 0 var(--good); }
.tm-opp:has(.tm-neg) { box-shadow: inset 2px 0 0 var(--bad); }
.tm-tbl tbody tr:has(td.tm-pos) { box-shadow: inset 2px 0 0 var(--good); }
.tm-tbl tbody tr:has(td.tm-neg) { box-shadow: inset 2px 0 0 var(--bad); }

.tm-opp.is-sel { box-shadow: inset 2px 0 0 var(--brand-3); }
.tm-tbl tbody tr.is-sel { box-shadow: inset 2px 0 0 var(--brand-3); }

.tm-why { margin-top: 8px; }
.tm-why-s {
  cursor: pointer; list-style: none;
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .14em;
  text-transform: uppercase; color: var(--text-faint);
  padding: 3px 0; user-select: none;
}
.tm-why-s::-webkit-details-marker { display: none; }
.tm-why-s::before { content: "＋ "; opacity: .7; }
.tm-why[open] > .tm-why-s::before { content: "－ "; }
.tm-why-s:hover, .tm-why-s:focus-visible { color: var(--brand-3); }
.tm-why > .tm-w-note { margin-top: 4px; }

@media (min-width: 901px) {
.htr-terminal .tm-w > .tm-w-b,
.htr-terminal .tm-w > .tm-rf,
.htr-terminal .tm-w > #tm-react-chart {
  flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain;
}
.htr-terminal .tm-w .tm-tv,
.htr-terminal .tm-w .tm-tv iframe,
.htr-terminal .tm-w .tm-chart { height: 100%; }
.htr-terminal .tm-w .tm-scroll--y { max-height: none; }
}

a.hx-rib:hover, a.hx-rib:hover *,
a.tm-row:hover, a.tm-row:hover *,
.stat-row a:hover, .stat-row a:hover * { text-decoration: none; }

.tm-stk-a { cursor: pointer; }
.tm-stk-a:focus-visible { outline: 2px solid var(--brand-3); outline-offset: -2px; }
.tm-stk-a:hover .tm-stk { stroke: var(--brand-3); stroke-width: 1.5; }

.tm-wl-x { position: absolute; right: 6px; top: 6px; z-index: 2; margin: 0; }
.tm-list li { position: relative; }
.tm-wl-xb {
  background: none; border: 0; cursor: pointer; padding: 2px 6px;
  font-family: var(--mono); font-size: var(--fs-base); line-height: 1;
  color: var(--text-faint); border-radius: 3px;
}
.tm-wl-xb:hover, .tm-wl-xb:focus-visible { color: var(--bad-ink); background: var(--tm-teal-wash); }
.tm-row--wl { padding-right: 26px; }

#tm-react-chart { display: flex; flex-direction: column; min-height: 0; }
#tm-react-chart > * { flex: 1 1 auto; min-height: 0; }
@media (min-width: 901px) {
.htr-terminal .tm-w #tm-react-chart,
.htr-terminal .tm-w #tm-react-chart > *,
.htr-terminal .tm-w #tm-react-chart iframe { height: 100%; }
}

.tm-map-slide svg, .tm-tree-svg { width: 100%; display: block; }

.tm-trade-msg {
  margin: 0 0 var(--tm-gap); padding: 7px 10px;
  font-family: var(--mono); font-size: var(--fs-xs); line-height: 1.5;
  color: var(--ink); background: var(--tm-panel);
  border: 1px solid var(--tm-line-2); border-left-width: 3px;
}
.tm-trade-msg--ok { border-left-color: var(--good); }
.tm-trade-msg--bad { border-left-color: var(--bad); }

.tm-closing {
  font-family: var(--mono); font-size: var(--fs-xs);
  
  color: var(--warn); white-space: nowrap;
}

.tm-open-f {
  display: flex; flex-wrap: wrap; align-items: center; gap: 5px;
  padding: 7px calc(10px * var(--tm-den, 1));
  border-top: 1px solid var(--tm-line);
}
.tm-open-t {
  font-family: var(--mono); font-size: var(--fs-xs);
  color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em;
}
.tm-open-i, .tm-open-s {
  min-width: 0; padding: 2px 4px;
  font-family: var(--mono); font-size: var(--fs-xs);
  color: var(--ink); background: var(--tm-panel-2);
  border: 1px solid var(--tm-line-2); border-radius: var(--r-xs);
}
.tm-open-i { width: 92px; }
.tm-open-i--qty { width: 58px; }
.tm-open-i:focus-visible, .tm-open-s:focus-visible {
  outline: 1px solid var(--accent); outline-offset: 1px;
}
.tm-open-b {
  padding: 2px 9px; cursor: pointer;
  font-family: var(--mono); font-size: var(--fs-xs); line-height: 1.6;
  color: var(--text-faint); background: none;
  border: 1px solid var(--tm-line-2); border-radius: var(--r-xs);
  transition: color var(--transition-fast), border-color var(--transition-fast);
}

.tm-open-b:hover, .tm-open-b:focus-visible {
  color: var(--good); border-color: var(--good);
}
.tm-open-n {
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-faint);
  margin-left: auto;
}

.tm-alert-f { display: flex; flex-wrap: wrap; gap: 5px; align-items: center;
              margin-bottom: var(--sp-2); }
.tm-alert-i, .tm-alert-s {
  min-width: 0; padding: 2px 4px;
  font-family: var(--mono); font-size: var(--fs-xs);
  color: var(--ink); background: var(--tm-panel-2);
  border: 1px solid var(--tm-line-2); border-radius: var(--r-xs);
}
.tm-alert-i { width: 88px; }
.tm-alert-i--px { width: 66px; }
.tm-alert-b {
  padding: 2px 9px; cursor: pointer; background: none;
  font-family: var(--mono); font-size: var(--fs-xs); line-height: 1.6;
  color: var(--text-faint);
  border: 1px solid var(--tm-line-2); border-radius: var(--r-xs);
  transition: color var(--transition-fast), border-color var(--transition-fast);
}
.tm-alert-b:hover, .tm-alert-b:focus-visible { color: var(--accent); border-color: var(--accent); }
.tm-alert-l { list-style: none; margin: 0; padding: 0; }
.tm-alert-r {
  display: flex; align-items: center; gap: 7px;
  padding: 3px 0; border-bottom: 1px solid var(--tm-line);
  font-family: var(--mono); font-size: var(--fs-xs);
}

.tm-alert-r.is-done { color: var(--text-faint); text-decoration: line-through; }
.tm-alert-sym { font-weight: 600; }
.tm-alert-dir, .tm-alert-at { color: var(--text-faint); }
.tm-alert-px { margin-left: auto; }
.tm-alert-x {
  background: none; border: 0; cursor: pointer; padding: 0 2px;
  color: var(--text-faint); font-size: var(--fs-xs);
  transition: color var(--transition-fast);
}
.tm-alert-x:hover, .tm-alert-x:focus-visible { color: var(--bad); }

.tm-col-act { width: 1%; white-space: nowrap; }
.tm-close-f { display: flex; gap: 4px; align-items: center; }
.tm-close-i {
  width: 74px; min-width: 0; padding: 2px 4px;
  font-family: var(--mono); font-size: var(--fs-xs);
  color: var(--ink); background: var(--tm-panel-2);
  border: 1px solid var(--tm-line-2); border-radius: var(--r-xs);
}
.tm-close-i:focus-visible { outline: 1px solid var(--accent); outline-offset: 1px; }
.tm-close-b {
  padding: 2px 7px; cursor: pointer;
  font-family: var(--mono); font-size: var(--fs-xs); line-height: 1.6;
  color: var(--text-faint); background: none;
  border: 1px solid var(--tm-line-2); border-radius: var(--r-xs);
  transition: color var(--transition-fast), border-color var(--transition-fast);
}

.tm-close-b:hover, .tm-close-b:focus-visible {
  color: var(--bad); border-color: var(--bad);
}

.tm-w.is-max {
  position: fixed; inset: 0; z-index: 60;
  width: auto; height: auto; margin: 0;
  border: 0; border-radius: 0;
  display: flex; flex-direction: column;
  background: var(--tm-panel);
}
.tm-w.is-max > .tm-w-b {
  flex: 1 1 auto; min-height: 0; overflow-y: auto;
  display: flex; flex-direction: column;
}
.tm-w.is-max .tm-maps {
  flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column;
}
.tm-w.is-max #tm-map-stocks:checked  ~ .tm-map-slide--stocks,
.tm-w.is-max #tm-map-crypto:checked  ~ .tm-map-slide--crypto,
.tm-w.is-max #tm-map-sectors:checked ~ .tm-map-slide--sectors {
  flex: 1 1 auto; min-height: 0;
}
.tm-w.is-max .tm-tree-wrap { flex: 1 1 auto; min-height: 0; }
.tm-w.is-max .tm-map-slide svg,
.tm-w.is-max .tm-tree { flex: 1 1 auto; height: 100%; min-height: 0; }
.tm-w.is-max .tm-map-slide > details,
.tm-w.is-max .tm-map-slide > .tm-tree-list { flex: 0 0 auto; }
.tm-w.is-max #tm-react-chart,
.tm-w.is-max #tm-react-chart > *,
.tm-w.is-max #tm-react-chart iframe { flex: 1 1 auto; min-height: 0; height: 100%; }

body.tm-has-max { overflow: hidden; }

.tm-w-max {
  margin-left: auto; background: none; border: 0; cursor: pointer;
  color: var(--text-faint); font-size: var(--fs-xs); line-height: 1;
  padding: 2px 4px; transition: color var(--transition-fast);
}
.tm-w-max + .tm-w-x { margin-left: 0; }
.tm-w-max:hover, .tm-w-max:focus-visible { color: var(--accent); }
.tm-w-max[aria-pressed="true"] { color: var(--accent); }

@media (min-width: 901px) {
.htr-terminal .tm-w > .tm-w-b { display: flex; flex-direction: column; }
.htr-terminal .tm-w .tm-maps {
  flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column;
}
.htr-terminal .tm-w #tm-map-stocks:checked  ~ .tm-map-slide--stocks,
.htr-terminal .tm-w #tm-map-crypto:checked  ~ .tm-map-slide--crypto,
.htr-terminal .tm-w #tm-map-sectors:checked ~ .tm-map-slide--sectors {
  flex: 1 1 auto; min-height: 0;
}
.htr-terminal .tm-w .tm-tree-wrap { flex: 1 1 auto; min-height: 0; }
.htr-terminal .tm-w .tm-map-slide > details,
.htr-terminal .tm-w .tm-map-slide > .tm-tree-list { flex: 0 0 auto; }
}

#tm-map-stocks:checked  ~ .tm-map-slide--stocks,
#tm-map-crypto:checked  ~ .tm-map-slide--crypto,
#tm-map-sectors:checked ~ .tm-map-slide--sectors {
  display: flex; flex-direction: column; min-height: 0;
}

@media (min-width: 901px) {
.htr-terminal .tm-w .tm-map-slide svg,
.htr-terminal .tm-w .tm-tree {
  flex: 1 1 auto; height: 100%; min-height: 0;
}
}

.tm-gamma dd.tm-pos { color: var(--good); }
.tm-gamma dd.tm-neg { color: var(--bad-ink); }
.tm-gamma dd.tm-flat { color: var(--text-dim); }

.cv-tag {
  display: inline-block; margin-left: 7px; padding: 1px 6px;
  border-radius: 3px; vertical-align: middle;
  font-family: var(--mono); font-size: var(--fs-2xs); font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--bad-ink); background: var(--bad-bg);
  border: 1px solid var(--bad);
  white-space: nowrap;
}
.cv-tag--lg { margin-left: 0; font-size: var(--fs-xs); padding: 2px 8px; }
.controversy-flag {
  border: 1px solid var(--bad); border-left-width: 3px;
  border-radius: 5px; padding: var(--sp-2) var(--sp-3);
  margin-bottom: var(--sp-3); font-size: var(--fs-sm);
  color: var(--ink); line-height: 1.55;
}
.controversy-k {
  font-family: var(--mono); font-size: var(--fs-xs);
  text-transform: uppercase; letter-spacing: .07em;
  color: var(--text-dim);
}
.controversy-line { margin: var(--sp-2) 0 0; }
.controversy-cat {
  font-family: var(--mono); font-size: var(--fs-xs);
  text-transform: uppercase; letter-spacing: .05em;
  color: var(--text-dim); margin-right: var(--sp-1);
}
.controversy-src { display: block; font-size: var(--fs-xs); color: var(--text-dim); }
.controversy-note {
  margin: var(--sp-2) 0 0; font-size: var(--fs-xs);
  color: var(--text-dim); line-height: 1.5;
}

.listing-flag {
  border: 1px solid var(--warn); border-left-width: 3px;
  background: var(--warn-bg);
  border-radius: 5px; padding: var(--sp-2) var(--sp-3);
  margin-bottom: var(--sp-3); font-size: var(--fs-sm);
  color: var(--ink); line-height: 1.55;
}
.listing-flag-k {
  font-family: var(--mono); font-size: var(--fs-xs);
  text-transform: uppercase; letter-spacing: .07em;
  color: var(--warn); margin-right: var(--sp-2);
}
.listing-flag-n {
  display: block; margin-top: 3px;
  font-size: var(--fs-xs); color: var(--text-dim);
}

.inv-grid {
  display: grid;
  gap: var(--sp-3);
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  margin-bottom: var(--sp-5);
}
.inv-card {
  display: block;
  padding: var(--sp-4);
  text-decoration: none;
  color: inherit;
  transition: var(--transition-fast);
}
.inv-card:hover { box-shadow: var(--shadow-md); border-color: var(--line-hard); }
.inv-head { display: flex; align-items: center; gap: var(--sp-3); }

.inv-mono {
  flex: 0 0 auto;
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--r-round);
  background: var(--accent-bg);
  color: var(--accent-ink);
  font-family: var(--mono);
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: .5px;
}
.inv-id { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.inv-name { font-size: var(--fs-md); line-height: 1.25; }
.inv-firm {
  color: var(--text-dim);
  font-size: var(--fs-xs);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.inv-aum {
  font-family: var(--mono);
  font-size: var(--fs-xs);
  color: var(--text-dim);
  margin-top: 2px;
}
.inv-dial {
  flex: 0 0 auto;
  display: flex; flex-direction: column; align-items: center;
  gap: 2px; width: 74px; text-align: center;
}
.inv-donut { width: 56px; height: 56px; transform: rotate(-90deg); }
.inv-donut-track { stroke: var(--line); }
.inv-donut-fill { stroke: var(--good); }
.inv-donut-n {
  transform: rotate(90deg);
  transform-origin: 21px 21px;
  text-anchor: middle;
  font-family: var(--mono);
  font-size: var(--fs-micro);
  font-weight: 600;
  fill: var(--ink);
}
.inv-dial-l, .inv-nodial {
  font-size: var(--fs-micro);
  line-height: 1.2;
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: .4px;
}
.inv-nodial { padding: var(--sp-2) 0; }
.inv-top { margin: var(--sp-3) 0 var(--sp-2); }
.inv-top-l {
  display: block;
  font-size: var(--fs-xs);
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 4px;
}
.inv-tick {
  display: inline-block;
  font-family: var(--mono);
  font-size: var(--fs-xs);
  color: var(--good);
  background: var(--good-bg);
  border-radius: 3px;
  padding: 1px 5px;
  margin: 0 4px 4px 0;
}
.inv-none { font-size: var(--fs-xs); color: var(--text-dim); }
.inv-meta {
  margin: 0;
  font-family: var(--mono);
  font-size: var(--fs-xs);
  color: var(--text-dim);
  border-top: 1px solid var(--line);
  padding-top: var(--sp-2);
}
.inv-missing { padding: var(--sp-4); margin-bottom: var(--sp-4); }
.inv-missing-intro { color: var(--text-dim); font-size: var(--fs-sm); }
.inv-missing-list { margin: 0; padding-left: var(--sp-4); }
.inv-missing-list li {
  font-size: var(--fs-sm);
  color: var(--text-dim);
  margin-bottom: var(--sp-2);
}
.inv-missing-list strong { color: var(--ink); }
.inv-foot { font-size: var(--fs-xs); color: var(--text-dim); }
@media (max-width: 520px) {
  .inv-grid { grid-template-columns: 1fr; }
}

.price-stale {
  font-family: var(--mono); font-size: var(--fs-sm); font-weight: 600;
  color: var(--text-dim);
}

.inv-back { color: var(--text-dim); text-decoration: none; }
.inv-back:hover { color: var(--accent-ink); }

.sym-kind{font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.08em;
  text-transform:uppercase;color:var(--text-dim);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:1px 6px;line-height:1.6;align-self:center}
.sym-meta{font-family:var(--mono);font-size:var(--fs-xs);color:var(--text-dim);
  margin:4px 0 0}

@media (max-width: 900px) {
  .wl-add button { min-width: 44px; min-height: 44px; font-size: var(--fs-md); }
  
  td.num label.cmp-hit {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 12px; margin: -12px;
  }
  td.num input[type="checkbox"][form="cmp"] { width: 20px; height: 20px; }
}

.htr-splash { display: none; }

:root[data-splash="armed"] .htr-splash { display: none !important; }
:root[data-splash="slow"] .htr-splash {
  display: flex !important;
  
  animation: none !important;
  opacity: 1 !important;
}
:root[data-splash="seen"] .htr-splash { display: none !important; }

@media all {
  .htr-splash {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; gap: var(--sp-4);
    position: fixed; inset: 0; z-index: 9999;
    background: var(--paper); color: var(--accent);
    animation: htr-splash-fade 1.6s ease-in forwards;
  }
  .htr-splash-mark { width: 96px; height: 96px; }
  .htr-splash-wm {
    margin: 0; font-family: var(--mono); font-size: var(--fs-2xs);
    letter-spacing: 0.34em; text-indent: 0.34em; color: var(--text-dim);
  }
  .htr-splash.htr-splash-out { animation: htr-splash-fade .38s ease-in forwards; }
}

@keyframes htr-splash-fade {
  0%, 62% { opacity: 1; visibility: visible; }
  100%    { opacity: 0; visibility: hidden; }
}

@media (prefers-reduced-motion: no-preference) {
  .htr-splash .htr-bar {
    transform-box: fill-box; transform-origin: 50% 100%;
    animation-name: htr-splash-eq;
    animation-timing-function: cubic-bezier(.36, .1, .3, 1);
    animation-iteration-count: infinite;
  }
  .htr-splash .htr-bar--1   { animation-duration: 1.02s; animation-delay: -0.86s; }
  .htr-splash .htr-bar--2   { animation-duration: 1.31s; animation-delay: -0.34s; }
  .htr-splash .htr-bar--3   { animation-duration: 0.88s; animation-delay: -0.63s; }
  .htr-splash .htr-bar--4   { animation-duration: 1.17s; animation-delay: -0.21s; }
  .htr-splash .htr-bar--5   { animation-duration: 0.95s; animation-delay: -0.72s; }
  .htr-splash .htr-bar--6   { animation-duration: 1.24s; animation-delay: -0.47s; }
  
  .htr-splash .htr-bar--mid {
    animation-name: htr-splash-eq-mid;
    animation-duration: 1.45s; animation-delay: -0.55s;
  }
}

@keyframes htr-splash-eq {
  0%   { transform: scaleY(.48) }
  35%  { transform: scaleY(1.28) }
  60%  { transform: scaleY(.72) }
  100% { transform: scaleY(.48) }
}
@keyframes htr-splash-eq-mid {
  0%   { transform: scaleY(.82) }
  40%  { transform: scaleY(1.12) }
  100% { transform: scaleY(.82) }
}

@media (max-width: 900px) {
  
  a.symbol { position: relative; }
  a.symbol::after {
    content: ""; position: absolute; top: 50%; left: 50%;
    width: 100%; min-width: 44px; height: 44px;
    transform: translate(-50%, -50%);
  }
  
  .tagrow a.symbol::after { content: none; }

  
  body.htr-immersive { --fs-micro: var(--fs-2xs); --tm-status-h: 34px; }
  .tm-den-b { width: 30px; height: 30px; }
  .tm-den-b::after { min-width: 30px; }

  
  .tm-w-max {
    position: relative; min-width: 44px; min-height: 30px;
    padding: 0; font-size: var(--fs-sm);
  }
  .tm-w-max::after {
    content: ""; position: absolute; top: 50%; left: 50%;
    width: 44px; height: 44px; transform: translate(-50%, -50%);
  }
}

.text-dim   { color: var(--text-dim); }
.text-faint { color: var(--text-faint); }
.mono       { font-family: var(--mono); }

.tbl-wrap { overflow-x: auto; }

.fc-range { flex: 1 1 auto; min-width: 0; }
.fc-low, .fc-high { font-variant-numeric: tabular-nums; }

.tech-group { min-width: 0; }
.tf-rows    { display: flex; flex-direction: column; }

.tm-mon-btn {
  flex: 0 0 auto;
  padding: 6px 12px;
  font-family: var(--mono); font-size: var(--fs-xs);
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--accent-ink);
  background: var(--accent-bg);
  border: 1px solid var(--line-hard);
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: border-color var(--transition-fast), color var(--transition-fast);
}
.tm-mon-btn:hover { border-color: var(--accent); color: var(--accent); }

.tm-note-row--desk { cursor: default; }

.mc-lead { margin: 0 0 var(--sp-2); line-height: 1.55; }
.hero-copy { max-width: 46rem; }
.skeleton-block { min-height: 3rem; }
.close-trade-form { align-items: center; }
.admin-close { display: flex; gap: var(--sp-2); align-items: center; flex-wrap: wrap; }

:root[data-size="90"]  { --ui-scale: 0.90; }
:root[data-size="100"] { --ui-scale: 1; }
:root[data-size="112"] { --ui-scale: 1.12; }
:root[data-size="125"] { --ui-scale: 1.25; }
:root[data-size="140"] { --ui-scale: 1.40; }

:root[data-density="compact"] table td { padding-top: 5px; padding-bottom: 5px; }
:root[data-density="compact"] table th { padding-top: 6px; padding-bottom: 6px; }
:root[data-density="compact"] .card { padding: 14px; }
:root[data-density="compact"] .htr-page .stats > div { padding: 11px 13px; }
:root[data-density="compact"] .htr-page .sec { margin-top: 24px; }
:root[data-density="compact"] .htr-page .card { padding: 14px; }

:root[data-density="compact"] .card { padding: 14px; }
:root[data-density="compact"] .stat-card { padding: 11px 13px; }
:root[data-density="compact"] .stat-cell { padding: 10px 12px; }
:root[data-density="compact"] .stat-row { gap: 8px; }
:root[data-density="compact"] .section-head { margin-top: 22px; margin-bottom: 10px; }
:root[data-density="compact"] .pill { padding-top: 1px; padding-bottom: 1px; }
:root[data-density="compact"] .browse-item { padding-top: 8px; padding-bottom: 8px; }
:root[data-density="compact"] .htr-page .sec { margin-top: 22px; }
:root[data-density="compact"] .htr-page .setrow { padding: 10px 0; }
:root[data-density="compact"] .htr-page .ph { margin-bottom: 18px; }
:root[data-density="compact"] .htr-page table td { padding-top: 5px; padding-bottom: 5px; }
:root[data-density="compact"] .htr-page table th { padding-top: 6px; padding-bottom: 6px; }
:root[data-density="compact"] .htr-home .card { padding: 14px; }

:root[data-density="comfortable"] table td { padding-top: 10px; padding-bottom: 10px; }
:root[data-density="comfortable"] table th { padding-top: 11px; padding-bottom: 11px; }
:root[data-density="comfortable"] .card { padding: 22px; }

.symview { margin: 0 0 18px; }

.symview-tabs {
  display: flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  background: color-mix(in srgb, var(--raise, var(--ink)) 3%, transparent);
}
.symview-tabs > .symview-tab { flex: 1 1 0; min-width: 0; }
.symview-tab {
  font-family: var(--mono);
  font-size: var(--fs-2xs);
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--text-dim);
  background: none;
  border: 1px solid var(--line-hard);
  border-radius: var(--r-pill);
  padding: 7px 13px;
  cursor: pointer;
  transition: color var(--transition-fast), border-color var(--transition-fast),
              background var(--transition-fast);
  
  min-height: 34px;
}
.symview-tab:hover { color: var(--ink); }
.symview-tab[aria-selected="true"] {
  color: var(--accent);
  border-color: var(--accent);
  background: var(--accent-bg);
}
[data-symview="compliance"] [data-view="technical"],
[data-symview="technical"] [data-view="compliance"] { display: none; }

.tr-intro {
  margin: 0 0 12px;
  font-size: var(--fs-xs);
  color: var(--text-dim);
  line-height: 1.5;
  max-width: 66ch;
}
.tr-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.tr-cell {
  background: var(--paper-raised);
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.tr-k {
  font-family: var(--mono);
  font-size: var(--fs-micro);
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-dim);
}
.tr-v {
  font-size: var(--fs-lg);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
.tr-v small {
  font-size: var(--fs-2xs);
  font-weight: 400;
  color: var(--text-dim);
  margin-left: 5px;
}
.tr-v.dn { color: var(--bad); }

.tr-none { font-size: var(--fs-sm); font-weight: 400; color: var(--text-dim); }
.tr-basis { font-size: var(--fs-sm); font-weight: 600; }

.pending { color: var(--text-dim); }

.qa-intro {
  margin: 0 0 12px;
  font-size: var(--fs-xs);
  color: var(--text-dim);
  line-height: 1.5;
  max-width: 62ch;
}
.qa-list { display: grid; gap: 1px; background: var(--line);
  border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.qa-item { background: var(--paper-raised); }
.qa-item > summary {
  cursor: pointer;
  padding: 12px 14px;
  font-size: var(--fs-sm);
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: var(--sp-2, 10px);
  align-items: center;
  transition: color var(--transition-fast);
}
.qa-item > summary::-webkit-details-marker { display: none; }
.qa-item > summary::after {
  content: "+";
  font-family: var(--mono);
  color: var(--text-dim);
  flex: none;
}
.qa-item[open] > summary::after { content: "\2212"; }
.qa-item > summary:hover { color: var(--accent); }
.qa-item > p {
  margin: 0;
  padding: 0 14px 14px;
  font-size: var(--fs-xs);
  color: var(--text-dim);
  line-height: 1.55;
  max-width: 70ch;
}
.qa-disc {
  margin: 12px 0 0;
  font-size: var(--fs-micro);
  color: var(--text-dim);
  line-height: 1.5;
  max-width: 70ch;
}

.wk52 {
  display: flex;
  align-items: center;
  gap: var(--sp-2, 8px);
  margin: 10px 0 0;
  font-family: var(--mono);
  font-size: var(--fs-micro);
  color: var(--text-dim);
  flex-wrap: wrap;
}
.wk52-track {
  position: relative;
  flex: 1 1 120px;
  min-width: 90px;
  max-width: 260px;
  height: 4px;
  border-radius: var(--r-pill);
  
  background: linear-gradient(90deg, var(--line) 0%, var(--line-hard) 100%);
}
.wk52-track > i {
  position: absolute;
  top: -3px; bottom: -3px;
  width: 2px;
  margin-left: -1px;
  background: var(--ink);
  border-radius: var(--r-pill);
}
.wk52-k { text-transform: uppercase; letter-spacing: .06em; }

.wk52-lo,
.wk52-hi { font-variant-numeric: tabular-nums; }

.sig-lad {
  position: relative;
  height: 6px;
  margin: 14px 0 6px;
  border-radius: var(--r-pill);
  background: var(--good-bg);
  overflow: hidden;
}

.sig-risk {
  position: absolute; left: 0; top: 0; bottom: 0;
  background: var(--bad-bg);
}
.sig-mk {
  position: absolute; top: -3px; bottom: -3px;
  width: 2px; margin-left: -1px;
}
.sig-entry { background: var(--text-dim); }

.sig-now { background: var(--ink); width: 3px; margin-left: -1.5px; }
.sig-lad-l {
  display: flex;
  justify-content: space-between;
  gap: var(--sp-2, 8px);
  margin: 0;
  font-family: var(--mono);
  font-size: var(--fs-micro);
  color: var(--text-dim);
}
.sig-l-now { color: var(--ink); }

.sym-acts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-2, 8px);
  margin: 14px 0 0;
}
.sym-act-f { margin: 0; display: contents; }

.sym-act {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  gap: 6px;
  padding: 8px 14px;
  font-family: var(--mono);
  font-size: var(--fs-2xs);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-dim);
  background: none;
  border: 1px solid var(--line-hard);
  border-radius: var(--r-pill);
  cursor: pointer;
  text-decoration: none;
  
  line-height: 1.15;
  box-sizing: border-box;
  transition: color var(--transition-fast), border-color var(--transition-fast);
}
.sym-act:hover { color: var(--ink); border-color: var(--ink); }
.sym-act--go { color: var(--accent); border-color: var(--accent); }
.sym-act--go:hover { color: var(--on-accent); background: var(--accent); }

.sym-act--on { color: var(--good); border-color: var(--good); }
.sym-act--on:hover { color: var(--bad); border-color: var(--bad); }

.cmp-intro {
  margin: 0 0 12px;
  font-size: var(--fs-xs);
  color: var(--text-dim);
  line-height: 1.5;
  max-width: 62ch;
}
.cmp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: var(--sp-2, 10px);
}
.cmp-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--paper-raised);
  text-decoration: none;
  color: inherit;
  transition: border-color var(--transition-fast);
}
.cmp-card:hover { border-color: var(--line-hard); }
.cmp-sym { font-family: var(--mono); font-weight: 700; font-size: var(--fs-sm); }
.cmp-name {
  font-size: var(--fs-micro);
  color: var(--text-dim);
  line-height: 1.35;
  
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}

.ih-decisive {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.ih-decisive li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 12px;
  padding: 9px 12px;
  background: var(--paper-raised);
}
.ih-d-k { font-size: var(--fs-xs); }
.ih-d-v {
  font-family: var(--mono);
  font-size: var(--fs-2xs);
  text-transform: uppercase;
  letter-spacing: .06em;
  justify-self: end;
  color: var(--neutral);
}
.ih-decisive li.is-good    .ih-d-v { color: var(--good); }
.ih-decisive li.is-bad     .ih-d-v { color: var(--bad); }

.ih-decisive li.is-unknown .ih-d-v { color: var(--neutral); }
.ih-d-why {
  grid-column: 1 / -1;
  font-size: var(--fs-micro);
  color: var(--text-dim);
  line-height: 1.45;
}

.thrbar {
  position: relative;
  height: 5px;
  margin: 2px 0 9px;
  
  border-radius: var(--r-pill);
  background: var(--line);
  overflow: hidden;
}
.thrbar > i {
  display: block;
  height: 100%;
  border-radius: var(--r-pill);
  
  background: var(--neutral);
  transition: width var(--transition-fast);
}
.thrbar > i.ok     { background: var(--good); }
.thrbar > i.over   { background: var(--bad); }
.thrbar > i.unsure { background: var(--warn); }

.thrbar-line {
  position: absolute;
  top: -1px;
  bottom: -1px;
  width: 2px;
  margin-left: -1px;
  background: var(--ink);
  opacity: .55;
}
@media (prefers-reduced-motion: reduce) {
  .thrbar > i { transition: none; }
}

.symview-tab {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  line-height: 1.25;
  text-align: left;
}
.symview-tab > b {
  font-weight: 700;
  letter-spacing: inherit;
}
.symview-tab > span {
  font-size: var(--fs-micro);
  letter-spacing: .02em;
  text-transform: none;
  color: var(--text-dim);
  font-weight: 400;
}
.symview-tab[aria-selected="true"] > span { color: inherit; opacity: .85; }

.symview-note {
  margin: 10px 0 0;
  max-width: 62ch;
  font-size: var(--fs-xs);
  line-height: 1.5;
  color: var(--text-dim);
}

[data-symview="compliance"] h3.section-head[data-view="technical"],
[data-symview="technical"] h3.section-head[data-view="compliance"],
[data-symview="compliance"] h2.section-head[data-view="technical"],
[data-symview="technical"] h2.section-head[data-view="compliance"],
[data-symview="compliance"] .mcol-body[data-view="technical"],
[data-symview="technical"] .mcol-body[data-view="compliance"] { display: none; }

[data-symview="compliance"] .section-head.sv-technical { display: none; }

.ri-card { margin-top: var(--sp-3); }
.ri-lede, .ri-foot {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-xs);
  color: var(--text-dim);
  line-height: 1.5;
}
.ri-foot { margin: var(--sp-3) 0 0; }
.ri-tbl { min-width: 520px; }
.ri-lbl b { display: block; font-weight: 600; color: var(--ink); }
.ri-lbl span {
  display: block;
  margin-top: 2px;
  font-size: var(--fs-xs);
  color: var(--text-dim);
  font-weight: 400;
}
.ri-when, .ri-tag {
  font-family: var(--mono);
  font-size: var(--fs-xs);
  color: var(--text-dim);
}

.ri-tag { white-space: normal; word-break: break-word; max-width: 220px; }

.ri-tbl tr.ri-hi td { background: var(--accent-bg); }
.ri-tbl tr.ri-hi .ri-lbl b { color: var(--accent-ink); }

.ri-none { color: var(--text-dim); font-style: italic; font-family: var(--sans); }

.ve-card { margin-top: var(--sp-3); }
.ve-lede, .ve-foot {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-xs);
  color: var(--text-dim);
  line-height: 1.5;
}
.ve-foot { margin: var(--sp-3) 0 0; }
.ve-tl { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2); }
.ve-item {
  display: grid;
  grid-template-columns: 92px auto 1fr;
  align-items: baseline;
  gap: var(--sp-2);
  padding: var(--sp-2) 0;
  border-top: 1px solid var(--line);
}
.ve-item:first-child { border-top: 0; }
.ve-dt {
  font-family: var(--mono);
  font-size: var(--fs-xs);
  color: var(--text-dim);
  white-space: nowrap;
}
.ve-note { font-size: var(--fs-xs); color: var(--text-dim); line-height: 1.5; }

.pill.ve-neutral {
  background: var(--neutral-bg);
  color: var(--neutral);
  border-color: var(--line);
}

@media (max-width: 560px) {
  .ve-item { grid-template-columns: 1fr; gap: var(--sp-1); }
}

.hr-card { margin-top: var(--sp-3); }
.hr-split { display: grid; grid-template-columns: 1fr 260px; gap: var(--sp-4); align-items: start; }
.hr-lede { margin: 0 0 var(--sp-3); font-size: var(--fs-xs); color: var(--text-dim); line-height: 1.5; }
.hr-row { display: grid; grid-template-columns: 1fr 120px 64px; gap: var(--sp-2); align-items: center; padding: var(--sp-2) 0; border-top: 1px solid var(--line); }
.hr-row:first-of-type { border-top: 0; }
.hr-k { font-size: var(--fs-xs); color: var(--ink); line-height: 1.3; }
.hr-k small { display: block; color: var(--text-dim); font-size: var(--fs-xs); }
.hr-bar { display: block; height: 8px; border-radius: var(--r-sm); background: var(--neutral-bg); overflow: hidden; }
.hr-bar i { display: block; height: 100%; border-radius: var(--r-sm); }
.hr-bar i.ok { background: var(--good); }
.hr-bar i.over { background: var(--bad); }
.hr-v { font-family: var(--mono); font-size: var(--fs-sm); text-align: right; color: var(--good); }
.hr-v small { display: block; font-size: var(--fs-xs); color: var(--text-dim); font-weight: 400; }
.hr-v.dn { color: var(--bad); }
.hr-aside { border: 1px solid var(--line); border-radius: var(--r-lg); padding: var(--sp-3); background: var(--paper); }

.hr-aside.warn { border-color: var(--bad); background: var(--bad-bg); }
.hr-aside h4 { margin: 0 0 var(--sp-2); font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-dim); }
.hr-big { font-family: var(--mono); font-size: var(--fs-2xl); line-height: 1.1; color: var(--ink); }
.hr-big small { display: block; margin-top: 2px; font-family: var(--sans); font-size: var(--fs-xs); color: var(--text-dim); }
.hr-say { margin: var(--sp-2) 0 0; font-size: var(--fs-xs); color: var(--text-dim); line-height: 1.5; }
.hr-facts { list-style: none; margin: var(--sp-3) 0 0; padding: 0; display: grid; gap: var(--sp-2); }
.hr-facts li { display: flex; justify-content: space-between; gap: var(--sp-2); font-size: var(--fs-xs); }
.hr-facts span { color: var(--text-dim); }
.hr-facts b { text-align: right; color: var(--ink); font-weight: 600; }

.hr-facts b.hr-none { color: var(--text-dim); font-style: italic; font-weight: 400; }
@media (max-width: 760px) {
  .hr-split { grid-template-columns: 1fr; }
  .hr-row { grid-template-columns: 1fr 72px; }
  .hr-bar { grid-column: 1 / -1; }
}

.cvg-card { margin-top: var(--sp-3); }
.cvg-lede, .cvg-foot { margin: 0 0 var(--sp-3); font-size: var(--fs-xs); color: var(--text-dim); line-height: 1.55; }
.cvg-foot { margin: var(--sp-3) 0 0; }
.cvg-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2); }
.cvg-item { padding: var(--sp-2) 0; border-top: 1px solid var(--line); }
.cvg-item:first-child { border-top: 0; }
.cvg-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin-bottom: 4px; }
.cvg-src, .cvg-dt { font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim); }
.cvg-h { display: block; font-size: var(--fs-sm); color: var(--ink); line-height: 1.4; text-decoration: none; }
a.cvg-h:hover { color: var(--accent); text-decoration: underline; }

.pill.cvg-after { background: var(--accent-bg); color: var(--accent-ink); border-color: var(--line); }

.fl-card { margin-top: var(--sp-3); }
.fl-lede, .fl-foot, .fl-age { margin: 0 0 var(--sp-3); font-size: var(--fs-xs); color: var(--text-dim); line-height: 1.55; }
.fl-foot { margin: var(--sp-2) 0 0; }

.fl-leg { margin-bottom: var(--sp-3); }
.fl-age.stale { color: var(--bad); }
.fl-tbl { min-width: 420px; }
.fl-h b { display: block; font-weight: 600; color: var(--ink); }
.fl-h span { display: block; margin-top: 2px; font-size: var(--fs-xs); color: var(--text-dim); font-weight: 400; }
.fl-un { color: var(--text-dim); }
.fl-drag-h { margin-top: var(--sp-4); }
.fl-drags { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2); }
.fl-drags li { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-2); padding: var(--sp-2) 0; border-top: 1px solid var(--line); font-size: var(--fs-xs); }
.fl-drags li:first-child { border-top: 0; }
.fl-d-s { color: var(--ink); }
.fl-d-s small { display: block; color: var(--text-dim); }
.fl-drags b { font-family: var(--mono); color: var(--ink); }

.section-sub {
  margin: -4px 0 var(--sp-3);
  max-width: 68ch;
  font-size: var(--fs-xs);
  line-height: 1.6;
  color: var(--text-dim);
}

.sec-computing { font-style: normal; color: var(--text-dim); }

#tv-embed { width: 100%; height: 340px; }
:fullscreen #tv-embed { height: 82vh; }

@media (max-width: 640px) {
  .footer-col a,
  .crumb a {
    display: inline-flex; align-items: center; min-height: 36px;
  }
  .crumb { gap: 2px 8px; }
}

.htr-page .dim { color: var(--text-dim); }

.htr-page .fine,
.htr-page .card .fine {
  font-size: var(--fs-xs); color: var(--text-dim);
  line-height: 1.5; margin: var(--sp-3) 0 0;
}

.htr-page .hub-note { font-size: var(--fs-sm); margin-top: var(--sp-3); }

.htr-page .total-sub {
  font-size: var(--fs-xs); color: var(--text-dim); margin-top: 2px;
}
.htr-page .fig { color: var(--ink); font-variant-numeric: tabular-nums; }

.htr-page .browse-tabs { margin-bottom: var(--sp-3); }
.htr-page .sym-chip {
  display: inline-flex; align-items: center; gap: 6px;
  
  min-height: 36px;
  padding: 4px 10px 4px 4px;
  
  border: 1px solid var(--line); border-radius: var(--r-md);
  transition: var(--transition-fast);
}
.htr-page .sym-chip:hover { border-color: var(--line-hard); background: var(--paper-raised); }
.htr-page .sym-chip-logo { --logo-size: 18px; }

.dash-symhead {
  display: flex; align-items: baseline; justify-content: space-between;
  flex-wrap: wrap; gap: var(--sp-2); margin-bottom: var(--sp-3);
}
.dash-symhead-id { display: flex; align-items: baseline; gap: var(--sp-2); flex-wrap: wrap; }
.dash-symname { color: var(--text-dim); }

a.dash-symlink { font-size: var(--fs-sm); color: var(--text-dim); }
.dash-price {
  font-family: var(--mono); font-size: var(--fs-2xl); font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.dash-err { margin-bottom: var(--sp-3); }
.dash-scorehead {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: var(--sp-3); margin-bottom: var(--sp-3);
}
.dash-scorehead-id { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
.dash-score-denom { font-size: var(--fs-sm); color: var(--text-dim); }
.dash-regime-note { font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim); }
.dash-driving { margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--line); }
.dash-driving .section-head { margin-bottom: var(--sp-2); }
.dash-driving-list { margin: 0; padding-left: 18px; font-size: var(--fs-sm); color: var(--text-dim); }
.dash-full { text-align: center; }

.htr-page .card p.dash-full-note {
  margin: 0 0 var(--sp-2); color: var(--text-dim); font-size: var(--fs-sm);
}

.htr-page .dashboard-examples a {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 36px; min-width: 36px; padding: 0 var(--sp-1);
}

.holdings-ring { display: block; width: 100%; max-width: 232px; height: auto; }
.ring-track { stroke: var(--line); }
.ring-n {
  text-anchor: middle;
  font-family: var(--mono); font-size: var(--fs-2xl); font-weight: 700;
  font-variant-numeric: tabular-nums; fill: var(--ink);
}
.ring-l {
  text-anchor: middle;
  font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .14em; fill: var(--text-dim);
}

.ring-card { margin-bottom: var(--sp-4); }
.ring-body {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: var(--sp-4); margin-top: var(--sp-3);
}
.ring-fig { flex: 0 0 auto; margin: 0; }
.ring-side { flex: 1 1 260px; min-width: 0; }
.ring-key {
  list-style: none; margin: 0 0 var(--sp-3); padding: 0;
  display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-3);
}
.ring-key li {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--text-dim);
  font-variant-numeric: tabular-nums;
}

.ring-sw {
  width: 9px; height: 9px; border-radius: var(--r-round);
  flex: 0 0 auto;
}
.ring-note {
  margin: 0; font-size: var(--fs-sm); line-height: 1.6;
  color: var(--text-dim); max-width: 60ch;
}

[data-animate="draw"] [pathLength],
[data-animate="draw"][pathLength] {
  stroke-dasharray: none;
  stroke-dashoffset: 0;
}

[data-animate="grow"] > * { transform-origin: left center; }

@media (prefers-reduced-motion: reduce) {
  [data-animate="draw"] [pathLength],
  [data-animate="draw"][pathLength] {
    stroke-dasharray: none !important;
    stroke-dashoffset: 0 !important;
  }
  [data-animate="grow"] > * { transform: none !important; }
}
:root[data-motion="reduced"] [data-animate="draw"] [pathLength],
:root[data-motion="reduced"] [data-animate="draw"][pathLength] {
  stroke-dasharray: none !important;
  stroke-dashoffset: 0 !important;
}
:root[data-motion="reduced"] [data-animate="grow"] > * {
  transform: none !important;
}

.sym-mast {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--sp-4);
  align-items: start;
  margin: 0 0 var(--sp-3);
}

@media (min-width: 1001px) {
  .sym-mast {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
    gap: var(--sp-6);
  }
}
.sym-mast-main { min-width: 0; }

.sym-idrow {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 6px;
  min-width: 0;
}

.sym-idrow > .page-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 12px;
  row-gap: 4px;
  min-width: 0;
}
.sym-h1-tkr { min-width: 0; }
.sym-h1-name {
  flex: 1 0 100%;
  min-width: 0;
  font-family: var(--sans);
  font-size: var(--fs-sm);
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.45;
  color: var(--text-dim);
}

.sym-px {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  margin: 10px 0 0;
}

.vcard {
  border: 1px solid var(--line-hard);
  border-radius: var(--r-2xl);
  padding: var(--sp-4);
  background: var(--paper-raised);
}
.vcard--good {
  border-color: color-mix(in srgb, var(--good) 34%, var(--line-hard));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--good) 8%, transparent), transparent 62%),
    var(--paper-raised);
}

.vcard--warn {
  border-color: color-mix(in srgb, var(--warn) 38%, var(--line-hard));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--warn) 8%, transparent), transparent 62%),
    var(--paper-raised);
}
.vcard--bad {
  border-color: color-mix(in srgb, var(--bad) 34%, var(--line-hard));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--bad) 8%, transparent), transparent 62%),
    var(--paper-raised);
}
.vcard--none { border-color: var(--line-hard); background: var(--paper-raised); }

.v-eyebrow {
  margin: 0 0 10px;
  font-family: var(--mono);
  font-size: var(--fs-micro);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.v-headline {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 14px;
  min-width: 0;
}

.v-headline > b {
  
  font-family: var(--display);
  font-size: var(--fs-2xl);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.01em;
  min-width: 0;
}
.v-icon { width: 26px; height: 26px; flex: none; }

.v-good { color: var(--good); }
.v-warn { color: var(--warn); }
.v-bad  { color: var(--bad); }
.v-none { color: var(--text-dim); }

.vcard .mc-inhouse {
  display: block;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  background: none;
}
.vcard .mc-ih-dots { display: flex; gap: 3px; width: 100%; }
.vcard .mc-ih-dots i {
  flex: 1 1 0;
  width: auto;
  height: 8px;
  border-radius: var(--r-xs);
}
.vcard .mc-ih-txt {
  display: block;
  margin: 9px 0 0;
  font-family: var(--mono);
  font-size: var(--fs-micro);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-dim);
  line-height: 1.5;
}
.vcard .mc-ih-txt b { color: var(--ink); font-weight: 700; }
.vcard .mc-ih-txt a { color: var(--text-dim); }
.vcard .mc-ih-txt a:hover { color: var(--ink); }

:root[data-hatch="on"] .vcard .mc-ih-dots i.mc-ih-f {
  background-image: repeating-linear-gradient(
    135deg,
    color-mix(in srgb, var(--bad) 60%, transparent) 0 2px,
    transparent 2px 4px);
}

.v-meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px 14px;
  flex-wrap: wrap;
  padding: 12px 0 0;
  border-top: 1px solid var(--line);
  font-family: var(--mono);
  font-size: var(--fs-micro);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-faint);
}
.v-meta b { color: var(--text-dim); font-weight: 400; }

.symview {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-3) var(--sp-4);
  margin: 0 0 var(--sp-4);
}

.symview-tabs {
  flex: 0 1 400px;
  gap: 0;
  padding: 4px;
  border-color: var(--line-hard);
  border-radius: var(--r-xl);
}

.symview-tab {
  border: 1px solid transparent;
  border-radius: var(--r-lg);
  padding: 9px 14px;
}

.symview-tab[aria-selected="true"] {
  color: var(--accent);
  border-color: transparent;
  background: color-mix(in srgb, var(--accent) 13%, transparent);
}
.symview-tab[aria-selected="true"] > b { color: var(--accent); }

.symview-tab[aria-selected="true"] > span { color: var(--text-dim); opacity: 1; }
.symview-note {
  flex: 1 1 280px;
  margin: 0;
  max-width: 54ch;
}

[data-animate="grow-split"] { transform-origin: left center; }

[data-animate="count"] { font-variant-numeric: tabular-nums; }

@media (prefers-reduced-motion) {
  [data-animate="grow-split"] { transform: none !important; }
}
:root[data-motion="reduced"] [data-animate="grow-split"] {
  transform: none !important;
}

.verdict-field { max-width: 320px; }
.verdict-field-fig { margin: 0 0 14px; }

.htr-home .hero h1 .hw { display: inline-block; }

.htr-home .hero::before { display: none; }
.htr-home .hero .hero-depth {
  position: absolute;
  inset: -10% -6%;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.htr-home .hero .hd-glow,
.htr-home .hero .hd-lattice { display: block; position: absolute; }
.htr-home .hero .hd-glow {
  right: -8%;
  top: -10%;
  width: 62%;
  height: 120%;
  background: radial-gradient(closest-side,
              color-mix(in srgb, var(--accent) 8%, transparent), transparent 70%);
}

.htr-home .hero .hd-lattice {
  inset: 0;
  opacity: .5;
  background-image:
    repeating-radial-gradient(circle at 50% 100%,
      transparent 0 47px,
      color-mix(in srgb, var(--raise) 7%, transparent) 47px 48px,
      transparent 48px 96px),
    linear-gradient(90deg,
      color-mix(in srgb, var(--raise) 4%, transparent) 1px, transparent 1px);
  background-size: 240px 190px, 60px 100%;
  background-position: center bottom, left top;
  
  -webkit-mask-image: radial-gradient(ellipse 70% 80% at 62% 42%, black, transparent 76%);
  mask-image: radial-gradient(ellipse 70% 80% at 62% 42%, black, transparent 76%);
}

@media (max-width: 900px) {
  .htr-home .hero .hd-glow { right: -40%; top: 30%; width: 120%; height: 70%; }
  
  .htr-home .hero .hd-lattice { opacity: .28; }
}

[data-speed] { will-change: transform; }

.htr-home .hero .board {
  transform-style: preserve-3d;
  transition: transform .35s ease-out;
  will-change: transform;
}

@media (max-width: 979px) {
  .htr-home .hero .board { transform: none !important; }
}

.htr-home .bd-sum .meter i { transform-origin: left center; }

@keyframes htr-live-sweep {
  0%        { transform: translateX(-130%); }
  55%, 100% { transform: translateX(340%); }
}
.htr-home .gc--live { position: relative; overflow: hidden; }
.htr-home .gc--live::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  transform: translateX(-130%);
  animation: htr-live-sweep 4.5s ease-in-out infinite;
  pointer-events: none;
}

.htr-home .status .status-since {
  
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion) {
  .htr-home .hero h1 .hw { opacity: 1 !important; transform: none !important; }
  .htr-home .hero .board { transform: none !important; transition: none !important; }
  .htr-home .bd-sum .meter i { transform: none !important; }
  .htr-home .vcell.flip { animation: none !important; }
  .htr-home .gc--live::after {
    animation: none !important;
    transform: none !important;
    width: 100% !important;
    opacity: .5;
  }
  [data-speed] { transform: none !important; will-change: auto; }
}

:root[data-motion="reduced"] .htr-home .hero h1 .hw {
  opacity: 1 !important;
  transform: none !important;
}
:root[data-motion="reduced"] .htr-home .hero .board {
  transform: none !important;
  transition: none !important;
}
:root[data-motion="reduced"] .htr-home .bd-sum .meter i { transform: none !important; }
:root[data-motion="reduced"] .htr-home .vcell.flip { animation: none !important; }
:root[data-motion="reduced"] .htr-home .gc--live::after {
  animation: none !important;
  transform: none !important;
  width: 100% !important;
  opacity: .5;
}
:root[data-motion="reduced"] [data-speed] {
  transform: none !important;
  will-change: auto;
}
