/* Generated from design/tokens.json by scripts/build.mjs. Don't edit: change the JSON and rebuild. */
:root {
  --canvas: #f3f2ee;
  --surface: #ffffff;
  --surface-sunken: #ecebe7;
  --surface-hover: #ecebe7;
  --surface-inverse: #161615;
  --surface-inverse-hover: #2e2e2c;
  --stage: #161615;
  --stage-text: #f3f2ee;
  --stage-muted: #a4a39d;
  --stage-accent: #d99bc8;
  --stage-line: #2e2e2c;
  --text: #161615;
  --text-secondary: #3a3a38;
  --text-muted: #6c6b67;
  --text-faint: #a4a39d;
  --text-on-inverse: #ffffff;
  --text-on-accent: #ffffff;
  --border: #e3e2dd;
  --border-strong: #d2d1cb;
  --accent: #7a2e63;
  --accent-hover: #672553;
  --accent-strong: #541d44;
  --accent-soft: #f7eef4;
  --accent-line: #e8bddb;
  --success: #15803d;
  --success-soft: #ecf8f0;
  --success-strong: #166534;
  --warning: #b45309;
  --warning-soft: #fdf5e7;
  --warning-strong: #92400e;
  --danger: #c4321c;
  --danger-soft: #fdf0ee;
  --danger-strong: #9f1d1d;
  --glass-fill: rgb(255 255 255 / .62);
  --glass-fill-solid: #fbfaf8;
  --glass-edge: rgb(255 255 255 / .9);
  --glass-line: rgb(17 17 16 / .08);
  --glass-shadow: 0 1px 1px rgb(17 17 16 / .04), 0 8px 24px -6px rgb(17 17 16 / .14), 0 24px 60px -24px rgb(17 17 16 / .18);
  --glass-blur: 22px;
  --glass-saturate: 1.8;
  --shadow-sm: 0 1px 2px rgb(17 17 16 / .05);
  --shadow-md: 0 1px 3px rgb(17 17 16 / .07), 0 1px 2px rgb(17 17 16 / .04);
  --shadow-lg: 0 16px 40px -8px rgb(17 17 16 / .16), 0 2px 6px rgb(17 17 16 / .05);
  --shadow-sheet: 0 1px 2px rgb(17 17 16 / .06), 0 18px 50px -22px rgb(17 17 16 / .35);
  --focus-ring: 0 0 0 3px color-mix(in srgb, #7a2e63 28%, transparent);
  color-scheme: light;
  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
  --font-brand: "Newsreader", "New York", Georgia, serif;
  --fs-2xs: 11px;
  --fs-xs: 12px;
  --fs-sm: 13px;
  --fs-md: 15px;
  --fs-lg: 17px;
  --fs-xl: 19px;
  --fs-2xl: 23px;
  --fs-3xl: 30px;
  --fs-4xl: 40px;
  --fs-5xl: 54px;
  --fs-6xl: 72px;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 9px;
  --r-lg: 12px;
  --r-xl: 18px;
  --r-2xl: 26px;
  --r-pill: 999px;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;
  --sp-20: 80px;
  --sp-24: 96px;
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --dur-slow: 320ms;
  --ease: cubic-bezier(.2, .8, .2, 1);
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --canvas: #0e0e0d;
  --surface: #1d1d1b;
  --surface-sunken: #161615;
  --surface-hover: #262624;
  --surface-inverse: #f3f2ee;
  --surface-inverse-hover: #ffffff;
  --stage: #161615;
  --stage-text: #f3f2ee;
  --stage-muted: #a4a39d;
  --stage-accent: #d99bc8;
  --stage-line: #2e2e2c;
  --text: #f3f2ee;
  --text-secondary: #d2d1cb;
  --text-muted: #a4a39d;
  --text-faint: #6c6b67;
  --text-on-inverse: #161615;
  --text-on-accent: #0e0e0d;
  --border: #262624;
  --border-strong: #2e2e2c;
  --accent: #d99bc8;
  --accent-hover: #e8bddb;
  --accent-strong: #e8bddb;
  --accent-soft: #2b1024;
  --accent-line: #4a1b3b;
  --success: #6fd39a;
  --success-soft: #0f2a1a;
  --success-strong: #6fd39a;
  --warning: #f2bd62;
  --warning-soft: #2e1e08;
  --warning-strong: #f2bd62;
  --danger: #f39a8c;
  --danger-soft: #331310;
  --danger-strong: #f39a8c;
  --glass-fill: rgb(38 38 36 / .58);
  --glass-fill-solid: #232321;
  --glass-edge: rgb(255 255 255 / .14);
  --glass-line: rgb(255 255 255 / .08);
  --glass-shadow: 0 1px 1px rgb(0 0 0 / .3), 0 8px 24px -6px rgb(0 0 0 / .5), 0 24px 60px -24px rgb(0 0 0 / .6);
  --glass-blur: 22px;
  --glass-saturate: 1.4;
  --shadow-sm: 0 1px 2px rgb(0 0 0 / .4);
  --shadow-md: 0 1px 3px rgb(0 0 0 / .5);
  --shadow-lg: 0 16px 40px -8px rgb(0 0 0 / .6);
  --shadow-sheet: 0 1px 2px rgb(0 0 0 / .5), 0 18px 50px -22px rgb(0 0 0 / .8);
  --focus-ring: 0 0 0 3px color-mix(in srgb, #d99bc8 28%, transparent);
  color-scheme: dark;
} }
:root[data-theme="dark"] {
  --canvas: #0e0e0d;
  --surface: #1d1d1b;
  --surface-sunken: #161615;
  --surface-hover: #262624;
  --surface-inverse: #f3f2ee;
  --surface-inverse-hover: #ffffff;
  --stage: #161615;
  --stage-text: #f3f2ee;
  --stage-muted: #a4a39d;
  --stage-accent: #d99bc8;
  --stage-line: #2e2e2c;
  --text: #f3f2ee;
  --text-secondary: #d2d1cb;
  --text-muted: #a4a39d;
  --text-faint: #6c6b67;
  --text-on-inverse: #161615;
  --text-on-accent: #0e0e0d;
  --border: #262624;
  --border-strong: #2e2e2c;
  --accent: #d99bc8;
  --accent-hover: #e8bddb;
  --accent-strong: #e8bddb;
  --accent-soft: #2b1024;
  --accent-line: #4a1b3b;
  --success: #6fd39a;
  --success-soft: #0f2a1a;
  --success-strong: #6fd39a;
  --warning: #f2bd62;
  --warning-soft: #2e1e08;
  --warning-strong: #f2bd62;
  --danger: #f39a8c;
  --danger-soft: #331310;
  --danger-strong: #f39a8c;
  --glass-fill: rgb(38 38 36 / .58);
  --glass-fill-solid: #232321;
  --glass-edge: rgb(255 255 255 / .14);
  --glass-line: rgb(255 255 255 / .08);
  --glass-shadow: 0 1px 1px rgb(0 0 0 / .3), 0 8px 24px -6px rgb(0 0 0 / .5), 0 24px 60px -24px rgb(0 0 0 / .6);
  --glass-blur: 22px;
  --glass-saturate: 1.4;
  --shadow-sm: 0 1px 2px rgb(0 0 0 / .4);
  --shadow-md: 0 1px 3px rgb(0 0 0 / .5);
  --shadow-lg: 0 16px 40px -8px rgb(0 0 0 / .6);
  --shadow-sheet: 0 1px 2px rgb(0 0 0 / .5), 0 18px 50px -22px rgb(0 0 0 / .8);
  --focus-ring: 0 0 0 3px color-mix(in srgb, #d99bc8 28%, transparent);
  color-scheme: dark;
}
