/* small design system tokens. Generated from _dev/tokens_src.py. Light is the default theme. */
:root, [data-theme="light"] {
  color-scheme: light;
  --bg: #FFFFFF;
  --surface: #FAFAFA;
  --surface-2: #F5F5F5;
  --surface-3: #EDEDED;
  --border: #E8E8E8;
  --border-strong: #D4D4D4;
  --border-control: #8C8C8C;
  --field-bg: #FFFFFF;
  --field-affix: #FAFAFA;
  --field-border: #D6D6D6;
  --field-border-hover: #B0B0B0;
  --field-ring: rgba(40,69,214,0.18);
  --text: #111111;
  --text-2: #555555;
  --text-3: #6B6B6B;
  --accent: #2845D6;
  --accent-hover: #1F37AD;
  --accent-subtle: #F1F4FF;
  --action: #111111;
  --action-hover: #333333;
  --on-action: #FFFFFF;
  --danger: #B3261E;
  --danger-subtle: #FEF3F2;
  --success: #1B7A47;
  --success-subtle: #F1FAF4;
  --warning: #8A5200;
  --warning-subtle: #FFF8EB;
  --overlay: rgba(17,17,17,0.36);

  --font-sans: "Haskoy", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "Commit Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --fs-display: 48px;  --lh-display: 52px;  --fw-display: 500;  --ls-display: -0.035em;
  --fs-title: 32px;  --lh-title: 38px;  --fw-title: 500;  --ls-title: -0.025em;
  --fs-heading: 20px;  --lh-heading: 28px;  --fw-heading: 500;  --ls-heading: -0.015em;
  --fs-subheading: 16px;  --lh-subheading: 24px;  --fw-subheading: 500;  --ls-subheading: -0.01em;
  --fs-body: 15px;  --lh-body: 24px;  --fw-body: 400;  --ls-body: 0;
  --fs-ui: 14px;  --lh-ui: 20px;  --fw-ui: 400;  --ls-ui: 0;
  --fs-small: 13px;  --lh-small: 20px;  --fw-small: 400;  --ls-small: 0;
  --fs-caption: 12px;  --lh-caption: 16px;  --fw-caption: 500;  --ls-caption: 0.005em;
  --fs-code: 13px;  --lh-code: 22px;  --fw-code: 400;  --ls-code: 0;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-full: 999px;
  --border-width: 1px;
  --shadow-none: none;
  --shadow-float: 0 1px 2px rgba(17,17,17,0.04), 0 6px 20px rgba(17,17,17,0.05);
  --shadow-field: 0 1px 1px rgba(17,17,17,0.04);
  --shadow-modal: 0 2px 4px rgba(17,17,17,0.04), 0 16px 48px rgba(17,17,17,0.08);
  --dur-instant: 80ms;
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --ease-out: cubic-bezier(0.2, 0, 0, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --z-sticky: 10;
  --z-menu: 20;
  --z-dialog: 30;
  --z-toast: 40;
  --z-tooltip: 50;
  --control-h: 32px;  --control-h-sm: 28px;  --control-h-lg: 36px;
  --field-h: 36px;  --field-h-sm: 32px;  --field-px: 12px;  --field-radius: var(--radius-md);
}

[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0C0C0D;
  --surface: #121213;
  --surface-2: #19191B;
  --surface-3: #222225;
  --border: #262629;
  --border-strong: #38383C;
  --border-control: #6E6E73;
  --field-bg: #111112;
  --field-affix: #18181B;
  --field-border: #333338;
  --field-border-hover: #4A4A50;
  --field-ring: rgba(140,160,255,0.28);
  --text: #ECECED;
  --text-2: #A3A3A8;
  --text-3: #8B8B90;
  --accent: #8CA0FF;
  --accent-hover: #A9B8FF;
  --accent-subtle: #161B36;
  --action: #ECECED;
  --action-hover: #FFFFFF;
  --on-action: #0C0C0D;
  --danger: #FF8C85;
  --danger-subtle: #2A1514;
  --success: #5ECB8B;
  --success-subtle: #11231A;
  --warning: #E9B44C;
  --warning-subtle: #271E0B;
  --overlay: rgba(0,0,0,0.64);
  --shadow-none: none;
  --shadow-float: 0 0 0 1px rgba(255,255,255,0.02), 0 8px 24px rgba(0,0,0,0.5);
  --shadow-field: none;
  --shadow-modal: 0 0 0 1px rgba(255,255,255,0.03), 0 16px 56px rgba(0,0,0,0.6);
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-instant: 0ms; --dur-fast: 0ms; --dur-base: 0ms; }
}
