/* ThreeDayAI brand version 3.0.0. Logo assets must remain background-free; layout surfaces are separate. */

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/web/PlusJakartaSans-Latin-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/web/PlusJakartaSans-Latin-Italic-Variable.woff2") format("woff2");
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
}

@font-face {
  font-family: "Source Sans 3";
  src: url("../fonts/web/SourceSans3-Latin-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}

@font-face {
  font-family: "Source Sans 3";
  src: url("../fonts/web/SourceSans3-Latin-Italic-Variable.woff2") format("woff2");
  font-style: italic;
  font-weight: 200 900;
  font-display: swap;
}

@font-face {
  font-family: "DM Mono";
  src: url("../fonts/web/DMMono-Latin-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "DM Mono";
  src: url("../fonts/web/DMMono-Latin-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

:root {
  color-scheme: light;

  --td-colour-carbon: #11131a;
  --td-colour-warm-white: #f7f4ee;
  --td-colour-violet: #6c5cff;
  --td-colour-sky: #55b8ff;
  --td-colour-apricot: #ff9a70;
  --td-colour-violet-deep: #5e4ee5;
  --td-colour-violet-soft: #e7e3ff;
  --td-colour-sky-deep: #176b95;
  --td-colour-sky-soft: #ddf1ff;
  --td-colour-apricot-deep: #a84625;
  --td-colour-apricot-soft: #ffe4d9;

  --td-surface-canvas: var(--td-colour-warm-white);
  --td-surface-raised: #ffffff;
  --td-surface-sunken: #ece9e2;
  --td-surface-selected: var(--td-colour-violet-soft);
  --td-surface-inverse: var(--td-colour-carbon);

  --td-text-primary: var(--td-colour-carbon);
  --td-text-secondary: #4e5361;
  --td-text-tertiary: #646a78;
  --td-text-inverse: var(--td-colour-warm-white);
  --td-text-link: var(--td-colour-violet-deep);
  --td-text-link-hover: #5141d2;
  --td-text-link-visited: var(--td-colour-apricot-deep);
  --td-text-disabled: #8b8e97;

  --td-border-subtle: #d7d2c9;
  --td-border-control: #777a82;
  --td-border-strong: #4e5361;
  --td-focus-ring: var(--td-colour-violet);
  --td-focus-ring-on-accent: var(--td-colour-carbon);
  --td-focus-offset-colour: var(--td-surface-canvas);
  --td-focus-ring-width: 2px;
  --td-focus-offset: 2px;

  --td-action-primary: var(--td-colour-violet-deep);
  --td-action-primary-hover: #5141d2;
  --td-action-primary-active: #4434b8;
  --td-action-primary-text: var(--td-colour-warm-white);
  --td-action-inverse: var(--td-colour-carbon);
  --td-action-inverse-hover: #1c1f29;
  --td-action-inverse-active: #090b10;
  --td-action-inverse-text: var(--td-colour-warm-white);
  --td-action-promotional: var(--td-colour-apricot);
  --td-action-promotional-text: var(--td-colour-carbon);

  --td-success: #176b5b;
  --td-success-surface: #e2f3ee;
  --td-warning: #805000;
  --td-warning-surface: #fff1d6;
  --td-error: #a12c44;
  --td-error-surface: #fbe7ec;
  --td-information: var(--td-colour-sky-deep);
  --td-information-surface: var(--td-colour-sky-soft);

  --td-chart-1: #6c5cff;
  --td-chart-2: #176b95;
  --td-chart-3: #a84625;
  --td-chart-4: #087e7a;
  --td-chart-5: #9b6500;
  --td-chart-6: #5f7114;
  --td-chart-7: #a63f30;
  --td-chart-8: #596878;
  --td-chart-axis: #4e5361;
  --td-chart-grid: #d7d2c9;
  --td-chart-target: #11131a;
  --td-chart-reference: #e7e3ff;
  --td-chart-positive: #176b5b;
  --td-chart-negative: #a12c44;

  --td-font-display: "Plus Jakarta Sans", "Avenir Next", Avenir, system-ui, sans-serif;
  --td-font-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --td-font-mono: "DM Mono", "SFMono-Regular", Menlo, Monaco, Consolas, monospace;

  --td-type-display-xl-size: clamp(3rem, 7vw, 6rem);
  --td-type-display-xl-line: 1;
  --td-type-display-xl-tracking: -0.045em;
  --td-type-display-xl-weight: 500;
  --td-type-display-lg-size: clamp(2.75rem, 5.5vw, 4.5rem);
  --td-type-display-lg-line: 1.055;
  --td-type-display-lg-tracking: -0.035em;
  --td-type-display-lg-weight: 500;
  --td-type-h1-size: clamp(2.5rem, 4.5vw, 3.5rem);
  --td-type-h1-line: 1.07;
  --td-type-h1-tracking: -0.03em;
  --td-type-h1-weight: 500;
  --td-type-h2-size: clamp(2rem, 3.2vw, 2.5rem);
  --td-type-h2-line: 1.15;
  --td-type-h2-tracking: -0.025em;
  --td-type-h2-weight: 550;
  --td-type-h3-size: clamp(1.5rem, 2.2vw, 1.75rem);
  --td-type-h3-line: 1.21;
  --td-type-h3-tracking: -0.015em;
  --td-type-h3-weight: 600;
  --td-type-title-size: 1.375rem;
  --td-type-title-line: 1.27;
  --td-type-title-tracking: -0.005em;
  --td-type-title-weight: 600;
  --td-type-lead-size: clamp(1.25rem, 1.8vw, 1.375rem);
  --td-type-lead-line: 1.45;
  --td-type-lead-tracking: 0;
  --td-type-lead-weight: 400;
  --td-type-body-large-size: 1.125rem;
  --td-type-body-large-line: 1.61;
  --td-type-body-large-tracking: 0;
  --td-type-body-large-weight: 400;
  --td-type-body-size: 1rem;
  --td-type-body-line: 1.625;
  --td-type-body-tracking: 0;
  --td-type-body-weight: 400;
  --td-type-body-small-size: 0.875rem;
  --td-type-body-small-line: 1.5;
  --td-type-body-small-tracking: 0;
  --td-type-body-small-weight: 400;
  --td-type-caption-size: 0.75rem;
  --td-type-caption-line: 1.5;
  --td-type-caption-tracking: 0.01em;
  --td-type-caption-weight: 600;
  --td-type-label-size: 0.75rem;
  --td-type-label-line: 1.33;
  --td-type-label-tracking: 0.08em;
  --td-type-label-weight: 500;
  --td-type-label-transform: uppercase;

  --td-space-0: 0;
  --td-space-0-5: 0.125rem;
  --td-space-1: 0.25rem;
  --td-space-2: 0.5rem;
  --td-space-3: 0.75rem;
  --td-space-4: 1rem;
  --td-space-5: 1.25rem;
  --td-space-6: 1.5rem;
  --td-space-8: 2rem;
  --td-space-10: 2.5rem;
  --td-space-12: 3rem;
  --td-space-16: 4rem;
  --td-space-20: 5rem;
  --td-space-24: 6rem;
  --td-space-32: 8rem;

  --td-radius-none: 0;
  --td-radius-small: 0.25rem;
  --td-radius-medium: 0.5rem;
  --td-radius-large: 0.75rem;
  --td-radius-extra-large: 1.25rem;
  --td-radius-full: 999px;

  --td-shadow-low: 0 1px 2px rgb(17 19 26 / 8%);
  --td-shadow-overlay: 0 8px 24px rgb(17 19 26 / 12%), 0 2px 6px rgb(17 19 26 / 6%);
  --td-shadow-modal: 0 24px 64px rgb(17 19 26 / 18%), 0 4px 12px rgb(17 19 26 / 8%);

  --td-duration-instant: 80ms;
  --td-duration-fast: 120ms;
  --td-duration-standard: 200ms;
  --td-duration-deliberate: 320ms;
  --td-duration-reveal: 480ms;
  --td-duration-brand: 720ms;
  --td-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --td-ease-enter: cubic-bezier(0.16, 1, 0.3, 1);
  --td-ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --td-ease-unifold: cubic-bezier(0.65, 0, 0.35, 1);
  --td-motion-translate-small: 0.25rem;
  --td-motion-translate-medium: 0.5rem;
  --td-motion-translate-large: 1rem;
  --td-motion-path-draw-enabled: 1;

  --td-layout-max-width: 77.5rem;
  --td-breakpoint-tablet: 48rem;
  --td-breakpoint-desktop: 75rem;
  --td-layout-mobile-columns: 4;
  --td-layout-tablet-columns: 8;
  --td-layout-desktop-columns: 12;
  --td-layout-grid-columns: 4;
  --td-layout-grid-gutter: 1rem;
  --td-layout-outer-margin: 1.5rem;
  --td-layout-section-gap: 4rem;

  --td-icon-grid: 24px;
  --td-icon-stroke: 1.75px;
  --td-icon-optical-small: 16px;
  --td-icon-optical-medium: 20px;
  --td-icon-optical-standard: 24px;
  --td-icon-linecap: square;
  --td-icon-linejoin: round;
  --td-icon-join-radius-max: 2px;
  --td-icon-minimum-target: 44px;

  /* Temporary v1.0.0 aliases. Do not use in new work. */
  --td-colour-aubergine: var(--td-colour-carbon);
  --td-colour-pearl: var(--td-colour-warm-white);
  --td-colour-iris: var(--td-colour-violet);
  --td-colour-fuchsia: var(--td-colour-apricot);
  --td-colour-lilac: var(--td-colour-violet-soft);
  --td-colour-graphite: var(--td-text-secondary);
  --td-colour-fuchsia-soft: var(--td-colour-apricot-soft);
  --td-ease-passage: var(--td-ease-unifold);
}

@media (min-width: 48rem) {
  :root {
    --td-layout-grid-columns: 8;
    --td-layout-grid-gutter: 1.25rem;
    --td-layout-outer-margin: 2.5rem;
    --td-layout-section-gap: 6rem;
  }
}

@media (min-width: 75rem) {
  :root {
    --td-layout-grid-columns: 12;
    --td-layout-grid-gutter: 1.5rem;
    --td-layout-outer-margin: 4rem;
    --td-layout-section-gap: 8rem;
  }
}

[data-threeday-theme="dark"] {
  color-scheme: dark;
  --td-surface-canvas: #11131a;
  --td-surface-raised: #1c1f29;
  --td-surface-sunken: #090b10;
  --td-surface-selected: #2b2842;
  --td-surface-inverse: #f7f4ee;
  --td-text-primary: #f7f4ee;
  --td-text-secondary: #b9b3ff;
  --td-text-tertiary: #a6a7b0;
  --td-text-inverse: #11131a;
  --td-text-link: #55b8ff;
  --td-text-link-hover: #f7f4ee;
  --td-text-link-visited: #ff9a70;
  --td-text-disabled: #777a82;
  --td-border-subtle: #353947;
  --td-border-control: #55b8ff;
  --td-border-strong: #f7f4ee;
  --td-focus-ring: #6c5cff;
  --td-focus-offset-colour: #11131a;
  --td-action-primary: #55b8ff;
  --td-action-primary-hover: #83ceff;
  --td-action-primary-active: #b6e3ff;
  --td-action-primary-text: #11131a;
  --td-success: #69c7ae;
  --td-success-surface: #164a40;
  --td-warning: #e2b768;
  --td-warning-surface: #4f3500;
  --td-error: #f08ba0;
  --td-error-surface: #5a1d2a;
  --td-information: #55b8ff;
  --td-information-surface: #173a4d;
  --td-chart-1: #6c5cff;
  --td-chart-2: #55b8ff;
  --td-chart-3: #ff9a70;
  --td-chart-4: #62c7c1;
  --td-chart-5: #d8a94a;
  --td-chart-6: #a9ba5a;
  --td-chart-7: #e47b6b;
  --td-chart-8: #9fafc0;
  --td-chart-axis: #b9b3ff;
  --td-chart-grid: #353947;
  --td-chart-target: #f7f4ee;
  --td-chart-reference: #2b2842;
  --td-chart-positive: #69c7ae;
  --td-chart-negative: #f08ba0;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --td-duration-instant: 0ms;
    --td-duration-fast: 80ms;
    --td-duration-standard: 80ms;
    --td-duration-deliberate: 100ms;
    --td-duration-reveal: 100ms;
    --td-duration-brand: 100ms;
    --td-motion-translate-small: 0;
    --td-motion-translate-medium: 0;
    --td-motion-translate-large: 0;
    --td-motion-path-draw-enabled: 0;
  }
}
