/* ============================================
   DESIGN TOKENS — Bhavesh Agrawal Portfolio
   ============================================
   Monochrome dark palette + Electric Blue accent
   Inspired by: Apple · Linear · Stripe · Vercel
   ============================================ */

:root {
  /* ---- Colors: Background ---- */
  --color-bg:            #09090B;
  --color-bg-alt:        #0F0F12;
  --color-surface:       #131316;
  --color-surface-hover: #1A1A1F;
  --color-surface-alt:   #18181B;

  /* ---- Colors: Borders ---- */
  --color-border:        rgba(255, 255, 255, 0.06);
  --color-border-hover:  rgba(255, 255, 255, 0.12);
  --color-border-accent: rgba(37, 99, 235, 0.3);

  /* ---- Colors: Text ---- */
  --color-text-primary:   #FAFAFA;
  --color-text-secondary: #A1A1AA;
  --color-text-tertiary:  #52525B;
  --color-text-inverse:   #09090B;

  /* ---- Colors: Accent (Electric Blue) ---- */
  --color-accent:         #2563EB;
  --color-accent-hover:   #3B82F6;
  --color-accent-subtle:  rgba(37, 99, 235, 0.08);
  --color-accent-glow:    rgba(37, 99, 235, 0.25);

  /* ---- Colors: Utility ---- */
  --color-success:   #22C55E;
  --color-overlay:   rgba(0, 0, 0, 0.75);
  --color-selection: rgba(37, 99, 235, 0.3);

  /* ---- Typography: Font Families ---- */
  --font-sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --font-mono:  'JetBrains Mono', 'Fira Code', monospace;

  /* ---- Typography: Sizes ---- */
  --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 */
  --text-8xl:   6rem;       /* 96px */

  /* ---- Typography: Weights ---- */
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;

  /* ---- Typography: Line Heights ---- */
  --leading-none:    1;
  --leading-tight:   1.15;
  --leading-snug:    1.3;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  /* ---- Typography: Letter Spacing ---- */
  --tracking-tight:   -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.05em;
  --tracking-wider:   0.08em;
  --tracking-widest:  0.14em;

  /* ---- Spacing (8pt scale) ---- */
  --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 */
  --space-20:  5rem;       /* 80px */
  --space-24:  6rem;       /* 96px */
  --space-32:  8rem;       /* 128px */
  --space-40:  10rem;      /* 160px */

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

  /* ---- Shadows ---- */
  --shadow-sm:    0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md:    0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg:    0 8px 30px rgba(0, 0, 0, 0.5);
  --shadow-xl:    0 16px 50px rgba(0, 0, 0, 0.6);
  --shadow-glow:  0 0 30px var(--color-accent-glow);

  /* ---- 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-base:    300ms;
  --duration-slow:    500ms;
  --duration-slower:  800ms;

  /* ---- Layout ---- */
  --max-width:       1200px;
  --max-width-narrow: 800px;
  --max-width-wide:  1400px;
  --nav-height:      64px;
  --section-padding:  clamp(100px, 14vw, 180px);

  /* ---- Z-Index Scale ---- */
  --z-base:    1;
  --z-nav:     100;
  --z-overlay: 200;
  --z-modal:   300;
  --z-toast:   400;
}
