/**
 * Design Tokens
 * CSS custom properties for consistent theming
 */

:root {
  /* shadcn Zinc - Base Colors */
  --ctp-base: #fafafa;
  --ctp-mantle: #f4f4f5;
  --ctp-crust: #e4e4e7;
  --ctp-surface0: #e4e4e7;
  --ctp-surface1: #d4d4d8;
  --ctp-surface2: #a1a1aa;
  --ctp-overlay0: #a1a1aa;
  --ctp-overlay1: #71717a;
  --ctp-overlay2: #52525b;

  /* shadcn Zinc - Text Colors */
  --ctp-text: #09090b;
  --ctp-subtext0: #71717a;
  --ctp-subtext1: #52525b;

  /* shadcn Zinc - Accent Colors */
  --ctp-blue: #2563eb;
  --ctp-sapphire: #0ea5e9;
  --ctp-sky: #0ea5e9;
  --ctp-teal: #14b8a6;
  --ctp-green: #22c55e;
  --ctp-yellow: #eab308;
  --ctp-peach: #f97316;
  --ctp-red: #ef4444;
  --ctp-maroon: #dc2626;
  --ctp-pink: #ec4899;
  --ctp-mauve: #a855f7;
  --ctp-flamingo: #f43f5e;
  --ctp-rosewater: #f97316;
  --ctp-lavender: #8b5cf6;

  /* Semantic Colors */
  --color-primary: #18181b;
  --color-primary-rgb: 24, 24, 27;
  --color-primary-hover: #09090b;
  --color-link: var(--ctp-blue);
  --color-link-hover: #1d4ed8;
  --color-success: var(--ctp-green);
  --color-warning: var(--ctp-yellow);
  --color-error: var(--ctp-red);
  --color-info: var(--ctp-sky);

  /* shadcn Semantic Aliases */
  --color-background: var(--color-bg-base);
  --color-foreground: var(--color-text-base);
  --color-card: #ffffff;
  --color-card-foreground: var(--color-text-base);
  --color-border: var(--color-border-base);
  --color-input: var(--color-border-base);
  --color-ring: var(--color-primary);
  --color-muted: var(--color-bg-subtle);
  --color-muted-foreground: var(--color-text-muted);
  --color-accent: var(--color-bg-subtle);
  --color-accent-foreground: var(--color-text-base);
  --color-secondary: var(--ctp-base);
  --color-secondary-foreground: var(--color-text-base);
  --color-destructive: var(--color-error);
  --color-destructive-foreground: #ffffff;
  --color-primary-foreground: #fafafa;

  /* Background Colors */
  --color-bg-base: #ffffff;
  --color-bg-subtle: var(--ctp-base);
  --color-bg-muted: var(--ctp-mantle);

   /* Text Colors */
   --color-text-base: var(--ctp-text);
   --color-text-base-rgb: 9, 9, 11;
   --color-text-muted: var(--ctp-subtext1);
   --color-text-subtle: var(--ctp-subtext0);

  /* Border Colors */
  --color-border-base: var(--ctp-surface0);
  --color-border-muted: var(--ctp-surface1);
  --color-border-strong: var(--ctp-overlay0);

   /* Focus/Interaction States */
   --color-focus-ring: rgba(37, 99, 235, 0.1);

  /* Typography */
  --font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  --font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
    "Liberation Mono", monospace;

  /* Font Sizes */
  --font-size-xs: 0.75rem; /* 12px */
  --font-size-sm: 0.875rem; /* 14px */
  --font-size-base: 1rem; /* 16px */
  --font-size-lg: 1.125rem; /* 18px */
  --font-size-xl: 1.25rem; /* 20px */
  --font-size-2xl: 1.5rem; /* 24px */

  /* Font Weights */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Line Heights */
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;

  /* Spacing Scale (8px base) */
  --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 */

  /* Border Radius */
  --radius-sm: 0.25rem; /* 4px */
  --radius-md: 0.375rem; /* 6px */
  --radius-lg: 0.5rem; /* 8px */
  --radius-xl: 0.75rem; /* 12px */
  --radius-full: 9999px;

  /* Shadows */
  --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),
    0 4px 6px -4px rgb(0 0 0 / 0.1);

  /* Transitions */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);

  /* Layout */
  --max-width-container: 1280px;
  --navbar-height: 64px;

  /* Z-index */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
}
