@font-face {
  font-family: "Google Sans";
  src: url("../gt_ui/assets/GoogleSans-VariableFont_GRAD,opsz,wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  --gt-font-sans: "Google Sans", "Manrope", Arial, sans-serif;
  --gt-font-mono: "Roboto Mono", "SFMono-Regular", Consolas, monospace;
  --gt-color-indigo-50: #f0f1fa;
  --gt-color-indigo-100: #e2e4f5;
  --gt-color-indigo-200: #c6cbea;
  --gt-color-indigo-300: #a2aadc;
  --gt-color-indigo-400: #747fbe;
  --gt-color-indigo-500: #4e57a6;
  --gt-color-indigo-600: #363f8c;
  --gt-color-indigo-700: #2d3475;
  --gt-color-indigo-800: #242a5e;
  --gt-color-indigo-900: #191d42;
  --gt-color-green-50: #ecfaf3;
  --gt-color-green-100: #d5f6e5;
  --gt-color-green-200: #96f2c5;
  --gt-color-green-300: #73d6a6;
  --gt-color-green-400: #5aba8d;
  --gt-color-green-500: #48a47c;
  --gt-color-green-600: #3c8d69;
  --gt-color-green-700: #307154;
  --gt-color-neutral-0: #ffffff;
  --gt-color-neutral-25: #fcfcfb;
  --gt-color-neutral-50: #f9f9f7;
  --gt-color-neutral-100: #f3f3f0;
  --gt-color-neutral-200: #e8e8e3;
  --gt-color-neutral-300: #d6d6d0;
  --gt-color-neutral-400: #ababa5;
  --gt-color-neutral-500: #767682;
  --gt-color-neutral-600: #5d5d68;
  --gt-color-neutral-700: #464651;
  --gt-color-neutral-800: #303038;
  --gt-color-neutral-900: #1a1c1c;
  --gt-color-neutral-950: #101112;
  --gt-color-red-50: #fff0f0;
  --gt-color-red-500: #d63a3a;
  --gt-color-red-700: #ba1a1a;
  --gt-color-amber-50: #fff8e7;
  --gt-color-amber-500: #b7791f;
  --gt-color-blue-50: #eef6ff;
  --gt-color-blue-500: #3977d4;
  --gt-color-brand-sage: #5e6b64;
  --gt-color-brand-capsule: #e9efec;
  --gt-color-brand-capsule-border: #d8e2dd;
  --gt-color-brand-capsule-label: #526159;
  --gt-space-0: 0;
  --gt-space-1: 4px;
  --gt-space-2: 8px;
  --gt-space-3: 12px;
  --gt-space-4: 16px;
  --gt-space-5: 20px;
  --gt-space-6: 24px;
  --gt-space-8: 32px;
  --gt-space-10: 40px;
  --gt-space-12: 48px;
  --gt-space-16: 64px;
  --gt-space-24: 96px;
  --gt-space-32: 128px;
  --gt-space-40: 160px;
  --gt-radius-xs: 4px;
  --gt-radius-sm: 8px;
  --gt-radius-md: 12px;
  --gt-radius-lg: 16px;
  --gt-radius-xl: 24px;
  --gt-radius-2xl: 32px;
  --gt-radius-pill: 9999px;
  --gt-size-control-sm: 32px;
  --gt-size-control-md: 40px;
  --gt-size-control-lg: 48px;
  --gt-size-content-reading: 720px;
  --gt-size-content-standard: 1200px;
  --gt-size-content-wide: 1440px;
  --gt-motion-fast: 120ms;
  --gt-motion-standard: 180ms;
  --gt-motion-slow: 260ms;
  --gt-ease-standard: cubic-bezier(.2, 0, 0, 1);
  --gt-shadow-cloud: 0 20px 40px rgb(26 28 28 / 4%);
  --gt-shadow-float: 0 12px 28px rgb(26 28 28 / 9%);
  --gt-shadow-action: 0 8px 15px rgb(72 164 124 / 30%);
}

[data-gt-theme="light"], :root {
  --gt-color-bg-canvas: var(--gt-color-neutral-50);
  --gt-color-bg-surface: var(--gt-color-neutral-0);
  --gt-color-bg-subtle: var(--gt-color-neutral-100);
  --gt-color-bg-raised: var(--gt-color-neutral-0);
  --gt-color-text-primary: var(--gt-color-neutral-900);
  --gt-color-text-secondary: var(--gt-color-neutral-700);
  --gt-color-text-tertiary: var(--gt-color-neutral-600);
  --gt-color-text-brand: var(--gt-color-indigo-600);
  --gt-color-border-default: var(--gt-color-neutral-300);
  --gt-color-border-subtle: rgb(118 118 130 / 18%);
  --gt-color-border-strong: var(--gt-color-neutral-500);
  --gt-color-action-primary-bg: var(--gt-color-green-700);
  --gt-color-action-primary-bg-hover: #255741;
  --gt-color-action-primary-label: var(--gt-color-neutral-0);
  --gt-color-action-secondary: var(--gt-color-indigo-600);
  --gt-color-focus: var(--gt-color-indigo-400);
  --gt-color-status-success-bg: var(--gt-color-green-50);
  --gt-color-status-success-text: var(--gt-color-green-700);
  --gt-color-status-warning-bg: var(--gt-color-amber-50);
  --gt-color-status-warning-text: #80520f;
  --gt-color-status-danger-bg: var(--gt-color-red-50);
  --gt-color-status-danger-text: var(--gt-color-red-700);
  --gt-color-status-info-bg: var(--gt-color-blue-50);
  --gt-color-status-info-text: #24549b;
}

[data-gt-surface="website"] {
  --gt-page-max: var(--gt-size-content-standard);
  --gt-page-gutter: clamp(20px, 4vw, 64px);
  --gt-section-space: clamp(72px, 10vw, 160px);
  --gt-radius-card: var(--gt-radius-xl);
  --gt-radius-control: var(--gt-radius-pill);
  --gt-type-display-size: clamp(44px, 6.25vw, 80px);
  --gt-type-display-leading: 1;
  --gt-type-heading-size: clamp(28px, 3vw, 48px);
  --gt-type-heading-leading: 1.12;
  --gt-type-body-size: 16px;
  --gt-type-body-leading: 1.55;
  --gt-type-heading-tracking: -.04em;
  --gt-color-heading-primary: var(--gt-color-indigo-600);
  --gt-color-heading-secondary: var(--gt-color-brand-sage);
  --gt-color-capsule-bg: var(--gt-color-brand-capsule);
  --gt-color-capsule-border: var(--gt-color-brand-capsule-border);
  --gt-color-capsule-label: var(--gt-color-brand-capsule-label);
  --gt-color-subhead: var(--gt-color-brand-sage);
  --gt-color-action-brand-cta-bg: var(--gt-color-green-500);
  --gt-color-action-brand-cta-bg-hover: var(--gt-color-green-600);
  --gt-color-action-brand-cta-label: var(--gt-color-neutral-0);
  --gt-radius-capsule: 32px;
  --gt-bottom-blur-height: 80px;
  --gt-bottom-blur-strength: 10px;
  --gt-footer-radius-top: 20px;
  --gt-footer-min-height: 579px;
  --gt-footer-padding-block: var(--gt-space-24);
  --gt-footer-padding-inline: var(--gt-space-12);
  --gt-footer-inset: 0px;
}

.gt-capsule {
  display: inline-flex;
  align-items: center;
  min-height: 33px;
  padding: var(--gt-space-2) var(--gt-space-4);
  color: var(--gt-color-capsule-label);
  background: var(--gt-color-capsule-bg);
  border: 1px solid var(--gt-color-capsule-border);
  border-radius: var(--gt-radius-capsule);
  font-family: var(--gt-font-sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
}

.gt-mixed-heading {
  color: var(--gt-color-heading-secondary);
  font-family: var(--gt-font-sans);
  font-weight: 400;
  letter-spacing: var(--gt-type-heading-tracking);
}

.gt-mixed-heading [data-tone="brand"] { color: var(--gt-color-heading-primary); }
.gt-mixed-heading [data-tone="sage"] { color: var(--gt-color-heading-secondary); }

.gt-brand-cta {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: var(--gt-space-3);
  padding: var(--gt-space-4) var(--gt-space-6);
  color: var(--gt-color-action-brand-cta-label);
  background: var(--gt-color-action-brand-cta-bg);
  border: 0;
  border-radius: var(--gt-radius-pill);
  box-shadow: var(--gt-shadow-action);
  font-family: var(--gt-font-sans);
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
}

.gt-brand-cta:hover { background: var(--gt-color-action-brand-cta-bg-hover); }

.gt-bottom-blur {
  position: fixed;
  z-index: 5;
  right: 0;
  bottom: 0;
  left: 0;
  height: var(--gt-bottom-blur-height);
  pointer-events: none;
  background: linear-gradient(to bottom, rgb(249 249 247 / 0%), rgb(249 249 247 / 38%));
  -webkit-backdrop-filter: blur(var(--gt-bottom-blur-strength));
  backdrop-filter: blur(var(--gt-bottom-blur-strength));
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 45%);
  mask-image: linear-gradient(to bottom, transparent, #000 45%);
}

[data-gt-surface="research"] {
  --gt-page-max: var(--gt-size-content-wide);
  --gt-page-gutter: clamp(20px, 3vw, 48px);
  --gt-section-space: clamp(56px, 7vw, 96px);
  --gt-radius-card: var(--gt-radius-md);
  --gt-radius-control: var(--gt-radius-pill);
  --gt-type-display-size: clamp(40px, 4vw, 64px);
  --gt-type-display-leading: 1.08;
  --gt-type-heading-size: clamp(26px, 2.5vw, 40px);
  --gt-type-heading-leading: 1.16;
  --gt-type-body-size: 16px;
  --gt-type-body-leading: 1.5;
  --gt-chart-1: #287f78;
  --gt-chart-2: #3977d4;
  --gt-chart-3: #7957d5;
  --gt-chart-4: #d97845;
  --gt-chart-5: #2f9b5d;
  --gt-chart-6: #777985;
  --gt-chart-grid: rgb(118 118 130 / 16%);
}

[data-gt-surface="app"] {
  --gt-page-max: none;
  --gt-page-gutter: clamp(16px, 2vw, 32px);
  --gt-section-space: clamp(32px, 4vw, 64px);
  --gt-radius-card: var(--gt-radius-md);
  --gt-radius-control: var(--gt-radius-sm);
  --gt-type-display-size: 32px;
  --gt-type-display-leading: 1.18;
  --gt-type-heading-size: 24px;
  --gt-type-heading-leading: 1.25;
  --gt-type-body-size: 14px;
  --gt-type-body-leading: 1.45;
  --gt-row-height: 44px;
  --gt-sidebar-width: 248px;
  --gt-context-rail-width: 232px;
}

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