.page-title {
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: 1.9rem;
  margin: 0 0 var(--space-2);
}

.page-subtitle {
  font-size: 0.95rem;
  color: var(--color-ink-soft);
  margin: 0 0 var(--space-5);
}

/* ---------- Entry list ---------- */

.entry-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.entry-list-item + .entry-list-item {
  border-top: 1px solid var(--color-line);
}

/*
  Two-column grid: text takes remaining space and stays naturally
  left-aligned (1fr); the icon column sizes itself to the WIDEST
  icon among all rows (auto), and each icon is right-aligned within
  that shared column via justify-self on .entry-thread-icon -- so
  every icon's right edge lines up on one vertical line, even though
  individual thread lengths (and therefore icon widths) vary.
*/
.entry-list-link {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) 0;
  text-decoration: none;
  color: inherit;
}

.entry-list-text {
  min-width: 0;
}

.entry-title-small {
  display: block;
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.2;
  color: var(--color-ink);
  margin-bottom: 2px;
}

.entry-list-link:hover .entry-title-small,
.entry-list-link:focus-visible .entry-title-small {
  color: var(--color-thread);
}

.entry-location-small {
  display: block;
  font-family: var(--font-sans);
  font-size: 0.85rem;
  color: var(--color-ink-soft);
  font-style: italic;
  margin-bottom: 2px;
}

/* Tags: plain, unlinked text -- decorative context here, not
   navigation. */
.entry-tags-small {
  display: block;
  font-family: var(--font-sans);
  font-size: 0.8rem;
  color: var(--color-ink-soft);
}
.entry-tags-small .tag-sep {
  margin: 0 var(--space-2);
  color: var(--color-line);
}

/* Icon is purely decorative (aria-hidden in markup) and fully
   static -- no JS. justify-self: end right-aligns each icon within
   the shared grid column, regardless of that icon's own width. */
.entry-thread-icon {
  display: block;
  justify-self: end;
}