﻿/*
 * Macro Terminal - Variant A: Light theme
 * Clean, dollarliquidity.com-inspired aesthetic.
 * Class names mirror the existing theme so JS hooks keep working.
 */

:root {
  --asset-mapping-status-nav-height: 96px;
  /* Background layers - off-white app, pure white cards */
  --bg-primary:    #FAFAFA;
  --bg-secondary:  #FFFFFF;   /* cards */
  --bg-tertiary:   #F7F8FA;   /* subtle panels inside cards */
  --bg-surface:    #ECEFF3;   /* track / inactive bars */
  --bg-elevated:   #FFFFFF;

  /* Text hierarchy */
  --text-primary:   #1F2937;  /* body text */
  --text-secondary: #4B5563;  /* secondary copy */
  --text-muted:     #6B7280;  /* metadata, labels */
  --text-accent:    #0F172A;  /* headlines, key numbers */

  /* Semantic colors - muted */
  --color-easing:      #047857;   /* green */
  --color-easing-soft: rgba(4, 120, 87, 0.10);
  --color-tightening:      #B91C1C;   /* red */
  --color-tightening-soft: rgba(185, 28, 28, 0.10);
  --color-neutral:     #6B7280;
  --color-warning:     #92400E;
  --color-warning-soft: rgba(146, 64, 14, 0.10);
  --color-info:        #0F4F84;
  --color-info-soft:   rgba(15, 79, 132, 0.10);
  --brand-primary:     #0F6B45;
  --brand-primary-hover: #0B5838;
  --brand-primary-soft: rgba(15, 107, 69, 0.08);
  --panel-subtle:      #FAFBFC;

  /* Tier accent colors */
  --tier-a: var(--brand-primary);   /* green   - Policy */
  --tier-b: #1F6FB8;   /* blue    - Funding */
  --tier-c: #8A5A12;   /* amber   - Credit */
  --tier-d: #B93A18;   /* orange  - Risk */
  --tier-context: #475569;

  /* Regime band colors - toned down ~25% */
  --regime-loose:        #15803D;
  --regime-mildly-loose: #4D7C0F;
  --regime-mildly-tight: #B45309;
  --regime-tight:        #DC2626;
  --regime-reflation: #D97706;
  /* WS-3C (MC3): overheating — hotter than reflation, short of stagflation red */
  --regime-overheating: #EA580C;
  --regime-disinflation: #16A34A;
  --regime-goldilocks: #0D9488;
  --regime-soft-landing: #059669;
  --regime-stagflation: #DC2626;
  --regime-growth-scare: #991B1B;
  --regime-neutral: #6B7280;
  --conviction-high: #16A34A;
  --conviction-medium: #D97706;
  --conviction-low: #6B7280;

  /* Borders & dividers */
  --border-subtle: #E1E4E8;
  --border-medium: #C8CDD4;
  --border-strong: #9CA3AF;

  /* Spacing scale */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;

  /* Typography */
  --font-mono: 'SF Mono', 'Cascadia Mono', 'Roboto Mono', ui-monospace, monospace;
  --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --font-size-xs:   0.75rem;
  --font-size-sm:   0.875rem;
  --font-size-base: 1rem;
  --font-size-lg:   1.25rem;
  --font-size-xl:   1.5rem;
  --font-size-2xl:  2rem;

  /* Card */
  --card-radius: 6px;
  --card-padding: 22px;
  --card-shadow: 0 1px 1px rgba(15, 23, 42, 0.025);
  --card-shadow-hover: 0 1px 2px rgba(15, 23, 42, 0.04);
}

/* Reset */

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html[data-locale="zh"][data-i18n-pending="true"] [data-i18n] {
  visibility: hidden;
}
body {
  font-family: var(--font-sans);
  font-size: var(--font-size-base);
  line-height: 1.55;
  color: var(--text-primary);
  background-color: var(--bg-primary);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'cv11', 'ss01', 'ss03';
}
h1, h2, h3, h4 {
  color: var(--text-accent);
  font-weight: 600;
  margin: 0;
  letter-spacing: 0;
}
h1 { font-size: 2.25rem; font-weight: 700; letter-spacing: 0; line-height: 1.15; }
h2 { font-size: var(--font-size-xl); font-weight: 600; letter-spacing: 0; }
h3 { font-size: var(--font-size-lg); font-weight: 600; }
h4 {
  font-size: 0.6875rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.10em;
  font-weight: 600;
}
p { margin: 0; }
a { color: var(--color-info); text-decoration: none; transition: color 120ms ease; }
a:hover { color: #165A94; text-decoration: underline; }
button { font-family: inherit; font-size: inherit; cursor: pointer; }
:where(a, button, summary, select):focus-visible {
  outline: 2px solid var(--color-info);
  outline-offset: 2px;
}

::selection { background: rgba(31, 111, 184, 0.18); color: var(--text-accent); }

/* Layout */

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-xl);
}

.site-header {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--border-subtle);
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 50;
}
.header-main {
  background: rgba(255, 255, 255, 0.94);
}
.header-main-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 62px;
}
.site-header .brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text-accent);
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  text-decoration: none;
  white-space: nowrap;
}
.site-header .brand:hover {
  color: var(--text-accent);
  text-decoration: none;
}
.brand-mark {
  display: block;
  width: 32px;
  height: 32px;
}
.brand-word {
  font-size: 1.15rem;
  font-weight: 750;
}
.brand-muted {
  margin-left: -6px;
  color: var(--text-muted);
  font-size: 0.86rem;
  font-weight: 500;
}
.header-status {
  display: none;
  margin-left: auto;
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
}
.header-status span {
  margin-left: 8px;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
  text-transform: none;
}
.primary-nav {
  display: flex;
  align-items: center;
  gap: 20px;
  scrollbar-width: none;
}
.primary-nav::-webkit-scrollbar {
  display: none;
}
.primary-nav a,
.indicator-menu summary {
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  text-decoration: none;
  padding: 20px 0 18px;
  border-bottom: 2px solid transparent;
  transition: color 120ms ease, border-color 120ms ease;
  cursor: pointer;
  list-style: none;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
}
.indicator-menu summary::-webkit-details-marker { display: none; }
.primary-nav a:hover,
.indicator-menu summary:hover {
  color: var(--text-accent);
  text-decoration: none;
}
.primary-nav a.active,
.indicator-menu.active summary,
.indicator-menu[open] summary {
  color: var(--text-accent);
  border-bottom-color: var(--brand-primary);
}
.indicator-menu {
  position: relative;
}
.indicator-menu:not([open]) .indicator-menu-panel {
  display: none;
}
.indicator-menu-panel {
  position: absolute;
  top: calc(100% + 1px);
  right: 0;
  width: min(720px, calc(100vw - 32px));
  min-width: 520px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
  padding: 12px;
  border: 1px solid var(--border-subtle);
  background: #FFFFFF;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
  z-index: 80;
}
.indicator-menu-group {
  display: grid;
  align-content: start;
  gap: 2px;
  min-width: 0;
}
.indicator-menu-group-wide {
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-subtle);
}
.indicator-menu-label {
  grid-column: 1 / -1;
  padding: 3px 10px 6px;
  border-bottom: 1px solid rgba(15, 79, 132, 0.14);
  color: var(--text-accent);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-align: center;
  text-transform: uppercase;
}
.indicator-menu-panel a {
  padding: 9px 10px;
  border-bottom: none;
  font-size: 0.82rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.indicator-menu-panel a:hover {
  background: var(--panel-subtle);
}
.indicator-menu-panel a.active {
  background: var(--color-info-soft);
}
.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
/* Locale toggle, injected by site/js/app.js into .header-actions */
.locale-toggle {
  display: inline-flex;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-subtle);
  border-radius: 999px;
  padding: 2px;
}
.locale-toggle button {
  appearance: none;
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-family: inherit;
  font-size: var(--font-size-xs);
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 999px;
  cursor: pointer;
  transition: background-color 120ms ease, color 120ms ease;
  line-height: 1.2;
  white-space: nowrap;
}
.locale-toggle button:hover { color: var(--text-primary); }
.locale-toggle button.active {
  background: var(--bg-secondary);
  color: var(--text-primary);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

@media (max-width: 1280px) {
  .header-main-inner {
    gap: 14px;
  }
  .brand-word {
    font-size: 1.06rem;
  }
  .primary-nav {
    gap: 14px;
  }
  .primary-nav a,
  .indicator-menu summary {
    font-size: 0.82rem;
    line-height: 1.25;
  }
  .locale-toggle button {
    padding-inline: 8px;
  }
}

@media (min-width: 1281px) and (max-width: 1640px) {
  .header-main-inner { gap: 14px; }
  .brand-word { font-size: 1.06rem; }
  .primary-nav { gap: 10px; }
  .primary-nav a,
  .indicator-menu summary {
    font-size: 0.82rem;
    line-height: 1.25;
  }
  .locale-toggle button { padding-inline: 8px; }
}

@media (min-width: 641px) and (max-width: 1280px) {
  .header-main-inner {
    min-height: 0;
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
    flex-wrap: wrap;
    gap: 18px;
  }
  .site-header .brand {
    width: calc(100% - 120px);
  }
  .header-status {
    display: none;
  }
  .header-actions {
    display: flex;
    margin-left: auto;
  }
  .primary-nav {
    order: 3;
    width: 100%;
    margin-left: 0;
    min-width: 0;
    gap: 10px 18px;
    flex-wrap: wrap;
    justify-content: center;
    overflow: visible;
  }
  .primary-nav a,
  .indicator-menu summary {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 0 8px;
    white-space: normal;
    text-wrap: balance;
  }
  .indicator-menu-panel {
    position: fixed;
    left: var(--space-md);
    right: var(--space-md);
    top: 116px;
    width: auto;
    min-width: 0;
    max-height: calc(100vh - 132px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow-y: auto;
  }
  .indicator-menu-group-wide {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.site-footer {
  margin-top: var(--space-2xl);
  padding: var(--space-xl) 0;
  border-top: 1px solid var(--border-subtle);
  color: var(--text-muted);
  font-size: var(--font-size-sm);
  background: var(--bg-secondary);
}
.site-footer .container {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  justify-content: space-between;
}
.site-footer .footer-meta {
  display: flex;
  gap: var(--space-md);
  flex-wrap: wrap;
}
.site-footer a { color: var(--text-secondary); }
.site-footer a:hover { color: var(--color-info); }

main { padding: 36px 0 var(--space-2xl); }
.overview-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* Hero and Status */

.hero {
  margin-bottom: 28px;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.dl-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  gap: 36px;
  align-items: center;
  padding: 18px 0 18px;
  min-height: 300px;
}
.hero-copy {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hero .eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.hero .eyebrow::before {
  content: '';
  width: 42px;
  height: 1px;
  background: var(--border-medium);
}
.hero h1 { margin-bottom: 0; }
.dl-hero h1 {
  max-width: 24ch;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0;
}
.hero .subtitle {
  color: var(--text-secondary);
  font-size: 1.0625rem;
  max-width: 68ch;
  line-height: 1.6;
}
.dl-hero .subtitle {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-width: 44ch;
  font-size: 0.96rem;
  line-height: 1.44;
}
.hero-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 740px;
  margin-top: 8px;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}
.hero-summary-cell {
  min-height: 56px;
  padding: 9px 15px;
  border-right: 1px solid var(--border-subtle);
}
.hero-summary-cell:first-child { padding-left: 0; }
.hero-summary-cell:last-child { border-right: none; }
.hero-summary-cell .label {
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.hero-summary-cell .value {
  margin-top: 6px;
  color: var(--text-accent);
  font-size: 1.08rem;
  font-weight: 750;
  line-height: 1.06;
  letter-spacing: 0;
}
.hero-summary-cell .meta {
  display: none;
  margin-top: 6px;
  color: var(--text-muted);
  font-size: var(--font-size-sm);
  font-weight: 500;
}
.hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-lg);
  margin-top: 2px;
}
.primary-action,
.secondary-action {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 650;
  text-decoration: none;
}
.primary-action {
  min-height: 38px;
  padding: 0 18px;
  color: #FFFFFF;
  background: var(--brand-primary);
  border: 1px solid var(--brand-primary);
}
.primary-action:hover {
  color: #FFFFFF;
  background: var(--brand-primary-hover);
  text-decoration: none;
}
.secondary-action {
  color: var(--text-secondary);
  border-bottom: 1px solid var(--border-medium);
  padding-bottom: 3px;
}
.secondary-action:hover {
  color: var(--text-accent);
  text-decoration: none;
}
.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md) var(--space-lg);
  align-items: center;
  margin-top: var(--space-sm);
}
.dl-hero .hero-meta {
  display: none;
}
.hero-core-card {
  padding: 14px;
  align-self: center;
}
.hero-core-card .card-header {
  margin-bottom: 10px;
  align-items: start;
}
.hero-core-card .card-title {
  margin-top: 2px;
  font-size: 1.05rem;
}
.mini-link {
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  font-weight: 600;
  white-space: nowrap;
}
.hero-core-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(96px, 1fr));
  gap: 10px;
}
.hero-mini-card {
  min-height: 74px;
  padding: 8px 8px 6px;
  border: 1px solid var(--border-subtle);
  background: #FFFFFF;
  color: inherit;
  text-decoration: none;
}
.hero-mini-card:hover {
  border-color: var(--border-medium);
  text-decoration: none;
}
.hero-mini-card .mini-name {
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: normal;
  overflow: hidden;
  overflow-wrap: anywhere;
  line-height: 1.25;
}
.hero-mini-card .mini-spark {
  height: 23px;
  margin-top: 5px;
}
.hero-mini-card .sparkline-svg {
  display: block;
  width: 100%;
  height: 100%;
}
.hero-mini-card .sparkline-grid line { display: none; }
.hero-mini-card .mini-spark-empty {
  background: var(--bg-tertiary);
  border: 1px dashed var(--border-subtle);
}
.hero-core-card .mini-link,
.dli-status-header .mini-link {
  flex-shrink: 0;
}
.signal-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  font-family: var(--font-sans);
  font-size: var(--font-size-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  border: 1px solid var(--border-subtle);
}
.signal-badge::before {
  content: '';
  display: inline-block;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: currentColor;
}
.signal-badge.regime-loose {
  color: var(--regime-loose);
  background: rgba(22, 163, 74, 0.10);
  border-color: rgba(22, 163, 74, 0.22);
}
.signal-badge.regime-mildly-loose {
  color: var(--regime-mildly-loose);
  background: rgba(101, 163, 13, 0.10);
  border-color: rgba(101, 163, 13, 0.22);
}
.signal-badge.regime-mildly-tight {
  color: var(--regime-mildly-tight);
  background: rgba(217, 119, 6, 0.10);
  border-color: rgba(217, 119, 6, 0.22);
}
.signal-badge.regime-tight {
  color: var(--regime-tight);
  background: rgba(220, 38, 38, 0.10);
  border-color: rgba(220, 38, 38, 0.22);
}

.trend-stat, .coverage-stat {
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  color: var(--text-muted);
  font-weight: 500;
}
.trend-stat .value, .coverage-stat .value {
  color: var(--text-accent);
  font-weight: 600;
  margin-left: 6px;
}
.trend-stat .delta-up   { color: var(--color-tightening); }
.trend-stat .delta-down { color: var(--color-easing); }

/* Cards */

.card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-subtle);
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  box-shadow: var(--card-shadow);
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
  min-width: 0;
}
.card:hover {
  border-color: var(--border-medium);
  box-shadow: var(--card-shadow-hover);
  background: #FFFFFF;
}
.card-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
}
.card-title {
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--text-accent);
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.card-subtitle {
  font-size: var(--font-size-xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

/* Grid Layout */

.grid { display: grid; gap: var(--space-md); }
.grid > * { min-width: 0; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.section { margin-bottom: 36px; }
.section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-md);
  margin-bottom: 16px;
  padding-bottom: 8px;
}
.section-header h2 { color: var(--text-accent); }
.section-kicker {
  margin-bottom: 4px;
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.section-header .meta {
  color: var(--text-muted);
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  font-weight: 500;
  white-space: nowrap;
}
.section-header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-end;
  gap: 10px 16px;
  min-width: 0;
}

/* DLI row: status card + takeaway side by side */
.hero-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

/* DLI Status Card */

.dli-status-card {
  --score-pct: 50%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  gap: 10px;
  padding: 14px 16px 16px;
  border-top: 3px solid var(--brand-primary);
}
.dli-status-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-md);
}
.dli-condition-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-md);
  align-items: start;
}
.dli-condition-label-block {
  align-self: end;
  padding-bottom: 4px;
}
.dli-state-label {
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dli-current-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--space-md);
  padding-bottom: 11px;
  border-bottom: 1px solid var(--border-subtle);
}
.dli-status-card .regime-name {
  align-self: start;
  transform: translateY(-8px);
  font-size: 2.08rem;
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: 0;
}
.dli-status-card .regime-name.regime-loose        { color: var(--regime-loose); }
.dli-status-card .regime-name.regime-mildly-loose { color: var(--regime-mildly-loose); }
.dli-status-card .regime-name.regime-mildly-tight { color: var(--regime-mildly-tight); }
.dli-status-card .regime-name.regime-tight        { color: var(--regime-tight); }
.dli-state-meta {
  display: none;
  color: var(--text-muted);
  font-size: var(--font-size-sm);
  font-weight: 500;
}
.dli-percentile-block {
  display: grid;
  gap: 6px;
  justify-items: end;
  align-self: start;
}
.dli-score-kicker,
.dli-band-title {
  color: var(--text-secondary);
  font-size: var(--font-size-xs);
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dli-window-toggle {
  display: inline-grid;
  grid-template-columns: repeat(4, minmax(25px, auto));
  gap: 1px;
  align-self: start;
  justify-self: end;
  padding: 1px;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  background: var(--panel-bg);
}
.dli-window-toggle button {
  min-height: 22px;
  padding: 0 5px;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: var(--text-secondary);
  font: inherit;
  font-size: 0.66rem;
  font-weight: 750;
  cursor: pointer;
}
.dli-window-toggle button.active {
  background: var(--brand-primary);
  color: #FFFFFF;
}
.dli-score-box {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  min-width: 0;
  padding: 2px 0 0;
}
.dli-score-box .score-number {
  color: #1F6FB8;
  font-size: 2.42rem;
  font-weight: 750;
  line-height: 1;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.dli-score-box .score-denominator {
  margin-left: 5px;
  color: var(--text-secondary);
  font-size: 1.15rem;
  font-weight: 650;
}
.dli-band-block {
  display: grid;
  gap: 8px;
}
.dli-band {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg,
    #1F6FB8 0%,
    #1F6FB8 20%,
    #7AA65A 20%,
    #7AA65A 50%,
    #B08A45 50%,
    #B08A45 80%,
    #D94B25 80%,
    #D94B25 100%);
}
.dli-band-marker {
  position: absolute;
  top: 50%;
  left: var(--score-pct);
  width: 18px;
  height: 18px;
  border: 3px solid #FFFFFF;
  border-radius: 999px;
  background: var(--text-secondary);
  box-shadow: 0 0 0 1px var(--border-medium);
  transform: translate(-50%, -50%);
}
.dli-band-labels {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-sm);
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  line-height: 1.35;
  text-align: center;
}
.dli-band-labels small {
  color: var(--text-muted);
  font-size: 0.68rem;
}
.dli-metric-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}
.dli-condition-profile { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 14px; padding: 12px 0; border-top: 1px solid var(--border-subtle); }
.dli-condition-profile div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-width: 0; }
.dli-condition-profile span { color: var(--text-muted); font-size: 0.75rem; }
.dli-condition-profile strong { color: var(--text-accent); font-size: 0.82rem; text-align: right; }
.dli-condition-profile p { margin: 0; color: var(--text-secondary); font-size: 0.74rem; line-height: 1.4; }
.dli-metric {
  min-height: 46px;
  padding: 8px 11px;
  border-right: 1px solid var(--border-subtle);
}
.dli-metric:last-child { border-right: none; }
.dli-metric span {
  display: block;
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dli-metric strong {
  display: block;
  margin-top: 4px;
  color: var(--text-accent);
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  font-weight: 650;
  line-height: 1.25;
}


.dli-flow-buffer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
.dli-reading {
  min-width: 0;
}
.dli-reading-flow {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  background: var(--card-bg);
}
.dli-reading-buffer {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  background: var(--panel-bg);
}
.dli-reading-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
}
.dli-reading-heading .mini-link {
  white-space: nowrap;
}
.dli-reading-heading .dli-state-label {
  color: var(--text-primary);
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.dli-reading-meta {
  margin-top: 5px;
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  line-height: 1.35;
}
.dli-score-control {
  display: grid;
  justify-items: end;
  gap: 6px;
}
.dli-score-control .dli-window-toggle {
  align-self: auto;
  justify-self: end;
}
.dli-current-row {
  padding-bottom: 0;
  border-bottom: 0;
}
.dli-band-block {
  gap: 7px;
  padding-top: 2px;
}
.reserve-buffer-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  align-items: start;
  justify-items: start;
}
.reserve-buffer-watermark {
  display: grid;
  justify-items: end;
  gap: 4px;
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dli-score-box.reserve-buffer-score-box {
  justify-content: flex-start;
}
.reserve-buffer-score-box .score-number {
  color: var(--text-primary);
}
.reserve-buffer-watermark strong {
  color: var(--tier-c);
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0;
}

/* Takeaway panel */
.takeaway-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.takeaway-card .card-header {
  align-items: flex-start;
}
.takeaway-card .takeaway-summary,
.takeaway-card .takeaway-text {
  color: var(--text-primary);
  font-size: 0.94rem;
  line-height: 1.44;
  max-width: 66ch;
}
.takeaway-card .takeaway-callout {
  max-width: none;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--border-subtle);
  border-left: 3px solid var(--tier-c);
  background: #FFFFFF;
}
.whatchanged-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-md);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--border-subtle);
}
.whatchanged-heading span {
  color: var(--text-accent);
  font-size: var(--font-size-sm);
  font-weight: 700;
}
.whatchanged-heading small {
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.takeaway-card .takeaway-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}
.takeaway-card .highlight {
  min-height: 52px;
  padding: 9px 11px;
  background: #FFFFFF;
  border-right: 1px solid var(--border-subtle);
}
.takeaway-card .highlight:last-child { border-right: none; }
.takeaway-card .highlight .label {
  font-size: var(--font-size-xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
  margin-bottom: 4px;
}
.takeaway-card .highlight .value {
  font-family: var(--font-mono);
  font-weight: 500;
  font-size: 0.98rem;
  color: var(--text-accent);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

/* Indicators Section */
#indicators-section {
  scroll-margin-top: 92px;
}
.tier-block {
  margin-bottom: 24px;
}
.tier-heading {
  display: grid;
  grid-template-columns: minmax(180px, 0.36fr) minmax(0, 0.64fr);
  gap: var(--space-lg);
  align-items: end;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-subtle);
}
.tier-heading h3,
.tier-heading h4 {
  font-size: 0.75rem;
  letter-spacing: 0.10em;
  font-weight: 750;
  margin: 0;
}
.tier-heading p {
  color: var(--text-muted);
  font-size: var(--font-size-sm);
  line-height: 1.45;
  margin: 0;
}
.tier-block-a h3,
.tier-block-a h4 { color: var(--tier-a); }
.tier-block-b h3,
.tier-block-b h4 { color: var(--tier-b); }
.tier-block-c h3,
.tier-block-c h4 { color: var(--tier-c); }
.tier-block-d h3,
.tier-block-d h4 { color: var(--tier-d); }
.tier-block-context h3,
.tier-block-context h4 { color: var(--tier-context); }
.tier-block-offshore h3,
.tier-block-offshore h4 { color: #2DA39A; }
.tier-block:last-child {
  margin-bottom: 0;
}

/* Indicator Card */

.indicator-card {
  --indicator-accent: var(--border-medium);
  display: flex;
  flex-direction: column;
  gap: 10px;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  padding: 16px;
  border-top: 3px solid var(--indicator-accent);
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}
.indicator-card-tier-A { --indicator-accent: var(--tier-a); }
.indicator-card-tier-B { --indicator-accent: var(--tier-b); }
.indicator-card-tier-C { --indicator-accent: var(--tier-c); }
.indicator-card-tier-D { --indicator-accent: var(--tier-d); }
.indicator-card-tier-context { --indicator-accent: var(--tier-context); }
.indicator-card:hover {
  border-color: var(--border-medium);
  border-top-color: var(--indicator-accent);
  box-shadow: var(--card-shadow-hover);
  background: #FFFFFF;
}
.indicator-card:focus-visible {
  outline: 2px solid var(--color-info);
  outline-offset: 2px;
}
.indicator-card .ic-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: 0;
  min-width: 0;
}
.indicator-card .ic-name {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--text-secondary);
  letter-spacing: 0;
  line-height: 1.35;
  min-width: 0;
  overflow-wrap: anywhere;
}
.indicator-card .ic-tier {
  font-family: var(--font-sans);
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  padding: 2px 7px;
  border-radius: 2px;
  flex-shrink: 0;
}
.indicator-card .ic-tier-A       { color: var(--tier-a); background: rgba(15, 107, 69, 0.10); }
.indicator-card .ic-tier-B       { color: var(--tier-b); background: rgba(31, 111, 184, 0.10); }
.indicator-card .ic-tier-C       { color: var(--tier-c); background: rgba(138, 90, 18, 0.12); }
.indicator-card .ic-tier-D       { color: var(--tier-d); background: rgba(185, 58, 24, 0.10); }
.indicator-card .ic-tier-context { color: var(--tier-context); background: rgba(71, 85, 105, 0.10); }

.indicator-card .ic-value-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(112px, auto);
  gap: 12px;
  align-items: end;
  min-height: 48px;
}
.indicator-card .ic-value {
  font-family: var(--font-sans);
  font-size: 1.62rem;
  font-weight: 700;
  color: var(--text-accent);
  line-height: 1.1;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
  margin-top: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.indicator-card .ic-value .mono {
  font-family: var(--font-sans);
  font-variant-numeric: tabular-nums;
}
.indicator-card .ic-unit {
  font-size: 1rem;
  font-weight: 500;
  color: var(--text-muted);
  margin-left: 4px;
  letter-spacing: 0;
}
.indicator-card .ic-change-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-end;
  justify-content: flex-end;
  margin-top: 0;
  text-align: right;
  min-width: 112px;
  max-width: none;
}
.indicator-card .ic-change-1d::after {
  content: none;
}
.indicator-card .ic-change {
  font-family: var(--font-sans);
  font-size: 0.76rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}
.indicator-card .ic-change.up   { color: var(--color-tightening); }
.indicator-card .ic-change.down { color: var(--color-easing); }

.indicator-card .ic-chart-box {
  position: relative;
  min-height: 88px;
  margin-top: 0;
  padding: 9px 10px 8px;
  border: 1px solid var(--border-subtle);
  border-radius: 3px;
  background:
    linear-gradient(to right, rgba(225, 228, 232, 0.42) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(225, 228, 232, 0.42) 1px, transparent 1px),
    #FFFFFF;
  background-size: 25% 100%, 100% 33.333%;
}

.indicator-card .ic-chart-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 17px;
  margin-bottom: 3px;
}

.indicator-card .ic-chart-label {
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 500;
}

.indicator-card .ic-sparkline {
  height: 54px;
  margin: 0;
}

.indicator-card .sparkline-svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.indicator-card .sparkline-grid line {
  stroke: rgba(225, 228, 232, 0.72);
  stroke-width: 1;
  shape-rendering: crispEdges;
}

.indicator-card .sparkline-line,
.indicator-card .sparkline-dot {
  filter: none;
}
.indicator-card .ic-meta {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  color: var(--text-muted);
  align-items: stretch;
  margin-top: auto;
  padding-top: 0;
}
.indicator-card .ic-percentile-text {
  color: var(--text-muted);
  font-size: 0.76rem;
  font-weight: 600;
}
.indicator-card .ic-vol-badge {
  padding: 2px 7px;
  border-radius: 2px;
  text-transform: none;
  letter-spacing: 0.02em;
  font-weight: 600;
  font-size: 0.6875rem;
  border: 1px solid currentColor;
  background: #FFFFFF;
  white-space: nowrap;
}
.indicator-card .ic-vol-low      { color: #1F6FB8; }
.indicator-card .ic-vol-normal   { color: var(--text-muted); }
.indicator-card .ic-vol-elevated { color: var(--color-warning); }
.indicator-card .ic-vol-high     { color: #B93A18; }

.indicator-card .ic-percentile-bar {
  width: 100%;
  height: 6px;
  background: #EEF1F4;
  border-radius: 0;
  position: relative;
  overflow: hidden;
}
.indicator-card .ic-percentile-fill {
  height: 100%;
  background: var(--brand-primary);
  border-radius: 0;
  opacity: 1;
}
.indicator-card .ic-percentile-marker {
  position: absolute;
  top: 0;
  width: 1px;
  height: 100%;
  background: rgba(15, 23, 42, 0.55);
  border-radius: 0;
  box-shadow: none;
}

/* Macro Tape */

.macro-tape {
  --macro-tape-accent: var(--border-medium);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.macro-tape-state {
  padding: 18px 20px;
  border: 1px dashed var(--border-subtle);
  background: var(--bg-tertiary);
  color: var(--text-muted);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}
.macro-tape-state-error {
  border-color: rgba(220, 38, 38, 0.32);
  background: var(--color-tightening-soft);
  color: var(--color-tightening);
}
.macro-tape-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--border-subtle);
}
.macro-tape-asof {
  font-size: var(--font-size-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.macro-tape-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.macro-tape-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
  font-variant-numeric: tabular-nums;
}
.macro-tape-chip-pressure {
  color: var(--color-tightening);
  background: var(--color-tightening-soft);
  border-color: rgba(185, 28, 28, 0.18);
}
.macro-tape-chip-support {
  color: var(--color-easing);
  background: var(--color-easing-soft);
  border-color: rgba(4, 120, 87, 0.20);
}
.macro-tape-chip-watch {
  color: var(--text-secondary);
  background: var(--bg-tertiary);
  border-color: var(--border-subtle);
}
.macro-tape-chip-stale {
  color: var(--text-muted);
  background: transparent;
  border-color: var(--border-subtle);
  font-style: italic;
}
.macro-tape-section-label {
  color: var(--text-secondary);
}

.macro-tape-sections {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.macro-tape-section {
  --macro-tape-accent: var(--border-medium);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.macro-tape-section-rates       { --macro-tape-accent: var(--tier-b); }
.macro-tape-section-credit      { --macro-tape-accent: var(--tier-c); }
.macro-tape-section-inflation   { --macro-tape-accent: var(--tier-d); }
.macro-tape-section-growth      { --macro-tape-accent: var(--tier-a); }
.macro-tape-section-fx          { --macro-tape-accent: #7C5BD8; }
.macro-tape-section-positioning { --macro-tape-accent: #2DA39A; }

.macro-tape-section-heading {
  display: flex;
  align-items: baseline;
  gap: var(--space-sm);
  padding-bottom: 4px;
  border-bottom: 1px solid var(--border-subtle);
}
.macro-tape-section-accent {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  background: var(--macro-tape-accent);
  flex-shrink: 0;
  align-self: center;
}
.macro-tape-section-label {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--macro-tape-accent);
}
.macro-tape-section-count {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: var(--text-muted);
  margin-left: auto;
  font-variant-numeric: tabular-nums;
}

.macro-tape-rows {
  display: flex;
  flex-direction: column;
}
.macro-tape-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) minmax(120px, 1fr) 120px 120px 96px;
  align-items: center;
  gap: var(--space-md);
  padding: 10px 12px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid var(--border-subtle);
  border-left: 3px solid var(--macro-tape-accent);
  background: var(--bg-secondary);
  color: inherit;
  text-decoration: none;
  transition: background-color 120ms ease;
}
.macro-tape-row:last-child {
  border-bottom: 1px solid var(--border-subtle);
}
.macro-tape-row:hover,
.macro-tape-row:focus-visible {
  background: var(--panel-subtle);
  text-decoration: none;
}
.macro-tape-row:focus-visible {
  outline: 2px solid var(--macro-tape-accent);
  outline-offset: 2px;
}

.macro-tape-cell {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow-wrap: anywhere;
}
.macro-tape-cell-label {
  gap: 3px;
}
.macro-tape-label {
  font-size: var(--font-size-sm);
  font-weight: 650;
  color: var(--text-primary);
  line-height: 1.25;
}
.macro-tape-date {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: var(--text-muted);
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
}
.macro-tape-cell-value {
  flex-direction: row;
  align-items: baseline;
  gap: 4px;
}
.macro-tape-value {
  font-family: var(--font-sans);
  font-size: 1.18rem;
  font-weight: 700;
  color: var(--text-accent);
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.macro-tape-unit {
  font-size: 0.78rem;
  color: var(--text-muted);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.macro-tape-cell-delta {
  gap: 2px;
}
.macro-tape-delta-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.macro-tape-delta-value {
  font-family: var(--font-mono);
  font-size: 0.86rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--text-primary);
}
.macro-tape-delta-value.up   { color: var(--color-tightening); }
.macro-tape-delta-value.down { color: var(--color-easing); }
.macro-tape-delta-empty {
  color: var(--text-muted);
  font-style: normal;
}
.macro-tape-delta-meta {
  font-size: 0.62rem;
  color: var(--text-muted);
  letter-spacing: 0.02em;
}

.macro-tape-cell-badge {
  align-items: flex-end;
}
.macro-tape-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.macro-tape-badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.macro-tape-badge-pressure {
  color: var(--color-tightening);
  background: var(--color-tightening-soft);
}
.macro-tape-badge-support {
  color: var(--color-easing);
  background: var(--color-easing-soft);
}
.macro-tape-badge-watch {
  color: var(--text-secondary);
  background: var(--bg-tertiary);
}
.macro-tape-badge-stale {
  color: var(--text-muted);
  background: transparent;
  border: 1px dashed var(--border-medium);
  padding: 3px 9px;
}

.macro-tape-row.macro-tape-signal-pressure { background: linear-gradient(90deg, var(--color-tightening-soft) 0%, var(--bg-secondary) 38%); }
.macro-tape-row.macro-tape-signal-support  { background: linear-gradient(90deg, var(--color-easing-soft) 0%, var(--bg-secondary) 38%); }
.macro-tape-row.macro-tape-signal-stale {
  background: repeating-linear-gradient(135deg, var(--bg-secondary) 0px, var(--bg-secondary) 8px, var(--bg-tertiary) 8px, var(--bg-tertiary) 9px);
  opacity: 0.86;
}
.macro-tape-row.macro-tape-signal-stale .macro-tape-value,
.macro-tape-row.macro-tape-signal-stale .macro-tape-label {
  color: var(--text-muted);
}

/* Macro Regime (Phase 3A) */

.macro-regime-state {
  padding: 18px 20px;
  border: 1px dashed var(--border-subtle);
  background: var(--bg-tertiary);
  color: var(--text-muted);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}
.macro-regime-state.error {
  border-color: rgba(220, 38, 38, 0.32);
  background: var(--color-tightening-soft);
  color: var(--color-tightening);
}
.macro-regime-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-top: 3px solid var(--regime-neutral);
}
.macro-regime-card.macro-regime-disinflation { border-top-color: var(--regime-disinflation); }
.macro-regime-card.macro-regime-goldilocks { border-top-color: var(--regime-goldilocks); }
.macro-regime-card.macro-regime-soft-landing { border-top-color: var(--regime-soft-landing); }
.macro-regime-card.macro-regime-overheating { border-top-color: var(--regime-overheating); }
.macro-regime-card.macro-regime-reflation { border-top-color: var(--regime-reflation); }
.macro-regime-card.macro-regime-stagflation { border-top-color: var(--regime-stagflation); }
.macro-regime-card.macro-regime-growth-scare { border-top-color: var(--regime-growth-scare); }
.macro-regime-compact-head,
.macro-regime-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm) var(--space-md);
}
.macro-regime-compact-title {
  margin-top: 3px;
  color: var(--text-accent);
  font-size: 1.35rem;
  font-weight: 750;
  line-height: 1.1;
}
.macro-regime-description {
  max-width: 78ch;
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}
.macro-regime-conviction {
  display: inline-flex;
  align-items: center;
  padding: 5px 11px;
  border: 1px solid var(--border-subtle);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.macro-regime-conviction.large {
  min-height: 42px;
  padding: 0 15px;
}
/* WS-2A: two-tier headline transition chip — shown only while the confirmed
   headline is held during a candidate's N-day confirmation window. */
.macro-regime-transition-chip {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  margin: 4px 0 2px;
  padding: 4px 11px;
  border: 1px dashed rgba(217, 119, 6, 0.45);
  border-radius: 999px;
  background: var(--color-warning-soft);
  color: var(--conviction-medium);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.macro-regime-history-transitioning {
  color: var(--conviction-medium);
  font-size: 0.68rem;
  font-weight: 700;
}
.macro-conviction-low {
  color: var(--conviction-low);
  background: var(--bg-tertiary);
}
.macro-conviction-medium {
  color: var(--conviction-medium);
  background: var(--color-warning-soft);
  border-color: rgba(217, 119, 6, 0.20);
}
.macro-conviction-high {
  color: var(--conviction-high);
  background: var(--color-easing-soft);
  border-color: rgba(16, 185, 129, 0.20);
}
.macro-regime-pillar-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.macro-regime-pillar-chip {
  min-height: 48px;
  padding: 8px 10px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 5px;
}
.macro-regime-pillar-chip span {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.18;
  text-transform: uppercase;
}
.macro-regime-pillar-chip strong {
  color: var(--text-accent);
  font-family: var(--font-mono);
  font-size: 1rem;
}
.macro-state-pressure { border-color: rgba(220, 38, 38, 0.22); }
.macro-state-pressure strong,
.macro-state-pressure .macro-regime-signal-values span:nth-child(2) { color: var(--color-tightening); }
.macro-state-support { border-color: rgba(16, 185, 129, 0.22); }
.macro-state-support strong,
.macro-state-support .macro-regime-signal-values span:nth-child(2) { color: var(--color-easing); }
.macro-state-stale {
  opacity: 0.72;
}
.macro-regime-driver-mini-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.macro-regime-driver-mini {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 38px;
  padding: 7px 9px;
  border: 1px solid var(--border-subtle);
  background: #FFFFFF;
  font-size: var(--font-size-sm);
}
.macro-regime-driver-mini span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.macro-regime-driver-mini strong {
  flex-shrink: 0;
  font-family: var(--font-mono);
  font-size: 0.76rem;
}
.macro-regime-mini-empty,
.macro-regime-meta-row {
  color: var(--text-muted);
  font-size: var(--font-size-sm);
}
.macro-regime-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-xl);
  align-items: end;
  margin-bottom: 24px;
  border-top: 4px solid var(--regime-neutral);
}
.macro-regime-hero.macro-regime-disinflation { border-top-color: var(--regime-disinflation); }
.macro-regime-hero.macro-regime-goldilocks { border-top-color: var(--regime-goldilocks); }
.macro-regime-hero.macro-regime-soft-landing { border-top-color: var(--regime-soft-landing); }
.macro-regime-hero.macro-regime-overheating { border-top-color: var(--regime-overheating); }
.macro-regime-hero.macro-regime-reflation { border-top-color: var(--regime-reflation); }
.macro-regime-hero.macro-regime-stagflation { border-top-color: var(--regime-stagflation); }
.macro-regime-hero.macro-regime-growth-scare { border-top-color: var(--regime-growth-scare); }
.macro-regime-hero-copy {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.macro-regime-hero h1 {
  font-size: 2.35rem;
  line-height: 1.05;
}
.macro-regime-reason {
  margin: 0;
  max-width: 820px;
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}
.macro-regime-hero-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}
.macro-regime-breadth {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: var(--text-muted);
  font-size: var(--font-size-sm);
}
.macro-regime-breadth strong {
  color: var(--text-accent);
  font-size: 1.7rem;
  line-height: 1;
}
.macro-regime-hero-side .macro-regime-pillar-strip {
  width: 100%;
  min-width: 320px;
}
.macro-regime-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 18px;
  align-items: start;
}
.macro-regime-panel {
  padding: 18px;
}
.macro-regime-panel-header {
  margin-bottom: 14px;
}
.macro-regime-side-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.macro-regime-watch-panel {
  margin-bottom: 18px;
  border-top: 3px solid var(--color-warning);
  background: #FFFDF6;
}
.macro-regime-watch-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.macro-regime-watch-tag {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: min(360px, 100%);
  padding: 13px 14px;
  border: 1px solid var(--border-subtle);
  border-left: 5px solid var(--color-warning);
  background: #FFFAF0;
}
.macro-regime-watch-tag strong {
  color: var(--text-accent);
  font-size: var(--font-size-md);
}
.macro-regime-watch-tag span {
  color: var(--text-muted);
  max-width: 64ch;
  font-size: 0.86rem;
  line-height: 1.4;
}
/* WS-1C: alert-severity watch tag (e.g. Sahm-triggered growth deterioration)
   renders in the tightening/red accent instead of the default warning amber. */
.macro-regime-watch-tag.watch-alert {
  border-left-color: var(--color-tightening);
  background: var(--color-tightening-soft);
}
.macro-regime-watch-tag.watch-alert strong {
  color: var(--color-tightening);
}
.macro-regime-state-vector {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.macro-regime-state-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--color-neutral);
  background: #FFFFFF;
}
.macro-regime-state-card.macro-state-pressure { border-top-color: var(--color-tightening); }
.macro-regime-state-card.macro-state-support { border-top-color: var(--color-easing); }
.macro-regime-state-card.macro-state-watch { border-top-color: var(--color-warning); }
.macro-regime-state-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}
.macro-regime-state-card-head strong {
  display: block;
  color: var(--text-accent);
  font-size: var(--font-size-sm);
}
.macro-regime-state-card-head span,
.macro-regime-state-card-meta span {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: uppercase;
}
.macro-regime-state-card-head .macro-regime-state-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 20px;
  margin-top: 4px;
  padding: 2px 8px;
  border: 1px solid var(--border-subtle);
  background: #FFFFFF;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.1;
  text-transform: none;
}
.macro-regime-state-card-head .evidence-state-pressure {
  border-color: rgba(214, 60, 60, 0.28);
  background: rgba(255, 232, 232, 0.78);
  color: var(--color-tightening);
}
.macro-regime-state-card-head .evidence-state-support {
  border-color: rgba(4, 120, 87, 0.24);
  background: rgba(232, 246, 239, 0.84);
  color: var(--color-easing);
}
.macro-regime-state-card-head .evidence-state-watch,
.macro-regime-state-card-head .evidence-state-neutral,
.macro-regime-state-card-head .evidence-state-stale {
  border-color: rgba(146, 64, 14, 0.22);
  background: rgba(255, 247, 237, 0.86);
  color: var(--color-warning);
}
.macro-regime-state-card-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
}
.macro-regime-state-contributors {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}
.macro-regime-state-contributors-label {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.macro-regime-state-compression {
  color: var(--text-muted);
  font-size: 0.72rem;
  line-height: 1.35;
}
.macro-regime-momentum-panel {
  margin-top: 18px;
}
.macro-regime-momentum-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.macro-regime-momentum-state {
  padding: 3px 9px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.macro-regime-momentum-state.momentum-state-support {
  border-color: var(--state-support-border, var(--border-subtle));
  background: #EFFAF3;
  color: #1D7A46;
}
.macro-regime-momentum-state.momentum-state-unavailable {
  background: #FFF6ED;
  color: #9A5B00;
}
.macro-regime-momentum-count,
.macro-regime-momentum-horizon {
  color: var(--text-muted);
  font-size: var(--font-size-sm);
}
.macro-regime-momentum-block {
  margin-top: 12px;
}
.macro-regime-momentum-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
}
.macro-regime-momentum-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 6px 8px;
  background: var(--panel-subtle);
  border: 1px solid var(--border-subtle);
}
.macro-regime-momentum-row-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.macro-regime-momentum-reason {
  color: var(--text-muted);
  font-size: 0.72rem;
}
.macro-regime-momentum-row-values {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--font-size-sm);
  color: var(--text-secondary);
}
.macro-regime-momentum-status {
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.macro-regime-momentum-status.momentum-status-yes,
.macro-regime-momentum-status.momentum-status-support {
  color: #1D7A46;
}
.macro-regime-momentum-status.momentum-status-unavailable {
  color: #9A5B00;
}
.macro-regime-momentum-dates {
  color: var(--text-muted);
  font-size: 0.72rem;
}
.macro-regime-momentum-inventory {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
}
.macro-regime-momentum-guard {
  margin: 8px 0 0;
  color: var(--text-muted);
  font-size: 0.72rem;
}
.macro-regime-momentum-guard.momentum-guard-failed {
  color: #9A5B00;
}
.macro-regime-state-contributor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 6px 8px;
  background: var(--panel-subtle);
  border: 1px solid var(--border-subtle);
}
.macro-regime-state-contributor,
.macro-regime-state-contributor:hover,
.macro-regime-state-contributor:focus-visible {
  color: inherit;
  text-decoration: none;
}
.macro-regime-state-contributor span {
  min-width: 0;
  color: var(--text-secondary);
  font-size: 0.78rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.macro-regime-state-contributor em {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 750;
}
.macro-regime-state-contributor .macro-regime-compact-sparkline {
  grid-column: 1 / -1;
}
.macro-regime-pillar-bars {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.macro-regime-pillar-row {
  display: grid;
  grid-template-columns: minmax(148px, 0.7fr) minmax(180px, 1fr) minmax(168px, 0.8fr) minmax(160px, 0.8fr);
  gap: 14px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid var(--border-subtle);
}
.macro-regime-pillar-row:last-child {
  border-bottom: none;
}
.macro-regime-pillar-label {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.macro-regime-pillar-label strong,
.macro-regime-pillar-driver strong {
  color: var(--text-accent);
  font-size: var(--font-size-sm);
  line-height: 1.25;
}
.macro-regime-pillar-label span,
.macro-regime-pillar-driver span {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.macro-regime-zero-bar {
  position: relative;
  height: 14px;
  background: var(--bg-surface);
  border-radius: 999px;
  overflow: hidden;
}
.macro-regime-zero-axis {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--border-strong);
  z-index: 2;
}
.macro-regime-zero-fill {
  position: absolute;
  top: 2px;
  bottom: 2px;
  width: var(--bar-pct);
  max-width: 50%;
  border-radius: 999px;
  background: var(--color-neutral);
}
.macro-regime-zero-fill.pressure {
  left: 50%;
  background: var(--color-tightening);
}
.macro-regime-zero-fill.support {
  right: 50%;
  background: var(--color-easing);
}
.macro-regime-zero-fill.neutral {
  left: calc(50% - 3px);
  width: 6px;
  background: var(--text-muted);
}
.macro-regime-pillar-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.macro-regime-pillar-counts span {
  padding: 3px 7px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
}
.macro-regime-pillar-driver {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.macro-regime-signal-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.macro-regime-signal-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-md);
  align-items: center;
  min-height: 52px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border-subtle);
  color: inherit;
  text-decoration: none;
}
.macro-regime-signal-row:hover {
  color: inherit;
  text-decoration: none;
}
.macro-regime-signal-row:last-child {
  border-bottom: none;
}
.macro-regime-signal-row strong {
  display: block;
  color: var(--text-accent);
  font-size: var(--font-size-sm);
  line-height: 1.25;
}
.macro-regime-signal-row span {
  color: var(--text-muted);
  font-size: 0.72rem;
}
.macro-regime-signal-values {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  white-space: nowrap;
}
.macro-regime-signal-row .macro-regime-compact-sparkline {
  grid-column: 1 / -1;
}
.macro-regime-compact-sparkline {
  position: relative;
  min-width: 0;
  height: 34px;
  margin-top: 2px;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  background:
    linear-gradient(to right, rgba(225, 228, 232, 0.32) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(225, 228, 232, 0.38) 1px, transparent 1px),
    #FFFFFF;
  background-size: 25% 100%, 100% 50%;
}
.macro-regime-compact-sparkline .sparkline-svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.macro-regime-driver-sparkline {
  height: 50px;
  margin-top: 4px;
}
.macro-regime-history-panel {
  margin-top: 18px;
}
.macro-regime-history-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}
.macro-regime-history-summary div {
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 5px;
}
.macro-regime-history-summary span,
.macro-regime-history-summary em,
.macro-regime-history-date,
.macro-regime-history-card span,
.macro-regime-history-transitions-title,
.macro-regime-history-transition span {
  color: var(--text-muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.macro-regime-history-summary strong {
  color: var(--text-accent);
  font-size: var(--font-size-sm);
  line-height: 1.2;
}
.macro-regime-history-summary em {
  font-style: normal;
  letter-spacing: 0;
  text-transform: none;
}
.macro-regime-history-status {
  margin-bottom: 14px;
  padding: 10px 12px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.45;
}
.macro-regime-history-status.stale {
  border-color: rgba(185, 103, 45, 0.32);
  background: rgba(255, 245, 235, 0.72);
  color: #875126;
}
.macro-regime-history-status.error {
  border-color: rgba(173, 70, 70, 0.32);
  background: rgba(255, 241, 241, 0.75);
  color: #8E3636;
}
.macro-regime-history-timeline {
  display: flex;
  gap: 0;
  padding: 8px 0 8px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}
.macro-regime-history-timeline.single {
  overflow-x: visible;
}
.macro-regime-history-point {
  --history-color: var(--regime-neutral);
  position: relative;
  flex: 0 0 142px;
  min-width: 0;
  padding-top: 22px;
  scroll-snap-align: start;
}
.macro-regime-history-timeline.single .macro-regime-history-point {
  flex-basis: min(260px, 100%);
}
.macro-regime-history-point::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--history-color);
  opacity: 0.42;
}
.macro-regime-history-point:first-child::before {
  left: 50%;
}
.macro-regime-history-point:last-child::before {
  right: 50%;
}
.macro-regime-history-marker {
  position: absolute;
  top: 3px;
  left: calc(50% - 6px);
  width: 12px;
  height: 12px;
  border: 2px solid #FFFFFF;
  border-radius: 999px;
  background: var(--history-color);
  box-shadow: 0 0 0 1px var(--border-subtle);
  z-index: 1;
}
.macro-regime-history-methodology-marker {
  flex: 0 0 auto;
  align-self: stretch;
  display: flex;
  align-items: center;
  margin-top: 22px;
  padding: 0 6px;
  border-left: 2px dashed var(--border-subtle);
}
.macro-regime-history-methodology-marker span {
  max-width: 84px;
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.3;
}
.macro-regime-history-point.macro-regime-disinflation { --history-color: var(--regime-disinflation); }
.macro-regime-history-point.macro-regime-goldilocks { --history-color: var(--regime-goldilocks); }
.macro-regime-history-point.macro-regime-soft-landing { --history-color: var(--regime-soft-landing); }
.macro-regime-history-point.macro-regime-overheating { --history-color: var(--regime-overheating); }
.macro-regime-history-point.macro-regime-reflation { --history-color: var(--regime-reflation); }
.macro-regime-history-point.macro-regime-stagflation { --history-color: var(--regime-stagflation); }
.macro-regime-history-point.macro-regime-growth-scare { --history-color: var(--regime-growth-scare); }
.macro-regime-history-card {
  min-height: 118px;
  margin: 0 5px;
  padding: 10px;
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--history-color);
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.macro-regime-history-card strong {
  color: var(--text-accent);
  font-size: var(--font-size-sm);
  line-height: 1.25;
}
.macro-regime-history-card span {
  letter-spacing: 0;
  text-transform: none;
}
.macro-regime-history-transitions {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.macro-regime-history-transitions.empty {
  color: var(--text-muted);
  font-size: var(--font-size-sm);
}
.macro-regime-history-regime-counts {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--border-subtle);
}
.macro-regime-history-regime-count-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 8px;
}
.macro-regime-history-regime-count-grid span {
  padding: 4px 8px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 700;
}
.macro-regime-history-transition {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 28px;
}
.macro-regime-history-transition strong {
  color: var(--text-accent);
  font-size: var(--font-size-sm);
  line-height: 1.3;
}
.macro-regime-assets-panel {
  margin-top: 18px;
}
[data-bind="macro-regime-page"] {
  min-height: 920px;
}
.macro-regime-assets-entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-lg);
  margin-top: 18px;
}
.macro-regime-asset-entry-copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.asset-mapping-entry-action {
  flex: 0 0 auto;
}
.asset-mapping-page-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 16px;
  align-items: center;
  margin-bottom: 8px;
  padding: 10px 0;
}
.asset-mapping-page-hero-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.asset-mapping-page-hero > .asset-mapping-controls {
  justify-self: end;
  max-width: 100%;
}
[data-bind="asset-mapping-page"] {
  min-height: 1280px;
}
.asset-mapping-page-hero h1 {
  margin-top: 4px;
}
.asset-mapping-page-subtitle {
  max-width: 92ch;
  margin-top: 8px;
  color: var(--text-secondary);
  font-size: 1rem;
  line-height: 1.55;
}
.asset-mapping-page-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px 14px;
  margin-top: 4px;
  color: var(--text-muted);
  font-size: var(--font-size-sm);
  line-height: 1.35;
}
.asset-mapping-freshness-panel {
  display: block;
  min-width: 0;
  margin: 20px 0 0;
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--color-info);
  background: var(--bg-secondary);
  box-shadow: var(--card-shadow);
}
.asset-mapping-freshness-summary {
  display: grid;
  grid-template-columns: auto minmax(180px, 0.75fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 14px;
  min-width: 0;
  padding: 12px 16px;
  cursor: pointer;
  list-style: none;
}
.asset-mapping-freshness-summary::-webkit-details-marker {
  display: none;
}
.asset-mapping-freshness-summary::before {
  content: '+';
  color: var(--text-muted);
  font-size: 1rem;
  font-weight: 800;
}
.asset-mapping-freshness-panel[open] .asset-mapping-freshness-summary::before {
  content: '-';
}
.asset-mapping-freshness-content {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(220px, 0.9fr);
  gap: 14px 18px;
  min-width: 0;
  padding: 0 16px 16px;
}
.asset-mapping-freshness-panel.freshness-ok {
  border-top-color: var(--color-easing);
}
.asset-mapping-freshness-panel.freshness-degraded {
  border-top-color: var(--color-warning);
}
.asset-mapping-freshness-panel.freshness-unavailable {
  border-top-color: var(--color-neutral);
}
.asset-mapping-freshness-main {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.asset-mapping-freshness-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px 12px;
  min-width: 0;
}
.asset-mapping-freshness-heading h2 {
  margin-top: 3px;
  font-size: 1.12rem;
  line-height: 1.2;
}
.asset-mapping-freshness-summary h2 {
  margin-top: 2px;
  font-size: 1rem;
  line-height: 1.2;
}
.asset-mapping-freshness-status,
.asset-mapping-freshness-indicator-state {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.15;
  white-space: nowrap;
}
.asset-mapping-freshness-status.freshness-ok,
.asset-mapping-freshness-indicator-state.freshness-ok {
  border-color: rgba(16, 185, 129, 0.24);
  background: var(--color-easing-soft);
  color: var(--color-easing);
}
.asset-mapping-freshness-status.freshness-degraded,
.asset-mapping-freshness-indicator-state.freshness-stale,
.asset-mapping-freshness-indicator-state.freshness-missing,
.asset-mapping-freshness-indicator-state.freshness-degraded,
.asset-mapping-freshness-indicator-state.freshness-skipped {
  border-color: rgba(217, 119, 6, 0.24);
  background: var(--color-warning-soft);
  color: var(--color-warning);
}
.asset-mapping-freshness-status.freshness-unavailable,
.asset-mapping-freshness-indicator-state.freshness-failed,
.asset-mapping-freshness-indicator-state.freshness-unavailable {
  border-color: rgba(107, 114, 128, 0.24);
  background: var(--bg-tertiary);
  color: var(--color-neutral);
}
.asset-mapping-freshness-subtitle,
.asset-mapping-freshness-detail,
.asset-mapping-freshness-meta {
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.45;
}
.asset-mapping-freshness-detail {
  color: var(--text-accent);
  font-weight: 700;
}
.asset-mapping-freshness-summary .asset-mapping-freshness-detail {
  margin: 0;
  font-weight: 650;
}
.asset-mapping-freshness-meta {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  color: var(--text-muted);
}
.asset-mapping-freshness-meta span {
  overflow-wrap: anywhere;
}
.asset-mapping-freshness-sources,
.asset-mapping-freshness-indicators {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  min-width: 0;
}
.asset-mapping-freshness-sources {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.asset-mapping-freshness-source,
.asset-mapping-freshness-indicator {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
}
.asset-mapping-freshness-source {
  display: grid;
  gap: 3px;
  border-left: 3px solid var(--color-neutral);
}
.asset-mapping-freshness-source.freshness-ok {
  border-left-color: var(--color-easing);
}
.asset-mapping-freshness-source.freshness-degraded {
  border-left-color: var(--color-warning);
}
.asset-mapping-freshness-source strong,
.asset-mapping-freshness-indicator strong {
  overflow-wrap: anywhere;
  color: var(--text-accent);
  font-size: 0.82rem;
  line-height: 1.25;
}
.asset-mapping-freshness-source span,
.asset-mapping-freshness-source em,
.asset-mapping-freshness-indicator span,
.asset-mapping-freshness-indicator em {
  overflow-wrap: anywhere;
  color: var(--text-muted);
  font-size: 0.72rem;
  font-style: normal;
  line-height: 1.3;
}
.asset-mapping-freshness-indicators {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.asset-mapping-freshness-indicator {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr);
  gap: 10px;
  align-items: start;
}
.asset-mapping-freshness-indicator > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.asset-mapping-freshness-indicator-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
  min-width: 0;
}
.asset-mapping-page-panel .macro-regime-asset-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.asset-mapping-controls {
  position: relative;
  margin: 0;
  min-width: 0;
}
.asset-mapping-controls-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-accent);
  cursor: pointer;
  list-style: none;
}
.asset-mapping-controls-summary::-webkit-details-marker {
  display: none;
}
.asset-mapping-controls-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 45;
  display: grid;
  gap: 12px;
  width: min(760px, calc(100vw - 32px));
  max-height: calc(100vh - 96px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 14px;
  border: 1px solid var(--border-subtle);
  background: #FFFFFF;
  box-shadow: var(--card-shadow);
}
.asset-mapping-controls:not([open]) .asset-mapping-controls-panel {
  display: none;
}
.asset-mapping-controls-active {
  color: var(--color-info);
  font-size: 0.68rem;
  font-weight: 750;
}
.asset-mapping-control-chip {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 6px;
  border: 1px solid var(--border-medium);
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: 0.64rem;
  font-weight: 750;
  line-height: 1.1;
  white-space: nowrap;
}
.asset-mapping-controls-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}
.asset-mapping-controls-secondary {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: center;
}
.asset-mapping-control-field,
.asset-mapping-segmented {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.asset-mapping-control-field > span,
.asset-mapping-segmented-label {
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: uppercase;
}
.asset-mapping-control-field select {
  width: 100%;
  min-height: 36px;
  padding: 7px 9px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-primary);
  color: var(--text-primary);
  font: inherit;
}
.asset-mapping-control-field select:focus,
.asset-mapping-segmented button:focus-visible,
.asset-mapping-empty-state button:focus-visible {
  outline: 2px solid var(--color-info);
  outline-offset: 2px;
}
.asset-mapping-segmented-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.asset-mapping-segmented button {
  min-height: 32px;
  padding: 5px 10px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font: inherit;
  font-size: 0.76rem;
  font-weight: 750;
  cursor: pointer;
}
.asset-mapping-segmented button.active {
  border-color: rgba(31, 111, 184, 0.28);
  background: var(--color-info-soft);
  color: var(--color-info);
}
.asset-mapping-result-count {
  min-width: 150px;
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  font-weight: 750;
  text-align: right;
}
.asset-mapping-empty-state {
  display: grid;
  gap: 10px;
  margin: 0 0 var(--space-lg);
  padding: 18px;
  border: 1px solid var(--border-subtle);
  border-left: 3px solid var(--color-warning);
  background: #FFFFFF;
  box-shadow: var(--card-shadow);
}
.asset-mapping-empty-state p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.45;
}
.asset-mapping-empty-state button {
  justify-self: start;
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-accent);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 750;
  cursor: pointer;
}
.macro-regime-asset-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.macro-regime-asset-card {
  display: flex;
  flex-direction: column;
  gap: 13px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--border-strong);
  background: #FFFFFF;
}
.asset-mapping-page-panel .macro-regime-asset-card {
  gap: 16px;
  padding: 18px;
  scroll-margin-top: calc(62px + var(--asset-mapping-status-nav-height) + 16px);
}
.asset-mapping-page-panel .macro-regime-asset-card:focus-visible {
  outline: 2px solid var(--color-info);
  outline-offset: 3px;
}
.macro-regime-asset-card.macro-asset-bias-positive { border-top-color: var(--color-easing); }
.macro-regime-asset-card.macro-asset-bias-negative { border-top-color: var(--color-tightening); }
.macro-regime-asset-card.macro-asset-bias-neutral { border-top-color: var(--color-neutral); }
.macro-regime-pending-gap-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: baseline;
  margin-bottom: 14px;
  padding: 10px 12px;
  border: 1px solid rgba(217, 119, 6, 0.22);
  background: var(--color-warning-soft);
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.4;
}
.macro-regime-pending-gap-summary strong {
  color: var(--color-warning);
}
.macro-regime-asset-head {
  display: grid;
  grid-template-columns: minmax(112px, 0.85fr) minmax(0, 1.15fr);
  gap: var(--space-md);
  align-items: flex-start;
}
.macro-regime-asset-head > div:first-child {
  min-width: 0;
}
.macro-regime-asset-head h3 {
  margin-top: 3px;
  color: var(--text-accent);
  font-size: 1rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
}
.macro-regime-asset-group,
.macro-regime-asset-label {
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}
.macro-regime-asset-badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
}
.macro-regime-asset-bias,
.macro-regime-asset-conviction,
.macro-regime-asset-basis,
.macro-regime-asset-quality,
.macro-regime-asset-watchlist span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.15;
  white-space: nowrap;
}
.macro-regime-asset-bias.macro-asset-bias-positive {
  border-color: rgba(16, 185, 129, 0.24);
  background: var(--color-easing-soft);
  color: var(--color-easing);
}
.macro-regime-asset-bias.macro-asset-bias-negative {
  border-color: rgba(220, 38, 38, 0.22);
  background: var(--color-tightening-soft);
  color: var(--color-tightening);
}
.macro-regime-asset-bias {
  min-height: 28px;
  padding: 4px 9px 4px 7px;
  border-left-width: 3px;
  border-left-color: currentColor;
  font-size: 0.75rem;
  font-weight: 800;
}
.macro-regime-asset-bias.macro-asset-bias-neutral {
  color: var(--color-neutral);
}
.macro-regime-asset-bias.macro-asset-bias-positive,
.macro-regime-asset-bias.macro-asset-bias-negative,
.macro-regime-asset-bias.macro-asset-bias-neutral {
  border-left-color: currentColor;
}
.macro-regime-asset-basis {
  border-color: rgba(31, 111, 184, 0.18);
  background: var(--color-info-soft);
  color: var(--color-info);
}
.macro-regime-asset-quality {
  border-color: rgba(31, 111, 184, 0.18);
  background: var(--color-info-soft);
  color: var(--color-info);
}
.macro-regime-asset-quality-strong {
  border-color: rgba(16, 185, 129, 0.24);
  background: var(--color-easing-soft);
  color: var(--color-easing);
}
.macro-regime-asset-quality-adequate {
  border-color: rgba(31, 111, 184, 0.18);
  background: var(--color-info-soft);
  color: var(--color-info);
}
.macro-regime-asset-quality-thin {
  border-color: rgba(217, 119, 6, 0.24);
  background: var(--color-warning-soft);
  color: var(--color-warning);
}
.macro-regime-asset-quality-pending {
  color: var(--color-neutral);
}
.macro-regime-asset-matrix-view {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.macro-regime-asset-matrix-view > div {
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
}
.macro-regime-asset-matrix-view span {
  display: block;
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: uppercase;
}
.macro-regime-asset-matrix-view strong {
  display: block;
  margin-top: 3px;
  color: var(--text-secondary);
  font-size: 0.78rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.macro-regime-asset-v3-view {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.macro-regime-asset-v3-view > div {
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
}
.macro-regime-asset-v3-view span {
  display: block;
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: uppercase;
}
.macro-regime-asset-v3-view strong {
  display: block;
  margin-top: 3px;
  color: var(--text-secondary);
  font-size: 0.78rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.macro-regime-asset-v3-view .macro-regime-asset-counter-note {
  border-color: rgba(217, 119, 6, 0.35);
  background: var(--color-warning-soft);
}
.macro-regime-asset-signal-state {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border: 1px solid var(--border-subtle);
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.15;
  text-transform: uppercase;
}
.signal-state-clear {
  border-color: rgba(22, 163, 74, 0.35);
  color: var(--color-support, #16a34a);
}
.signal-state-leaning {
  border-color: rgba(37, 99, 235, 0.3);
  color: var(--color-info, #2563eb);
}
.signal-state-no_signal {
  color: var(--text-muted);
}
.signal-state-conflicting {
  border-color: rgba(217, 119, 6, 0.35);
  color: var(--color-warning);
}
.macro-regime-asset-counter-regime {
  border-left: 3px solid var(--color-warning);
}
.macro-regime-asset-conflict-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.macro-regime-asset-conflict-column {
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
}
.macro-regime-asset-conflict-column > strong {
  display: block;
  margin-bottom: 5px;
  font-size: 0.7rem;
  text-transform: uppercase;
}
.conflict-positive > strong {
  color: var(--color-support, #16a34a);
}
.conflict-negative > strong {
  color: var(--color-pressure, #dc2626);
}
.macro-regime-asset-conflict-item {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.75rem;
  line-height: 1.3;
}
.macro-regime-asset-conflict-item em {
  font-style: normal;
  font-variant-numeric: tabular-nums;
  color: var(--text-secondary);
}
.asset-mapping-status-nav {
  position: sticky;
  top: 62px;
  z-index: 40;
  overflow-x: visible;
  margin: 0 0 12px;
  padding: 7px;
  border: 1px solid var(--border-subtle);
  background: rgba(248, 250, 252, 0.96);
  box-shadow: var(--card-shadow);
  backdrop-filter: blur(10px);
}
.asset-mapping-status-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 4px;
}
.asset-mapping-status-link {
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 36px;
  padding: 5px 6px;
  border: 1px solid var(--border-subtle);
  border-left-width: 3px;
  background: #FFFFFF;
  color: var(--text-primary);
  text-decoration: none;
}
.asset-mapping-status-link strong {
  overflow: hidden;
  font-size: 0.68rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.asset-mapping-status-link span {
  overflow: hidden;
  color: var(--text-muted);
  font-size: 0.62rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.asset-mapping-status-link.macro-asset-bias-positive { border-left-color: var(--color-easing); }
.asset-mapping-status-link.macro-asset-bias-negative { border-left-color: var(--color-tightening); }
.asset-mapping-status-link.macro-asset-bias-neutral { border-left-color: var(--color-neutral); }
.asset-mapping-status-link:hover {
  border-color: var(--color-info);
  text-decoration: none;
}
.asset-mapping-status-link.is-filtered-out {
  border-color: #C8CDD4;
  background: #F1F5F9;
  color: #1F2937;
}
.asset-mapping-status-link.is-filtered-out strong {
  color: #1F2937;
}
.asset-mapping-status-link.is-filtered-out span {
  color: #4B5563;
}
.asset-mapping-status-link.is-filtered-out.macro-asset-bias-positive {
  border-left-color: var(--color-easing);
}
.asset-mapping-status-link.is-filtered-out.macro-asset-bias-negative {
  border-left-color: var(--color-tightening);
}
.asset-mapping-status-link.is-filtered-out.macro-asset-bias-neutral {
  border-left-color: var(--color-neutral);
}
.asset-mapping-status-link.is-filtered-out:focus-visible {
  outline: 2px solid #0F4F84;
  outline-offset: 2px;
}
.asset-mapping-status-link[aria-current="location"] {
  outline: 2px solid var(--color-info);
  outline-offset: -2px;
  background: var(--color-info-soft);
}
@media (min-width: 641px) and (max-width: 1100px) {
  .asset-mapping-status-nav {
    top: 108px;
  }
  .asset-mapping-page-panel .macro-regime-asset-card {
    scroll-margin-top: calc(108px + var(--asset-mapping-status-nav-height) + 16px);
  }
}
.macro-regime-asset-cap-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.macro-regime-asset-cap-list span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid rgba(217, 119, 6, 0.22);
  background: var(--color-warning-soft);
  color: var(--color-warning);
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.15;
}
.macro-regime-asset-block {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.macro-regime-asset-rationale {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.45;
}
.macro-regime-asset-muted,
.macro-regime-asset-invalidation p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.45;
}
.macro-regime-asset-evidence {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.macro-regime-asset-freshness {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.macro-regime-asset-freshness span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.15;
  white-space: nowrap;
}
.macro-regime-asset-freshness em {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 650;
  line-height: 1.3;
}
.macro-regime-asset-quality-detail {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.74rem;
  line-height: 1.35;
}
.macro-regime-asset-pending-gaps {
  display: grid;
  gap: 8px;
  margin-top: 2px;
}
.macro-regime-asset-pending-gap-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}
.macro-regime-asset-pending-gap {
  display: inline-grid;
  gap: 2px;
  max-width: 100%;
  min-width: 0;
  padding: 6px 8px;
  border: 1px solid rgba(217, 119, 6, 0.22);
  background: var(--color-warning-soft);
}
.macro-regime-asset-pending-gap strong,
.macro-regime-asset-pending-gap em {
  overflow-wrap: anywhere;
  line-height: 1.2;
}
.macro-regime-asset-pending-gap strong {
  color: var(--text-accent);
  font-size: 0.72rem;
  font-weight: 750;
}
.macro-regime-asset-pending-gap em {
  color: var(--text-muted);
  font-size: 0.66rem;
  font-style: normal;
}
.macro-regime-asset-freshness-fresh span {
  border-color: rgba(16, 185, 129, 0.24);
  background: var(--color-easing-soft);
  color: var(--color-easing);
}
.macro-regime-asset-freshness-needs_attention span {
  border-color: rgba(217, 119, 6, 0.24);
  background: var(--color-warning-soft);
  color: var(--color-warning);
}
.macro-regime-asset-freshness-no_evidence span {
  color: var(--color-neutral);
}
.macro-regime-asset-evidence-chip {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: inherit;
  text-decoration: none;
}
.macro-regime-asset-evidence-chip:hover {
  color: inherit;
  text-decoration: none;
}
.macro-regime-asset-evidence-chip strong {
  display: block;
  overflow-wrap: anywhere;
  color: var(--text-accent);
  font-size: 0.78rem;
  line-height: 1.25;
}
.macro-regime-asset-evidence-chip span {
  display: block;
  margin-top: 3px;
  overflow-wrap: anywhere;
  color: var(--text-muted);
  font-size: 0.68rem;
  line-height: 1.25;
}
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-topline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 8px;
  align-items: start;
}
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-copy {
  min-width: 0;
}
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-reading {
  justify-self: end;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-reading strong {
  color: var(--text-primary);
  font-size: 0.86rem;
  line-height: 1.15;
}
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-meta-row {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 4px 6px;
  align-items: center;
  margin-top: 4px;
}
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-state,
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-z,
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-date {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  margin-top: 0;
  overflow-wrap: normal;
  font-size: 0.68rem;
  line-height: 1.1;
}
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-state {
  padding: 2px 8px;
  border: 1px solid var(--border-subtle);
  background: #FFFFFF;
  font-weight: 800;
}
.macro-regime-asset-evidence-chip .evidence-state-pressure {
  border-color: rgba(214, 60, 60, 0.28);
  background: rgba(255, 232, 232, 0.78);
  color: var(--color-tightening);
}
.macro-regime-asset-evidence-chip .evidence-state-support {
  border-color: rgba(4, 120, 87, 0.24);
  background: rgba(232, 246, 239, 0.84);
  color: var(--color-easing);
}
.macro-regime-asset-evidence-chip .evidence-state-watch,
.macro-regime-asset-evidence-chip .evidence-state-neutral,
.macro-regime-asset-evidence-chip .evidence-state-stale {
  border-color: rgba(146, 64, 14, 0.22);
  background: rgba(255, 247, 237, 0.86);
  color: var(--color-warning);
}
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-z {
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-date {
  justify-self: end;
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-chart {
  position: relative;
  height: 46px;
  margin-top: 7px;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  background:
    linear-gradient(to right, rgba(225, 228, 232, 0.38) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(225, 228, 232, 0.42) 1px, transparent 1px),
    #FFFFFF;
  background-size: 25% 100%, 100% 50%;
}
.macro-regime-asset-evidence-chip .macro-regime-asset-evidence-chart .sparkline-svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.macro-regime-asset-evidence-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}
.macro-regime-asset-evidence-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  margin-top: 0;
  padding: 2px 6px;
  border: 1px solid var(--border-subtle);
  background: #FFFFFF;
  color: var(--text-primary);
  font-size: 0.62rem;
  font-weight: 750;
  line-height: 1.15;
  white-space: nowrap;
}
.macro-regime-asset-evidence-tags .evidence-role-primary {
  border-color: rgba(15, 79, 132, 0.18);
  background: var(--color-info-soft);
  color: var(--color-info);
}
.macro-regime-asset-evidence-tags .evidence-role-risk,
.macro-regime-asset-evidence-tags .evidence-stance-contradicts_bias {
  border-color: rgba(146, 64, 14, 0.24);
  background: var(--color-warning-soft);
  color: var(--color-warning);
}
.macro-regime-asset-evidence-tags .evidence-stance-supports_bias {
  border-color: rgba(4, 120, 87, 0.24);
  background: var(--color-easing-soft);
  color: var(--color-easing);
}
.macro-regime-asset-evidence-reason {
  margin: 7px 0 0;
  color: var(--text-secondary);
  font-size: 0.72rem;
  line-height: 1.35;
}
.macro-regime-asset-evidence-chip.evidence-stance-contradicts_bias {
  border-color: rgba(217, 119, 6, 0.28);
  box-shadow: inset 3px 0 0 rgba(217, 119, 6, 0.28);
}
.macro-regime-asset-pending {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.35;
}
.macro-regime-asset-invalidation {
  margin-top: auto;
  padding-top: 11px;
  border-top: 1px solid var(--border-subtle);
}
.macro-regime-asset-watchlist {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.macro-regime-asset-caveat {
  margin: 14px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
  color: var(--text-muted);
  font-size: var(--font-size-sm);
  line-height: 1.45;
}
.asset-mapping-density-compact .macro-regime-asset-card {
  gap: 9px;
  padding: 10px;
}
.asset-mapping-density-compact .macro-regime-asset-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
}
.asset-mapping-density-compact .macro-regime-asset-head h3 {
  font-size: 0.92rem;
}
.asset-mapping-density-compact .macro-regime-asset-badges {
  justify-content: flex-start;
}
.asset-mapping-density-compact .macro-regime-asset-basis,
.asset-mapping-density-compact .macro-regime-asset-quality,
.asset-mapping-density-compact .macro-regime-asset-pending {
  display: none;
}
.asset-mapping-density-compact .macro-regime-asset-evidence {
  grid-template-columns: 1fr;
}
.asset-mapping-density-compact .macro-regime-asset-evidence-chip {
  padding: 6px 8px;
}
.asset-mapping-density-compact .macro-regime-asset-evidence-chip span {
  display: none;
}
.asset-mapping-density-compact .macro-regime-asset-evidence-chip .macro-regime-asset-evidence-state,
.asset-mapping-density-compact .macro-regime-asset-evidence-chip .macro-regime-asset-evidence-z,
.asset-mapping-density-compact .macro-regime-asset-evidence-chip .macro-regime-asset-evidence-date {
  display: inline-flex;
}
.asset-mapping-density-compact .macro-regime-asset-evidence-chip .macro-regime-asset-evidence-chart {
  height: 38px;
}
.asset-mapping-view-evidence .macro-regime-asset-card {
  border-left: 3px solid var(--border-subtle);
}
.asset-mapping-view-evidence .macro-regime-asset-card.macro-asset-bias-positive {
  border-left-color: var(--color-easing);
}
.asset-mapping-view-evidence .macro-regime-asset-card.macro-asset-bias-negative {
  border-left-color: var(--color-tightening);
}
.asset-mapping-view-evidence .macro-regime-asset-card.macro-asset-bias-neutral {
  border-left-color: var(--color-neutral);
}
.asset-mapping-view-evidence .macro-regime-asset-evidence {
  grid-template-columns: 1fr;
}
.asset-mapping-page-panel .macro-regime-asset-evidence {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.asset-mapping-view-evidence .macro-regime-asset-evidence-chip {
  background: #FFFFFF;
  box-shadow: inset 0 0 0 1px rgba(31, 111, 184, 0.06);
}

/* CHECK Board */

.checks-hero {
  padding-top: 14px;
  padding-bottom: 8px;
}
.page-hero.checks-hero h1 {
  max-width: 100%;
  font-size: 2.25rem;
  line-height: 1.08;
  white-space: nowrap;
}
.checks-hero .subtitle {
  max-width: 72ch;
  font-size: var(--font-size-sm);
}
[data-bind="checks-page"] {
  display: grid;
  gap: 16px;
  margin-bottom: 48px;
}
.checks-theme-nav {
  position: sticky;
  top: var(--checks-site-header-height, 62px);
  z-index: 30;
  min-width: 0;
  border: 1px solid var(--border-subtle);
  background: rgba(255, 255, 255, 0.96);
  transition: box-shadow 160ms ease, border-color 160ms ease;
}
.checks-theme-nav.is-stuck {
  border-color: var(--border-strong);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}
.checks-theme-nav-disclosure { min-width: 0; }
.checks-theme-nav-current { display: none; }
.checks-theme-nav-list {
  display: none;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: thin;
}
.checks-theme-nav-disclosure[open] > .checks-theme-nav-list { display: flex; }
.checks-theme-nav-disclosure:not([open]) > .checks-theme-nav-list { display: none; }
.checks-theme-nav-link {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 44px;
  padding: 9px 12px 7px;
  border-bottom: 2px solid transparent;
  color: var(--text-secondary);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}
.checks-theme-nav-link:hover,
.checks-theme-nav-link:focus-visible {
  color: var(--text-accent);
  background: var(--panel-subtle);
  text-decoration: none;
}
.checks-theme-nav-link[aria-current="location"] {
  border-bottom-color: var(--brand-primary);
  color: var(--text-accent);
  background: var(--color-info-soft);
}
.checks-summary-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-height: 24px;
  padding: 0 2px;
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.35;
}
.checks-summary-live { color: var(--color-easing); }
.checks-summary-awaiting { color: var(--color-info); }
.checks-summary-pending { color: var(--color-warning); }
.checks-summary-separator { color: var(--border-strong); }
.checks-module {
  scroll-margin-top: calc(var(--checks-site-header-height, 62px) + var(--checks-theme-nav-height, 44px) + 16px);
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--color-info);
  background: #FFFFFF;
}
.checks-module-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.checks-module-meta {
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}
.checks-module-title {
  margin-top: 3px;
  font-size: 1.22rem;
  line-height: 1.2;
}
.checks-module-counts {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}
.checks-module-metric {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.15;
  white-space: nowrap;
}
.checks-module-metric strong {
  color: var(--text-accent);
  font-family: var(--font-mono);
  font-size: 0.78rem;
}
.checks-module-metric-live {
  border-color: rgba(4, 120, 87, 0.20);
  background: var(--color-easing-soft);
}
.checks-module-metric-live strong { color: var(--color-easing); }
.checks-module-metric-awaiting {
  border-color: rgba(15, 79, 132, 0.18);
  background: var(--color-info-soft);
}
.checks-module-metric-awaiting strong { color: var(--color-info); }
.checks-module-metric-pending {
  border-color: rgba(146, 64, 14, 0.22);
  background: var(--color-warning-soft);
}
.checks-module-metric-pending strong { color: var(--color-warning); }
.checks-buynote-block {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
}
.checks-buynote-block summary::-webkit-details-marker {
  display: none;
}
.checks-buynote-label,
.checks-card-kicker {
  color: var(--text-muted);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.15;
  text-transform: uppercase;
}
.checks-buynote-label {
  cursor: pointer;
  list-style: none;
}
.checks-buynote-text {
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.45;
}
.checks-module-banner {
  padding: 8px 10px;
  border: 1px solid rgba(146, 64, 14, 0.22);
  background: var(--color-warning-soft);
  color: var(--color-warning);
  font-size: 0.74rem;
  font-weight: 750;
  line-height: 1.3;
}
.checks-indicators-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}
.checks-indicator-card {
  scroll-margin-top: 76px;
  display: grid;
  gap: 9px;
  min-height: 224px;
  padding: 12px;
  border-top: 3px solid var(--border-strong);
  align-content: start;
}
.checks-card-linkable {
  cursor: pointer;
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}
.checks-card-linkable:hover,
.checks-card-linkable:focus-visible {
  border-color: rgba(15, 79, 132, 0.32);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
  outline: none;
}
.checks-card-live { border-top-color: var(--color-easing); }
.checks-card-awaiting { border-top-color: var(--color-info); }
.checks-card-pending { border-color: rgba(146, 64, 14, 0.24); }
.checks-card-featured {
  grid-column: span 2;
  min-height: 360px;
}
.checks-card-header,
.checks-pending-chip-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.checks-card-title {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--text-accent);
  font-size: 1.08rem;
  font-weight: 750;
  line-height: 1.25;
}
.checks-card-featured .checks-card-title {
  font-size: 1.12rem;
}
.checks-badge {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  min-height: 20px;
  padding: 2px 6px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: 0.58rem;
  font-weight: 750;
  line-height: 1.15;
  text-transform: uppercase;
  white-space: nowrap;
}
.checks-badge-live {
  width: 8px;
  height: 8px;
  min-height: 8px;
  padding: 0;
  border-color: rgba(4, 120, 87, 0.24);
  border-radius: 999px;
  background: rgba(4, 120, 87, 0.74);
  box-shadow: 0 0 0 3px rgba(4, 120, 87, 0.08);
  color: transparent;
}
.checks-badge-awaiting {
  border-color: rgba(15, 79, 132, 0.14);
  background: rgba(15, 79, 132, 0.06);
  color: rgba(15, 79, 132, 0.82);
}
.checks-badge-pending,
.checks-badge-pending-copy {
  border-color: rgba(146, 64, 14, 0.16);
  background: rgba(146, 64, 14, 0.06);
  color: rgba(146, 64, 14, 0.84);
}
.checks-card-meta-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.checks-card-date,
.checks-card-value {
  overflow-wrap: anywhere;
  line-height: 1.25;
}
.checks-card-date {
  color: var(--text-muted);
  font-size: 0.7rem;
  font-weight: 700;
}
.checks-card-value {
  color: var(--text-accent);
  font-family: var(--font-mono);
  font-size: 0.82rem;
}
.checks-card-placeholder,
.checks-card-sparkline,
.checks-card-multiseries,
.checks-card-contract-selector {
  position: relative;
  min-height: 102px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
}
.checks-card-placeholder,
.checks-card-sparkline {
  height: 102px;
}
.checks-card-sparkline .sparkline-range-hint text {
  fill: rgba(71, 85, 105, 0.72);
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0;
}
.checks-card-multiseries {
  display: grid;
  grid-template-rows: auto auto;
  gap: 6px;
  min-height: 244px;
  padding: 8px;
}
.checks-card-contract {
  min-height: 472px;
}
.checks-card-contract-selector {
  min-height: 280px;
  padding: 8px;
}
.checks-card-positioning-overview {
  min-height: 420px;
}
.checks-positioning-summary {
  color: var(--color-info);
}
.checks-positioning-band-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.checks-positioning-band {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 6px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: 0.62rem;
  font-weight: 750;
  line-height: 1.15;
}
.checks-positioning-band-elevated {
  border-color: rgba(146, 64, 14, 0.18);
  background: rgba(146, 64, 14, 0.06);
  color: rgba(146, 64, 14, 0.88);
}
.checks-positioning-band-extreme {
  border-color: rgba(185, 58, 24, 0.2);
  background: rgba(185, 58, 24, 0.07);
  color: rgba(185, 58, 24, 0.9);
}
.checks-positioning-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.checks-positioning-group {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.checks-positioning-group-title {
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}
.checks-positioning-row {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto auto auto;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 5px 7px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
  color: var(--text-primary);
  font-size: 0.68rem;
  line-height: 1.15;
  text-decoration: none;
}
.checks-positioning-row:hover,
.checks-positioning-row:focus-visible {
  border-color: rgba(15, 79, 132, 0.28);
  background: var(--color-info-soft);
  outline: none;
}
.checks-positioning-row-elevated {
  border-color: rgba(146, 64, 14, 0.2);
}
.checks-positioning-row-extreme {
  border-color: rgba(185, 58, 24, 0.26);
  background: rgba(185, 58, 24, 0.05);
}
.checks-positioning-member,
.checks-positioning-direction,
.checks-positioning-level {
  min-width: 0;
  overflow-wrap: anywhere;
}
.checks-positioning-direction,
.checks-positioning-level {
  color: var(--text-muted);
  font-size: 0.62rem;
  font-weight: 700;
}
.checks-positioning-z {
  color: var(--text-accent);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  white-space: nowrap;
}
.checks-contract-selector-groups,
.checks-contract-selector-members {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.checks-contract-selector-group-btn,
.checks-contract-selector-member-btn {
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid var(--border-subtle);
  border-radius: 0;
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.15;
}
.checks-contract-selector-member-btn {
  font-size: 0.66rem;
}
.checks-contract-selector-group-btn.is-active,
.checks-contract-selector-member-btn.is-active {
  border-color: rgba(15, 79, 132, 0.24);
  background: var(--color-info-soft);
  color: var(--color-info);
}
.contract-selector-svg {
  display: block;
  width: 100%;
  height: 260px;
}
.contract-selector-bar {
  fill: rgba(31, 111, 184, 0.88);
  stroke: rgba(11, 61, 112, 0.42);
  stroke-width: 0.6;
  shape-rendering: crispEdges;
}
.contract-selector-bar.is-negative {
  fill: rgba(217, 75, 37, 0.82);
  stroke: rgba(145, 42, 20, 0.38);
}
.contract-selector-level-baseline {
  stroke: rgba(31, 111, 184, 0.45);
  stroke-width: 1.25;
}
.contract-selector-z-line {
  stroke: #D94B25;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.multiseries-svg,
.multiseries-bar-svg {
  display: block;
  width: 100%;
  height: 150px;
}
.multiseries-grid line {
  stroke: rgba(102, 112, 133, 0.18);
  stroke-width: 1;
}
.multiseries-axis-tick {
  stroke: rgba(102, 112, 133, 0.16);
  stroke-width: 0.8;
}
.multiseries-axis-label {
  fill: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0;
}
.multiseries-axis-label-right {
  fill: rgba(107, 114, 128, 0.86);
}
.multiseries-zero-line {
  stroke: rgba(19, 34, 56, 0.42);
  stroke-width: 1.2;
}
.multiseries-axis-unit {
  fill: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0;
}
.multiseries-line-primary {
  opacity: 0.95;
  stroke-width: 2.2;
}
.multiseries-line-secondary {
  opacity: 0.28;
  stroke-width: 1.2;
}
.multiseries-line.is-active-series {
  opacity: 1;
  stroke-width: 3;
}
.multiseries-line.is-muted-series {
  opacity: 0.12;
}
.multiseries-bar-svg rect {
  opacity: 0.86;
}
.multiseries-bar.is-active-series {
  opacity: 1;
}
.multiseries-bar.is-muted-series {
  opacity: 0.16;
}
.multiseries-legend {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 8px;
  min-width: 0;
}
.multiseries-legend-item {
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px;
  min-width: 0;
  padding: 3px 4px;
  border: 1px solid var(--border-subtle);
  background: rgba(255, 255, 255, 0.72);
  color: var(--text-muted);
  font-size: 0.64rem;
  line-height: 1.15;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
}
.multiseries-legend-item:hover,
.multiseries-legend-item:focus-visible {
  border-color: rgba(15, 79, 132, 0.28);
  background: var(--color-info-soft);
  color: var(--text-accent);
}
.multiseries-legend-swatch {
  width: 6px;
  height: 6px;
}
.multiseries-legend-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.multiseries-legend-value {
  min-width: 4.8ch;
  color: var(--text-secondary);
  font-family: var(--font-mono);
  text-align: right;
  white-space: nowrap;
}
.multiseries-tooltip {
  position: absolute;
  z-index: 3;
  min-width: 136px;
  max-width: 180px;
  padding: 6px 7px;
  border: 1px solid rgba(102, 112, 133, 0.22);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
  color: var(--text-primary);
  pointer-events: none;
}
.multiseries-tooltip[hidden] {
  display: none;
}
.multiseries-tooltip-title {
  margin-bottom: 4px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 750;
}
.multiseries-tooltip-row {
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px;
  font-size: 0.62rem;
  line-height: 1.35;
}
.multiseries-tooltip-row span:nth-child(2) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.multiseries-tooltip-row strong {
  font-family: var(--font-mono);
  font-size: 0.62rem;
}
.multiseries-tooltip-swatch {
  width: 7px;
  height: 7px;
}
.checks-chart-window {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
}
.checks-chart-detail-link {
  margin-left: auto;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 3px 0;
  color: var(--color-info);
  font-size: 0.68rem;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.checks-chart-detail-link:hover,
.checks-chart-detail-link:focus-visible {
  color: var(--text-accent);
}
.checks-chart-window-btn {
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid var(--border-subtle);
  border-radius: 0;
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.15;
}
.checks-chart-window-btn.is-active {
  border-color: rgba(15, 79, 132, 0.24);
  background: var(--color-info-soft);
  color: var(--color-info);
}
.checks-chart-badge {
  position: absolute;
  bottom: 6px;
  left: 6px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0;
  color: var(--text-accent);
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.15;
  pointer-events: none;
}
.checks-usage-details {
  margin-top: auto;
  padding-top: 7px;
  border-top: 1px solid var(--border-subtle);
  align-self: end;
}
.checks-usage-details:not([open]) {
  padding-top: 6px;
}
.checks-usage-label {
  color: var(--text-muted);
  font-size: 0.62rem;
  font-weight: 750;
  line-height: 1.2;
  cursor: pointer;
}
.checks-usage-content {
  margin-top: 5px;
  color: var(--text-secondary);
  font-size: 0.72rem;
  line-height: 1.35;
}
.checks-usage-details[open] .checks-usage-content {
  max-height: 132px;
  overflow: auto;
  padding-right: 4px;
  scrollbar-width: thin;
}
.checks-pending-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.checks-pending-chip {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid rgba(146, 64, 14, 0.24);
  background: var(--color-warning-soft);
}
.checks-pending-chip strong,
.checks-card-pending-reason {
  overflow-wrap: anywhere;
  line-height: 1.25;
}
.checks-pending-chip strong {
  color: var(--text-accent);
  font-size: 0.9rem;
  font-weight: 750;
}
.checks-card-pending-reason {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 700;
}

/* Liquidity Map */

.diagnostic-card {
  padding: 18px;
}
.liquidity-map {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.center-axis-row {
  display: grid;
  align-items: center;
  gap: var(--space-lg);
  min-height: 22px;
  padding: 0 0 5px;
  border-bottom: 1px solid var(--border-subtle);
}
.liquidity-axis-row {
  grid-template-columns: 140px 1fr 110px;
}
.drivers-axis-row {
  grid-template-columns: 180px 1fr 100px;
}
.center-axis {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  color: var(--text-muted);
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}
.center-axis::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1px;
  height: 12px;
  background: rgba(15, 23, 42, 0.22);
  transform: translate(-50%, -50%);
}
.center-axis .axis-left {
  color: var(--color-tightening);
  text-align: right;
}
.center-axis .axis-zero {
  position: relative;
  z-index: 1;
  padding: 0 5px;
  background: var(--bg-secondary);
  color: var(--text-muted);
  font-family: var(--font-mono);
  letter-spacing: 0;
}
.center-axis .axis-right {
  color: var(--color-easing);
  text-align: left;
}
.liquidity-row {
  display: grid;
  grid-template-columns: 140px 1fr 110px;
  align-items: center;
  gap: var(--space-lg);
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  font-weight: 500;
  min-height: 46px;
  border-bottom: 1px solid var(--border-subtle);
}
.liquidity-row:last-child { border-bottom: none; }
.liquidity-row .tier-label {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--text-primary);
  font-weight: 600;
}
.liquidity-row .tier-dot {
  width: 9px; height: 9px; border-radius: 1px;
}
.liquidity-row.tier-A .tier-dot { background: var(--tier-a); }
.liquidity-row.tier-B .tier-dot { background: var(--tier-b); }
.liquidity-row.tier-C .tier-dot { background: var(--tier-c); }
.liquidity-row.tier-D .tier-dot { background: var(--tier-d); }
.liquidity-row .heat-bar {
  position: relative;
  height: 8px;
  background: var(--bg-surface);
  border-radius: 0;
  overflow: hidden;
}
.liquidity-row .heat-bar::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
  background: rgba(15, 23, 42, 0.22);
  z-index: 1;
}
.liquidity-row .heat-fill {
  --bar-width: 2%;
  position: absolute;
  top: 0;
  height: 100%;
  width: var(--bar-width);
  border-radius: 0;
  transition: width 300ms ease;
}
.liquidity-row .heat-fill.easing {
  left: 50%;
  background: linear-gradient(90deg, var(--regime-mildly-loose) 0%, var(--regime-loose) 100%);
}
.liquidity-row .heat-fill.neutral {
  left: 50%;
  width: 2px;
  background: var(--border-medium);
  transform: translateX(-50%);
}
.liquidity-row .heat-fill.tightening {
  right: 50%;
  background: linear-gradient(90deg, var(--regime-mildly-tight) 0%, var(--regime-tight) 100%);
}
.liquidity-row .condition {
  text-align: right;
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.liquidity-row .condition.tightening { color: var(--color-tightening); }
.liquidity-row .condition.easing { color: var(--color-easing); }

/* Drivers */

.drivers-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.driver-row {
  display: grid;
  grid-template-columns: 180px 1fr 100px;
  gap: 18px;
  align-items: center;
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  min-height: 38px;
  padding: 7px 0;
  border-bottom: 1px solid var(--border-subtle);
  min-width: 0;
}
.driver-row:last-child { border-bottom: none; }
.driver-row .driver-name {
  color: var(--text-primary);
  font-weight: 650;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.driver-row .driver-bar {
  height: 7px;
  background: var(--bg-surface);
  border-radius: 0;
  position: relative;
  overflow: hidden;
}
.driver-row .driver-bar::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
  background: rgba(15, 23, 42, 0.22);
  z-index: 1;
}
.driver-row .driver-fill {
  --bar-width: 2%;
  position: absolute;
  top: 0;
  height: 100%;
  width: var(--bar-width);
  border-radius: 0;
  transition: width 300ms ease;
}
.driver-row .driver-fill.tightening {
  right: 50%;
  background: linear-gradient(90deg, rgba(220, 38, 38, 0.7), var(--color-tightening));
}
.driver-row .driver-fill.easing {
  left: 50%;
  background: linear-gradient(90deg, rgba(16, 185, 129, 0.7), var(--color-easing));
}
.driver-row .driver-fill.neutral {
  left: 50%;
  width: 2px;
  background: var(--border-medium);
  transform: translateX(-50%);
}
.driver-row .driver-direction {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: var(--font-size-xs);
  letter-spacing: 0.06em;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.driver-row .driver-direction.tightening { color: var(--color-tightening); }
.driver-row .driver-direction.easing     { color: var(--color-easing); }
.driver-row .driver-direction.neutral    { color: var(--text-muted); }

/* Asset Impact Lens */

.tabs {
  display: flex;
  gap: 0;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--border-subtle);
}
.tabs button {
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--text-muted);
  min-height: 38px;
  padding: 0 16px;
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 120ms ease, border-color 120ms ease;
}
.tabs button:hover { color: var(--text-accent); }
.tabs button.active {
  color: var(--text-accent);
  border-bottom-color: var(--brand-primary);
}

.correlation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.correlation-block {
  background: #FFFFFF;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 14px;
}
.correlation-block .block-title {
  font-size: var(--font-size-xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-subtle);
}
.correlation-block .stat-row {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  padding: 6px 0;
  border-bottom: 1px solid rgba(225, 228, 232, 0.62);
  font-variant-numeric: tabular-nums;
}
.correlation-block .stat-row:last-child { border-bottom: none; }
.correlation-block .stat-row .label {
  color: var(--text-secondary);
  font-weight: 500;
}
.correlation-block .stat-row .value {
  color: var(--text-accent);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.correlation-block .stat-row .value.positive { color: var(--color-easing); }
.correlation-block .stat-row .value.negative { color: var(--color-tightening); }

/* Indicator Detail Page */

.reserve-buffer-detail-card {
  display: grid;
  gap: 16px;
  margin-top: 18px;
  border-top: 3px solid var(--tier-c);
  padding: 18px;
}
.reserve-buffer-detail-card[hidden] {
  display: none !important;
}
.reserve-buffer-detail-header {
  align-items: flex-start;
}
.reserve-buffer-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: var(--font-size-xs);
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.reserve-buffer-status-pill.is-thin {
  border-color: rgba(217, 75, 37, 0.22);
  background: rgba(217, 75, 37, 0.08);
  color: var(--color-danger);
}
.reserve-buffer-status-pill.is-ample {
  border-color: rgba(15, 107, 69, 0.22);
  background: rgba(15, 107, 69, 0.08);
  color: var(--brand-primary);
}
.reserve-buffer-detail-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}
.reserve-buffer-reading-panel,
.reserve-buffer-explain-panel {
  min-width: 0;
  border: 1px solid var(--border-subtle);
  background: #FFFFFF;
}
.reserve-buffer-reading-panel {
  display: grid;
  gap: 10px;
  padding: 14px;
}
.reserve-buffer-reading-label {
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.reserve-buffer-reading-value {
  color: var(--text-primary);
  font-size: 2.65rem;
  font-weight: 760;
  line-height: 1;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.reserve-buffer-reading-copy {
  margin: 0;
  padding: 10px 12px;
  border-left: 3px solid var(--tier-c);
  background: var(--panel-subtle);
  color: var(--text-primary);
  font-size: 0.92rem;
  line-height: 1.5;
}
.reserve-buffer-mini-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}
.reserve-buffer-mini-stat {
  min-width: 0;
  padding: 9px 10px;
  border-right: 1px solid var(--border-subtle);
}
.reserve-buffer-mini-stat:last-child {
  border-right: 0;
}
.reserve-buffer-mini-stat span {
  display: block;
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.reserve-buffer-mini-stat strong {
  display: block;
  margin-top: 4px;
  color: var(--text-accent);
  font-family: var(--font-mono);
  font-size: 0.9rem;
  font-weight: 650;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.reserve-buffer-explain-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.reserve-buffer-explain-panel-single {
  align-content: start;
  grid-template-columns: 1fr;
  padding: 14px;
}
.reserve-buffer-context-copy {
  align-self: start;
}

.page-hero {
  max-width: 920px;
  margin-bottom: 30px;
  padding-top: 10px;
}
.indicator-page-hero {
  max-width: 1088px;
}
.page-hero h1 {
  max-width: 14ch;
  font-size: 3.25rem;
  line-height: 1;
  letter-spacing: 0;
}
.indicator-page-hero h1 {
  max-width: min(100%, 68rem);
  line-height: 1.08;
}
.reserve-buffer-hero .subtitle {
  max-width: none;
  white-space: nowrap;
}
.history-hero h1 {
  max-width: 100%;
  font-size: 2.5rem;
  line-height: 1.08;
  overflow-wrap: anywhere;
}
.history-hero .subtitle {
  max-width: min(100%, 56rem);
  overflow-wrap: anywhere;
}
.page-hero .subtitle {
  max-width: 68ch;
  font-size: 1.04rem;
  line-height: 1.55;
}
.indicator-detail-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 18px;
  align-items: start;
}
.indicator-detail-grid.fomc-target-rate-layout {
  grid-template-columns: minmax(0, 1fr);
}
.chart-card,
.stats-card {
  border-top: 3px solid var(--brand-primary);
  padding: 18px;
}
.chart-area {
  min-height: 400px;
  background:
    linear-gradient(to right, rgba(225, 228, 232, 0.32) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(225, 228, 232, 0.32) 1px, transparent 1px),
    #FFFFFF;
  background-size: 12.5% 100%, 100% 25%;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
}
.history-chart-area {
  min-height: 460px;
  position: relative;
}
.composition-badge {
  display: inline-flex;
  align-items: center;
  align-self: center;
  min-height: 20px;
  padding: 2px 8px;
  border: 1px solid rgba(107, 114, 128, 0.35);
  border-radius: 3px;
  background: rgba(107, 114, 128, 0.08);
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  cursor: help;
}
.composition-badge[hidden] {
  display: none;
}
.composition-badge:focus-visible {
  outline: 2px solid var(--text-accent);
  outline-offset: 1px;
}
.history-gate-annotations {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  background: var(--panel-subtle);
}
.history-gate-annotations:empty {
  display: none;
}
.history-gate-title {
  color: var(--text-accent);
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.history-gate-items {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.history-gate-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  line-height: 1.45;
}
.history-gate-swatch {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  margin-top: 4px;
  background: rgba(107, 114, 128, 0.35);
}
.history-gate-swatch-event {
  border-radius: 50%;
  background: #4B5563;
}
.history-gate-swatch-span {
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(107, 114, 128, 0.35);
}
.history-gate-note,
.history-gate-empty {
  margin-top: 8px;
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  line-height: 1.45;
}
.history-gate-tooltip {
  position: absolute;
  z-index: 3;
  max-width: min(320px, 88%);
  padding: 8px 10px;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  background: #FFFFFF;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.12);
  color: var(--text-secondary);
  font-size: var(--font-size-xs);
  line-height: 1.4;
  pointer-events: none;
}
.history-gate-tooltip[hidden] {
  display: none;
}
.history-gate-tooltip-line + .history-gate-tooltip-line {
  margin-top: 6px;
}
.history-regime-legend {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px 18px;
  align-items: center;
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  background: var(--panel-subtle);
}
.history-regime-legend-title {
  color: var(--text-accent);
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.history-regime-legend-items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
}
.history-regime-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 22px;
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 600;
  line-height: 1.25;
}
.history-regime-swatch {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  background: var(--legend-color);
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08);
  flex: 0 0 auto;
}
.legend-loose { --legend-color: #1D70B8; }
.legend-mildly-loose { --legend-color: #9A7A36; }
.legend-mildly-tight { --legend-color: #D97706; }
.legend-tight { --legend-color: #DC3B1F; }
.zscore-header {
  margin-top: var(--space-lg);
}
.zscore-chart-area {
  min-height: 160px;
}
.chart-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
}
.chart-toolbar button {
  min-height: 32px;
  background: transparent;
  color: var(--text-muted);
  border: none;
  border-right: 1px solid var(--border-subtle);
  padding: 0 11px;
  font-family: var(--font-sans);
  font-size: var(--font-size-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: 0;
  transition: all 120ms ease;
}
.history-chart-card .chart-toolbar button {
  height: 24px;
  min-height: 24px;
  padding: 0 7px;
  font-size: 0.6875rem;
  line-height: 1;
}
.chart-toolbar button:last-child { border-right: none; }
.chart-toolbar button:hover {
  background: #FFFFFF;
  color: var(--text-accent);
}
.chart-toolbar button.active {
  background: var(--brand-primary);
  color: #FFFFFF;
  border-color: var(--brand-primary);
}

.fomc-target-rate-card .chart-area {
  min-height: auto;
  padding: 16px;
  background: #FFFFFF;
}
.fomc-target-rate-card [hidden],
.indicator-detail-grid.fomc-target-rate-layout .stats-card[hidden] {
  display: none !important;
}
.fomc-target-rate-surface {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.fomc-meeting-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.fomc-meeting-tab {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  background: var(--panel-subtle);
  color: var(--text-muted);
  font-size: var(--font-size-sm);
  font-weight: 650;
}
.fomc-meeting-tab:hover {
  background: #FFFFFF;
  color: var(--text-accent);
}
.fomc-meeting-tab[aria-selected="true"] {
  background: var(--brand-primary);
  border-color: var(--brand-primary);
  color: #FFFFFF;
}
.fomc-current-target-range,
.fomc-chart-heading {
  text-align: center;
  color: var(--text-accent);
  font-weight: 650;
}
.fomc-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
}
.fomc-summary-stat {
  display: flex;
  justify-content: space-between;
  gap: var(--space-md);
  padding: 10px 12px;
  border-right: 1px solid var(--border-subtle);
}
.fomc-summary-stat:last-child {
  border-right: none;
}
.fomc-summary-label {
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-transform: uppercase;
}
.fomc-summary-value,
.fomc-probability-cell {
  font-variant-numeric: tabular-nums;
}
.fomc-probability-chart {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.fomc-bars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 16px;
  min-height: 330px;
  padding: 14px 8px 0;
  border-left: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  background:
    linear-gradient(to bottom, rgba(225, 228, 232, 0.72) 1px, transparent 1px),
    #FFFFFF;
  background-size: 100% 25%;
}
.fomc-bar-item {
  display: grid;
  grid-template-rows: 24px minmax(190px, 1fr) 28px;
  gap: 6px;
  align-items: end;
  min-width: 0;
  text-align: center;
}
.fomc-bar-value {
  color: var(--text-strong);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.fomc-bar-track {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 100%;
}
.fomc-probability-bar {
  width: min(100%, 92px);
  min-height: 2px;
  border-radius: 4px 4px 0 0;
  background: var(--brand-primary);
}
.fomc-bar-label {
  color: var(--text-muted);
  font-size: var(--font-size-sm);
}
.fomc-probability-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--border-subtle);
}
.fomc-probability-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
}
.fomc-probability-table th,
.fomc-probability-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-subtle);
  text-align: right;
}
.fomc-probability-table th {
  background: var(--panel-subtle);
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-transform: uppercase;
}
.fomc-probability-table th:first-child,
.fomc-probability-table td:first-child {
  text-align: left;
}
.fomc-probability-table tbody tr:last-child td {
  border-bottom: none;
}
.fomc-target-rate-range {
  white-space: nowrap;
}

.stat-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.stat-list .stat {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-md);
  align-items: baseline;
  min-height: 42px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border-subtle);
}
.stat-list .stat:last-child { border-bottom: none; }
.stat-list .stat .label {
  font-size: var(--font-size-xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
  min-width: 0;
  overflow-wrap: anywhere;
}
.stat-list .stat .value {
  font-family: var(--font-sans);
  font-size: 1.05rem;
  color: var(--text-accent);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
  text-align: right;
  min-width: 0;
  overflow-wrap: anywhere;
}
.stat-list .stat .stat-signal-value {
  font-size: var(--font-size-sm);
  line-height: 1.35;
}
.regime-band-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.regime-band-card {
  --band-color: var(--border-medium);
  border-top: 3px solid var(--band-color);
  padding: 14px;
}
.regime-band-loose { --band-color: var(--regime-loose); }
.regime-band-mildly-loose { --band-color: var(--regime-mildly-loose); }
.regime-band-mildly-tight { --band-color: var(--regime-mildly-tight); }
.regime-band-tight { --band-color: var(--regime-tight); }
.regime-band-threshold {
  margin-top: 4px;
  color: var(--text-accent);
  font-family: var(--font-sans);
  font-size: var(--font-size-lg);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
.regime-band-share {
  min-width: 0;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: var(--font-size-sm);
  font-variant-numeric: tabular-nums;
}
.regime-band-percent,
.regime-band-count {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}
.regime-band-count {
  margin-top: 2px;
  font-size: 0.82em;
  opacity: 0.82;
}

/* Methodology Page */

.methodology-container {
  max-width: 980px;
}
.methodology-card {
  padding: 20px;
  border-top: 3px solid var(--brand-primary);
}
.methodology-card h2 {
  font-size: 1.35rem;
  letter-spacing: 0;
}
.methodology-card h3 {
  font-size: 1rem;
  letter-spacing: 0;
}
.methodology-tier-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: var(--space-md);
}
.methodology-tier-card {
  --tier-card-color: var(--border-medium);
  padding: 14px;
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--tier-card-color);
  background: #FFFFFF;
}
.methodology-tier-a { --tier-card-color: var(--tier-a); }
.methodology-tier-b { --tier-card-color: var(--tier-b); }
.methodology-tier-c { --tier-card-color: var(--tier-c); }
.methodology-tier-d { --tier-card-color: var(--tier-d); }
.methodology-tier-card h3,
.methodology-tier-card h4 {
  margin: 0 0 8px;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.methodology-tier-title-a { color: var(--tier-a); }
.methodology-tier-title-b { color: var(--tier-b); }
.methodology-tier-title-c { color: var(--tier-c); }
.methodology-tier-title-d { color: var(--tier-d); }
.methodology-weight {
  font-size: var(--font-size-xs);
}
.methodology-tier-card ul {
  margin-top: 0;
  margin-bottom: 0;
}
.methodology-context-title {
  margin-top: var(--space-lg);
  color: var(--tier-context);
}
.methodology-copy,
.methodology-lede {
  margin-top: var(--space-sm);
}
.methodology-list {
  line-height: 1.8;
  padding-left: var(--space-md);
}
.methodology-step-first {
  margin-top: var(--space-md);
}
.methodology-step {
  margin-top: var(--space-lg);
}
.regime-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 999px;
  vertical-align: 1px;
}
.regime-dot-loose { background: var(--regime-loose); }
.regime-dot-mildly-loose { background: var(--regime-mildly-loose); }
.regime-dot-mildly-tight { background: var(--regime-mildly-tight); }
.regime-dot-tight { background: var(--regime-tight); }
.formula-block {
  display: block;
  margin: var(--space-sm) 0 0;
  padding: 14px 16px;
  overflow-x: auto;
  border: 1px solid var(--border-subtle);
  border-left: 3px solid var(--brand-primary);
  background: var(--panel-subtle);
  color: var(--text-accent);
  font-size: 0.86rem;
  line-height: 1.55;
  white-space: pre;
}
.methodology-disclaimer {
  margin-top: var(--space-2xl);
  padding-top: var(--space-md);
  border-top: 1px solid var(--border-subtle);
  color: var(--text-muted);
  font-size: var(--font-size-sm);
}

/* Loading and Error States */

.loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-xl);
  color: var(--text-muted);
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  font-weight: 500;
}
.error-banner {
  background: var(--color-tightening-soft);
  border: 1px solid rgba(220, 38, 38, 0.25);
  color: var(--color-tightening);
  border-radius: 4px;
  padding: var(--space-md);
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  font-weight: 500;
  margin-bottom: var(--space-md);
}
.skeleton {
  display: inline-block;
  background: linear-gradient(90deg,
    var(--bg-surface) 25%,
    var(--bg-tertiary) 50%,
    var(--bg-surface) 75%);
  background-size: 200% 100%;
  animation: skeleton-pulse 1.4s ease-in-out infinite;
  border-radius: 4px;
  color: transparent;
}
@keyframes skeleton-pulse {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Related Indicators Panel */

.related-card {
  margin-top: var(--space-md);
  padding: var(--space-md) var(--space-lg);
}
.related-heading {
  margin-bottom: var(--space-sm);
}
.related-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.related-link {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 4px;
  background: var(--panel-subtle);
  color: var(--text-primary);
  font-size: var(--font-size-sm);
  font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--border-subtle);
  transition: background-color 120ms ease, border-color 120ms ease;
}
.related-link:hover {
  background: var(--bg-secondary);
  border-color: var(--border-medium);
  text-decoration: none;
}

/* DLI Contribution Panel */

.contribution-card {
  margin-top: var(--space-md);
}
.contribution-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-md);
}
.contribution-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.contribution-stat .label {
  font-size: var(--font-size-xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 500;
}
.contribution-stat .value {
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}
.contribution-stat .value.tightening { color: var(--color-tightening); }
.contribution-stat .value.easing { color: var(--color-easing); }
.contribution-stat .value.neutral { color: var(--text-muted); }

/* What Changed */

.whatchanged-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 0;
}
.whatchanged-row {
  display: grid;
  grid-template-columns: 32px minmax(116px, 150px) auto 1fr;
  gap: var(--space-sm);
  align-items: center;
  min-height: 42px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border-subtle);
  font-size: var(--font-size-sm);
}
.whatchanged-row:last-child { border-bottom: none; }
.whatchanged-row .rank {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: 600;
}
.whatchanged-row .name {
  font-weight: 600;
  color: var(--text-primary);
  text-decoration: none;
}
.whatchanged-row .name:hover { text-decoration: underline; }
.whatchanged-row .delta {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  color: var(--text-secondary);
}
.whatchanged-row .impact {
  font-size: var(--font-size-xs);
  color: var(--text-muted);
  text-align: right;
  font-weight: 600;
}
.whatchanged-row .impact.tightening { color: var(--color-tightening); }
.whatchanged-row .impact.easing { color: var(--color-easing); }

@media (min-width: 1025px) {
  main {
    padding-top: 24px;
  }
  .hero {
    margin-bottom: 16px;
  }
  .section {
    margin-bottom: 20px;
  }
  .hero-core-card {
    align-self: stretch;
  }
  .dli-status-card {
    padding: 14px;
  }
  .takeaway-card {
    gap: 10px;
    padding: 14px;
  }
  .dli-band-labels {
    display: none;
  }
  .takeaway-card .takeaway-summary {
    padding: 9px 10px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .takeaway-card .takeaway-callout {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
  }
  .whatchanged-row:nth-child(n+4) {
    display: none;
  }
  .whatchanged-row {
    min-height: 32px;
    padding: 4px 0;
  }
  .takeaway-card .takeaway-highlights {
    display: grid;
  }
  .takeaway-card .highlight {
    min-height: 46px;
  }
}

/* Utility */

.mono {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
.muted { color: var(--text-muted); }
.text-secondary { color: var(--text-secondary); }
.text-accent { color: var(--text-accent); }
.text-easing { color: var(--color-easing); }
.text-tightening { color: var(--color-tightening); }
.flex { display: flex; }
.flex-col { display: flex; flex-direction: column; }
.gap-sm { gap: var(--space-sm); }
.gap-md { gap: var(--space-md); }
.mb-md { margin-bottom: var(--space-lg); }
.mb-lg { margin-bottom: var(--space-xl); }

/* Numeric text helpers */
.card .mono.text-accent {
  font-family: var(--font-sans);
  font-weight: 700;
  letter-spacing: 0;
}

/* Responsive */

/* Positioning Evidence Atlas */

.positioning-hero {
  max-width: 1088px;
  margin-bottom: 22px;
  padding-top: 14px;
  padding-bottom: 8px;
}
.positioning-hero-kicker {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}
.page-hero.positioning-hero h1 {
  max-width: min(100%, 48rem);
  margin-top: 5px;
  font-size: 2.35rem;
  line-height: 1.08;
  overflow-wrap: anywhere;
}
.positioning-hero .subtitle {
  max-width: 82ch;
  color: var(--text-secondary);
  font-size: 0.98rem;
}
.positioning-atlas {
  display: grid;
  gap: 16px;
}
[data-bind="positioning-page"] {
  display: grid;
  gap: 16px;
  min-height: 860px;
  margin-bottom: 48px;
}
.positioning-summary-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--brand-primary);
  background: #FFFFFF;
}
.positioning-summary-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 27px;
  padding: 5px 6px;
  border: 1px solid var(--border-subtle);
  background: var(--panel-subtle);
}
.positioning-summary-item span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}
.positioning-summary-item strong {
  display: block;
  margin-top: 3px;
  color: var(--text-accent);
  font-family: var(--font-mono);
  font-size: 1.18rem;
  line-height: 1.1;
}
.positioning-navigation-shell {
  display: contents;
}
.positioning-navigation-shell [hidden] {
  display: none !important;
}
.positioning-navigator {
  position: sticky;
  top: var(--positioning-header-height, 62px);
  z-index: 20;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--brand-primary);
  background: rgba(255, 255, 255, 0.98);
}
.positioning-nav-hierarchy {
  display: grid;
  gap: 10px;
  min-width: 0;
}
.positioning-nav-assets {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}
.positioning-nav-assets-full-mobile {
  display: none;
}
.positioning-nav-asset-link {
  display: grid;
  gap: 5px;
  min-width: 0;
  min-height: 88px;
  padding: 10px 11px;
  border: 1px solid var(--border-subtle);
  border-top: 3px solid transparent;
  border-radius: var(--card-radius);
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font: inherit;
  text-align: left;
  text-decoration: none;
}
.positioning-nav-assets-desktop .positioning-nav-asset-link {
  cursor: pointer;
}
.positioning-nav-asset-link[aria-current="location"] {
  border-top-color: var(--brand-primary);
  background: var(--color-easing-soft);
  color: var(--brand-primary);
}
.positioning-nav-asset-heading,
.positioning-nav-directory-header,
.positioning-mobile-nav-bar,
.positioning-mobile-directory-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.positioning-nav-link-label,
.positioning-nav-descriptor,
.positioning-nav-attention,
.positioning-nav-count {
  min-width: 0;
  overflow-wrap: anywhere;
}
.positioning-nav-asset-heading strong {
  color: var(--text-accent);
  font-size: 0.82rem;
}
.positioning-nav-count,
.positioning-nav-attention,
.positioning-nav-status,
.positioning-mobile-meta {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 0.64rem;
  line-height: 1.25;
}
.positioning-nav-descriptor {
  color: var(--text-secondary);
  font-size: 0.69rem;
  line-height: 1.3;
}
.positioning-nav-attention {
  color: var(--color-warning);
}
.positioning-nav-family-directory {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--border-subtle);
  background: #FFFFFF;
}
.positioning-nav-directory-header {
  color: var(--text-accent);
  font-size: 0.76rem;
}
.positioning-nav-groups {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}
.positioning-nav-group-link {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  min-width: 0;
  padding: 7px 9px;
  border: 1px solid var(--border-subtle);
  border-radius: 999px;
  background: var(--panel-subtle);
  color: var(--text-secondary);
  font-size: 0.69rem;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
}
.positioning-nav-group-link[aria-current="location"] {
  border-color: var(--brand-primary);
  background: var(--brand-primary);
  color: #FFFFFF;
}
.positioning-nav-group-link[aria-current="location"] .positioning-nav-count {
  color: rgba(255, 255, 255, 0.78);
}
.positioning-nav-card-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}
.positioning-nav-card-link {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  justify-content: space-between;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid var(--border-subtle);
  background: #FFFFFF;
  color: var(--text-secondary);
  font-size: 0.68rem;
  line-height: 1.28;
  text-decoration: none;
}
.positioning-nav-card-link[aria-current="location"] {
  border-color: var(--brand-primary);
  color: var(--brand-primary);
  font-weight: 750;
}
.positioning-nav-status {
  flex: 0 0 auto;
  color: var(--color-warning);
  font-weight: 800;
}
.positioning-nav-asset-link:hover,
.positioning-nav-asset-link:focus-visible,
.positioning-nav-group-link:hover,
.positioning-nav-group-link:focus-visible,
.positioning-nav-card-link:hover,
.positioning-nav-card-link:focus-visible,
.positioning-mobile-directory-trigger:hover,
.positioning-mobile-directory-trigger:focus-visible,
.positioning-mobile-directory-close:hover,
.positioning-mobile-directory-close:focus-visible {
  border-color: var(--brand-primary);
  outline: 2px solid rgba(15, 107, 69, 0.22);
  outline-offset: 2px;
  text-decoration: none;
}
.positioning-nav-sentinel {
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.positioning-mobile-nav {
  display: none;
}
.positioning-family,
.positioning-group,
.positioning-card {
  scroll-margin-top: calc(var(--positioning-header-height, 62px) + var(--positioning-active-sticky-height, 0px) + 16px);
}
.positioning-family {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--color-info);
  background: #FFFFFF;
}
.positioning-family-header,
.positioning-group-header,
.positioning-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.positioning-family-title,
.positioning-group-title,
.positioning-card-title {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--text-accent);
  line-height: 1.22;
}
.positioning-family-title { font-size: 1.24rem; }
.positioning-group-title { font-size: 1rem; }
.positioning-card-title { font-size: 0.98rem; }
.positioning-card .positioning-card-header { padding-right: 16px; }
.positioning-family-meta,
.positioning-card-meta,
.positioning-note {
  color: var(--text-muted);
  font-size: var(--font-size-sm);
  line-height: 1.4;
}
.positioning-groups-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}
.positioning-group {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-secondary);
}
.positioning-group-has-companion {
  grid-column: 1 / -1;
}
.positioning-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.positioning-card {
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto auto;
  gap: 8px;
  min-width: 0;
  min-height: 260px;
  padding: 10px;
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--border-strong);
  background: #FFFFFF;
}
.positioning-card-has-companion,
.positioning-cards-grid > .positioning-card:only-child {
  grid-column: 1 / -1;
}
.positioning-card-live { border-top-color: var(--color-easing); }
.positioning-card-display-only { border-top-color: var(--color-info); }
.positioning-card-planned,
.positioning-card-pending-methodology,
.positioning-card-pending-source { border-top-color: var(--color-warning); }
.positioning-status-badge {
  position: absolute;
  top: 9px;
  right: 9px;
  width: 9px;
  height: 9px;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  border-radius: 999px;
  background: var(--panel-subtle);
  color: transparent;
  font-size: 0;
  line-height: 0;
  white-space: nowrap;
}
.positioning-status-live {
  border-color: rgba(4, 120, 87, 0.20);
  background: var(--color-easing-soft);
  color: var(--color-easing);
}
.positioning-status-display-only,
.positioning-status-awaiting-data {
  border-color: rgba(15, 79, 132, 0.18);
  background: var(--color-info-soft);
  color: var(--color-info);
}
.positioning-status-planned,
.positioning-status-pending-methodology,
.positioning-status-pending-source {
  border-color: rgba(146, 64, 14, 0.22);
  background: var(--color-warning-soft);
  color: var(--color-warning);
}
.positioning-stat-stack {
  display: grid;
  gap: 6px;
  align-content: start;
}
.positioning-card-heading {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.positioning-card-meta-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
}
.positioning-card-date {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
}
.positioning-metric-strip {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.91fr) minmax(0, 0.91fr);
  gap: 7px;
  align-items: stretch;
}
.positioning-metric-tile {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 48px;
  padding: 8px 9px;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  background: #FFFFFF;
}
.positioning-metric-primary {
  border-color: rgba(22, 64, 118, 0.16);
  background: rgba(22, 64, 118, 0.065);
}
.positioning-metric-zscore {
  border-color: rgba(71, 85, 105, 0.18);
  background: rgba(71, 85, 105, 0.065);
}
.positioning-metric-percentile {
  border-color: rgba(15, 118, 110, 0.17);
  background: rgba(15, 118, 110, 0.07);
}
.positioning-metric-label {
  color: var(--text-muted);
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 1.1;
  text-transform: uppercase;
}
.positioning-metric-value {
  margin-top: 3px;
  font-family: var(--font-mono);
  font-size: 0.9rem;
  font-weight: 850;
  line-height: 1.05;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.positioning-metric-primary .positioning-metric-value {
  color: #164076;
  font-size: 0.98rem;
}
.positioning-metric-zscore .positioning-metric-value {
  color: #475569;
}
.positioning-metric-percentile .positioning-metric-value {
  color: #0F766E;
}
.positioning-stat-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: baseline;
  min-width: 0;
  color: var(--text-secondary);
  font-size: 0.76rem;
  line-height: 1.25;
}
.positioning-stat-row strong {
  color: var(--text-accent);
  font-family: var(--font-mono);
  font-size: 0.88rem;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.positioning-group-chart {
  position: relative;
  min-height: 210px;
  padding: 8px;
  border: 1px solid var(--border-subtle);
  background: #FFFFFF;
}
.positioning-group-chart .multiseries-axis-label {
  font-size: 8px;
}
.positioning-group-chart .multiseries-axis-unit {
  font-size: 8px;
  letter-spacing: 0.04em;
}
.positioning-group-chart .multiseries-legend-value {
  font-size: 0.64rem;
}
.positioning-group-chart .multiseries-tooltip-row strong {
  font-size: 0.68rem;
}
.positioning-group-chart-empty {
  display: grid;
  align-items: center;
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 700;
}
.positioning-card-sparkline,
.positioning-chart-frame {
  min-height: 150px;
  border: 1px solid var(--border-subtle);
  background:
    linear-gradient(to right, rgba(225, 228, 232, 0.32) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(225, 228, 232, 0.32) 1px, transparent 1px),
    #FFFFFF;
  background-size: 25% 100%, 100% 33.333%;
}
.positioning-card-sparkline {
  display: block;
  min-height: 126px;
}
.positioning-card-sparkline .sparkline-svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.positioning-card-sparkline .sparkline-grid line {
  stroke: rgba(148, 163, 184, 0.28);
  stroke-width: 1;
}
.positioning-card-sparkline .sparkline-line {
  vector-effect: non-scaling-stroke;
}
.positioning-card-sparkline .sparkline-dot {
  stroke: #FFFFFF;
  stroke-width: 1.5;
}
.positioning-card-sparkline .sparkline-range-hint text {
  fill: rgba(71, 85, 105, 0.72);
  font-family: var(--font-mono);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0;
}
.positioning-chart-link {
  cursor: pointer;
}
.positioning-chart-link:focus-visible {
  outline: 2px solid rgba(31, 111, 184, 0.48);
  outline-offset: 2px;
}
.positioning-chart-link:hover {
  border-color: rgba(31, 111, 184, 0.34);
}
.positioning-detail-link {
  color: var(--brand-primary);
  font-size: 0.76rem;
  font-weight: 750;
  text-decoration: none;
}
.positioning-detail-link:hover,
.positioning-detail-link:focus-visible {
  text-decoration: underline;
}
.positioning-details {
  color: var(--text-muted);
  font-size: 0.74rem;
}
.positioning-details summary {
  cursor: pointer;
  font-weight: 750;
}
.positioning-details-body {
  display: grid;
  gap: 5px;
  padding-top: 6px;
  overflow-wrap: anywhere;
}
.positioning-planned-placeholder {
  display: grid;
  align-items: center;
  min-height: 150px;
  padding: 12px;
  border: 1px dashed rgba(146, 64, 14, 0.24);
  background: var(--color-warning-soft);
  color: var(--color-warning);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.35;
}
.positioning-card-combo {
  position: relative;
  min-height: 150px;
  padding: 6px 6px 4px;
  border: 1px solid var(--border-subtle);
  background:
    linear-gradient(to right, rgba(225, 228, 232, 0.28) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(225, 228, 232, 0.28) 1px, transparent 1px),
    #FFFFFF;
  background-size: 25% 100%, 100% 33.333%;
}
.positioning-combo-chart {
  position: relative;
  overflow: hidden;
  min-width: 0;
  touch-action: pan-y;
}
.positioning-combo-chart-compact {
  min-height: 150px;
}
.positioning-combo-chart-detail {
  width: 100%;
  height: 100%;
  min-height: 260px;
}
.positioning-combo-svg {
  display: block;
  width: 100%;
  height: 126px;
  overflow: visible;
}
.positioning-combo-chart-detail .positioning-combo-svg {
  height: 100%;
  min-height: 260px;
}
.positioning-combo-zero-line {
  stroke: rgba(82, 96, 112, 0.30);
  stroke-width: 1;
  stroke-dasharray: 3 3;
  vector-effect: non-scaling-stroke;
}
.positioning-combo-bar-positive {
  fill: rgba(31, 111, 184, 0.24);
}
.positioning-combo-bar-negative {
  fill: rgba(176, 74, 55, 0.24);
}
.positioning-combo-net-line {
  fill: none;
  stroke: #1F6FB8;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}
.positioning-combo-axis-label {
  fill: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 7px;
  font-weight: 700;
}
.positioning-combo-hover-layer {
  pointer-events: none;
}
.positioning-combo-crosshair {
  stroke: rgba(31, 41, 55, 0.34);
  stroke-width: 1;
  stroke-dasharray: 3 3;
  vector-effect: non-scaling-stroke;
}
.positioning-combo-hover-dot {
  fill: #FFFFFF;
  stroke: #1F6FB8;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}
.positioning-combo-tooltip {
  position: absolute;
  z-index: 4;
  max-width: min(240px, calc(100% - 8px));
  padding: 7px 8px;
  border: 1px solid var(--border-medium);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
  color: var(--text-secondary);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.25;
  pointer-events: none;
}
.positioning-combo-tooltip[hidden] {
  display: none;
}
.positioning-combo-tooltip-title {
  margin-bottom: 5px;
  color: var(--text-accent);
  font-family: var(--font-mono);
  font-size: 0.66rem;
}
.positioning-combo-tooltip-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: baseline;
}
.positioning-combo-tooltip-row + .positioning-combo-tooltip-row {
  margin-top: 3px;
}
.positioning-combo-tooltip-row span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.positioning-combo-tooltip-row strong {
  color: var(--text-accent);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  white-space: nowrap;
}
.positioning-combo-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  min-height: 14px;
  color: var(--text-muted);
  font-size: 0.64rem;
  font-weight: 700;
  line-height: 1.1;
}
.positioning-combo-legend-item {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  min-width: 0;
}
.positioning-combo-legend-item::before {
  content: '';
  width: 11px;
  height: 4px;
  flex: 0 0 auto;
  border-radius: 2px;
  background: #1F6FB8;
}
.positioning-combo-legend-oi::before {
  background: rgba(31, 111, 184, 0.36);
}

@media (max-width: 1024px) {
  .positioning-groups-grid,
  .positioning-cards-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 1024px) {
  .positioning-nav-assets-desktop .positioning-nav-asset-heading strong {
    font-size: 1rem;
    line-height: 1.2;
    text-wrap: balance;
  }
  .positioning-navigator-full .positioning-nav-card-link {
    min-height: 42px;
    padding: 9px 10px;
    font-size: 0.82rem;
    line-height: 1.35;
  }
  .positioning-navigator-full .positioning-nav-directory-header {
    display: none;
  }
  .positioning-navigator-full[data-desktop-directory-open="false"] {
    padding-block: 7px;
  }
  .positioning-navigator-full[data-desktop-directory-open="false"]
    .positioning-nav-family-directory,
  .positioning-navigator-full[data-desktop-directory-open="false"]
    .positioning-nav-descriptor,
  .positioning-navigator-full[data-desktop-directory-open="false"]
    .positioning-nav-attention,
  .positioning-navigator-full[data-desktop-directory-open="false"]
    .positioning-nav-count {
    display: none;
  }
  .positioning-navigator-full[data-desktop-directory-open="false"]
    .positioning-nav-asset-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 8px;
    text-align: center;
  }
  .positioning-navigator-full[data-desktop-directory-open="false"]
    .positioning-nav-asset-heading {
    justify-content: center;
  }
}

@media (max-width: 1023px) {
  .positioning-navigator {
    position: static;
    padding: 8px;
  }
  .positioning-nav-assets-desktop {
    display: none;
  }
  .positioning-nav-assets-full-mobile {
    display: grid;
  }
  .positioning-nav-assets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .positioning-nav-asset-link:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
  .positioning-nav-card-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .positioning-mobile-nav {
    position: sticky;
    top: var(--positioning-header-height, 62px);
    z-index: 20;
    display: grid;
    min-width: 0;
    border: 1px solid var(--border-subtle);
    border-top: 3px solid var(--brand-primary);
    background: rgba(255, 255, 255, 0.98);
  }
  .positioning-mobile-nav-bar {
    min-height: 54px;
    padding: 8px 10px;
  }
  .positioning-mobile-location {
    display: grid;
    gap: 2px;
    min-width: 0;
  }
  .positioning-mobile-current {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--text-accent);
    font-size: 0.75rem;
    line-height: 1.2;
  }
  .positioning-mobile-directory-trigger,
  .positioning-mobile-directory-close {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--card-radius);
    background: var(--panel-subtle);
    color: var(--brand-primary);
    font-size: 0.72rem;
    font-weight: 800;
    cursor: pointer;
  }
  .positioning-mobile-directory {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 0 8px 8px;
    border-top: 1px solid var(--border-subtle);
    background: #FFFFFF;
  }
  .positioning-mobile-directory-heading {
    padding-top: 8px;
  }
  .positioning-mobile-directory .positioning-nav-asset-link {
    min-height: 74px;
  }
}

@media (max-width: 760px) {
  .positioning-group-chart {
    display: none;
  }
  .positioning-card-sparkline {
    display: block;
  }
  .positioning-card {
    grid-template-rows: auto auto auto auto;
    min-height: 0;
  }
  .positioning-summary-bar {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    padding: 8px;
  }
  .positioning-summary-item {
    min-height: 24px;
    padding: 4px 4px;
  }
  .positioning-summary-item span {
    font-size: 0.62rem;
  }
  .positioning-family-header,
  .positioning-group-header,
  .positioning-card-header {
    display: grid;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  .positioning-nav-card-links {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  .positioning-navigator,
  .positioning-mobile-nav,
  .positioning-mobile-directory {
    transition: none !important;
  }
}

@media (max-width: 1024px) {
  .container { padding: 0 var(--space-lg); }
  .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dl-hero {
    grid-template-columns: 1fr;
    gap: 24px;
    min-height: 0;
    padding-top: 22px;
  }
  .dl-hero h1 {
    max-width: 14ch;
    font-size: 3.15rem;
  }
  .dl-hero .subtitle { max-width: 56ch; }
  .hero-core-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .hero-grid { grid-template-columns: 1fr; }
  .indicator-detail-grid { grid-template-columns: 1fr; }
  .reserve-buffer-detail-grid { grid-template-columns: 1fr; }
  .reserve-buffer-explain-panel { grid-template-columns: 1fr; }
  .correlation-grid { grid-template-columns: 1fr; }
  .macro-regime-layout { grid-template-columns: 1fr; }
  .asset-mapping-freshness-content {
    grid-template-columns: 1fr;
  }
  .asset-mapping-freshness-meta {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .asset-mapping-page-panel .macro-regime-asset-grid {
    grid-template-columns: 1fr;
  }
  .macro-regime-asset-matrix-view {
    grid-template-columns: 1fr;
  }
  .asset-mapping-controls-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .asset-mapping-controls-secondary {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .checks-indicators-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .checks-card-featured {
    grid-column: span 2;
  }
  .asset-mapping-result-count {
    min-width: 0;
    text-align: left;
  }
  .macro-regime-asset-grid {
    grid-template-columns: 1fr;
  }
  .macro-regime-history-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .macro-regime-pillar-row {
    grid-template-columns: minmax(132px, 0.65fr) minmax(160px, 1fr);
  }
  .macro-regime-pillar-counts,
  .macro-regime-pillar-driver {
    grid-column: 1 / -1;
  }
  h1 { font-size: 1.875rem; }
}

@media (max-width: 1200px) {
  .asset-mapping-page-panel .macro-regime-asset-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 641px) {
  html[data-locale="zh"] .asset-mapping-page-panel .macro-regime-asset-head {
    grid-template-columns: minmax(112px, 1fr) max-content;
  }
  html[data-locale="zh"] .asset-mapping-page-panel .macro-regime-asset-badges {
    flex-wrap: nowrap;
  }
}

@media (max-width: 760px) {
  .asset-mapping-freshness-summary {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .asset-mapping-freshness-summary .asset-mapping-freshness-detail,
  .asset-mapping-freshness-summary .asset-mapping-freshness-status {
    grid-column: 2;
    justify-self: start;
  }
  .asset-mapping-freshness-sources,
  .asset-mapping-freshness-indicators {
    grid-template-columns: 1fr;
  }
  .asset-mapping-freshness-indicator {
    grid-template-columns: 1fr;
  }
  .asset-mapping-freshness-indicator-meta {
    justify-content: flex-start;
  }
  .asset-mapping-page-panel .macro-regime-asset-grid {
    grid-template-columns: 1fr;
  }
  .asset-mapping-controls-row {
    grid-template-columns: 1fr;
  }
  .macro-regime-state-vector {
    grid-template-columns: 1fr;
  }
  .macro-regime-state-card-head {
    grid-template-columns: 1fr;
  }
  .macro-regime-state-card-meta {
    align-items: flex-start;
  }
  .checks-indicators-grid,
  .checks-pending-strip {
    grid-template-columns: 1fr;
  }
  .checks-module-header {
    grid-template-columns: 1fr;
  }
  .checks-module-counts {
    justify-content: flex-start;
  }
  .checks-card-featured {
    grid-column: span 1;
  }
}

@media (min-width: 700px) and (max-width: 1024px) {
  main { padding-top: 24px; }
  .hero {
    margin-bottom: 18px;
  }
  .dl-hero {
    grid-template-columns: minmax(0, 0.98fr) minmax(300px, 0.82fr);
    align-items: stretch;
    gap: 18px;
    padding-top: 12px;
    padding-bottom: 10px;
  }
  .hero-copy {
    gap: 9px;
    min-width: 0;
  }
  .dl-hero h1 {
    max-width: none;
    font-size: 2.18rem;
    line-height: 0.98;
  }
  .dl-hero .subtitle {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-width: 48ch;
    font-size: 0.92rem;
    line-height: 1.42;
  }
  .hero .eyebrow {
    font-size: 0.62rem;
    letter-spacing: 0.12em;
  }
  .hero .eyebrow::before {
    width: 28px;
  }
  .hero-summary-grid {
    margin-top: 6px;
  }
  .hero-summary-cell {
    min-height: 50px;
    padding: 8px 11px;
  }
  .hero-summary-cell .label {
    font-size: 0.62rem;
  }
  .hero-summary-cell .value {
    margin-top: 6px;
    font-size: 0.98rem;
    line-height: 1.12;
  }
  .hero-summary-cell .meta {
    display: none;
  }
  .hero-actions {
    gap: var(--space-md);
    margin-top: 4px;
  }
  .primary-action {
    min-height: 36px;
    padding: 0 16px;
    font-size: var(--font-size-sm);
  }
  .secondary-action {
    font-size: var(--font-size-sm);
  }
  .hero-meta {
    display: none;
  }
  .hero-core-card {
    align-self: stretch;
    padding: 12px;
  }
  .hero-core-card .card-header {
    margin-bottom: 8px;
  }
  .hero-core-card .card-subtitle {
    display: none;
  }
  .hero-core-card .card-title {
    font-size: 0.94rem;
  }
  .hero-core-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
  }
  .hero-mini-card {
    min-height: 52px;
    padding: 7px 7px 5px;
  }
  .hero-mini-card .mini-name {
    font-size: 0.64rem;
  }
  .hero-mini-card .mini-spark {
    height: 19px;
  }
  .section {
    margin-bottom: 30px;
  }
  .section-header {
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 4px;
  }
  .section-header h2 {
    font-size: 1.35rem;
  }
  #indicators-section .section-kicker {
    display: none;
  }
  .section-header .meta {
    font-size: 0.76rem;
  }
  .tier-block {
    margin-bottom: 20px;
  }
  .tier-heading {
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 30px;
    margin-bottom: 8px;
    padding-bottom: 6px;
  }
  .tier-heading p {
    display: none;
  }
  .hero-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  .dli-status-card,
  .takeaway-card {
    gap: 8px;
    padding: 14px;
  }
  .dli-status-header,
  .takeaway-card .card-header {
    margin-bottom: 0;
  }
  .dli-condition-line {
    gap: 10px;
  }
  .dli-current-row {
    padding-bottom: 8px;
  }
  .dli-status-card .regime-name {
    font-size: 1.72rem;
  }
  .dli-state-meta {
    display: none;
  }
  .dli-window-toggle {
    justify-self: end;
  }
  .dli-score-box {
    justify-content: flex-end;
    min-width: 0;
    padding-top: 2px;
  }
  .dli-score-box .score-number {
    font-size: 1.86rem;
  }
  .dli-band-block {
    gap: 7px;
  }
  .dli-band {
    height: 8px;
  }
  .dli-band-marker {
    width: 15px;
    height: 15px;
    border-width: 2px;
  }
  .dli-band-labels {
    display: none;
  }
  .dli-metric-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .dli-metric {
    min-height: 40px;
    padding: 7px 8px;
    border-right: 1px solid var(--border-subtle);
    border-bottom: none;
  }
  .dli-metric:last-child { border-right: none; }
  .dli-metric strong {
    margin-top: 3px;
    font-size: 0.74rem;
  }
  .takeaway-card .takeaway-summary {
    padding: 9px 10px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 0.88rem;
    line-height: 1.42;
  }
  .takeaway-card .takeaway-callout {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
  }
  .whatchanged-heading {
    gap: var(--space-sm);
    padding-top: 8px;
  }
  .whatchanged-heading small {
    font-size: 0.62rem;
  }
  .whatchanged-row {
    grid-template-columns: 26px minmax(92px, 1fr) auto minmax(64px, auto);
    min-height: 32px;
    padding: 5px 0;
    font-size: 0.78rem;
  }
  .whatchanged-row:nth-child(n+4) {
    display: none;
  }
  .takeaway-card .takeaway-highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .takeaway-card .highlight {
    min-height: 50px;
    padding: 8px 8px;
    border-right: 1px solid var(--border-subtle);
    border-bottom: none;
  }
  .takeaway-card .highlight:last-child { border-right: none; }
  .takeaway-card .highlight .label {
    font-size: 0.65rem;
  }
  .takeaway-card .highlight .value {
    font-size: 0.92rem;
  }
  .liquidity-row {
    grid-template-columns: 110px 1fr 94px;
    gap: 14px;
  }
  .liquidity-axis-row {
    grid-template-columns: 110px 1fr 94px;
    gap: 14px;
  }
  .driver-row {
    grid-template-columns: 150px 1fr 108px;
    gap: 14px;
  }
  .drivers-axis-row {
    grid-template-columns: 150px 1fr 108px;
    gap: 14px;
  }
  .correlation-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .correlation-block {
    padding: 12px;
  }
  .correlation-block .stat-row {
    font-size: 0.78rem;
  }
  .indicator-detail-grid {
    grid-template-columns: minmax(0, 1fr) 250px;
    gap: 14px;
  }
  .stats-card {
    padding: 16px;
  }
  .reserve-buffer-detail-card { padding: 16px; }
  .reserve-buffer-reading-value { font-size: 2.25rem; }
  .stat-list .stat {
    grid-template-columns: 1fr;
    gap: 3px;
    min-height: 0;
    padding: 9px 0;
  }
  .stat-list .stat .value {
    text-align: left;
    font-size: 0.98rem;
  }
  .chart-card {
    padding: 16px;
  }
  .chart-toolbar button {
    padding: 0 9px;
  }
}
@media (max-width: 640px) {
  :root {
    --asset-mapping-status-nav-height: 123px;
  }
  .container { padding: 0 var(--space-md); }
  main { padding: 18px 0 var(--space-xl); }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .section-header {
    align-items: flex-start;
  }
  .section-header .meta {
    max-width: 42%;
    white-space: normal;
    text-align: right;
    line-height: 1.3;
  }
  .section-header-actions {
    max-width: 48%;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
  }
  .header-main-inner {
    min-height: 0;
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
    flex-wrap: wrap;
    gap: var(--space-sm) var(--space-md);
  }
  .site-header .brand {
    width: calc(100% - 110px);
    min-height: 30px;
  }
  .brand-mark {
    width: 28px;
    height: 28px;
    font-size: 0.8rem;
  }
  .brand-word { font-size: 1.02rem; }
  .brand-muted { font-size: 0.78rem; }
  .header-status {
    order: 3;
    width: 100%;
    margin-left: 0;
    font-size: 0.62rem;
    letter-spacing: 0.12em;
  }
  .primary-nav {
    order: 2;
    width: 100%;
    gap: var(--space-md);
    overflow-x: auto;
  }
  .primary-nav a,
  .indicator-menu summary {
    padding: 6px 0 8px;
    white-space: nowrap;
  }
  .indicator-menu-panel {
    position: fixed;
    left: var(--space-md);
    right: var(--space-md);
    top: 116px;
    width: auto;
    min-width: 0;
    max-height: calc(100vh - 132px);
    grid-template-columns: 1fr;
    overflow-y: auto;
  }
  .indicator-menu-group-wide {
    grid-template-columns: 1fr;
  }
  .checks-theme-nav-current {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 7px 12px;
    cursor: pointer;
    list-style: none;
  }
  .checks-theme-nav {
    top: max(var(--checks-site-header-height, 116px), 88px);
  }
  .checks-module {
    scroll-margin-top: calc(max(var(--checks-site-header-height, 116px), 88px) + var(--checks-theme-nav-height, 44px) + 16px);
  }
  .checks-theme-nav-current::-webkit-details-marker { display: none; }
  .checks-theme-nav-current-label {
    grid-column: 1 / -1;
    color: var(--text-muted);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
  }
  .checks-theme-nav-current strong {
    min-width: 0;
    overflow: hidden;
    color: var(--text-accent);
    font-size: 0.84rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .checks-theme-nav-current [data-bind="checks-theme-position"] {
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: 0.72rem;
  }
  .checks-theme-nav-chevron { transition: transform 160ms ease; }
  .checks-theme-nav-disclosure[open] .checks-theme-nav-chevron { transform: rotate(180deg); }
  .checks-theme-nav-disclosure[open] > .checks-theme-nav-list {
    display: grid;
    max-height: calc(100vh - var(--checks-site-header-height, 116px) - 72px);
    overflow-y: auto;
    border-top: 1px solid var(--border-subtle);
  }
  .checks-theme-nav-link {
    width: 100%;
    border-bottom: 0;
    border-left: 2px solid transparent;
  }
  .checks-theme-nav-link[aria-current="location"] {
    border-bottom-color: transparent;
    border-left-color: var(--brand-primary);
  }
  .header-actions {
    position: absolute;
    top: var(--space-sm);
    right: var(--space-md);
  }
  .dl-hero {
    gap: 14px;
    padding: 12px 0 16px;
  }
  .dl-hero h1 {
    max-width: none;
    font-size: 2rem;
    line-height: 1;
  }
  .dl-hero .subtitle {
    display: block;
    overflow: visible;
    font-size: 0.94rem;
    line-height: 1.4;
  }
  .hero .eyebrow {
    font-size: 0.62rem;
    letter-spacing: 0.1em;
  }
  .hero .eyebrow::before {
    width: 24px;
  }
  .hero-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 4px;
  }
  .hero-summary-cell {
    min-height: 0;
    padding: 8px 8px;
    border-right: 1px solid var(--border-subtle);
    border-bottom: none;
  }
  .hero-summary-cell:first-child { padding-left: 0; }
  .hero-summary-cell:last-child {
    border-right: none;
    border-bottom: none;
  }
  .hero-summary-cell .label {
    font-size: 0.58rem;
    letter-spacing: 0.05em;
  }
  .hero-summary-cell .value {
    margin-top: 5px;
    font-size: 0.88rem;
    line-height: 1.15;
  }
  .hero-actions {
    align-items: stretch;
    flex-direction: row;
    gap: var(--space-sm);
    margin-top: 4px;
  }
  .primary-action { width: 100%; justify-content: center; }
  .secondary-action {
    display: none;
  }
  .hero-core-card {
    padding: 12px;
  }
  .hero-core-card .card-header {
    margin-bottom: 8px;
  }
  .hero-core-card .card-subtitle {
    display: none;
  }
  .hero-core-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
  }
  .hero-mini-card {
    min-height: 48px;
    padding: 6px 5px;
  }
  .hero-mini-card .mini-name {
    font-size: 0.58rem;
    letter-spacing: 0.03em;
  }
  .hero-mini-card .mini-spark {
    height: 18px;
    margin-top: 4px;
  }
  .dli-status-card,
  .takeaway-card {
    gap: 8px;
    padding: 14px;
  }
  .dli-condition-profile div {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
  .dli-condition-profile strong {
    text-align: left;
  }
  .dli-condition-line {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-sm);
    padding: 0;
  }
  .dli-current-row {
    padding-bottom: 8px;
  }
  .dli-window-toggle {
    justify-self: end;
  }
  .dli-status-card .regime-name {
    font-size: 1.52rem;
  }
  .dli-score-box {
    justify-content: flex-end;
    min-width: 0;
    padding-top: 2px;
  }
  .dli-band-labels {
    display: none;
  }
  .dli-metric-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .dli-metric {
    min-height: 40px;
    padding: 7px 7px;
    border-right: 1px solid var(--border-subtle);
    border-bottom: none;
  }
  .dli-metric:last-child {
    border-right: none;
    border-bottom: none;
  }
  .dli-metric span {
    font-size: 0.58rem;
    letter-spacing: 0.05em;
  }
  .dli-metric strong {
    font-size: 0.7rem;
  }
  .tier-heading {
    grid-template-columns: 1fr;
    gap: var(--space-xs);
    align-items: start;
  }
  .takeaway-card .takeaway-highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .takeaway-card .highlight {
    min-height: 46px;
    padding: 7px 7px;
    border-right: 1px solid var(--border-subtle);
    border-bottom: none;
  }
  .takeaway-card .highlight:last-child {
    border-right: none;
    border-bottom: none;
  }
  .whatchanged-heading {
    padding-top: 7px;
  }
  .whatchanged-heading small {
    display: none;
  }
  .whatchanged-row {
    grid-template-columns: 24px minmax(0, 1fr) auto minmax(56px, auto);
    min-height: 32px;
    padding: 5px 0;
    font-size: 0.78rem;
  }
  .whatchanged-row:nth-child(n+4) {
    display: none;
  }
  .liquidity-row { grid-template-columns: 90px 1fr 80px; gap: var(--space-sm); }
  .liquidity-axis-row { grid-template-columns: 90px 1fr 80px; gap: var(--space-sm); }
  .driver-row { grid-template-columns: 120px 1fr 80px; gap: var(--space-sm); font-size: var(--font-size-xs); }
  .drivers-axis-row { grid-template-columns: 120px 1fr 80px; gap: var(--space-sm); }
  .hero h1 { font-size: 1.625rem; }
  .hero.dl-hero h1 { font-size: 2rem; }
  .hero .subtitle { font-size: 0.94rem; }
  .dli-score-box .score-number { font-size: 1.82rem; }
  .reserve-buffer-hero .subtitle { white-space: normal; }
  .reserve-buffer-detail-card { padding: 14px; }
  .reserve-buffer-reading-value { font-size: 2rem; }
  .takeaway-card .takeaway-summary,
  .takeaway-card .takeaway-text {
    padding: 9px 10px;
    display: block;
    overflow: visible;
    font-size: 0.9rem;
    line-height: 1.4;
  }
  .indicator-card .ic-value { font-size: 1.625rem; }
  .section { margin-bottom: 24px; }
  .hero { margin-bottom: 18px; }

  /* Macro Tape narrow viewport: stack the row into two lines */
  .macro-tape-row {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "label  badge"
      "value  value"
      "d1m    d3m";
    row-gap: 8px;
    column-gap: var(--space-sm);
    padding: 12px 10px;
  }
  .macro-tape-cell-label  { grid-area: label; }
  .macro-tape-cell-value  { grid-area: value; }
  .macro-tape-cell-delta-1m { grid-area: d1m; }
  .macro-tape-cell-delta-3m { grid-area: d3m; }
  .macro-tape-cell-badge  { grid-area: badge; align-items: flex-end; }
  .macro-tape-value { font-size: 1.32rem; }
  .macro-tape-header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-sm);
  }
  .macro-regime-pillar-strip {
    grid-template-columns: 1fr 1fr;
  }
  .macro-regime-driver-mini-list {
    grid-template-columns: 1fr;
  }
  .macro-regime-compact-title {
    font-size: 1.18rem;
  }
  .macro-regime-hero {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
  .macro-regime-hero h1 {
    font-size: 1.75rem;
  }
  .macro-regime-hero-side {
    align-items: flex-start;
  }
  .macro-regime-hero-side .macro-regime-pillar-strip {
    min-width: 0;
  }
  .macro-regime-assets-entry {
    grid-template-columns: 1fr;
    align-items: flex-start;
  }
  .asset-mapping-page-hero {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .macro-regime-assets-entry {
    flex-direction: column;
  }
  .asset-mapping-page-meta {
    justify-content: flex-start;
  }
  .asset-mapping-controls-panel {
    position: fixed;
    top: max(116px, 88px);
    right: 16px;
    left: 16px;
    width: auto;
    max-height: calc(100vh - 136px);
  }
  .asset-mapping-status-nav {
    top: max(116px, 88px);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }
  .asset-mapping-status-grid {
    grid-template-columns: repeat(8, minmax(104px, 1fr));
    grid-template-rows: repeat(2, auto);
    grid-auto-flow: column;
    width: max-content;
  }
  .asset-mapping-status-link {
    min-height: 44px;
    touch-action: manipulation;
  }
  .asset-mapping-page-panel .macro-regime-asset-card {
    scroll-margin-top: calc(max(116px, 88px) + var(--asset-mapping-status-nav-height) + 16px);
  }
  .asset-mapping-page-panel .macro-regime-asset-grid {
    grid-template-columns: 1fr;
  }
  .macro-regime-pillar-row {
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .macro-regime-zero-bar {
    height: 12px;
  }
  .macro-regime-signal-row {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .macro-regime-signal-values {
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .macro-regime-signal-row .macro-regime-compact-sparkline {
    grid-column: 1 / -1;
  }
  .macro-regime-asset-head {
    flex-direction: column;
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .macro-regime-asset-badges {
    justify-content: flex-start;
  }
  .macro-regime-asset-evidence,
  .asset-mapping-page-panel .macro-regime-asset-evidence {
    grid-template-columns: 1fr;
  }
  .macro-regime-asset-evidence-chip .macro-regime-asset-evidence-topline {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .macro-regime-asset-evidence-chip .macro-regime-asset-evidence-meta-row {
    grid-template-columns: auto auto minmax(0, 1fr);
  }
  .macro-regime-asset-evidence-chip .macro-regime-asset-evidence-date {
    justify-self: end;
    text-align: right;
  }
  .macro-regime-history-summary {
    grid-template-columns: 1fr;
  }
  .macro-regime-history-timeline {
    padding-left: 0;
  }
  .macro-regime-history-point {
    flex-basis: 156px;
    padding-top: 22px;
  }
  .macro-regime-history-card {
    min-height: 0;
    margin: 0 5px;
  }
  .macro-regime-history-transition {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}

/* ─── Clone track badge ─────────────────────────────────────────────── */
.track-badge {
  font-size: 0.65rem;
  padding: 0.15em 0.5em;
  border-radius: 3px;
  background: var(--accent, #4a9eff);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  vertical-align: middle;
  margin-left: 0.5em;
}

@media (prefers-reduced-motion: reduce) {
  .checks-theme-nav,
  .checks-theme-nav-link,
  .checks-theme-nav-chevron { transition: none; }
}

@media (max-width: 1024px) {
  .history-chart-card .card-header {
    align-items: flex-start;
    gap: 12px;
  }
  .history-chart-card .chart-toolbar {
    display: grid;
    grid-template-columns: repeat(3, minmax(48px, 1fr));
    width: min(252px, 100%);
    flex: 0 0 auto;
  }
  .history-chart-card .chart-toolbar button {
    min-width: 0;
    padding: 0 6px;
    border-right: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
    letter-spacing: 0;
  }
  .history-chart-card .chart-toolbar button:nth-child(3n) {
    border-right: none;
  }
  .history-chart-card .chart-toolbar button:nth-last-child(-n + 3) {
    border-bottom: none;
  }
  .history-regime-legend {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
@media (max-width: 640px) {
  .history-chart-card .card-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .history-chart-card .chart-toolbar {
    width: 100%;
  }
  .history-chart-area {
    min-height: 380px;
  }
  .regime-band-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .regime-band-card {
    min-width: 0;
    padding: 12px;
  }
  .regime-band-threshold {
    font-size: var(--font-size-md);
    line-height: 1.25;
  }
  .regime-band-share {
    font-size: 0.78rem;
    line-height: 1.25;
  }
}
.positioning-check-panel {
  display: grid;
  gap: 8px;
  min-height: 190px;
  padding: 9px;
  border: 1px solid var(--border-subtle);
  background: #FFFFFF;
}
.positioning-check-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.positioning-check-band-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.1;
}
.positioning-check-band-legend span,
.positioning-selector-chip {
  min-width: 0;
  padding: 4px 6px;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  background: var(--panel-subtle);
}
.positioning-check-band-elevated {
  border-color: rgba(15, 79, 132, 0.22) !important;
  background: var(--color-info-soft) !important;
  color: var(--color-info);
}
.positioning-check-band-extreme {
  border-color: rgba(146, 64, 14, 0.24) !important;
  background: var(--color-warning-soft) !important;
  color: var(--color-warning);
}
.positioning-check-groups,
.positioning-selector-groups,
.positioning-check-meta {
  display: grid;
  gap: 7px;
}
.positioning-check-group,
.positioning-selector-group {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.positioning-check-group-title {
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 850;
  line-height: 1.1;
  text-transform: uppercase;
}
.positioning-check-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 7px;
  align-items: center;
  min-width: 0;
  padding: 6px 7px;
  border: 1px solid var(--border-subtle);
  border-left: 3px solid rgba(71, 85, 105, 0.34);
  border-radius: 6px;
  background: #FFFFFF;
  color: var(--text-secondary);
  font-size: 0.72rem;
  line-height: 1.15;
  text-decoration: none;
}
.positioning-check-row:hover,
.positioning-check-row:focus-visible,
.positioning-selector-chip:hover,
.positioning-selector-chip:focus-visible {
  border-color: rgba(31, 111, 184, 0.34);
  text-decoration: none;
}
.positioning-check-row-elevated {
  border-left-color: var(--color-info);
}
.positioning-check-row-extreme {
  border-left-color: var(--color-warning);
}
.positioning-check-member,
.positioning-check-direction,
.positioning-check-z,
.positioning-selector-chip {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.positioning-check-direction {
  color: var(--text-muted);
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
}
.positioning-check-z {
  color: var(--text-accent);
  font-family: var(--font-mono);
  font-size: 0.76rem;
  font-variant-numeric: tabular-nums;
}
.positioning-selector-members {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.positioning-selector-chip {
  max-width: 100%;
  color: var(--brand-primary);
  font-size: 0.7rem;
  font-weight: 750;
  text-decoration: none;
}
.positioning-selector-chip-muted {
  color: var(--text-muted);
  opacity: 0.68;
}

/* Overview homepage */
.overview-page {
  padding-top: 28px;
}

.overview-hero {
  margin-bottom: 18px;
  padding: 24px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--card-radius);
  background: var(--bg-secondary);
  box-shadow: var(--card-shadow);
}

.overview-hero-header {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  justify-content: space-between;
}

.overview-hero-title {
  min-width: 0;
}

.overview-hero h1 {
  max-width: 850px;
  margin-top: 8px;
  font-size: clamp(2rem, 3.1vw, 2.55rem);
  font-weight: 780;
  line-height: 1.08;
}

.overview-hero .subtitle {
  max-width: 780px;
  margin-top: 10px;
  color: var(--text-secondary);
}

.overview-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  max-width: 420px;
  padding-top: 2px;
}

.overview-stat-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 20px;
  border-top: 1px solid var(--border-subtle);
}

.overview-stat {
  --overview-stat-color: var(--text-accent);
  padding: 14px 18px 0 0;
}

.overview-stat span {
  display: block;
  color: var(--text-muted);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.overview-stat strong {
  display: block;
  margin-top: 6px;
  color: var(--overview-stat-color);
  font-size: 1.32rem;
  line-height: 1.15;
}

.overview-stat--regime {
  --overview-stat-color: #0f6b45;
}

.overview-stat--regime[data-state="defensive"],
.overview-stat--regime[data-state="stress"] {
  --overview-stat-color: #b45309;
}

.overview-stat--liquidity {
  --overview-stat-color: var(--text-accent);
}

.overview-stat--liquidity[data-state="supportive"] {
  --overview-stat-color: #047857;
}

.overview-stat--liquidity[data-state="weak"] {
  --overview-stat-color: #b45309;
}

.overview-stat--asset {
  --overview-stat-color: var(--text-accent);
}

.overview-stat--asset[data-state="evidence"] {
  --overview-stat-color: #0f766e;
}

.overview-stat--positioning {
  --overview-stat-color: #a16207;
}

.overview-module-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.overview-modules-section .section-header {
  align-items: end;
  margin-bottom: 18px;
}

.overview-modules-section .section-header h2 {
  margin-top: 4px;
  font-size: 1.48rem;
  font-weight: 780;
  line-height: 1.12;
}

.overview-module-card {
  display: flex;
  flex-direction: column;
  min-height: 282px;
  padding: 16px;
  border: 1px solid rgba(15, 107, 69, 0.24);
  border-radius: var(--card-radius);
  background: linear-gradient(180deg, #ffffff 0%, #f1f6f4 100%);
  color: var(--text-primary);
  text-decoration: none;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.overview-module-card:hover,
.overview-module-card:focus-visible {
  border-color: rgba(15, 107, 69, 0.72);
  background: linear-gradient(180deg, #ffffff 0%, #e5f2ed 100%);
  box-shadow: 0 12px 26px rgba(15, 107, 69, 0.14), 0 2px 8px rgba(15, 23, 42, 0.08);
  text-decoration: none;
  transform: translateY(-2px);
}

.overview-module-card:focus-visible {
  outline: 2px solid rgba(15, 107, 69, 0.55);
  outline-offset: 3px;
}

.overview-module-card:hover h2,
.overview-module-card:focus-visible h2,
.overview-module-card:hover .overview-card-action,
.overview-module-card:focus-visible .overview-card-action {
  color: #075f3d;
}

.overview-module-card:hover .overview-card-action span:last-child,
.overview-module-card:focus-visible .overview-card-action span:last-child {
  border-color: rgba(15, 107, 69, 0.48);
  background: rgba(15, 107, 69, 0.16);
  transform: translateX(2px);
}

.overview-module-card h2 {
  min-height: 2.55em;
  margin-top: 3px;
  font-size: 1.08rem;
  line-height: 1.18;
  white-space: normal;
  overflow-wrap: normal;
}

.overview-module-card p {
  margin-top: 10px;
  color: var(--text-secondary);
  font-size: 0.86rem;
}

.overview-data-status {
  display: inline-block;
  margin-top: 8px;
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.overview-data-status[hidden] {
  display: none;
}

.overview-module-card > p:first-of-type {
  min-height: 56px;
}

.overview-module-card > p:nth-of-type(2) {
  margin-bottom: 16px;
}

.overview-score {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-top: 16px;
  color: var(--text-accent);
}

.overview-score strong {
  font-size: 2rem;
  line-height: 1;
}

.overview-score span {
  color: var(--text-muted);
  font-size: 0.82rem;
}

.overview-score--split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.overview-score--split > div:last-child {
  text-align: right;
}

.overview-score--split strong {
  font-size: 1.76rem;
}

.overview-score--split > div:last-child strong {
  font-size: 1.52rem;
}

.overview-score-labels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-height: 18px;
  margin-top: 8px;
  margin-bottom: 16px;
  color: var(--text-muted);
  font-size: 0.72rem;
  line-height: 1.15;
}

.overview-score-labels span {
  overflow-wrap: normal;
  white-space: nowrap;
}

.overview-score-labels span:last-child {
  text-align: right;
}

.overview-card-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
  color: var(--brand-primary);
  font-size: 0.98rem;
  font-weight: 760;
  text-decoration: none;
}

.overview-card-action span:last-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  border: 1px solid rgba(15, 107, 69, 0.22);
  border-radius: 999px;
  background: rgba(15, 107, 69, 0.08);
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.overview-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: 16px;
}

.overview-bias-score {
  padding: 14px;
  border: 1px solid rgba(31, 95, 153, 0.18);
  border-radius: var(--card-radius);
  background: #f4f6fb;
}

.overview-bias-score strong {
  display: block;
  color: var(--text-accent);
  font-size: 1.22rem;
  line-height: 1.15;
}

.overview-bias-score span {
  display: block;
  margin-top: 6px;
  color: var(--text-secondary);
  font-size: 0.84rem;
}

.overview-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.overview-chip {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid var(--border-subtle);
  border-radius: 999px;
  color: var(--text-secondary);
  background: var(--bg-tertiary);
  font-size: 0.78rem;
  font-weight: 650;
}

.overview-mini-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.82rem;
}

.overview-mini-table th:nth-child(1),
.overview-mini-table td:nth-child(1) {
  width: 28%;
}

.overview-mini-table th:nth-child(2),
.overview-mini-table td:nth-child(2) {
  width: 18%;
  white-space: nowrap;
}

.overview-mini-table th:nth-child(3),
.overview-mini-table td:nth-child(3) {
  width: 54%;
}

.overview-mini-table th,
.overview-mini-table td {
  padding: 9px 8px;
  border-top: 1px solid var(--border-subtle);
  text-align: left;
  vertical-align: top;
}

.overview-mini-table th {
  color: var(--text-muted);
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.overview-change-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.overview-change-list li {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid var(--border-subtle);
}

.overview-change-list time {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 0.72rem;
}

.overview-change-list strong {
  display: block;
  color: var(--text-accent);
  font-size: 0.86rem;
}

.overview-change-list span {
  display: block;
  margin-top: 2px;
  color: var(--text-secondary);
  font-size: 0.8rem;
}

@media (max-width: 1120px) {
  .overview-module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .overview-two-col {
    grid-template-columns: 1fr;
  }
  .overview-hero-header {
    display: block;
  }
  .overview-hero-actions {
    justify-content: flex-start;
    max-width: none;
    margin-top: 12px;
  }
  .overview-stat-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .overview-page {
    padding-top: 18px;
  }
  .overview-hero h1 {
    font-size: 1.75rem;
  }
  .overview-stat-row,
  .overview-module-grid {
    grid-template-columns: 1fr;
  }
  .overview-module-card h2 {
    white-space: normal;
  }
}


/* Homepage cockpit overrides */
.overview-page { padding-top: 26px; }
.overview-hero { margin-bottom: 30px; padding: 18px 26px 24px; border: 1px solid var(--border-subtle); border-left: 3px solid var(--regime-mildly-tight); border-radius: 8px; background: var(--bg-secondary); box-shadow: var(--card-shadow); }
.overview-hero-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 14px; margin-bottom: 18px; border-bottom: 1px solid var(--border-subtle); }
.overview-hero-body { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, 1fr); gap: 34px; align-items: start; }
.overview-hero-copy { min-width: 0; }
.overview-regime-line { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 10px; }
.overview-regime-line span { color: var(--text-secondary); font-size: 1.5rem; font-weight: 700; }
.overview-regime-line strong, .overview-spectrum-title strong { display: inline-flex; align-items: center; min-height: 36px; padding: 3px 14px; border-radius: 7px; color: var(--color-info); background: var(--color-info-soft); font-size: 1.5rem; font-weight: 820; line-height: 1.05; }
.overview-regime-line em { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 9px; border-radius: 999px; background: rgba(107, 114, 128, 0.12); color: var(--text-secondary); font-size: 0.72rem; font-style: normal; font-weight: 800; }
.overview-hero .subtitle { max-width: 620px; margin-top: 10px; color: var(--text-secondary); font-size: 0.94rem; }
.overview-spectrum-title { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin-bottom: 16px; color: var(--text-secondary); font-size: 1.5rem; font-weight: 700; line-height: 1.4; }
.overview-spectrum-pair { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.overview-spectrum-title strong.overview-band--good { color: var(--color-easing); background: var(--color-easing-soft); }
.overview-spectrum-title strong.overview-band--warn { color: var(--regime-mildly-tight); background: rgba(180, 83, 9, 0.12); }
.overview-spectrum-title strong.overview-band--neutral { color: var(--color-info); background: var(--color-info-soft); }
.overview-spectrum-sep { margin: 0 5px; color: var(--border-medium); }
.overview-spectrum-labels, .overview-spectrum-ticks { display: flex; justify-content: space-between; color: var(--text-muted); font-size: 0.7rem; font-weight: 700; }
.overview-spectrum-labels { margin-bottom: 7px; }
.overview-spectrum-bar, .overview-mini-band { position: relative; height: 12px; border-radius: 999px; background: linear-gradient(90deg, var(--regime-loose), var(--regime-mildly-loose) 38%, var(--regime-mildly-tight) 68%, var(--regime-tight)); }
.overview-spectrum-bar i, .overview-mini-band i { position: absolute; top: 50%; left: 50%; width: 18px; height: 18px; border: 3px solid var(--text-accent); border-radius: 999px; background: #FFFFFF; box-shadow: 0 1px 4px rgba(15, 23, 42, 0.24); transform: translate(-50%, -50%); }
.overview-spectrum-ticks { margin-top: 8px; font-size: 0.66rem; font-weight: 500; }
.overview-spectrum-current { margin-top: 12px; color: var(--text-secondary); font-size: 0.8rem; text-align: center; }
.overview-spectrum-current b { font-weight: 800; }
.overview-spectrum-current b.band-warn { color: var(--regime-mildly-tight); }
.overview-spectrum-current b.band-good { color: var(--color-easing); }
.overview-spectrum-current b.band-neutral { color: var(--color-info); }
.overview-stat-row-eight { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 16px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border-subtle); }
.overview-stat { --overview-stat-color: var(--text-accent); min-width: 0; padding: 0; }
.overview-stat span:first-child { display: block; color: var(--text-muted); font-size: 0.7rem; font-weight: 760; line-height: 1.25; }
.overview-stat strong { display: block; margin-top: 6px; color: var(--overview-stat-color); font-size: 1rem; font-weight: 780; line-height: 1.16; overflow-wrap: anywhere; }
.overview-stat[data-state="supportive"] { --overview-stat-color: var(--color-easing); }
.overview-stat[data-state="weak"] { --overview-stat-color: var(--color-warning); }
.overview-stat[data-state="active"] { --overview-stat-color: #A16207; }
.overview-stat[data-state="evidence"] { --overview-stat-color: #0F766E; }
.overview-modules-section .section-header { align-items: end; margin-bottom: 14px; }
.overview-modules-section .section-header h2 { margin-top: 4px; font-size: 1.42rem; font-weight: 780; line-height: 1.12; }
.overview-module-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.overview-module-card { --overview-accent: var(--brand-primary); display: flex; flex-direction: column; grid-column: span 2; min-height: 304px; min-width: 0; padding: 18px; border: 1px solid var(--border-subtle); border-top: 3px solid var(--overview-accent); border-radius: 8px; background: #FFFFFF; color: var(--text-primary); text-decoration: none; box-shadow: var(--card-shadow); transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.overview-module-card-primary { grid-column: span 3; min-height: 336px; }
.overview-card-regime { --overview-accent: var(--brand-primary); }
.overview-card-liquidity { --overview-accent: var(--tier-a); }
.overview-card-asset { --overview-accent: var(--tier-b); }
.overview-card-positioning { --overview-accent: var(--tier-c); }
.overview-card-checks { --overview-accent: var(--tier-context); }
.overview-module-card:hover, .overview-module-card:focus-visible { border-color: rgba(15, 107, 69, 0.34); box-shadow: 0 14px 30px rgba(15, 107, 69, 0.13), 0 3px 10px rgba(15, 23, 42, 0.08); text-decoration: none; transform: translateY(-3px); }
.overview-module-card h2 { min-height: 0; margin-top: 7px; color: var(--text-accent); font-size: 1.3rem; font-weight: 800; line-height: 1.16; white-space: normal; }
.overview-module-card p { margin-top: 7px; color: var(--text-secondary); font-size: 0.83rem; line-height: 1.42; }
.overview-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.overview-badge { display: inline-flex; align-items: center; min-height: 22px; max-width: 58%; padding: 3px 9px; border-radius: 999px; background: rgba(107, 114, 128, 0.12); color: #374151; font-size: 0.7rem; font-weight: 800; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-badge-warning { background: var(--color-warning-soft); color: var(--color-warning); }
.overview-badge-good { background: var(--color-easing-soft); color: var(--color-easing); }
.overview-pillars, .overview-liquidity-viz, .overview-dist, .overview-crowding-list, .overview-theme-grid { margin-top: 14px; }
.overview-pillars { display: grid; gap: 9px; }
.overview-pillar-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) 34px; align-items: center; gap: 9px; color: var(--text-secondary); font-size: 0.78rem; }
.overview-pillar-row span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-zero-track { position: relative; height: 7px; overflow: hidden; border-radius: 999px; background: var(--bg-surface); }
.overview-zero-track::after { content: ''; position: absolute; left: 50%; top: 0; width: 1px; height: 100%; background: rgba(15, 23, 42, 0.18); }
.overview-zero-track i { position: absolute; top: 0; height: 100%; border-radius: 999px; }
.overview-pillar-row strong { font-family: var(--font-mono); font-size: 0.76rem; text-align: right; }
.overview-score { display: flex; align-items: baseline; gap: 6px; margin-top: 14px; color: var(--text-accent); }
.overview-score strong { font-size: 2rem; line-height: 1; }
.overview-score span { color: var(--text-muted); font-size: 0.82rem; }
.overview-spark { display: block; width: 100%; height: 54px; margin-top: 8px; }
.overview-mini-band { height: 8px; margin-top: 11px; }
.overview-mini-band i { width: 13px; height: 13px; border-width: 2.5px; }
.overview-liq-row { display: flex; align-items: baseline; gap: 8px; }
.overview-liq-big { font-size: 2.3rem; font-weight: 820; line-height: 1; color: var(--text-accent); }
.overview-liq-den { color: var(--text-muted); font-size: 0.85rem; }
.overview-liq-spark { flex: 1; min-width: 0; align-self: center; }
.overview-liq-spark .overview-spark { height: 46px; margin-top: 0; }
.overview-liq-tags { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; color: var(--text-secondary); font-size: 0.78rem; }
.overview-liq-tags b { margin-left: 3px; color: var(--text-accent); font-weight: 780; }
.overview-module-card p.overview-liquidity-condition-profile { margin-top: 9px; color: var(--text-secondary); font-size: 0.76rem; line-height: 1.35; overflow-wrap: anywhere; }
.overview-dist-bar { display: flex; height: 30px; overflow: hidden; border-radius: 6px; color: #FFFFFF; font-size: 0.68rem; font-weight: 760; }
.overview-dist-bar span { display: grid; min-width: 44px; place-items: center; padding: 0 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-dist-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 9px; color: var(--text-secondary); font-size: 0.74rem; }
.overview-dist-legend span { display: inline-flex; align-items: center; }
.overview-dist-legend i { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; }
.overview-dist-meta, .overview-card-detail, .overview-checks-note { margin-top: 9px; color: var(--text-muted); font-size: 0.72rem; line-height: 1.32; }
.overview-crowding-list { display: grid; gap: 7px; }
.overview-crowding-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 7px; align-items: center; color: var(--text-secondary); font-size: 0.78rem; text-decoration: none; }
.overview-crowding-row:hover { color: var(--text-accent); text-decoration: none; }
.overview-crowding-name, .overview-crowding-dir { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-crowding-dir { color: var(--text-muted); font-size: 0.68rem; font-weight: 800; text-transform: uppercase; }
.overview-crowding-row strong { color: var(--text-accent); font-family: var(--font-mono); font-size: 0.74rem; }
.overview-crowding-track { position: relative; grid-column: 1 / -1; height: 6px; overflow: hidden; border-radius: 999px; background: var(--bg-surface); }
.overview-crowding-track::after { content: ''; position: absolute; left: 50%; top: 0; width: 1px; height: 100%; background: rgba(15, 23, 42, 0.18); }
.overview-crowding-track b { position: absolute; top: 0; height: 100%; border-radius: 999px; background: var(--color-warning); }
.overview-crowding-extreme .overview-crowding-track b { background: var(--color-tightening); }
.overview-theme-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.overview-theme-tile { min-width: 0; padding: 9px 6px; border: 1px solid var(--border-subtle); border-radius: 6px; color: var(--text-secondary); background: #FFFFFF; font-size: 0.7rem; text-align: center; text-decoration: none; transition: background 140ms ease, border-color 140ms ease; }
.overview-theme-tile > span[aria-hidden] { display: block; width: 9px; height: 9px; margin: 0 auto 5px; border-radius: 50%; background: var(--color-easing); }
.overview-theme-awaiting > span[aria-hidden] { background: var(--color-warning); }
.overview-theme-pending > span[aria-hidden] { background: var(--color-neutral); }
.overview-theme-tile strong { display: block; min-width: 0; font-weight: 750; line-height: 1.2; white-space: normal; overflow-wrap: anywhere; }
.overview-checks-count { margin-top: 10px; color: var(--text-accent); font-size: 0.9rem; font-weight: 800; }
.overview-empty-viz { min-height: 54px; display: grid; place-items: center; border: 1px dashed var(--border-subtle); border-radius: 6px; color: var(--text-muted); background: var(--bg-tertiary); font-size: 0.78rem; font-weight: 700; }
.overview-data-status { display: inline-block; margin-top: 8px; color: var(--text-muted); font-size: 0.72rem; font-weight: 700; }
.overview-data-status[hidden] { display: none; }
.overview-card-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--border-subtle); color: var(--brand-primary); font-size: 0.94rem; font-weight: 760; text-decoration: none; }
.overview-card-action span:last-child { display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 25px; border: 1px solid rgba(15, 107, 69, 0.22); border-radius: 999px; background: var(--brand-primary-soft); transition: background 160ms ease, border-color 160ms ease, transform 160ms ease; }
.overview-module-card:hover .overview-card-action span:last-child, .overview-module-card:focus-visible .overview-card-action span:last-child { background: rgba(15, 107, 69, 0.16); transform: translateX(2px); }
.overview-two-col { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr); gap: 16px; }
.overview-bias-layout { display: flex; flex-direction: column; gap: 14px; align-items: stretch; }
.overview-bias-score { padding: 14px; border: 1px solid rgba(31, 95, 153, 0.18); border-radius: 6px; background: #F4F6FB; }
.overview-bias-score strong { display: block; color: var(--text-accent); font-size: 1.05rem; line-height: 1.18; }
.overview-bias-score span { display: block; margin-top: 6px; color: var(--text-secondary); font-size: 0.84rem; }
.overview-chip-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.overview-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 9px; border: 1px solid var(--border-subtle); border-radius: 999px; color: var(--text-secondary); background: var(--bg-tertiary); font-size: 0.78rem; font-weight: 650; }
.overview-mini-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 0.82rem; }
.overview-mini-table th:nth-child(1), .overview-mini-table td:nth-child(1) { width: 28%; }
.overview-mini-table th:nth-child(2), .overview-mini-table td:nth-child(2) { width: 18%; white-space: nowrap; }
.overview-mini-table th:nth-child(3), .overview-mini-table td:nth-child(3) { width: 54%; }
.overview-mini-table th, .overview-mini-table td { padding: 9px 8px; border-top: 1px solid var(--border-subtle); text-align: left; vertical-align: top; }
.overview-mini-table th { color: var(--text-muted); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.overview-mini-table td strong { color: var(--text-accent); font-weight: 700; }
.overview-mini-table td.bias-good { color: var(--color-easing); font-weight: 700; }
.overview-mini-table td.bias-warn { color: var(--color-warning); font-weight: 700; }
.overview-change-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.overview-change-list li { display: grid; grid-template-columns: 30px minmax(0, 1fr) max-content; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid var(--border-subtle); }
.overview-change-list time { color: var(--text-muted); font-family: var(--font-mono); font-size: 0.72rem; }
.overview-change-list strong { display: block; color: var(--text-accent); font-size: 0.86rem; }
.overview-change-list span { display: block; margin-top: 2px; color: var(--text-secondary); font-size: 0.8rem; }
.overview-change-link { display: inline-flex; align-items: center; gap: 4px; color: var(--brand-primary); font-size: 0.76rem; font-weight: 760; white-space: nowrap; }
.overview-change-link span { flex: none; }
@media (max-width: 1120px) { .overview-stat-row-eight { grid-template-columns: repeat(4, minmax(0, 1fr)); } .overview-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .overview-module-card, .overview-module-card-primary { grid-column: span 1; } }
@media (max-width: 860px) { .overview-hero-body, .overview-two-col { grid-template-columns: 1fr; } .overview-stat-row-eight { grid-template-columns: repeat(2, minmax(0, 1fr)); } .overview-theme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .overview-page { padding-top: 18px; } .overview-hero { padding: 18px; } .overview-hero-bar { align-items: flex-start; flex-direction: column; } .overview-regime-line span, .overview-regime-line strong, .overview-spectrum-title strong { font-size: 1.12rem; } .overview-module-grid, .overview-change-list li { grid-template-columns: 1fr; } .overview-pillar-row { grid-template-columns: minmax(0, 1fr); gap: 5px; } .overview-change-link { justify-self: start; } }
/* Standalone Market Pressure Monitor */
.skip-link { position:fixed; top:8px; left:8px; z-index:1000; min-height:44px; padding:10px 14px; background:var(--bg-secondary); color:var(--text-primary); border:2px solid var(--brand-primary); transform:translateY(-180%); }
.skip-link:focus { transform:translateY(0); }
.skip-link:not(:focus) { pointer-events:none; }
.market-pressure-page { padding: 28px 0 56px; }
.market-pressure-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:20px; }
.market-pressure-hero h1 { margin:4px 0 8px; color:var(--text-primary); }
.market-pressure-hero p { max-width:720px; color:var(--text-secondary); }
.market-pressure-kicker { color:var(--text-accent) !important; font-size:.75rem; font-weight:750; letter-spacing:.12em; }
.market-pressure-refresh { min-height:44px; padding:10px 16px; border:1px solid var(--border-subtle); border-radius:6px; background:var(--bg-secondary); color:var(--text-primary); font:inherit; font-weight:650; cursor:pointer; touch-action:manipulation; }
.market-pressure-refresh:hover { border-color:var(--text-accent); }
.market-pressure-refresh:focus-visible,.market-pressure-card-toggle:focus-visible,.market-pressure-table-scroll:focus-visible { outline:3px solid var(--text-accent); outline-offset:3px; }
.market-pressure-refresh:disabled { opacity:.55; cursor:wait; }
.market-pressure-page + .site-footer a:focus-visible,.market-pressure-page button:focus-visible { outline:3px solid var(--brand-primary); outline-offset:3px; }
.site-header .locale-toggle button { min-width:44px; min-height:44px; touch-action:manipulation; }
.market-pressure-live { min-height:1.5em; color:var(--text-secondary); font-size:.85rem; }
.market-pressure-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border:1px solid var(--border-subtle); background:var(--border-subtle); }
.market-pressure-meta>div { display:flex; flex-direction:column; gap:5px; padding:12px 14px; background:var(--bg-secondary); }
.market-pressure-meta span { color:var(--text-secondary); font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; }
.market-pressure-source-times,.market-pressure-legend,.market-pressure-notices { margin:12px 0; padding:12px 14px; border:1px solid var(--border-subtle); background:var(--bg-secondary); }
.market-pressure-source-times summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font-weight:650; }
.market-pressure-source-times ul,.market-pressure-notices ul { margin:8px 0 0; padding-left:20px; }
.market-pressure-legend { display:flex; gap:12px; align-items:baseline; color:var(--text-secondary); font-size:.85rem; }
.market-pressure-legend strong { color:var(--text-primary); white-space:nowrap; }
.market-pressure-table-scroll { overflow-x:auto; border:1px solid var(--border-subtle); background:var(--bg-secondary); }
.market-pressure-table { width:100%; min-width:1120px; border-collapse:collapse; font-size:.82rem; font-variant-numeric:tabular-nums; }
.market-pressure-table caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.market-pressure-table th,.market-pressure-table td { padding:10px 11px; border-bottom:1px solid var(--border-subtle); text-align:right; vertical-align:top; }
.market-pressure-table thead th { position:sticky; top:0; z-index:2; background:var(--bg-tertiary); color:var(--text-secondary); font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; }
.market-pressure-table th:first-child { position:sticky; left:0; z-index:1; min-width:150px; background:var(--bg-secondary); text-align:left; color:var(--text-primary); }
.market-pressure-table thead th:first-child { z-index:3; background:var(--bg-tertiary); }
.market-pressure-table td:last-child { max-width:230px; text-align:left; color:var(--text-secondary); }
.market-pressure-table small { display:block; margin-top:3px; color:var(--text-secondary); }
.market-pressure-component-list { display:grid; gap:4px; min-width:0; }
.market-pressure-component { display:grid; grid-template-columns:minmax(2.5rem,auto) minmax(0,1fr); gap:2px 8px; min-width:0; overflow-wrap:anywhere; }
.market-pressure-component small { grid-column:1 / -1; }
.market-pressure-component-value { min-width:0; overflow-wrap:anywhere; }
.market-pressure-badge { display:inline-block; margin-left:6px; padding:1px 5px; border:1px solid currentColor; border-radius:99px; font-size:.68rem; font-weight:700; }
.market-pressure-cards { display:none; }
.market-pressure-scroll-hint { display:none; margin:8px 0; color:var(--text-secondary); font-size:.75rem; }
.market-pressure-error { padding:24px; border:1px solid var(--color-tightening); background:var(--bg-secondary); }
@media (max-width: 820px) { .market-pressure-scroll-hint { display:block; } .market-pressure-meta { grid-template-columns:1fr; } }
@media (max-width: 600px) {
  .market-pressure-scroll-hint { display:none; }
  .market-pressure-page { padding-top:18px; } .market-pressure-hero { align-items:stretch; flex-direction:column; gap:12px; }
  .market-pressure-table-scroll { display:none; } .market-pressure-cards { display:grid; gap:10px; }
  .market-pressure-card { border:1px solid var(--border-subtle); background:var(--bg-secondary); }
  .market-pressure-card-toggle { width:100%; min-height:44px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) auto; gap:10px; align-items:start; padding:11px 12px; border:0; background:transparent; color:var(--text-primary); font:inherit; font-weight:700; text-align:left; cursor:pointer; touch-action:manipulation; overflow-wrap:anywhere; }
  .market-pressure-card-label,.market-pressure-card-current { min-width:0; overflow-wrap:anywhere; }
  .market-pressure-card-current { text-align:right; }
  .market-pressure-card-current>.market-pressure-component-list,.market-pressure-card-current>.market-pressure-components { margin-top:4px; }
  .market-pressure-card-toggle::after { content:'+'; } .market-pressure-card-toggle[aria-expanded='true']::after { content:'−'; }
  .market-pressure-card-summary { display:grid; gap:6px; min-width:0; padding:0 12px 12px; color:var(--text-secondary); font-size:.8rem; overflow-wrap:anywhere; }
  .market-pressure-card-detail { padding:12px; border-top:1px solid var(--border-subtle); }
  .market-pressure-card-detail dl { display:grid; grid-template-columns:auto 1fr; gap:6px 12px; margin:0; } .market-pressure-card-detail dd { margin:0; text-align:right; }
  .market-pressure-legend { align-items:flex-start; flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) { .market-pressure-page * { scroll-behavior:auto !important; transition:none !important; } }
