/* STORY-122: Formflow semantic design tokens are the only shared-component styling contract. */
:root {
  color-scheme: light;

  /* Neutral and brand primitives are private inputs to semantic tokens. */
  --ff-primitive-navy-950: #11243c;
  --ff-primitive-navy-900: #15364e;
  --ff-primitive-navy-800: #1b3f50;
  --ff-primitive-slate-900: #182943;
  --ff-primitive-slate-700: #485d70;
  --ff-primitive-slate-600: #60758a;
  --ff-primitive-slate-500: #6f7f8d;
  --ff-primitive-slate-400: #8a97a2;
  --ff-primitive-slate-300: #b9c6d0;
  --ff-primitive-slate-200: #dce5ed;
  --ff-primitive-slate-100: #edf2f5;
  --ff-primitive-slate-050: #f5f7fa;
  --ff-primitive-white: #ffffff;
  --ff-primitive-mint-700: #27745b;
  --ff-primitive-mint-600: #329a78;
  --ff-primitive-mint-500: #52b993;
  --ff-primitive-mint-300: #b9ebda;
  --ff-primitive-mint-100: #e8f7f1;
  --ff-primitive-red-700: #a84f48;
  --ff-primitive-red-100: #fff0ee;
  --ff-primitive-amber-700: #94682d;
  --ff-primitive-amber-100: #fff5e6;
  --ff-primitive-blue-700: #506eae;
  --ff-primitive-blue-100: #eaf0fe;

  /* Semantic color tokens communicate purpose rather than pigment. */
  --ff-color-canvas: var(--ff-primitive-slate-050);
  --ff-color-surface: var(--ff-primitive-white);
  --ff-color-surface-subtle: var(--ff-primitive-slate-100);
  --ff-color-text: var(--ff-primitive-slate-900);
  --ff-color-text-secondary: var(--ff-primitive-slate-700);
  --ff-color-text-muted: var(--ff-primitive-slate-500);
  --ff-color-text-disabled: var(--ff-primitive-slate-400);
  --ff-color-border: var(--ff-primitive-slate-200);
  --ff-color-border-strong: var(--ff-primitive-slate-300);
  --ff-color-brand: var(--ff-primitive-mint-600);
  --ff-color-brand-strong: var(--ff-primitive-mint-700);
  --ff-color-brand-subtle: var(--ff-primitive-mint-100);
  --ff-color-focus: var(--ff-primitive-mint-600);
  --ff-color-focus-ring: var(--ff-primitive-mint-300);
  --ff-color-danger: var(--ff-primitive-red-700);
  --ff-color-danger-subtle: var(--ff-primitive-red-100);
  --ff-color-warning: var(--ff-primitive-amber-700);
  --ff-color-warning-subtle: var(--ff-primitive-amber-100);
  --ff-color-info: var(--ff-primitive-blue-700);
  --ff-color-info-subtle: var(--ff-primitive-blue-100);
  --ff-color-overlay: rgb(11 30 51 / 66%);

  --ff-font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ff-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --ff-font-size-100: 0.625rem;
  --ff-font-size-200: 0.6875rem;
  --ff-font-size-300: 0.75rem;
  --ff-font-size-400: 0.875rem;
  --ff-font-size-500: 1rem;
  --ff-font-size-600: 1.25rem;
  --ff-font-size-700: 1.75rem;
  --ff-font-weight-regular: 400;
  --ff-font-weight-medium: 600;
  --ff-font-weight-semibold: 700;
  --ff-font-weight-bold: 800;
  --ff-line-height-tight: 1.2;
  --ff-line-height-default: 1.5;
  --ff-line-height-relaxed: 1.65;

  --ff-space-0: 0;
  --ff-space-1: 0.25rem;
  --ff-space-2: 0.5rem;
  --ff-space-3: 0.75rem;
  --ff-space-4: 1rem;
  --ff-space-5: 1.25rem;
  --ff-space-6: 1.5rem;
  --ff-space-8: 2rem;
  --ff-space-10: 2.5rem;
  --ff-space-12: 3rem;

  --ff-radius-sm: 0.375rem;
  --ff-radius-md: 0.5rem;
  --ff-radius-lg: 0.75rem;
  --ff-radius-pill: 999px;
  --ff-control-height-sm: 2rem;
  --ff-control-height-md: 2.75rem;
  --ff-control-height-lg: 3rem;
  --ff-target-min: 2.75rem;
  --ff-content-max: 93.125rem;

  --ff-shadow-sm: 0 1px 4px rgb(17 36 60 / 10%);
  --ff-shadow-md: 0 8px 24px rgb(17 36 60 / 14%);
  --ff-shadow-lg: 0 20px 60px rgb(7 22 42 / 33%);
  --ff-focus-ring: 0 0 0 3px var(--ff-color-focus-ring);

  --ff-duration-fast: 120ms;
  --ff-duration-standard: 180ms;
  --ff-easing-standard: cubic-bezier(0.2, 0, 0, 1);

  --ff-layer-base: 0;
  --ff-layer-raised: 1;
  --ff-layer-sticky: 10;
  --ff-layer-popover: 30;
  --ff-layer-toast: 40;
  --ff-layer-overlay: 50;
  --ff-layer-modal: 60;
}
