/* ============================================
   PLAGPREVENT V2 — DESIGN TOKENS
   Theme: "Blanc Nacré" — Premium White
   Pearl-white backgrounds, dark text, vivid accents
   ============================================ */

:root {
  /* ─── Backgrounds — PEARL WHITE ─── */
  --bg-void:         #FFFFFF;
  --bg-surface:      #F8FAFB;      /* Very subtle cool-white */
  --bg-elevated:     #FFFFFF;      /* Cards, pure white */
  --bg-soft:         #F1F5F9;      /* Alternating sections */
  --bg-glass:        rgba(255, 255, 255, 0.85);
  --bg-glass-border: rgba(15, 23, 42, 0.06);

  /* ─── Section backgrounds (alternating) ─── */
  --bg-section-alt:  #F4F7FA;
  --bg-section-glow: radial-gradient(ellipse at 50% 0%, rgba(6,182,212,0.04) 0%, transparent 60%);

  /* ─── Accent: Cyan Chirurgical ─── */
  --cyan-200:  #A5F3FC;
  --cyan-300:  #22D3EE;
  --cyan-400:  #06B6D4;
  --cyan-500:  #0891B2;
  --cyan-600:  #0E7490;
  --cyan-glow: rgba(6, 182, 212, 0.08);
  --cyan-glow-strong: rgba(6, 182, 212, 0.15);

  /* ─── Accent: Émeraude ─── */
  --emerald-200: #A7F3D0;
  --emerald-300: #34D399;
  --emerald-400: #10B981;
  --emerald-500: #059669;
  --emerald-600: #047857;

  /* ─── Accent: Ambre (warm) ─── */
  --amber-400: #FBBF24;
  --amber-500: #F59E0B;

  /* ─── Alert / Plagiat ─── */
  --alert-red:    #EF4444;
  --alert-orange: #F97316;
  --alert-red-glow: rgba(239, 68, 68, 0.1);

  /* ─── Text — DARK ON WHITE ─── */
  --text-primary:    #0F172A;     /* Slate-900 — nearly black */
  --text-secondary:  #475569;     /* Slate-600 */
  --text-muted:      #94A3B8;     /* Slate-400 */
  --text-accent:     var(--cyan-500);

  /* ─── Gradients ─── */
  --g-hero:       linear-gradient(135deg, #06B6D4 0%, #10B981 100%);
  --g-hero-text:  linear-gradient(135deg, #0891B2 0%, #059669 50%, #06B6D4 100%);
  --g-scan:       linear-gradient(180deg, transparent 0%, rgba(6,182,212,0.15) 50%, transparent 100%);
  --g-btn:        linear-gradient(135deg, #06B6D4 0%, #10B981 100%);
  --g-btn-hover:  linear-gradient(135deg, #22D3EE 0%, #34D399 100%);
  --g-card:       linear-gradient(135deg, rgba(6,182,212,0.03) 0%, rgba(16,185,129,0.02) 100%);
  --g-glow:       radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(6,182,212,0.04), transparent 40%);
  --g-network:    linear-gradient(135deg, #0891B2 0%, #059669 100%);
  --g-section:    linear-gradient(180deg, var(--bg-void) 0%, var(--bg-section-alt) 50%, var(--bg-void) 100%);

  /* ─── Typography ─── */
  --font-display:  'Space Grotesk', system-ui, sans-serif;
  --font-body:     'Inter', system-ui, sans-serif;
  --font-mono:     'JetBrains Mono', 'Fira Code', monospace;

  --fz-xs:    0.75rem;
  --fz-sm:    0.875rem;
  --fz-base:  1.125rem;
  --fz-lg:    1.25rem;
  --fz-xl:    1.5rem;
  --fz-2xl:   2rem;
  --fz-3xl:   2.5rem;
  --fz-4xl:   3.5rem;
  --fz-hero:  clamp(3rem, 7vw, 6.5rem);

  --lh-tight:   1.1;
  --lh-heading: 1.2;
  --lh-body:    1.7;

  --fw-regular: 400;
  --fw-medium:  500;
  --fw-semi:    600;
  --fw-bold:    700;

  --tracking-tight:  -0.03em;
  --tracking-normal: 0;
  --tracking-wide:   0.05em;
  --tracking-wider:  0.12em;
  --tracking-widest: 0.2em;

  /* ─── Spacing ─── */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.5rem;
  --space-6:  2rem;
  --space-7:  3rem;
  --space-8:  4rem;
  --space-9:  6rem;
  --space-10: 8rem;
  --space-11: 10rem;
  --space-12: 12rem;

  /* ─── Layout ─── */
  --container-max:    1280px;
  --container-narrow: 960px;
  --container-wide:   1440px;
  --nav-height:       72px;
  --section-padding:  clamp(4rem, 10vh, 8rem);

  /* ─── Borders & Radius ─── */
  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --radius-xl:   28px;
  --radius-full: 9999px;

  --border-subtle:  1px solid rgba(15, 23, 42, 0.06);
  --border-accent:  1px solid rgba(6, 182, 212, 0.2);
  --border-glass:   1px solid rgba(15, 23, 42, 0.04);

  /* ─── Shadows — SOFT for white theme ─── */
  --shadow-sm:    0 1px 3px rgba(15, 23, 42, 0.04), 0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow-md:    0 4px 16px rgba(15, 23, 42, 0.06), 0 2px 4px rgba(15, 23, 42, 0.04);
  --shadow-lg:    0 12px 40px rgba(15, 23, 42, 0.08), 0 4px 12px rgba(15, 23, 42, 0.04);
  --shadow-xl:    0 20px 60px rgba(15, 23, 42, 0.1);
  --shadow-glow:  0 0 30px rgba(6, 182, 212, 0.1);
  --shadow-glow-strong: 0 0 50px rgba(6, 182, 212, 0.15);

  /* ─── Transitions ─── */
  --ease-out:     cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:  cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring:  cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast:   150ms;
  --duration-normal: 300ms;
  --duration-slow:   600ms;

  /* ─── Glass — FROSTED WHITE ─── */
  --glass-blur:   20px;
  --glass-bg:     rgba(255, 255, 255, 0.85);
  --glass-border: rgba(15, 23, 42, 0.06);

  /* ─── Z-index scale ─── */
  --z-canvas:      1;
  --z-content:     10;
  --z-overlay:     50;
  --z-nav:         100;
  --z-cursor:      200;
  --z-modal:       500;
  /* ─── Aliases (used by components/layout/doc) ─── */
  --fg-primary:    var(--text-primary);
  --fg-secondary:  var(--text-secondary);
  --fg-muted:      var(--text-muted);
  --fg-accent:     var(--text-accent);

  --leading-tight:   var(--lh-tight);
  --leading-heading: var(--lh-heading);
  --leading-relaxed: var(--lh-body);

  --radius:   var(--radius-md);
  --bg-card:  var(--bg-elevated);
}
