/* Design Tokens */

:root {
  /* Colors - Brand */
  --pink-500: #eb2188;
  --pink-600: #bd1d70;
  --pink-100: #fff5fa;
  --pink-200: #fdc5e2;

  /* Colors - Neutral */
  --gray-900: #1b1b1b;
  --gray-700: #444444;
  --gray-600: #717171;
  --gray-500: #9b9b9b;
  --gray-400: #a7d3cc;
  --gray-300: #f2f2f2;
  --gray-200: #f7f7f7;
  --gray-100: #fafbfc;
  --white: #ffffff;

  /* Colors - Semantic */
  --success-dark: #027a48;
  --success-light: #15803d;
  --success-bg: #e6f7ed;
  --warning: #f8833b;
  --warning-bg: #ffe8d4;
  --error: #dc2626;
  --error-bg: #ffe0e0;

  /* Typography - Font families */
  --font-display: 'Cabinet Grotesk', system-ui, sans-serif;
  --font-mono: 'Azeret Mono', monospace;
  --font-ui: 'Poppins', system-ui, sans-serif;

  /* Typography - Sizes (rem) */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;

  /* Typography - Line heights */
  --leading-tight: 1.1;
  --leading-normal: 1.5;
  --leading-relaxed: 1.6;

  /* 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-7: 1.75rem;
  --space-8: 2rem;
  --space-9: 2.25rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* Radii */
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-2xl: 1.5rem;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 0.5px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 12px 30px rgba(15, 23, 42, 0.045);
  --shadow-xl: 0 16px 34px rgba(15, 23, 42, 0.14);
  --shadow-2xl: 0 28px 56px rgba(15, 23, 42, 0.16);

  /* Transitions */
  --transition-fast: 180ms ease-out;
  --transition-base: 300ms ease-in-out;

  /* Z-index scale */
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-fixed: 30;
  --z-modal: 40;

  /* Container widths */
  --container-max: 1180px;
  --container-padding: 3rem;

  /* Sticky-nav offsets. docs.html overwrites these from the measured DOM;
     these values are the no-JS fallback. */
  --nav-height: 69px;
  --doc-nav-height: 61px;
}

/* Font faces */
@font-face {
  font-family: 'Cabinet Grotesk';
  src: url('../fonts/cabinet-grotesk/CabinetGrotesk-Regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Cabinet Grotesk';
  src: url('../fonts/cabinet-grotesk/CabinetGrotesk-Medium.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: 'Cabinet Grotesk';
  src: url('../fonts/cabinet-grotesk/CabinetGrotesk-Bold.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'Cabinet Grotesk';
  src: url('../fonts/cabinet-grotesk/CabinetGrotesk-Extrabold.woff2') format('woff2');
  font-weight: 800;
  font-display: swap;
}

@font-face {
  font-family: 'Azeret Mono';
  src: url('../fonts/azeret-mono/AzeretMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Azeret Mono';
  src: url('../fonts/azeret-mono/AzeretMono-Medium.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: 'Azeret Mono';
  src: url('../fonts/azeret-mono/AzeretMono-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: 'Azeret Mono';
  src: url('../fonts/azeret-mono/AzeretMono-Bold.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}
