/* Deutscher Sportgerichtstag — generated from tokens.json */
:root, [data-theme="light"] {
  --surface: #f7f5f0;
  --surface-raised: #ffffff;
  --surface-sunken: #ece8df;
  --ink: #1b1f26;
  --ink-muted: #5a606a;
  --brand: #1f3a5f;
  --brand-strong: #142844;
  --on-brand: #ffffff;
  --accent: #8a6318;
  --accent-fill: #c9a24a;
  --on-accent: #1b1f26;
  --line: #cfc9bc;
  --line-strong: #8a8478;
  --focus: #1f3a5f;
  --success: #2f6b3a;
  --danger: #9e2a2b;
  --shadow-overlay: 0 8px 24px rgba(27, 31, 38, 0.16);
}
[data-theme="dark"] {
  --surface: #15191f;
  --surface-raised: #1d232b;
  --surface-sunken: #0f1216;
  --ink: #ebe7df;
  --ink-muted: #a3a9b3;
  --brand: #9bb8de;
  --brand-strong: #c3d6f0;
  --on-brand: #0f1a2b;
  --accent: #d9b35c;
  --accent-fill: #d9b35c;
  --on-accent: #1b1f26;
  --line: #2f3842;
  --line-strong: #6b7684;
  --focus: #9bb8de;
  --success: #7fc08c;
  --danger: #e38b8b;
  --shadow-overlay: 0 8px 24px rgba(0, 0, 0, 0.6);
}
: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;
  --radius-none: 0px;
  --radius-sm: 2px;
  --radius-md: 4px;
  --font-serif: "Newsreader", "Georgia", "Times New Roman", serif;
  --font-sans: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
}
.display-1 { font-family: var(--font-serif); font-size: 48px; line-height: 54px; font-weight: 500; letter-spacing: -0.01em }
.display-2 { font-family: var(--font-serif); font-size: 36px; line-height: 42px; font-weight: 500; letter-spacing: -0.005em }
.heading-1 { font-family: var(--font-serif); font-size: 28px; line-height: 34px; font-weight: 500 }
.heading-2 { font-family: var(--font-serif); font-size: 22px; line-height: 28px; font-weight: 500 }
.quote { font-family: var(--font-serif); font-size: 22px; line-height: 32px; font-weight: 400; font-style: italic }
.heading-3 { font-family: var(--font-sans); font-size: 17px; line-height: 24px; font-weight: 600 }
.body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 28px; font-weight: 400 }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 26px; font-weight: 400 }
.body-sm { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400 }
.label { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: 0.06em }
.footnote { font-family: var(--font-sans); font-size: 12px; line-height: 18px; font-weight: 400 }
