/* ═══════════════════════════════════════════════════════════
   Cymela — Design Tokens
   Single source of truth for all visual properties
   ═══════════════════════════════════════════════════════════ */

:root {
  /* ─── Surface Palette ─── */
  --surface-000: #030303;
  --surface-100: #0a0a0a;
  --surface-200: #0f0f0f;
  --surface-300: #141414;
  --surface-400: #1a1a1a;
  --surface-500: #222222;
  --surface-600: #2a2a2a;

  /* ─── Border System ─── */
  --border:        rgba(255, 255, 255, 0.07);
  --border-subtle:  rgba(255, 255, 255, 0.04);
  --border-hover:   rgba(255, 255, 255, 0.14);
  --border-active:  rgba(255, 255, 255, 0.22);

  /* ─── Text Opacity Ladder ─── */
  --text-100: rgba(255, 255, 255, 1.0);
  --text-90:  rgba(255, 255, 255, 0.88);
  --text-70:  rgba(255, 255, 255, 0.68);
  --text-50:  rgba(255, 255, 255, 0.48);
  --text-25:  rgba(255, 255, 255, 0.25);
  --text-12:  rgba(255, 255, 255, 0.12);
  --text-06:  rgba(255, 255, 255, 0.06);

  /* ─── Accent: Toxic Olive ─── */
  --accent:       #c8d84c;
  --accent-muted: #8b9a3a;
  --accent-dim:   rgba(200, 216, 76, 0.12);
  --accent-glow:  rgba(200, 216, 76, 0.25);

  /* ─── Status Indicators ─── */
  --status-critical:  #e84545;
  --status-warning:   #e8a445;
  --status-contained: #45e89b;
  --status-dormant:   #4596e8;
  --status-unknown:   #9b59b6;

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

  /* ─── Type Scale ─── */
  --text-2xs:  0.625rem;   /* 10px */
  --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 */

  /* ─── Line Heights ─── */
  --leading-none:    1.0;
  --leading-tight:   1.1;
  --leading-snug:    1.25;
  --leading-normal:  1.5;
  --leading-relaxed: 1.625;

  /* ─── Letter Spacing ─── */
  --tracking-tight:  -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-wider:   0.08em;
  --tracking-widest:  0.16em;

  /* ─── Spacing Scale (4px base) ─── */
  --space-0:  0;
  --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 */

  /* ─── Layout ─── */
  --max-width: 1440px;
  --content-width: 1200px;
  --header-height: 4rem;
  /* The left edge everything hangs off: the nav lockup on every page, and
     the hero and metrics row on the home page. One value so they cannot
     drift apart — they did, and the logo sat 72px further in on the home
     page than on the other seven. 6.33vw is the social card's margin as a
     proportion of its width. */
  --page-inset: clamp(1.25rem, 6.33vw, 5.75rem);
  --section-gap: clamp(4rem, 8vw, 8rem);

  /* ─── Transitions ─── */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);

  --transition-fast:   150ms var(--ease-in-out);
  --transition-base:   250ms var(--ease-in-out);
  --transition-slow:   450ms var(--ease-out-quart);
  --transition-slower: 700ms var(--ease-out-expo);

  /* ─── Z-Index Scale ─── */
  --z-deep:     -1;
  --z-base:      1;
  --z-raised:    5;
  --z-dropdown: 10;
  --z-sticky:   20;
  --z-overlay:  30;
  --z-header:   50;
  --z-modal:   100;
  --z-toast:   200;

  /* ─── Blur ─── */
  --blur-sm:  4px;
  --blur-md:  12px;
  --blur-lg:  24px;
  --blur-xl:  40px;

  /* ─── Breakpoints (reference only — use in media queries) ─── */
  /* --bp-sm:  640px   */
  /* --bp-md:  768px   */
  /* --bp-lg:  1024px  */
  /* --bp-xl:  1280px  */
  /* --bp-2xl: 1440px  */
}
