/* === Typography === */

/* Headings — Playfair Display */
h1, h2, h3 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

h1 {
  font-size: clamp(2.5rem, 6vw, 5rem);
}

h2 {
  font-size: clamp(1.5rem, 3vw, 2.5rem);
}

h3 {
  font-size: clamp(1.2rem, 2vw, 1.5rem);
}

/* Body — Lexend */
p, li, label, input, select {
  font-family: 'Lexend', sans-serif;
  font-weight: 300;
}

/* Mono — JetBrains Mono (narrator, data) */
.mono, code, .narrator-text, .node-data {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 400;
}

/* AINA wordmark */
.aina-wordmark {
  font-family: 'Lexend', sans-serif;
  font-weight: 600;
  letter-spacing: -0.015em;
  text-transform: lowercase;
}

.aina-wordmark .ai {
  color: var(--aina-ai);
}

.aina-wordmark .na {
  color: var(--aina-na);
}

/* Chapter titles */
.chapter-title {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  color: var(--text-primary);
  margin-bottom: var(--space-md);
}

/* Subtitle / italics */
.subtitle {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
  color: var(--text-secondary);
}

/* Small caps for labels */
.label-text {
  font-family: 'Lexend', sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-muted);
}

/* Category badge */
.category-badge {
  font-family: 'Lexend', sans-serif;
  font-weight: 400;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.2em 0.6em;
  border-radius: 3px;
  display: inline-block;
}

.category-badge[data-category="person"] {
  background: rgba(201, 48, 44, 0.2);
  color: var(--cat-person);
  border: 1px solid rgba(201, 48, 44, 0.3);
}

.category-badge[data-category="organisation"] {
  background: rgba(212, 160, 23, 0.2);
  color: var(--cat-organisation);
  border: 1px solid rgba(212, 160, 23, 0.3);
}

.category-badge[data-category="händelse"] {
  background: rgba(46, 160, 67, 0.2);
  color: var(--cat-händelse);
  border: 1px solid rgba(46, 160, 67, 0.3);
}

.category-badge[data-category="plats"] {
  background: rgba(91, 143, 168, 0.2);
  color: var(--cat-plats);
  border: 1px solid rgba(91, 143, 168, 0.3);
}

.category-badge[data-category="objekt"] {
  background: rgba(176, 141, 87, 0.2);
  color: var(--cat-objekt);
  border: 1px solid rgba(176, 141, 87, 0.3);
}

.category-badge[data-category="fordon"] {
  background: rgba(139, 115, 85, 0.2);
  color: var(--cat-fordon);
  border: 1px solid rgba(139, 115, 85, 0.3);
}

.category-badge[data-category="lista"] {
  background: rgba(122, 111, 160, 0.2);
  color: var(--cat-lista);
  border: 1px solid rgba(122, 111, 160, 0.3);
}

.category-badge[data-category="övrigt"] {
  background: rgba(102, 102, 102, 0.2);
  color: var(--cat-övrigt);
  border: 1px solid rgba(102, 102, 102, 0.3);
}
