/* ═══════════════════════════════════════════════════
   PenScan Design System — Variables & Tokens
   ═══════════════════════════════════════════════════ */

:root {
  /* ── Color Palette ─────────────────────────────── */
  --color-bg:          #0a0f1e;
  --color-bg-2:        #0e1525;
  --color-surface:     #111827;
  --color-surface-2:   #16213a;
  --color-surface-3:   #1c2c47;
  --color-border:      #1e3252;
  --color-border-2:    #253d63;

  /* Brand */
  --color-cyan:        #38bdf8;
  --color-cyan-dim:    rgba(56,189,248,0.10);
  --color-cyan-glow:   rgba(56,189,248,0.25);
  --color-violet:      #8b5cf6;
  --color-violet-dim:  rgba(139,92,246,0.12);
  --color-green:       #10b981;
  --color-green-dim:   rgba(16,185,129,0.12);
  --color-amber:       #f59e0b;
  --color-amber-dim:   rgba(245,158,11,0.12);
  --color-red:         #ef4444;

  /* Text */
  --color-text:        #f1f5f9;
  --color-text-2:      #cbd5e1;
  --color-text-3:      #94a3b8;
  --color-text-inv:    #0a0f1e;

  /* Semantic */
  --color-success:     #10b981;
  --color-warning:     #f59e0b;
  --color-danger:      #ef4444;
  --color-info:        #38bdf8;

  /* ── Typography ────────────────────────────────── */
  --font-sans:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;

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

  --weight-regular: 400;
  --weight-medium:  500;
  --weight-semibold:600;
  --weight-bold:    700;
  --weight-black:   900;

  --leading-tight:  1.2;
  --leading-snug:   1.35;
  --leading-normal: 1.6;
  --leading-relaxed:1.75;

  --tracking-tight: -0.04em;
  --tracking-snug:  -0.025em;
  --tracking-normal: 0;
  --tracking-wide:  0.05em;
  --tracking-wider: 0.1em;

  /* ── Spacing ───────────────────────────────────── */
  --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;
  --space-32:   8rem;

  /* ── Border Radius ─────────────────────────────── */
  --radius-sm:    6px;
  --radius-md:    10px;
  --radius-lg:    16px;
  --radius-xl:    24px;
  --radius-2xl:   32px;
  --radius-full:  9999px;

  /* ── Shadows ───────────────────────────────────── */
  --shadow-sm:   0 1px 3px rgba(0,0,0,0.5);
  --shadow-md:   0 4px 16px rgba(0,0,0,0.6);
  --shadow-lg:   0 12px 40px rgba(0,0,0,0.7);
  --shadow-xl:   0 24px 80px rgba(0,0,0,0.75);
  --shadow-cyan: 0 0 40px rgba(56,189,248,0.15);
  --shadow-glow: 0 0 80px rgba(56,189,248,0.08);

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

  /* ── Layout ────────────────────────────────────── */
  --container-sm:  640px;
  --container-md:  768px;
  --container-lg:  1024px;
  --container-xl:  1280px;
  --container-2xl: 1440px;

  --nav-height: 68px;
}
