/* Foresite Design System (Remix) — generated from tokens.json */

@font-face {
  font-family: "FK Grotesk Neue";
  src: url("fonts/FKGroteskNeue-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "FK Grotesk Neue";
  src: url("fonts/FKGroteskNeue-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "FK Grotesk Neue";
  src: url("fonts/FKGroteskNeue-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root, [data-theme="light"] {
  --foresite-blue: #3195f7;
  --amplifier-blue: #4361f7;
  --blue-violet: #4739e6;
  --deep-sky-blue: #3abdff;
  --pacific-blue: #22acc4;
  --foresite-navy: #00042d;
  --foresite-navy-2: #050b3d;
  --foresite-navy-3: #0b1554;
  --neutral-50: #f8f8f8;
  --neutral-100: #f1f0ec;
  --neutral-200: #e9e6de;
  --neutral-300: #d1d1d1;
  --neutral-400: #c7c6c4;
  --neutral-500: #767372;
  --neutral-600: #6b665f;
  --neutral-700: #383534;
  --neutral-800: #21201e;
  --satin-linen: var(--neutral-200);
  --silver: var(--neutral-400);
  --dark-tan: #918961;
  --comb-yellow: #c4a922;
  --white: #ffffff;
  --black: #000000;
  --bg: var(--white);
  --bg-soft: var(--satin-linen);
  --bg-muted: #f4f2ec;
  --surface: var(--white);
  --surface-elevated: var(--white);
  --fg: var(--foresite-navy);
  --fg-2: #3b4060;
  --fg-3: #6a6f87;
  --fg-muted: var(--silver);
  --fg-on-brand: var(--white);
  --border: #e5e2d9;
  --border-strong: #c9c5b8;
  --border-focus: var(--foresite-blue);
  --accent: var(--foresite-blue);
  --accent-hover: #1e7fe0;
  --accent-press: #1668c2;
  --accent-soft: #e5f0fe;
  --btn-primary-bg: #3e18f4;
  --btn-primary-fg: #ffffff;
  --btn-secondary-bg: #00042d;
  --btn-secondary-fg: #ffffff;
  --btn-tertiary-bg: #ff4e12;
  --btn-tertiary-fg: #ffffff;
  --btn-primary-bg-dark: #ff4e12;
  --btn-primary-fg-dark: #ffffff;
  --btn-secondary-bg-dark: #3e18f4;
  --btn-secondary-fg-dark: #ffffff;
  --btn-tertiary-bg-dark: #f8f8f8;
  --btn-tertiary-fg-dark: #000000;
  --link: var(--amplifier-blue);
  --link-hover: var(--blue-violet);
  --g-blue-50: #e8f0fe;
  --g-blue-100: #d2e3fc;
  --g-blue-200: #aecbfa;
  --g-blue-300: #8ab4f8;
  --g-blue-400: #669df6;
  --g-blue-500: #4285f4;
  --g-blue-600: #1a73e8;
  --g-blue-700: #1967d2;
  --g-blue-800: #185abc;
  --g-blue-900: #004eb2;
  --g-green-50: #e6f4ea;
  --g-green-100: #ceead6;
  --g-green-200: #a8dab5;
  --g-green-300: #81c995;
  --g-green-400: #5bb974;
  --g-green-500: #34a853;
  --g-green-600: #1e8e3e;
  --g-green-700: #188038;
  --g-green-800: #137333;
  --g-green-900: #0d652d;
  --g-yellow-50: #fef7e0;
  --g-yellow-100: #feefc3;
  --g-yellow-200: #fde293;
  --g-yellow-300: #fdd663;
  --g-yellow-400: #fcc934;
  --g-yellow-500: #fbbc04;
  --g-yellow-600: #f9ab00;
  --g-yellow-700: #f29900;
  --g-yellow-800: #ea8600;
  --g-yellow-900: #e37400;
  --g-red-50: #fce8e6;
  --g-red-100: #fad2cf;
  --g-red-200: #f6aea9;
  --g-red-300: #f28b82;
  --g-red-400: #ee675c;
  --g-red-500: #ea4335;
  --g-red-600: #d93025;
  --g-red-700: #c5221f;
  --g-red-800: #b31412;
  --g-red-900: #a50e0e;
  --g-grey-50: #f8f9fa;
  --g-grey-100: #f1f3f4;
  --g-grey-200: #e8eaed;
  --g-grey-300: #dadce0;
  --g-grey-400: #bdc1c6;
  --g-grey-500: #9aa0a6;
  --g-grey-600: #80868b;
  --g-grey-700: #5f6368;
  --g-grey-800: #3c4043;
  --g-grey-900: #202124;
  --success: var(--g-green-500);
  --success-soft: var(--g-green-100);
  --warning: var(--g-yellow-500);
  --warning-soft: var(--g-yellow-100);
  --danger: var(--g-red-500);
  --danger-soft: var(--g-red-100);
  --info: var(--g-blue-500);
  --info-soft: var(--g-blue-100);
  --shadow-xs: 0 1px 2px rgba(0,4,45,0.06);
  --shadow-sm: 0 2px 6px rgba(0,4,45,0.08);
  --shadow-md: 0 6px 18px rgba(0,4,45,0.10);
  --shadow-lg: 0 16px 40px rgba(0,4,45,0.14);
  --shadow-xl: 0 28px 80px rgba(0,4,45,0.20);
  --glow-blue: 0 0 0 1px rgba(49,149,247,0.45), 0 0 24px rgba(49,149,247,0.35);
  --glow-violet: 0 0 0 1px rgba(71,57,230,0.45), 0 0 24px rgba(71,57,230,0.35);
  --glow-success: 0 0 0 1px rgba(43,182,115,0.40), 0 0 20px rgba(43,182,115,0.30);
}

[data-theme="dark"] {
  --satin-linen: var(--neutral-200);
  --silver: var(--neutral-400);
  --bg: #00042d;
  --bg-soft: #050b3d;
  --bg-muted: #0b1554;
  --surface: #060a35;
  --surface-elevated: #0c1252;
  --fg: #ffffff;
  --fg-2: #c7ceec;
  --fg-3: #d9dffd;
  --fg-muted: #5f6890;
  --fg-on-brand: #ffffff;
  --border: rgba(255,255,255,0.10);
  --border-strong: rgba(255,255,255,0.20);
  --border-focus: var(--foresite-blue);
  --accent: #3abdff;
  --accent-hover: #5dcbff;
  --accent-press: #1fa8f0;
  --accent-soft: rgba(58,189,255,0.14);
  --link: #3abdff;
  --link-hover: #5dcbff;
  --success: var(--g-green-500);
  --success-soft: rgba(43,182,115,0.16);
  --warning: var(--g-yellow-500);
  --warning-soft: rgba(196,169,34,0.16);
  --danger: var(--g-red-500);
  --danger-soft: rgba(229,72,72,0.16);
  --info: var(--g-blue-500);
  --info-soft: rgba(58,189,255,0.16);
}

:root {
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-pill: 999px;
  --gradient-amplifier: linear-gradient(90deg, #4A38EE 0%, #3A62FF 7.15%, #00BFFF 100%);
  --gradient-amplifier-soft: linear-gradient(90deg, rgba(74,56,238,0.18), rgba(0,191,255,0.18));
  --gradient-navy-fade: linear-gradient(180deg, #00042D 0%, #050B3D 60%, #0B1554 100%);
  --fs-display: 80px;
  --fs-h1: 64px;
  --fs-h2: 48px;
  --fs-h3: 40px;
  --fs-h4: 28px;
  --fs-h5: 22px;
  --fs-body-lg: 20px;
  --fs-body: 16px;
  --fs-body-sm: 14px;
  --fs-caption: 12px;
  --fs-eyebrow: 14px;
  --tracking-display: -0.01em;
  --tracking-tight: -0.005em;
  --tracking-normal: 0;
  --tracking-eyebrow: 0.08em;
  --tracking-cta: 0.02em;
  --lh-display: 1.0;
  --lh-tight: 1.1;
  --lh-snug: 1.2;
  --lh-body: 1.4;
  --lh-relaxed: 1.55;
  --max-content: 1280px;
  --max-prose: 720px;
  --font-sans: "FK Grotesk Neue", "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", "FK Grotesk Semi Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --font-system: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
}

.t-display {
  font-family: var(--font-sans);
  font-size: 80px;
  line-height: 1.0;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.t-h1 {
  font-family: var(--font-sans);
  font-size: 64px;
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.t-h2 {
  font-family: var(--font-sans);
  font-size: 48px;
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: -0.005em;
}

.t-h3 {
  font-family: var(--font-sans);
  font-size: 40px;
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: -0.005em;
}

.t-h4 {
  font-family: var(--font-sans);
  font-size: 28px;
  line-height: 1.2;
  font-weight: 500;
}

.t-h5 {
  font-family: var(--font-sans);
  font-size: 22px;
  line-height: 1.2;
  font-weight: 500;
}

.t-body-lg {
  font-family: var(--font-sans);
  font-size: 20px;
  line-height: 1.4;
  font-weight: 400;
}

.t-body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.4;
  font-weight: 400;
}

.t-body-sm {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
}

.t-caption {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 400;
}

.t-eyebrow {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.t-cta {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.t-mono {
  font-family: var(--font-mono);
  font-size: 0.92em;
  font-weight: 400;
}

:root{--status-error-dark:#f97d7d;--action-gradient-start:#3195f7;--action-gradient-end:#4739e6;--surface-white:white;--nav-gradient-start:rgba(49,149,247,.25);--nav-gradient-end:rgba(71,57,230,.3);--calendar-gradient-start:#1e5388;--calendar-gradient-end:#44318c;--calendar-border:#4778a9;--status-error-light:#b3261e;}
