/* variables.css */

:root {
  /* Dark theme colors (default) */
  --bg:          #060b10;
  --bg2:         #0c1520;
  --surface:     #101e2d;
  --border:      #182840;
  --accent:      #a855f7;
  --accent2:     #00ff88;
  --accent-glow: rgba(168, 85, 247, 0.12);
  --text:        #c4d6e8;
  --text-dim:    #7a9bb8;
  --muted:       #304860;

  /* Type colors (renamed from --color-*) */
  --type-tech:   #a855f7;  /* purple */
  --type-life:   #f59e0b;  /* amber */
  --type-quote:  #00ff88;  /* green */
  --type-link:   #38bdf8;  /* cyan */
  --type-photo:  #ec4899;  /* pink */

  /* Terminal palette (referenced by hero.css and 404.css) */
  --terminal-prompt: var(--accent2);
  --terminal-text:   var(--text);
  --terminal-accent: var(--type-link);

  /* Typography */
  --font-body:  'IBM Plex Sans', system-ui, sans-serif;
  --font-mono:  'JetBrains Mono', 'Courier New', monospace;
  --font-head:  'Oxanium', sans-serif;

  /* Font sizes (base: 17px on html) */
  --fs-body:    0.95rem;
  --fs-nav:     0.8rem;
  --fs-badge:   0.7rem;
  --fs-btn:     0.8rem;
  --fs-h3:      1.5rem;
  --fs-h2:      clamp(1.7rem, 6vw, 3rem);

  /* Layout */
  --container-max: 1080px;
  --container-narrow: 768px;
  --gap-sm:     0.5rem;
  --gap-md:     1.5rem;
  --gap-lg:     2.5rem;
  --gap-xl:     4rem;

  /* Spacing scale */
  --sp-1:       0.25rem;
  --sp-2:       0.5rem;
  --sp-3:       0.75rem;
  --sp-4:       1rem;
  --sp-5:       1.25rem;
  --sp-6:       1.5rem;
  --sp-7:       1.75rem;
  --sp-8:       2rem;
  --sp-9:       2.25rem;
  --sp-10:      2.5rem;
  --sp-12:      3rem;
  --sp-14:      3.5rem;
  --sp-16:      4rem;

  /* Z-index scale */
  --z-base:     1;
  --z-matrix:   0;
  --z-nav:      100;
  --z-menu:     99;
  --z-modal:    200;
  --z-progress: 9999;

  /* Timing */
  --duration-fast:  100ms;
  --duration-base:  300ms;
  --duration-slow:  500ms;

  /* Easing */
  --ease-out:     cubic-bezier(0.33, 1, 0.68, 1);
  --ease-in-out:  cubic-bezier(0.4, 0, 0.2, 1);

  /* Section spacing */
  --section-py-mobile:   4rem;
  --section-py-desktop:  6rem;
  --card-px-mobile:      1.5rem;
  --card-px-desktop:     2rem;

  /* Transitions (legacy, keep for compatibility) */
  --transition: all 0.2s ease;
  --transition-slow: all 0.75s cubic-bezier(0.16,1,0.3,1);
}

html.theme-light {
  /* Light theme */
  --bg:          #f0f4f8;
  --bg2:         #e2eaf4;
  --surface:     #d4dff0;
  --border:      #a8bdd8;
  --accent:      #7c3aed;
  --accent2:     #008f5a;
  --accent-glow: rgba(124, 58, 237, 0.08);
  --text:        #0d1b2a;
  --text-dim:    #2e4a6a;
  --muted:       #6888a8;

  /* Type colors (light equivalents) */
  --type-tech:   #7c3aed;   /* purple */
  --type-life:   #d97706;   /* amber */
  --type-quote:  #008f5a;   /* green */
  --type-link:   #0284c7;   /* cyan */
  --type-photo:  #be185d;   /* pink */
}

/* Breakpoints as CSS variables for reference */
@media (max-width: 479px) {
  :root {
    --bp: "mobile";
  }
}

@media (min-width: 480px) {
  :root {
    --bp: "sm";
  }
}

@media (min-width: 768px) {
  :root {
    --bp: "md";
  }
}

@media (min-width: 1200px) {
  :root {
    --bp: "lg";
  }
}
