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

:root {

  /* Palette */
  --oracle-color-white: #FCFCFD;
  --oracle-color-page: #F6F7F8;
  --oracle-color-surface: #EEEFF2;
  --oracle-color-surface-2: #E4E5EA;
  --oracle-color-cloud: #D7D9DF;
  --oracle-color-ink: #181A1F;
  --oracle-color-ink-soft: #3A3D47;
  --oracle-color-ink-muted: #6B7080;
  --oracle-color-sky: #1C6E9E;
  --oracle-color-sky-pale: #57A6CF;
  --oracle-color-sky-ghost: #E7F1F8;
  --oracle-color-silver: #5F5C5B;
  --oracle-color-silver-pale: #9C9A99;
  --oracle-color-gold: #B23A3E;
  --oracle-color-gold-ghost: #F4E4E4;
  --oracle-color-error: #B0282C;

  /* Typefaces */
  --oracle-font-display: "Source Serif 4", serif;
  --oracle-font-body: "Source Serif 4", serif;
  --oracle-font-reading: "Source Serif 4", serif;
  --oracle-font-mono: "JetBrains Mono", monospace;

  /* Type sizes (compositional derivation per surface — P8) */
  --oracle-size-wordmark: clamp(3.5893rem, 0.0751vw + 3.4376rem, 4.7680rem);
  --oracle-size-display: clamp(2.8702rem, 0.0602vw + 2.7483rem, 3.8150rem);
  --oracle-size-h1: clamp(2.2956rem, 0.0482vw + 2.1979rem, 3.0520rem);
  --oracle-size-h2: clamp(1.8377rem, 0.0384vw + 1.7601rem, 2.4410rem);
  --oracle-size-h3: 1.953rem;
  --oracle-size-lead: 1.563rem;
  --oracle-size-body: 1.25rem;
  --oracle-size-doc-body: 1.25rem;
  --oracle-size-doc-lead: 1.563rem;
  --oracle-size-data: 1.0rem;
  --oracle-size-label: 0.8rem;
  --oracle-size-caption: 0.64rem;

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

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

  /* Line heights */
  --oracle-lh-display: 1.05;
  --oracle-lh-h1: 1.1;
  --oracle-lh-h2: 1.15;
  --oracle-lh-h3: 1.25;
  --oracle-lh-lead: 1.55;
  --oracle-lh-body: 1.7;
  --oracle-lh-doc-body: 1.7;
  --oracle-lh-doc-lead: 1.5;
  --oracle-lh-data: 1.5;
  --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: 3px;
  --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;
  }
}

/* Per-page register overrides */

[data-page="privacy_policy"] {
  --oracle-page-hero-background: var(--oracle-color-page);
  --oracle-page-cta-background:  var(--oracle-color-surface);
}
