/* teilefund.at – Design-Tokens (03.10.2026)
   Quelle: design/tokens/{colors,typography,spacing,effects}.css aus Claude Design.
   Schriften selbst gehostet unter /assets/fonts/ (kein Google Fonts). */

/* --- Schriften: Sora 400/500/600/700, Space Grotesk 500/700 (latin + latin-ext) --- */
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('/assets/fonts/sora-latin-ext-400-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('/assets/fonts/sora-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('/assets/fonts/sora-latin-ext-500-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('/assets/fonts/sora-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('/assets/fonts/sora-latin-ext-600-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('/assets/fonts/sora-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('/assets/fonts/sora-latin-ext-700-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('/assets/fonts/sora-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('/assets/fonts/space-grotesk-latin-ext-500-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('/assets/fonts/space-grotesk-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('/assets/fonts/space-grotesk-latin-ext-700-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('/assets/fonts/space-grotesk-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* --- colors --- */
:root {
  /* Basis – Palette 2f „Schiefer · Türkisgrün · Senf“ */
  --tf-schiefer: #2E3A3F;
  --tf-schiefer-2: #4A585E;
  --tf-schiefer-3: #6F7C81;
  --tf-tuerkis: #2A9D8F;
  --tf-tuerkis-dunkel: #1F7A6F;
  --tf-tuerkis-hell: #7FD1C5;
  --tf-tuerkis-10: #E3F2EF;
  --tf-senf: #E9B44C;
  --tf-senf-dunkel: #B9861E;
  --tf-senf-10: #FBF1D9;
  --tf-papier: #F2F3EE;
  --tf-papier-2: #E8EAE3;
  --tf-weiss: #FFFFFF;
  --tf-linie: #D8DBD3;
  --tf-rost: #C4553B;
  --tf-rost-10: #F8E4DE;

  /* Semantik */
  --bg-page: var(--tf-papier);
  --bg-sunken: var(--tf-papier-2);
  --surface-card: var(--tf-weiss);
  --surface-brand: var(--tf-tuerkis);
  --surface-brand-soft: var(--tf-tuerkis-10);
  --surface-accent: var(--tf-senf);
  --surface-accent-soft: var(--tf-senf-10);
  --surface-inverse: var(--tf-schiefer);

  --text-primary: var(--tf-schiefer);
  --text-secondary: var(--tf-schiefer-2);
  --text-muted: var(--tf-schiefer-3);
  --text-on-brand: var(--tf-weiss);
  --text-on-accent: var(--tf-schiefer);
  --text-on-inverse: var(--tf-papier);
  --text-link: var(--tf-tuerkis-dunkel);
  --text-link-hover: var(--tf-schiefer);

  --border-default: var(--tf-linie);
  --border-strong: var(--tf-schiefer-3);
  --border-focus: var(--tf-tuerkis);

  --action-primary: var(--tf-tuerkis-dunkel);
  --action-primary-hover: #19655C;
  --action-primary-active: #134F48;
  --action-secondary: var(--tf-senf);
  --action-secondary-hover: #DFA63A;

  --status-success: var(--tf-tuerkis-dunkel);
  --status-success-soft: var(--tf-tuerkis-10);
  --status-warning: var(--tf-senf-dunkel);
  --status-warning-soft: var(--tf-senf-10);
  --status-danger: var(--tf-rost);
  --status-danger-soft: var(--tf-rost-10);
}

/* --- typography --- */
:root {
  --font-display: "Sora", "Segoe UI", system-ui, sans-serif;
  --font-body: "Sora", "Segoe UI", system-ui, sans-serif;
  --font-mono: "Space Grotesk", ui-monospace, monospace;

  --text-xs: 12px;
  --text-sm: 13px;
  --text-base: 15px;
  --text-md: 17px;
  --text-lg: 20px;
  --text-xl: 24px;
  --text-2xl: 32px;
  --text-3xl: 44px;
  --text-4xl: 60px;

  --leading-tight: 1.1;
  --leading-snug: 1.3;
  --leading-normal: 1.5;

  --tracking-display: -0.03em;
  --tracking-body: 0;
  --tracking-label: 0.08em;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
}

/* --- spacing --- */
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;

  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 18px;
  --radius-2xl: 24px;
  --radius-pill: 999px;

  --container-max: 1200px;
  --control-h-sm: 36px;
  --control-h-md: 44px;
  --control-h-lg: 52px;
}

/* --- effects --- */
:root {
  --shadow-sm: 0 1px 2px rgba(46,58,63,.06);
  --shadow-md: 0 4px 14px rgba(46,58,63,.10);
  --shadow-lg: 0 14px 36px rgba(46,58,63,.16);
  --shadow-focus: 0 0 0 3px rgba(42,157,143,.35);
  --ease-out: cubic-bezier(.2,.7,.2,1);
  --dur-fast: 120ms;
  --dur-base: 200ms;
}

