/* Bauhaus design tokens — generated from tokens.json. Themes: light, dark (default: light).
   Switch theme with <html data-theme="dark">. */
:root, [data-theme="light"] {
  --ground: #f1ebdf;
  --ground-sunk: #e5dccb;
  --surface: #faf6ee;
  --ink: #141414;
  --ink-soft: #55504a;
  --hairline: #cbbfa9;
  --on-ink: #f1ebdf;
  --carbon: #141414;
  --red: #d0281e;
  --yellow: #f3b81a;
  --blue: #1d4f9f;
  --on-red: #fbf6ec;
  --on-blue: #fbf6ec;
  --on-yellow: var(--carbon);
  --red-text: #b3221a;
  --blue-text: #1d4f9f;
  --focus: #1d4f9f;
  --scrim: rgba(20, 20, 20, 0.55);
  --plane-sm: 3px 3px 0 #141414;
  --plane-md: 6px 6px 0 #141414;
  --plane-lg: 12px 12px 0 #141414;
  --plane-red: 6px 6px 0 #d0281e;
  --plane-yellow: 6px 6px 0 #f3b81a;
  --plane-blue: 6px 6px 0 #1d4f9f;
  --rule-inset: inset 0 0 0 2px #141414;
  color-scheme: light;
}
[data-theme="dark"] {
  --ground: #1b1a19;
  --ground-sunk: #121110;
  --surface: #252321;
  --ink: #f1ebdf;
  --ink-soft: #b0a899;
  --hairline: #3d3a36;
  --on-ink: #1b1a19;
  --blue: #2f63bd;
  --red-text: #ff7a66;
  --blue-text: #8fb0f0;
  --focus: #f3b81a;
  --scrim: rgba(0, 0, 0, 0.7);
  --plane-sm: 3px 3px 0 #000000;
  --plane-md: 6px 6px 0 #000000;
  --plane-lg: 12px 12px 0 #000000;
  --plane-blue: 6px 6px 0 #2f63bd;
  --rule-inset: inset 0 0 0 2px #f1ebdf;
  color-scheme: dark;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-none: 0;
  --radius-hair: 2px;
  --radius-arc: 48px;
  --radius-full: 9999px;
  --stroke-rule: 2px;
  --stroke-bar: 6px;
  --stroke-slab: 12px;
  --dur-tap: 90ms;
  --dur-quick: 160ms;
  --dur-move: 280ms;
  --dur-roll: 460ms;
  --dur-build: 720ms;
  --dur-stagger: 70ms;
  --ease-click: cubic-bezier(0.2, 1.3, 0.35, 1);
  --ease-slide: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-shoot: cubic-bezier(0.75, 0, 0.15, 1);
  --ease-roll: cubic-bezier(0.45, 0.05, 0.2, 1);
  --ease-out: cubic-bezier(0.5, 0, 0.75, 0);
  --font-display: "Syne", "Futura", "Century Gothic", "Avenir Next", system-ui, sans-serif;
  --font-body: "Kumbh Sans", "Futura", "Avenir Next", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --type-display-family: var(--font-display);
  --type-display-size: 76px;
  --type-display-line: 70px;
  --type-display-weight: 800;
  --type-display-tracking: -0.02em;
  --type-headline-family: var(--font-display);
  --type-headline-size: 40px;
  --type-headline-line: 40px;
  --type-headline-weight: 800;
  --type-headline-tracking: -0.01em;
  --type-title-family: var(--font-display);
  --type-title-size: 22px;
  --type-title-line: 26px;
  --type-title-weight: 700;
  --type-numeral-family: var(--font-display);
  --type-numeral-size: 64px;
  --type-numeral-line: 56px;
  --type-numeral-weight: 800;
  --type-numeral-tracking: -0.03em;
  --type-body-family: var(--font-body);
  --type-body-size: 16px;
  --type-body-line: 24px;
  --type-body-weight: 400;
  --type-body-sm-family: var(--font-body);
  --type-body-sm-size: 14px;
  --type-body-sm-line: 20px;
  --type-body-sm-weight: 400;
  --type-label-family: var(--font-body);
  --type-label-size: 12px;
  --type-label-line: 16px;
  --type-label-weight: 700;
  --type-label-tracking: 0.14em;
}
/* Type styles as utility classes (optional) */
.type-display { font-family: var(--type-display-family); font-size: var(--type-display-size); line-height: var(--type-display-line); font-weight: var(--type-display-weight); letter-spacing: var(--type-display-tracking); }
.type-headline { font-family: var(--type-headline-family); font-size: var(--type-headline-size); line-height: var(--type-headline-line); font-weight: var(--type-headline-weight); letter-spacing: var(--type-headline-tracking); }
.type-title { font-family: var(--type-title-family); font-size: var(--type-title-size); line-height: var(--type-title-line); font-weight: var(--type-title-weight); }
.type-numeral { font-family: var(--type-numeral-family); font-size: var(--type-numeral-size); line-height: var(--type-numeral-line); font-weight: var(--type-numeral-weight); letter-spacing: var(--type-numeral-tracking); }
.type-body { font-family: var(--type-body-family); font-size: var(--type-body-size); line-height: var(--type-body-line); font-weight: var(--type-body-weight); }
.type-body-sm { font-family: var(--type-body-sm-family); font-size: var(--type-body-sm-size); line-height: var(--type-body-sm-line); font-weight: var(--type-body-sm-weight); }
.type-label { font-family: var(--type-label-family); font-size: var(--type-label-size); line-height: var(--type-label-line); font-weight: var(--type-label-weight); letter-spacing: var(--type-label-tracking); }
