/* TaylorMade Therapies — design tokens (compiled). Source of truth: tokens/tokens.json */
/* Fonts: Quicksand (display), Nunito Sans (UI), JetBrains Mono (code). */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400..700&family=Nunito+Sans:opsz,wght@6..12,300..900&family=JetBrains+Mono:wght@400..600&display=swap');

:root, [data-theme="light"] {
  --purple-50: #f5f1fb;
  --purple-100: #ece2f8;
  --purple-200: #d9c7f0;
  --purple-300: #c0a4e5;
  --purple-400: #a378d9;
  --purple-500: #8c50d0;
  --purple-600: #7135b6;
  --purple-700: #5c2e91;
  --purple-800: #492673;
  --purple-900: #341c54;
  --green-50: #f5faed;
  --green-100: #e9f2d9;
  --green-200: #d3e6b2;
  --green-300: #b6d382;
  --green-400: #9ac653;
  --green-500: #72a63a;
  --green-600: #55902d;
  --green-700: #3e7a24;
  --green-800: #2c621d;
  --green-900: #1e4b16;
  --orange-50: #fdf7ec;
  --orange-100: #fcebcf;
  --orange-200: #f9d9aa;
  --orange-300: #f4bd71;
  --orange-400: #f1a841;
  --orange-500: #eb921e;
  --orange-600: #cc7014;
  --orange-700: #a35214;
  --orange-800: #824217;
  --orange-900: #633317;
  --rose-50: #fceef1;
  --rose-100: #f9dce2;
  --rose-200: #f3bfca;
  --rose-300: #e995a6;
  --rose-400: #dc6077;
  --rose-500: #d03952;
  --rose-600: #b42d41;
  --rose-700: #972b39;
  --rose-800: #782631;
  --rose-900: #5b2029;
  --teal-50: #edf7f8;
  --teal-100: #daeff1;
  --teal-200: #b6dde2;
  --teal-300: #80c6d0;
  --teal-400: #51b1c2;
  --teal-500: #3390a3;
  --teal-600: #28788a;
  --teal-700: #216273;
  --teal-800: #1d4f5d;
  --teal-900: #183e49;
  --neutral-0: #ffffff;
  --neutral-50: #f7f6fa;
  --neutral-100: #f1eff6;
  --neutral-200: #e7e4ee;
  --neutral-300: #d6d2df;
  --neutral-400: #b3adc1;
  --neutral-500: #8a8399;
  --neutral-600: #655f74;
  --neutral-700: #4a4557;
  --neutral-800: #302c3b;
  --neutral-900: #1d1a28;
  --bg-canvas: #f7f6fa;
  --surface: #ffffff;
  --surface-raised: #ffffff;
  --surface-sunken: #f1eff6;
  --surface-hover: #f1eff6;
  --surface-selected: #f5f1fb;
  --scrim: #1d1a2899;
  --border-subtle: #e7e4ee;
  --border: #d6d2df;
  --border-strong: #8f87a3;
  --text-primary: #211d2e;
  --text-secondary: #4a4557;
  --text-muted: #655f74;
  --text-disabled: #b3adc1;
  --text-inverse: #ffffff;
  --text-link: #5c2e91;
  --primary: #7135b6;
  --primary-hover: #5c2e91;
  --primary-active: #492673;
  --on-primary: #ffffff;
  --primary-muted: #f5f1fb;
  --primary-muted-hover: #ece2f8;
  --primary-text: #5c2e91;
  --secondary: #3e7a24;
  --secondary-hover: #2c621d;
  --on-secondary: #ffffff;
  --secondary-muted: #f5faed;
  --secondary-text: #2c621d;
  --accent: #eb921e;
  --on-accent: #3a2408;
  --accent-muted: #fdf7ec;
  --accent-text: #a35214;
  --focus-ring: #8c50d0;
  --success: #3e7a24;
  --success-bg: #f5faed;
  --success-border: #b6d382;
  --success-solid: #3e7a24;
  --on-success-solid: #ffffff;
  --warning: #a35214;
  --warning-bg: #fdf7ec;
  --warning-border: #f4bd71;
  --warning-solid: #eb921e;
  --on-warning-solid: #3a2408;
  --danger: #972b39;
  --danger-bg: #fceef1;
  --danger-border: #e995a6;
  --danger-solid: #b42d41;
  --on-danger-solid: #ffffff;
  --info: #216273;
  --info-bg: #edf7f8;
  --info-border: #80c6d0;
  --info-solid: #28788a;
  --on-info-solid: #ffffff;
  --chart-1: #8c50d0;
  --chart-2: #72a63a;
  --chart-3: #f1a841;
  --chart-4: #3390a3;
  --chart-5: #dc6077;
  --chart-6: #492673;
  --chart-grid: #e7e4ee;
  --chart-track: #f1eff6;

  --shadow-xs: 0 1px 2px 0 rgba(29,26,40,0.06);
  --shadow-sm: 0 1px 3px 0 rgba(29,26,40,0.10), 0 1px 2px -1px rgba(29,26,40,0.08);
  --shadow-md: 0 4px 12px -2px rgba(29,26,40,0.12), 0 2px 6px -2px rgba(29,26,40,0.08);
  --shadow-lg: 0 12px 32px -8px rgba(45,26,80,0.22), 0 6px 14px -6px rgba(29,26,40,0.12);
}

[data-theme="dark"] {
  --bg-canvas: #151320;
  --surface: #1e1b2a;
  --surface-raised: #272335;
  --surface-sunken: #100e19;
  --surface-hover: #24212f;
  --surface-selected: #241a33;
  --scrim: #0a0812b3;
  --border-subtle: #2a2740;
  --border: #35314a;
  --border-strong: #787292;
  --text-primary: #f0edf6;
  --text-secondary: #b7b1c6;
  --text-muted: #8f8aa1;
  --text-disabled: #5c5770;
  --text-inverse: #1d1a28;
  --text-link: #c0a4e5;
  --primary: #c0a4e5;
  --primary-hover: #d9c7f0;
  --primary-active: #ece2f8;
  --on-primary: #171423;
  --primary-muted: #241a33;
  --primary-muted-hover: #2e2140;
  --primary-text: #c0a4e5;
  --secondary: #b6d382;
  --secondary-hover: #d3e6b2;
  --on-secondary: #171423;
  --secondary-muted: #16220f;
  --secondary-text: #b6d382;
  --accent: #f4bd71;
  --on-accent: #241701;
  --accent-muted: #2a1e0c;
  --accent-text: #f4bd71;
  --focus-ring: #c0a4e5;
  --success: #b6d382;
  --success-bg: #16220f;
  --success-border: #3e7a24;
  --success-solid: #9ac653;
  --on-success-solid: #171423;
  --warning: #f4bd71;
  --warning-bg: #2a1e0c;
  --warning-border: #a35214;
  --warning-solid: #f4bd71;
  --on-warning-solid: #241701;
  --danger: #e995a6;
  --danger-bg: #2c1620;
  --danger-border: #972b39;
  --danger-solid: #dc6077;
  --on-danger-solid: #241016;
  --info: #80c6d0;
  --info-bg: #0f2429;
  --info-border: #216273;
  --info-solid: #51b1c2;
  --on-info-solid: #06181c;
  --chart-1: #c0a4e5;
  --chart-2: #b6d382;
  --chart-3: #f4bd71;
  --chart-4: #80c6d0;
  --chart-5: #e995a6;
  --chart-6: #8c50d0;
  --chart-grid: #2f2b45;
  --chart-track: #211e30;

  --shadow-xs: 0 1px 2px 0 rgba(0,0,0,0.5);
  --shadow-sm: 0 2px 4px 0 rgba(0,0,0,0.5);
  --shadow-md: 0 6px 16px -4px rgba(0,0,0,0.6);
  --shadow-lg: 0 18px 40px -12px rgba(0,0,0,0.7);
}

:root {
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-pill: 999px;

  --font-display: "Quicksand", ui-rounded, "Segoe UI", system-ui, sans-serif;
  --font-sans: "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
}

.display-xl {
  font-family: var(--font-display);
  font-size: 34px;
  line-height: 40px;
  font-weight: 700;
}
.display {
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 32px;
  font-weight: 700;
}
.title {
  font-family: var(--font-display);
  font-size: 20px;
  line-height: 26px;
  font-weight: 600;
}
.heading {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
}
.body-lg {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
}
.body {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
}
.body-strong {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
}
.label {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 16px;
  font-weight: 600;
}
.caption {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
}
.overline {
  font-family: var(--font-sans);
  font-size: 11px;
  line-height: 14px;
  font-weight: 700;
  letter-spacing: 0.07em;
}
.metric-xl {
  font-family: var(--font-sans);
  font-size: 32px;
  line-height: 36px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.metric {
  font-family: var(--font-sans);
  font-size: 22px;
  line-height: 26px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.data {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.code {
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 18px;
  font-weight: 400;
}
