/* Legend AI visual system — the only file allowed to define raw colors. */

@font-face {
  font-family: "Geist Local";
  src: url("/static/fonts/geist-latin-variable.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: optional;
}

:root {
  color-scheme: dark;

  /* Primitive palette. Named semantic aliases below are the public contract. */
  --color-black: #000;
  --color-white: #fff;
  --color-0b0e16: #0b0e16;
  --color-0b1220: #0b1220;
  --color-0b1420: #0b1420;
  --color-0d1117: #0d1117;
  --color-1367a7: #1367a7;
  --color-161b22: #161b22;
  --color-181818: #181818;
  --color-1c2028: #1c2028;
  --color-1f6feb: #1f6feb;
  --color-21262d: #21262d;
  --color-242424: #242424;
  --color-26c6da: #26c6da;
  --color-2ea043: #2ea043;
  --color-30363d: #30363d;
  --color-388bfd: #388bfd;
  --color-39d353: #39d353;
  --color-484f58: #484f58;
  --color-56d4dd: #56d4dd;
  --color-58a6ff: #58a6ff;
  --color-6e7681: #6e7681;
  --color-6e7a94: #6e7a94;
  --color-79b8ff: #79b8ff;
  --color-7d8590: #7d8590;
  --color-7ee787: #7ee787;
  --color-85e89d: #85e89d;
  --color-8957e5: #8957e5;
  --color-8b949e: #8b949e;
  --color-9da7b2: #9da7b2;
  --color-aab4c6: #aab4c6;
  --color-b8883a: #b8883a;
  --color-bb8009: #bb8009;
  --color-c9d1d9: #c9d1d9;
  --color-d2691e: #d2691e;
  --color-e3b341: #e3b341;
  --color-e6edf3: #e6edf3;
  --color-ef5350: #ef5350;
  --color-f0883e: #f0883e;
  --color-f4e0a0: #f4e0a0;
  --color-ff7b72: #ff7b72;
  --color-ff8a84: #ff8a84;
  --color-ffca28: #ffca28;

  /* Core surfaces and content. */
  --bg: #0a0e1a;
  --bg2: #0f1420;
  --bg3: #171c2e;
  --bg-elev: #131828;
  --bg-card: var(--bg2);
  --border: #1e2640;
  --border-soft: var(--bg-elev);
  --text: #e8edf5;
  --text-muted: #a8b1bd;
  --text-muted-strong: var(--color-aab4c6);
  --text-dim: #7f8aa3;
  --accent: #d4a857;
  --accent-hover: #e0b96b;
  --accent-deep: #b5821a;
  --accent-dim: rgb(212 168 87 / 14%);
  --accent-ring: rgb(212 168 87 / 32%);
  --accent-soft: rgb(212 168 87 / 6%);

  /* Semantic states: one color, one meaning. Always pair with icon + label. */
  --green: #3fb950;
  --green-dim: rgb(63 185 80 / 15%);
  --yellow: #d29922;
  --yellow-dim: rgb(210 153 34 / 15%);
  --red: #f85149;
  --red-dim: rgb(248 81 73 / 15%);
  --verdict-buyable: var(--green);
  --verdict-watch: var(--yellow);
  --verdict-avoid: #e67770;
  --up: #36c08a;
  --down: #f0703e;
  --up-dim: color-mix(in srgb, var(--up) 14%, transparent);
  --down-dim: color-mix(in srgb, var(--down) 14%, transparent);
  --purple: #a371f7;

  /* Legend accents: tabs, badges, avatars and rings only. */
  --legend-minervini: #639fe3;
  --legend-oneil: #2fda47;
  --legend-livermore: #38d1dc;
  --legend-weinstein: var(--verdict-avoid);
  --legend-darvas: #e08d52;
  --legend-wyckoff: #9f74e7;
  --c-minervini: var(--legend-minervini);
  --c-oneil: var(--legend-oneil);
  --c-livermore: var(--legend-livermore);
  --c-weinstein: var(--legend-weinstein);
  --c-darvas: var(--legend-darvas);
  --c-wyckoff: var(--legend-wyckoff);

  /* Typography: the canonical six-step product scale. */
  --font-sans: "Geist Local", "Geist Fallback", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  --font-display: "Crimson Pro", "Iowan Old Style", Palatino, Georgia, serif;
  --text-12: 12px;
  --text-14: 14px;
  --text-16: 16px;
  --text-20: 20px;
  --text-28: 28px;
  --text-40: 40px;
  --fs-xs: 11px;
  --fs-sm: var(--text-12);
  --fs-base: var(--text-14);
  --fs-md: var(--text-16);
  --fs-lg: var(--text-20);
  --fs-xl: 24px;
  --fs-2xl: 34px;
  --fs-xxl: 32px;
  --fs-display-2: clamp(30px, 3.4vw, 42px);
  --fs-display-1: clamp(40px, 5.2vw, 68px);

  /* Geometry, spacing, elevation, focus and motion. */
  --radius-sm: 4px;
  --radius: 6px;
  --radius-lg: 10px;
  --radius-xl: 20px;
  --radius-pill: 999px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --shadow-sm: 0 1px 3px rgb(0 0 0 / 40%);
  --shadow: 0 4px 12px rgb(0 0 0 / 35%);
  --shadow-lg: 0 16px 40px rgb(0 0 0 / 50%);
  --inset-hi: inset 0 1px 0 rgb(255 255 255 / 4%);
  --focus-ring: var(--accent);
  --ease: cubic-bezier(.2, .8, .2, 1);
  --motion-fast: 160ms;
  --transition: all var(--motion-fast) var(--ease);
  --tint-4: 4%;
  --tint-8: 8%;
  --tint-12: 12%;
  --tint-20: 20%;
  --tint-32: 32%;
  --regime-banner-h: 0px;

  /* Compatibility aliases for legacy landing and chart surfaces. */
  --bg-0: var(--bg);
  --bg-1: var(--bg2);
  --bg-2: var(--bg3);
  --bg-3: var(--bg-elev);
  --line: var(--border);
  --line-strong: var(--color-30363d);
  --fg-0: var(--text);
  --fg-1: var(--text-muted-strong);
  --fg-2: var(--text-muted);
  --fg-3: var(--text-dim);
  --fg-4: var(--color-6e7a94);
  --accent-2: var(--accent-deep);
  --accent-glow: var(--accent-ring);
  --win: var(--verdict-buyable);
  --win-soft: var(--green-dim);
  --loss: var(--verdict-avoid);
  --actionable: var(--verdict-watch);
  --actionable-soft: var(--yellow-dim);
  --pad-gutter: 56px;
  --max: 1320px;
  --legacy-bg: var(--color-0d1117);
  --legacy-bg2: var(--color-161b22);
  --legacy-bg3: var(--color-21262d);
  --legacy-border: var(--color-30363d);
  --legacy-text: var(--color-e6edf3);
  --legacy-muted: var(--color-8b949e);
  --legacy-blue: var(--color-58a6ff);
  --brand-gold-light: var(--color-f4e0a0);
  --brand-gold-dark: var(--color-b8883a);
}
