/* Substrate tokens — plain CSS export (no build step). Generated by substrate-engine; do not edit. */
@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap');
:root {
  --font-sans: 'Benton Sans', BentonSans, 'Libre Franklin', system-ui, sans-serif;
  --font-display: 'Benton Sans', BentonSans, 'Libre Franklin', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;


  --color-neutral-0: #FFFFFF;
  --color-neutral-50: #F9F9F9;
  --color-neutral-100: #F2F2F2;
  --color-neutral-200: #E3E3E3;
  --color-neutral-300: #CECECE;
  --color-neutral-400: #ABABAB;
  --color-neutral-500: #8A8A8A;
  --color-neutral-600: #6D6D6D;
  --color-neutral-700: #515151;
  --color-neutral-800: #373737;
  --color-neutral-900: #1F1F1F;
  --color-neutral-950: #0A0A0A;

  --color-signal-50: #F6FAFF;
  --color-signal-100: #EBF2FE;
  --color-signal-200: #D4E5FD;
  --color-signal-300: #B2D0FB;
  --color-signal-400: #78ADF9;
  --color-signal-500: #3687F7;
  --color-signal-600: #2169CC;
  --color-signal-700: #144E9C;
  --color-signal-800: #09356F;
  --color-signal-900: #031E44;
  --color-signal-950: #01091E;

  --color-ember-50: #FFF7F6;
  --color-ember-100: #FFEDEA;
  --color-ember-200: #FFD9D3;
  --color-ember-300: #FFBAB0;
  --color-ember-400: #FB8374;
  --color-ember-500: #E45144;
  --color-ember-600: #BA392F;
  --color-ember-700: #8F2720;
  --color-ember-800: #641813;
  --color-ember-900: #3D0A07;
  --color-ember-950: #1D0000;

  --color-moss-50: #F0FDF4;
  --color-moss-100: #DEFAE7;
  --color-moss-200: #BDF2CF;
  --color-moss-300: #8FE4AF;
  --color-moss-400: #48C782;
  --color-moss-500: #35A167;
  --color-moss-600: #288051;
  --color-moss-700: #1C603B;
  --color-moss-800: #114227;
  --color-moss-900: #062615;
  --color-moss-950: #010E05;

  --color-amber-50: #FFF8F2;
  --color-amber-100: #FFEFDF;
  --color-amber-200: #FEDDBA;
  --color-amber-300: #FDC07D;
  --color-amber-400: #E89729;
  --color-amber-500: #BD7814;
  --color-amber-600: #975F0E;
  --color-amber-700: #724608;
  --color-amber-800: #4F2F04;
  --color-amber-900: #2F1A01;
  --color-amber-950: #120700;

  --text-display: 60px;
  --text-display--line-height: 1;
  --text-display--letter-spacing: -0.015em;
  --text-display--font-weight: 700;
  --text-h1: 48px;
  --text-h1--line-height: 1.15;
  --text-h1--letter-spacing: -0.01em;
  --text-h1--font-weight: 700;
  --text-h2: 36px;
  --text-h2--line-height: 1.11;
  --text-h2--letter-spacing: -0.02em;
  --text-h2--font-weight: 500;
  --text-h3: 30px;
  --text-h3--line-height: 1.25;
  --text-h3--letter-spacing: -0.015em;
  --text-h3--font-weight: 700;
  --text-lead: 20px;
  --text-lead--line-height: 1.625;
  --text-lead--letter-spacing: 0em;
  --text-lead--font-weight: 400;
  --text-body: 16px;
  --text-body--line-height: 1.5;
  --text-body--letter-spacing: 0em;
  --text-body--font-weight: 400;
  --text-small: 14px;
  --text-small--line-height: 1.43;
  --text-small--letter-spacing: 0em;
  --text-small--font-weight: 400;
  --text-caption: 12.22px;
  --text-caption--line-height: 1.45;
  --text-caption--letter-spacing: 0.0164em;
  --text-caption--font-weight: 400;
  --text-micro: 12px;
  --text-micro--line-height: 1.33;
  --text-micro--letter-spacing: 0.05em;
  --text-micro--font-weight: 500;

  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-enter: cubic-bezier(0, 0, 0, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
}
:root {
  --case-heading: none;
  --case-eyebrow: uppercase;
  --tracking-eyebrow: 0.08em;
  --weight-eyebrow: 500;
}
:root {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-canvas: var(--canvas);
  --color-surface: var(--surface);
  --color-surface-raised: var(--surface-raised);
  --color-surface-overlay: var(--surface-overlay);
  --color-surface-sunken: var(--surface-sunken);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-brand-muted: var(--brand-muted);
  --color-brand-base: var(--brand-base);
  --color-brand-strong: var(--brand-strong);
  --color-brand-emphasis: var(--brand-emphasis);
  --color-brand-contrast: var(--brand-contrast);
  --color-interactive: var(--interactive);
  --color-interactive-foreground: var(--interactive-foreground);
  --color-interactive-muted: var(--interactive-muted);
  --color-ring: var(--ring);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-destructive-muted: var(--destructive-muted);
  --color-destructive-solid: var(--destructive-solid);
  --color-destructive-solid-foreground: var(--destructive-solid-foreground);
  --color-success: var(--success);
  --color-success-foreground: var(--success-foreground);
  --color-success-muted: var(--success-muted);
  --color-success-solid: var(--success-solid);
  --color-success-solid-foreground: var(--success-solid-foreground);
  --color-warning: var(--warning);
  --color-warning-foreground: var(--warning-foreground);
  --color-warning-muted: var(--warning-muted);
  --color-warning-solid: var(--warning-solid);
  --color-warning-solid-foreground: var(--warning-solid-foreground);
  --color-info: var(--info);
  --color-info-foreground: var(--info-foreground);
  --color-info-muted: var(--info-muted);
  --color-info-solid: var(--info-solid);
  --color-info-solid-foreground: var(--info-solid-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-divider: var(--divider);
  --color-text-secondary: var(--text-secondary);
  --color-text-tertiary: var(--text-tertiary);
  --color-prompt-bar: var(--prompt-bar);
  --color-prompt-bar-foreground: var(--prompt-bar-foreground);
  --color-prompt-bar-line: var(--prompt-bar-line);
  --color-chart-1: var(--chart-1);
  --color-chart-2: var(--chart-2);
  --color-chart-3: var(--chart-3);
  --color-chart-4: var(--chart-4);
  --color-chart-5: var(--chart-5);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);
  --color-palette-neutral-900: var(--palette-neutral-900);
  --color-palette-zinc-800: var(--palette-zinc-800);
  --color-palette-neutral-600: var(--palette-neutral-600);
  --color-palette-gray-100: var(--palette-gray-100);
  --color-palette-gray-200: var(--palette-gray-200);
  --color-palette-neutral-400: var(--palette-neutral-400);
  --color-palette-primary: var(--palette-primary);
  --color-palette-gray-500: var(--palette-gray-500);
  --color-palette-neutral-700: var(--palette-neutral-700);
  --color-palette-black: var(--palette-black);
  --color-palette-white: var(--palette-white);
  --color-palette-light-gray: var(--palette-light-gray);
  --color-palette-dark-gray: var(--palette-dark-gray);
  --color-ink-heading: var(--ink-heading);
  --color-ink-display: var(--ink-display);
  --color-primary-hover: var(--primary-hover);
  --color-inverse-surface: var(--inverse-surface);
  --color-inverse-foreground: var(--inverse-foreground);
  --color-ink-eyebrow: var(--ink-eyebrow);
  --radius-sm: var(--r-sm);
  --radius-md: var(--r-md);
  --radius-lg: var(--r-lg);
  --radius-xl: var(--r-xl);
  --radius-2xl: var(--r-2xl);
  --radius-controls: var(--r-controls);
  --radius-containers: var(--r-containers);
  --radius-inline: var(--r-inline);
  --radius-chip: var(--r-chip);
  --radius-track: var(--r-track);
  --shadow-xs: var(--sh-xs);
  --shadow-sm: var(--sh-sm);
  --shadow-md: var(--sh-md);
  --shadow-lg: var(--sh-lg);
  --shadow-xl: var(--sh-xl);
  --spacing-hairline: var(--sp-hairline);
  --spacing-optical: var(--sp-optical);
  --spacing-inset-2xs: var(--sp-inset-2xs);
  --spacing-inset-xs: var(--sp-inset-xs);
  --spacing-inset-sm: var(--sp-inset-sm);
  --spacing-inset-md: var(--sp-inset-md);
  --spacing-inset-lg: var(--sp-inset-lg);
  --spacing-inset-xl: var(--sp-inset-xl);
  --spacing-stack-xs: var(--sp-stack-xs);
  --spacing-stack-sm: var(--sp-stack-sm);
  --spacing-stack-md: var(--sp-stack-md);
  --spacing-stack-lg: var(--sp-stack-lg);
  --spacing-region: var(--sp-region);
  --spacing-section: var(--sp-section);
  --spacing-section-lg: var(--sp-section-lg);
  --spacing-chapter: var(--sp-chapter);
  --spacing-chapter-lg: var(--sp-chapter-lg);
  --spacing-control-2xs: var(--ctl-2xs);
  --spacing-control-xs: var(--ctl-xs);
  --spacing-control-sm: var(--ctl-sm);
  --spacing-control-md: var(--ctl-md);
  --spacing-control-lg: var(--ctl-lg);
  --spacing-control-xl: var(--ctl-xl);
  --container-measure-xs: var(--ms-xs);
  --container-measure-sm: var(--ms-sm);
  --container-measure-md: var(--ms-md);
  --container-measure-lg: var(--ms-lg);
  --container-layout-narrow: var(--lay-narrow);
  --container-layout-page: var(--lay-page);
  --container-layout-wide: var(--lay-wide);
  --container-layout-gutter: var(--lay-gutter);
  --spacing-frame-pad: var(--deck-frame-pad);
  --spacing-frame-gutter: var(--deck-frame-gutter);
  --spacing-frame-2xl: var(--deck-gap-2xl);
  --spacing-frame-xl: var(--deck-gap-xl);
  --spacing-frame-lg: var(--deck-gap-lg);
  --spacing-frame-md: var(--deck-gap-md);
  --spacing-frame-sm: var(--deck-gap-sm);
  --spacing-frame-xs: var(--deck-gap-xs);
}
:root {
  color-scheme: light;
  --duration-instant: 120ms;
  --duration-quick: 200ms;
  --duration-standard: 320ms;
  --duration-considered: 520ms;
  --background: #ffffff;
  --foreground: #000000;
  --canvas: var(--color-neutral-50);
  --surface: var(--color-neutral-0);
  --surface-raised: var(--color-neutral-0);
  --surface-overlay: var(--color-neutral-0);
  --surface-sunken: var(--color-neutral-100);
  --card: #f3f4f6;
  --card-foreground: #000000;
  --popover: var(--color-neutral-0);
  --popover-foreground: var(--color-neutral-900);
  --primary: #176cd9;
  --primary-foreground: #ffffff;
  --secondary: #ffffff;
  --secondary-foreground: #000000;
  --muted: var(--color-neutral-100);
  --muted-foreground: var(--color-neutral-700);
  --accent: var(--color-neutral-100);
  --accent-foreground: var(--color-neutral-900);
  --brand-muted: var(--color-signal-100);
  --brand-base: #176cd9;
  --brand-strong: #176cd9;
  --brand-emphasis: var(--color-signal-700);
  --brand-contrast: #ffffff;
  --interactive: #176cd9;
  --interactive-foreground: var(--color-neutral-0);
  --interactive-muted: var(--color-signal-100);
  --ring: #176cd9;
  --destructive: #e7000b;
  --destructive-foreground: #ffffff;
  --destructive-muted: var(--color-ember-100);
  --destructive-solid: var(--color-ember-600);
  --destructive-solid-foreground: var(--color-neutral-0);
  --success: var(--color-moss-700);
  --success-foreground: var(--color-neutral-0);
  --success-muted: var(--color-moss-100);
  --success-solid: var(--color-moss-600);
  --success-solid-foreground: var(--color-neutral-0);
  --warning: var(--color-amber-700);
  --warning-foreground: var(--color-neutral-0);
  --warning-muted: var(--color-amber-100);
  --warning-solid: var(--color-amber-600);
  --warning-solid-foreground: var(--color-neutral-0);
  --info: var(--color-signal-700);
  --info-foreground: var(--color-neutral-0);
  --info-muted: var(--color-signal-100);
  --info-solid: var(--color-signal-600);
  --info-solid-foreground: var(--color-neutral-0);
  --border: #e5e7eb;
  --input: #d7d7d7;
  --divider: var(--color-neutral-200);
  --text-secondary: #525252;
  --text-tertiary: var(--color-neutral-600);
  --prompt-bar: var(--color-neutral-900);
  --prompt-bar-foreground: var(--color-neutral-0);
  --prompt-bar-line: var(--color-neutral-700);
  --chart-1: #176cd9;
  --chart-2: #000000;
  --chart-3: #6a7282;
  --chart-4: #144e9c;
  --chart-5: var(--color-neutral-500);
  --sidebar: var(--color-neutral-0);
  --sidebar-foreground: var(--color-neutral-900);
  --sidebar-primary: var(--color-signal-600);
  --sidebar-primary-foreground: var(--color-neutral-0);
  --sidebar-accent: var(--color-neutral-100);
  --sidebar-accent-foreground: var(--color-neutral-900);
  --sidebar-border: var(--color-neutral-200);
  --sidebar-ring: var(--color-signal-700);
  --sp-hairline: 2px;
  --sp-optical: 4px;
  --sp-inset-2xs: 6px;
  --sp-inset-xs: 8px;
  --sp-inset-sm: 10px;
  --sp-inset-md: 12px;
  --sp-inset-lg: 24px;
  --sp-inset-xl: 27px;
  --sp-stack-xs: 20px;
  --sp-stack-sm: 24px;
  --sp-stack-md: 24px;
  --sp-stack-lg: 40px;
  --sp-region: 48px;
  --sp-section: 100px;
  --sp-section-lg: 100px;
  --sp-chapter: 120px;
  --sp-chapter-lg: 128px;
  --ms-xs: 34ch;
  --ms-sm: 48ch;
  --ms-md: 62ch;
  --ms-lg: 72ch;
  --lay-narrow: 48rem;
  --lay-page: 1400px;
  --lay-wide: 80rem;
  --lay-gutter: 32px;
  --ctl-2xs: 24px;
  --ctl-xs: 28px;
  --ctl-sm: 32px;
  --ctl-md: 48px;
  --ctl-lg: 48px;
  --ctl-xl: 48px;
  --stroke-hairline: 1px;
  --r-sm: 6px;
  --r-md: 8px;
  --r-lg: 10px;
  --r-xl: 14px;
  --r-2xl: 18px;
  --r-controls: 8px;
  --r-containers: 14px;
  --r-inline: 6px;
  --r-chip: 9999px;
  --r-track: 9999px;
  --corner-controls: superellipse(1);
  --corner-containers: superellipse(1);
  --corner-inline: superellipse(1);
  --sh-xs: 0 1px 2px 0 rgb(23 23 23 / 0.05);
  --sh-sm: 0 1px 3px 0 rgb(23 23 23 / 0.08), 0 1px 2px -1px rgb(23 23 23 / 0.04);
  --sh-md: 0 2px 6px -1px rgb(23 23 23 / 0.07), 0 8px 24px -4px rgb(23 23 23 / 0.05);
  --sh-lg: 0 4px 12px -2px rgb(23 23 23 / 0.08), 0 16px 40px -8px rgb(23 23 23 / 0.06);
  --sh-xl: 0 8px 24px -4px rgb(23 23 23 / 0.10), 0 24px 64px -12px rgb(23 23 23 / 0.08);
  --palette-neutral-900: #171717;
  --palette-zinc-800: #27272a;
  --palette-neutral-600: #525252;
  --palette-gray-100: #f3f4f6;
  --palette-gray-200: #e5e7eb;
  --palette-neutral-400: #a1a1a1;
  --palette-primary: #176cd9;
  --palette-gray-500: #6a7282;
  --palette-neutral-700: #404040;
  --palette-black: #000000;
  --palette-white: #ffffff;
  --palette-light-gray: #d7d7d7;
  --palette-dark-gray: #aeaeae;
  --motion-duration-tw-animation-delay: 0s;
  --motion-ease-out: cubic-bezier(0,0,.2,1);
  --motion-default-transition-timing-function: cubic-bezier(.4,0,.2,1);
  --ink-heading: #000000;
  --ink-display: #000000;
  --primary-hover: #1977ef;
  --inverse-surface: #000000;
  --inverse-foreground: #ffffff;
  --ink-eyebrow: #aeaeae;
  --cap-track: round;
}

[data-density='compact'] {
  --sp-inset-xs: 6px;
  --sp-inset-sm: 8px;
  --sp-inset-md: 10px;
  --sp-inset-lg: 12px;
  --sp-inset-xl: 12px;
  --sp-stack-xs: 14px;
  --sp-stack-sm: 16px;
  --sp-stack-md: 22px;
  --sp-stack-lg: 28px;
  --sp-region: 32px;
  --sp-section: 36px;
  --sp-section-lg: 52px;
  --sp-chapter: 62px;
  --sp-chapter-lg: 84px;
  --ctl-2xs: 22px;
  --ctl-xs: 24px;
  --ctl-sm: 28px;
  --ctl-md: 32px;
  --ctl-lg: 36px;
  --ctl-xl: 42px;
}
[data-density='relaxed'] {
  --sp-inset-2xs: 8px;
  --sp-inset-xs: 10px;
  --sp-inset-sm: 12px;
  --sp-inset-md: 16px;
  --sp-inset-lg: 18px;
  --sp-inset-xl: 20px;
  --sp-stack-xs: 26px;
  --sp-stack-sm: 32px;
  --sp-stack-md: 42px;
  --sp-stack-lg: 52px;
  --sp-region: 64px;
  --sp-section: 76px;
  --sp-section-lg: 108px;
  --sp-chapter: 128px;
  --sp-chapter-lg: 172px;
  --ctl-2xs: 28px;
  --ctl-xs: 32px;
  --ctl-sm: 36px;
  --ctl-md: 42px;
  --ctl-lg: 46px;
  --ctl-xl: 56px;
}
[data-deck] {
  --sp-hairline: 4px;
  --sp-optical: 8px;
  --sp-inset-2xs: 12px;
  --sp-inset-xs: 16px;
  --sp-inset-sm: 20px;
  --sp-inset-md: 24px;
  --sp-inset-lg: 24px;
  --sp-inset-xl: 32px;
  --sp-stack-xs: 15px;
  --sp-stack-sm: 18px;
  --sp-stack-md: 24px;
  --sp-stack-lg: 40px;
  --sp-region: 96px;
  --sp-section: 100px;
  --sp-section-lg: 100px;
  --sp-chapter: 192px;
  --sp-chapter-lg: 256px;
  --text-display: 160px;
  --text-display--line-height: 0.98;
  --text-display--letter-spacing: -0.032em;
  --text-display--font-weight: 700;
  --text-h1: 111.38px;
  --text-h1--line-height: 1.02;
  --text-h1--letter-spacing: -0.0242em;
  --text-h1--font-weight: 700;
  --text-h2: 74.25px;
  --text-h2--line-height: 1.08;
  --text-h2--letter-spacing: -0.0155em;
  --text-h2--font-weight: 700;
  --text-h3: 49.5px;
  --text-h3--line-height: 1.15;
  --text-h3--letter-spacing: -0.0068em;
  --text-h3--font-weight: 600;
  --text-body: 36px;
  --text-body--line-height: 1.35;
  --text-body--letter-spacing: -0.005em;
  --text-body--font-weight: 400;
  --text-caption: 24px;
  --text-caption--line-height: 1.4;
  --text-caption--letter-spacing: 0em;
  --text-caption--font-weight: 400;
  --deck-frame-width: 1920px;
  --deck-frame-height: 1080px;
  --deck-frame-aspect: 1.7778;
  --deck-frame-aspect-pct: 56.25%;
  --deck-frame-pad: 8.3333cqw;
  --deck-frame-gutter: 1.25cqw;
  --deck-gap-2xl: 8.3333cqw;
  --deck-gap-xl: 5.5cqw;
  --deck-gap-lg: 3.6667cqw;
  --deck-gap-md: 2.5cqw;
  --deck-gap-sm: 1.6667cqw;
  --deck-gap-xs: 1.0833cqw;
}
[data-deck][data-deck-envelope='studio'] {
  --sp-hairline: 4px;
  --sp-optical: 8px;
  --sp-inset-2xs: 12px;
  --sp-inset-xs: 16px;
  --sp-inset-sm: 20px;
  --sp-inset-md: 24px;
  --sp-inset-lg: 24px;
  --sp-inset-xl: 32px;
  --sp-stack-xs: 15px;
  --sp-stack-sm: 18px;
  --sp-stack-md: 24px;
  --sp-stack-lg: 40px;
  --sp-region: 96px;
  --sp-section: 100px;
  --sp-section-lg: 100px;
  --sp-chapter: 192px;
  --sp-chapter-lg: 256px;
}
[data-deck][data-deck-envelope='brief'] {
  --sp-hairline: 4px;
  --sp-optical: 8px;
  --sp-inset-2xs: 6px;
  --sp-inset-xs: 13px;
  --sp-inset-sm: 16px;
  --sp-inset-md: 19px;
  --sp-inset-lg: 12px;
  --sp-inset-xl: 12px;
  --sp-stack-xs: 28px;
  --sp-stack-sm: 16px;
  --sp-stack-md: 45px;
  --sp-stack-lg: 56px;
  --sp-region: 32px;
  --sp-section: 73px;
  --sp-section-lg: 104px;
  --sp-chapter: 125px;
  --sp-chapter-lg: 84px;
}

:root {
  --space-hairline: 2px;
  --space-optical: 4px;
  --space-inset-2xs: 6px;
  --space-inset-xs: 8px;
  --space-inset-sm: 10px;
  --space-inset-md: 12px;
  --space-inset-lg: 24px;
  --space-inset-xl: 27px;
  --space-stack-xs: 20px;
  --space-stack-sm: 24px;
  --space-stack-md: 24px;
  --space-stack-lg: 40px;
  --space-region: 48px;
  --space-section: 100px;
  --space-section-lg: 100px;
  --space-chapter: 120px;
  --space-chapter-lg: 128px;
  --control-2xs: 24px;
  --control-xs: 28px;
  --control-sm: 32px;
  --control-md: 48px;
  --control-lg: 48px;
  --control-xl: 48px;
}
:root { color-scheme: light; }
