/* ============================================
   VARIABLES.CSS — Pam Tech Portfolio
   Design tokens and CSS custom properties
   ============================================ */

:root {
  /* --- Color Palette --- */
  --color-bg-primary:     #0a0c10;
  --color-bg-secondary:   #0f1117;
  --color-bg-tertiary:    #141720;
  --color-bg-card:        #12151c;
  --color-bg-elevated:    #1a1e28;

  --color-border:         #1e2330;
  --color-border-subtle:  #161a24;
  --color-border-accent:  rgba(0, 191, 255, 0.25);

  --color-text-primary:   #f0f4ff;
  --color-text-secondary: #8a93a8;
  --color-text-muted:     #4a5568;
  --color-text-inverse:   #0a0c10;

  --color-accent:         #00bfff;
  --color-accent-dim:     rgba(0, 191, 255, 0.12);
  --color-accent-glow:    rgba(0, 191, 255, 0.06);
  --color-accent-hover:   #33ccff;
  --color-accent-dark:    #0090cc;

  --color-success:        #10b981;
  --color-warning:        #f59e0b;
  --color-error:          #ef4444;

  /* --- Typography --- */
  --font-primary:   'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-mono:      'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

  --text-xs:    0.75rem;
  --text-sm:    0.875rem;
  --text-base:  1rem;
  --text-md:    1.125rem;
  --text-lg:    1.25rem;
  --text-xl:    1.5rem;
  --text-2xl:   2rem;
  --text-3xl:   2.5rem;
  --text-4xl:   3.5rem;
  --text-5xl:   4.5rem;

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

  --leading-tight:  1.2;
  --leading-snug:   1.35;
  --leading-base:   1.6;
  --leading-loose:  1.8;

  --tracking-tight: -0.03em;
  --tracking-snug:  -0.015em;
  --tracking-base:  0em;
  --tracking-wide:  0.08em;
  --tracking-wider: 0.14em;

  /* --- 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;

  /* --- Layout --- */
  --container-max:    1200px;
  --container-narrow: 800px;
  --container-wide:   1400px;
  --container-pad:    1.5rem;

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

  /* --- Shadows & Glows --- */
  --shadow-sm:     0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md:     0 4px 12px rgba(0, 0, 0, 0.5);
  --shadow-lg:     0 8px 24px rgba(0, 0, 0, 0.6);
  --shadow-xl:     0 16px 48px rgba(0, 0, 0, 0.7);
  --glow-accent:   0 0 20px rgba(0, 191, 255, 0.15);
  --glow-accent-strong: 0 0 40px rgba(0, 191, 255, 0.25);

  /* --- Transitions --- */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;
  --transition-slower: 600ms ease;

  /* --- Z-index scale --- */
  --z-below:   -1;
  --z-base:     0;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-overlay:  300;
  --z-modal:    400;
  --z-toast:    500;

  /* --- Navbar height --- */
  --navbar-height: 70px;
}

/* ============================================
   LIGHT MODE OVERRIDES
   ============================================ */
[data-theme="light"] {
  --color-bg-primary:     #f8fafc;
  --color-bg-secondary:   #f1f5f9;
  --color-bg-tertiary:    #e8edf5;
  --color-bg-card:        #ffffff;
  --color-bg-elevated:    #ffffff;

  --color-border:         #e2e8f0;
  --color-border-subtle:  #edf2f7;
  --color-border-accent:  rgba(0, 144, 204, 0.3);

  --color-text-primary:   #0f172a;
  --color-text-secondary: #475569;
  --color-text-muted:     #94a3b8;
  --color-text-inverse:   #f0f4ff;

  --color-accent:         #0090cc;
  --color-accent-dim:     rgba(0, 144, 204, 0.1);
  --color-accent-glow:    rgba(0, 144, 204, 0.05);
  --color-accent-hover:   #0077aa;

  --shadow-sm:  0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md:  0 4px 12px rgba(0, 0, 0, 0.1);
  --shadow-lg:  0 8px 24px rgba(0, 0, 0, 0.12);
  --shadow-xl:  0 16px 48px rgba(0, 0, 0, 0.15);
  --glow-accent: 0 0 20px rgba(0, 144, 204, 0.1);
  --glow-accent-strong: 0 0 40px rgba(0, 144, 204, 0.15);
}
