/* _palette-extended.css — GENERATED by GenerateColorMirrors. DO NOT EDIT BY HAND.
 *
 * Source of truth: src/main/kotlin/com/tf/platform/ui/color/PlatformColors.kt
 * Re-generate via:  mvn process-classes  (auto-runs as part of every build)
 *
 * Build-time guard: PlatformColorsCoverageVerify diffs this file against a
 * fresh in-memory codegen and fails the build if they disagree.
 *
 * F4 (May 2026): the F2 palette (signal spectrum, tier enums, regime / setup
 * colors, ladders) is now mirrored as CSS custom properties so handler-side
 * `style='color:var(--sharpe-tier-excellent)'` works. Aliases preserve their
 * reference shape (`--vol-env-sell-rich: var(--signal-strong-positive)`) so
 * recoloring a single spectrum constant cascades through the entire palette.
 */
:root {
  --accent: #C19A5B;
  --accent-hover: #A07D42;
  --accent-deep: #7A5E2D;
  --accent-light: #D4B478;
  --accent-help: #6B8AAF;
  --surface-body: #121212;
  --surface-nav: #191919;
  --surface-card: #212121;
  --surface-raised: #2a2a2a;
  --surface-overlay: #343434;
  --text-headline: #f1f5f9;
  --text-section: #d1d5db;
  --text-group: #9ca3af;
  --text-utility: #6b7280;
  --text-muted: #4b5563;
  --border-subtle: #2a2a2a;
  --border: #383838;
  --border-muted: #454545;
  --vol-primary: #7c9fc4;
  --vol-secondary: #5a80a3;
  --vol-tertiary: #3d6585;
  --corr-primary: #5eead4;
  --volume-line: #e2c87a;
  --identifier-link: #c9d1d9;
  --signal-strong-positive: #22c55e;
  --signal-positive: #4ade80;
  --signal-soft-positive: #86efac;
  --signal-teal-positive: #6ee7b7;
  --signal-pale-positive: #a7f3d0;
  --signal-neutral: #4b5563;
  --signal-pale-negative: #fca5a5;
  --signal-soft-negative: #f87171;
  --signal-negative: #ef4444;
  --signal-strong-negative: #dc2626;
  --signal-deep-negative: #b91c1c;
  --signal-violet: #a78bfa;
  --z-score-tile-neutral: #6b7280;
  --regime-cheap: #38bdf8;
  --regime-neutral: var(--z-score-tile-neutral);
  --regime-rich: var(--signal-negative);
  --signal-warn: #f59e0b;
  --vol-heat-bright-red: var(--signal-negative);
  --vol-heat-red: var(--signal-strong-negative);
  --vol-heat-orange: #f97316;
  --vol-heat-amber-orange: #f59e0b;
  --vol-heat-amber: #d97706;
  --vol-heat-yellow: #eab308;
  --vol-heat-light-gray: #a3a3a3;
  --vol-heat-medium-gray: #737373;
  --vol-heat-dark-gray: #525252;
  --vol-heat-very-dark-gray: #404040;
  --corr-positive5: #1e5a8a;
  --corr-positive4: #2d6fa0;
  --corr-positive3: #3b82b8;
  --corr-positive2: #4a93c5;
  --corr-positive1: #274058;
  --corr-negative1: #58302e;
  --corr-negative2: #7a3836;
  --corr-negative3: #9e4040;
  --corr-negative4: #b83b3b;
  --corr-negative5: #8a1e1e;
  --regime-risk-on: #5ab88e;
  --regime-risk-off: #c47070;
  --regime-stagflation: #c4a058;
  --regime-transitional: var(--text-utility);
  --vol-compressed: var(--signal-soft-positive);
  --vol-normal: var(--text-headline);
  --vol-elevated: var(--signal-pale-negative);
  --vol-crisis: var(--signal-soft-negative);
  --grade-aplus: var(--signal-strong-positive);
  --grade-a: var(--signal-soft-positive);
  --grade-b: var(--text-headline);
  --grade-c: var(--text-utility);
  --grade-avoid: var(--signal-negative);
  --vol-env-coiled: var(--signal-negative);
  --vol-env-compressed: var(--accent);
  --vol-env-neutral: var(--text-utility);
  --vol-env-sell-rich: var(--signal-strong-positive);
  --vol-env-mean-revert: var(--signal-soft-positive);
  --sector-defensive: var(--signal-soft-negative);
  --sector-cyclical: var(--signal-strong-positive);
  --sector-tech-led: var(--signal-soft-positive);
  --sector-broad-strength: var(--signal-soft-positive);
  --sector-mixed: var(--text-utility);
  --chart-endpoint-dot-fill: #161616;
  --chart-grid: #3a3a3a;
  --chart-data-missing: #374151;
  --chart-tooltip-pill-bg: #111111;
  --chart-mixed-direction: #8a8a5c;
  --text-body: #e5e7eb;
  --text-null-placeholder: #3a3a3a;
  --slate-cool: #94a3b8;
  --slate-mid: #374151;
  --sky-blue: #6aaad6;
  --sky-blue-light: #93c5fd;
  --accent-muted: #c8a852;
  --pure-white: #ffffff;
  --surface-mid: #333333;
  --outcome-partial: #ca8a04;
  --outcome-empty: #b45309;
  --outcome-untradable: #9a3412;
  --coherence-aligned: var(--signal-strong-positive);
  --coherence-directional-only: #38bdf8;
  --coherence-vol-only: var(--signal-violet);
  --coherence-stand-aside: var(--text-utility);
  --volume-selling: var(--signal-negative);
  --volume-buying: var(--signal-strong-positive);
  --volume-elevated: var(--signal-violet);
  --volume-drying: var(--text-utility);
  --volume-unknown: var(--text-utility);
  --severity-info: var(--signal-strong-positive);
  --severity-warn: var(--vol-heat-amber);
  --severity-alert: var(--signal-negative);
  --beta-tier-unknown: var(--text-utility);
  --beta-tier-aggressive: var(--signal-soft-negative);
  --beta-tier-amplified: var(--signal-soft-negative);
  --beta-tier-market: var(--text-headline);
  --beta-tier-moderate: var(--signal-soft-positive);
  --beta-tier-defensive: var(--signal-strong-positive);
  --sharpe-tier-unknown: var(--text-utility);
  --sharpe-tier-excellent: var(--signal-strong-positive);
  --sharpe-tier-strong: var(--signal-soft-positive);
  --sharpe-tier-adequate: var(--text-headline);
  --sharpe-tier-weak: var(--signal-pale-negative);
  --sharpe-tier-negative: var(--signal-soft-negative);
  --rv-rank-tier-unknown: var(--text-utility);
  --rv-rank-tier-extreme: var(--signal-negative);
  --rv-rank-tier-high: var(--signal-soft-negative);
  --rv-rank-tier-elevated: var(--accent);
  --rv-rank-tier-normal: var(--text-utility);
  --rv-rank-tier-below-avg: var(--text-utility);
  --rv-rank-tier-suppressed: var(--text-utility);
  --max-dd-tier-unknown: var(--text-utility);
  --max-dd-tier-severe: var(--signal-deep-negative);
  --max-dd-tier-deep: var(--signal-negative);
  --max-dd-tier-moderate: var(--signal-soft-negative);
  --max-dd-tier-shallow: var(--signal-pale-negative);
  --range52w-tier-unknown: var(--text-utility);
  --range52w-tier-at-high: var(--signal-strong-positive);
  --range52w-tier-stretched: var(--signal-soft-positive);
  --range52w-tier-elevated: var(--text-headline);
  --range52w-tier-mid-range: var(--text-utility);
  --range52w-tier-basing: var(--signal-pale-negative);
  --range52w-tier-at-low: var(--signal-negative);
  --move-tier-unknown: var(--text-utility);
  --move-tier-climactic-up: var(--signal-strong-positive);
  --move-tier-recovering: var(--signal-soft-positive);
  --move-tier-calm: var(--text-utility);
  --move-tier-pulling-back: var(--signal-pale-negative);
  --move-tier-capitulation: var(--signal-negative);
  --yield-tier-unknown: var(--text-utility);
  --yield-tier-high-income: var(--signal-strong-positive);
  --yield-tier-income: var(--signal-soft-positive);
  --yield-tier-moderate: var(--text-headline);
  --yield-tier-low: var(--text-utility);
  --yield-tier-none: var(--text-utility);
  --term-structure-tier-unknown: var(--text-utility);
  --term-structure-tier-steep-back: var(--signal-soft-negative);
  --term-structure-tier-backwardation: var(--signal-strong-positive);
  --term-structure-tier-flat: var(--text-utility);
  --term-structure-tier-contango: var(--accent);
  --term-structure-tier-steep-contango: var(--signal-negative);
  --vol-stability-tier-unknown: var(--text-utility);
  --vol-stability-tier-whipsaw: var(--signal-negative);
  --vol-stability-tier-choppy: var(--text-utility);
  --vol-stability-tier-stable: var(--signal-soft-positive);
  --directional-tier-unknown: var(--text-utility);
  --directional-tier-strong-up: var(--signal-strong-positive);
  --directional-tier-up: var(--signal-positive);
  --directional-tier-slight-up: var(--signal-pale-positive);
  --directional-tier-flat: var(--signal-neutral);
  --directional-tier-slight-down: var(--signal-pale-negative);
  --directional-tier-down: var(--signal-negative);
  --directional-tier-strong-down: var(--signal-deep-negative);
}
