/* DAPPER works: kleuren, maten en lettertypen (uit het design system) */
:root, [data-theme="light"] {
  --neutral-50: #f7f6f2;
  --neutral-100: #efeee6;
  --neutral-200: #e2e0d5;
  --neutral-300: #cbc8b9;
  --neutral-400: #a8a493;
  --neutral-500: #83806f;
  --neutral-600: #625f52;
  --neutral-700: #47453b;
  --neutral-800: #302f28;
  --neutral-900: #1d1c18;
  --pine-500: #4c5b4e;
  --pine-600: #3e4b40;
  --pine-700: #313c33;
  --pine-900: #0f2a1b;
  --oker-500: #8a5e0b;
  --oker-600: #7c540a;
  --clay-500: var(--oker-500);
  --clay-600: var(--oker-600);
  --paper: #faf9f5;
  --white: #ffffff;
  --success: #4c5b4e;
  --warning: #a15c3e;
  --error: #8c3a2b;
  --color-bg: var(--paper);
  --color-surface: var(--white);
  --color-surface-sunken: var(--paper);
  --color-border: var(--neutral-200);
  --color-border-strong: var(--neutral-400);
  --color-ink: var(--neutral-900);
  --color-text-body: var(--neutral-800);
  --color-text-muted: var(--neutral-600);
  --color-text-inverse: var(--neutral-50);
  --color-primary: var(--pine-500);
  --color-primary-hover: var(--pine-600);
  --color-primary-active: var(--pine-700);
  --color-accent: var(--oker-500);
  --color-accent-hover: var(--oker-600);
  --color-focus-ring: var(--pine-500);
  --shadow-card: 0 1px 2px rgba(29,28,24,0.06), 0 4px 16px rgba(29,28,24,0.06);
  --shadow-raised: 0 8px 24px rgba(29,28,24,0.10);
}
: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;
  --space-9: 96px;
  --space-10: 128px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --fs-display-2xl: 6rem;
  --fs-display-xl: 4.5rem;
  --fs-display-lg: 3.5rem;
  --fs-display-md: 2.5rem;
  --fs-heading-lg: 1.75rem;
  --fs-heading-md: 1.375rem;
  --fs-heading-sm: 1.125rem;
  --fs-body-lg: 1.1875rem;
  --fs-body-md: 1rem;
  --fs-body-sm: 0.875rem;
  --fs-label: 0.75rem;
  --lh-tight: 1.05;
  --lh-snug: 1.25;
  --lh-normal: 1.5;
  --lh-relaxed: 1.65;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --ls-label: 0.08em;
  --font-display: "Source Serif 4", Georgia, serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
}
.display-2xl { font-family: var(--font-display); font-size: 6rem; line-height: 1.05; font-weight: 400; }
.display-xl { font-family: var(--font-display); font-size: 4.5rem; line-height: 1.05; font-weight: 400; }
.display-lg { font-family: var(--font-display); font-size: 3.5rem; line-height: 1.05; font-weight: 400; }
.display-md { font-family: var(--font-display); font-size: 2.5rem; line-height: 1.05; font-weight: 400; }
.heading-lg { font-family: var(--font-body); font-size: 1.75rem; font-weight: 600; }
.heading-md { font-family: var(--font-body); font-size: 1.375rem; font-weight: 600; }
.heading-sm { font-family: var(--font-body); font-size: 1.125rem; font-weight: 600; }
.body-lg { font-family: var(--font-body); font-size: 1.1875rem; line-height: 1.5; }
.body-md { font-family: var(--font-body); font-size: 1rem; line-height: 1.5; }
.body-sm { font-family: var(--font-body); font-size: 0.875rem; line-height: 1.5; }
.label { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.08em; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("../fonts/source-serif-4-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("../fonts/source-serif-4-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("../fonts/source-serif-4-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("../fonts/source-serif-4-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
