/* Design project "Haven Foundations" → tokens/colors.css, verbatim. Re-sync = replace this file.
   Layer 1  raw palette: hue-named ramps (oat / plum / teal) + feedback hues. Never referenced by components.
   Layer 2  semantic aliases: the ONLY layer components use. Re-skin = remap layer 2; components stay untouched.
   Dark mode remaps layer 2 under [data-theme="dark"]. Ramps are named by hue, not by brand — nothing here is tied to the working name. */
:root{
  color-scheme: light;
  /* raw — oat: warm neutrals */
  --oat-50: #FBF8F5;
  --oat-100: #F4EFEA;
  --oat-200: #E9E1D8;
  --oat-300: #D7CBBF;
  --oat-400: #B8AA9C;
  --oat-500: #96887B;
  --oat-600: #766B60;
  --oat-700: #595049;
  --oat-800: #403A35;
  --oat-900: #2A2622;
  /* raw — plum: primary */
  --plum-50: #F6F0F3;
  --plum-100: #EBDEE5;
  --plum-200: #DAC2CF;
  --plum-300: #C09EB1;
  --plum-400: #A17790;
  --plum-500: #835973;
  --plum-600: #67445A;
  --plum-700: #513647;
  --plum-800: #3D2936;
  --plum-900: #291C25;
  /* raw — teal: accent + trust */
  --teal-50: #ECF4F2;
  --teal-100: #D5E7E3;
  --teal-200: #B3D3CD;
  --teal-300: #88B7AF;
  --teal-400: #5F968D;
  --teal-500: #44786F;
  --teal-600: #355E58;
  --teal-700: #2B4A45;
  --teal-800: #213836;
  --teal-900: #172725;
  /* raw — surfaces, dark grounds, feedback hues */
  --white: #FFFCF9;
  --cream: #F4EEE9;
  --ink-900: #241F1D;
  --ink-800: #2F2A28;
  --ink-700: #3B3532;
  --ink-600: #463F3B;
  --green-100: #E3F0E7;
  --green-300: #8CC29E;
  --green-600: #3E7B57;
  --green-900: #243528;
  --amber-100: #F7E9C8;
  --amber-300: #D9A94E;
  --amber-700: #8F5D10;
  --amber-900: #3A3020;
  --red-100: #F7DFDB;
  --red-300: #DB8377;
  --red-600: #AC3B32;
  --red-700: #8F2F28;
  --red-900: #3D2723;
  --blue-100: #E0EAF1;
  --blue-300: #84B3CC;
  --blue-600: #3A6480;
  --blue-900: #22323C;

  /* semantic — Backgrounds */
  --bg-canvas: var(--oat-50);
  --bg-surface: var(--white);
  --bg-inset: var(--oat-100);
  --bg-overlay: rgba(42,38,34,.55);
  --bg-media-overlay: rgba(42,38,34,.62);

  /* semantic — Text */
  --text-primary: var(--oat-900);
  --text-secondary: var(--oat-700);
  --text-muted: var(--oat-600);
  --text-on-action: #FFFFFF;
  --text-on-destructive: #FFFFFF;
  --text-on-media: #FFFFFF;

  /* semantic — Borders */
  --border-subtle: var(--oat-200);
  --border-strong: var(--oat-300);
  --border-hover: var(--oat-400);

  /* semantic — Actions */
  --action-primary: var(--plum-600);
  --action-primary-hover: var(--plum-700);
  --action-text: var(--plum-700);
  --action-tint: var(--plum-50);
  --action-disabled-bg: var(--oat-200);
  --action-disabled-text: var(--oat-500);
  --destructive: var(--red-600);
  --destructive-hover: var(--red-700);

  /* semantic — Accent (teal — second voice) */
  --accent: var(--teal-500);
  --accent-text: var(--teal-700);
  --accent-tint: var(--teal-100);

  /* semantic — Focus & selection */
  --focus-ring: var(--plum-400);
  --focus-border: var(--plum-500);
  --focus-halo: rgba(161,119,144,.25);
  --selected-bg: var(--plum-100);
  --selected-border: var(--plum-400);
  --selected-text: var(--plum-800);
  --selection-bg: var(--plum-100);
  --selection-text: var(--plum-900);

  /* semantic — Trust (verification badges + trust band) */
  --trust-bg: var(--teal-50);
  --trust-border: var(--teal-200);
  --trust-text: var(--teal-800);
  --trust-mark: var(--teal-600);
  --trust-mark-text: #FFFFFF;
  --band-bg: var(--teal-700);
  --band-text: var(--cream);
  --band-text-muted: var(--teal-100);
  --band-mark: var(--teal-300);
  --band-mark-text: var(--teal-900);

  /* semantic — Feedback */
  --success: var(--green-600);
  --success-bg: var(--green-100);
  --warning: var(--amber-700);
  --warning-bg: var(--amber-100);
  --error: var(--red-600);
  --error-bg: var(--red-100);
  --info: var(--blue-600);
  --info-bg: var(--blue-100);

  /* semantic — Discipline tags */
  --disc-yoga-bg: var(--plum-100);
  --disc-yoga-text: var(--plum-800);
  --disc-pilates-bg: var(--teal-100);
  --disc-pilates-text: var(--teal-800);
  --disc-meditation-bg: var(--oat-200);
  --disc-meditation-text: var(--oat-800);
  --disc-breathwork-bg: var(--blue-100);
  --disc-breathwork-text: var(--blue-600);

  /* semantic — Avatars & media placeholders */
  --avatar-bg: var(--plum-200);
  --avatar-text: var(--plum-800);
  --tint-1-from: var(--plum-100);
  --tint-1-to: var(--teal-100);
  --tint-2-from: var(--teal-100);
  --tint-2-to: var(--oat-200);
  --tint-3-from: var(--oat-200);
  --tint-3-to: var(--plum-100);
  --tint-4-from: var(--blue-100);
  --tint-4-to: var(--plum-100);

  /* semantic — Elevation */
  --shadow-sm: 0 1px 2px rgba(41,36,29,.06);
  --shadow-md: 0 3px 10px rgba(41,36,29,.09);
  --shadow-lg: 0 12px 32px rgba(41,36,29,.14);
}

[data-theme="dark"]{
  color-scheme: dark;
  /* Backgrounds */
  --bg-canvas: var(--ink-900);
  --bg-surface: var(--ink-800);
  --bg-inset: var(--ink-700);
  --bg-overlay: rgba(0,0,0,.6);
  --bg-media-overlay: rgba(0,0,0,.55);
  /* Text */
  --text-primary: var(--cream);
  --text-secondary: var(--oat-300);
  --text-muted: var(--oat-400);
  --text-on-action: var(--plum-900);
  --text-on-destructive: var(--red-900);
  --text-on-media: #FFFFFF;
  /* Borders */
  --border-subtle: var(--ink-600);
  --border-strong: var(--oat-600);
  --border-hover: var(--oat-500);
  /* Actions */
  --action-primary: var(--plum-300);
  --action-primary-hover: var(--plum-200);
  --action-text: var(--plum-200);
  --action-tint: rgba(192,158,177,.14);
  --action-disabled-bg: var(--ink-700);
  --action-disabled-text: var(--oat-500);
  --destructive: var(--red-300);
  --destructive-hover: #E49A90;
  /* Accent (teal — second voice) */
  --accent: var(--teal-300);
  --accent-text: var(--teal-200);
  --accent-tint: var(--teal-800);
  /* Focus & selection */
  --focus-ring: var(--plum-300);
  --focus-border: var(--plum-300);
  --focus-halo: rgba(192,158,177,.3);
  --selected-bg: var(--plum-800);
  --selected-border: var(--plum-400);
  --selected-text: var(--plum-100);
  --selection-bg: var(--plum-700);
  --selection-text: var(--plum-50);
  /* Trust (verification badges + trust band) */
  --trust-bg: var(--teal-900);
  --trust-border: var(--teal-600);
  --trust-text: var(--teal-100);
  --trust-mark: var(--teal-300);
  --trust-mark-text: var(--teal-900);
  --band-bg: var(--teal-800);
  --band-text: var(--cream);
  --band-text-muted: var(--teal-100);
  --band-mark: var(--teal-300);
  --band-mark-text: var(--teal-900);
  /* Feedback */
  --success: var(--green-300);
  --success-bg: var(--green-900);
  --warning: var(--amber-300);
  --warning-bg: var(--amber-900);
  --error: var(--red-300);
  --error-bg: var(--red-900);
  --info: var(--blue-300);
  --info-bg: var(--blue-900);
  /* Discipline tags */
  --disc-yoga-bg: var(--plum-800);
  --disc-yoga-text: var(--plum-100);
  --disc-pilates-bg: var(--teal-800);
  --disc-pilates-text: var(--teal-100);
  --disc-meditation-bg: var(--oat-700);
  --disc-meditation-text: var(--oat-100);
  --disc-breathwork-bg: var(--blue-900);
  --disc-breathwork-text: var(--blue-300);
  /* Avatars & media placeholders */
  --avatar-bg: var(--plum-700);
  --avatar-text: var(--plum-100);
  --tint-1-from: var(--plum-800);
  --tint-1-to: var(--teal-800);
  --tint-2-from: var(--teal-800);
  --tint-2-to: var(--ink-700);
  --tint-3-from: var(--ink-700);
  --tint-3-to: var(--plum-800);
  --tint-4-from: var(--blue-900);
  --tint-4-to: var(--plum-800);
  /* Elevation */
  --shadow-sm: 0 1px 2px rgba(0,0,0,.3);
  --shadow-md: 0 3px 10px rgba(0,0,0,.35);
  --shadow-lg: 0 12px 32px rgba(0,0,0,.5);
}
