@keyframes ka-blink {
  0%, 45% {
    opacity: 1;
  }
  50%, to {
    opacity: 0;
  }
}
.ka {
  --ka-paper:#f7f0e3;
  --ka-paper-border:#e6d9c2;
  --ka-canvas:var(--color-gray-50, #fafafa);
  --ka-text-primary:#2a2118;
  --ka-text-secondary:#6c6153;
  --ka-accent:#9a3f1f;
  --ka-cursor:var(--ka-text-secondary);
  max-width: 42rem;
  margin-inline: auto;
  font-family:
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    sans-serif;
}
.ka,
.ka *,
.ka ::after,
.ka ::before {
  box-sizing: border-box;
}
.ka-card {
  background: var(--ka-paper);
  border: 1px solid var(--ka-paper-border);
  border-radius: var(--radius-lg, 0.75rem);
  padding: var(--space-6, 1.5rem) var(--space-6, 1.5rem) var(--space-5, 1.25rem);
}
@media (min-width: 768px) {
  .ka-card {
    padding: var(--space-8, 2rem) var(--space-8, 2rem) var(--space-6, 1.5rem);
  }
}
.ka-turn {
  display: block;
}
.ka-cursor[hidden],
.ka-turn[hidden] {
  display: none;
}
.ka-q,
.ka-q-icon {
  color: var(--ka-text-secondary);
}
.ka-q {
  margin: 0 0 var(--space-4, 1rem);
  font-size: var(--text-md, 1.125rem);
  font-weight: 400;
  line-height: var(--leading-normal, 1.35);
}
.ka-q-visible::before {
  content: "";
}
.ka-q-icon {
  display: inline-flex;
  vertical-align: -.15em;
  margin-right: var(--space-2, 0.5rem);
  opacity: .7;
}
.ka-a-wrap {
  position: relative;
}
.ka-a {
  margin: 0;
  color: var(--ka-text-primary);
  font-size: clamp(1.25rem, 1.1rem + .9vw, 1.75rem);
  font-weight: 400;
  line-height: var(--leading-relaxed, 1.5);
  letter-spacing: var(--tracking-normal, 0);
  overflow-wrap: break-word;
}
.ka-name {
  color: var(--ka-accent);
  font-weight: 600;
}
.ka-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.ka-cursor {
  display: inline-block;
  width: .09em;
  height: 1em;
  margin-left: 2px;
  background: var(--ka-cursor);
  vertical-align: -.1em;
  animation: ka-blink 1s step-end infinite;
}
.ka-caption {
  margin: var(--space-5, 1.25rem)0 0;
  color: var(--ka-text-secondary);
  font-size: var(--text-sm, 0.8rem);
  letter-spacing: var(--tracking-wide, 0.02em);
}
@media (prefers-reduced-motion: reduce) {
  .ka-cursor {
    animation: none;
    opacity: 0;
  }
}
@media (max-width: 480px) {
  .ka-card {
    padding: var(--space-5, 1.25rem) var(--space-4, 1rem) var(--space-4, 1rem);
  }
  .ka-a {
    font-size: clamp(1.1rem, 1rem + 2vw, 1.35rem);
  }
}
