/* ============================================================
   NEXUS — Design Tokens (Phase 0, 2026-05-25)
   Single source of truth for the new visual identity.
   Loaded BEFORE style.css so legacy variables can alias to these.
   Touch colors/typo tokens here only — no component rules.
   ============================================================ */
:root {
  /* SURFACES */
  --nx-bg-void:#050608; --nx-bg-base:#0A0C10; --nx-bg-surface:#111419; --nx-bg-raised:#181C23; --nx-bg-inset:#07090C; --nx-glass:rgba(17,20,25,0.72);
  /* BORDERS */
  --nx-border:rgba(255,255,255,0.07); --nx-border-mid:rgba(255,255,255,0.12); --nx-border-sig:rgba(124,92,255,0.40);
  /* TEXTE */
  --nx-text-1:#ECEEF1; --nx-text-2:#A8B0BA; --nx-text-3:#6B7480; --nx-text-4:#444C56;
  /* SIGNATURE — couleurs (glow opacities raised so the violet actually shows) */
  --nx-signal:#7C5CFF; --nx-signal-bright:#9B80FF; --nx-signal-deep:#5B3FD9; --nx-signal-deeper:#3D2A9E;
  --nx-signal-glow:rgba(124,92,255,0.28); --nx-signal-glow-strong:rgba(124,92,255,0.45);
  --nx-signal-dim:rgba(124,92,255,0.10); --nx-signal-faint:rgba(124,92,255,0.05); --nx-signal-line:rgba(124,92,255,0.55);
  /* SIGNATURE — gradients, shadows, ambient (the "system" identity) */
  --nx-grad-cta:linear-gradient(135deg,#7C5CFF 0%,#5B3FD9 100%);
  --nx-grad-cta-hover:linear-gradient(135deg,#9B80FF 0%,#6B4FE6 100%);
  --nx-grad-header-line:linear-gradient(90deg,transparent,#7C5CFF 35%,#9B80FF 50%,#7C5CFF 65%,transparent);
  --nx-grad-viz-area:linear-gradient(180deg,rgba(124,92,255,0.30),rgba(124,92,255,0.02));
  --nx-shadow-cta:0 6px 24px rgba(124,92,255,0.40),0 2px 6px rgba(124,92,255,0.20);
  --nx-shadow-cta-hover:0 10px 36px rgba(124,92,255,0.52),0 2px 8px rgba(124,92,255,0.28);
  --nx-glow-live:0 0 10px rgba(124,92,255,0.70),0 0 4px rgba(124,92,255,0.50);
  /* AMBIENT GLOBAL — the "violet in the air", maps onto body background */
  --nx-ambient-bg:
    radial-gradient(ellipse 1100px 560px at 18% -8%, rgba(124,92,255,0.10), transparent 55%),
    radial-gradient(ellipse 900px 480px at 85% 108%, rgba(91,63,217,0.07), transparent 55%),
    var(--nx-bg-void);
  /* SÉMANTIQUE TRADING */
  --nx-up:#2DD98A; --nx-up-dim:rgba(45,217,138,0.12); --nx-down:#FF5C72; --nx-down-dim:rgba(255,92,114,0.12); --nx-warn:#F5A623; --nx-warn-dim:rgba(245,166,35,0.12); --nx-info:#4DA3FF; --nx-info-dim:rgba(77,163,255,0.12);
  /* DATA-VIZ */
  --nx-viz-1:#7C5CFF; --nx-viz-2:#4DA3FF; --nx-viz-3:#3DCFE0; --nx-viz-4:#F5A623; --nx-viz-5:#FF5C72; --nx-viz-6:#5B6573;
  /* ÉLÉVATION */
  --nx-shadow-sm:0 1px 2px rgba(0,0,0,0.4); --nx-shadow-md:0 4px 16px rgba(0,0,0,0.5); --nx-shadow-lg:0 12px 40px rgba(0,0,0,0.6); --nx-shadow-sig:0 0 0 1px var(--nx-border-sig),0 4px 24px rgba(124,92,255,0.18);
  /* RADIUS / GRILLE */
  /* RADIUS durci "terminal-grade" 2026-06-12 (bords plus nets, moins SaaS) */
  --nx-r-sm:4px; --nx-r-md:7px; --nx-r-lg:10px; --nx-r-pill:999px; --nx-space:4px;
  /* GLASS profond — surfaces du redesign 2026-05-31 (plus opaque/sombre que --nx-glass legacy) */
  --nx-glass-deep:rgba(13,16,21,0.82);
  /* TYPO */
  --nx-font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --nx-font-mono:'JetBrains Mono','SF Mono','Roboto Mono',Consolas,monospace;
  --nx-fs-2xs:10px; --nx-fs-xs:11.5px; --nx-fs-sm:13px; --nx-fs-md:15px; --nx-fs-lg:18px; --nx-fs-xl:22px; --nx-fs-2xl:30px; --nx-fs-3xl:44px;
  --nx-fw-normal:400; --nx-fw-medium:500; --nx-fw-semi:600; --nx-fw-bold:800;
  --nx-lh-tight:1.1; --nx-lh-snug:1.35; --nx-lh-base:1.5;
}
