/* Generated by scripts/design-md/build.mjs — do not edit by hand. */
/* Source of truth: DESIGN.md */
:root {
  --color-primary: #5e6ad2;
  --color-primary-hover: #828fff;
  --color-primary-soft: rgba(94,106,210,0.15);
  --color-on-primary: #ffffff;
  --color-accent: #7170ff;
  --color-accent-hover: #828fff;
  --color-secondary: #191a1b;
  --color-on-secondary: #d0d6e0;
  --color-tertiary: #27a644;
  --color-on-tertiary: #ffffff;
  --color-accent-ruby: #e5534b;
  --color-accent-magenta: #7170ff;
  --color-accent-magenta-soft: rgba(113,112,255,0.12);
  --color-success: #27a644;
  --color-success-soft: rgba(39,166,68,0.15);
  --color-on-success-soft: #4ade80;
  --color-warning: #9b6829;
  --color-warning-soft: rgba(155,104,41,0.15);
  --color-on-warning-soft: #fbbf24;
  --color-danger: #e5534b;
  --color-danger-soft: rgba(229,83,75,0.15);
  --color-on-danger-soft: #f87171;
  --color-info: #7a7fad;
  --color-info-soft: rgba(122,127,173,0.15);
  --color-on-info-soft: #a5b4fc;
  --color-surface: #08090a;
  --color-surface-muted: #0f1011;
  --color-surface-sunken: #191a1b;
  --color-surface-inverse: #0f1011;
  --color-on-surface: #f7f8f8;
  --color-on-surface-muted: #d0d6e0;
  --color-on-surface-subtle: #8a8f98;
  --color-on-surface-inverse: #d0d6e0;
  --color-outline: rgba(255,255,255,0.08);
  --color-outline-strong: rgba(255,255,255,0.12);
  --color-outline-focus: #7170ff;
  --color-chart-1: #5e6ad2;
  --color-chart-2: #10b981;
  --color-chart-3: #7170ff;
  --color-chart-4: #27a644;
  --color-chart-5: #f59e0b;
  --color-chart-6: #d0d6e0;
  --space-unit: 8px;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-gutter: 24px;
  --space-card-padding: 24px;
  --space-card-gap: 16px;
  --space-section-margin: 48px;
  --radius-none: 0px;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-default: 6px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 22px;
  --radius-full: 9999px;
  --shadow-flat: none;
  --shadow-sm: rgba(0,0,0,0.03) 0px 1.2px 0px 0px;
  --shadow-md: rgba(0,0,0,0.2) 0px 0px 0px 1px;
  --shadow-lg: rgba(0,0,0,0.4) 0px 2px 4px;
  --shadow-xl: rgba(0,0,0,0) 0px 8px 2px, rgba(0,0,0,0.01) 0px 5px 2px, rgba(0,0,0,0.04) 0px 3px 2px, rgba(0,0,0,0.07) 0px 1px 1px, rgba(0,0,0,0.08) 0px 0px 1px;
  --shadow-focus-ring: 0 0 0 2px #7170ff, 0 0 0 4px rgba(113,112,255,0.15);
  --font-family-display-lg: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-display-lg: 48px;
  --font-weight-display-lg: 510;
  --line-height-display-lg: 1;
  --letter-spacing-display-lg: -1.056px;
  --font-family-display-md: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-display-md: 32px;
  --font-weight-display-md: 510;
  --line-height-display-md: 1;
  --letter-spacing-display-md: -0.704px;
  --font-family-headline-lg: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-headline-lg: 24px;
  --font-weight-headline-lg: 400;
  --line-height-headline-lg: 1.33;
  --letter-spacing-headline-lg: -0.288px;
  --font-family-headline-md: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-headline-md: 20px;
  --font-weight-headline-md: 590;
  --line-height-headline-md: 1.33;
  --letter-spacing-headline-md: -0.24px;
  --font-family-headline-sm: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-headline-sm: 18px;
  --font-weight-headline-sm: 400;
  --line-height-headline-sm: 1.6;
  --letter-spacing-headline-sm: -0.165px;
  --font-family-body-lg: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-body-lg: 18px;
  --font-weight-body-lg: 400;
  --line-height-body-lg: 1.6;
  --letter-spacing-body-lg: -0.165px;
  --font-family-body-md: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-body-md: 16px;
  --font-weight-body-md: 510;
  --line-height-body-md: 1.5;
  --font-family-body-sm: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-body-sm: 15px;
  --font-weight-body-sm: 400;
  --line-height-body-sm: 1.6;
  --letter-spacing-body-sm: -0.165px;
  --font-family-label-lg: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-label-lg: 14px;
  --font-weight-label-lg: 510;
  --line-height-label-lg: 1.5;
  --letter-spacing-label-lg: -0.182px;
  --font-family-label-md: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-label-md: 13px;
  --font-weight-label-md: 510;
  --line-height-label-md: 1.5;
  --letter-spacing-label-md: -0.13px;
  --font-family-label-sm: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-label-sm: 12px;
  --font-weight-label-sm: 510;
  --line-height-label-sm: 1.4;
  --font-family-metric-lg: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-metric-lg: 32px;
  --font-weight-metric-lg: 510;
  --line-height-metric-lg: 1.1;
  --letter-spacing-metric-lg: -0.64px;
  --font-family-metric-md: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-metric-md: 20px;
  --font-weight-metric-md: 510;
  --line-height-metric-md: 1.12;
  --letter-spacing-metric-md: -0.26px;
  --font-family-caption: 'Inter Variable', Inter, 'SF Pro Display', system-ui, sans-serif;
  --font-size-caption: 12px;
  --font-weight-caption: 510;
  --line-height-caption: 1.4;
  --font-family-code: 'Berkeley Mono', 'ui-monospace', 'SF Mono', Menlo, Consolas, monospace;
  --font-size-code: 13px;
  --font-weight-code: 400;
  --line-height-code: 1.5;
}

.text-display-lg {
  font-family: var(--font-family-display-lg);
  font-size: var(--font-size-display-lg);
  font-weight: var(--font-weight-display-lg);
  line-height: var(--line-height-display-lg);
  letter-spacing: var(--letter-spacing-display-lg);
  font-feature-settings: "cv01", "ss03";
}
.text-display-md {
  font-family: var(--font-family-display-md);
  font-size: var(--font-size-display-md);
  font-weight: var(--font-weight-display-md);
  line-height: var(--line-height-display-md);
  letter-spacing: var(--letter-spacing-display-md);
  font-feature-settings: "cv01", "ss03";
}
.text-headline-lg {
  font-family: var(--font-family-headline-lg);
  font-size: var(--font-size-headline-lg);
  font-weight: var(--font-weight-headline-lg);
  line-height: var(--line-height-headline-lg);
  letter-spacing: var(--letter-spacing-headline-lg);
  font-feature-settings: "cv01", "ss03";
}
.text-headline-md {
  font-family: var(--font-family-headline-md);
  font-size: var(--font-size-headline-md);
  font-weight: var(--font-weight-headline-md);
  line-height: var(--line-height-headline-md);
  letter-spacing: var(--letter-spacing-headline-md);
  font-feature-settings: "cv01", "ss03";
}
.text-headline-sm {
  font-family: var(--font-family-headline-sm);
  font-size: var(--font-size-headline-sm);
  font-weight: var(--font-weight-headline-sm);
  line-height: var(--line-height-headline-sm);
  letter-spacing: var(--letter-spacing-headline-sm);
  font-feature-settings: "cv01", "ss03";
}
.text-body-lg {
  font-family: var(--font-family-body-lg);
  font-size: var(--font-size-body-lg);
  font-weight: var(--font-weight-body-lg);
  line-height: var(--line-height-body-lg);
  letter-spacing: var(--letter-spacing-body-lg);
  font-feature-settings: "cv01", "ss03";
}
.text-body-md {
  font-family: var(--font-family-body-md);
  font-size: var(--font-size-body-md);
  font-weight: var(--font-weight-body-md);
  line-height: var(--line-height-body-md);
  font-feature-settings: "cv01", "ss03";
}
.text-body-sm {
  font-family: var(--font-family-body-sm);
  font-size: var(--font-size-body-sm);
  font-weight: var(--font-weight-body-sm);
  line-height: var(--line-height-body-sm);
  letter-spacing: var(--letter-spacing-body-sm);
  font-feature-settings: "cv01", "ss03";
}
.text-label-lg {
  font-family: var(--font-family-label-lg);
  font-size: var(--font-size-label-lg);
  font-weight: var(--font-weight-label-lg);
  line-height: var(--line-height-label-lg);
  letter-spacing: var(--letter-spacing-label-lg);
  font-feature-settings: "cv01", "ss03";
}
.text-label-md {
  font-family: var(--font-family-label-md);
  font-size: var(--font-size-label-md);
  font-weight: var(--font-weight-label-md);
  line-height: var(--line-height-label-md);
  letter-spacing: var(--letter-spacing-label-md);
  font-feature-settings: "cv01", "ss03";
}
.text-label-sm {
  font-family: var(--font-family-label-sm);
  font-size: var(--font-size-label-sm);
  font-weight: var(--font-weight-label-sm);
  line-height: var(--line-height-label-sm);
  font-feature-settings: "cv01", "ss03";
}
.text-metric-lg {
  font-family: var(--font-family-metric-lg);
  font-size: var(--font-size-metric-lg);
  font-weight: var(--font-weight-metric-lg);
  line-height: var(--line-height-metric-lg);
  letter-spacing: var(--letter-spacing-metric-lg);
  font-feature-settings: "tnum", "cv01";
}
.text-metric-md {
  font-family: var(--font-family-metric-md);
  font-size: var(--font-size-metric-md);
  font-weight: var(--font-weight-metric-md);
  line-height: var(--line-height-metric-md);
  letter-spacing: var(--letter-spacing-metric-md);
  font-feature-settings: "tnum", "cv01";
}
.text-caption {
  font-family: var(--font-family-caption);
  font-size: var(--font-size-caption);
  font-weight: var(--font-weight-caption);
  line-height: var(--line-height-caption);
  font-feature-settings: "cv01", "ss03";
}
.text-code {
  font-family: var(--font-family-code);
  font-size: var(--font-size-code);
  font-weight: var(--font-weight-code);
  line-height: var(--line-height-code);
}