/* Beaver design tokens — Phase 5 Slice 1.3.
 *
 * Beaver-specific brand + accent + chrome on top of identity-neutral
 * neutrals + semantic tokens. Steward palette adds in Slice 7.
 *
 * Mirrors `specifications/architecture/web-style-guide.md` §3 (Beaver
 * palette) + §5 (typography) + §6 (spacing) + §11 (dark mode).
 *
 * Token namespace:
 *   --bvr-*    Beaver-specific brand + accent
 *   --text-*   Typography scale
 *   --space-*  Spacing scale
 *   Identity-neutral neutrals + semantics use --bvr- for now; reorg to
 *   identity-neutral names lands when Steward joins (Slice 7).
 */

:root {
  /* Brand — warm clay primary, forest accent. */
  --bvr-primary: #B85C38;
  --bvr-primary-hover: #9F4A2A;
  --bvr-primary-text: #FFFFFF;
  --bvr-primary-subtle: #F4E5DD;
  --bvr-primary-on-subtle: #9F4A2A;
  --bvr-accent: #2D5F4F;
  --bvr-accent-subtle: #DCEAE4;
  --bvr-accent-on-subtle: #1B4D3F;

  /* Warm neutrals. */
  --bvr-bg: #FBF8F3;
  --bvr-surface: #FFFFFF;
  --bvr-surface-alt: #F4EFE6;
  --bvr-border: #E5DDD0;
  --bvr-border-strong: #C9BDA9;
  --bvr-text: #2A2520;
  --bvr-text-muted: #6B5F52;
  --bvr-text-subtle: #9C8E7E;

  /* Semantic states — base + subtle bg + on-subtle text. */
  --bvr-success: #2D7A4F;
  --bvr-success-subtle: #DCEAE4;
  --bvr-success-on-subtle: #1F5635;
  --bvr-warning: #B8860B;
  --bvr-warning-subtle: #FAEEDA;
  --bvr-warning-on-subtle: #854F0B;
  --bvr-danger: #B83A3A;
  --bvr-danger-subtle: #F7E0E0;
  --bvr-danger-on-subtle: #7E2424;
  --bvr-info: #3F6B8A;
  --bvr-info-subtle: #DDE8F0;
  --bvr-info-on-subtle: #2A4862;

  /* Type scale (size / line-height). 1rem = 16px. */
  --text-xs: 0.75rem;
  --text-xs-lh: 1rem;
  --text-sm: 0.875rem;
  --text-sm-lh: 1.25rem;
  --text-base: 1rem;
  --text-base-lh: 1.5rem;
  --text-lg: 1.125rem;
  --text-lg-lh: 1.75rem;
  --text-xl: 1.25rem;
  --text-xl-lh: 1.75rem;
  --text-2xl: 1.5rem;
  --text-2xl-lh: 2rem;
  --text-3xl: 1.875rem;
  --text-3xl-lh: 2.25rem;
  --text-4xl: 2.25rem;
  --text-4xl-lh: 2.5rem;

  /* Spacing — 4px base. */
  --space-0: 0;
  --space-1: 0.25rem;   /* 4 */
  --space-2: 0.5rem;    /* 8 */
  --space-3: 0.75rem;   /* 12 */
  --space-4: 1rem;      /* 16 */
  --space-5: 1.25rem;   /* 20 */
  --space-6: 1.5rem;    /* 24 */
  --space-8: 2rem;      /* 32 */
  --space-10: 2.5rem;   /* 40 */
  --space-12: 3rem;     /* 48 */
  --space-16: 4rem;     /* 64 */
  --space-20: 5rem;     /* 80 */
  --space-24: 6rem;     /* 96 */

  /* Radii. */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-pill: 999px;

  /* Type families. */
  --font-sans: "Inter Tight", "Inter", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;
}

/* Dark mode — same token names, different values. Components reference
 * tokens, never literal hex, so theme switch is a single attribute flip. */
[data-theme="dark"] {
  --bvr-primary: #D17850;
  --bvr-primary-hover: #E08A65;
  --bvr-primary-text: #1F1B17;
  --bvr-primary-subtle: #3D2A22;
  --bvr-primary-on-subtle: #E8A57F;
  --bvr-accent: #5FA88E;
  --bvr-accent-subtle: #1E3A30;
  --bvr-accent-on-subtle: #7FC2A0;

  --bvr-bg: #1F1B17;
  --bvr-surface: #2A2521;
  --bvr-surface-alt: #332D27;
  --bvr-border: #3D3530;
  --bvr-border-strong: #52473F;
  --bvr-text: #F4EFE6;
  --bvr-text-muted: #B5A99A;
  --bvr-text-subtle: #7A6E60;

  --bvr-success: #7FC2A0;
  --bvr-success-subtle: #1E3A2E;
  --bvr-success-on-subtle: #9FD4B4;
  --bvr-warning: #E5B868;
  --bvr-warning-subtle: #3D2D14;
  --bvr-warning-on-subtle: #F0CC8E;
  --bvr-danger: #E07070;
  --bvr-danger-subtle: #3D1E1E;
  --bvr-danger-on-subtle: #F09595;
  --bvr-info: #7FA8C4;
  --bvr-info-subtle: #1E2E3D;
  --bvr-info-on-subtle: #A0C4DC;
}
