/* OurFitness design tokens — generated by shared/design-tokens/scripts/build.mjs. Do not edit. */
:root {
  --of-ink-0: #FFFFFF;
  --of-ink-25: #FBFBFC;
  --of-ink-50: #F5F6F8;
  --of-ink-100: #ECEEF2;
  --of-ink-150: #E1E4EA;
  --of-ink-200: #D2D6DE;
  --of-ink-300: #B2B9C5;
  --of-ink-400: #8A93A2;
  --of-ink-500: #657080;
  --of-ink-600: #4A5361;
  --of-ink-700: #353C47;
  --of-ink-800: #22272F;
  --of-ink-850: #1A1E25;
  --of-ink-900: #13161B;
  --of-ink-950: #0B0D10;
  --of-volt-50: #F7FFE0;
  --of-volt-100: #EDFFB5;
  --of-volt-200: #DEFF80;
  --of-volt-300: #CDFA48;
  --of-volt-400: #BDF224;
  --of-volt-500: #A2D60E;
  --of-volt-600: #7EAA07;
  --of-volt-700: #5D7F0A;
  --of-volt-800: #48630E;
  --of-volt-900: #3B5211;
  --of-iris-50: #EEF0FF;
  --of-iris-100: #DFE3FF;
  --of-iris-200: #C3CAFF;
  --of-iris-300: #9EA8FF;
  --of-iris-400: #7C86FF;
  --of-iris-500: #5F66F5;
  --of-iris-600: #4B4DE0;
  --of-iris-700: #3D3DB8;
  --of-iris-800: #343694;
  --of-iris-900: #2F3374;
  --of-coral-300: #FFA48F;
  --of-coral-400: #FF8466;
  --of-coral-500: #F4643F;
  --of-coral-600: #D94A26;
  --of-aqua-300: #6FE3D6;
  --of-aqua-400: #3DCFBF;
  --of-aqua-500: #1FB3A4;
  --of-aqua-600: #128F84;
  --of-amber-300: #FCD378;
  --of-amber-400: #F8BD45;
  --of-amber-500: #EEA21A;
  --of-amber-600: #C77F0B;
  --of-green-300: #6EDBA8;
  --of-green-400: #3CC98A;
  --of-green-500: #1FAE6F;
  --of-green-600: #148A57;
  --of-red-300: #FF9D9D;
  --of-red-400: #FA7070;
  --of-red-500: #E5484D;
  --of-red-600: #C4313A;
  --of-font-sans: 'Geist Variable', 'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --of-font-mono: 'Geist Mono Variable', 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --of-text-display-size: 40px;
  --of-text-display-line: 44px;
  --of-text-display-weight: 650;
  --of-text-display-tracking: -0.035em;
  --of-text-h1-size: 30px;
  --of-text-h1-line: 36px;
  --of-text-h1-weight: 650;
  --of-text-h1-tracking: -0.028em;
  --of-text-h2-size: 22px;
  --of-text-h2-line: 28px;
  --of-text-h2-weight: 620;
  --of-text-h2-tracking: -0.02em;
  --of-text-h3-size: 18px;
  --of-text-h3-line: 24px;
  --of-text-h3-weight: 600;
  --of-text-h3-tracking: -0.012em;
  --of-text-body-lg-size: 17px;
  --of-text-body-lg-line: 26px;
  --of-text-body-lg-weight: 420;
  --of-text-body-lg-tracking: -0.006em;
  --of-text-body-size: 15px;
  --of-text-body-line: 22px;
  --of-text-body-weight: 420;
  --of-text-body-tracking: -0.004em;
  --of-text-body-sm-size: 13px;
  --of-text-body-sm-line: 18px;
  --of-text-body-sm-weight: 420;
  --of-text-body-sm-tracking: 0em;
  --of-text-label-size: 13px;
  --of-text-label-line: 16px;
  --of-text-label-weight: 560;
  --of-text-label-tracking: 0em;
  --of-text-overline-size: 11px;
  --of-text-overline-line: 14px;
  --of-text-overline-weight: 620;
  --of-text-overline-tracking: 0.08em;
  --of-text-button-size: 15px;
  --of-text-button-line: 20px;
  --of-text-button-weight: 580;
  --of-text-button-tracking: -0.004em;
  --of-text-caption-size: 12px;
  --of-text-caption-line: 16px;
  --of-text-caption-weight: 450;
  --of-text-caption-tracking: 0em;
  --of-text-stat-xl-size: 52px;
  --of-text-stat-xl-line: 52px;
  --of-text-stat-xl-weight: 640;
  --of-text-stat-xl-tracking: -0.045em;
  --of-text-stat-lg-size: 34px;
  --of-text-stat-lg-line: 36px;
  --of-text-stat-lg-weight: 640;
  --of-text-stat-lg-tracking: -0.035em;
  --of-text-stat-md-size: 24px;
  --of-text-stat-md-line: 28px;
  --of-text-stat-md-weight: 620;
  --of-text-stat-md-tracking: -0.025em;
  --of-text-stat-sm-size: 17px;
  --of-text-stat-sm-line: 20px;
  --of-text-stat-sm-weight: 600;
  --of-text-stat-sm-tracking: -0.012em;
  --of-space-0: 0;
  --of-space-1: 4px;
  --of-space-2: 8px;
  --of-space-3: 12px;
  --of-space-4: 16px;
  --of-space-5: 20px;
  --of-space-6: 24px;
  --of-space-7: 28px;
  --of-space-8: 32px;
  --of-space-10: 40px;
  --of-space-12: 48px;
  --of-space-14: 56px;
  --of-space-16: 64px;
  --of-space-20: 80px;
  --of-space-0_5: 2px;
  --of-space-1_5: 6px;
  --of-radius-xs: 6px;
  --of-radius-sm: 8px;
  --of-radius-md: 12px;
  --of-radius-lg: 16px;
  --of-radius-xl: 20px;
  --of-radius-2xl: 28px;
  --of-radius-pill: 999px;
  --of-duration-instant: 80ms;
  --of-duration-fast: 140ms;
  --of-duration-base: 200ms;
  --of-duration-slow: 280ms;
  --of-duration-slower: 420ms;
  --of-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --of-ease-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);
  --of-ease-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);
  --of-ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1);
  --of-control-sm: 32px;
  --of-control-md: 40px;
  --of-control-lg: 48px;
  --of-control-xl: 56px;
  --of-icon-xs: 14px;
  --of-icon-sm: 16px;
  --of-icon-md: 20px;
  --of-icon-lg: 24px;
  --of-icon-xl: 32px;
  --of-touch-target: 44px;
  --of-sidebar-width: 248px;
  --of-sidebar-collapsed-width: 72px;
  --of-topbar-height: 60px;
  --of-content-max: 1360px;
  --of-z-base: 0;
  --of-z-sticky: 20;
  --of-z-dropdown: 40;
  --of-z-drawer: 60;
  --of-z-modal: 80;
  --of-z-toast: 100;
}

:root, [data-theme='light'] {
  color-scheme: light;
  --of-color-bg: #F5F6F8;
  --of-color-bg-subtle: #ECEEF2;
  --of-color-surface: #FFFFFF;
  --of-color-surface-2: #FBFBFC;
  --of-color-surface-3: #ECEEF2;
  --of-color-surface-inverse: #0B0D10;
  --of-color-overlay: rgba(11,13,16,0.44);
  --of-color-border: #E1E4EA;
  --of-color-border-strong: #D2D6DE;
  --of-color-divider: #ECEEF2;
  --of-color-text: #0B0D10;
  --of-color-text-secondary: #4A5361;
  --of-color-text-muted: #657080;
  --of-color-text-disabled: #B2B9C5;
  --of-color-text-inverse: #FFFFFF;
  --of-color-text-on-accent: #0B0D10;
  --of-color-primary: #0B0D10;
  --of-color-primary-hover: #22272F;
  --of-color-primary-pressed: #353C47;
  --of-color-on-primary: #FFFFFF;
  --of-color-accent: #BDF224;
  --of-color-accent-strong: #7EAA07;
  --of-color-accent-soft: #EDFFB5;
  --of-color-accent-text: #5D7F0A;
  --of-color-on-accent: #0B0D10;
  --of-color-secondary: #5F66F5;
  --of-color-secondary-soft: #EEF0FF;
  --of-color-secondary-text: #4B4DE0;
  --of-color-success: #1FAE6F;
  --of-color-success-soft: #E3F7EC;
  --of-color-success-text: #148A57;
  --of-color-warning: #EEA21A;
  --of-color-warning-soft: #FDF1D8;
  --of-color-warning-text: #9A5F05;
  --of-color-danger: #E5484D;
  --of-color-danger-soft: #FDE8E8;
  --of-color-danger-text: #C4313A;
  --of-color-info: #5F66F5;
  --of-color-info-soft: #EEF0FF;
  --of-color-info-text: #4B4DE0;
  --of-color-focus-ring: #5F66F5;
  --of-color-chart-1: #0B0D10;
  --of-color-chart-2: #5F66F5;
  --of-color-chart-3: #F4643F;
  --of-color-chart-4: #1FB3A4;
  --of-color-chart-5: #EEA21A;
  --of-color-chart-accent: #A2D60E;
  --of-color-chart-grid: #ECEEF2;
  --of-color-chart-axis: #8A93A2;
  --of-shadow-xs: 0 1px 2px rgba(15,18,24,0.05);
  --of-shadow-sm: 0 1px 2px rgba(15,18,24,0.04), 0 2px 6px rgba(15,18,24,0.05);
  --of-shadow-md: 0 2px 4px rgba(15,18,24,0.04), 0 8px 20px rgba(15,18,24,0.07);
  --of-shadow-lg: 0 4px 8px rgba(15,18,24,0.05), 0 20px 44px rgba(15,18,24,0.12);
  --of-shadow-focus: 0 0 0 3px rgba(95,102,245,0.28);
}

[data-theme='dark'] {
  color-scheme: dark;
  --of-color-bg: #0B0D10;
  --of-color-bg-subtle: #0F1115;
  --of-color-surface: #13161B;
  --of-color-surface-2: #1A1E25;
  --of-color-surface-3: #22272F;
  --of-color-surface-inverse: #F5F6F8;
  --of-color-overlay: rgba(0,0,0,0.62);
  --of-color-border: #262B34;
  --of-color-border-strong: #343A45;
  --of-color-divider: #1E2229;
  --of-color-text: #F2F4F7;
  --of-color-text-secondary: #A9B1BE;
  --of-color-text-muted: #7F8897;
  --of-color-text-disabled: #4A5361;
  --of-color-text-inverse: #0B0D10;
  --of-color-text-on-accent: #0B0D10;
  --of-color-primary: #BDF224;
  --of-color-primary-hover: #CDFA48;
  --of-color-primary-pressed: #A2D60E;
  --of-color-on-primary: #0B0D10;
  --of-color-accent: #BDF224;
  --of-color-accent-strong: #CDFA48;
  --of-color-accent-soft: rgba(189,242,36,0.14);
  --of-color-accent-text: #CDFA48;
  --of-color-on-accent: #0B0D10;
  --of-color-secondary: #7C86FF;
  --of-color-secondary-soft: rgba(124,134,255,0.16);
  --of-color-secondary-text: #9EA8FF;
  --of-color-success: #3CC98A;
  --of-color-success-soft: rgba(60,201,138,0.15);
  --of-color-success-text: #6EDBA8;
  --of-color-warning: #F8BD45;
  --of-color-warning-soft: rgba(248,189,69,0.15);
  --of-color-warning-text: #FCD378;
  --of-color-danger: #FA7070;
  --of-color-danger-soft: rgba(250,112,112,0.15);
  --of-color-danger-text: #FF9D9D;
  --of-color-info: #7C86FF;
  --of-color-info-soft: rgba(124,134,255,0.16);
  --of-color-info-text: #9EA8FF;
  --of-color-focus-ring: #CDFA48;
  --of-color-chart-1: #BDF224;
  --of-color-chart-2: #7C86FF;
  --of-color-chart-3: #FF8466;
  --of-color-chart-4: #3DCFBF;
  --of-color-chart-5: #F8BD45;
  --of-color-chart-accent: #BDF224;
  --of-color-chart-grid: #1E2229;
  --of-color-chart-axis: #657080;
  --of-shadow-xs: 0 1px 2px rgba(0,0,0,0.4);
  --of-shadow-sm: 0 1px 2px rgba(0,0,0,0.35), 0 2px 6px rgba(0,0,0,0.3);
  --of-shadow-md: 0 2px 4px rgba(0,0,0,0.35), 0 10px 24px rgba(0,0,0,0.4);
  --of-shadow-lg: 0 4px 10px rgba(0,0,0,0.4), 0 24px 52px rgba(0,0,0,0.55);
  --of-shadow-focus: 0 0 0 3px rgba(205,250,72,0.32);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    color-scheme: dark;
    --of-color-bg: #0B0D10;
    --of-color-bg-subtle: #0F1115;
    --of-color-surface: #13161B;
    --of-color-surface-2: #1A1E25;
    --of-color-surface-3: #22272F;
    --of-color-surface-inverse: #F5F6F8;
    --of-color-overlay: rgba(0,0,0,0.62);
    --of-color-border: #262B34;
    --of-color-border-strong: #343A45;
    --of-color-divider: #1E2229;
    --of-color-text: #F2F4F7;
    --of-color-text-secondary: #A9B1BE;
    --of-color-text-muted: #7F8897;
    --of-color-text-disabled: #4A5361;
    --of-color-text-inverse: #0B0D10;
    --of-color-text-on-accent: #0B0D10;
    --of-color-primary: #BDF224;
    --of-color-primary-hover: #CDFA48;
    --of-color-primary-pressed: #A2D60E;
    --of-color-on-primary: #0B0D10;
    --of-color-accent: #BDF224;
    --of-color-accent-strong: #CDFA48;
    --of-color-accent-soft: rgba(189,242,36,0.14);
    --of-color-accent-text: #CDFA48;
    --of-color-on-accent: #0B0D10;
    --of-color-secondary: #7C86FF;
    --of-color-secondary-soft: rgba(124,134,255,0.16);
    --of-color-secondary-text: #9EA8FF;
    --of-color-success: #3CC98A;
    --of-color-success-soft: rgba(60,201,138,0.15);
    --of-color-success-text: #6EDBA8;
    --of-color-warning: #F8BD45;
    --of-color-warning-soft: rgba(248,189,69,0.15);
    --of-color-warning-text: #FCD378;
    --of-color-danger: #FA7070;
    --of-color-danger-soft: rgba(250,112,112,0.15);
    --of-color-danger-text: #FF9D9D;
    --of-color-info: #7C86FF;
    --of-color-info-soft: rgba(124,134,255,0.16);
    --of-color-info-text: #9EA8FF;
    --of-color-focus-ring: #CDFA48;
    --of-color-chart-1: #BDF224;
    --of-color-chart-2: #7C86FF;
    --of-color-chart-3: #FF8466;
    --of-color-chart-4: #3DCFBF;
    --of-color-chart-5: #F8BD45;
    --of-color-chart-accent: #BDF224;
    --of-color-chart-grid: #1E2229;
    --of-color-chart-axis: #657080;
    --of-shadow-xs: 0 1px 2px rgba(0,0,0,0.4);
    --of-shadow-sm: 0 1px 2px rgba(0,0,0,0.35), 0 2px 6px rgba(0,0,0,0.3);
    --of-shadow-md: 0 2px 4px rgba(0,0,0,0.35), 0 10px 24px rgba(0,0,0,0.4);
    --of-shadow-lg: 0 4px 10px rgba(0,0,0,0.4), 0 24px 52px rgba(0,0,0,0.55);
    --of-shadow-focus: 0 0 0 3px rgba(205,250,72,0.32);
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --of-duration-instant: 0ms;
    --of-duration-fast: 0ms;
    --of-duration-base: 0ms;
    --of-duration-slow: 0ms;
    --of-duration-slower: 0ms;
  }
}

/* Type scale utility classes */
.of-text-display {
  font-size: var(--of-text-display-size);
  line-height: var(--of-text-display-line);
  font-weight: var(--of-text-display-weight);
  letter-spacing: var(--of-text-display-tracking);
}
.of-text-h1 {
  font-size: var(--of-text-h1-size);
  line-height: var(--of-text-h1-line);
  font-weight: var(--of-text-h1-weight);
  letter-spacing: var(--of-text-h1-tracking);
}
.of-text-h2 {
  font-size: var(--of-text-h2-size);
  line-height: var(--of-text-h2-line);
  font-weight: var(--of-text-h2-weight);
  letter-spacing: var(--of-text-h2-tracking);
}
.of-text-h3 {
  font-size: var(--of-text-h3-size);
  line-height: var(--of-text-h3-line);
  font-weight: var(--of-text-h3-weight);
  letter-spacing: var(--of-text-h3-tracking);
}
.of-text-body-lg {
  font-size: var(--of-text-body-lg-size);
  line-height: var(--of-text-body-lg-line);
  font-weight: var(--of-text-body-lg-weight);
  letter-spacing: var(--of-text-body-lg-tracking);
}
.of-text-body {
  font-size: var(--of-text-body-size);
  line-height: var(--of-text-body-line);
  font-weight: var(--of-text-body-weight);
  letter-spacing: var(--of-text-body-tracking);
}
.of-text-body-sm {
  font-size: var(--of-text-body-sm-size);
  line-height: var(--of-text-body-sm-line);
  font-weight: var(--of-text-body-sm-weight);
  letter-spacing: var(--of-text-body-sm-tracking);
}
.of-text-label {
  font-size: var(--of-text-label-size);
  line-height: var(--of-text-label-line);
  font-weight: var(--of-text-label-weight);
  letter-spacing: var(--of-text-label-tracking);
}
.of-text-overline {
  font-size: var(--of-text-overline-size);
  line-height: var(--of-text-overline-line);
  font-weight: var(--of-text-overline-weight);
  letter-spacing: var(--of-text-overline-tracking);
  text-transform: uppercase;
}
.of-text-button {
  font-size: var(--of-text-button-size);
  line-height: var(--of-text-button-line);
  font-weight: var(--of-text-button-weight);
  letter-spacing: var(--of-text-button-tracking);
}
.of-text-caption {
  font-size: var(--of-text-caption-size);
  line-height: var(--of-text-caption-line);
  font-weight: var(--of-text-caption-weight);
  letter-spacing: var(--of-text-caption-tracking);
}
.of-text-stat-xl {
  font-size: var(--of-text-stat-xl-size);
  line-height: var(--of-text-stat-xl-line);
  font-weight: var(--of-text-stat-xl-weight);
  letter-spacing: var(--of-text-stat-xl-tracking);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "ss01" 1;
}
.of-text-stat-lg {
  font-size: var(--of-text-stat-lg-size);
  line-height: var(--of-text-stat-lg-line);
  font-weight: var(--of-text-stat-lg-weight);
  letter-spacing: var(--of-text-stat-lg-tracking);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "ss01" 1;
}
.of-text-stat-md {
  font-size: var(--of-text-stat-md-size);
  line-height: var(--of-text-stat-md-line);
  font-weight: var(--of-text-stat-md-weight);
  letter-spacing: var(--of-text-stat-md-tracking);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "ss01" 1;
}
.of-text-stat-sm {
  font-size: var(--of-text-stat-sm-size);
  line-height: var(--of-text-stat-sm-line);
  font-weight: var(--of-text-stat-sm-weight);
  letter-spacing: var(--of-text-stat-sm-tracking);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "ss01" 1;
}

.of-tabular { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
