/* Reset — prevent overflow on bordered elements */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* ═══════════════════════════════════════════════════════════════════════════
   LAYER 1 — Primitive palette
   Override these to rebrand the entire library.
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
  --c42-white: #ffffff;
  --c42-black: #0f172a;

  --c42-gray-50: #f9fafb;
  --c42-gray-100: #f3f4f6;
  --c42-gray-200: #e5e7eb;
  --c42-gray-300: #d1d5db;
  --c42-gray-400: #9ca3af;
  --c42-gray-500: #6b7280;
  --c42-gray-600: #4b5563;
  --c42-gray-700: #374151;
  --c42-gray-800: #1f2937;
  --c42-gray-900: #111827;
  --c42-gray-950: #030712;

  --c42-primary-400: #818cf8;
  --c42-primary-500: #4f46e5;
  --c42-primary-600: #4338ca;

  --c42-danger-400: #f87171;
  --c42-danger-500: #dc2626;
  --c42-success-400: #4ade80;
  --c42-success-500: #16a34a;
  --c42-warning-400: #fbbf24;
  --c42-warning-500: #d97706;
}

/* ═══════════════════════════════════════════════════════════════════════════
   LAYER 2 — Semantic tokens
   Components consume ONLY these. Redefine them per-theme (see dark.css).
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
  /* surfaces & text */
  --c42-color-bg: var(--c42-white);
  --c42-color-surface: var(--c42-gray-50);
  --c42-color-fg: var(--c42-gray-900);
  --c42-color-muted: var(--c42-gray-500);
  --c42-color-border: var(--c42-gray-200);

  /* intents */
  --c42-color-accent: var(--c42-primary-500);
  --c42-color-accent-strong: var(--c42-primary-600);
  --c42-color-on-accent: var(--c42-white);
  --c42-color-danger: var(--c42-danger-500);
  --c42-color-on-danger: var(--c42-white);
  --c42-color-success: var(--c42-success-500);
  --c42-color-warning: var(--c42-warning-500);

  /* shape & motion */
  --c42-radius: 0.75rem;
  --c42-radius-sm: 0.5rem;
  --c42-space: 1rem;
  --c42-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  --c42-transition: 200ms ease;

  /* scrollbar (consumed by scrollbar.css; theme-aware via --c42-color-fg) */
  --c42-scrollbar-size: 10px;
  --c42-scrollbar-thumb: color-mix(in srgb, var(--c42-color-fg) 22%, transparent);
  --c42-scrollbar-thumb-hover: color-mix(in srgb, var(--c42-color-fg) 38%, transparent);
}
