/*
 * Bitmomo public product/readability bridge.
 *
 * Plugin-owned public surfaces remain independently namespaced, but their
 * semantic brand colors, font stack, commercial actions, and minimum readable
 * text sizes resolve to the canonical theme foundation. Layout stays owned by
 * each surface stylesheet; this layer owns cross-product legibility invariants.
 * Typography tokens themselves are owned only by design-system.css.
 */

/* Older homepage/legacy data labels that can still appear off the canonical
   homepage inherit one readable micro-text color. */
.bm-hero-notes,
.bm-direction-head,
.bm-direction-head--current .bm-direction-metric > span,
.bm-direction-context-label,
.bm-direction-meta dt,
.bm-direction-detail dt,
.bm-btc-section-head p,
.bm-btc-opportunity-meta,
.bm-btc-overview .bm-btc-kicker,
.bm-btc-status time,
.bm-platform-disclosure,
.bm-direction-dates,
.bm-direction-dates > span {
  color: var(--bm-text-subtle);
}

/* Legacy custom.css is intentionally byte-frozen. Any legacy public labels that
   still render receive the launch-wide 11px floor here, where public
   readability is canonically owned. */
.bm-hero-eyebrow,
.bm-hero-notes,
.bm-direction-head,
.bm-direction-meta dt,
.bm-direction-dates > span,
.bm-direction-detail dt,
.bm-disclaimer,
.bm-future-badge,
.bm-research-category {
  font-size: var(--bm-type-micro);
}

/* BTC Intelligence keeps its denser terminal composition, while its palette
   resolves to the canonical graphite + steel-blue system. Legacy local token
   names are retained only for compatibility with the plugin stylesheet. */
.bm-bi {
  --bmi-bg: var(--bm-surface-terminal);
  --bmi-surface: var(--bm-surface-terminal-elevated);
  --bmi-surface-2: var(--bm-bg-elevated);
  --bmi-text: var(--bm-text);
  --bmi-text-muted: var(--bm-text-muted);
  --bmi-muted: var(--bm-text-muted);
  --bmi-subtle: var(--bm-text-subtle);
  --bmi-teal: var(--bm-accent);
  --bmi-orange: var(--bm-action);
  --bmi-bull: var(--bm-positive);
  --bmi-bear: var(--bm-negative);
  --bmi-neutral: var(--bm-neutral);
  font-family: var(--bm-font-sans);
}

/* BTC public legibility contract. Information can be dense, never microscopic. */
.bm-bi .bm-bi__hero > small,
.bm-bi .bm-bi__rail a,
.bm-bi .bm-bi__section-kicker,
.bm-bi .bm-bi__freshness,
.bm-bi .bm-bi__freshness strong,
.bm-bi .bm-bi__snapshot-grid span,
.bm-bi .bm-bi__archive-metrics span,
.bm-bi .bm-bi__archive-thesis > span,
.bm-bi .bm-bi__snapshot-grid small,
.bm-bi .bm-bi__brief-panel h3,
.bm-bi .bm-bi__provenance,
.bm-bi .bm-bi__history-summary,
.bm-bi .bm-bi__history-summary small,
.bm-bi .bm-bi__archive-head > div > span,
.bm-bi .bm-bi__micro-note,
.bm-bi .bm-bi__history-policy {
  font-size: var(--bm-type-micro);
}

.bm-bi .bm-bi__brief-panel li,
.bm-bi .bm-bi__brief-panel p,
.bm-bi .bm-bi__no-change,
.bm-bi .bm-bi__section-intro,
.bm-bi .bm-bi__archive-thesis p,
.bm-bi .bm-bi__archive-scenarios p,
.bm-bi .bm-bi__details-body,
.bm-bi .bm-bi__pro-cta > div > p:not(.bm-bi__eyebrow) {
  font-size: var(--bm-type-support);
}

/* Dense evidence/table labels may be 10px, never the former 7.5–9px. */
.bm-bi .bm-bi__audit-badge,
.bm-bi .bm-bi__delay-badge,
.bm-bi .bm-bi__ledger-table th,
.bm-bi .bm-bi__ledger-table td:first-child small,
.bm-bi .bm-bi__verdict,
.bm-bi .bm-bi__proof-metric small,
.bm-bi .bm-bi__archive-scenarios span,
.bm-bi .bm-bi__archive-outcome,
.bm-bi .bm-bi__track-record .bm-bi__eyebrow,
.bm-bi .bm-bi__track-record .bm-bi__section-kicker,
.bm-bi .bm-bi__ledger .bm-bi__audit-badge::after,
.bm-bi .bm-bi__ledger .bm-bi__micro-note,
.bm-bi .bm-bi__track-record .bm-bi__proof-metric small,
.bm-bi .bm-bi__track-record .bm-bi__micro-note,
.bm-bi .bm-bi__track-record .bm-bi__history-policy {
  font-size: var(--bm-type-dense);
}

.bm-bi .bm-bi__track-record .bm-bi__section-intro,
.bm-bi .bm-bi__ledger .bm-bi__section-intro {
  font-size: 12px;
}

.bm-bi .bm-bi__track-record .bm-bi__proof-metric > span {
  font-size: var(--bm-type-micro);
}

.bm-bi .bm-bi__cta-primary { font-size: 13px; }

/* Market Context chart: controls/tooltips must be readable without sacrificing
   data density. Axis labels retain a 10px dense-data exception. */
.bm-bi .bm-bi__market-state span,
.bm-bi .bm-mc__mode span,
.bm-bi .bm-mc__control-label,
.bm-bi .bm-mc__range button,
.bm-bi .bm-mc__series-button,
.bm-bi .bm-mc__tooltip time,
.bm-bi .bm-mc__legend-item > span,
.bm-bi .bm-mc__status,
.bm-bi .bm-mc__pro-copy p,
.bm-bi .bm-mc__pro-items span {
  font-size: var(--bm-type-micro);
}

.bm-bi .bm-mc__mode small,
.bm-bi .bm-mc__series-button small,
.bm-bi .bm-mc__axis-label,
.bm-bi .bm-mc__tooltip-row small,
.bm-bi .bm-mc__tooltip-events > b,
.bm-bi .bm-mc__tooltip-event,
.bm-bi .bm-mc__legend-item small,
.bm-bi .bm-mc__marker-key-label,
.bm-bi .bm-mc__marker-key-items > span,
.bm-bi .bm-mc__pro-copy > span {
  font-size: var(--bm-type-dense);
}

.bm-bi .bm-mc__tooltip-row > span,
.bm-bi .bm-mc__tooltip-row strong { font-size: var(--bm-type-micro); }
.bm-bi .bm-mc__legend-item strong { font-size: 12px; }
.bm-bi .bm-mc__heading > div:first-child > p:last-child { font-size: 14px; }

/* Pro sales + whitelist share Bitmomo semantics while preserving their own
   page composition and interaction logic. */
.bm-pro-sales {
  --bms-text: var(--bm-text);
  --bms-text-muted: var(--bm-text-muted);
  --bms-teal: var(--bm-accent);
  --bms-orange: var(--bm-action);
  --bms-orange-dark: var(--bm-action-hover);
  --bms-bull: var(--bm-positive);
  --bms-bear: var(--bm-negative);
  font-family: var(--bm-font-sans);
}

/* Public Pro legibility contract. Proof-first remains dense, but labels and
   explanatory copy must survive normal desktop viewing and 200% zoom. */
.bm-pro-sales .bm-pro-sales__hero-eyebrow,
.bm-pro-sales .bm-pro-sales__eyebrow,
.bm-pro-sales .bm-pro-sales__hero-facts span,
.bm-pro-sales .bm-pro-sales__rail a,
.bm-pro-sales .bm-pro-sales__deliverables > div > span,
.bm-pro-sales .bm-pro-sales__proof-badge,
.bm-pro-sales .bm-pro-sales__decision-card > header span,
.bm-pro-sales .bm-pro-sales__decision-metrics span,
.bm-pro-sales .bm-pro-sales__decision-copy span,
.bm-pro-sales .bm-pro-sales__range-head span,
.bm-pro-sales .bm-pro-sales__scenario-map span,
.bm-pro-sales .bm-pro-sales__comparison-row.is-head,
.bm-pro-sales .bm-pro-sales__micro-note {
  font-size: var(--bm-type-micro);
}

.bm-pro-sales .bm-pro-sales__hero-micro,
.bm-pro-sales .bm-pro-sales__hero-lock,
.bm-pro-sales .bm-pro-sales__decision-card > footer,
.bm-pro-sales .bm-pro-sales__comparison-row strong {
  font-size: 12px;
}

.bm-pro-sales .bm-pro-sales__hero-price-sub,
.bm-pro-sales .bm-pro-sales__deliverables p,
.bm-pro-sales .bm-pro-sales__section-intro,
.bm-pro-sales .bm-pro-sales__scenario-map p,
.bm-pro-sales .bm-pro-sales__decision-copy p,
.bm-pro-sales .bm-pro-sales__proof-pending p,
.bm-pro-sales .bm-pro-sales__comparison-row span {
  font-size: 13px;
}

.bm-pro-sales .bm-pro-sales__deliverables strong,
.bm-pro-sales .bm-pro-sales__decision-metrics strong { font-size: 14px; }

.bm-pro-sales .bm-pro-sales__verdict,
.bm-pro-sales .bm-pro-sales__range-marker small {
  font-size: var(--bm-type-dense);
}

.bm-pro-sales .bm-wl__submit {
  background: var(--bm-action) !important;
  color: #0b1620 !important;
}

.bm-pro-sales .bm-wl__submit:hover,
.bm-pro-sales .bm-wl__submit:focus-visible {
  background: var(--bm-action-hover) !important;
  color: #0b1620 !important;
}

/* Homepage layer loads later; extra .home specificity makes the semantic floor
   win without !important and without changing homepage layout ownership. */
.home .bm-home-hero__notes,
.home .bm-home-reading__label,
.home .bm-home-reading__status,
.home .bm-home-reading__metric-label,
.home .bm-home-reading__metric small,
.home .bm-home-reading__driver > span,
.home .bm-home-reading__source,
.home .bm-home-proof__kicker,
.home .bm-howworks-eyebrow,
.home .bm-howworks-step-label,
.home .bm-home-research__eyebrow,
.home .bm-home-research__index,
.home .bm-home-research__meta,
.home .bm-wl-home .bm-wl-unified__fact dt,
.home .bm-wl-home .bm-wl__note {
  font-size: var(--bm-type-micro);
}

.home .bm-home-proof__item p,
.home .bm-home-research__body p,
.home .bm-wl-home .bm-wl-unified__fact dd,
.home .bm-wl-home .bm-wl-unified__form-copy {
  font-size: 14px;
}

.home .bm-wl-home .bm-wl__field { font-size: 13px; }
.home .bm-wl-home .bm-wl__consent,
.home .bm-wl-home .bm-wl__continuation p { font-size: 12px; }

/* Research Hub layer also loads later; hub scoping provides deterministic
   specificity while keeping layout and hierarchy owned by research.css. */
.bm-research-hub .bm-research-kicker,
.bm-research-hub .bm-research-head__utility strong,
.bm-research-hub .bm-research-standard-line span,
.bm-research-hub .bm-research-search label,
.bm-research-hub .bm-research-section-label,
.bm-research-hub .bm-research-meta,
.bm-research-hub .bm-research-lead__finding span,
.bm-research-hub .bm-research-lead__figure,
.bm-research-hub .bm-research-library__meta span,
.bm-research-hub .bm-research-library__meta time,
.bm-research-hub .bm-research-library__meta small,
.bm-research-hub .bm-research-domain__head > span,
.bm-research-hub .bm-research-methodology__rules span {
  font-size: var(--bm-type-micro);
}

.bm-research-hub .bm-research-library__meta strong { font-size: 12px; }
.bm-research-hub .bm-research-head__utility span,
.bm-research-hub .bm-research-filter a,
.bm-research-hub .bm-research-search button,
.bm-research-hub .bm-research-text-link { font-size: 13px; }
.bm-research-hub .bm-research-library__head > p,
.bm-research-hub .bm-research-library__copy p,
.bm-research-hub .bm-research-domain__head p { font-size: 14px; }

/* Shared chrome: the footer is institutional information, not disclaimer-sized
   microcopy. These selectors are more specific than its local 10–12.5px rules. */
body .bm-footer-principle > span,
body .bm-footer-group > strong,
body .bm-footer-social > strong,
body .bm-footer-newsletter__copy > span { font-size: var(--bm-type-micro); }
body .bm-footer-principle > p,
body .bm-footer-social a,
body .bm-footer-legal a { font-size: 13px; }

/* Authenticated Pro dashboard uses the same semantic colors as its public
   acquisition surface. */
.bm-pro {
  --bm-pro-text: var(--bm-text);
  --bm-pro-text-muted: var(--bm-text-muted);
  --bm-pro-teal: var(--bm-accent);
  --bm-pro-bull: var(--bm-positive);
  --bm-pro-bear: var(--bm-negative);
  --bm-pro-neutral: var(--bm-neutral);
  font-family: var(--bm-font-sans);
}

/* Help / FAQ uses local variable names for encapsulation, but no local brand. */
.bm-help,
.bm-pro-sales__faq {
  --bmh-text: var(--bm-text);
  --bmh-muted: var(--bm-text-muted);
  --bmh-border: var(--bm-border-strong);
  --bmh-accent: var(--bm-accent);
  font-family: var(--bm-font-sans);
}
