/* ============================================================
   NEXACOS INTELLIGENCE — Design Tokens
   Identidade «Holographic / Deep-space». Dark-first, light-ready.
   Única fonte de verdade para cores, tipografia, espaçamento,
   raios e materiais. (PRD §6)
   ============================================================ */

:root {
  /* ---- Espectro da marca (gama holográfica) ---- */
  --nx-blue:       #2e6bff;  /* azul eléctrico de sinal */
  --nx-blue-600:   #1f54e0;
  --nx-violet:     #7b61ff;  /* violeta da marca        */
  --nx-violet-600: #6442f0;
  --nx-cyan:       #2fe6e0;  /* realce holo             */
  --nx-magenta:    #c45cff;  /* limite do espectro      */
  --nx-pink:       #ff5cc8;

  /* ---- Neutros deep-space (tema escuro) ---- */
  --space-900: #05060f;  /* void base          */
  --space-850: #080a18;
  --space-800: #0b0e20;  /* superfície primária */
  --space-700: #11142e;  /* superfície elevada  */
  --space-600: #1a1e3d;  /* hairline / borda    */
  --space-500: #2a2f55;
  --space-400: #4b5180;

  /* ---- Ink (texto) ---- */
  --ink-100: #f4f6ff;
  --ink-200: #c8cdf0;
  --ink-300: #9aa0cf;
  --ink-400: #6e74a3;

  /* ---- Gradientes assinatura ---- */
  --holo: linear-gradient(115deg, #2e6bff 0%, #7b61ff 42%, #c45cff 70%, #2fe6e0 100%);
  --holo-soft: linear-gradient(115deg, rgba(46,107,255,.9), rgba(123,97,255,.85), rgba(47,230,224,.9));
  --holo-radial: radial-gradient(120% 120% at 30% 20%, #7b61ff 0%, #2e6bff 38%, #0b0e20 78%);
  --aurora: conic-gradient(from 210deg at 50% 50%, #2e6bff, #7b61ff, #c45cff, #2fe6e0, #2e6bff);

  /* ---- Glow ---- */
  --glow-blue:   0 0 0 1px rgba(46,107,255,.4), 0 0 32px rgba(46,107,255,.35);
  --glow-violet: 0 0 0 1px rgba(123,97,255,.4), 0 0 36px rgba(123,97,255,.4);
  --glow-cyan:   0 0 28px rgba(47,230,224,.45);

  /* ---- Tipografia ---- */
  --font-display: 'Sora', system-ui, sans-serif;
  --font-body:    'Manrope', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;

  /* escala fluida */
  --t-display: clamp(3rem, 7vw, 6.5rem);
  --t-h1: clamp(2.4rem, 5vw, 4.25rem);
  --t-h2: clamp(1.9rem, 3.4vw, 2.9rem);
  --t-h3: clamp(1.35rem, 2vw, 1.7rem);
  --t-body-lg: clamp(1.05rem, 1.4vw, 1.3rem);
  --t-body: 1rem;
  --t-sm: 0.875rem;
  --t-xs: 0.75rem;

  /* ---- Espaçamento (escala 8 pt) ---- */
  --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px;
  --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 64px;
  --s-9: 96px; --s-10: 128px;

  /* ---- Raios ---- */
  --r-sm: 8px; --r-md: 14px; --r-lg: 22px; --r-xl: 32px; --r-pill: 999px;

  /* ---- Vidro (glassmorphism) ---- */
  --glass-bg: rgba(20,24,52,.55);
  --glass-stroke: rgba(140,150,220,.18);
  --glass-blur: blur(18px) saturate(140%);

  /* ---- Semânticos (escuro por omissão) ---- */
  --bg: var(--space-900);
  --surface: var(--space-800);
  --surface-2: var(--space-700);
  --border: var(--space-600);
  --text: var(--ink-100);
  --text-dim: var(--ink-300);
  --accent: var(--nx-violet);
}

/* ---- Tema claro ---- */
[data-theme="light"] {
  --bg: #f3f5fc;
  --surface: #ffffff;
  --surface-2: #eef1fb;
  --border: #dde2f4;
  --text: #0a0c1c;
  --text-dim: #555c87;
  --glass-bg: rgba(255,255,255,.7);
  --glass-stroke: rgba(40,50,110,.1);
  --ink-100: #0a0c1c;
  --ink-200: #2a2f55;
  --ink-300: #555c87;
}

* { box-sizing: border-box; }

/* ---- Utilitários de marca ---- */
.font-mono { font-family: var(--font-mono); }

.holo-text {
  background: var(--holo);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* malha holográfica pontilhada */
.mesh-bg {
  background-image:
    radial-gradient(circle at 1px 1px, rgba(123,97,255,.22) 1px, transparent 0);
  background-size: 26px 26px;
}
.grid-bg {
  background-image:
    linear-gradient(rgba(123,97,255,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46,107,255,.10) 1px, transparent 1px);
  background-size: 48px 48px;
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}
