/* Cutwell Design System -- tokens (Primitives -> Semantic). Light + Dark. v1.0
   Brand source: minimalism, white-dominant, monochrome, deep navy + cream + camel accent.
   Naming: --ds-{role}-{...}. No hardcoded values downstream (Inv 2). */

:root {
  color-scheme: light;

  /* --- PRIMITIVES: neutral (warm monochrome) --- */
  --ds-neutral-0:#ffffff; --ds-neutral-50:#faf9f7; --ds-neutral-100:#f4f2ee;
  --ds-neutral-200:#e7e3dc; --ds-neutral-300:#d3cdc3; --ds-neutral-400:#a8a097;
  --ds-neutral-500:#7c746b; --ds-neutral-600:#5b554e; --ds-neutral-700:#403b35;
  --ds-neutral-800:#29251f; --ds-neutral-900:#16130f; --ds-neutral-1000:#0a0a0a;
  /* --- PRIMITIVES: brand (deep navy) --- */
  --ds-brand-50:#eef1f6; --ds-brand-100:#d3dae8; --ds-brand-200:#aab9d2;
  --ds-brand-300:#7b90b4; --ds-brand-400:#46618f; --ds-brand-500:#243a5e;
  --ds-brand-600:#1d2f4d; --ds-brand-700:#16243c; --ds-brand-800:#101a2c; --ds-brand-900:#0a111d;
  /* --- PRIMITIVES: accent (camel) --- */
  --ds-accent-300:#d9c19a; --ds-accent-500:#b08d57; --ds-accent-700:#8a6c3e;
  /* --- PRIMITIVES: feedback --- */
  --ds-success-500:#2f7d5b; --ds-warning-500:#b5862a; --ds-error-500:#a23b3b; --ds-info-500:#2b5f8f;
  /* --- PRIMITIVES: spacing (8pt) --- */
  --ds-spacing-xs:4px; --ds-spacing-sm:8px; --ds-spacing-md:16px; --ds-spacing-lg:24px;
  --ds-spacing-xl:40px; --ds-spacing-2xl:64px; --ds-spacing-3xl:96px;
  /* --- PRIMITIVES: radius --- */
  --ds-radius-none:0; --ds-radius-xs:2px; --ds-radius-sm:4px; --ds-radius-md:8px;
  --ds-radius-lg:14px; --ds-radius-xl:22px; --ds-radius-full:999px;
  /* --- PRIMITIVES: typography --- */
  --ds-font-family-serif:'Cormorant Garamond','Georgia','Times New Roman',serif;
  --ds-font-family-sans:'Inter','Helvetica Neue',Arial,system-ui,sans-serif;
  --ds-font-family-mono:ui-monospace,'SF Mono','Menlo',monospace;
  --ds-font-size-xs:12px; --ds-font-size-sm:14px; --ds-font-size-md:16px; --ds-font-size-lg:20px;
  --ds-font-size-xl:28px; --ds-font-size-2xl:40px; --ds-font-size-3xl:60px;
  --ds-font-weight-regular:400; --ds-font-weight-medium:500; --ds-font-weight-semibold:600; --ds-font-weight-bold:700;
  /* --- PRIMITIVES: motion --- */
  --ds-motion-duration-instant:80ms; --ds-motion-duration-base:200ms; --ds-motion-duration-slow:360ms;
  --ds-motion-easing-standard:cubic-bezier(.2,0,0,1); --ds-motion-easing-emphasized:cubic-bezier(.3,0,0,1);

  /* --- SEMANTIC (light) --- */
  --ds-bg-page:var(--ds-neutral-0); --ds-bg-surface:var(--ds-neutral-0);
  --ds-bg-elevated:var(--ds-neutral-50); --ds-bg-muted:var(--ds-neutral-100);
  --ds-bg-inverse:var(--ds-neutral-900); --ds-bg-brand:var(--ds-brand-500);
  --ds-text-primary:var(--ds-neutral-900); --ds-text-secondary:var(--ds-neutral-600);
  --ds-text-disabled:var(--ds-neutral-400); --ds-text-inverse:var(--ds-neutral-0);
  --ds-text-brand:var(--ds-brand-500); --ds-text-accent:var(--ds-accent-700);
  --ds-border-default:var(--ds-neutral-200); --ds-border-subtle:var(--ds-neutral-100);
  --ds-border-strong:var(--ds-neutral-300); --ds-border-focus:var(--ds-brand-500);
  --ds-icon-primary:var(--ds-neutral-800); --ds-icon-secondary:var(--ds-neutral-500); --ds-icon-brand:var(--ds-brand-500);
  --ds-action-primary-default:var(--ds-brand-500); --ds-action-primary-hover:var(--ds-brand-600); --ds-action-primary-active:var(--ds-brand-700);
  --ds-action-secondary-default:var(--ds-neutral-0); --ds-action-secondary-hover:var(--ds-neutral-100);
  --ds-action-destructive-default:var(--ds-error-500);
  --ds-radius-control:var(--ds-radius-sm); --ds-radius-card:var(--ds-radius-lg); --ds-radius-pill:var(--ds-radius-full);
  --ds-effect-elevation-1:0 1px 2px rgba(16,19,15,.06),0 1px 1px rgba(16,19,15,.04);
  --ds-effect-elevation-2:0 4px 16px rgba(16,19,15,.08);
  --ds-effect-focus:0 0 0 3px rgba(36,58,94,.28);
  --ds-motion-quick:var(--ds-motion-duration-instant) var(--ds-motion-easing-standard);
  --ds-motion-moderate:var(--ds-motion-duration-base) var(--ds-motion-easing-standard);
}

[data-theme="dark"] {
  color-scheme: dark;
  --ds-bg-page:var(--ds-neutral-900); --ds-bg-surface:var(--ds-neutral-800);
  --ds-bg-elevated:var(--ds-neutral-700); --ds-bg-muted:var(--ds-neutral-800);
  --ds-bg-inverse:var(--ds-neutral-0); --ds-bg-brand:var(--ds-brand-400);
  --ds-text-primary:var(--ds-neutral-50); --ds-text-secondary:var(--ds-neutral-300);
  --ds-text-disabled:var(--ds-neutral-500); --ds-text-inverse:var(--ds-neutral-900);
  --ds-text-brand:var(--ds-brand-200); --ds-text-accent:var(--ds-accent-300);
  --ds-border-default:var(--ds-neutral-700); --ds-border-subtle:var(--ds-neutral-800);
  --ds-border-strong:var(--ds-neutral-600); --ds-border-focus:var(--ds-brand-300);
  --ds-icon-primary:var(--ds-neutral-100); --ds-icon-secondary:var(--ds-neutral-400); --ds-icon-brand:var(--ds-brand-200);
  --ds-action-primary-default:var(--ds-brand-400); --ds-action-primary-hover:var(--ds-brand-300); --ds-action-primary-active:var(--ds-brand-200);
  --ds-action-secondary-default:var(--ds-neutral-800); --ds-action-secondary-hover:var(--ds-neutral-700);
  --ds-effect-elevation-1:0 1px 2px rgba(0,0,0,.4); --ds-effect-elevation-2:0 6px 20px rgba(0,0,0,.5);
  --ds-effect-focus:0 0 0 3px rgba(123,144,180,.4);
}
