/* ============================================================
   VEX SportTech — Color tokens
   Purist brand palette: jet-black surfaces + the VX greens.
   No secondary hue — green is the only accent; neutral steel
   carries any 2nd data series. Dark-first (broadcast / decks);
   a .vex-theme-light scope handles printed studies & reports.
   Brand spec: Signal Green #2BA913 · Neon #8EE62E · Jet #252524 / #080908
   ============================================================ */

:root {
  /* ---- Brand greens (the VX mark green ramp) ---- */
  --vex-neon: #8ee62e;          /* primary accent — neon (the V-triangle green) */
  --vex-green: #2ba913;         /* signal green — core brand green */
  --vex-green-bright: #4fcb3a;  /* mid-bright */
  --vex-green-deep: #1c7a0d;    /* deep green — pressed / shadow */
  --vex-green-olive: #4a8f2a;   /* muted olive — quiet fills */
  --vex-signal: #10ec00;        /* electric signal — live counter, scan line, glow */

  /* ---- Neutral / jet (brand black) ---- */
  --vex-jet: #252524;           /* jet black — official brand black */
  --vex-graphite: #15160f;      /* warm graphite band */
  --vex-ink-deep: #050605;      /* deepest — video shell */

  /* ---- Dark surfaces ---- */
  --vex-bg: #080908;            /* page background — jet */
  --vex-bg-strong: #050605;     /* darker band */
  --vex-surface-1: rgba(37, 38, 33, 0.62);     /* glass panel over jet */
  --vex-surface-2: #16170f;                    /* solid panel */
  --vex-surface-raise: rgba(255, 255, 255, 0.045); /* raised fill on dark */
  --vex-on-dark: #f2f5ec;       /* text on dark */
  --vex-on-dark-muted: #a7b0a0; /* muted text on dark */
  --vex-line: rgba(142, 230, 46, 0.15);        /* green-tinted hairline */
  --vex-line-strong: rgba(142, 230, 46, 0.26);

  /* ---- Light surfaces (studies, reports, print) ---- */
  --vex-paper: #ffffff;
  --vex-shell: #f4f6f0;
  --vex-mist: #e9ece2;
  --vex-ink: #16170f;           /* near-jet text on light */
  --vex-muted: #5c6356;         /* muted text on light */
  --vex-border: rgba(37, 37, 36, 0.10);
  --vex-border-strong: rgba(37, 37, 36, 0.16);

  /* ---- Semantic status ---- */
  --vex-success: #2ba913;
  --vex-warning: #c9a227;       /* amber — pending / caution, used sparingly */
  --vex-danger: #d4503f;        /* the "leak / loss" red for risk framing */
  --vex-info: #2ba913;

  /* ---- Data palette — green ramp + neutral steel (NO violet) ---- */
  --vex-data-1: #2ba913;        /* signal green — hero series */
  --vex-data-2: #8ee62e;        /* neon */
  --vex-data-3: #1c7a0d;        /* deep green */
  --vex-data-4: #4fcb3a;        /* bright green */
  --vex-data-5: #7e8b79;        /* steel-olive — neutral 2nd series */
  --vex-data-6: #c9a227;        /* amber — single highlight series */

  /* ---- Gradients ---- */
  --vex-gradient-accent: linear-gradient(135deg, var(--vex-green), var(--vex-neon));
  --vex-gradient-signal: linear-gradient(90deg, var(--vex-green), var(--vex-neon));
  --vex-gradient-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.02));
  --vex-gradient-dark: linear-gradient(180deg, #16170f 0%, #080908 100%); /* @kind color */
  --vex-gradient-page: linear-gradient(180deg, #050605 0%, #080908 22%, #0c0d0a 100%); /* @kind color */

  /* ---- Glow / focus ---- */
  --vex-glow: rgba(142, 230, 46, 0.22);
  --vex-glow-ring: 0 0 0 4px rgba(16, 236, 0, 0.10);
  --vex-focus-ring: 0 0 0 3px rgba(142, 230, 46, 0.32);

  /* ============================================================
     SEMANTIC ALIASES — default theme is DARK (broadcast surface)
     ============================================================ */
  --surface-page: var(--vex-bg);
  --surface-card: var(--vex-surface-1);
  --surface-solid: var(--vex-surface-2);
  --surface-raise: var(--vex-surface-raise);
  --surface-video: var(--vex-ink-deep);

  --text-strong: var(--vex-on-dark);
  --text-body: #dde4d4;
  --text-muted: var(--vex-on-dark-muted);

  --border: var(--vex-line);
  --border-strong: var(--vex-line-strong);

  --accent: var(--vex-neon);
  --accent-strong: var(--vex-green);
  --accent-ink: #06140a;        /* text on a neon-green fill */
}

/* ---- Light theme scope (studies, reports, print, light embeds) ---- */
.vex-theme-light {
  --surface-page: var(--vex-shell);
  --surface-card: var(--vex-paper);
  --surface-solid: var(--vex-paper);
  --surface-raise: rgba(255, 255, 255, 0.62);
  --surface-video: var(--vex-ink-deep);

  --text-strong: var(--vex-ink);
  --text-body: #2a2d24;
  --text-muted: var(--vex-muted);

  --border: var(--vex-border);
  --border-strong: var(--vex-border-strong);

  --accent: var(--vex-green);
  --accent-strong: var(--vex-green-deep);
  --accent-ink: #06140a;
}
