/**
 * PULZAR SIGNATURE — Design Tokens
 * Source unique de vérité pour couleurs, espacements, typographie.
 * Aucun hex/px hardcodé dans Blade : utiliser var(--pulzar-*).
 */
:root {
  /* Surfaces foncées (mode dark par défaut) */
  --pulzar-bg: #09090b;
  --pulzar-surface: #18181b;
  --pulzar-surface-2: #27272a;
  --pulzar-surface-3: #3f3f46;

  /* Bordures */
  --pulzar-border: #3f3f46;
  --pulzar-border-subtle: rgb(255 255 255 / 0.06);
  --pulzar-border-soft: rgb(255 255 255 / 0.10);
  --pulzar-border-strong: rgb(255 255 255 / 0.20);

  /* Couleurs marque */
  --pulzar-cyan: #06b6d4;
  --pulzar-cyan-dim: #0e7490;
  --pulzar-cyan-glow: rgb(6 182 212 / 0.25);
  --pulzar-violet: #8b5cf6;
  --pulzar-violet-dim: #6d28d9;
  --pulzar-violet-glow: rgb(139 92 246 / 0.25);

  /* Sémantique (statuts) */
  --pulzar-success: #10b981;
  --pulzar-success-dim: #047857;
  --pulzar-success-soft: rgb(16 185 129 / 0.15);
  --pulzar-warning: #f59e0b;
  --pulzar-warning-dim: #b45309;
  --pulzar-warning-soft: rgb(245 158 11 / 0.15);
  --pulzar-danger: #ef4444;
  --pulzar-danger-dim: #b91c1c;
  --pulzar-danger-soft: rgb(239 68 68 / 0.15);
  --pulzar-info: #3b82f6;
  --pulzar-info-dim: #1d4ed8;
  --pulzar-info-soft: rgb(59 130 246 / 0.15);

  /* Texte */
  --pulzar-text: #fafafa;
  --pulzar-text-dim: #a1a1aa;
  --pulzar-text-muted: #71717a;
  --pulzar-text-subtle: #52525b;

  /* Typographie */
  --pulzar-font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pulzar-font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;
  --pulzar-font-display: "Bebas Neue", "Inter", sans-serif;

  /* Border radius */
  --pulzar-radius-xs: 0.25rem;
  --pulzar-radius-sm: 0.5rem;
  --pulzar-radius-md: 0.75rem;
  --pulzar-radius-lg: 1rem;
  --pulzar-radius-xl: 1.5rem;
  --pulzar-radius-full: 9999px;

  /* Shadows */
  --pulzar-shadow-card: 0 1px 0 0 rgb(255 255 255 / 0.03) inset, 0 1px 2px rgb(0 0 0 / 0.4);
  --pulzar-shadow-hover: 0 8px 24px -8px rgb(6 182 212 / 0.25);
  --pulzar-shadow-modal: 0 24px 48px -12px rgb(0 0 0 / 0.7);
  --pulzar-shadow-glow: 0 0 32px rgb(6 182 212 / 0.4);

  /* Animation */
  --pulzar-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --pulzar-ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --pulzar-duration-fast: 150ms;
  --pulzar-duration-base: 250ms;
  --pulzar-duration-slow: 400ms;

  /* Spacing */
  --pulzar-space-1: 0.25rem;
  --pulzar-space-2: 0.5rem;
  --pulzar-space-3: 0.75rem;
  --pulzar-space-4: 1rem;
  --pulzar-space-6: 1.5rem;
  --pulzar-space-8: 2rem;
  --pulzar-space-12: 3rem;
}

/* Light mode override (si activé) */
@media (prefers-color-scheme: light) {
  [data-theme="auto"] {
    --pulzar-bg: #fafafa;
    --pulzar-surface: #ffffff;
    --pulzar-surface-2: #f4f4f5;
    --pulzar-text: #18181b;
    --pulzar-text-dim: #52525b;
    --pulzar-text-muted: #71717a;
  }
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Inter font features avancées (T1.9) */
body, [class*="pulzar-"] {
  font-feature-settings: "cv11", "ss03", "ss05", "tnum";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Focus visible accessibility WCAG */
*:focus-visible {
  outline: 2px solid var(--pulzar-cyan);
  outline-offset: 2px;
  border-radius: var(--pulzar-radius-sm);
}

/**
 * COHÉRENCE v5 (16 mai 2026) — alias --pulzar-* mappent sur tokens v5 --pz-* canoniques
 * pour ne pas avoir 2 systèmes parallèles. v5 reste source de vérité.
 */
:root {
  --pulzar-cyan: var(--pz-cyan-400, #22d3ee);
  --pulzar-violet: var(--pz-violet-500, #8b5cf6);
  /* --pulzar-bg, --pulzar-surface gardent leurs valeurs (pas dans v5) */
}
