/* GENERATED by scripts/brand/sync_consumers.py.
   Source: docs/brand/system/tokens/*.css. Do not edit directly. */

/* source: colors.css */
/* OpenMed shared color tokens.
   Light is the default; dark activates through the generic or Material
   selector. Every accent tint follows one reviewed base token. */

:root {
  color-scheme: light;

  /* Accent engine: OpenMed.life, docs, and social use the signal-red base. */
  --om-accent-base: #B0413E;

  /* Static fallbacks must precede their relative-OKLCH enhancements. */
  --om-accent: #9A3936;
  --om-accent: oklch(from var(--om-accent-base) 0.56 min(c, 0.17) h);
  --om-accent-strong: #7D302E;
  --om-accent-strong: oklch(from var(--om-accent-base) 0.47 min(c, 0.17) h);
  --om-accent-bright: #E0837E;
  --om-accent-bright: oklch(from var(--om-accent-base) 0.76 min(c, 0.17) h);
  --om-accent-deep: #3B2625;
  --om-accent-deep: oklch(from var(--om-accent-base) 0.25 min(c, 0.07) h);
  --om-wash: #F7E9E8;
  --om-wash: oklch(from var(--om-accent-base) 0.94 min(c, 0.045) h);

  --om-bg: #F4F7F8;
  --om-surface: #FFFFFF;
  --om-surface-2: #F8FAFA;
  --om-ink: #0E1116;
  --om-body: #4C5860;
  --om-dim: #5C6870;
  --om-faint: #9AA6AD;
  --om-line: #DEE5E7;
  --om-line-2: #E2E9EA;
  --om-success: #267D51;
  --om-success-bright: #5BC98A;

  --om-chip-bg: #FFFFFF;
  --om-chip-bd: #DCE4E6;
  --om-chip-fg: #3E4A52;
  --om-btn-ink-bg: #0E1116;
  --om-btn-ink-fg: #FFFFFF;
  --om-btn-accent-bg: #9A3936;
  --om-btn-accent-bg: oklch(from var(--om-accent-base) 0.56 min(c, 0.17) h);
  --om-btn-accent-fg: #FFFFFF;
  --om-machine-chip-bg: #E7EDEE;
  --om-machine-chip-fg: #0E1116;
  --om-dash: #B9C6C9;

  /* Reserved for explicit "awaiting review" states. */
  --om-review: #D9A441;

  /* Theme-invariant terminal palette. */
  --om-term-bg: #0E1116;
  --om-term-header: #131A21;
  --om-term-bd: #1B232B;
  --om-term-line: #202A33;
  --om-term-fg: #E3E8EC;
  --om-term-fg-2: #D8DEE3;
  --om-term-body: #B9C2CA;
  --om-term-dim: #5F6C7A;
  --om-term-faint: #3E4A55;
  --om-term-label: #6A7682;
  /* Readable small-text roles; both exceed 4.5:1 on --om-term-bg. */
  --om-term-muted-text: #9CA8B2;
  --om-term-faint-text: #8C99A4;
  --om-term-chip-bg: #3A2524;
  --om-term-chip-bg: oklch(from var(--om-accent-base) 0.26 min(c, 0.05) h);
  --om-term-chip-bd: #65403D;
  --om-term-chip-bd: oklch(from var(--om-accent-base) 0.37 min(c, 0.07) h);
  --om-term-shadow: 0 28px 56px -28px rgb(14 17 22 / 45%);

  /* Synthetic PII demo syntax. These roles are theme-invariant on terminals. */
  --om-syntax-name-bd: rgb(126 220 201 / 42%);
  --om-syntax-name-bg: rgb(35 170 148 / 16%);
  --om-syntax-name-fg: #8DE4D3;
  --om-syntax-date-bd: rgb(229 195 107 / 42%);
  --om-syntax-date-bg: rgb(229 195 107 / 13%);
  --om-syntax-date-fg: #E9CB7C;
  --om-syntax-phone-bd: rgb(201 180 242 / 42%);
  --om-syntax-phone-bg: rgb(160 130 230 / 15%);
  --om-syntax-phone-fg: #D1BEF4;
  --om-syntax-location-bd: rgb(157 196 234 / 42%);
  --om-syntax-location-bg: rgb(110 160 220 / 14%);
  --om-syntax-location-fg: #A9D0F4;
  --om-syntax-id-bd: rgb(240 160 143 / 42%);
  --om-syntax-id-bg: rgb(220 110 90 / 14%);
  --om-syntax-id-fg: #F2A99A;
}

[data-theme="light"],
[data-md-color-scheme="default"] {
  color-scheme: light;

  --om-accent: #9A3936;
  --om-accent: oklch(from var(--om-accent-base) 0.56 min(c, 0.17) h);
  --om-accent-strong: #7D302E;
  --om-accent-strong: oklch(from var(--om-accent-base) 0.47 min(c, 0.17) h);
  --om-wash: #F7E9E8;
  --om-wash: oklch(from var(--om-accent-base) 0.94 min(c, 0.045) h);

  --om-bg: #F4F7F8;
  --om-surface: #FFFFFF;
  --om-surface-2: #F8FAFA;
  --om-ink: #0E1116;
  --om-body: #4C5860;
  --om-dim: #5C6870;
  --om-faint: #9AA6AD;
  --om-line: #DEE5E7;
  --om-line-2: #E2E9EA;
  --om-success: #267D51;
  --om-success-bright: #5BC98A;

  --om-chip-bg: #FFFFFF;
  --om-chip-bd: #DCE4E6;
  --om-chip-fg: #3E4A52;
  --om-btn-ink-bg: #0E1116;
  --om-btn-ink-fg: #FFFFFF;
  --om-btn-accent-bg: #9A3936;
  --om-btn-accent-bg: oklch(from var(--om-accent-base) 0.56 min(c, 0.17) h);
  --om-btn-accent-fg: #FFFFFF;
  --om-machine-chip-bg: #E7EDEE;
  --om-machine-chip-fg: #0E1116;
  --om-dash: #B9C6C9;

  --om-term-bd: #1B232B;
  --om-term-shadow: 0 28px 56px -28px rgb(14 17 22 / 45%);
}

[data-theme="dark"],
[data-md-color-scheme="slate"] {
  color-scheme: dark;

  --om-accent: #E0837E;
  --om-accent: oklch(from var(--om-accent-base) 0.76 min(c, 0.17) h);
  --om-accent-strong: #F19D98;
  --om-accent-strong: oklch(from var(--om-accent-base) 0.84 min(c, 0.17) h);
  --om-wash: rgb(224 131 126 / 12%);
  --om-wash: oklch(from var(--om-accent-base) 0.76 min(c, 0.17) h / 0.12);

  --om-bg: #0B0E13;
  --om-surface: #10151C;
  --om-surface-2: #141B23;
  --om-ink: #E6EBEE;
  --om-body: #97A3AD;
  --om-dim: #7C8894;
  --om-faint: #5A6672;
  --om-line: #1E2630;
  --om-line-2: #1A222B;
  --om-success: #5BC98A;
  --om-success-bright: #5BC98A;

  --om-chip-bg: #121920;
  --om-chip-bd: #26313C;
  --om-chip-fg: #9AA6B2;
  --om-btn-ink-bg: #E6EBEE;
  --om-btn-ink-fg: #0B0E13;
  --om-btn-accent-bg: #DD6A64;
  --om-btn-accent-bg: oklch(from var(--om-accent-base) 0.66 min(c, 0.17) h);
  --om-btn-accent-fg: #290B0A;
  --om-btn-accent-fg: oklch(from var(--om-accent-base) 0.2 min(c, 0.05) h);
  --om-machine-chip-bg: #1C242C;
  --om-machine-chip-fg: #C9D3DB;
  --om-dash: #2E3A44;

  --om-term-bd: #242E38;
  --om-term-shadow: 0 32px 64px -28px rgb(0 0 0 / 70%);
}

/* Unforced pages follow the operating-system preference. Explicit light,
   dark, and Material default/slate selections always take precedence. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]):not([data-md-color-scheme]):not(
      :has([data-theme], [data-md-color-scheme])
    ) {
    color-scheme: dark;

    --om-accent: #E0837E;
    --om-accent: oklch(from var(--om-accent-base) 0.76 min(c, 0.17) h);
    --om-accent-strong: #F19D98;
    --om-accent-strong: oklch(from var(--om-accent-base) 0.84 min(c, 0.17) h);
    --om-wash: rgb(224 131 126 / 12%);
    --om-wash: oklch(from var(--om-accent-base) 0.76 min(c, 0.17) h / 0.12);

    --om-bg: #0B0E13;
    --om-surface: #10151C;
    --om-surface-2: #141B23;
    --om-ink: #E6EBEE;
    --om-body: #97A3AD;
    --om-dim: #7C8894;
    --om-faint: #5A6672;
    --om-line: #1E2630;
    --om-line-2: #1A222B;
    --om-success: #5BC98A;
    --om-success-bright: #5BC98A;

    --om-chip-bg: #121920;
    --om-chip-bd: #26313C;
    --om-chip-fg: #9AA6B2;
    --om-btn-ink-bg: #E6EBEE;
    --om-btn-ink-fg: #0B0E13;
    --om-btn-accent-bg: #DD6A64;
    --om-btn-accent-bg: oklch(from var(--om-accent-base) 0.66 min(c, 0.17) h);
    --om-btn-accent-fg: #290B0A;
    --om-btn-accent-fg: oklch(from var(--om-accent-base) 0.2 min(c, 0.05) h);
    --om-machine-chip-bg: #1C242C;
    --om-machine-chip-fg: #C9D3DB;
    --om-dash: #2E3A44;

    --om-term-bd: #242E38;
    --om-term-shadow: 0 32px 64px -28px rgb(0 0 0 / 70%);
  }
}

/* source: typography.css */
/* OpenMed shared typography tokens. Fonts are repository-owned and offline.
   Newsreader is an allow-listed OpenMed.life editorial/social exception only. */

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../assets/fonts/IBMPlexSans-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../assets/fonts/IBMPlexSans-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../assets/fonts/IBMPlexSans-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../assets/fonts/IBMPlexSans-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("../assets/fonts/IBMPlexMono-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("../assets/fonts/IBMPlexMono-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("../assets/fonts/IBMPlexMono-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

/* Metric-compatible local fallbacks reduce layout movement while repository
   fonts load. Values are derived from checked-in OpenType metrics and the
   named macOS/Windows fallback faces; tokens.json records the calculation. */
@font-face {
  font-family: "IBM Plex Sans Fallback";
  src: local("Arial");
  size-adjust: 99.51%;
  ascent-override: 103.01%;
  descent-override: 27.64%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "IBM Plex Mono Fallback";
  src: local("Courier New");
  size-adjust: 100%;
  ascent-override: 102.5%;
  descent-override: 27.5%;
  line-gap-override: 0%;
}

:root {
  --om-font-sans:
    "IBM Plex Sans", "IBM Plex Sans Fallback", system-ui, sans-serif;
  --om-font-mono:
    "IBM Plex Mono", "IBM Plex Mono Fallback", ui-monospace, Menlo, monospace;
  --om-font-editorial: "Newsreader", "Newsreader Fallback", Georgia, serif;

  --om-h1-size: 54px;
  --om-h1-lh: 1.07;
  --om-h1-ls: -0.028em;
  --om-h1-weight: 600;
  --om-h2-size: 34px;
  --om-h2-lh: 1.15;
  --om-h2-ls: -0.02em;
  --om-h2-weight: 600;
  --om-h3-size: 19px;
  --om-h3-lh: 1.3;
  --om-h3-weight: 600;

  --om-lede-size: 16.5px;
  --om-lede-lh: 1.6;
  --om-body-size: 14px;
  --om-body-lh: 1.6;
  --om-caption-size: 13px;
  --om-caption-lh: 1.55;

  --om-label-size: 12px;
  --om-label-ls: 0.14em;
  --om-microlabel-size: 11px;
  --om-microlabel-ls: 0.12em;
  --om-chip-size: 11.5px;
  --om-tag-size: 10.5px;
  --om-code-size: 12.5px;
  --om-code-lh: 1.8;
}

/* source: surfaces.css */
/* OpenMed shared surface, radius, spacing, and motion tokens. */

:root {
  --om-radius-card: 10px;
  --om-radius-control: 6px;
  --om-radius-tag: 4px;
  --om-radius-badge: 3px;

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

  --om-border: 1px solid var(--om-line);
  --om-rule-strong: 2px solid var(--om-ink);
  --om-focus-color: var(--om-accent-strong);
  --om-focus-width: 3px;
  --om-focus-offset: 3px;
  --om-focus-outline: var(--om-focus-width) solid var(--om-focus-color);

  /* Elevation is flat by default. Only terminal surfaces use a shadow. */
  --om-elevation-none: none;
  --om-elevation-terminal: var(--om-term-shadow);

  --om-page-max: 1240px;
  --om-gutter: 40px;
  --om-section-pad: 64px;
  --om-gap-card: 20px;
  --om-gap-col: 40px;
  --om-bp-mobile: 900px;

  --om-motion-duration-fast: 160ms;
  --om-motion-duration-standard: 250ms;
  --om-motion-duration-type: 350ms;
  --om-motion-ease-standard: ease;
  --om-transition:
    background-color var(--om-motion-duration-standard)
      var(--om-motion-ease-standard),
    border-color var(--om-motion-duration-standard)
      var(--om-motion-ease-standard),
    color var(--om-motion-duration-standard) var(--om-motion-ease-standard);
  --om-type-in:
    om-fade var(--om-motion-duration-type) var(--om-motion-ease-standard)
      forwards;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --om-transition: none;
    --om-type-in: none;
  }
}
