/* ==========================================================================
   VARIABLES.CSS — Design Tokens & Dual Theme Support
   LlionTec.com Design System
   ========================================================================== */

/* --------------------------------------------------------------------------
   DARK THEME (Default)
   -------------------------------------------------------------------------- */
:root[data-theme='dark'],
:root {
  /* ── Backgrounds ──────────────────────────────────────────────────────── */
  --bg-base:        #0a0a0f;
  --bg-surface:     #111827;
  --bg-surface-alt: #1f2937;
  --bg-elevated:    #374151;

  /* ── Text ─────────────────────────────────────────────────────────────── */
  --text-primary:   #f9fafb;
  --text-secondary: #d1d5db;
  --text-muted:     #9ca3af;

  /* ── Accent Colors ────────────────────────────────────────────────────── */
  --accent-primary:   #00d4ff;   /* Cyan electric  */
  --accent-secondary: #7c3aed;   /* Violet neon    */

  /* ── Gradient ─────────────────────────────────────────────────────────── */
  --gradient-brand: linear-gradient(135deg, #00d4ff, #7c3aed);

  /* ── Glassmorphism ────────────────────────────────────────────────────── */
  --glass-bg:     rgba(255, 255, 255, 0.05);
  --glass-border: rgba(255, 255, 255, 0.1);

  /* ── Shadows (cyan-tinted) ────────────────────────────────────────────── */
  --shadow-sm:  0 1px 3px rgba(0, 212, 255, 0.06);
  --shadow-md:  0 4px 12px rgba(0, 212, 255, 0.08);
  --shadow-lg:  0 10px 30px rgba(0, 212, 255, 0.12);
  --shadow-xl:  0 20px 50px rgba(0, 212, 255, 0.16);
  --shadow-glow: 0 0 30px rgba(0, 212, 255, 0.2);

  /* ── Scrollbar ────────────────────────────────────────────────────────── */
  --scrollbar-track: #111827;
  --scrollbar-thumb: var(--gradient-brand);
  --scrollbar-thumb-solid: #00d4ff;

  /* ── Selection ────────────────────────────────────────────────────────── */
  --selection-bg:    rgba(0, 212, 255, 0.3);
  --selection-color: #f9fafb;
}

/* --------------------------------------------------------------------------
   LIGHT THEME
   -------------------------------------------------------------------------- */
:root[data-theme='light'] {
  /* ── Backgrounds ──────────────────────────────────────────────────────── */
  --bg-base:        #ffffff;
  --bg-surface:     #f8fafc;
  --bg-surface-alt: #f1f5f9;
  --bg-elevated:    #e2e8f0;

  /* ── Text ─────────────────────────────────────────────────────────────── */
  --text-primary:   #0f172a;
  --text-secondary: #334155;
  --text-muted:     #64748b;

  /* ── Accent Colors (slightly deeper for contrast on light bg) ─────── */
  --accent-primary:   #0099cc;
  --accent-secondary: #6d28d9;

  /* ── Gradient ─────────────────────────────────────────────────────────── */
  --gradient-brand: linear-gradient(135deg, #0099cc, #6d28d9);

  /* ── Glassmorphism ────────────────────────────────────────────────────── */
  --glass-bg:     rgba(255, 255, 255, 0.7);
  --glass-border: rgba(0, 0, 0, 0.1);

  /* ── Shadows (neutral) ────────────────────────────────────────────────── */
  --shadow-sm:  0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md:  0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg:  0 10px 30px rgba(0, 0, 0, 0.1);
  --shadow-xl:  0 20px 50px rgba(0, 0, 0, 0.14);
  --shadow-glow: 0 0 30px rgba(0, 153, 204, 0.15);

  /* ── Scrollbar ────────────────────────────────────────────────────────── */
  --scrollbar-track: #f1f5f9;
  --scrollbar-thumb: var(--gradient-brand);
  --scrollbar-thumb-solid: #0099cc;

  /* ── Selection ────────────────────────────────────────────────────────── */
  --selection-bg:    rgba(0, 153, 204, 0.25);
  --selection-color: #0f172a;
}

/* --------------------------------------------------------------------------
   SHARED TOKENS (theme-agnostic)
   -------------------------------------------------------------------------- */
:root {
  /* ── Typography — Font Families ───────────────────────────────────────── */
  --ff-body:    'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --ff-heading: 'Space Grotesk', 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --ff-mono:    'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;

  /* ── Typography — Responsive Font Sizes (clamp-based) ─────────────── */
  --fs-xs:   clamp(0.7rem,  0.65rem + 0.25vw, 0.8rem);     /* ~11–13px */
  --fs-sm:   clamp(0.8rem,  0.75rem + 0.25vw, 0.9rem);     /* ~13–14px */
  --fs-base: clamp(0.9rem,  0.85rem + 0.25vw, 1rem);       /* ~14–16px */
  --fs-md:   clamp(1rem,    0.9rem  + 0.5vw,  1.15rem);    /* ~16–18px */
  --fs-lg:   clamp(1.1rem,  1rem    + 0.5vw,  1.35rem);    /* ~18–22px */
  --fs-xl:   clamp(1.25rem, 1.1rem  + 0.75vw, 1.6rem);     /* ~20–26px */
  --fs-2xl:  clamp(1.5rem,  1.25rem + 1.25vw, 2.25rem);    /* ~24–36px */
  --fs-3xl:  clamp(1.85rem, 1.5rem  + 1.75vw, 3rem);       /* ~30–48px */
  --fs-4xl:  clamp(2rem,    1.5rem  + 2.5vw,  4rem);       /* ~32–64px */

  /* ── Typography — Font Weights ────────────────────────────────────────── */
  --fw-normal:    400;
  --fw-medium:    500;
  --fw-semibold:  600;
  --fw-bold:      700;
  --fw-extrabold: 800;

  /* ── Typography — Line Heights ────────────────────────────────────────── */
  --lh-tight:   1.1;
  --lh-snug:    1.3;
  --lh-normal:  1.6;
  --lh-relaxed: 1.8;

  /* ── Spacing System ─────────────────────────────────────────────────── */
  --space-1:   0.25rem;  /*  4px */
  --space-2:   0.5rem;   /*  8px */
  --space-3:   0.75rem;  /* 12px */
  --space-4:   1rem;     /* 16px */
  --space-5:   1.25rem;  /* 20px */
  --space-6:   1.5rem;   /* 24px */
  --space-8:   2rem;     /* 32px */
  --space-10:  2.5rem;   /* 40px */
  --space-12:  3rem;     /* 48px */
  --space-16:  4rem;     /* 64px */

  /* ── Border Radius ────────────────────────────────────────────────────── */
  --radius-sm:   8px;
  --radius-md:   12px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-full: 9999px;

  /* ── Transitions ──────────────────────────────────────────────────────── */
  --transition-fast: 150ms ease;
  --transition-base: 300ms ease;
  --transition-slow: 500ms ease;
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);

  /* ── Z-Index Scale ────────────────────────────────────────────────────── */
  --z-navbar:   100;

  /* ── Container Max-Width ──────────────────────────────────────────────── */
  --container-xl:  1200px;

  /* ── Semantic Colors ──────────────────────────────────────────────────── */
  --color-success: #10b981;
  --color-error:   #ef4444;

  /* ── Navbar Height ────────────────────────────────────────────────────── */
  --navbar-height: 80px;
}
