/* Scoped to the sperm index and dossier; shared egg catalog styles stay intact. */
.sperm-toolbar { align-items: center; flex-wrap: wrap; }
.sperm-toolbar h2 { font-size: 28px; white-space: nowrap; }
.sperm-filter-summary { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.sperm-filters { flex-wrap: wrap; align-items: end; }
.sperm-filter-field { display: flex; flex-direction: column; gap: 7px; }
.sperm-filter-field > span { font-size: 11px; color: var(--muted); }
.sperm-filter-field select { min-width: 152px; }
.sperm-filter-search input { min-width: 230px; }
.sperm-filter-reset { height: 42px; padding: 0 14px; border: 1px solid var(--line); background: transparent; color: var(--ink); font: 12px "Noto Serif SC", serif; cursor: pointer; }
.sperm-filter-reset:disabled { opacity: .45; cursor: default; }
.sperm-card-nationality { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0; font-size: 12px; line-height: 1.6; }
.sperm-card-nationality span { color: var(--muted); }
.sperm-card-nationality strong { font-weight: 500; }
@media (max-width: 1100px) {
  .sperm-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); width: 100%; }
  .sperm-filter-search { grid-column: 1 / -1; grid-row: 1; }
  .sperm-filters input, .sperm-filters select { min-width: 0; width: 100%; box-sizing: border-box; }
  .sperm-filter-reset { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .sperm-toolbar h2 { font-size: 24px; }
  .sperm-card-nationality { font-size: 11px; gap: 5px; }
}

/* 2026-10-15: card slots stay in place; missing values are a light dash. */
.sperm-card-stats .is-empty{color:#b9b1a5}
