/* Generated by tools/gen-tokens from design/tokens.json. Do not edit by hand — run `make tokens`. */

:root {
  color-scheme: light dark;
  --primitive-color-pine-50: #EFF6F3;
  --primitive-color-pine-100: #DCEDE8;
  --primitive-color-pine-200: #B8DAD1;
  --primitive-color-pine-300: #85BDB0;
  --primitive-color-pine-400: #4E9A89;
  --primitive-color-pine-500: #2B7B6B;
  --primitive-color-pine-600: #1F6356;
  --primitive-color-pine-700: #174C43;
  --primitive-color-pine-800: #113A33;
  --primitive-color-pine-900: #0C2924;
  --primitive-color-mint-200: #B3E5CF;
  --primitive-color-mint-300: #7FD1AE;
  --primitive-color-mint-400: #52BD90;
  --primitive-color-mint-500: #2E9E6A;
  --primitive-color-neutral-0: #FFFFFF;
  --primitive-color-neutral-50: #F6F4EE;
  --primitive-color-neutral-75: #F2F0EA;
  --primitive-color-neutral-100: #ECE9E0;
  --primitive-color-neutral-200: #DCD8CC;
  --primitive-color-neutral-300: #A9B6B1;
  --primitive-color-neutral-400: #857F72;
  --primitive-color-neutral-500: #6B7C76;
  --primitive-color-neutral-600: #4A5B55;
  --primitive-color-neutral-700: #33403B;
  --primitive-color-neutral-750: #2C3A35;
  --primitive-color-neutral-800: #1E2B27;
  --primitive-color-neutral-850: #16211E;
  --primitive-color-neutral-900: #10201C;
  --primitive-color-neutral-950: #0E1614;
  --primitive-color-green-100: #DDF0E6;
  --primitive-color-green-400: #4CC38A;
  --primitive-color-green-600: #1E7F55;
  --primitive-color-green-900: #16362A;
  --primitive-color-amber-100: #F8EAD3;
  --primitive-color-amber-400: #F0A63A;
  --primitive-color-amber-700: #A15F00;
  --primitive-color-amber-900: #3A2A12;
  --primitive-color-red-100: #FBE3DF;
  --primitive-color-red-400: #FF7A6B;
  --primitive-color-red-600: #C0392B;
  --primitive-color-red-900: #3D1D19;
  --primitive-color-black-scrim: #0B100F99;
  --primitive-color-black-bezel: #0B100F;
  --primitive-font-family-display: Figtree, system-ui, sans-serif;
  --primitive-font-family-body: "Atkinson Hyperlegible", system-ui, sans-serif;
  --primitive-font-family-ios: "SF Pro", -apple-system, system-ui;
  --primitive-font-family-mono: "SF Mono", ui-monospace, Menlo, monospace;
  --primitive-font-family-ios-rounded: "SF Pro Rounded", ui-rounded, system-ui;
  --primitive-font-weight-regular: 400;
  --primitive-font-weight-medium: 500;
  --primitive-font-weight-semibold: 600;
  --primitive-font-weight-bold: 700;
  --primitive-font-size-11: 11px;
  --primitive-font-size-12: 12px;
  --primitive-font-size-13: 13px;
  --primitive-font-size-15: 15px;
  --primitive-font-size-16: 16px;
  --primitive-font-size-17: 17px;
  --primitive-font-size-19: 19px;
  --primitive-font-size-20: 20px;
  --primitive-font-size-21: 21px;
  --primitive-font-size-22: 22px;
  --primitive-font-size-26: 26px;
  --primitive-font-size-28: 28px;
  --primitive-font-size-32: 32px;
  --primitive-font-size-34: 34px;
  --primitive-font-size-36: 36px;
  --primitive-font-size-40: 40px;
  --primitive-font-size-46: 46px;
  --primitive-font-size-48: 48px;
  --primitive-font-size-64: 64px;
  --primitive-font-size-96: 96px;
  --primitive-font-line-height-tight: 1.05;
  --primitive-font-line-height-snug: 1.15;
  --primitive-font-line-height-normal: 1.4;
  --primitive-font-line-height-relaxed: 1.55;
  --primitive-space-0: 0;
  --primitive-space-1: 4px;
  --primitive-space-2: 8px;
  --primitive-space-3: 12px;
  --primitive-space-4: 16px;
  --primitive-space-5: 20px;
  --primitive-space-6: 24px;
  --primitive-space-8: 32px;
  --primitive-space-10: 40px;
  --primitive-space-12: 48px;
  --primitive-space-16: 64px;
  --primitive-space-20: 80px;
  --primitive-space-24: 96px;
  --primitive-space-32: 128px;
  --primitive-radius-sm: 8px;
  --primitive-radius-md: 12px;
  --primitive-radius-lg: 20px;
  --primitive-radius-xl: 28px;
  --primitive-radius-2xl: 36px;
  --primitive-radius-pill: 999px;
  --primitive-radius-tile: 16px;
  --primitive-shadow-raised: 0 8px 24px 0 #10201C1A;
  --primitive-shadow-overlay: 0 16px 40px 0 #10201C29;
  --primitive-motion-duration-fast: 120ms;
  --primitive-motion-duration-base: 200ms;
  --primitive-motion-duration-slow: 320ms;
  --primitive-motion-duration-fill: 600ms;
  --primitive-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --primitive-breakpoint-sm: 0;
  --primitive-breakpoint-md: 600px;
  --primitive-breakpoint-lg: 1024px;
  --primitive-breakpoint-xl: 1440px;
  --primitive-grid-sm-columns: 4;
  --primitive-grid-sm-margin: 20px;
  --primitive-grid-sm-gutter: 16px;
  --primitive-grid-md-columns: 8;
  --primitive-grid-md-margin: 40px;
  --primitive-grid-md-gutter: 24px;
  --primitive-grid-lg-columns: 12;
  --primitive-grid-lg-margin: 80px;
  --primitive-grid-lg-gutter: 24px;
  --primitive-grid-xl-columns: 12;
  --primitive-grid-xl-margin: 120px;
  --primitive-grid-xl-gutter: 24px;
  --primitive-grid-xl-max-content: 1200px;
  --color-bg-canvas: var(--primitive-color-neutral-50);
  --color-bg-surface: var(--primitive-color-neutral-0);
  --color-bg-raised: var(--primitive-color-neutral-0);
  --color-bg-panel: var(--primitive-color-pine-100);
  --color-bg-band: var(--primitive-color-pine-900);
  --color-bg-footer: var(--primitive-color-neutral-900);
  --color-bg-replay: var(--primitive-color-neutral-850);
  --color-bg-camera: var(--primitive-color-neutral-800);
  --color-bg-camera-scrim: var(--primitive-color-black-scrim);
  --color-text-primary: var(--primitive-color-neutral-900);
  --color-text-secondary: var(--primitive-color-neutral-600);
  --color-text-inverse: var(--primitive-color-neutral-0);
  --color-text-label: var(--primitive-color-pine-600);
  --color-border-subtle: var(--primitive-color-neutral-200);
  --color-border-strong: var(--primitive-color-neutral-400);
  --color-accent-default: var(--primitive-color-pine-700);
  --color-accent-pressed: var(--primitive-color-pine-800);
  --color-accent-on: var(--primitive-color-neutral-0);
  --color-accent-subtle: var(--primitive-color-pine-100);
  --color-accent-hover: var(--primitive-color-pine-600);
  --color-focus-ring: var(--primitive-color-pine-500);
  --color-form-clean: var(--primitive-color-green-600);
  --color-form-warn: var(--primitive-color-amber-700);
  --color-form-fail: var(--primitive-color-red-600);
  --color-form-clean-subtle: var(--primitive-color-green-100);
  --color-form-warn-subtle: var(--primitive-color-amber-100);
  --color-form-fail-subtle: var(--primitive-color-red-100);
  --color-form-clean-on-camera: var(--primitive-color-green-400);
  --color-form-warn-on-camera: var(--primitive-color-amber-400);
  --color-form-fail-on-camera: var(--primitive-color-red-400);
  --color-brand-mark: var(--primitive-color-pine-700);
  --color-brand-mark-head: var(--primitive-color-mint-500);
  --color-disabled-bg: var(--primitive-color-neutral-100);
  --color-disabled-text: var(--primitive-color-neutral-400);
  --color-figure-line: var(--primitive-color-pine-200);
  --color-figure-joint: var(--primitive-color-neutral-75);
  --color-figure-outline: var(--primitive-color-black-bezel);
  --type-display-font-family: var(--primitive-font-family-display);
  --type-display-font-weight: 700;
  --type-display-font-size: 2.5rem;
  --type-display-line-height: 1.05;
  --type-display-letter-spacing: -0.025rem;
  --type-h1-font-family: var(--primitive-font-family-display);
  --type-h1-font-weight: 700;
  --type-h1-font-size: 2rem;
  --type-h1-line-height: 1.1;
  --type-h1-letter-spacing: -0.02rem;
  --type-h2-font-family: var(--primitive-font-family-display);
  --type-h2-font-weight: 700;
  --type-h2-font-size: 1.625rem;
  --type-h2-line-height: 1.15;
  --type-h2-letter-spacing: -0.015rem;
  --type-h3-font-family: var(--primitive-font-family-display);
  --type-h3-font-weight: 600;
  --type-h3-font-size: 1.3125rem;
  --type-h3-line-height: 1.25;
  --type-h3-letter-spacing: 0rem;
  --type-body-large-font-family: var(--primitive-font-family-body);
  --type-body-large-font-weight: 400;
  --type-body-large-font-size: 1.1875rem;
  --type-body-large-line-height: 1.55;
  --type-body-large-letter-spacing: 0rem;
  --type-body-font-family: var(--primitive-font-family-body);
  --type-body-font-weight: 400;
  --type-body-font-size: 1.0625rem;
  --type-body-line-height: 1.55;
  --type-body-letter-spacing: 0rem;
  --type-small-font-family: var(--primitive-font-family-body);
  --type-small-font-weight: 400;
  --type-small-font-size: 0.9375rem;
  --type-small-line-height: 1.5;
  --type-small-letter-spacing: 0rem;
  --type-label-font-family: var(--primitive-font-family-body);
  --type-label-font-weight: 700;
  --type-label-font-size: 0.8125rem;
  --type-label-line-height: 1.4;
  --type-label-letter-spacing: 0.08rem;
  --elevation-raised: var(--primitive-shadow-raised);
  --elevation-overlay: var(--primitive-shadow-overlay);
  --motion-press: var(--primitive-motion-duration-fast);
  --motion-base: var(--primitive-motion-duration-base);
  --motion-slow: var(--primitive-motion-duration-slow);
  --motion-fill: var(--primitive-motion-duration-fill);
  --motion-easing: var(--primitive-motion-easing-standard);
  --button-height-lg: 56px;
  --button-height-md: 48px;
  --button-height-sm: 44px;
  --button-radius: var(--primitive-radius-md);
  --button-padding-x-lg: 26px;
  --button-padding-x-md: 22px;
  --button-padding-x-sm: 18px;
  --button-font-font-family: var(--primitive-font-family-display);
  --button-font-font-weight: 700;
  --button-font-font-size: 1.0625rem;
  --button-font-line-height: 1;
  --button-font-letter-spacing: 0rem;
  --button-primary-bg: var(--color-accent-default);
  --button-primary-bg-hover: var(--color-accent-hover);
  --button-primary-bg-pressed: var(--color-accent-pressed);
  --button-primary-text: var(--color-accent-on);
  --button-primary-bg-disabled: var(--color-disabled-bg);
  --button-primary-text-disabled: var(--color-disabled-text);
  --button-secondary-border: var(--color-accent-default);
  --button-secondary-text: var(--color-accent-default);
  --button-secondary-bg-hover: var(--color-accent-subtle);
  --button-secondary-border-disabled: var(--color-border-subtle);
  --button-focus-ring-color: var(--color-focus-ring);
  --button-focus-ring-width: 3px;
  --button-focus-ring-offset: 2px;
  --input-height: 52px;
  --input-radius: var(--primitive-radius-md);
  --input-bg: var(--color-bg-surface);
  --input-border: var(--color-border-strong);
  --input-border-focus: var(--color-accent-default);
  --input-border-error: var(--color-form-fail);
  --input-text: var(--color-text-primary);
  --input-error-text: var(--color-form-fail);
  --input-success-bg: var(--color-accent-subtle);
  --nav-height: 64px;
  --nav-link-gap: 36px;
  --nav-border: var(--color-border-subtle);
  --nav-active-underline: var(--color-accent-default);
  --nav-menu-sheet-bg: var(--color-bg-raised);
  --feature-card-padding: 24px;
  --feature-card-radius: var(--primitive-radius-lg);
  --feature-card-bg: var(--color-bg-canvas);
  --feature-card-bg-tinted: var(--color-accent-subtle);
  --feature-card-icon-tile: 48px;
  --faq-row-min-height: 64px;
  --faq-padding-x: 20px;
  --faq-radius: var(--primitive-radius-lg);
  --faq-bg: var(--color-bg-surface);
  --faq-divider: var(--color-border-subtle);
  --faq-icon: var(--color-accent-default);
  --faq-max-width: 800px;
  --faq-expand-duration: var(--primitive-motion-duration-slow);
  --chip-height: 44px;
  --chip-radius: var(--primitive-radius-pill);
  --chip-selected-bg: var(--color-accent-default);
  --chip-selected-text: var(--color-accent-on);
  --chip-border: var(--color-border-strong);
  --section-padding-y: 64px;
  --section-panel-radius: var(--primitive-radius-2xl);
  --footer-bg: var(--color-bg-footer);
  --footer-text: var(--primitive-color-neutral-75);
  --footer-muted: var(--primitive-color-neutral-300);
  --footer-padding-y: 40px;
}

@media (min-width: 600px) {
  :root {
    --type-display-font-size: 4rem;
    --type-h1-font-size: 3rem;
    --type-h2-font-size: 2.25rem;
    --type-h3-font-size: 1.625rem;
    --type-body-large-font-size: 1.25rem;
    --input-height: 56px;
    --nav-height: 88px;
    --feature-card-padding: 32px;
    --faq-row-min-height: 72px;
    --faq-padding-x: 28px;
    --section-padding-y: 96px;
    --footer-padding-y: 56px;
  }
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-bg-canvas: var(--primitive-color-neutral-950);
    --color-bg-surface: var(--primitive-color-neutral-850);
    --color-bg-raised: var(--primitive-color-neutral-800);
    --color-bg-panel: var(--primitive-color-pine-800);
    --color-bg-band: var(--primitive-color-neutral-850);
    --color-bg-footer: #0B100F;
    --color-bg-replay: var(--primitive-color-neutral-850);
    --color-text-primary: var(--primitive-color-neutral-75);
    --color-text-secondary: var(--primitive-color-neutral-300);
    --color-text-inverse: var(--primitive-color-neutral-900);
    --color-text-label: var(--primitive-color-mint-300);
    --color-border-subtle: var(--primitive-color-neutral-750);
    --color-border-strong: var(--primitive-color-neutral-500);
    --color-accent-default: var(--primitive-color-mint-300);
    --color-accent-pressed: var(--primitive-color-mint-400);
    --color-accent-on: var(--primitive-color-pine-900);
    --color-accent-subtle: var(--primitive-color-pine-800);
    --color-accent-hover: var(--primitive-color-mint-200);
    --color-focus-ring: var(--primitive-color-mint-300);
    --color-form-clean: var(--primitive-color-green-400);
    --color-form-warn: var(--primitive-color-amber-400);
    --color-form-fail: var(--primitive-color-red-400);
    --color-form-clean-subtle: var(--primitive-color-green-900);
    --color-form-warn-subtle: var(--primitive-color-amber-900);
    --color-form-fail-subtle: var(--primitive-color-red-900);
    --color-brand-mark: var(--primitive-color-neutral-50);
    --color-brand-mark-head: var(--primitive-color-mint-300);
    --color-disabled-bg: var(--primitive-color-neutral-800);
    --color-disabled-text: var(--primitive-color-neutral-500);
    --color-figure-line: var(--primitive-color-neutral-750);
    --elevation-raised: none;
    --elevation-overlay: none;
  }
}

:root[data-theme="dark"] {
  --color-bg-canvas: var(--primitive-color-neutral-950);
  --color-bg-surface: var(--primitive-color-neutral-850);
  --color-bg-raised: var(--primitive-color-neutral-800);
  --color-bg-panel: var(--primitive-color-pine-800);
  --color-bg-band: var(--primitive-color-neutral-850);
  --color-bg-footer: #0B100F;
  --color-bg-replay: var(--primitive-color-neutral-850);
  --color-text-primary: var(--primitive-color-neutral-75);
  --color-text-secondary: var(--primitive-color-neutral-300);
  --color-text-inverse: var(--primitive-color-neutral-900);
  --color-text-label: var(--primitive-color-mint-300);
  --color-border-subtle: var(--primitive-color-neutral-750);
  --color-border-strong: var(--primitive-color-neutral-500);
  --color-accent-default: var(--primitive-color-mint-300);
  --color-accent-pressed: var(--primitive-color-mint-400);
  --color-accent-on: var(--primitive-color-pine-900);
  --color-accent-subtle: var(--primitive-color-pine-800);
  --color-accent-hover: var(--primitive-color-mint-200);
  --color-focus-ring: var(--primitive-color-mint-300);
  --color-form-clean: var(--primitive-color-green-400);
  --color-form-warn: var(--primitive-color-amber-400);
  --color-form-fail: var(--primitive-color-red-400);
  --color-form-clean-subtle: var(--primitive-color-green-900);
  --color-form-warn-subtle: var(--primitive-color-amber-900);
  --color-form-fail-subtle: var(--primitive-color-red-900);
  --color-brand-mark: var(--primitive-color-neutral-50);
  --color-brand-mark-head: var(--primitive-color-mint-300);
  --color-disabled-bg: var(--primitive-color-neutral-800);
  --color-disabled-text: var(--primitive-color-neutral-500);
  --color-figure-line: var(--primitive-color-neutral-750);
  --elevation-raised: none;
  --elevation-overlay: none;
}
