/* Oracle compiled output — project: sanctus-ai */
/* Source: oracle/spec/projects/sanctus-ai/spec.toml  */
/* Do not edit by hand. Re-run compile.py to regenerate. */

:root {

  /* Palette */
  --oracle-color-white: #FAFBFC;
  --oracle-color-page: #F6F7F9;
  --oracle-color-surface: #EFF1F5;
  --oracle-color-surface-2: #E5E8EF;
  --oracle-color-cloud: #DDE3EC;
  --oracle-color-ink: #181A1F;
  --oracle-color-ink-soft: #3A3D47;
  --oracle-color-ink-muted: #6B7080;
  --oracle-color-sky: #6A9FB5;
  --oracle-color-sky-pale: #A8C4D4;
  --oracle-color-sky-ghost: #E8F0F5;
  --oracle-color-silver: #8FA0AF;
  --oracle-color-silver-pale: #C4CDD6;
  --oracle-color-gold: #B89A52;
  --oracle-color-gold-ghost: #F0E8D2;
  --oracle-color-error: #B04040;

  /* Typefaces */
  --oracle-font-display: "Cinzel", serif;
  --oracle-font-body: "Cormorant Garamond", serif;
  --oracle-font-mono: "JetBrains Mono", monospace;

  /* Type sizes (fixed rem hierarchy, root=16px anchor) */
  --oracle-size-wordmark: 4.768rem;
  --oracle-size-display: 3.815rem;
  --oracle-size-h1: 3.052rem;
  --oracle-size-h2: 2.441rem;
  --oracle-size-h3: 1.953rem;
  --oracle-size-lead: 1.563rem;
  --oracle-size-body: 1.25rem;
  --oracle-size-label: 0.8rem;
  --oracle-size-caption: 0.64rem;

  /* Type weights */
  --oracle-weight-display: 400;
  --oracle-weight-h1: 400;
  --oracle-weight-h2: 400;
  --oracle-weight-body: 400;
  --oracle-weight-body-light: 300;
  --oracle-weight-label: 500;
  --oracle-weight-caption: 400;

  /* Letter spacing */
  --oracle-tracking-wordmark: 0.1em;
  --oracle-tracking-display: 0.06em;
  --oracle-tracking-h1: 0.04em;
  --oracle-tracking-h2: 0.02em;
  --oracle-tracking-label: 0.15em;
  --oracle-tracking-caption: 0.12em;
  --oracle-tracking-body: 0.0em;

  /* Line heights */
  --oracle-lh-display: 1.0;
  --oracle-lh-h1: 1.05;
  --oracle-lh-h2: 1.1;
  --oracle-lh-h3: 1.2;
  --oracle-lh-lead: 1.55;
  --oracle-lh-body: 1.75;
  --oracle-lh-label: 1.4;
  --oracle-lh-caption: 1.5;

  /* Spacing */
  --oracle-space-component-padding: 24px;
  --oracle-space-section-gap: 96px;
  --oracle-space-half: 4px;
  --oracle-space-s1: 8px;
  --oracle-space-s2: 16px;
  --oracle-space-s3: 24px;
  --oracle-space-s4: 32px;
  --oracle-space-s5: 48px;
  --oracle-space-s6: 64px;
  --oracle-space-s7: 96px;
  --oracle-space-s8: 128px;
  --oracle-space-s9: 192px;

  /* Layout */
  --oracle-layout-content-max-width: 720px;
  --oracle-layout-page-max-width: 1600px;

  /* Grid */
  --oracle-grid-mobile-columns: 4;
  --oracle-grid-mobile-gutter: 16px;
  --oracle-grid-mobile-margin: 16px;
  --oracle-grid-tablet-columns: 8;
  --oracle-grid-tablet-gutter: 24px;
  --oracle-grid-tablet-margin: 24px;
  --oracle-grid-desktop-columns: 12;
  --oracle-grid-desktop-gutter: 32px;
  --oracle-grid-desktop-margin: 48px;
  --oracle-grid-wide-columns: 12;
  --oracle-grid-wide-gutter: 32px;
  --oracle-grid-wide-margin: 64px;

  /* Border */
  --oracle-border-radius: 2px;
  --oracle-border-width: 1px;
  --oracle-border-color: var(--oracle-color-cloud);

  /* Elevation */
  --oracle-elevation-0: none;
  --oracle-elevation-1: 0 1px 3px rgba(24,26,31,0.06), 0 1px 2px rgba(24,26,31,0.04);
  --oracle-elevation-2: 0 4px 12px rgba(24,26,31,0.08), 0 2px 4px rgba(24,26,31,0.04);

  /* Motion */
  --oracle-motion-duration-fast: 150ms;
  --oracle-motion-duration-standard: 250ms;
  --oracle-motion-duration-slow: 400ms;
  --oracle-motion-easing: cubic-bezier(0.4, 0.0, 0.2, 1.0);

}

/* Surface-derived breakpoints (physics-computed, not chosen) */

/* phone-small (default — narrowest target) */
:root {
  --oracle-space-component-padding: 16px;
  --oracle-space-section-gap: 48px;
}

@media (min-width: 416px) {
  /* phone-mid */
  :root {
    --oracle-space-component-padding: 16px;
    --oracle-space-section-gap: 48px;
  }
}

@media (min-width: 447px) {
  /* phone-large */
  :root {
    --oracle-space-component-padding: 16px;
    --oracle-space-section-gap: 48px;
  }
}

@media (min-width: 648px) {
  /* tablet-small */
  :root {
    --oracle-space-component-padding: 16px;
    --oracle-space-section-gap: 48px;
  }
}

@media (min-width: 972px) {
  /* tablet-large */
  :root {
    --oracle-space-component-padding: 16px;
    --oracle-space-section-gap: 48px;
  }
}

@media (min-width: 1246px) {
  /* laptop-retina */
  :root {
    --oracle-space-component-padding: 24px;
    --oracle-space-section-gap: 96px;
  }
}

@media (min-width: 1649px) {
  /* desktop-1080 */
  :root {
    --oracle-space-component-padding: 32px;
    --oracle-space-section-gap: 128px;
  }
}

@media (min-width: 1955px) {
  /* desktop-4k */
  :root {
    --oracle-space-component-padding: 32px;
    --oracle-space-section-gap: 128px;
  }
}
