/* ===========================================================================
 * Kids Ascension — Wartungsmodus
 * Concatenated tokens (colors_and_type.css) + page styles (styles.css).
 * Source: import/kids-ascension-wartungsmodus-design/
 * ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Nunito:wght@300;400;600;700&display=swap');

:root {
  /* Type */
  --font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, Segoe UI, sans-serif;
  --font-display: 'Nunito', 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-accent: 'Nunito', 'Plus Jakarta Sans', system-ui, sans-serif;

  /* Core palette (light) */
  --background: oklch(0.985 0.005 330);
  --foreground: oklch(0.20 0.02 300);
  --card: oklch(0.99 0.003 330);
  --card-foreground: oklch(0.20 0.02 300);
  --primary: oklch(0.50 0.18 245);
  --primary-foreground: #ffffff;
  --secondary: oklch(0.92 0.04 145);
  --muted: oklch(0.95 0.01 60);
  --muted-foreground: oklch(0.55 0.02 300);
  --accent: oklch(0.92 0.05 40);
  --border: oklch(0.92 0.01 330);
  --input: oklch(0.90 0.01 330);

  /* Brand-specific */
  --spiritual: oklch(0.62 0.16 285);
  --nature: oklch(0.60 0.15 145);
  --calm: oklch(0.70 0.12 340);
  --gold: oklch(0.78 0.14 75);
  --sky: oklch(0.78 0.10 230);
  --success: oklch(0.65 0.18 145);

  /* Brand gradient */
  --brand-gradient: linear-gradient(135deg, oklch(0.45 0.20 245), oklch(0.60 0.16 235));
  --brand-gradient-text: linear-gradient(135deg, oklch(0.45 0.20 245), oklch(0.65 0.14 230));
  --cta-gradient: linear-gradient(135deg, oklch(0.48 0.19 245), oklch(0.55 0.17 260));

  /* Shadow */
  --shadow-sm:  0 1px 3px 0 oklch(0.50 0.02 245 / 0.04), 0 1px 2px -1px oklch(0.50 0.02 245 / 0.04);
  --shadow:     0 4px 12px -2px oklch(0.50 0.06 245 / 0.08), 0 2px 6px -2px oklch(0.50 0.04 245 / 0.06);
  --shadow-md:  0 6px 16px -4px oklch(0.50 0.08 245 / 0.10), 0 3px 8px -3px oklch(0.50 0.05 245 / 0.06);
  --shadow-lg:  0 14px 28px -8px oklch(0.50 0.10 245 / 0.14), 0 6px 14px -6px oklch(0.50 0.06 245 / 0.08);

  /* Motion */
  --duration-fast: 150ms;
  --duration-normal: 300ms;
  --duration-breathing: 4s;
  --ease-gentle: cubic-bezier(0.25, 0.1, 0.25, 1);
  --ease-calm: cubic-bezier(0.45, 0, 0.55, 1);
}

html, body {
  margin: 0;
  font-family: var(--font-sans);
  color: var(--foreground);
  background: var(--background);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* { box-sizing: border-box; }
body { min-height: 100vh; }
#root { isolation: isolate; }

p, li, span { letter-spacing: 0.01em; line-height: 1.7; }

.text-brand-gradient {
  background: var(--brand-gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: oklch(0.85 0.02 300); border-radius: 9999px; }

/* --------------------------------------------------------------------
   Ambient background
   -------------------------------------------------------------------- */
.ka-bg {
  position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
}
.ka-bg-aurora {
  position: absolute; inset: -20%;
  background:
    radial-gradient(circle at 22% 28%, oklch(0.62 0.16 285 / 0.22) 0%, transparent 45%),
    radial-gradient(circle at 78% 18%, oklch(0.78 0.10 230 / 0.22) 0%, transparent 45%),
    radial-gradient(circle at 60% 82%, oklch(0.92 0.04 145 / 0.32) 0%, transparent 50%),
    radial-gradient(circle at 12% 90%, oklch(0.92 0.05 40 / 0.28) 0%, transparent 50%);
  filter: blur(40px);
  animation: ka-aurora 16s ease-in-out infinite alternate;
}
.ka-sparkles { position: absolute; inset: 0; }
.ka-sparkles::before, .ka-sparkles::after {
  content: ""; position: absolute; inset: 0;
  background-image:
    radial-gradient(2px 2px at 12% 18%, oklch(0.78 0.14 75 / 0.55) 0, transparent 60%),
    radial-gradient(2px 2px at 28% 62%, oklch(0.62 0.16 285 / 0.45) 0, transparent 60%),
    radial-gradient(1.5px 1.5px at 73% 22%, oklch(0.78 0.10 230 / 0.55) 0, transparent 60%),
    radial-gradient(2px 2px at 88% 78%, oklch(0.70 0.12 340 / 0.45) 0, transparent 60%),
    radial-gradient(1px 1px at 50% 50%, oklch(1 0 0 / 0.5) 0, transparent 60%),
    radial-gradient(1.5px 1.5px at 38% 88%, oklch(0.92 0.04 145 / 0.55) 0, transparent 60%);
  animation: ka-twinkle 5s ease-in-out infinite;
}
.ka-sparkles::after { animation-delay: 2.5s; opacity: .6; transform: scale(1.2) rotate(20deg); }
@keyframes ka-twinkle { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } }
@keyframes ka-aurora {
  0%   { transform: translate3d(0,0,0) rotate(0deg) scale(1); }
  100% { transform: translate3d(2%, -1%, 0) rotate(0.5deg) scale(1.04); }
}

/* --------------------------------------------------------------------
   Page scaffolding
   -------------------------------------------------------------------- */
.ka-page {
  position: relative;
  z-index: 10;
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px 32px 64px;
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.ka-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-radius: 9999px;
  background: oklch(0.99 0.005 330 / 0.7);
  border: 1px solid oklch(0.92 0.01 330 / 0.6);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  box-shadow: var(--shadow-sm);
}
.ka-logo {
  display: inline-flex; align-items: center; gap: 12px;
  text-decoration: none; color: inherit;
}
.ka-logo img { height: 40px; width: auto; display: block; }

/* --------------------------------------------------------------------
   Badges
   -------------------------------------------------------------------- */
.ka-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 16px; border-radius: 9999px;
  font-size: 13px; font-weight: 500;
  backdrop-filter: blur(8px) saturate(1.4);
  -webkit-backdrop-filter: blur(8px) saturate(1.4);
  box-shadow: var(--shadow-sm);
}
.ka-badge-default { background: oklch(0.97 0.01 245 / 0.6); border: 1.5px solid oklch(0.88 0.03 245 / 0.6); color: oklch(0.30 0.10 245); }
.ka-badge-nature  { background: oklch(0.95 0.02 145 / 0.6); border: 1.5px solid oklch(0.78 0.08 145 / 0.6); color: oklch(0.32 0.10 145); }
.ka-badge-warm    { background: oklch(0.96 0.02 40 / 0.6);  border: 1.5px solid oklch(0.85 0.06 40 / 0.6);  color: oklch(0.40 0.12 30); }
.ka-badge .icon { width: 14px; height: 14px; }

/* --------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------- */
.ka-hero {
  text-align: center;
  display: flex; flex-direction: column; align-items: center;
  gap: 22px;
  padding-top: 8px;
}
.ka-hero-badges {
  display: inline-flex; gap: 10px; flex-wrap: wrap; justify-content: center;
}
.ka-h1 {
  font-family: var(--font-accent);
  font-weight: 800;
  font-size: clamp(44px, 6vw, 76px);
  letter-spacing: -0.03em;
  line-height: 1.02;
  margin: 0;
  max-width: 880px;
  text-wrap: balance;
}
.ka-sub {
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.65;
  color: var(--muted-foreground);
  max-width: 640px;
  margin: 0;
  text-wrap: pretty;
}

/* --------------------------------------------------------------------
   Breather orb
   -------------------------------------------------------------------- */
.ka-breather-wrap {
  position: relative;
  width: 320px; height: 320px;
  display: flex; align-items: center; justify-content: center;
  margin: 12px auto 0;
}
.ka-halo {
  position: absolute; inset: 0;
  border-radius: 50%;
  pointer-events: none;
}
.ka-halo-1 {
  background: radial-gradient(circle, oklch(0.50 0.18 245 / 0.18) 0%, transparent 60%);
  animation: ka-breath-out 12s var(--ease-calm) infinite;
}
.ka-halo-2 {
  background: radial-gradient(circle, oklch(0.62 0.16 285 / 0.15) 0%, transparent 55%);
  inset: 30px;
  animation: ka-breath-out 12s var(--ease-calm) infinite;
  animation-delay: -1.5s;
}
.ka-halo-3 {
  background: radial-gradient(circle, oklch(0.78 0.14 75 / 0.18) 0%, transparent 50%);
  inset: 60px;
  animation: ka-breath-out 12s var(--ease-calm) infinite;
  animation-delay: -3s;
}
.ka-orb {
  position: relative;
  width: 160px; height: 160px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 35% 30%, oklch(1 0 0 / 0.9), oklch(0.96 0.02 245 / 0.5) 70%);
  border: 1.5px solid oklch(0.85 0.04 245 / 0.5);
  box-shadow:
    0 24px 60px oklch(0.50 0.18 245 / 0.25),
    inset 0 -12px 32px oklch(0.50 0.18 245 / 0.08);
  animation: ka-breath 12s var(--ease-calm) infinite;
}
.ka-orb img {
  width: 96px; height: 96px;
  filter: drop-shadow(0 8px 24px oklch(0.50 0.18 245 / 0.45));
}
.ka-phase {
  position: absolute;
  bottom: -8px;
  left: 50%; transform: translateX(-50%);
  padding: 8px 18px;
  border-radius: 9999px;
  background: oklch(0.99 0.003 330 / 0.85);
  border: 1px solid oklch(0.92 0.01 330);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: var(--shadow-sm);
}
.ka-phase-label {
  font-family: var(--font-accent);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted-foreground);
}

@keyframes ka-breath {
  0%, 100% { transform: scale(1); }
  33%      { transform: scale(1.18); }
  66%      { transform: scale(1.18); }
}
@keyframes ka-breath-out {
  0%, 100% { transform: scale(1); opacity: 0.85; }
  33%      { transform: scale(1.25); opacity: 1; }
  66%      { transform: scale(1.25); opacity: 1; }
}
/* --------------------------------------------------------------------
   Countdown
   -------------------------------------------------------------------- */
.ka-countdown {
  display: inline-flex; align-items: center; gap: 18px;
  padding: 18px 28px;
  border-radius: 20px;
  background: oklch(0.99 0.003 330 / 0.7);
  border: 1px solid oklch(0.92 0.01 330);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  box-shadow: var(--shadow-md);
  margin-top: 8px;
}
.ka-cd-block { text-align: center; }
.ka-cd-num {
  font-family: var(--font-accent);
  font-weight: 800;
  font-size: 42px;
  letter-spacing: -0.04em;
  line-height: 1;
  background: var(--brand-gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-variant-numeric: tabular-nums;
}
.ka-cd-label {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted-foreground);
  margin-top: 4px;
}
.ka-cd-sep {
  font-family: var(--font-accent);
  font-weight: 700;
  font-size: 36px; line-height: 1;
  color: oklch(0.78 0.10 230);
  margin-top: -8px;
  animation: ka-blink 1s steps(2) infinite;
}
.ka-cd-divider {
  width: 1px; height: 38px;
  background: linear-gradient(to bottom, transparent, var(--border), transparent);
}
.ka-cd-eta { text-align: left; }
.ka-cd-eta-label {
  font-size: 12px;
  color: var(--muted-foreground);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.ka-cd-eta-time {
  font-family: var(--font-accent);
  font-weight: 700;
  font-size: 22px;
  color: var(--foreground);
}
@keyframes ka-blink { 50% { opacity: 0.3; } }

/* --------------------------------------------------------------------
   Grid: status + suggestions
   -------------------------------------------------------------------- */
.ka-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 24px;
}
@media (max-width: 880px) { .ka-grid { grid-template-columns: 1fr; } }

.ka-card {
  background: oklch(0.99 0.003 330 / 0.55);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 24px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: var(--shadow-sm);
}
.ka-card-elevated {
  box-shadow: var(--shadow-lg);
  border-color: oklch(0.88 0.03 245 / 0.6);
}
.ka-card-head {
  display: flex; align-items: center; gap: 10px; margin-bottom: 6px;
}
.ka-card-head h3 {
  margin: 0;
  font-size: 18px;
  font-family: var(--font-accent);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.ka-card-lede {
  margin: 0 0 16px;
  color: var(--muted-foreground);
  font-size: 14px;
}

/* Status list */
.ka-status-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 12px;
}
.ka-live {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: oklch(0.40 0.10 145);
}
.ka-pulse {
  width: 8px; height: 8px; border-radius: 50%;
  background: oklch(0.65 0.18 145);
  box-shadow: 0 0 0 0 oklch(0.65 0.18 145 / 0.5);
  animation: ka-pulse 2s var(--ease-calm) infinite;
}
.ka-status-pct {
  font-size: 13px;
  color: var(--muted-foreground);
  font-variant-numeric: tabular-nums;
}
@keyframes ka-pulse {
  0%   { box-shadow: 0 0 0 0 oklch(0.65 0.18 145 / 0.5); }
  70%  { box-shadow: 0 0 0 10px oklch(0.65 0.18 145 / 0); }
  100% { box-shadow: 0 0 0 0 oklch(0.65 0.18 145 / 0); }
}
.ka-progress-track {
  height: 6px;
  background: oklch(0.94 0.01 245);
  border-radius: 9999px;
  overflow: hidden;
  margin-bottom: 20px;
}
.ka-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, oklch(0.62 0.16 285), oklch(0.50 0.18 245), oklch(0.78 0.10 230));
  background-size: 200% 100%;
  border-radius: 9999px;
  animation: ka-shimmer 3s linear infinite;
  transition: width 600ms var(--ease-gentle);
}
@keyframes ka-shimmer {
  0%   { background-position: 0% 0; }
  100% { background-position: 200% 0; }
}
.ka-status-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 4px;
}
.ka-status-item {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 8px;
  border-radius: 10px;
  transition: background var(--duration-fast) var(--ease-gentle);
}
.ka-status-item.is-active {
  background: oklch(0.97 0.01 245 / 0.6);
}
.ka-status-dot {
  flex-shrink: 0;
  width: 26px; height: 26px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: oklch(0.94 0.01 300);
  border: 1px solid oklch(0.88 0.01 300);
  color: var(--muted-foreground);
}
.ka-status-item.is-done .ka-status-dot {
  background: oklch(0.65 0.18 145);
  border-color: oklch(0.55 0.18 145);
  color: #fff;
}
.ka-status-item.is-active .ka-status-dot {
  background: oklch(0.95 0.04 245);
  border-color: oklch(0.65 0.14 245);
  color: oklch(0.50 0.18 245);
}
.ka-status-dot .icon { width: 14px; height: 14px; }
.ka-status-item.is-done .ka-status-dot .icon { stroke-width: 3; }
.ka-status-label {
  flex: 1;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--foreground);
}
.ka-status-item.is-done .ka-status-label {
  color: var(--muted-foreground);
  text-decoration: line-through;
  text-decoration-color: oklch(0.78 0.08 145 / 0.6);
}
.ka-status-meta {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted-foreground);
  font-weight: 600;
}
.ka-status-item.is-done .ka-status-meta { color: oklch(0.50 0.14 145); }
.ka-status-item.is-active .ka-status-meta { color: oklch(0.50 0.16 245); }
.ka-spinner {
  width: 12px; height: 12px;
  border: 2px solid oklch(0.85 0.04 245);
  border-top-color: oklch(0.50 0.18 245);
  border-radius: 50%;
  animation: ka-spin 1s linear infinite;
}
@keyframes ka-spin { to { transform: rotate(360deg); } }

/* Suggestions */
.ka-sug-list { display: flex; flex-direction: column; gap: 12px; }
.ka-sug {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 14px;
  background: oklch(0.99 0.003 330 / 0.5);
  border: 1px solid var(--border);
  border-radius: 12px;
  transition: transform var(--duration-normal) var(--ease-gentle), border-color var(--duration-normal) var(--ease-gentle);
}
.ka-sug:hover { transform: translateY(-2px); }
.ka-sug-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1.5px solid;
  flex-shrink: 0;
}
.ka-sug-icon .icon { width: 22px; height: 22px; }
.ka-sug-title {
  font-family: var(--font-accent);
  font-weight: 700;
  font-size: 15.5px;
  margin-bottom: 4px;
  letter-spacing: -0.005em;
}
.ka-sug-body {
  font-size: 13.5px;
  color: var(--muted-foreground);
  line-height: 1.55;
}

/* Suggestion accent variants */
.ka-sug-spiritual { border-color: oklch(0.78 0.08 285 / 0.4); }
.ka-sug-spiritual .ka-sug-icon { background: oklch(0.95 0.02 285 / 0.5); border-color: oklch(0.78 0.08 285 / 0.4); color: oklch(0.62 0.16 285); }
.ka-sug-nature { border-color: oklch(0.78 0.08 145 / 0.4); }
.ka-sug-nature .ka-sug-icon { background: oklch(0.95 0.02 145 / 0.5); border-color: oklch(0.78 0.08 145 / 0.4); color: oklch(0.55 0.14 145); }
.ka-sug-calm { border-color: oklch(0.82 0.08 340 / 0.4); }
.ka-sug-calm .ka-sug-icon { background: oklch(0.96 0.02 340 / 0.5); border-color: oklch(0.82 0.08 340 / 0.4); color: oklch(0.70 0.12 340); }

/* --------------------------------------------------------------------
   Promise band
   -------------------------------------------------------------------- */
.ka-promise {
  display: flex; align-items: center; gap: 28px;
  padding: 28px 32px;
  background:
    linear-gradient(135deg, oklch(0.97 0.02 285 / 0.5), oklch(0.96 0.02 40 / 0.5));
  border: 1px solid oklch(0.88 0.04 285 / 0.4);
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
.ka-promise::after {
  content: "";
  position: absolute; left: 24px; right: 24px; bottom: 0; height: 1px;
  background: linear-gradient(to right, transparent, oklch(0.50 0.18 245 / 0.4), transparent);
}
.ka-promise-glyph {
  flex-shrink: 0;
  width: 96px; height: 96px;
  display: flex; align-items: center; justify-content: center;
}
.ka-promise-glyph img {
  width: 96px; height: 96px;
  object-fit: contain;
  filter: drop-shadow(0 8px 20px oklch(0.50 0.10 245 / 0.18));
}
.ka-promise-title {
  font-family: var(--font-accent);
  font-weight: 700;
  font-size: 22px;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.ka-promise-body {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 15px;
  max-width: 560px;
}
.ka-promise-body strong { color: var(--foreground); font-weight: 700; }
@media (max-width: 640px) {
  .ka-promise { flex-direction: column; text-align: center; }
}

/* --------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------- */
.ka-foot {
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  padding-top: 8px;
}
.ka-foot-lede { color: var(--muted-foreground); font-size: 13px; }
.ka-notify {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 6px 6px 16px;
  background: oklch(0.99 0.003 330 / 0.7);
  border: 1px solid var(--input);
  border-radius: 9999px;
  width: 100%; max-width: 420px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.ka-notify .icon { color: var(--muted-foreground); width: 16px; height: 16px; flex-shrink: 0; }
.ka-notify input {
  flex: 1;
  border: none; outline: none; background: transparent;
  font: inherit; font-size: 14px;
  color: var(--foreground);
  padding: 8px 0;
  font-family: var(--font-sans);
}
.ka-notify input::placeholder { color: var(--muted-foreground); }
.ka-notify button {
  background: var(--cta-gradient);
  color: #fff;
  border: none;
  padding: 10px 22px;
  border-radius: 9999px;
  font: inherit; font-size: 14px; font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: 0 8px 20px oklch(0.50 0.18 245 / 0.30);
  transition: transform var(--duration-fast) var(--ease-gentle), box-shadow var(--duration-fast) var(--ease-gentle);
}
.ka-notify button:hover { transform: translateY(-1px); box-shadow: 0 10px 24px oklch(0.50 0.18 245 / 0.40); }
.ka-notify button:active { transform: scale(0.98); }

.ka-notify-msg {
  font-size: 13.5px;
  margin: 0;
  text-align: center;
  max-width: 420px;
  line-height: 1.55;
}
.ka-notify-msg:empty { display: none; }
.ka-notify-msg.is-success { color: oklch(0.45 0.16 145); }
.ka-notify-msg.is-error { color: oklch(0.55 0.18 25); }

.ka-notify-fineprint {
  margin: 0;
  font-size: 11.5px;
  color: var(--muted-foreground);
  text-align: center;
  max-width: 420px;
  letter-spacing: 0.01em;
  line-height: 1.5;
}

.ka-foot-links {
  display: inline-flex; gap: 20px; flex-wrap: wrap; justify-content: center;
  font-size: 13px;
  color: var(--muted-foreground);
  margin-top: 4px;
}
.ka-foot-links a {
  display: inline-flex; align-items: center; gap: 6px;
  color: inherit; text-decoration: none;
  transition: color var(--duration-fast) var(--ease-gentle);
}
.ka-foot-links a:hover { color: oklch(0.50 0.18 245); }
.ka-foot-links .icon { width: 14px; height: 14px; }

/* --------------------------------------------------------------------
   Generic icon sizing
   -------------------------------------------------------------------- */
.icon {
  display: inline-block;
  vertical-align: middle;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

/* --------------------------------------------------------------------
   Reduced motion
   -------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .ka-sparkles::before, .ka-sparkles::after,
  .ka-halo, .ka-halo-1, .ka-halo-2, .ka-halo-3,
  .ka-orb, .ka-cd-sep, .ka-pulse, .ka-progress-fill, .ka-spinner,
  .ka-bg-aurora {
    animation: none !important;
  }
}
