/* =========================================================
   TTC Bonn-Ippendorf e. V.
   tokens.css — Schriften und Design-Tokens

   Farben stammen direkt aus dem Vereinslogo:
   Grün #0B7D12, Schwarz, Weiß.

   Schriftstrategie: eine Familie in zwei Rollen (Archivo, breit
   gelaufen für Display, normal für Text) plus eine technische
   Mono ausschließlich für Zahlen und Marken. Kein dritter Ton.
   ========================================================= */

/* --- Schriften, lokal gehostet (DSGVO: kein externer Font-CDN) ---
   Archivo        — SIL Open Font License 1.1
   JetBrains Mono — SIL Open Font License 1.1
   ---------------------------------------------------------------- */

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url('../fonts/archivo-latin.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: 'Archivo';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url('../fonts/archivo-latin-ext.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/jetbrainsmono-latin.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/jetbrainsmono-latin-ext.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;
}

:root {
  /* --- Farbrollen ------------------------------------------------ */
  --gruen: #0b7d12;         /* Logogrün. Auf hellem Grund.            */
  --gruen-tief: #06520b;    /* Gedrückter Zustand.                    */
  --gruen-hell: #2fc93b;    /* Logogrün aufgehellt. Auf dunklem Grund.*/
  --gruen-schleier: rgba(11, 125, 18, 0.07);

  --schwarz: #0a0a0a;
  --schwarz-weich: #151515;
  --schwarz-tief: #050505;
  --papier: #f4f3ef;        /* Helle Grundfläche, leicht warm.        */
  --papier-rein: #ffffff;

  --linie: #dedcd4;
  --linie-stark: #c4c1b6;
  --linie-dunkel: #262626;
  --text-leise: #57554e;
  --text-leise-invers: #9d9a92;

  /* Semantische Zuweisung, hell */
  --grund: var(--papier);
  --tinte: var(--schwarz);
  --tinte-leise: var(--text-leise);
  --akzent: var(--gruen);
  --flaeche: var(--papier-rein);

  /* --- Typografie ------------------------------------------------- */
  --schrift-display: 'Archivo', 'Helvetica Neue', Arial, system-ui, sans-serif;
  --schrift-text: 'Archivo', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --schrift-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;

  /* Eine gestufte Skala. Der Sprung zwischen Auftakt und Claim
     trägt die Hierarchie, nicht die schiere Größe.                  */
  --text-claim: clamp(2.3rem, 1.4rem + 3.7vw, 4.5rem);
  --text-auftakt: clamp(1.05rem, 0.92rem + 0.62vw, 1.5rem);
  --text-h2: clamp(1.8rem, 1.2rem + 2.3vw, 3.15rem);
  --text-h3: clamp(1.12rem, 1.04rem + 0.42vw, 1.4rem);
  --text-lead: clamp(1.03rem, 0.98rem + 0.34vw, 1.25rem);
  --text-base: clamp(0.97rem, 0.95rem + 0.13vw, 1.05rem);
  --text-klein: 0.875rem;
  --text-mikro: 0.7rem;

  --zeile-eng: 0.94;
  --zeile-kopf: 1.14;
  --zeile-normal: 1.6;

  /* --- Raum -------------------------------------------------------- */
  --raum-3xs: 0.25rem;
  --raum-2xs: 0.5rem;
  --raum-xs: 0.75rem;
  --raum-s: 1rem;
  --raum-m: 1.5rem;
  --raum-l: 2.25rem;
  --raum-xl: 3.5rem;
  --raum-2xl: 5.5rem;
  --raum-sektion: clamp(4rem, 2.4rem + 6.4vw, 8.5rem);

  --breite-inhalt: 76rem;
  --breite-text: 44rem;
  --rand: clamp(1.25rem, 0.6rem + 2.8vw, 3.5rem);

  /* --- Form -------------------------------------------------------- */
  --radius-s: 3px;
  --radius-m: 8px;
  --radius-l: 16px;
  --radius-rund: 999px;

  --netz-staerke: 2px;
  --rahmen-stark: 3px;

  /* --- Bewegung ---------------------------------------------------- */
  --dauer-schnell: 150ms;
  --dauer-normal: 300ms;
  --dauer-ruhig: 640ms;
  --kurve-raus: cubic-bezier(0.16, 1, 0.3, 1);
  --kurve-scharf: cubic-bezier(0.45, 0, 0.15, 1);

  /* --- Schatten: nur wo wirklich eine Ebene entsteht ---------------- */
  --schatten-karte: 0 1px 1px rgba(10, 10, 10, 0.04),
                    0 10px 24px -18px rgba(10, 10, 10, 0.3);
  --schatten-hoch: 0 2px 4px rgba(10, 10, 10, 0.05),
                   0 24px 48px -26px rgba(10, 10, 10, 0.42);
}

/* Dunkle Abschnitte erben dieselben Tokens, tauschen die Rollen. */
.ist-dunkel {
  --grund: var(--schwarz);
  --tinte: #f7f7f5;
  --tinte-leise: var(--text-leise-invers);
  --akzent: var(--gruen-hell);
  --linie: var(--linie-dunkel);
  --linie-stark: #3a3a3a;
  --flaeche: var(--schwarz-weich);
  color-scheme: dark;
}
