/* Generated by OOTechBuilder — do not edit. */
/* OOTech design-language tokens. Single source: OOTechBuilder/DesignLanguage/OODesignLanguage.swift. */
/* Paired surface tokens (--oo-surface-* + --oo-on-surface-*) + .oo-surface-* utility classes make */
/* unpairing a fill from its legible text non-expressible. WCAG 4.5:1 (3:1 UI) gated at Export. */

:root {
  --oo-surface-surface-base: #f2f7f3;
  --oo-on-surface-surface-base: #16241c;
  --oo-surface-surface-raised: #eaf3ed;
  --oo-on-surface-surface-raised: #16241c;
  --oo-surface-accent-solid: #1a6e44;
  --oo-on-surface-accent-solid: #ffffff;
  --oo-surface-accent-container: #d7e8db;
  --oo-on-surface-accent-container: #11472b;
  --oo-surface-branded: #dbf2e4;
  --oo-on-surface-branded: #003a1c;
  --oo-surface-status-error: #b33636;
  --oo-on-surface-status-error: #ffffff;
  --oo-surface-status-success: #2e7d32;
  --oo-on-surface-status-success: #ffffff;
  --oo-surface-status-warning: #d6b400;
  --oo-on-surface-status-warning: #1a1a1a;
  --oo-surface-status-info: #0e6e8c;
  --oo-on-surface-status-info: #ffffff;
  --oo-surface-status-notice: #b33680;
  --oo-on-surface-status-notice: #ffffff;
  --oo-surface-status-edit: #5f36b3;
  --oo-on-surface-status-edit: #ffffff;
  --oo-surface-inverse: #1a1a1a;
  --oo-on-surface-inverse: #e6e6e6;
  --oo-text-primary: #16241c;
  --oo-text-on-accent: #ffffff;
  --oo-text-secondary: #4a5c50;
  --oo-border-strong: #6e8578;
  --oo-border-subtle: #cbe0d3;
  --oo-data-x1: #3257c4;
  --oo-data-x2: #c43a8a;
  --oo-data-x3: #1d7a5f;
  --oo-data-x4: #c2611a;
  --oo-data-x5: #6a3fb5;
  --oo-data-x6: #0e7d96;
  --oo-data-x7: #a8421f;
  --oo-data-x8: #6b6f12;
  --oo-chart-delta-up: #2e7d32;
  --oo-chart-delta-down: #b33636;
  --oo-chart-axis: #565656;
  --oo-chart-gridline: #c9c9c9;
  --oo-chart-area-fill: #3257c4;

  /* Type scale (rem) */
  --oo-type-caption: 0.75rem;
  --oo-type-label: 0.8125rem;
  --oo-type-body-small: 0.875rem;
  --oo-type-body: 1rem;
  --oo-type-title: 1.0625rem;
  --oo-type-title-large: 1.375rem;
  --oo-type-headline: 1.75rem;
  --oo-type-display: 2.25rem;
  /* Spacing (rem; authored px on the 8pt grid) */
  --oo-space-xs: 0.25rem;
  --oo-space-sm: 0.5rem;
  --oo-space-md: 1rem;
  --oo-space-lg: 1.5rem;
  --oo-space-xl: 2rem;
  --oo-space-xxl: 3rem;
  /* Corner radius (px) */
  --oo-radius-none: 0px;
  --oo-radius-sm: 8px;
  --oo-radius-md: 12px;
  --oo-radius-lg: 16px;
  --oo-radius-xl: 28px;
  --oo-radius-full: 9999px;
  /* Motion durations (ms) */
  --oo-motion-instant: 0ms;
  --oo-motion-fast: 150ms;
  --oo-motion-standard: 250ms;
  --oo-motion-slow: 400ms;
  --oo-motion-deliberate: 600ms;
}

@media (prefers-color-scheme: dark) {
  :root {
    --oo-surface-surface-base: #0f1712;
    --oo-on-surface-surface-base: #e5efe8;
    --oo-surface-surface-raised: #17211b;
    --oo-on-surface-surface-raised: #e5efe8;
    --oo-surface-accent-solid: #5fc98a;
    --oo-on-surface-accent-solid: #08130c;
    --oo-surface-accent-container: #15331f;
    --oo-on-surface-accent-container: #bfe6cd;
    --oo-surface-branded: #003a1c;
    --oo-on-surface-branded: #dbf2e4;
    --oo-surface-status-error: #f08a8a;
    --oo-on-surface-status-error: #121212;
    --oo-surface-status-success: #6fd06f;
    --oo-on-surface-status-success: #121212;
    --oo-surface-status-warning: #d6c95a;
    --oo-on-surface-status-warning: #1a1a1a;
    --oo-surface-status-info: #5fd0c6;
    --oo-on-surface-status-info: #121212;
    --oo-surface-status-notice: #e58fb8;
    --oo-on-surface-status-notice: #121212;
    --oo-surface-status-edit: #b59be8;
    --oo-on-surface-status-edit: #121212;
    --oo-surface-inverse: #e6e6e6;
    --oo-on-surface-inverse: #1a1a1a;
    --oo-text-primary: #e5efe8;
    --oo-text-on-accent: #08130c;
    --oo-text-secondary: #a6bcad;
    --oo-border-strong: #536b5b;
    --oo-border-subtle: #26332b;
    --oo-data-x1: #7aa0f0;
    --oo-data-x2: #f08ac0;
    --oo-data-x3: #5fd0a8;
    --oo-data-x4: #f0a85f;
    --oo-data-x5: #b59be8;
    --oo-data-x6: #5fd0c6;
    --oo-data-x7: #f09070;
    --oo-data-x8: #cdd25a;
    --oo-chart-delta-up: #6fd06f;
    --oo-chart-delta-down: #f08a8a;
    --oo-chart-axis: #bfbfbf;
    --oo-chart-gridline: #3a3a3a;
    --oo-chart-area-fill: #7aa0f0;
  }
}

@media (prefers-contrast: more) {
  :root {
    --oo-surface-surface-base: #ffffff;
    --oo-on-surface-surface-base: #000000;
    --oo-surface-surface-raised: #ffffff;
    --oo-on-surface-surface-raised: #000000;
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --oo-surface-surface-base: #000000;
      --oo-on-surface-surface-base: #ffffff;
      --oo-surface-surface-raised: #000000;
      --oo-on-surface-surface-raised: #ffffff;
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --oo-motion-instant: 0ms;
    --oo-motion-fast: 0ms;
    --oo-motion-standard: 0ms;
    --oo-motion-slow: 0ms;
    --oo-motion-deliberate: 0ms;
  }
}

html[data-oo-brand="moodorbit"] {
  --oo-surface-surface-base: #f7f4fb;
  --oo-on-surface-surface-base: #221a2b;
  --oo-surface-surface-raised: #f1ecf8;
  --oo-on-surface-surface-raised: #221a2b;
  --oo-surface-accent-solid: #7b1fa2;
  --oo-on-surface-accent-solid: #ffffff;
  --oo-surface-accent-container: #ece0f5;
  --oo-on-surface-accent-container: #4e0250;
  --oo-surface-branded: #f1e8f1;
  --oo-on-surface-branded: #4e0250;
  --oo-text-primary: #221a2b;
  --oo-text-secondary: #5a5065;
  --oo-border-strong: #7a7086;
  --oo-border-subtle: #d8cfe2;
}
@media (prefers-color-scheme: dark) {
  html[data-oo-brand="moodorbit"] {
    --oo-surface-surface-base: #14101c;
    --oo-on-surface-surface-base: #ece7f2;
    --oo-surface-surface-raised: #201b29;
    --oo-on-surface-surface-raised: #ece7f2;
    --oo-surface-accent-solid: #cba7e6;
    --oo-on-surface-accent-solid: #2a0030;
    --oo-surface-accent-container: #3a1038;
    --oo-on-surface-accent-container: #f1e8f1;
    --oo-surface-branded: #4e0250;
    --oo-on-surface-branded: #f1e8f1;
    --oo-text-primary: #ece7f2;
    --oo-text-on-accent: #2a0030;
    --oo-text-secondary: #b3a9c0;
    --oo-border-strong: #8b8199;
    --oo-border-subtle: #383142;
  }
}
@media (prefers-contrast: more) {
  html[data-oo-brand="moodorbit"] {
    --oo-surface-surface-base: #ffffff;
    --oo-on-surface-surface-base: #000000;
    --oo-surface-surface-raised: #ffffff;
    --oo-on-surface-surface-raised: #000000;
  }
  @media (prefers-color-scheme: dark) {
    html[data-oo-brand="moodorbit"] {
      --oo-surface-surface-base: #000000;
      --oo-on-surface-surface-base: #ffffff;
      --oo-surface-surface-raised: #000000;
      --oo-on-surface-surface-raised: #ffffff;
    }
  }
}

html[data-oo-brand="truealign"] {
  --oo-surface-surface-base: #f2f6fb;
  --oo-on-surface-surface-base: #172433;
  --oo-surface-surface-raised: #e8f0f8;
  --oo-on-surface-surface-raised: #172433;
  --oo-surface-accent-solid: #2d4a6b;
  --oo-on-surface-accent-solid: #ffffff;
  --oo-surface-accent-container: #dde6ef;
  --oo-on-surface-accent-container: #1e3a57;
  --oo-surface-branded: #dee9f5;
  --oo-on-surface-branded: #0e253c;
  --oo-text-primary: #172433;
  --oo-text-secondary: #4b5a6c;
  --oo-border-strong: #6d8098;
  --oo-border-subtle: #cedeed;
}
@media (prefers-color-scheme: dark) {
  html[data-oo-brand="truealign"] {
    --oo-surface-surface-base: #0e131b;
    --oo-on-surface-surface-base: #e4ebf3;
    --oo-surface-surface-raised: #161d28;
    --oo-on-surface-surface-raised: #e4ebf3;
    --oo-surface-accent-solid: #6ea8de;
    --oo-on-surface-accent-solid: #0a1622;
    --oo-surface-accent-container: #1a2f47;
    --oo-on-surface-accent-container: #cfe0f3;
    --oo-surface-branded: #0e253c;
    --oo-on-surface-branded: #dee9f5;
    --oo-text-primary: #e4ebf3;
    --oo-text-on-accent: #0a1622;
    --oo-text-secondary: #a3b3c6;
    --oo-border-strong: #52657c;
    --oo-border-subtle: #232f3d;
  }
}
@media (prefers-contrast: more) {
  html[data-oo-brand="truealign"] {
    --oo-surface-surface-base: #ffffff;
    --oo-on-surface-surface-base: #000000;
    --oo-surface-surface-raised: #ffffff;
    --oo-on-surface-surface-raised: #000000;
  }
  @media (prefers-color-scheme: dark) {
    html[data-oo-brand="truealign"] {
      --oo-surface-surface-base: #000000;
      --oo-on-surface-surface-base: #ffffff;
      --oo-surface-surface-raised: #000000;
      --oo-on-surface-surface-raised: #ffffff;
    }
  }
}

/* Utility classes — set background AND its paired on-color in one class. */
.oo-surface-surface-base { background: var(--oo-surface-surface-base); color: var(--oo-on-surface-surface-base); }
.oo-surface-surface-raised { background: var(--oo-surface-surface-raised); color: var(--oo-on-surface-surface-raised); }
.oo-surface-accent-solid { background: var(--oo-surface-accent-solid); color: var(--oo-on-surface-accent-solid); }
.oo-surface-accent-container { background: var(--oo-surface-accent-container); color: var(--oo-on-surface-accent-container); }
.oo-surface-branded { background: var(--oo-surface-branded); color: var(--oo-on-surface-branded); }
.oo-surface-status-error { background: var(--oo-surface-status-error); color: var(--oo-on-surface-status-error); }
.oo-surface-status-success { background: var(--oo-surface-status-success); color: var(--oo-on-surface-status-success); }
.oo-surface-status-warning { background: var(--oo-surface-status-warning); color: var(--oo-on-surface-status-warning); }
.oo-surface-status-info { background: var(--oo-surface-status-info); color: var(--oo-on-surface-status-info); }
.oo-surface-status-notice { background: var(--oo-surface-status-notice); color: var(--oo-on-surface-status-notice); }
.oo-surface-status-edit { background: var(--oo-surface-status-edit); color: var(--oo-on-surface-status-edit); }
.oo-surface-inverse { background: var(--oo-surface-inverse); color: var(--oo-on-surface-inverse); }

/* Type roles. */
.oo-type-caption { font-size: var(--oo-type-caption); }
.oo-type-label { font-size: var(--oo-type-label); }
.oo-type-body-small { font-size: var(--oo-type-body-small); }
.oo-type-body { font-size: var(--oo-type-body); }
.oo-type-title { font-size: var(--oo-type-title); }
.oo-type-title-large { font-size: var(--oo-type-title-large); }
.oo-type-headline { font-size: var(--oo-type-headline); }
.oo-type-display { font-size: var(--oo-type-display); }
