/* Vital design tokens — generated from tokens.json. Themes: light, dark (default: light).
   Switch theme with <html data-theme="dark">. */
:root, [data-theme="light"] {
  --page: #f4efe6;
  --surface: #fffdf8;
  --surface-sunk: #ece5d8;
  --line: #ddd3c3;
  --line-strong: #66737c;
  --ink: #12232b;
  --ink-soft: #3b4a53;
  --primary: #0b5866;
  --primary-deep: #053b45;
  --primary-tint: #e6f3f1;
  --on-primary: #ffffff;
  --well: #145536;
  --well-tint: #ddf2e3;
  --attention: #6c3b00;
  --attention-tint: #fce8c0;
  --urgent: #8f1b14;
  --urgent-tint: #fce4de;
  --focus: #b04a00;
  --shadow-sm: 0 1px 2px #12232b14, 0 2px 6px #12232b0f;
  --shadow-md: 0 2px 4px #12232b14, 0 8px 20px #12232b17;
  --shadow-lg: 0 4px 10px #12232b17, 0 24px 48px #12232b24;
  --shadow-inset: inset 0 1px 2px #12232b1f;
  --shadow-pressed: inset 0 2px 4px #12232b2e;
  color-scheme: light;
}
[data-theme="dark"] {
  --page: #0d191e;
  --surface: #14242b;
  --surface-sunk: #0a1418;
  --line: #2a3d45;
  --line-strong: #7f949d;
  --ink: #eef4f2;
  --ink-soft: #b5c5c7;
  --primary: #68d1c7;
  --primary-deep: #2b8f87;
  --primary-tint: #123236;
  --on-primary: #05211f;
  --well: #8adca8;
  --well-tint: #163a26;
  --attention: #f7c66e;
  --attention-tint: #3c2d10;
  --urgent: #ff9e92;
  --urgent-tint: #43201c;
  --focus: #ffc857;
  --shadow-sm: 0 1px 2px #00000059, 0 2px 6px #00000040;
  --shadow-md: 0 2px 4px #00000066, 0 8px 20px #0000004d;
  --shadow-lg: 0 4px 10px #00000073, 0 24px 48px #00000080;
  --shadow-inset: inset 0 1px 2px #00000080;
  --shadow-pressed: inset 0 2px 4px #00000099;
  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;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-full: 9999px;
  --dur-press: 90ms;
  --dur-quick: 160ms;
  --dur-settle: 280ms;
  --dur-calm: 360ms;
  --dur-slide: 420ms;
  --dur-beat: 1600ms;
  --ease-press: cubic-bezier(.3, 0, .5, 1);
  --ease-settle: cubic-bezier(.2, 1.3, .4, 1);
  --ease-calm: cubic-bezier(.25, .8, .25, 1);
  --ease-slide: cubic-bezier(.65, 0, .35, 1);
  --ease-beat: cubic-bezier(.45, .05, .55, .95);
  --font-serif: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
  --font-sans: "Source Sans 3", "Source Sans Pro", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --type-display-family: var(--font-serif);
  --type-display-size: 56px;
  --type-display-line: 62px;
  --type-display-weight: 600;
  --type-display-tracking: -0.015em;
  --type-title-family: var(--font-serif);
  --type-title-size: 36px;
  --type-title-line: 44px;
  --type-title-weight: 600;
  --type-title-tracking: -0.01em;
  --type-heading-family: var(--font-serif);
  --type-heading-size: 24px;
  --type-heading-line: 32px;
  --type-heading-weight: 600;
  --type-lead-family: var(--font-sans);
  --type-lead-size: 21px;
  --type-lead-line: 32px;
  --type-lead-weight: 400;
  --type-body-family: var(--font-sans);
  --type-body-size: 18px;
  --type-body-line: 28px;
  --type-body-weight: 400;
  --type-label-family: var(--font-sans);
  --type-label-size: 17px;
  --type-label-line: 24px;
  --type-label-weight: 600;
  --type-small-family: var(--font-sans);
  --type-small-size: 15px;
  --type-small-line: 22px;
  --type-small-weight: 400;
  --type-figure-family: var(--font-sans);
  --type-figure-size: 40px;
  --type-figure-line: 44px;
  --type-figure-weight: 600;
  --type-figure-tracking: -0.01em;
}
/* 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-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); letter-spacing: var(--type-title-tracking); }
.type-heading { font-family: var(--type-heading-family); font-size: var(--type-heading-size); line-height: var(--type-heading-line); font-weight: var(--type-heading-weight); }
.type-lead { font-family: var(--type-lead-family); font-size: var(--type-lead-size); line-height: var(--type-lead-line); font-weight: var(--type-lead-weight); }
.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-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); }
.type-small { font-family: var(--type-small-family); font-size: var(--type-small-size); line-height: var(--type-small-line); font-weight: var(--type-small-weight); }
.type-figure { font-family: var(--type-figure-family); font-size: var(--type-figure-size); line-height: var(--type-figure-line); font-weight: var(--type-figure-weight); letter-spacing: var(--type-figure-tracking); }
