.emf-attribution,
.emf-updated,
.emf-why,
.emf-sync {
  font-size: 0.95rem;
  color: #555;
}

.emf-sync-link {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  border: 1px solid #888;
  border-radius: 0.3rem;
  background: #f0f0f0;
  color: #1a1a1a;
  text-decoration: none;
  cursor: grab;
}

.emf-updated {
  margin-top: -0.5rem;
}

.emf-jump ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}

.emf-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  margin: 1.5rem 0;
  padding: 1rem;
  background: #f5f5f5;
  border-radius: 0.4rem;
}

.emf-controls[hidden] {
  display: none;
}

.emf-search input {
  min-width: 16rem;
  padding: 0.3rem 0.5rem;
}

.emf-section {
  margin-top: 2.5rem;
}

.emf-event {
  padding: 1rem 0;
  border-bottom: 1px solid #e0e0e0;
}

.emf-event-head {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  justify-content: space-between;
}

.emf-event-title {
  margin: 0;
  font-size: 1.15rem;
}

.emf-event-by {
  margin: 0.2rem 0;
  font-style: italic;
  color: #444;
}

.emf-event-cw {
  margin: 0.4rem 0;
  font-size: 0.9rem;
  color: #8a1f1f;
}

.emf-event-desc {
  margin: 0.5rem 0;
}

.emf-fave {
  flex: none;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: #767676;
  line-height: 0;
}

.emf-fave[aria-pressed="true"] {
  color: #9a6700;
}

/* Saved state is conveyed by fill (solid vs hollow), not colour alone. */
.emf-star {
  fill: none;
  stroke: currentcolor;
  stroke-width: 1.5;
  stroke-linejoin: round;
}

.emf-fave[aria-pressed="true"] .emf-star {
  fill: currentcolor;
}
