/* Stock-only Insights -----------------------------------------------------
   This sheet is deliberately self-contained. Insights selectors stay scoped;
   the named Lighter activity-map section is the sole shared visualization
   contract and composes with the terminal tokens rather than replacing them. */

:where([data-page="insights"], .market-panel--map, .market-volume-map) {
  --insights-plot-surface: hsl(0 0% 2%);
  --insights-panel-surface: hsl(0 3% 6%);
  --insights-raised-surface: hsl(0 2% 9%);
  --insights-neutral-border: hsl(30 3% 14%);
  --insights-accent: hsl(26 100% 50%);
  --insights-accent-soft: hsl(26 100% 50% / 0.12);
  --insights-positive: hsl(120 100% 50%);
  --insights-positive-soft: hsl(120 100% 50% / 0.12);
  --insights-positive-border: hsl(120 100% 50% / 0.48);
  --insights-negative: hsl(0 100% 50%);
  --insights-negative-soft: hsl(0 100% 50% / 0.13);
  --insights-negative-border: hsl(0 100% 50% / 0.5);
  --insights-neutral-data: hsl(0 0% 68%);
  --insights-heatmap-positive: hsl(160 87% 31%);
  --insights-heatmap-negative: hsl(10 56% 45%);
  --insights-label-shadow: hsl(0 0% 1% / 0.78);
  --insights-grid-line: hsl(0 0% 100% / 0.035);
  --insights-text: hsl(30 8% 94%);
  --insights-text-secondary: hsl(30 5% 80%);
  --insights-text-muted: hsl(30 4% 65%);
  --insights-text-subtle: hsl(30 3% 56%);
  --insights-text-disabled: hsl(30 2% 36%);
  --insights-on-accent: hsl(30 8% 8%);
  --market-volume-positive: var(--insights-positive);
  --market-volume-negative: var(--insights-negative);
  --market-volume-neutral: var(--insights-neutral-data);
}

[data-page="insights"] {
  --color-text: var(--insights-text);
  --color-text-secondary: var(--insights-text-secondary);
  --color-text-muted: var(--insights-text-muted);
  --color-text-subtle: var(--insights-text-subtle);
  --color-text-disabled: var(--insights-text-disabled);
  --color-on-accent: var(--insights-on-accent);
  --color-control-text: var(--insights-text);
  --color-control-placeholder: var(--insights-text-subtle);
  --color-control-caret: var(--insights-accent);
  --color-bg: var(--insights-plot-surface);
  --color-bg-raised: var(--insights-panel-surface);
  --color-surface: var(--insights-panel-surface);
  --color-surface-elevated: var(--insights-raised-surface);
  --color-surface-hover: color-mix(in srgb, var(--insights-raised-surface) 76%, var(--insights-neutral-border));
  --color-surface-high: color-mix(in srgb, var(--insights-raised-surface) 58%, var(--insights-neutral-border));
  --color-surface-active: color-mix(in srgb, var(--insights-raised-surface) 42%, var(--insights-neutral-border));
  --color-border-subtle: color-mix(in srgb, var(--insights-neutral-border) 64%, transparent);
  --color-border: var(--insights-neutral-border);
  --color-border-strong: color-mix(in srgb, var(--insights-neutral-border) 54%, var(--color-text-muted));
  --color-border-accent: color-mix(in srgb, var(--insights-accent) 56%, transparent);
  --color-divider: var(--insights-neutral-border);
  --color-highlight: var(--insights-accent-soft);
  --color-accent: var(--insights-accent);
  --color-accent-hover: var(--insights-accent);
  --color-accent-active: var(--insights-accent);
  --color-accent-muted: color-mix(in srgb, var(--insights-accent) 64%, var(--color-text-muted));
  --color-accent-soft: var(--insights-accent-soft);
  --color-accent-softer: color-mix(in srgb, var(--insights-accent-soft) 54%, transparent);
  --color-control-bg: var(--insights-plot-surface);
  --color-control-bg-hover: var(--insights-raised-surface);
  --color-control-bg-disabled: var(--insights-panel-surface);
  --color-control-border: var(--insights-neutral-border);
  --color-control-border-hover: var(--color-border-strong);
  --color-control-border-focus: var(--insights-accent);
  --color-focus-ring: var(--insights-accent);
  --color-success: var(--insights-positive);
  --color-success-soft: var(--insights-positive-soft);
  --color-success-border: var(--insights-positive-border);
  --color-error: var(--insights-negative);
  --color-error-soft: var(--insights-negative-soft);
  --color-error-border: var(--insights-negative-border);
  --insights-content-max: var(--layout-content-max);
  --insights-screener-viewport-offset: calc(var(--space-32) * 2 + var(--space-16));
  --insights-heatmap-viewport-offset: calc(var(--space-32) * 2 + var(--space-24));
  --insights-summary-block-size: 5.25rem;
  --insights-chart-block-size: 28.75rem;
  --insights-chart-header-block-size: var(--space-11);
  --insights-dashboard-body-block-size: 25.5rem;
  --insights-dashboard-plot-inline-size: 28.125rem;
  --insights-dashboard-sidecar-inline-size: 9.25rem;
  --insights-table-viewport-block-size: calc(
    var(--insights-table-header-size)
    + var(--space-32)
    + var(--space-32)
    + var(--space-32)
    + var(--space-32)
    + var(--border-width-strong)
  );
  --insights-plot-compact-block-size: 20rem;
  --insights-plot-wide-block-size: 25rem;
  --insights-performance-block-size: 32rem;
  --insights-table-min-size: 63.5rem;
  --insights-table-header-size: 2.375rem;
  --insights-table-row-size: var(--space-16);
  --insights-tooltip-duration: 400ms;
  --insights-tooltip-max-size: 17.5rem;
  --insights-tooltip-safe-inset: var(--space-2);
  --insights-summary-intro-min-block-size: var(--space-32);
  --insights-kpi-responsive-min-block-size: var(--space-32);
  --insights-fact-responsive-min-block-size: calc(var(--space-16) + var(--space-12));
  --insights-section-header-min-block-size: var(--space-24);
  --insights-chart-caption-min-block-size: var(--space-11);
  --insights-dashboard-caption-min-block-size: var(--space-11);
  --insights-heatmap-caption-min-block-size: var(--space-16);
  --insights-basket-summary-min-block-size: calc(var(--space-32) + var(--space-32));
  --insights-source-panel-min-block-size: calc(var(--space-32) + var(--space-8));
  --insights-series-aapl: var(--color-accent);
  --insights-series-nvda: var(--color-warning);
  --insights-series-tsla: var(--color-error);
  --insights-series-msft: color-mix(in srgb, var(--color-info) 68%, var(--color-accent));
  --insights-series-amzn: color-mix(in srgb, var(--color-warning) 62%, var(--color-text-secondary));
  --insights-series-googl: color-mix(in srgb, var(--color-info) 64%, var(--color-warning));
  --insights-series-spy: color-mix(in srgb, var(--color-accent-muted) 70%, var(--color-text-secondary));
  --insights-series-qqq: color-mix(in srgb, var(--color-error) 58%, var(--color-text-secondary));
  --insights-semantic-positive-depth: color-mix(in srgb, var(--insights-heatmap-positive) 72%, var(--insights-plot-surface));
  --insights-semantic-negative-depth: color-mix(in srgb, var(--insights-heatmap-negative) 74%, var(--insights-plot-surface));
  position: relative;
  display: block;
  inline-size: 100%;
  min-inline-size: var(--space-0);
  max-inline-size: 100%;
  overflow-x: clip;
  color: var(--color-text-secondary);
  background: var(--color-bg);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  isolation: auto;
}

[data-page="insights"] > *,
.insights-layout > *,
.insights-main > *,
.insights-section > *,
.insights-chart > * {
  min-inline-size: var(--space-0);
}

.insights-layout {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  align-items: start;
  gap: var(--space-4);
  inline-size: min(100%, var(--insights-layout-max));
  margin-inline: auto;
}

.insights-main,
.insights-content,
.insights-stack {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  align-content: start;
}

.insights-main,
.insights-content {
  gap: var(--space-4);
}

.insights-main {
  inline-size: 100%;
  max-inline-size: var(--insights-content-max);
  justify-self: center;
  container-name: insights-main;
  container-type: inline-size;
}

.insights-stack {
  gap: var(--space-3);
}

/* Shared analytics navigation -------------------------------------------- */

.insights-analytics-nav {
  display: block;
  min-inline-size: var(--space-0);
  max-inline-size: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border: var(--border-width) solid var(--insights-neutral-border);
  border-radius: var(--radius-xs);
  background: var(--insights-panel-surface);
  scrollbar-color: var(--color-border-strong) var(--color-surface);
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline proximity;
}

.insights-analytics-nav__picker {
  display: none;
}

.insights-analytics-nav::-webkit-scrollbar {
  block-size: var(--space-2);
}

.insights-analytics-nav::-webkit-scrollbar-track {
  background: var(--color-surface);
}

.insights-analytics-nav::-webkit-scrollbar-thumb {
  border: var(--border-subtle);
  border-radius: var(--radius-pill);
  background: var(--color-border-strong);
}

.insights-analytics-nav ul {
  display: flex;
  align-items: stretch;
  min-inline-size: max-content;
  margin: var(--space-0);
  padding: var(--space-0);
  list-style: none;
}

.insights-analytics-nav li {
  display: flex;
  scroll-snap-align: start;
}

.insights-analytics-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-block-size: var(--size-touch-min);
  padding: var(--space-2) var(--space-3);
  border-block-end: var(--border-width-strong) solid transparent;
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-wide);
  line-height: var(--leading-tight);
  text-decoration: none;
  white-space: nowrap;
}

.insights-analytics-nav a[aria-current="page"] {
  border-block-end-color: var(--insights-accent);
  background: var(--insights-accent-soft);
  color: var(--color-text);
}

.insights-analytics-nav a:focus-visible {
  z-index: var(--z-base);
  outline: var(--border-width-strong) solid var(--color-focus-ring);
  outline-offset: calc(-1 * var(--border-width-strong));
}

[data-page="insights"] .insights-analytics-nav {
  position: sticky;
  z-index: var(--z-sticky);
  inset-block-start: var(--layout-topbar-block-size);
}

@media (max-width: 47.999rem) {
  .insights-analytics-nav {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    border: none;
    background: transparent;
    min-block-size: var(--size-touch-min, 44px);
  }

  .insights-analytics-nav::-webkit-scrollbar {
    display: none;
  }

  .insights-analytics-nav .insights-analytics-nav__list {
    display: flex !important;
    align-items: center;
    gap: var(--space-1);
    min-inline-size: max-content;
    padding-inline: var(--space-1);
  }

  .insights-analytics-nav__picker {
    display: none !important;
  }

  .market-terminal__route-nav.insights-route-nav {
    display: flex;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    min-block-size: var(--size-touch-min, 44px);
    block-size: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    gap: var(--space-1);
    padding-inline: var(--space-1);
    border: none;
    background: transparent;
  }

  .market-terminal__route-nav.insights-route-nav::-webkit-scrollbar {
    display: none;
  }

  .market-terminal__route-nav.insights-route-nav .market-terminal__markets-nav {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    block-size: auto;
  }

  .market-terminal__route-nav.insights-route-nav .insights-analytics-nav {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    block-size: auto;
  }

  .market-terminal__route-nav :is(a, button).market-terminal__markets-link,
  .insights-analytics-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-block-size: var(--size-touch-min, 44px);
    min-inline-size: var(--size-touch-min, 44px);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-pill);
    border: var(--border-width) solid var(--insights-neutral-border);
    background: var(--insights-panel-surface);
    color: var(--color-text-muted);
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--tracking-wide);
    line-height: var(--leading-tight);
    text-decoration: none;
    white-space: nowrap;
    scroll-snap-align: start;
    flex: 0 0 auto;
  }

  .market-terminal__route-nav :is(a, button).market-terminal__markets-link[aria-current="page"],
  .insights-analytics-nav a[aria-current="page"] {
    border-color: var(--insights-accent);
    background: var(--insights-accent-soft);
    color: var(--color-text);
  }

  .insights-periods {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    gap: var(--space-1);
    min-block-size: var(--size-touch-min, 44px);
    padding: var(--space-0-5);
    inline-size: 100%;
    border-radius: var(--radius-pill);
  }

  .insights-periods::-webkit-scrollbar {
    display: none;
  }

  .insights-period-button {
    flex: 0 0 auto !important;
    inline-size: auto !important;
    scroll-snap-align: start;
    min-block-size: var(--size-touch-min, 44px);
    min-inline-size: var(--size-touch-min, 44px);
    padding-inline: var(--space-3);
    font-size: var(--text-xs);
    border-radius: var(--radius-pill);
    white-space: nowrap;
  }

  .insights-performance-legend {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-1-5);
    padding: var(--space-2);
  }

  .insights-performance-legend__chip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    inline-size: 100%;
    min-block-size: var(--size-touch-min, 44px);
    padding-inline: var(--space-2-5);
    font-size: var(--text-xs);
    border-radius: var(--radius-pill);
  }

  .insights-performance-legend__chip--all {
    grid-column: 1 / -1;
    justify-content: center;
  }

  .insights-performance-chart .insights-chart__stage {
    block-size: 20rem;
  }
}

.insights-main > .insights-page-header__eyebrow,
.insights-page-header__eyebrow,
.insights-section__eyebrow,
.insights-panel__eyebrow,
.insights-control-label,
.insights-custom-range__label,
.insights-fact-card__eyebrow,
.insights-chart__eyebrow,
.insights-dashboard-card__eyebrow,
.insights-basket-card__eyebrow {
  margin: var(--space-0);
  color: var(--color-accent);
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-caps);
  line-height: var(--leading-tight);
  text-transform: uppercase;
}

/* Page, section, and control hierarchy ----------------------------------- */

.insights-page-header,
.insights-section,
.insights-panel {
  min-inline-size: var(--space-0);
}

.insights-page-header {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  gap: var(--space-3);
  padding: var(--space-4);
  border: var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--color-bg-raised);
}


.insights-page-header__heading,
.insights-section__heading {
  display: grid;
  gap: var(--space-1);
  min-inline-size: var(--space-0);
}

.insights-page-header__title,
.insights-section__title {
  color: var(--color-text);
  font-family: var(--font-display);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-snug);
}

.insights-page-header__title {
  font-size: var(--text-2xl);
}

.insights-section__title {
  font-size: var(--text-lg);
}

.insights-page-header__copy,
.insights-section__copy,
.insights-source-note,
.insights-coverage-note {
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  line-height: var(--leading-relaxed);
}

.insights-page-header__copy {
  max-inline-size: var(--layout-readable-max);
}

.insights-page-header__actions,
.insights-section__actions,
.insights-toolbar,
.insights-control-group,
.insights-periods {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-inline-size: var(--space-0);
}

.insights-page-header__actions,
.insights-section__actions {
  gap: var(--space-2);
}

.insights-page-header__actions {
  align-self: center;
}

.insights-section {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  gap: var(--space-3);
}

.insights-section__header {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  min-inline-size: var(--space-0);
  min-block-size: var(--insights-section-header-min-block-size);
  gap: var(--space-3) var(--space-6);
}

.insights-section__meta,
.insights-updated-at {
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--tracking-wide);
}

.insights-panel {
  border: var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--color-bg-raised);
}

.insights-panel__header,
.insights-panel__body,
.insights-panel__footer {
  padding: var(--space-3) var(--space-4);
}

.insights-panel__header {
  border-block-end: var(--border-subtle);
}

.insights-panel__footer {
  border-block-start: var(--border-subtle);
}

.insights-toolbar {
  justify-content: space-between;
  gap: var(--space-3) var(--space-6);
  padding: var(--space-2) var(--space-3);
  border: var(--border-subtle);
  border-radius: var(--radius-sm);
  background: var(--color-bg-raised);
}

.insights-control-group {
  gap: var(--space-2);
}

.insights-control {
  display: grid;
  min-inline-size: min(100%, var(--space-32));
  gap: var(--space-1);
}

.insights-select,
.insights-screener__select {
  inline-size: auto;
  min-inline-size: var(--space-32);
  min-block-size: var(--space-9);
  border: var(--border-width) solid var(--insights-neutral-border);
  border-radius: var(--radius-xs);
  background: var(--insights-raised-surface);
  padding: var(--space-2) var(--space-3);
  color: var(--color-control-text);
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  line-height: var(--leading-none);
  box-shadow: none;
}

.insights-select:focus-visible,
.insights-screener__select:focus-visible {
  outline: none;
  border-color: var(--insights-accent);
  box-shadow: var(--space-0) var(--space-0) var(--space-0) var(--border-width-strong) var(--insights-accent-soft);
}

.insights-periods {
  gap: var(--space-0-5);
  padding: var(--space-0-5);
  border: var(--border-width) solid var(--insights-neutral-border);
  border-radius: var(--radius-xs);
  background: var(--insights-panel-surface);
}

.insights-period-button,
.insights-segmented__button {
  min-inline-size: var(--space-12);
  min-block-size: var(--space-9);
  border: var(--border-width) solid transparent;
  border-radius: var(--radius-xs);
  background: transparent;
  padding: var(--space-2) var(--space-3);
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-none);
  box-shadow: none;
}

.insights-period-button:is(.is-active, [aria-pressed="true"], [aria-current="true"]) {
  border-color: var(--color-accent);
  background: var(--color-accent);
  color: var(--color-on-accent);
  box-shadow: none;
  font-weight: var(--weight-bold);
}

.insights-segmented__button:is(.is-active, [aria-pressed="true"], [aria-selected="true"]) {
  border-color: var(--insights-accent);
  background: var(--insights-raised-surface);
  color: var(--color-text);
  box-shadow: inset var(--space-0) calc(var(--border-width-strong) * -1) var(--space-0) var(--insights-accent);
}

.insights-screener-range {
  display: grid;
  min-inline-size: var(--space-0);
  justify-items: end;
}

.insights-range-control {
  display: grid;
  justify-items: end;
  gap: var(--space-2);
}

.insights-period-button[data-pending="true"]:not([aria-pressed="true"]) {
  border-color: color-mix(in srgb, var(--insights-accent) 58%, transparent);
  color: var(--insights-accent);
}

.insights-custom-range {
  display: grid;
  grid-template-columns: repeat(2, minmax(var(--space-0), 1fr)) auto;
  align-items: end;
  gap: var(--space-2);
  inline-size: min(100%, 34rem);
  padding: var(--space-2);
  border: var(--border-subtle);
  border-radius: var(--radius-sm);
  background: var(--color-bg-raised);
}

.insights-custom-range[hidden] {
  display: none;
}

.insights-custom-range label {
  display: grid;
  min-inline-size: var(--space-0);
  gap: var(--space-1);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
}

.insights-custom-range input {
  min-inline-size: var(--space-0);
  min-block-size: var(--size-touch-min);
}

.insights-custom-range button {
  min-block-size: var(--size-touch-min);
  padding-inline: var(--space-3);
}

.insights-range-feedback,
.insights-range-error {
  min-block-size: var(--space-5);
  margin: var(--space-0);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
}

.insights-range-feedback {
  padding-inline: var(--space-4);
}

.insights-range-error {
  color: var(--color-error);
}

/* Dashboard summary and quiet KPI readouts ------------------------------- */

.insights-summary {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  align-items: start;
  gap: var(--space-4);
}

.insights-summary__intro {
  display: grid;
  align-content: center;
  min-block-size: var(--insights-summary-intro-min-block-size);
  gap: var(--space-1);
  padding: var(--space-2) var(--space-4);
  border-block: var(--border-subtle);
}

.insights-summary__intro h1,
.insights-summary__intro h2 {
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
}

.insights-summary__intro p {
  max-inline-size: 52ch;
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  line-height: var(--leading-relaxed);
}

.insights-kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(var(--space-0), 1fr));
  gap: var(--space-4);
}

.insights-kpi {
  display: grid;
  grid-template-rows: repeat(3, auto);
  align-content: center;
  min-inline-size: var(--space-0);
  min-block-size: var(--insights-kpi-responsive-min-block-size);
  gap: var(--space-0-5);
  padding: var(--space-1) var(--space-3);
  border: var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--color-bg-raised);
}

.insights-kpi__value,
.insights-fact__value {
  align-self: center;
  overflow: hidden;
  color: var(--color-text);
  font-family: var(--font-mono);
  font-size: var(--text-xl);
  font-variant-numeric: tabular-nums;
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-none);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.insights-kpi__value {
  overflow: visible;
  line-height: var(--leading-tight);
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}

.insights-kpi__value[data-exact-value] {
  display: grid;
  gap: var(--space-0-5);
}

.insights-kpi__value[data-exact-value]::after {
  color: var(--color-text-secondary);
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  letter-spacing: normal;
  line-height: var(--leading-snug);
  content: attr(data-exact-value);
}

.insights-kpi__meta {
  min-inline-size: var(--space-0);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  line-height: var(--leading-snug);
  overflow-wrap: anywhere;
}

.insights-fact__meta {
  min-inline-size: var(--space-0);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  line-height: var(--leading-snug);
  overflow-wrap: anywhere;
  white-space: normal;
}

.insights-kpi[data-status="partial"] .insights-kpi__meta,
.insights-coverage-note[data-status="partial"] {
  color: var(--color-warning);
}

.insights-kpi[data-status="unavailable"] .insights-kpi__value,
.insights-value[data-status="unavailable"] {
  color: var(--color-text-subtle);
}

.insights-dashboard,
.insights-dashboard-grid,
.insights-chart-grid {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  gap: var(--space-4);
}

/* Shared chart frame ------------------------------------------------------ */

.insights-chart,
.insights-dashboard-card,
.insights-performance-chart,
.insights-screener,
.insights-bubble,
.insights-heatmap {
  position: relative;
  min-inline-size: var(--space-0);
  overflow: clip;
  border: var(--border-width) solid var(--insights-neutral-border);
  border-radius: var(--radius-xs);
  background: var(--insights-panel-surface);
  color: var(--color-text-secondary);
  container-name: insights-chart;
  container-type: inline-size;
}

.insights-chart,
.insights-dashboard-card {
  display: grid;
  grid-template-rows: auto minmax(var(--space-0), 1fr) auto;
  min-block-size: var(--insights-chart-block-size);
}

.insights-chart__header,
.insights-dashboard-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-inline-size: var(--space-0);
  min-block-size: var(--insights-chart-header-block-size);
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border-block-end: var(--border-width) solid var(--insights-neutral-border);
  background: var(--insights-panel-surface);
}

.insights-chart__heading,
.insights-dashboard-card__heading {
  display: grid;
  min-inline-size: var(--space-0);
  gap: var(--space-0-5);
}

.insights-chart__title,
.insights-dashboard-card__title {
  overflow: hidden;
  color: var(--color-text);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.insights-chart__meta,
.insights-dashboard-card__meta {
  overflow: hidden;
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
  line-height: var(--leading-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.insights-chart__caption .insights-chart__meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-1) var(--space-2);
  overflow: visible;
  white-space: normal;
}

.insights-chart__caption .insights-chart__source + .insights-chart__coverage::before {
  margin-inline-end: var(--space-2);
  color: var(--color-border-strong);
  content: "·";
}

.insights-chart__body,
.insights-dashboard-card__body {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  min-inline-size: var(--space-0);
  min-block-size: var(--space-0);
}

.insights-chart__plot,
.insights-chart__stage,
.insights-dashboard-card__plot {
  position: relative;
  min-inline-size: var(--space-0);
  min-block-size: var(--space-0);
  overflow: clip;
  background: var(--insights-plot-surface);
  isolation: isolate;
}

.insights-chart__plot,
.insights-dashboard-card__plot {
  padding: var(--space-1);
}

/* Dashboard measurements are isolated in a visual shell. The caption and
   semantic disclosure remain outside it, so accessibility rows never consume
   the reference plot height. */
.insights-chart:has(> .insights-dashboard-panel__visual) {
  display: grid;
  grid-template-rows: auto auto auto;
  align-content: start;
  min-block-size: var(--space-0);
  overflow: visible;
  border: var(--space-0);
  border-radius: var(--radius-none);
  background: transparent;
}

.insights-dashboard-panel__visual {
  display: grid;
  grid-template-rows:
    var(--insights-chart-header-block-size)
    var(--insights-dashboard-body-block-size);
  block-size: var(--insights-chart-block-size);
  overflow: clip;
  border: var(--border-default);
  border-radius: var(--radius-xs);
  background: var(--color-bg-raised);
}

.insights-bubble {
  grid-template-rows:
    var(--insights-chart-header-block-size)
    var(--insights-dashboard-body-block-size)
    auto
    auto
    auto;
  align-content: start;
  min-block-size: var(--space-0);
}

.insights-heatmap {
  grid-template-rows:
    var(--insights-chart-header-block-size)
    var(--insights-dashboard-body-block-size)
    auto
    auto;
  align-content: start;
  min-block-size: var(--space-0);
}

.insights-dashboard-panel__visual > .insights-chart__header {
  block-size: var(--insights-chart-header-block-size);
  min-block-size: var(--space-0);
}

.insights-dashboard-panel__body {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  block-size: var(--insights-dashboard-body-block-size);
  min-inline-size: var(--space-0);
  min-block-size: var(--space-0);
}

.insights-dashboard-panel__body > .insights-chart__plot {
  block-size: 100%;
}

.insights-dashboard-panel__sidecar {
  display: none;
  min-inline-size: var(--space-0);
  overflow: hidden;
  padding: var(--space-3);
  border-inline-start: var(--border-subtle);
  background: var(--color-bg-raised);
}

.insights-dashboard-panel__sidecar-title {
  display: block;
  margin-block-end: var(--space-2);
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-caps);
  line-height: var(--leading-snug);
  text-transform: uppercase;
}

.insights-dashboard-panel__sidecar ul {
  display: grid;
  gap: var(--space-1);
  margin: var(--space-0);
  padding: var(--space-0);
  list-style: none;
}

.insights-dashboard-panel__sidecar li {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr) minmax(var(--space-0), auto);
  align-items: baseline;
  min-block-size: var(--space-8);
  gap: var(--space-2);
  border-block-end: var(--border-subtle);
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
}

.insights-dashboard-panel__sidecar li > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.insights-dashboard-panel__sidecar li > strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--color-text);
  font-weight: var(--weight-semibold);
  text-align: end;
}

.insights-chart__stage {
  block-size: var(--insights-plot-compact-block-size);
  touch-action: pan-y;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.insights-chart__explorer,
[data-page="insights"] [data-spatial-explorer],
.insights-chart__svg[data-chart-explorer] {
  position: relative;
  inline-size: 100%;
  block-size: 100%;
  min-inline-size: var(--space-0);
  overflow: hidden;
  border-radius: var(--radius-xs);
  outline: none;
  cursor: default;
  touch-action: pan-y;
}

.insights-chart__explorer:focus-visible,
[data-page="insights"] [data-spatial-explorer]:focus-visible,
.insights-chart__svg[data-chart-explorer]:focus-visible {
  outline: var(--border-width-strong) solid var(--insights-accent);
  outline-offset: calc(var(--border-width-strong) * -1);
  box-shadow: inset var(--space-0) var(--space-0) var(--space-0) var(--space-1) var(--insights-accent-soft);
}

.insights-chart__svg {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: 100%;
  overflow: hidden;
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  shape-rendering: geometricPrecision;
}

.insights-chart__grid,
.insights-chart__axis {
  fill: none;
  stroke: var(--insights-grid-line);
  stroke-width: var(--border-width);
  vector-effect: non-scaling-stroke;
}

.insights-chart__grid {
  pointer-events: none;
  shape-rendering: crispEdges;
}

.insights-chart__axis {
  stroke: var(--insights-neutral-border);
}

.insights-chart__tick {
  fill: var(--color-text-subtle);
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

.insights-chart__grid text,
.insights-chart__axis text,
.insights-chart__axis-label {
  fill: var(--color-text-subtle);
  stroke: none;
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

.insights-chart__axis-label {
  letter-spacing: var(--tracking-wide);
}

.insights-chart__interaction-layer {
  fill: transparent;
  pointer-events: all;
  cursor: default;
}

.insights-chart__caption {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  min-inline-size: var(--space-0);
  min-block-size: var(--insights-chart-caption-min-block-size);
  gap: var(--space-1) var(--space-3);
  padding: var(--space-2) var(--space-3);
  border-block-start: var(--border-width) solid var(--insights-neutral-border);
  background: var(--insights-panel-surface);
  color: var(--color-text-subtle);
  font-size: var(--text-xs);
  line-height: var(--leading-normal);
}

.insights-dashboard-grid .insights-chart__caption {
  min-block-size: var(--insights-dashboard-caption-min-block-size);
}

.insights-chart__source,
.insights-chart__coverage {
  min-inline-size: var(--space-0);
}

.insights-chart__source {
  color: var(--color-text-muted);
}

.insights-chart__coverage {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

.insights-chart__coverage[data-status="partial"] {
  color: var(--color-warning);
}

.insights-chart__legend {
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  gap: var(--space-2) var(--space-3);
  min-inline-size: var(--space-0);
  padding: var(--space-3);
  border-block-start: var(--border-subtle);
  background: var(--color-bg-raised);
}

.insights-chart__legend-item {
  display: grid;
  grid-template-columns: auto minmax(var(--space-0), 1fr) auto;
  align-items: center;
  min-inline-size: var(--space-20);
  gap: var(--space-2);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
}

.insights-chart__legend-swatch,
.insights-chart-tooltip__swatch {
  inline-size: var(--space-2);
  block-size: var(--space-2);
  flex: none;
  border-radius: var(--radius-pill);
  background: var(--insights-series-color, var(--color-info));
}

.insights-chart__legend-value,
.insights-chart-tooltip__value {
  color: var(--color-text);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  text-align: end;
}

.insights-chart [data-ticker="AAPL"] {
  --insights-series-color: var(--insights-series-aapl);
}

.insights-chart [data-ticker="NVDA"] {
  --insights-series-color: var(--insights-series-nvda);
}

.insights-chart [data-ticker="TSLA"] {
  --insights-series-color: var(--insights-series-tsla);
}

.insights-chart [data-ticker="MSFT"] {
  --insights-series-color: var(--insights-series-msft);
}

.insights-chart [data-ticker="AMZN"] {
  --insights-series-color: var(--insights-series-amzn);
}

.insights-chart [data-ticker="GOOGL"] {
  --insights-series-color: var(--insights-series-googl);
}

.insights-chart [data-ticker="SPY"] {
  --insights-series-color: var(--insights-series-spy);
}

.insights-chart [data-ticker="QQQ"] {
  --insights-series-color: var(--insights-series-qqq);
}

.insights-chart-tooltip {
  position: absolute;
  z-index: var(--z-dropdown);
  top: var(--space-0);
  right: auto;
  bottom: auto;
  left: var(--space-0);
  inline-size: max-content;
  max-inline-size: min(var(--insights-tooltip-max-size), calc(100% - var(--space-4)));
  overflow: hidden;
  border: var(--border-default);
  border-radius: var(--radius-xs);
  background: var(--color-surface-elevated);
  padding: var(--space-2-5);
  color: var(--color-text-secondary);
  font-size: var(--text-xs);
  line-height: var(--leading-normal);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  box-shadow: var(--shadow-md);
  transition: transform var(--insights-tooltip-duration) var(--ease-out);
  will-change: transform;
}

.insights-chart-tooltip:is([data-visible="true"], .is-visible) {
  visibility: visible;
  opacity: 1;
}

.insights-chart-tooltip:not([hidden]) {
  visibility: visible;
  opacity: 1;
}

.insights-chart-tooltip[hidden] {
  display: none;
}

.insights-chart-tooltip__title {
  margin-block-end: var(--space-2);
  color: var(--color-text);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
  font-weight: var(--weight-semibold);
}

.insights-chart-tooltip__list {
  display: grid;
  gap: var(--space-1);
  margin: var(--space-0);
  padding: var(--space-0);
  list-style: none;
}

.insights-chart-tooltip__row {
  display: grid;
  grid-template-columns: auto minmax(var(--space-0), 1fr) auto;
  align-items: center;
  min-block-size: var(--space-6);
  gap: var(--space-2);
}

.insights-chart-tooltip__label {
  overflow: hidden;
  color: var(--color-text-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.insights-chart-tooltip > strong {
  display: block;
  margin-block-end: var(--space-2);
  color: var(--color-text);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
  font-weight: var(--weight-semibold);
}

.insights-chart-tooltip > ul {
  display: grid;
  gap: var(--space-1);
  margin: var(--space-0);
  padding: var(--space-0);
  list-style: none;
}

.insights-chart-tooltip > ul > li {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr) auto;
  align-items: center;
  min-block-size: var(--space-6);
  gap: var(--space-3);
}

.insights-chart-tooltip > ul > li > span {
  display: flex;
  align-items: center;
  min-inline-size: var(--space-0);
  gap: var(--space-2);
  color: var(--color-text-muted);
}

.insights-chart-tooltip > ul i {
  display: inline-block;
  inline-size: var(--space-2);
  block-size: var(--space-2);
  flex: none;
  border-radius: var(--radius-pill);
}

.insights-chart-tooltip > ul b {
  color: var(--color-text);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-weight: var(--weight-semibold);
}

.insights-chart-tooltip > dl {
  display: grid;
  gap: var(--space-1);
  margin: var(--space-0);
}

.insights-chart-tooltip > dl > div {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr) auto;
  gap: var(--space-3);
  min-block-size: var(--space-6);
}

.insights-chart-tooltip > dl dt {
  color: var(--color-text-muted);
}

.insights-chart-tooltip > dl dd {
  margin: var(--space-0);
  color: var(--color-text);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  text-align: end;
}

.insights-chart-tooltip[data-presentation="floating"],
.insights-chart[data-tooltip-presentation="floating"] [data-chart-tooltip],
.insights-chart[data-tooltip-mode="floating"] .insights-chart-tooltip {
  top: var(--space-0);
  right: auto;
  bottom: auto;
  left: var(--space-0);
  inline-size: max-content;
  max-inline-size: min(var(--insights-tooltip-max-size), calc(100% - var(--space-4)));
}

.insights-chart-tooltip[data-presentation="docked"],
.insights-chart[data-tooltip-presentation="docked"] [data-chart-tooltip],
.insights-chart[data-tooltip-mode="docked"] .insights-chart-tooltip {
  top: auto;
  right: var(--insights-tooltip-safe-inset);
  bottom: var(--insights-tooltip-safe-inset);
  left: var(--insights-tooltip-safe-inset);
  inline-size: auto;
  max-inline-size: none;
  transform: none !important;
  transition: none;
  will-change: auto;
}

.insights-chart-tooltip[data-presentation="hidden"],
.insights-chart[data-tooltip-presentation="hidden"] [data-chart-tooltip],
.insights-chart[data-tooltip-mode="hidden"] .insights-chart-tooltip {
  top: var(--space-0);
  right: auto;
  bottom: auto;
  left: var(--space-0);
  display: none;
  transform: none !important;
  transition: none;
  will-change: auto;
}

/* Semantic View data disclosures ---------------------------------------- */

.insights-chart__data-disclosure,
.insights-chart-data {
  border-block-start: var(--border-subtle);
  background: var(--color-bg-raised);
}

.insights-chart__data-disclosure > summary,
.insights-chart-data > summary {
  min-block-size: var(--size-touch-min);
  padding: var(--space-3) var(--space-4);
  color: var(--color-text-secondary);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-normal);
  cursor: pointer;
}

.insights-chart__data-disclosure > summary::marker,
.insights-chart-data > summary::marker {
  color: var(--color-accent-muted);
}

.insights-chart__data-disclosure[open] > summary,
.insights-chart-data[open] > summary {
  border-block-end: var(--border-subtle);
  color: var(--color-text);
}

.insights-chart__data-table {
  max-inline-size: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.insights-chart__data-table > table,
.insights-chart-data__scroller > table,
.insights-chart-data__table {
  inline-size: 100%;
  border-collapse: collapse;
  font-size: var(--text-xs);
}

.insights-chart-data__scroller,
.insights-chart__data-scroller {
  max-inline-size: 100%;
  max-block-size: min(60dvh, calc(var(--space-32) * 3.5));
  overflow: auto;
  scrollbar-color: var(--color-border-strong) var(--color-surface);
  scrollbar-width: thin;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.insights-chart__data-disclosure > summary:focus-visible,
.insights-chart-data > summary:focus-visible,
.insights-chart__data-table:focus-visible,
.insights-chart-data__scroller:focus-visible,
.insights-chart__data-scroller:focus-visible {
  outline: var(--border-width-strong) solid var(--color-focus-ring);
  outline-offset: calc(var(--border-width-strong) * -1);
}

.insights-chart__data-table :is(th, td),
.insights-chart-data__scroller :is(th, td),
.insights-chart-data__table :is(th, td) {
  padding: var(--space-2) var(--space-3);
  border-block-end: var(--border-subtle);
  white-space: nowrap;
}

.insights-chart-data__scroller thead th {
  position: sticky;
  z-index: calc(var(--z-base) + 1);
  inset-block-start: var(--space-0);
}

.insights-chart-data__scroller :is(thead, tbody) tr > th:first-child {
  position: sticky;
  z-index: var(--z-base);
  inset-inline-start: var(--space-0);
  border-inline-end: var(--border-subtle);
  background: var(--color-bg-raised);
  text-align: start;
}

.insights-chart-data__scroller thead tr > th:first-child {
  z-index: calc(var(--z-base) + 2);
}

.insights-chart__data-table th,
.insights-chart-data__scroller th,
.insights-chart-data__table th {
  background: var(--color-bg-raised);
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
}

.insights-chart__data-table :is([data-numeric], .insights-numeric, td),
.insights-chart-data__scroller :is([data-numeric], .insights-numeric, td),
.insights-chart-data__table :is([data-numeric], .insights-numeric, td) {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  text-align: end;
}

.insights-chart-data__details {
  margin: var(--space-0);
  padding: var(--space-2) var(--space-4);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  line-height: var(--leading-relaxed);
  overflow-wrap: anywhere;
}

.insights-chart-data__details + .insights-chart-data__details {
  padding-block-start: var(--space-0);
}

.insights-chart-data__unavailable {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border-block-end: var(--border-subtle);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
}

.insights-chart-data__unavailable strong {
  color: var(--color-text-secondary);
}

.insights-chart-data__unavailable ul {
  display: grid;
  gap: var(--space-1);
  margin: var(--space-0);
  padding-inline-start: var(--space-5);
}

.insights-chart__data-disclosure .insights-chart__meta {
  flex-wrap: wrap;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.insights-chart-data__scroller [data-direction="positive"],
.insights-chart__data-table [data-direction="positive"],
.insights-chart-tooltip [data-direction="positive"],
.insights-chart-tooltip[data-direction="positive"],
.insights-bubble__readout[data-direction="positive"] {
  color: var(--color-success);
}

.insights-chart-data__scroller [data-direction="negative"],
.insights-chart__data-table [data-direction="negative"],
.insights-chart-tooltip [data-direction="negative"],
.insights-chart-tooltip[data-direction="negative"],
.insights-bubble__readout[data-direction="negative"] {
  color: var(--color-error);
}

.insights-chart-data__scroller [data-direction="flat"],
.insights-chart-data__scroller [data-direction="unavailable"],
.insights-chart__data-table [data-direction="flat"],
.insights-chart__data-table [data-direction="unavailable"],
.insights-chart-tooltip [data-direction="flat"],
.insights-chart-tooltip [data-direction="unavailable"],
.insights-chart-tooltip[data-direction="flat"],
.insights-chart-tooltip[data-direction="unavailable"],
.insights-bubble__readout:is([data-direction="flat"], [data-direction="unavailable"]) {
  color: var(--color-text-muted);
}
.insights-fact__value[data-direction="positive"] {
  color: var(--color-success);
}

.insights-fact__value[data-direction="negative"] {
  color: var(--color-error);
}

.insights-fact__value:is([data-direction="flat"], [data-direction="unavailable"]) {
  color: var(--color-text-muted);
}

.insights-chart-data__empty {
  padding: var(--space-4);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  text-align: center;
}

/* Performance explorer --------------------------------------------------- */

.insights-section__header--performance {
  align-items: center;
}

.insights-performance-title {
  font-family: var(--font-mono);
  font-size: var(--text-base);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--color-text);
  margin: 0;
}

.insights-performance-source {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  margin: var(--space-1) 0 0 0;
}

.insights-performance-chart {
  display: grid;
  grid-template-rows: minmax(var(--space-0), 1fr) auto auto auto;
  background: var(--color-bg);
}

.insights-performance-chart .insights-chart__stage {
  block-size: var(--insights-performance-block-size);
  background: var(--color-bg);
}

.insights-performance-chart__svg {
  touch-action: pan-y;
}

.insights-performance-chart__svg > text {
  fill: var(--color-text-muted);
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.insights-performance-chart [data-performance-series="AAPL"],
.insights-performance-chart__dot[data-performance-dot="AAPL"],
.insights-screener [data-screener-point="AAPL"] {
  --insights-series-color: var(--insights-series-aapl, #F5F5F7);
}

.insights-performance-chart [data-performance-series="NVDA"],
.insights-performance-chart__dot[data-performance-dot="NVDA"],
.insights-screener [data-screener-point="NVDA"] {
  --insights-series-color: var(--insights-series-nvda, #76B900);
}

.insights-performance-chart [data-performance-series="TSLA"],
.insights-performance-chart__dot[data-performance-dot="TSLA"],
.insights-screener [data-screener-point="TSLA"] {
  --insights-series-color: var(--insights-series-tsla, #E82127);
}

.insights-performance-chart [data-performance-series="MSFT"],
.insights-performance-chart__dot[data-performance-dot="MSFT"],
.insights-screener [data-screener-point="MSFT"] {
  --insights-series-color: var(--insights-series-msft, #00A4EF);
}

.insights-performance-chart [data-performance-series="AMZN"],
.insights-performance-chart__dot[data-performance-dot="AMZN"],
.insights-screener [data-screener-point="AMZN"] {
  --insights-series-color: var(--insights-series-amzn, #FF9900);
}

.insights-performance-chart [data-performance-series="GOOGL"],
.insights-performance-chart__dot[data-performance-dot="GOOGL"],
.insights-screener [data-screener-point="GOOGL"] {
  --insights-series-color: var(--insights-series-googl, #4285F4);
}

.insights-performance-chart [data-performance-series="SPY"],
.insights-performance-chart__dot[data-performance-dot="SPY"],
.insights-screener [data-screener-point="SPY"] {
  --insights-series-color: var(--insights-series-spy, #FF4FA3);
}

.insights-performance-chart [data-performance-series="QQQ"],
.insights-performance-chart__dot[data-performance-dot="QQQ"],
.insights-screener [data-screener-point="QQQ"] {
  --insights-series-color: var(--insights-series-qqq, #7C5CFF);
}

.insights-screener [data-screener-point][data-direction="positive"] {
  --insights-series-color: var(--color-success);
}

.insights-screener [data-screener-point][data-direction="negative"] {
  --insights-series-color: var(--color-error);
}

.insights-screener [data-screener-point]:is([data-direction="flat"], [data-direction="unavailable"]) {
  --insights-series-color: var(--color-text-muted);
}

.insights-performance-chart__line-depth,
.insights-performance-chart__line,
.insights-performance-chart__leader,
.insights-performance-chart__endpoint-dot {
  stroke: var(--insights-series-color, var(--color-info));
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

.insights-performance-chart__line-depth,
.insights-performance-chart__line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.insights-performance-chart__line-depth {
  display: none;
  stroke-width: 0;
  opacity: 0;
}

.insights-performance-chart__line {
  stroke-width: 1.75px;
}

.insights-chart__axis--baseline,
.insights-performance-chart__zero-line {
  stroke: var(--color-border-strong, rgb(255 255 255 / 0.3));
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

.insights-performance-chart__leader {
  stroke-width: 1px;
  opacity: 0.6;
}

.insights-performance-chart__endpoint-dot {
  fill: var(--color-bg);
  stroke-width: 2px;
}

.insights-performance-chart__endpoint-pill {
  pointer-events: none;
  vector-effect: non-scaling-stroke;
}

.insights-performance-chart__endpoint {
  fill: #0a0a0a !important;
  color: #0a0a0a !important;
  font-family: var(--font-mono);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  font-weight: var(--weight-bold);
  pointer-events: none;
}

.insights-performance-chart [data-performance-series] {
  transition: opacity var(--duration-fast) var(--ease-out), filter var(--duration-fast) var(--ease-out);
}

.insights-performance-chart[data-active-series]:not([data-active-series=""])
  [data-performance-series][data-active="false"] {
  opacity: 0.35;
}

.insights-performance-chart [data-performance-series][data-active="true"] {
  filter: brightness(1.25);
}

.insights-performance-chart__guide {
  stroke: var(--color-border-strong, rgb(255 255 255 / 0.35));
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

.insights-performance-chart__dot {
  fill: var(--insights-series-color, var(--color-info));
  stroke: var(--color-bg);
  stroke-width: 2px;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

.insights-performance-chart [data-performance-empty] {
  fill: var(--color-text-muted);
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.insights-performance-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  margin-block-start: var(--space-2);
  border-block-start: 1px solid var(--color-border-subtle);
}

.insights-performance-legend__chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1-5);
  padding: var(--space-1) var(--space-2-5);
  border-radius: var(--radius-xs);
  border: 1px solid var(--color-border-subtle);
  background: var(--color-surface);
  color: var(--color-text);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  cursor: pointer;
  transition: background var(--duration-fast), border-color var(--duration-fast), opacity var(--duration-fast);
}

.insights-performance-legend__chip:hover {
  background: var(--color-surface-hover);
  border-color: var(--color-border);
}

.insights-performance-legend__chip[aria-pressed="false"] {
  opacity: 0.38;
  background: transparent;
  border-color: var(--color-border-subtle);
  color: var(--color-text-muted);
}

.insights-performance-legend__chip--all {
  font-weight: var(--weight-semibold);
}

.insights-performance-legend__chip--all[aria-pressed="true"] {
  background: var(--color-surface-active);
  border-color: var(--color-border-strong);
}

.insights-performance-legend__dot {
  inline-size: 6px;
  block-size: 6px;
  border-radius: var(--radius-full);
  display: inline-block;
  flex-shrink: 0;
}

.insights-performance-legend__ticker {
  font-weight: var(--weight-semibold);
}

.insights-performance-legend__return {
  font-variant-numeric: tabular-nums;
  color: var(--color-text-muted);
}

.insights-performance-legend__return[data-direction="positive"] {
  color: var(--color-success, #c9f24b);
}

.insights-performance-legend__return[data-direction="negative"] {
  color: var(--color-error, #ff4d4f);
}
/* Fixed-point screener --------------------------------------------------- */

.insights-screener {
  display: grid;
  grid-template-rows: auto auto auto minmax(var(--space-0), 1fr) auto auto;
  align-content: stretch;
  background: var(--insights-plot-surface);
}

.insights-screener__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border-block-end: var(--border-width) solid var(--insights-neutral-border);
  background: var(--insights-panel-surface);
}

.insights-screener__heading {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.insights-screener__title {
  margin: 0;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text);
}

.insights-screener__info-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 1.25rem;
  block-size: 1.25rem;
  padding: 0;
  border: 1px solid var(--insights-neutral-border);
  border-radius: var(--radius-full);
  background: transparent;
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: 11px;
  cursor: help;
  transition: color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);
}

.insights-screener__info-btn:hover,
.insights-screener__info-btn:focus-visible {
  color: var(--insights-accent);
  border-color: var(--insights-accent);
  outline: none;
}

.insights-screener__controls {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.insights-screener__select--compact {
  padding-block: var(--space-1);
  padding-inline: var(--space-2);
  font-size: var(--text-xs);
  min-block-size: 1.75rem;
}

.insights-screener__advanced {
  border-block-end: var(--border-width) solid var(--insights-neutral-border);
  background: var(--insights-panel-surface);
}

.insights-screener__advanced-summary {
  padding: var(--space-1) var(--space-3);
  color: var(--color-text-muted);
  font-size: 11px;
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  cursor: pointer;
  user-select: none;
}

.insights-screener__advanced[open] .insights-screener__advanced-summary {
  border-block-end: var(--border-width) solid var(--insights-neutral-border);
}

.insights-screener__advanced .insights-screener__selectors {
  border-block-end: none;
}

.insights-screener__selectors {
  display: grid;
  grid-template-columns: repeat(2, minmax(var(--space-0), 1fr));
  align-items: end;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  background: var(--insights-panel-surface);
}

.insights-screener__selectors label {
  display: grid;
  min-inline-size: var(--space-0);
  gap: var(--space-1);
  color: var(--color-text-muted);
  font-size: 11px;
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-wide);
}

.insights-screener__select {
  inline-size: 100%;
  min-inline-size: var(--space-0);
}

.insights-screener [data-screener-reset] {
  min-block-size: 1.75rem;
  padding: var(--space-1) var(--space-3);
  border: var(--border-width) solid var(--insights-neutral-border);
  border-radius: var(--radius-xs);
  background: var(--insights-raised-surface);
  color: var(--color-text-secondary);
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-none);
  box-shadow: none;
  cursor: pointer;
}

.insights-screener [data-screener-reset]:disabled {
  border-color: var(--color-border-subtle);
  background: var(--color-control-bg-disabled);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}

.insights-screener__zoom-controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(var(--space-0), 1fr));
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-1) var(--space-3);
  border-block-end: var(--border-width) solid var(--insights-neutral-border);
  background: var(--insights-panel-surface);
}

.insights-screener__zoom-control {
  display: grid;
  grid-template-columns: max-content minmax(var(--space-0), 1fr);
  min-inline-size: var(--space-0);
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text-muted);
  font-size: 11px;
  font-weight: var(--weight-medium);
  line-height: var(--leading-snug);
}

.insights-screener__zoom-slider {
  inline-size: 100%;
  min-inline-size: var(--space-0);
  block-size: var(--space-9);
  min-block-size: var(--space-9);
  margin: var(--space-0);
  accent-color: var(--insights-accent);
  cursor: ew-resize;
}

.insights-screener__zoom-slider:disabled {
  cursor: not-allowed;
  opacity: var(--opacity-disabled);
}

.insights-screener__zoom-slider:focus-visible {
  outline: var(--border-width-strong) solid var(--insights-accent);
  outline-offset: calc(var(--border-width-strong) * -1);
}

.insights-screener__tints {
  pointer-events: none;
}

.insights-screener__tint {
  pointer-events: none;
}

.insights-screener__tint--bullish {
  fill: rgba(0, 230, 118, 0.07);
}

.insights-screener__tint--bearish {
  fill: rgba(232, 33, 39, 0.08);
}

.insights-screener__zero-axis {
  stroke: rgba(255, 255, 255, 0.35);
  stroke-width: 1.5px;
  stroke-dasharray: 3px 3px;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

.insights-screener__quadrant {
  fill: var(--color-text-subtle);
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  pointer-events: none;
}

.insights-screener__quadrant[data-screener-quadrant="bullish"],
.insights-screener__quadrant[data-screener-quadrant="bearish"] {
  font-size: 1.125rem;
  font-weight: var(--weight-bold);
  letter-spacing: 0.15em;
  opacity: 0.18;
}

.insights-screener__quadrant[data-screener-quadrant="bullish"] {
  fill: var(--color-success);
}

.insights-screener__quadrant[data-screener-quadrant="bearish"] {
  fill: var(--color-error);
}

.insights-screener__svg [data-screener-x-ticks] text,
.insights-screener__svg [data-screener-y-ticks] text {
  font-family: var(--font-mono);
  font-size: 11px;
  fill: var(--color-text-muted);
}

.insights-screener__zoom {
  color: var(--color-text-secondary);
}

.insights-screener__zoom-track {
  cursor: pointer;
  touch-action: pan-y;
}

.insights-screener__zoom-window {
  cursor: grab;
  touch-action: pan-y;
}

.insights-screener__zoom-handle {
  cursor: ew-resize;
  touch-action: pan-y;
}

.insights-screener__zoom-hit {
  pointer-events: all;
  touch-action: pan-y;
}

.insights-screener__zoom-hit[data-screener-zoom="track"] {
  cursor: pointer;
}

.insights-screener__zoom-hit[data-screener-zoom="window"] {
  cursor: grab;
}

.insights-screener__zoom-hit:is(
  [data-screener-zoom="start"],
  [data-screener-zoom="end"]
) {
  cursor: ew-resize;
}

.insights-screener__point,
.insights-screener__hit {
  cursor: pointer;
}

.insights-screener__point {
  color: var(--insights-ticker-hue, var(--insights-series-color, var(--insights-neutral-data)));
  fill: var(--insights-ticker-hue, var(--insights-series-color, var(--insights-neutral-data)));
  stroke: var(--insights-plot-surface, #0d0d0d);
  stroke-width: 1px;
  opacity: 1;
  paint-order: stroke fill;
  transition:
    r var(--duration-fast) var(--ease-out),
    filter var(--duration-fast) var(--ease-out),
    stroke var(--duration-fast) var(--ease-out);
}

.insights-screener__hit {
  fill: transparent;
  stroke: transparent;
  pointer-events: all;
}

.insights-screener__point-label {
  fill: var(--color-text-secondary);
  color: var(--color-text-secondary);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  pointer-events: none;
}

.insights-screener :is(
  .insights-screener__point.is-active,
  .insights-screener__point[data-active="true"],
  .insights-screener__point[aria-current="true"],
  [data-screener-point][data-active="true"] .insights-screener__point,
  [data-active-ticker="AAPL"] [data-screener-point="AAPL"] .insights-screener__point,
  [data-active-ticker="NVDA"] [data-screener-point="NVDA"] .insights-screener__point,
  [data-active-ticker="TSLA"] [data-screener-point="TSLA"] .insights-screener__point,
  [data-active-ticker="MSFT"] [data-screener-point="MSFT"] .insights-screener__point,
  [data-active-ticker="AMZN"] [data-screener-point="AMZN"] .insights-screener__point,
  [data-active-ticker="GOOGL"] [data-screener-point="GOOGL"] .insights-screener__point,
  [data-active-ticker="SPY"] [data-screener-point="SPY"] .insights-screener__point,
  [data-active-ticker="QQQ"] [data-screener-point="QQQ"] .insights-screener__point
) {
  filter: brightness(1.25) saturate(1.15);
  stroke: var(--insights-accent);
  stroke-width: 1.5px;
}

.insights-screener [data-screener-reset]:focus-visible {
  outline: none;
  border-color: var(--insights-accent);
  box-shadow: var(--space-0) var(--space-0) var(--space-0) var(--border-width-strong) var(--insights-accent-soft);
}

/* Packed bubbles: exact return area with layered semantic marks ----------- */

@keyframes insights-bubble-float-1 {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(0, -3px); }
}

@keyframes insights-bubble-float-2 {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(2px, -2px); }
}

@keyframes insights-bubble-float-3 {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(-2px, 2px); }
}

.insights-bubble__node {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  pointer-events: visiblePainted;
  -webkit-tap-highlight-color: transparent;
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1), filter 180ms ease;
  animation: insights-bubble-float-1 7s ease-in-out infinite;
}

.insights-bubble__node[data-motion-slot="1"] {
  animation-name: insights-bubble-float-2;
  animation-duration: 6.5s;
  animation-delay: -1.2s;
}

.insights-bubble__node[data-motion-slot="2"] {
  animation-name: insights-bubble-float-3;
  animation-duration: 7.5s;
  animation-delay: -2.4s;
}

.insights-bubble__node[data-motion-slot="3"] {
  animation-name: insights-bubble-float-1;
  animation-duration: 8s;
  animation-delay: -3.6s;
}

.insights-bubble__node[data-motion-slot="4"] {
  animation-name: insights-bubble-float-2;
  animation-duration: 6.8s;
  animation-delay: -4.8s;
}

.insights-bubble__node[data-motion-slot="5"] {
  animation-name: insights-bubble-float-3;
  animation-duration: 7.2s;
  animation-delay: -5.5s;
}

.insights-bubble__node:is(:hover, :focus-visible, [data-active="true"]) {
  animation-play-state: paused;
  transform: scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
  .insights-bubble__node {
    animation: none !important;
  }
}

[data-reduced-motion="true"] .insights-bubble__node {
  animation: none !important;
}

.insights-bubble .insights-chart__plot {
  background-color: var(--insights-plot-surface);
  background-image:
    linear-gradient(var(--insights-grid-line) var(--border-width), transparent var(--border-width)),
    linear-gradient(90deg, var(--insights-grid-line) var(--border-width), transparent var(--border-width));
  background-size: var(--space-8) var(--space-8);
}

.insights-bubble__target {
  fill: var(--color-text);
  fill-opacity: 0.01;
  stroke: none;
  pointer-events: all;
  touch-action: manipulation;
}

.insights-bubble__halo,
.insights-bubble__disc,
.insights-bubble__rim {
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

.insights-bubble__halo {
  fill: none;
  stroke: var(--insights-neutral-data);
  stroke-width: 10px;
  opacity: 0.22;
}

.insights-bubble__disc {
  fill: var(--insights-bubble-fill, var(--insights-raised-surface));
  stroke: none;
}

.insights-bubble__rim {
  fill: none;
  stroke: var(--insights-neutral-data);
  stroke-width: 2px;
  opacity: 0.95;
}


.insights-bubble__node:is([data-sign="positive"], [data-direction="positive"]) :is(.insights-bubble__halo, .insights-bubble__rim) {
  stroke: var(--insights-positive);
}


.insights-bubble__node:is([data-sign="negative"], [data-direction="negative"]) :is(.insights-bubble__halo, .insights-bubble__rim) {
  stroke: var(--insights-negative);
}

.insights-bubble__node:is([data-sign="neutral"], [data-direction="flat"]) :is(.insights-bubble__halo, .insights-bubble__rim) {
  stroke: var(--insights-neutral-data);
}

.insights-bubble__node[data-area-scaled="false"] :is(.insights-bubble__disc, .insights-bubble__rim) {
  fill: var(--insights-plot-surface);
  stroke: var(--insights-neutral-data);
  stroke-dasharray: var(--space-1) var(--space-1);
}

.insights-bubble__logo {
  opacity: 0.96;
  pointer-events: none;
}

.insights-bubble__node:is(:hover, :focus-visible, [data-active="true"])
  :is(.insights-bubble__halo, .insights-bubble__disc, .insights-bubble__rim, .insights-bubble__logo, text) {
  filter: brightness(1.28);
  opacity: 1;
}

.insights-bubble__node:is(:focus-visible, [data-active="true"]) .insights-bubble__target {
  fill: transparent;
  stroke: var(--insights-accent);
  stroke-width: var(--border-width-strong);
}

.insights-bubble__ticker,
.insights-bubble__value {
  fill: var(--color-text);
  color: var(--color-text);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  paint-order: stroke fill;
  stroke: var(--insights-label-shadow);
  stroke-width: var(--border-width-strong);
  text-anchor: middle;
  pointer-events: none;
}

.insights-bubble__ticker {
  font-weight: var(--weight-bold);
}


.insights-bubble__value {
  fill: var(--color-text-muted);
  color: var(--color-text-muted);
  font-weight: var(--weight-medium);
}

.insights-bubble__node[data-direction="positive"] .insights-bubble__value {
  fill: var(--color-success);
  color: var(--color-success);
}

.insights-bubble__node[data-direction="negative"] .insights-bubble__value {
  fill: var(--color-error);
  color: var(--color-error);
}

.insights-bubble__node:is([data-direction="flat"], [data-direction="unavailable"]) .insights-bubble__value {
  fill: var(--color-text-muted);
  color: var(--color-text-muted);
}

.insights-bubble__readout {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr) auto;
  align-items: baseline;
  gap: var(--space-2);
  min-block-size: var(--space-9);
  padding: var(--space-2) var(--space-3);
  border-block-start: var(--border-width) solid var(--insights-neutral-border);
  background: var(--insights-panel-surface);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
}

.insights-bubble__readout strong {
  color: var(--color-text);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

/* Squarified heatmap: whole-tile hit, immutable hover geometry ------------ */

.insights-heatmap .insights-chart__plot {
  display: grid;
  grid-template-rows: minmax(var(--space-0), 1fr) auto;
  padding: var(--space-0);
}

.insights-heatmap [data-heatmap-layout] {
  min-block-size: var(--space-0);
  border-radius: var(--radius-none);
}

.insights-heatmap__tile {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  pointer-events: visiblePainted;
  -webkit-tap-highlight-color: transparent;
}

.insights-heatmap__tile :is(.insights-heatmap__rect, .insights-heatmap__logo, text) {
  transition: filter var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);
}

.insights-heatmap__group {
  pointer-events: none;
}

.insights-heatmap__group-header {
  fill: var(--insights-plot-surface);
  stroke: var(--insights-neutral-border);
  stroke-width: var(--border-width);
}

.insights-heatmap__group-title {
  fill: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  dominant-baseline: middle;
}

.insights-heatmap__group-aggregate {
  fill: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: var(--weight-medium);
  font-variant-numeric: tabular-nums;
  dominant-baseline: middle;
}

.insights-heatmap__tile:is(:hover, :focus-visible, [data-active="true"]) :is(.insights-heatmap__rect, .insights-heatmap__logo, text) {
  filter: brightness(1.3) saturate(1.08);
}

.insights-heatmap__tile:is(:hover, :focus-visible, [data-active="true"]) .insights-heatmap__rect {
  stroke: var(--insights-accent);
  stroke-width: var(--border-width-strong);
}

.insights-heatmap__rect {
  stroke: var(--insights-neutral-border);
  stroke-width: var(--border-width);
  vector-effect: non-scaling-stroke;
}

.insights-heatmap__tile:is([data-return-state="positive"], [data-direction="positive"]) .insights-heatmap__rect,
.insights-heatmap__rect--positive {
  fill: var(--insights-heatmap-return-fill, var(--insights-semantic-positive-depth));
}

.insights-heatmap__tile:is([data-return-state="negative"], [data-direction="negative"]) .insights-heatmap__rect,
.insights-heatmap__rect--negative {
  fill: var(--insights-heatmap-return-fill, var(--insights-semantic-negative-depth));
}

.insights-heatmap__tile:is([data-return-state="zero"], [data-direction="flat"]) .insights-heatmap__rect,
.insights-heatmap__rect--zero {
  fill: var(--insights-heatmap-return-fill, var(--insights-raised-surface));
}

.insights-heatmap__tile:is([data-return-state="unavailable"], [data-direction="unavailable"]) .insights-heatmap__rect,
.insights-heatmap__rect--missing {
  stroke: var(--color-text-subtle);
  stroke-dasharray: var(--space-1) var(--space-1);
}

.insights-heatmap__ticker,
.insights-heatmap__value,
.insights-heatmap__return {
  fill: var(--color-text);
  color: var(--color-text);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  paint-order: stroke fill;
  stroke: var(--insights-label-shadow);
  stroke-width: var(--border-width-strong);
  pointer-events: none;
}

.insights-heatmap__logo {
  opacity: 0.94;
  pointer-events: none;
}

.insights-heatmap__ticker {
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-wide);
}

.insights-heatmap__value {
  fill: var(--color-text-muted);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
}

.insights-heatmap__return {
  fill: var(--color-text-secondary);
  color: var(--color-text-secondary);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
}

.insights-heatmap__tile[data-direction="positive"] .insights-heatmap__return {
  fill: var(--color-success);
  color: var(--color-success);
}

.insights-heatmap__tile[data-direction="negative"] .insights-heatmap__return {
  fill: var(--color-error);
  color: var(--color-error);
}

.insights-heatmap__tile:is([data-direction="flat"], [data-direction="unavailable"]) .insights-heatmap__return {
  fill: var(--color-text-muted);
  color: var(--color-text-muted);
}

.insights-heatmap__missing-value {
  pointer-events: none;
}

.insights-heatmap__legend {
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  gap: var(--space-2);
  overflow-x: auto;
  overflow-y: hidden;
  padding: var(--space-1) var(--space-2);
  border-block-start: var(--border-width) solid var(--insights-neutral-border);
  background: var(--insights-panel-surface);
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
}

.insights-heatmap__legend .insights-chart__legend-item {
  display: inline-flex;
  grid-template-columns: none;
  align-items: center;
  min-inline-size: var(--space-0);
  flex: 0 0 auto;
  gap: var(--space-1);
  color: var(--color-text-secondary);
  font-size: 11px;
  white-space: nowrap;
}

.insights-heatmap__legend .insights-chart__legend-item::before {
  inline-size: var(--space-3);
  block-size: var(--space-3);
  flex: none;
  border: var(--border-width) solid var(--color-border-strong);
  border-radius: var(--radius-xs);
  background: var(--color-surface-elevated);
  content: "";
}

.insights-heatmap__legend [data-heatmap-legend="positive"]::before {
  border-color: var(--color-success-border);
  background: var(--insights-semantic-positive-depth);
}

.insights-heatmap__legend [data-heatmap-legend="zero"]::before {
  background: var(--color-surface-high);
}

.insights-heatmap__legend [data-heatmap-legend="negative"]::before {
  border-color: var(--color-error-border);
  background: var(--insights-semantic-negative-depth);
}

.insights-heatmap__legend [data-heatmap-legend="missing-value"]::before {
  border-color: var(--color-warning);
  background:
    repeating-linear-gradient(
      45deg,
      var(--color-warning) var(--space-0) var(--border-width),
      transparent var(--border-width) var(--space-1)
    ),
    var(--color-surface-elevated);
}

.insights-heatmap__legend [data-heatmap-legend="missing-return"]::before {
  background:
    repeating-linear-gradient(
      135deg,
      var(--color-text-subtle) var(--space-0) var(--border-width),
      transparent var(--border-width) var(--space-1)
    ),
    var(--color-surface-elevated);
}

/* Dashboard categorical bars, donut, and reporting status --------------- */

.insights-dashboard-bars__band {
  fill: var(--color-highlight);
  pointer-events: all;
  cursor: default;
}

.insights-dashboard-bars__band:is(.is-active, [data-active="true"]) {
  fill: var(--color-highlight);
}

.insights-dashboard-bars__bar:not(.insights-dashboard-bars__bar--missing) {
  fill: var(--insights-series-color, var(--color-accent));
  pointer-events: none;
}

.insights-dashboard-bars__bar--missing {
  pointer-events: none;
}

.insights-dashboard-bars__label,
.insights-dashboard-bars__value {
  fill: var(--color-text-muted);
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

.insights-dashboard-bars__value {
  fill: var(--color-text-secondary);
  color: var(--color-text-secondary);
  text-anchor: end;
}

.insights-dashboard-donut__slice {
  fill: var(--insights-series-color, var(--color-info));
  stroke: var(--color-bg);
  stroke-width: var(--border-width-strong);
  vector-effect: non-scaling-stroke;
  cursor: default;
}

.insights-dashboard-donut__center,
.insights-dashboard-donut__center-label,
.insights-dashboard-donut__center-value,
.insights-dashboard-donut__center-share {
  pointer-events: none;
  text-anchor: middle;
}

.insights-dashboard-donut__center-label,
.insights-dashboard-donut__center-share {
  fill: var(--color-text-muted);
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.insights-dashboard-donut__center-value {
  fill: var(--color-text);
  color: var(--color-text);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
  font-weight: var(--weight-semibold);
}

.insights-reporting-status .insights-chart__plot {
  padding: var(--space-3);
}

.insights-reporting-status .insights-chart__explorer {
  display: grid;
  align-content: start;
  gap: var(--space-3);
}

.insights-reporting-status .insights-chart__explorer > ul {
  display: grid;
  gap: var(--space-1);
  margin: var(--space-0);
  padding: var(--space-0);
  list-style: none;
}

.insights-reporting-status__row {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr) auto;
  align-items: center;
  min-block-size: var(--space-8);
  gap: var(--space-3);
  padding-inline: var(--space-2);
  border-block-end: var(--border-subtle);
}

.insights-reporting-status__row[data-active="true"] {
  box-shadow: inset var(--border-width-strong) var(--space-0) var(--space-0) var(--color-text-secondary);
  background: var(--color-highlight);
}

.insights-reporting-status__row:last-child {
  border-block-end: var(--space-0);
}

.insights-reporting-status__ticker,
.insights-reporting-status__state {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
}

.insights-reporting-status__ticker {
  color: var(--color-text-secondary);
  font-weight: var(--weight-semibold);
}

.insights-reporting-status__state {
  color: var(--color-text-muted);
  text-align: end;
}

.insights-reporting-status__row[data-reporting-state="positive"] .insights-reporting-status__state,
.insights-reporting-status__state[data-status="positive"] {
  color: var(--color-success);
}

.insights-reporting-status__row[data-reporting-state="zero"] .insights-reporting-status__state,
.insights-reporting-status__state[data-status="zero"] {
  color: var(--color-text-secondary);
}

.insights-reporting-status__row[data-reporting-state="unavailable"] .insights-reporting-status__state,
.insights-reporting-status__state[data-status="unavailable"] {
  color: var(--color-text-subtle);
}

.insights-reporting-status__bar {
  grid-column: 1 / -1;
  block-size: var(--space-0-5);
  overflow: hidden;
  border-radius: var(--radius-pill);
  background: var(--color-surface-high);
}

.insights-reporting-status__bar > span {
  display: block;
  block-size: 100%;
  border-radius: inherit;
  background: var(--color-accent);
}

/* Dense sortable Stock Token table -------------------------------------- */

.insights-table-section {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  gap: var(--space-3);
  min-inline-size: var(--space-0);
}

.insights-table-scroll,
.insights-token-table-scroll {
  max-inline-size: 100%;
  overflow: auto;
  overscroll-behavior-inline: contain;
  border: var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--color-bg-raised);
  scrollbar-color: var(--color-border-strong) var(--color-bg-raised);
  -webkit-overflow-scrolling: touch;
}

.insights-token-table {
  inline-size: 100%;
  min-inline-size: var(--insights-table-min-size);
  border-collapse: separate;
  border-spacing: var(--space-0);
  color: var(--color-text-secondary);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
  table-layout: auto;
}

.insights-token-table thead {
  position: sticky;
  z-index: var(--z-sticky);
  inset-block-start: var(--space-0);
}

.insights-token-table thead tr {
  block-size: var(--insights-table-header-size);
}

.insights-token-table tbody tr {
  block-size: var(--insights-table-row-size);
  background: var(--color-bg-raised);
  cursor: default;
  transition: none;
}

.insights-token-table :is(th, td) {
  block-size: inherit;
  padding-block: var(--space-0);
  padding-inline: var(--space-4);
  border-block-end: var(--border-subtle);
  text-align: start;
  vertical-align: middle;
  white-space: nowrap;
}

.insights-token-table thead th {
  background: var(--color-surface);
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  box-shadow: inset var(--space-0) calc(var(--border-width) * -1) var(--space-0) var(--color-border);
}

.insights-token-table tbody tr:last-child > * {
  border-block-end: var(--space-0);
}

.insights-token-table :is([data-numeric], .insights-numeric) {
  font-family: var(--font-mono);
  font-feature-settings: var(--font-feature-numeric);
  text-align: end;
}

.insights-token-table__identity,
.insights-token-identity {
  display: flex;
  align-items: center;
  min-inline-size: var(--space-32);
  gap: var(--space-2);
}

.insights-token-table__identity-copy,
.insights-token-identity__copy {
  display: grid;
  min-inline-size: var(--space-0);
  gap: var(--space-0-5);
}

.insights-token-table__ticker,
.insights-token-identity__ticker {
  color: var(--color-text);
  font-family: var(--font-mono);
  font-weight: var(--weight-semibold);
}

.insights-token-table__issuer,
.insights-token-identity__issuer,
.insights-token-table__address {
  overflow: hidden;
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.insights-token-table__identity-link,
.insights-token-identity__link {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--size-touch-min);
  border-radius: var(--radius-xs);
  color: inherit;
  text-decoration-color: var(--color-border-strong);
  text-decoration-thickness: var(--border-width);
  text-underline-offset: var(--space-1);
  cursor: pointer;
}

.insights-sort-button {
  display: inline-flex;
  min-inline-size: var(--space-0);
  min-block-size: var(--space-8);
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-2);
  border: var(--space-0);
  border-radius: var(--radius-xs);
  background: transparent;
  padding: var(--space-1) var(--space-0);
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  line-height: var(--leading-none);
  text-transform: inherit;
  box-shadow: none;
  cursor: pointer;
}

.insights-token-table :is([data-numeric], .insights-numeric) .insights-sort-button {
  inline-size: 100%;
  flex-direction: row-reverse;
  justify-content: flex-start;
}

.insights-sort-button:is(.is-active, [aria-sort="ascending"], [aria-sort="descending"]),
.insights-token-table th[aria-sort]:not([aria-sort="none"]) .insights-sort-button {
  color: var(--color-text);
}

.insights-sort-button__caret {
  color: var(--color-text-subtle);
  font-size: var(--text-xs);
  opacity: var(--opacity-muted);
}

.insights-sort-button:is(.is-active, [aria-sort="ascending"], [aria-sort="descending"]) .insights-sort-button__caret,
.insights-token-table th[aria-sort]:not([aria-sort="none"]) .insights-sort-button__caret {
  color: var(--color-accent);
  opacity: 1;
}

.insights-table-status,
.insights-status-badge {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--space-6);
  gap: var(--space-1);
  border: var(--border-subtle);
  border-radius: var(--radius-pill);
  padding: var(--space-1) var(--space-2);
  background: var(--color-surface-elevated);
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: var(--leading-none);
  white-space: nowrap;
}

.insights-table-status[data-status="reported"],
.insights-status-badge[data-status="complete"] {
  border-color: var(--color-border-strong);
  color: var(--color-text-secondary);
}

.insights-table-status[data-status="partial"],
.insights-status-badge[data-status="partial"] {
  border-color: var(--color-warning-border);
  color: var(--color-warning);
}

.insights-table-status[data-status="unavailable"],
.insights-status-badge[data-status="unavailable"] {
  color: var(--color-text-subtle);
}

/* Baskets and stock drilldown facts -------------------------------------- */

.insights-basket-grid,
.insights-facts-grid,
.insights-stock-metrics {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  gap: var(--space-4);
}

.insights-basket-card,
.insights-fact {
  min-inline-size: var(--space-0);
  border: var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--color-bg-raised);
}

.insights-basket-card {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  min-block-size: var(--insights-basket-summary-min-block-size);
}

.insights-basket-card__header,
.insights-stock-header,
.insights-stock-identity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-inline-size: var(--space-0);
}

.insights-basket-card__header,
.insights-stock-header {
  justify-content: space-between;
  gap: var(--space-3);
}

.insights-basket-card__title,
.insights-stock-identity__ticker {
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-semibold);
}

.insights-basket-card__copy,
.insights-stock-identity__issuer {
  color: var(--color-text-muted);
  font-size: var(--text-xs);
}

.insights-constituents {
  display: grid;
  grid-template-columns: repeat(2, minmax(var(--space-0), 1fr));
  margin: var(--space-0);
  padding: var(--space-0);
  border-block: var(--border-subtle);
  list-style: none;
}

.insights-constituent {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr) auto;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border-block-end: var(--border-subtle);
  color: var(--color-text-secondary);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.insights-constituent:nth-last-child(-n + 2) {
  border-block-end: var(--space-0);
}

.insights-constituent__weight {
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
}

.insights-fact {
  display: grid;
  min-block-size: var(--insights-fact-responsive-min-block-size);
  gap: var(--space-1);
  padding: var(--space-4);
}

.insights-stock-header {
  padding: var(--space-4);
  border: var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--color-bg-raised);
}

.insights-stock-metrics + .insights-panel {
  min-block-size: var(--insights-source-panel-min-block-size);
}

.insights-stock-identity {
  gap: var(--space-3);
}

.insights-stock-identity__copy {
  display: grid;
  min-inline-size: var(--space-0);
  gap: var(--space-0-5);
}

.insights-stock-note {
  padding: var(--space-3) var(--space-4);
  border-inline-start: var(--border-width-strong) solid var(--color-info);
  background: var(--color-info-soft);
  color: var(--color-text-secondary);
  font-size: var(--text-xs);
  line-height: var(--leading-relaxed);
}

/* Loading, empty, error, and unavailable states -------------------------- */

.insights-state,
.insights-loading,
.insights-empty,
.insights-error {
  display: grid;
  place-items: center;
  min-block-size: var(--space-24);
  gap: var(--space-2);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-sm);
  background: var(--color-bg-raised);
  color: var(--color-text-muted);
  text-align: center;
}

.insights-state-shell {
  position: relative;
  min-inline-size: var(--space-0);
  isolation: isolate;
}

.insights-state-shell > .insights-state {
  position: absolute;
  z-index: var(--z-base);
  inset: var(--space-0);
  min-block-size: var(--space-0);
  align-content: start;
}

.insights-state-shell__geometry,
.insights-state-shell__dashboard-grid,
.insights-state-shell__chart-grid,
.insights-state-shell__kpi-grid,
.insights-state-shell__facts {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  min-inline-size: var(--space-0);
  align-content: start;
  gap: var(--space-4);
}

.insights-state-shell__geometry {
  gap: var(--space-3);
}

.insights-state-shell--dashboard .insights-state-shell__geometry,
.insights-state-shell--tokens .insights-state-shell__geometry {
  gap: var(--space-4);
}

.insights-state-shell__route-header {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  min-inline-size: var(--space-0);
  min-block-size: var(--insights-section-header-min-block-size);
  gap: var(--space-3) var(--space-6);
}

.insights-state-shell__route-heading {
  display: grid;
  flex: 1 1 var(--space-32);
  min-inline-size: var(--space-0);
  gap: var(--space-1);
}

.insights-state-shell__eyebrow,
.insights-state-shell__title,
.insights-state-shell__copy {
  display: block;
}

.insights-state-shell__eyebrow {
  inline-size: min(30%, var(--space-24));
  block-size: var(--space-3);
}

.insights-state-shell__title {
  inline-size: min(65%, calc(var(--space-32) + var(--space-24)));
  block-size: var(--space-5);
}

.insights-state-shell__copy {
  inline-size: min(85%, calc(var(--space-32) + var(--space-32)));
  block-size: var(--space-16);
}

.insights-state-shell__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-inline-size: var(--space-0);
  gap: var(--space-1);
}

.insights-state-shell__control {
  flex: none;
  inline-size: var(--space-12);
  block-size: var(--space-9);
}

.insights-state-shell__summary {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  align-items: start;
  min-inline-size: var(--space-0);
  gap: var(--space-4);
}

.insights-state-shell__summary-intro {
  display: grid;
  align-content: center;
  min-block-size: var(--insights-summary-intro-min-block-size);
  gap: var(--space-1);
  padding: var(--space-2) var(--space-4);
  border-block: var(--border-subtle);
}

.insights-state-shell__kpi-grid {
  grid-template-columns: repeat(2, minmax(var(--space-0), 1fr));
}

.insights-state-shell__kpi,
.insights-state-shell__fact {
  min-inline-size: var(--space-0);
  min-block-size: var(--insights-fact-responsive-min-block-size);
  border: var(--border-default);
  border-radius: var(--radius-sm);
}

.insights-state-shell__kpi {
  min-block-size: var(--insights-kpi-responsive-min-block-size);
}

.insights-state-shell__panel,
.insights-state-shell__chart,
.insights-state-shell__source-panel {
  display: grid;
  grid-template-columns: minmax(var(--space-0), 1fr);
  align-content: start;
  min-inline-size: var(--space-0);
}

.insights-state-shell__panel,
.insights-state-shell__chart {
  container-name: insights-chart;
  container-type: inline-size;
}

.insights-state-shell__visual {
  min-inline-size: var(--space-0);
  block-size: var(--insights-chart-block-size);
  border: var(--border-default);
}

.insights-state-shell__caption {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  min-inline-size: var(--space-0);
  min-block-size: var(--insights-chart-caption-min-block-size);
  gap: var(--space-1) var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-block-start: var(--border-subtle);
  background: var(--color-bg-raised);
}

.insights-state-shell__caption > span {
  inline-size: min(45%, var(--space-32));
  block-size: var(--space-3);
}

.insights-state-shell__caption > span:first-child {
  inline-size: min(65%, calc(var(--space-32) + var(--space-16)));
}

.insights-state-shell__disclosure {
  block-size: var(--size-touch-min);
  border-block-start: var(--border-subtle);
  background: var(--color-bg-raised);
}

.insights-state-shell__panel .insights-state-shell__caption {
  min-block-size: var(--insights-dashboard-caption-min-block-size);
}

.insights-heatmap .insights-chart__caption,
.insights-state-shell--heatmap .insights-state-shell__geometry > .insights-state-shell__chart > .insights-state-shell__caption,
.insights-state-shell--baskets .insights-state-shell__chart-grid > .insights-state-shell__chart:last-child > .insights-state-shell__caption {
  min-block-size: var(--insights-heatmap-caption-min-block-size);
}

.insights-state-shell__chart > .insights-state-shell__controls {
  min-block-size: var(--insights-chart-header-block-size);
  justify-content: flex-end;
  padding: var(--space-2) var(--space-4);
  border-block-end: var(--border-subtle);
  background: var(--color-bg-raised);
}

.insights-state-shell--performance .insights-state-shell__chart > .insights-state-shell__visual,
.insights-state-shell--stock .insights-state-shell__chart > .insights-state-shell__visual,
.insights-state-shell--baskets .insights-state-shell__geometry > .insights-state-shell__chart > .insights-state-shell__visual {
  block-size: var(--insights-performance-block-size);
}

.insights-state-shell--bubbles .insights-state-shell__geometry > .insights-state-shell__chart > .insights-state-shell__visual,
.insights-state-shell--baskets .insights-state-shell__chart-grid > .insights-state-shell__chart:first-child > .insights-state-shell__visual {
  block-size: calc(var(--insights-chart-block-size) + var(--size-touch-min));
}

.insights-state-shell--screener .insights-state-shell__chart > .insights-state-shell__controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(var(--space-0), 1fr));
  justify-content: stretch;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
}

.insights-state-shell--screener .insights-state-shell__chart > .insights-state-shell__controls .insights-state-shell__control {
  inline-size: auto;
  min-block-size: var(--space-16);
}

.insights-state-shell--screener .insights-state-shell__chart > .insights-state-shell__visual {
  block-size: var(--insights-plot-compact-block-size);
}

.insights-state-shell__basket-summary {
  display: grid;
  align-content: start;
  min-inline-size: var(--space-0);
  min-block-size: var(--insights-basket-summary-min-block-size);
  gap: var(--space-3);
  padding: var(--space-4);
  border: var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--color-bg-raised);
}

.insights-state-shell__basket-header {
  inline-size: min(55%, calc(var(--space-32) + var(--space-16)));
  block-size: var(--space-6);
}

.insights-state-shell__basket-copy {
  inline-size: min(80%, calc(var(--space-32) + var(--space-32)));
  block-size: var(--space-4);
}

.insights-state-shell__basket-constituents {
  display: grid;
  grid-template-columns: repeat(2, minmax(var(--space-0), 1fr));
  min-inline-size: var(--space-0);
  border-block: var(--border-subtle);
}

.insights-state-shell__basket-constituent {
  min-inline-size: var(--space-0);
  min-block-size: var(--space-8);
  border-block-end: var(--border-subtle);
  border-radius: var(--radius-none);
}

.insights-state-shell__table {
  block-size: var(--insights-table-viewport-block-size);
}

.insights-state-shell__note {
  min-block-size: var(--size-touch-min);
  border-inline-start: var(--border-width-strong) solid var(--color-info);
}

.insights-state-shell__source-panel {
  grid-template-rows: auto minmax(var(--space-0), 1fr);
  min-block-size: var(--insights-source-panel-min-block-size);
  overflow: hidden;
  border: var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--color-bg-raised);
}

.insights-state-shell__source-header {
  min-block-size: var(--space-11);
  border-radius: var(--radius-none);
  border-block-end: var(--border-subtle);
}

.insights-state-shell__source-body {
  display: grid;
  align-content: start;
  gap: var(--space-3);
  min-inline-size: var(--space-0);
  padding: var(--space-3) var(--space-4);
}

.insights-state-shell__source-row {
  inline-size: min(85%, calc(var(--space-32) + var(--space-32)));
  block-size: var(--space-5);
}

.insights-state__title,
.insights-empty__title,
.insights-error__title {
  color: var(--color-text);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
}

.insights-state__copy,
.insights-loading__copy,
.insights-empty__copy,
.insights-error__copy {
  max-inline-size: 52ch;
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  line-height: var(--leading-relaxed);
}

.insights-error,
.insights-state[data-state="error"] {
  border-color: var(--color-error-border);
  background: var(--color-error-soft);
}

.insights-error__title,
.insights-state[data-state="error"] .insights-state__title {
  color: var(--color-error);
}

.insights-loading__indicator,
.insights-state[data-state="loading"] .insights-state__indicator {
  inline-size: var(--space-4);
  block-size: var(--space-4);
  border: var(--border-width-strong) solid var(--color-border-strong);
  border-block-start-color: var(--color-accent);
  border-radius: var(--radius-pill);
  animation: insights-loading-spin var(--duration-slower) var(--ease-linear) infinite;
}

.insights-skeleton {
  position: relative;
  min-block-size: var(--space-4);
  overflow: hidden;
  border-radius: var(--radius-xs);
  background: var(--color-surface-elevated);
  color: transparent;
  pointer-events: none;
}

.insights-skeleton::after {
  position: absolute;
  inset: var(--space-0);
  background: var(--sheen-raised);
  content: "";
  animation: insights-loading-sheen var(--duration-pulse) var(--ease-in-out) infinite alternate;
}

.insights-sr-only {
  position: absolute !important;
  inline-size: var(--border-width) !important;
  block-size: var(--border-width) !important;
  margin: calc(var(--border-width) * -1) !important;
  overflow: hidden !important;
  clip: rect(var(--space-0) var(--space-0) var(--space-0) var(--space-0)) !important;
  clip-path: inset(50%) !important;
  border: var(--space-0) !important;
  padding: var(--space-0) !important;
  white-space: nowrap !important;
}

.insights-value[data-sign="positive"] {
  color: var(--color-success);
}

.insights-value[data-sign="negative"] {
  color: var(--color-error);
}

.insights-value[data-sign="neutral"] {
  color: var(--color-text-secondary);
}

@keyframes insights-loading-spin {
  to {
    transform: rotate(1turn);
  }
}

@keyframes insights-loading-sheen {
  from {
    opacity: var(--opacity-muted);
  }

  to {
    opacity: 1;
  }
}

/* Lighter activity bubbles: direct user offsets move the complete node while
   a nested marks group carries bounded ambient motion without changing hit or
   source geometry. */
.market-volume-map[data-mode="map"] {
  --market-volume-enter-duration: calc(var(--duration-slower) + var(--duration-fast));
  --market-volume-enter-delay: 0ms;
  --market-volume-float-duration: calc(var(--duration-pulse) + var(--duration-pulse) + var(--duration-pulse) + var(--duration-pulse));
  --market-volume-float-delay: 0ms;
  --market-volume-drag-x: 0px;
  --market-volume-drag-y: 0px;
  --market-volume-float-x: var(--space-1);
  --market-volume-float-y: calc(0px - var(--space-0-5));
  --market-volume-halo-opacity: 0.2;
  --market-volume-halo-active-opacity: 0.48;
}

.market-volume-map[data-mode="map"] .market-volume-map__explorer {
  background-color: var(--insights-plot-surface);
  background-image:
    linear-gradient(var(--insights-grid-line) var(--border-width), transparent var(--border-width)),
    linear-gradient(90deg, var(--insights-grid-line) var(--border-width), transparent var(--border-width));
  background-size: var(--space-8) var(--space-8);
}

.market-volume-map[data-mode="map"] .market-volume-map__node {
  cursor: grab;
  transform: translate(var(--market-volume-drag-x), var(--market-volume-drag-y));
  transform-box: view-box;
}

.market-volume-map[data-mode="map"] .market-volume-map__visible-marks {
  pointer-events: none;
  transform-box: view-box;
  will-change: transform, opacity;
  animation:
    insights-market-volume-enter
    var(--market-volume-enter-duration)
    var(--ease-out)
    var(--market-volume-enter-delay)
    both,
    insights-market-volume-float
    var(--market-volume-float-duration)
    var(--ease-in-out)
    var(--market-volume-float-delay)
    infinite
    alternate;
}

.market-volume-map[data-mode="map"] .market-volume-map__node[data-motion-slot="1"] {
  --market-volume-enter-delay: var(--duration-instant);
  --market-volume-float-duration: calc(var(--duration-pulse) + var(--duration-pulse) + var(--duration-pulse) + var(--duration-slow));
  --market-volume-float-delay: calc(0ms - var(--duration-pulse));
  --market-volume-float-x: calc(0px - var(--space-1));
  --market-volume-float-y: var(--space-0-5);
}

.market-volume-map[data-mode="map"] .market-volume-map__node[data-motion-slot="2"] {
  --market-volume-enter-delay: calc(var(--duration-instant) + var(--duration-instant));
  --market-volume-float-duration: calc(var(--duration-pulse) + var(--duration-pulse) + var(--duration-pulse) + var(--duration-pulse) + var(--duration-slower));
  --market-volume-float-delay: calc(0ms - var(--duration-pulse) - var(--duration-pulse));
  --market-volume-float-x: var(--space-0-5);
  --market-volume-float-y: var(--space-1);
}

.market-volume-map[data-mode="map"] .market-volume-map__node[data-motion-slot="3"] {
  --market-volume-enter-delay: calc(var(--duration-instant) + var(--duration-instant) + var(--duration-instant));
  --market-volume-float-duration: calc(var(--duration-pulse) + var(--duration-pulse) + var(--duration-pulse) + var(--duration-slower) + var(--duration-slow));
  --market-volume-float-delay: calc(0ms - var(--duration-pulse) - var(--duration-slower));
  --market-volume-float-x: calc(0px - var(--space-1));
  --market-volume-float-y: calc(0px - var(--space-0-5));
}

.market-volume-map[data-mode="map"] .market-volume-map__node[data-motion-slot="4"] {
  --market-volume-enter-delay: calc(var(--duration-instant) + var(--duration-instant) + var(--duration-instant) + var(--duration-instant));
  --market-volume-float-duration: calc(var(--duration-pulse) + var(--duration-pulse) + var(--duration-pulse) + var(--duration-pulse) + var(--duration-fast));
  --market-volume-float-delay: calc(0ms - var(--duration-pulse) - var(--duration-pulse) - var(--duration-slower));
  --market-volume-float-x: var(--space-1);
  --market-volume-float-y: calc(0px - var(--space-1));
}

.market-volume-map[data-mode="map"] .market-volume-map__node[data-motion-slot="5"] {
  --market-volume-enter-delay: calc(var(--duration-instant) + var(--duration-instant) + var(--duration-instant) + var(--duration-instant) + var(--duration-instant));
  --market-volume-float-duration: calc(var(--duration-pulse) + var(--duration-pulse) + var(--duration-pulse) + var(--duration-fast));
  --market-volume-float-delay: calc(0ms - var(--duration-slower));
  --market-volume-float-x: calc(0px - var(--space-0-5));
  --market-volume-float-y: calc(0px - var(--space-1));
}

.market-volume-map[data-mode="map"] .market-volume-map__target {
  cursor: grab;
}

.market-volume-map[data-mode="map"] .market-volume-map__disc {
  fill: var(--market-volume-disc-fill, var(--insights-raised-surface));
}

.market-volume-map[data-mode="map"] .market-volume-map__node .market-volume-map__halo {
  opacity: var(--market-volume-halo-opacity);
}

.market-volume-map[data-mode="map"] .market-volume-map__logo {
  opacity: 0.96;
}

.market-volume-map[data-mode="map"] .market-volume-map__node.market-volume-map__node--stale
  :is(.market-volume-map__halo, .market-volume-map__rim) {
  stroke: var(--color-warning);
}

.market-volume-map[data-mode="map"] .market-volume-map__node:is(
  :focus-visible,
  [data-active="true"],
  [data-dragging="true"]
) .market-volume-map__target {
  stroke: var(--insights-accent);
  stroke-width: var(--border-width-strong);
}

.market-volume-map[data-mode="map"] .market-volume-map__node:is(
  :focus-visible,
  [data-active="true"],
  [data-dragging="true"]
) :is(.market-volume-map__halo, .market-volume-map__disc, .market-volume-map__rim, .market-volume-map__logo, text) {
  filter: brightness(1.34) saturate(1.08);
}

.market-volume-map[data-mode="map"] .market-volume-map__node:is(
  :focus-visible,
  [data-active="true"],
  [data-dragging="true"]
) .market-volume-map__halo {
  opacity: var(--market-volume-halo-active-opacity);
}

.market-volume-map[data-mode="map"] .market-volume-map__node[data-dragging="true"],
.market-volume-map[data-mode="map"] .market-volume-map__node[data-dragging="true"] .market-volume-map__target {
  cursor: grabbing;
}

.market-volume-map[data-mode="map"] .market-volume-map__node[data-dragging="true"] .market-volume-map__visible-marks {
  animation-play-state: running, paused;
}

@keyframes insights-market-volume-enter {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes insights-market-volume-float {
  from {
    transform: translate(0, 0);
  }

  to {
    transform: translate(var(--market-volume-float-x), var(--market-volume-float-y));
  }
}

/* Pointer capabilities, not viewport width, choose floating vs docked UI. */

@media (any-hover: hover) and (any-pointer: fine) {
  .insights-analytics-nav a:hover,
  .insights-period-button:hover,
  .insights-segmented__button:hover,
  .insights-sort-button:hover,
  .insights-performance-chart__periods > button:hover,
  .insights-screener [data-screener-reset]:not(:disabled):hover {
    border-color: var(--color-border-strong);
    background: var(--color-surface-hover);
    color: var(--color-text);
  }

  .insights-select:hover,
  .insights-screener__select:hover {
    border-color: var(--color-control-border-hover);
    background: var(--color-control-bg-hover);
  }

  .insights-token-table tbody tr:hover {
    background: var(--color-surface-hover);
  }

  .insights-token-table__identity-link:hover,
  .insights-token-identity__link:hover {
    color: var(--color-text);
    text-decoration-color: var(--color-accent-muted);
  }
}

@media (any-pointer: coarse) {
  .insights-period-button,
  .insights-segmented__button,
  .insights-performance-chart__periods > button,
  .insights-sort-button,
  .insights-select,
  .insights-screener__select,
  .insights-screener [data-screener-reset],
  .insights-screener__zoom-control,
  .insights-screener__zoom-slider,
  .insights-state-shell__control {
    min-block-size: var(--size-touch-min);
  }
}

/* Responsive geometry ---------------------------------------------------- */

@media (min-width: 35rem) {
  [data-page="insights"] {
    --insights-summary-intro-min-block-size: calc(var(--space-16) + var(--space-12));
    --insights-kpi-responsive-min-block-size: calc(var(--space-16) + var(--space-12));
    --insights-fact-responsive-min-block-size: calc(var(--space-16) + var(--space-8));
    --insights-basket-summary-min-block-size: calc(var(--space-32) + var(--space-10));
  }

  .insights-state-shell__copy {
    block-size: calc(var(--space-8) + var(--space-2));
  }

  .insights-basket-grid,
  .insights-facts-grid,
  .insights-stock-metrics,
  .insights-state-shell__facts {
    grid-template-columns: repeat(2, minmax(var(--space-0), 1fr));
  }

  .insights-constituents {
    grid-template-columns: repeat(4, minmax(var(--space-0), 1fr));
  }

  .insights-state-shell__basket-constituents {
    grid-template-columns: repeat(4, minmax(var(--space-0), 1fr));
  }

  .insights-constituent:nth-last-child(-n + 4) {
    border-block-end: var(--space-0);
  }

  .insights-state-shell__basket-constituent:nth-last-child(-n + 4) {
    border-block-end: var(--space-0);
  }

  .insights-page-header {
    align-items: end;
  }
}

@media (min-width: 48rem) {
  .insights-dashboard-grid,
  .insights-chart-grid,
  .insights-state-shell__dashboard-grid,
  .insights-state-shell__chart-grid {
    grid-template-columns: repeat(2, minmax(var(--space-0), 1fr));
  }
}

@media (min-width: 64rem) {
  [data-page="insights"][data-insights-view="screener"]
    .insights-screener[data-viewport-fill="remaining"]
    .insights-chart__stage {
    block-size: max(
      var(--insights-plot-compact-block-size),
      var(
        --insights-viewport-fill-block-size,
        calc(100dvh - var(--insights-screener-viewport-offset))
      )
    );
  }

  [data-page="insights"][data-insights-view="heatmap"]
    .insights-heatmap[data-viewport-fill="remaining"] {
    grid-template-rows:
      var(--insights-chart-header-block-size)
      auto
      auto
      auto;
  }

  [data-page="insights"][data-insights-view="heatmap"]
    .insights-heatmap[data-viewport-fill="remaining"]
    .insights-chart__plot {
    block-size: max(
      var(--insights-plot-compact-block-size),
      var(
        --insights-viewport-fill-block-size,
        calc(100dvh - var(--insights-heatmap-viewport-offset))
      )
    );
  }
}

@container insights-main (min-width: 75rem) {
  .insights-summary,
  .insights-state-shell__summary {
    grid-template-columns: minmax(var(--space-0), 25.625rem) minmax(var(--space-0), 1fr);
    gap: var(--space-6);
  }

  .insights-summary__intro,
  .insights-state-shell__summary-intro {
    min-block-size: var(--insights-summary-block-size);
  }

  .insights-kpi-grid,
  .insights-state-shell__kpi-grid {
    grid-template-columns: repeat(4, minmax(var(--space-0), 1fr));
    align-items: start;
  }

  .insights-kpi,
  .insights-state-shell__kpi {
    min-block-size: var(--insights-summary-block-size);
  }

  .insights-kpi__meta {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@container insights-chart (min-width: 35rem) {
  .insights-chart__body--with-legend,
  .insights-dashboard-card__body--with-legend {
    grid-template-columns: minmax(var(--space-0), 1fr) 9.25rem;
  }

  .insights-chart__body--with-legend .insights-chart__legend,
  .insights-dashboard-card__body--with-legend .insights-chart__legend {
    display: grid;
    grid-template-columns: minmax(var(--space-0), 1fr);
    align-content: start;
    border-block-start: var(--space-0);
    border-inline-start: var(--border-subtle);
  }

  .insights-chart__stage {
    block-size: var(--insights-plot-wide-block-size);
  }

  .insights-state-shell--screener .insights-state-shell__chart > .insights-state-shell__visual {
    block-size: var(--insights-plot-wide-block-size);
  }
}

@container insights-chart (min-width: 39rem) {
  .insights-dashboard-panel__body {
    grid-template-columns:
      var(--insights-dashboard-plot-inline-size)
      var(--insights-dashboard-sidecar-inline-size);
    column-gap: var(--space-4);
    padding-inline: var(--space-1);
  }

  .insights-dashboard-panel__sidecar {
    display: block;
  }

  .insights-chart__caption,
  .insights-state-shell__caption {
    min-block-size: var(--space-11);
  }

  .insights-heatmap .insights-chart__caption,
  .insights-state-shell--heatmap .insights-state-shell__geometry > .insights-state-shell__chart > .insights-state-shell__caption,
  .insights-state-shell--baskets .insights-state-shell__chart-grid > .insights-state-shell__chart:last-child > .insights-state-shell__caption {
    min-block-size: var(--space-16);
  }

  .insights-dashboard-grid .insights-chart__caption,
  .insights-state-shell__panel .insights-state-shell__caption {
    min-block-size: var(--space-11);
  }
}

@container insights-chart (min-width: 60rem) {
  .insights-chart__caption,
  .insights-state-shell__caption {
    min-block-size: var(--space-11);
  }

  .insights-heatmap .insights-chart__caption,
  .insights-state-shell--heatmap .insights-state-shell__geometry > .insights-state-shell__chart > .insights-state-shell__caption,
  .insights-state-shell--baskets .insights-state-shell__chart-grid > .insights-state-shell__chart:last-child > .insights-state-shell__caption {
    min-block-size: var(--space-16);
  }
}

@media (max-width: 34.999rem) {
  .insights-toolbar,
  .insights-screener__selectors,
  .insights-page-header__actions,
  .insights-section__actions,
  .insights-control-group {
    align-items: stretch;
  }

  .insights-toolbar {
    flex-direction: column;
  }

  .insights-screener__selectors {
    grid-template-columns: minmax(var(--space-0), 1fr);
  }

  .insights-screener__zoom-controls {
    grid-template-columns: minmax(var(--space-0), 1fr);
  }

  .insights-control,
  .insights-screener__selectors label,
  .insights-select,
  .insights-screener__select,
  .insights-screener [data-screener-reset],
  .insights-page-header__actions,
  .insights-section__actions,
  .insights-control-group {
    inline-size: 100%;
  }

  /* Bubble SVG full width with 4:5 aspect on phones */
  .insights-bubble {
    grid-template-rows: auto auto auto auto auto;
    inline-size: 100%;
  }

  .insights-bubble .insights-chart__plot,
  .insights-bubble .insights-chart__explorer {
    inline-size: 100%;
    aspect-ratio: 4 / 5;
    block-size: auto;
  }

  .insights-bubble [data-bubble-svg] {
    inline-size: 100%;
    block-size: 100%;
    aspect-ratio: 4 / 5;
  }

  .insights-screener__info-btn {
    min-inline-size: var(--size-touch-min, 44px);
    min-block-size: var(--size-touch-min, 44px);
  }

  .insights-screener__select--compact,
  .insights-screener [data-screener-reset] {
    min-block-size: var(--size-touch-min, 44px);
  }

  .insights-chart__caption,
  .insights-state-shell__caption,
  .insights-bubble__readout {
    display: grid;
    grid-template-columns: minmax(var(--space-0), 1fr);
  }

  .insights-chart__caption,
  .insights-dashboard-grid .insights-chart__caption,
  .insights-heatmap .insights-chart__caption,
  .insights-state-shell__caption,
  .insights-state-shell__panel .insights-state-shell__caption {
    min-block-size: auto;
  }

  .insights-state-shell__route-header {
    align-items: stretch;
    flex-direction: column;
  }

  .insights-state-shell__route-header > .insights-state-shell__controls {
    display: grid;
    grid-template-columns: repeat(3, minmax(var(--space-0), 1fr));
    inline-size: 100%;
  }

  .insights-state-shell__route-header > .insights-state-shell__controls .insights-state-shell__control {
    inline-size: auto;
  }

  .insights-state-shell--baskets .insights-state-shell__route-header > .insights-state-shell__controls {
    row-gap: var(--space-2);
  }

  .insights-state-shell--baskets .insights-state-shell__route-header > .insights-state-shell__controls .insights-state-shell__control:first-child {
    grid-column: 1 / -1;
    block-size: var(--space-16);
    min-block-size: var(--space-16);
  }

  .insights-state-shell--screener .insights-state-shell__chart > .insights-state-shell__controls {
    grid-template-columns: minmax(var(--space-0), 1fr);
  }

  .insights-state-shell--screener .insights-state-shell__chart > .insights-state-shell__controls:first-child .insights-state-shell__control:last-child {
    block-size: var(--size-touch-min);
    min-block-size: var(--size-touch-min);
  }

  .insights-range-control,
  .insights-custom-range {
    inline-size: 100%;
  }

  .insights-range-control {
    justify-items: stretch;
  }

  .insights-custom-range {
    grid-template-columns: minmax(var(--space-0), 1fr);
  }
  .insights-performance-chart .insights-chart-data__scroller {
    inline-size: 100%;
    min-inline-size: var(--space-0);
    max-block-size: min(45dvh, var(--insights-plot-compact-block-size));
    overflow: auto;
    overscroll-behavior-inline: contain;
    overscroll-behavior-block: auto;
  }

  .insights-performance-chart .insights-chart-data__details:empty {
    display: none;
  }
  .insights-performance-chart .insights-chart__stage {
    block-size: var(--insights-plot-compact-block-size);
  }
  .insights-performance-chart__svg :is(
    [data-performance-x-tick="1"],
    [data-performance-x-tick="3"],
    [data-performance-x-tick="4"]
  ) {
    display: none;
  }

  .insights-state-shell--performance .insights-state-shell__chart > .insights-state-shell__visual,
  .insights-state-shell--screener .insights-state-shell__chart > .insights-state-shell__visual,
  .insights-state-shell--stock .insights-state-shell__chart > .insights-state-shell__visual,
  .insights-state-shell--baskets .insights-state-shell__geometry > .insights-state-shell__chart > .insights-state-shell__visual {
    block-size: var(--insights-plot-compact-block-size);
  }
}

@media (max-width: 20rem) {
  [data-page="insights"] {
    --insights-summary-intro-min-block-size: calc(var(--space-32) + var(--space-4));
    --insights-kpi-responsive-min-block-size: calc(var(--space-32) + var(--space-4));
    --insights-heatmap-caption-min-block-size: var(--space-16);
  }
  .insights-performance-chart__svg [data-performance-x-tick="2"] {
    display: none;
  }

  .insights-kpi-grid {
    grid-template-columns: minmax(var(--space-0), 1fr);
  }

  .insights-kpi__value {
    font-size: var(--text-lg);
  }
}

.insights-chart-tooltip[data-reduced-motion="true"],
.insights-chart[data-reduced-motion="true"] .insights-chart-tooltip,
[data-page="insights"][data-reduced-motion="true"] .insights-chart-tooltip,
[data-page="insights"] [data-reduced-motion="true"] .insights-chart-tooltip,
.insights-chart[data-reduced-motion="true"] .insights-performance-chart__line,
.insights-chart[data-reduced-motion="true"] .insights-performance-chart__dot,
.insights-chart[data-reduced-motion="true"] .insights-screener__point,
.insights-chart[data-reduced-motion="true"] .insights-dashboard-donut__slice,
[data-page="insights"][data-reduced-motion="true"] .insights-performance-chart__line,
[data-page="insights"][data-reduced-motion="true"] .insights-performance-chart__dot,
[data-page="insights"][data-reduced-motion="true"] .insights-screener__point,
[data-page="insights"][data-reduced-motion="true"] .insights-dashboard-donut__slice {
  transition: none !important;
  will-change: auto;
}

.market-volume-map[data-mode="map"][data-reduced-motion="true"] .market-volume-map__visible-marks {
  animation: none !important;
  transform: none;
  will-change: auto;
}

/* Accessibility preferences --------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  [data-page="insights"],
  [data-page="insights"] * {
    scroll-behavior: auto;
  }

  [data-page="insights"] *,
  [data-page="insights"] *::before,
  [data-page="insights"] *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }

  .insights-chart-tooltip,
  .insights-performance-chart__line,
  .insights-performance-chart__dot,
  .insights-screener__point,
  .insights-dashboard-donut__slice {
    transition: none !important;
    will-change: auto;
  }

  .market-volume-map[data-mode="map"] .market-volume-map__visible-marks {
    animation: none !important;
    transform: none;
    will-change: auto;
  }

  .insights-loading__indicator,
  .insights-state[data-state="loading"] .insights-state__indicator,
  .insights-skeleton::after {
    animation: none;
  }
}

@media (prefers-contrast: more) {
  .insights-kpi,
  .insights-panel,
  .insights-chart,
  .insights-dashboard-card,
  .insights-performance-chart,
  .insights-screener,
  .insights-bubble,
  .insights-heatmap,
  .insights-table-scroll,
  .insights-token-table-scroll,
  .insights-basket-card,
  .insights-fact,
  .insights-stock-header {
    border-color: var(--color-border-strong);
  }

  .insights-chart__grid {
    stroke: var(--color-border-strong);
  }

  .insights-chart__tick,
  .insights-chart__meta,
  .insights-chart__caption,
  .insights-token-table thead th {
    color: var(--color-text-secondary);
    fill: var(--color-text-secondary);
  }

  .insights-performance-chart__line-depth {
    opacity: 0.28;
  }

  .insights-performance-chart__line {
    stroke-width: 3px;
  }

  .insights-bubble__rim {
    stroke-width: 2px;
  }

  .market-volume-map[data-mode="map"] .market-volume-map__node:is(
    :focus-visible,
    [data-active="true"],
    [data-dragging="true"]
  ) .market-volume-map__rim {
    stroke-width: calc(var(--border-width-strong) + var(--border-width));
  }
}

@media (forced-colors: active) {
  .insights-analytics-nav,
  .insights-page-header,
  .insights-panel,
  .insights-kpi,
  .insights-chart,
  .insights-dashboard-card,
  .insights-performance-chart,
  .insights-screener,
  .insights-bubble,
  .insights-heatmap,
  .insights-table-scroll,
  .insights-token-table-scroll,
  .insights-basket-card,
  .insights-fact,
  .insights-stock-header,
  .insights-chart-tooltip {
    border: var(--border-width) solid CanvasText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
  }

  .insights-analytics-nav a[aria-current="page"],
  .insights-period-button:is(.is-active, [aria-pressed="true"], [aria-current="true"]),
  .insights-segmented__button:is(.is-active, [aria-pressed="true"], [aria-selected="true"]) {
    forced-color-adjust: none;
    border-color: Highlight;
    background: Highlight;
    color: HighlightText;
  }

  .insights-analytics-nav a:focus-visible,
  .insights-chart__explorer:focus-visible,
  .insights-chart__svg[data-chart-explorer]:focus-visible,
  .insights-sort-button:focus-visible,
  .insights-select:focus-visible,
  .insights-screener__select:focus-visible,
  .insights-screener [data-screener-reset]:focus-visible,
  .insights-screener__zoom-slider:focus-visible,
  .insights-nav-filter__input:focus-visible,
  .insights-chart__data-disclosure > summary:focus-visible,
  .insights-chart-data > summary:focus-visible,
  .insights-chart__data-table:focus-visible,
  .insights-chart-data__scroller:focus-visible,
  .insights-chart__data-scroller:focus-visible {
    outline: var(--border-width-strong) solid Highlight;
    outline-offset: calc(var(--border-width-strong) * -1);
    box-shadow: none;
  }

  .insights-performance-chart__line-depth,
  .insights-performance-chart__line,
  .insights-performance-chart__leader,
  .insights-performance-chart__endpoint-dot,
  .insights-performance-chart__guide,
  .insights-chart__grid,
  .insights-chart__axis,
  .insights-bubble__rim,
  .insights-heatmap__rect,
  .insights-screener__zero-axis,
  .insights-dashboard-donut__slice {
    stroke: CanvasText;
  }

  .insights-heatmap__tile:is(:focus-visible, [data-active="true"]) .insights-heatmap__rect {
    stroke: Highlight;
  }

  .insights-bubble__halo,
  .insights-bubble__logo,
  .insights-heatmap__logo {
    display: none;
  }
  .insights-heatmap__ticker {
    visibility: visible;
  }

  .insights-bubble__disc {
    fill: Canvas;
  }
  .insights-bubble__node[data-direction="positive"] .insights-bubble__rim {
    stroke-width: 3px;
    stroke-dasharray: none;
  }

  .insights-bubble__node[data-direction="negative"] .insights-bubble__rim {
    stroke-width: 3px;
    stroke-dasharray: var(--space-2) var(--space-1);
  }

  .insights-bubble__node[data-direction="flat"] .insights-bubble__rim {
    stroke-width: 3px;
    stroke-dasharray: var(--border-width) var(--space-1);
  }

  .insights-screener [data-screener-point][data-direction="positive"] .insights-screener__point {
    fill: Highlight;
    stroke: HighlightText;
  }

  .insights-screener [data-screener-point][data-direction="negative"] .insights-screener__point {
    fill: CanvasText;
    stroke: Canvas;
  }

  .insights-screener [data-screener-point]:is([data-direction="flat"], [data-direction="unavailable"]) .insights-screener__point {
    fill: Canvas;
    stroke: CanvasText;
    stroke-dasharray: var(--border-width) var(--space-1);
  }

  .insights-performance-chart [data-performance-series],
  .insights-bubble__node,
  .insights-heatmap__tile {
    filter: none;
    opacity: 1;
  }

  .market-volume-map[data-mode="map"] .market-volume-map__visible-marks {
    animation: none;
    filter: none;
    transform: none;
    will-change: auto;
  }

  .market-volume-map[data-mode="map"] .market-volume-map__node
    :is(.market-volume-map__halo, .market-volume-map__disc, .market-volume-map__rim, text) {
    filter: none;
    opacity: 1;
  }

  .market-volume-map[data-mode="map"] .market-volume-map__halo {
    display: none;
  }
  .market-volume-map[data-mode="map"] .market-volume-map__logo {
    display: none;
  }

  .market-volume-map[data-mode="map"] .market-volume-map__disc {
    fill: Canvas;
  }

  .market-volume-map[data-mode="map"] .market-volume-map__rim {
    stroke: CanvasText;
  }

  .market-volume-map[data-mode="map"] .market-volume-map__node:is(
    :focus-visible,
    [data-active="true"],
    [data-dragging="true"]
  ) .market-volume-map__target {
    stroke: Highlight;
  }
  .insights-performance-chart__dot,
  .insights-dashboard-bars__bar,
  .insights-screener__point,
  .insights-screener__zoom-handle {
    fill: Highlight;
  }

  .insights-chart__tick,
  .insights-performance-chart__endpoint,
  .insights-screener__point-label,
  .insights-screener__quadrant,
  .insights-performance-chart [data-performance-empty],
  .insights-bubble__ticker,
  .insights-bubble__value,
  .insights-heatmap__ticker,
  .insights-heatmap__value,
  .insights-heatmap__return,
  .insights-dashboard-bars__label,
  .insights-dashboard-bars__value,
  .insights-dashboard-donut__center-label,
  .insights-dashboard-donut__center-value,
  .insights-dashboard-donut__center-share {
    fill: CanvasText;
    color: CanvasText;
  }

  .insights-screener__zoom {
    color: CanvasText;
  }

  .insights-heatmap__missing-value {
    fill: transparent;
    stroke: CanvasText;
    stroke-dasharray: var(--space-1) var(--space-1);
  }

  .insights-heatmap__rect {
    forced-color-adjust: none;
    fill: var(--insights-forced-pattern, Canvas);
    stroke: CanvasText;
  }

  .insights-heatmap__tile[data-return-state="unavailable"] .insights-heatmap__rect {
    stroke-dasharray: var(--space-1) var(--space-1);
  }

  .insights-heatmap__legend .insights-chart__legend-item::before {
    forced-color-adjust: none;
    border-color: CanvasText;
    background: Canvas;
  }

  .insights-heatmap__legend [data-heatmap-legend="positive"]::before {
    background:
      repeating-linear-gradient(
        135deg,
        CanvasText var(--space-0) var(--border-width),
        Canvas var(--border-width) var(--space-1)
      );
  }

  .insights-heatmap__legend [data-heatmap-legend="zero"]::before {
    background:
      radial-gradient(
        circle,
        CanvasText var(--space-0) var(--border-width),
        Canvas var(--border-width)
      )
      var(--space-0) var(--space-0) / var(--space-2) var(--space-2);
  }

  .insights-heatmap__legend [data-heatmap-legend="negative"]::before {
    background:
      repeating-linear-gradient(
        45deg,
        CanvasText var(--space-0) var(--border-width),
        transparent var(--border-width) var(--space-1)
      ),
      repeating-linear-gradient(
        -45deg,
        CanvasText var(--space-0) var(--border-width),
        Canvas var(--border-width) var(--space-1)
      );
  }

  .insights-heatmap__legend [data-heatmap-legend="missing-value"]::before {
    border-style: double;
    background:
      repeating-linear-gradient(
        45deg,
        CanvasText var(--space-0) var(--border-width),
        Canvas var(--border-width) var(--space-1)
      );
  }

  .insights-heatmap__legend [data-heatmap-legend="missing-return"]::before {
    border-style: dashed;
    background:
      repeating-linear-gradient(
        135deg,
        CanvasText var(--space-0) var(--border-width),
        Canvas var(--border-width) var(--space-1)
      );
  }

  .insights-chart:has(> .insights-dashboard-panel__visual) {
    border: var(--space-0);
    background: transparent;
  }

  .insights-dashboard-panel__visual {
    border-color: CanvasText;
    background: Canvas;
  }

  .insights-reporting-status__row[data-active="true"] {
    outline: var(--border-width) solid Highlight;
    outline-offset: calc(var(--border-width) * -1);
    box-shadow: none;
  }
}
