/*
 * Design tokens — Direction artistique Gemini
 * Indigo électrique + slate profond + typo Plus Jakarta Sans / DM Sans / JetBrains Mono
 */

:root {
  /* === Typographie === */
  --font-hero: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-display: 'Bricolage Grotesque', 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-body: 'Onest', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', 'Consolas', 'Monaco', monospace;

  /* Échelle typographique */
  --text-xs: 0.75rem;     /* 12 */
  --text-sm: 0.875rem;    /* 14 */
  --text-base: 1rem;      /* 16 */
  --text-lg: 1.125rem;    /* 18 */
  --text-xl: 1.25rem;     /* 20 */
  --text-2xl: 1.5rem;     /* 24 */
  --text-3xl: 1.875rem;   /* 30 */
  --text-4xl: 2.25rem;    /* 36 */
  --text-5xl: 3rem;       /* 48 */
  --text-6xl: 3.75rem;    /* 60 */

  --leading-tight: 1.15;
  --leading-snug: 1.35;
  --leading-normal: 1.6;
  --leading-relaxed: 1.75;
  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.05em;

  /* === Espacements (base 4) === */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* === Layout === */
  --container-max: 1100px;
  --container-padding: var(--space-6);
  --header-height: 64px;

  /* === Radii — subtils === */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 999px;

  /* === Transitions === */
  --transition-fast: 150ms ease;
  --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1);

  /* === Z-index === */
  --z-base: 1;
  --z-sticky: 100;
  --z-header: 200;
  --z-overlay: 800;
  --z-modal: 900;
  --z-toast: 1000;

  /* =========================================
     PALETTE — MODE SOMBRE (DEFAULT)
     ========================================= */
  --bg-primary: #0F172A;     /* Slate 900 */
  --bg-secondary: #1E293B;   /* Slate 800 */
  --bg-tertiary: #334155;    /* Slate 700 */

  --text-primary: #F8FAFC;   /* Slate 50 */
  --text-secondary: #94A3B8; /* Slate 400 */
  --text-tertiary: #64748B;  /* Slate 500 */

  /* Accent : Sky Blue */
  --accent-main: #38BDF8;    /* Sky 400 */
  --accent-hover: #0EA5E9;   /* Sky 500 */
  --accent-light: #7DD3FC;   /* Sky 300 */
  --accent-ghost: rgba(56, 189, 248, 0.12);

  /* États */
  --status-success: #10B981;
  --status-error: #EF4444;
  --status-warning: #F59E0B;

  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 12px 32px -4px rgba(0, 0, 0, 0.4);
  --shadow-glow: 0 0 24px rgba(56, 189, 248, 0.2);

  /* Aliases compatibilité avec mon scaffolding antérieur */
  --color-bg: var(--bg-primary);
  --color-surface: var(--bg-secondary);
  --color-surface-2: var(--bg-tertiary);
  --color-border: var(--bg-tertiary);
  --color-text: var(--text-primary);
  --color-text-muted: var(--text-secondary);
  --color-accent: var(--accent-main);
  --color-accent-hover: var(--accent-hover);
  --color-accent-soft: var(--accent-ghost);
  --color-on-accent: #FFFFFF;
  --color-success: var(--status-success);
  --color-warning: var(--status-warning);
  --color-error: var(--status-error);
}

/* =========================================
   PALETTE — MODE CLAIR
   ========================================= */
[data-theme='light'] {
  --bg-primary: #FAFAFA;
  --bg-secondary: #FFFFFF;
  --bg-tertiary: #E2E8F0;

  --text-primary: #0F172A;
  --text-secondary: #475569;
  --text-tertiary: #94A3B8;

  --accent-main: #0EA5E9;
  --accent-hover: #0284C7;
  --accent-light: #38BDF8;
  --accent-ghost: rgba(14, 165, 233, 0.1);

  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 12px 32px -4px rgba(0, 0, 0, 0.15);
  --shadow-glow: 0 0 24px rgba(14, 165, 233, 0.25);

  --color-on-accent: #FFFFFF;
}
