/* Overprint design tokens — generated from tokens.json. Themes: light, dark (default: light).
   Switch theme with <html data-theme="dark">. */
:root, [data-theme="light"] {
  --paper: #f3eee2;
  --paper-card: #fbf8f0;
  --paper-shade: #e7e0cf;
  --rule: #cdc4b0;
  --ink: #1c1f3d;
  --ink-muted: #575a72;
  --pink: #ff48b0;
  --pink-text: #b8106f;
  --blue: #2f54a6;
  --yellow: #ffe03a;
  --mix-violet: #3a1f78;
  --mix-red: #c42a19;
  --mix-olive: #3d5a1e;
  --on-deep: #fbf8f0;
  --on-bright: #1c1f3d;
  --scrim: rgba(28, 31, 61, 0.42);
  --misreg-1: 2px 2px 0 0 #ff48b0;
  --misreg-2: 3px 3px 0 0 #ff48b0;
  --misreg-blue: -2px 2px 0 0 #2f54a6;
  --lift-1: 0 1px 1px #1c1f3d14, 0 3px 8px -3px #1c1f3d33;
  --lift-2: 0 2px 2px #1c1f3d14, 0 12px 22px -10px #1c1f3d52;
  --lift-3: 0 4px 6px #1c1f3d1a, 0 28px 48px -16px #1c1f3d66;
  --well: inset 0 1px 2px #1c1f3d2e;
  color-scheme: light;
}
[data-theme="dark"] {
  --paper: #1a191e;
  --paper-card: #25232b;
  --paper-shade: #111014;
  --rule: #3d3a45;
  --ink: #f1ebdd;
  --ink-muted: #b2acb9;
  --pink: #ff5cbc;
  --pink-text: #ff7ac9;
  --blue: #7c98f2;
  --yellow: #ffe14a;
  --mix-violet: #c9a6ff;
  --mix-red: #ff6b4f;
  --mix-olive: #b3cf6e;
  --on-deep: #16151a;
  --on-bright: #16151a;
  --scrim: rgba(0, 0, 0, 0.62);
  --misreg-1: 2px 2px 0 0 #ff5cbc;
  --misreg-2: 3px 3px 0 0 #ff5cbc;
  --misreg-blue: -2px 2px 0 0 #7c98f2;
  --lift-1: 0 1px 1px #00000066, 0 4px 10px -3px #000000a6;
  --lift-2: 0 2px 2px #00000080, 0 14px 24px -10px #000000c7;
  --lift-3: 0 4px 6px #00000099, 0 28px 48px -16px #000000e6;
  --well: inset 0 1px 3px #000000b3;
  color-scheme: dark;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --radius-0: 0px;
  --radius-1: 2px;
  --radius-2: 4px;
  --radius-round: 9999px;
  --dur-snap: 120ms;
  --dur-quick: 180ms;
  --dur-settle: 240ms;
  --dur-slide: 320ms;
  --dur-kiss: 380ms;
  --ease-press: cubic-bezier(0.5, 0, 0.75, 0);
  --ease-stamp: cubic-bezier(0.34, 1.4, 0.64, 1);
  --ease-paper: cubic-bezier(0.22, 0.8, 0.24, 1);
  --ease-drift: cubic-bezier(0.45, 0.05, 0.35, 1);
  --font-display: "Bricolage Grotesque", "Arial Narrow", system-ui, sans-serif;
  --font-body: "Newsreader", Georgia, "Times New Roman", serif;
  --font-mono: "Courier Prime", "Courier New", ui-monospace, monospace;
  --type-display-family: var(--font-display);
  --type-display-size: 64px;
  --type-display-line: 0.92;
  --type-display-weight: 800;
  --type-display-tracking: -0.03em;
  --type-title-family: var(--font-display);
  --type-title-size: 36px;
  --type-title-line: 1;
  --type-title-weight: 800;
  --type-title-tracking: -0.02em;
  --type-heading-family: var(--font-display);
  --type-heading-size: 22px;
  --type-heading-line: 1.15;
  --type-heading-weight: 700;
  --type-heading-tracking: -0.01em;
  --type-numeric-family: var(--font-display);
  --type-numeric-size: 44px;
  --type-numeric-line: 1;
  --type-numeric-weight: 800;
  --type-numeric-tracking: -0.02em;
  --type-body-family: var(--font-body);
  --type-body-size: 17px;
  --type-body-line: 1.5;
  --type-body-weight: 400;
  --type-body-sm-family: var(--font-body);
  --type-body-sm-size: 15px;
  --type-body-sm-line: 1.45;
  --type-body-sm-weight: 400;
  --type-label-family: var(--font-mono);
  --type-label-size: 13px;
  --type-label-line: 16px;
  --type-label-weight: 700;
  --type-label-tracking: 0.06em;
  --type-caption-family: var(--font-mono);
  --type-caption-size: 12px;
  --type-caption-line: 16px;
  --type-caption-weight: 400;
  --type-caption-tracking: 0.04em;
}
/* 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); letter-spacing: var(--type-heading-tracking); }
.type-numeric { font-family: var(--type-numeric-family); font-size: var(--type-numeric-size); line-height: var(--type-numeric-line); font-weight: var(--type-numeric-weight); letter-spacing: var(--type-numeric-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); }
.type-caption { font-family: var(--type-caption-family); font-size: var(--type-caption-size); line-height: var(--type-caption-line); font-weight: var(--type-caption-weight); letter-spacing: var(--type-caption-tracking); }
