/* KI.ckAthon design kit: Tokens, Schriften, Wortmarke, Status.
   Schriften: Oswald und PT Sans (SIL OFL 1.1), selbst gehostet, siehe LICENSES. */

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/oswald-500.woff2") format("woff2");
}
@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/oswald-700.woff2") format("woff2");
}
@font-face {
  font-family: "PT Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/ptsans-400.woff2") format("woff2");
}
@font-face {
  font-family: "PT Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/ptsans-700.woff2") format("woff2");
}

:root {
  --kick-navy: #101a42;
  --kick-white: #ffffff;
  --kick-sage: #adc885;
  --kick-pink: #fb8fca;
  --kick-yellow: #f9d410;
  --kick-blue: #055686;
  --kick-blue-light: #41a1d2;
  --kick-font-head: "Oswald", "Arial Narrow", Arial, sans-serif;
  --kick-font-body: "PT Sans", Arial, Helvetica, sans-serif;
}

html {
  background: var(--kick-navy);
  color: var(--kick-white);
  font-family: var(--kick-font-body);
  font-size: 16px;
  line-height: 1.5;
}

body {
  margin: 0;
  background: var(--kick-navy);
  color: var(--kick-white);
  font-size: 1rem;
}

h1, h2, h3, .kick-head {
  font-family: var(--kick-font-head);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.01em;
}

/* Einfache Seite ohne App, z. B. der Download-Link der Teams. Markup: <main class="kick-page">…</main>
   Seitenrand auf dem Handy, begrenzte Zeilenlänge auf großen Bildschirmen. */
.kick-page {
  box-sizing: border-box;
  max-width: 40rem;
  margin: 0 auto;
  padding: 1.5rem 1rem;
}

/* Wortmarke. Markup:
   <span class="kick-wordmark"><span class="k">K</span><span class="i">I</span>CKATHON</span> */
.kick-wordmark {
  display: inline-block;
  font-family: var(--kick-font-head);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--kick-white);
}
.kick-wordmark .k,
.kick-wordmark .i {
  display: inline-block;
  padding: 0 0.04em;
  color: var(--kick-navy);
  background-color: var(--kick-sage);
  background-repeat: no-repeat;
  background-image:
    radial-gradient(circle at 22% 72%, var(--kick-yellow) 0 14%, transparent 15%),
    radial-gradient(circle at 78% 22%, var(--kick-yellow) 0 12%, transparent 13%),
    radial-gradient(ellipse at 40% 48%, var(--kick-blue) 0 16%, transparent 17%),
    radial-gradient(circle at 70% 82%, var(--kick-blue-light) 0 9%, transparent 10%);
}
.kick-wordmark .i {
  background-color: var(--kick-pink);
  background-image:
    radial-gradient(circle at 50% 18%, var(--kick-yellow) 0 16%, transparent 17%),
    radial-gradient(circle at 36% 62%, var(--kick-blue) 0 14%, transparent 15%),
    radial-gradient(circle at 64% 84%, var(--kick-blue-light) 0 10%, transparent 11%);
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .kick-wordmark .k,
  .kick-wordmark .i {
    padding: 0;
    color: transparent;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
  }
  /* Als Buchstabenfüllung liegen die Punkte direkt auf Navy: dort das helle Blau (5,8:1) statt des dunklen (2,2:1),
     damit K und I lesbar bleiben. Die Blockform oben (Punkte auf Grün/Rosa) bleibt unverändert. */
  .kick-wordmark .k {
    background-image:
      radial-gradient(circle at 22% 72%, var(--kick-yellow) 0 14%, transparent 15%),
      radial-gradient(circle at 78% 22%, var(--kick-yellow) 0 12%, transparent 13%),
      radial-gradient(ellipse at 40% 48%, var(--kick-blue-light) 0 16%, transparent 17%),
      radial-gradient(circle at 70% 82%, var(--kick-blue-light) 0 9%, transparent 10%);
  }
  .kick-wordmark .i {
    background-image:
      radial-gradient(circle at 50% 18%, var(--kick-yellow) 0 16%, transparent 17%),
      radial-gradient(circle at 36% 62%, var(--kick-blue-light) 0 14%, transparent 15%),
      radial-gradient(circle at 64% 84%, var(--kick-blue-light) 0 10%, transparent 11%);
  }
}

/* Status: immer Symbol plus Wort, nie nur Farbe.
   Markup: <span class="kick-status" data-state="ok"><span class="kick-status-icon" aria-hidden="true">✓</span> Bereit</span>
   Zustände: ok (Bereit), warn (Achtung), hint (Hinweis) */
.kick-status {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  padding: 0.2em 0.7em;
  border: 2px solid currentColor;
  border-radius: 999px;
  font-family: var(--kick-font-body);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--kick-white);
}
.kick-status-icon {
  font-weight: 700;
}
.kick-status[data-state="ok"] { color: var(--kick-sage); }
.kick-status[data-state="warn"] { color: var(--kick-pink); }
.kick-status[data-state="hint"] { color: var(--kick-yellow); }
