/* Generated by scripts/build-tokens.py from design/tokens.json.
   Do not edit by hand: change the JSON and rebuild. */

/* Breakpoints (media queries cannot read custom properties):
   sm: 480px
   md: 768px
   nav: 980px
   lg: 1024px
   xl: 1280px
*/

:root {
  --ns-white: #ffffff;
  --ns-ink-950: #0b0a10;
  --ns-ink-900: #13111b;
  --ns-ink-800: #1c1926;
  --ns-ink-700: #2a2636;
  --ns-ink-600: #3d384c;
  --ns-ink-500: #5b556b;
  --ns-ink-400: #736d84;
  --ns-ink-300: #a8a3b8;
  --ns-ink-200: #cfcbda;
  --ns-ink-100: #e9e7f0;
  --ns-ink-50: #f5f4f8;
  --ns-violet-50: #f3f1fe;
  --ns-violet-100: #e6e1fd;
  --ns-violet-200: #cec5fb;
  --ns-violet-300: #ae9ff7;
  --ns-violet-400: #8d7bf0;
  --ns-violet-500: #6d5ae6;
  --ns-violet-600: #5a48d1;
  --ns-violet-700: #4838ae;
  --ns-violet-800: #372b85;
  --ns-violet-900: #261e5c;
  --ns-pink-300: #ff8fcb;
  --ns-pink-400: #ff48b0;
  --ns-pink-600: #d6258b;
  --ns-pink-700: #a8156a;
  --ns-space-0: 0;
  --ns-space-1: 4px;
  --ns-space-2: 8px;
  --ns-space-3: 12px;
  --ns-space-4: 16px;
  --ns-space-5: 20px;
  --ns-space-6: 24px;
  --ns-space-8: 32px;
  --ns-space-10: 40px;
  --ns-space-12: 48px;
  --ns-space-16: 64px;
  --ns-space-20: 80px;
  --ns-space-24: 96px;
  --ns-space-32: 128px;
  --ns-radius-xs: 4px;
  --ns-radius-sm: 8px;
  --ns-radius-md: 12px;
  --ns-radius-lg: 16px;
  --ns-radius-xl: 24px;
  --ns-radius-pill: 999px;
  --ns-font-display: 'Bricolage Grotesque', 'Inter', ui-sans-serif, system-ui, sans-serif;
  --ns-font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --ns-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --ns-night-feedback-success-bg: #132a1e;
  --ns-night-feedback-success-text: #5fd394;
  --ns-night-feedback-warning-bg: #2c2211;
  --ns-night-feedback-warning-border: #5e4719;
  --ns-night-feedback-warning-text: #ffb224;
  --ns-night-feedback-danger-bg: #301617;
  --ns-night-feedback-danger-border: #5e2b2c;
  --ns-night-feedback-danger-text: #ff7a70;
  --ns-feedback-success-700: #17703d;
  --ns-feedback-success-50: #e3f5ea;
  --ns-feedback-success-100: #c9ebd5;
  --ns-feedback-warning-700: #9a5100;
  --ns-feedback-warning-50: #fff1dc;
  --ns-feedback-warning-200: #f0cb8e;
  --ns-feedback-danger-700: #b42318;
  --ns-feedback-danger-50: #fde7e5;
  --ns-feedback-danger-200: #f5c2bd;
  --ns-mist-0: #fafafc;
  --ns-mist-100: #f1f0f6;
  --ns-mist-200: #e4e2ec;
  --color-bg-canvas: var(--ns-mist-0);
  --color-bg-subtle: var(--ns-mist-100);
  --color-bg-surface: var(--ns-white);
  --color-bg-raised: var(--ns-white);
  --color-bg-night: var(--ns-ink-950);
  --color-bg-highlight: var(--ns-violet-50);
  --color-text-primary: var(--ns-ink-900);
  --color-text-secondary: var(--ns-ink-500);
  --color-text-inverse: var(--ns-ink-50);
  --color-text-link: var(--ns-violet-600);
  --color-text-eyebrow: var(--ns-violet-600);
  --color-border-subtle: var(--ns-mist-200);
  --color-border-strong: var(--ns-ink-400);
  --color-border-hover: var(--ns-violet-200);
  --color-action-primary-bg: var(--ns-violet-600);
  --color-action-primary-bg-hover: var(--ns-violet-700);
  --color-action-primary-fg: var(--ns-white);
  --color-action-secondary-border: var(--ns-ink-200);
  --color-action-brand-bg: var(--ns-pink-400);
  --color-action-brand-bg-hover: var(--ns-pink-300);
  --color-action-brand-fg: var(--ns-ink-950);
  --color-action-inverse-bg: var(--ns-white);
  --color-action-inverse-bg-hover: var(--ns-mist-100);
  --color-action-inverse-fg: var(--ns-ink-950);
  --color-accent-brand: var(--ns-pink-700);
  --color-accent-brand-fill: var(--ns-pink-400);
  --color-accent-data: var(--ns-violet-700);
  --color-accent-data-fill: var(--ns-violet-200);
  --color-focus-ring: var(--ns-violet-500);
  --color-feedback-success-fg: var(--ns-feedback-success-700);
  --color-feedback-success-bg: var(--ns-feedback-success-50);
  --color-feedback-success-text: var(--ns-feedback-success-700);
  --color-feedback-success-row: var(--ns-feedback-success-50);
  --color-feedback-warning-bg: var(--ns-feedback-warning-50);
  --color-feedback-warning-border: var(--ns-feedback-warning-200);
  --color-feedback-warning-text: var(--ns-feedback-warning-700);
  --color-feedback-danger-fg: var(--ns-feedback-danger-700);
  --color-feedback-danger-bg: var(--ns-feedback-danger-50);
  --color-feedback-danger-border: var(--ns-feedback-danger-200);
  --color-feedback-danger-text: var(--ns-feedback-danger-700);
  --color-feedback-info-bg: var(--ns-violet-50);
  --color-feedback-info-text: var(--ns-violet-700);
  --space-gutter: clamp(1rem, .5rem + 2vw, 2rem);
  --space-section-md: clamp(4.5rem, 3rem + 6vw, 7rem);
  --space-section-sm: clamp(3.5rem, 2.5rem + 4vw, 5rem);
  --space-section-lg: clamp(6rem, 4rem + 8vw, 10rem);
  --radius-control: var(--ns-radius-md);
  --radius-card: var(--ns-radius-lg);
  --radius-tile: var(--ns-radius-lg);
  --radius-pill: var(--ns-radius-pill);
  --radius-badge: var(--ns-radius-pill);
  --radius-chip: var(--ns-radius-sm);
  --radius-feature: var(--ns-radius-xl);
  --shadow-raised: 0 1px 2px rgb(11 10 16 / .05), 0 6px 16px -4px rgb(11 10 16 / .08);
  --shadow-sticker: 2px 2px 0 var(--ns-ink-900);
  --shadow-overlay: 0 16px 40px -12px rgb(11 10 16 / .22);
  --shadow-lifted: 0 16px 40px -12px rgb(11 10 16 / .20);
  --font-body: var(--ns-font-sans);
  --font-display: var(--ns-font-display);
  --font-mono: var(--ns-font-mono);
  --font-label: var(--font-mono);
  --duration-fast: 150ms;
  --duration-instant: 80ms;
  --duration-base: 220ms;
  --duration-slow: 360ms;
  --z-sticky: 20;
  --z-overlay: 40;
  --z-modal: 50;
  --ease-standard: cubic-bezier(.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(.3, 0, 0, 1.2);
  --ease-exit: cubic-bezier(.4, 0, 1, 1);
}

[data-theme="night"] {
  --color-bg-canvas: var(--ns-ink-950);
  --color-bg-subtle: var(--ns-ink-900);
  --color-bg-surface: var(--ns-ink-900);
  --color-bg-raised: var(--ns-ink-800);
  --color-text-primary: var(--ns-ink-50);
  --color-text-secondary: var(--ns-ink-300);
  --color-text-link: var(--ns-violet-300);
  --color-text-eyebrow: var(--ns-violet-300);
  --color-border-subtle: var(--ns-ink-700);
  --color-border-strong: var(--ns-ink-400);
  --color-border-hover: var(--ns-ink-600);
  --color-action-primary-bg: var(--ns-violet-300);
  --color-action-primary-bg-hover: var(--ns-violet-200);
  --color-action-primary-fg: var(--ns-ink-950);
  --color-action-secondary-border: var(--ns-ink-600);
  --color-accent-brand: var(--ns-pink-400);
  --color-accent-data: var(--ns-violet-300);
  --color-focus-ring: var(--ns-violet-300);
  --color-feedback-info-bg: var(--ns-ink-800);
  --color-feedback-info-text: var(--ns-violet-300);
  --color-feedback-success-bg: var(--ns-night-feedback-success-bg);
  --color-feedback-success-text: var(--ns-night-feedback-success-text);
  --color-feedback-success-fg: var(--ns-night-feedback-success-text);
  --color-feedback-success-row: var(--ns-night-feedback-success-bg);
  --color-feedback-warning-bg: var(--ns-night-feedback-warning-bg);
  --color-feedback-warning-border: var(--ns-night-feedback-warning-border);
  --color-feedback-warning-text: var(--ns-night-feedback-warning-text);
  --color-feedback-danger-bg: var(--ns-night-feedback-danger-bg);
  --color-feedback-danger-border: var(--ns-night-feedback-danger-border);
  --color-feedback-danger-text: var(--ns-night-feedback-danger-text);
  --color-feedback-danger-fg: var(--ns-night-feedback-danger-text);
  --shadow-sticker: 2px 2px 0 var(--ns-ink-50);
  --shadow-raised: inset 0 1px 0 rgb(255 255 255 / .05);
}
