.hero-count { margin-top: .75rem; }

.index-layout { grid-template-columns: minmax(0, 1fr) minmax(16rem, .48fr); }
.index-filters { grid-template-columns: minmax(0, 1fr) minmax(8rem, .35fr); }
.index-muted { color: var(--muted); margin-top: .625rem; }
.index-list > li { padding: 1rem .25rem; }
.index-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(8rem, .48fr); gap: 1rem; align-items: start; }
.index-row h3 { margin-block: .375rem; font-size: 1.125rem; }
.index-row p { color: var(--muted); margin-block: .375rem; }
.index-entry .overline { flex-wrap: wrap; }
.index-entry .text-link, .claim-proof .text-link { margin-top: .25rem; }
.index-repo, .index-path, .index-verified dd, .claim-source { overflow-wrap: anywhere; }
.index-claim { display: grid; justify-items: start; gap: .5rem; min-width: 0; }
.index-verified { margin: 0; font-size: .875rem; }
.index-verified dt { color: var(--muted); font-size: .75rem; }
.index-verified dd { margin: 0 0 .375rem; }
#claim-stage { margin-bottom: 1.5rem; }
.claim-heading, .claim-actions { display: flex; align-items: start; justify-content: space-between; gap: .75rem; }
.claim-heading > button { flex-shrink: 0; }
.claim-source { margin-block: .75rem 1rem; }
.claim-source .text-link { margin-inline-start: .25rem; }
.claim-actions { justify-content: flex-start; align-items: center; flex-wrap: wrap; }
.claim-proof h3 { font-size: 1rem; margin-block: 1rem .25rem; }
.claim-proof p { color: var(--muted); overflow-wrap: anywhere; }
.claim-proof-field { display: grid; align-items: center; grid-template-columns: 1fr auto; gap: .25rem .75rem; margin-block: .75rem; }
.claim-proof-field label { font-size: .875rem; font-weight: 650; }
.claim-proof-field input, .claim-proof-field textarea, #claim-message {
  grid-column: 1 / -1;
  width: 100%;
  padding: .625rem .75rem;
  border: 1px solid var(--rule);
  border-radius: .5rem;
  background: var(--sheet);
  color: inherit;
  font: .8125rem/1.45 var(--mono);
}
.claim-proof-field textarea { resize: vertical; }
#claim-message { white-space: pre-wrap; overflow-wrap: anywhere; }
.claim-proof details, .claim-expiry { margin-block: .75rem; }
.claim-proof summary { cursor: pointer; font-size: .875rem; }

@media (max-width: 760px) {
  .index-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 480px) {
  .index-row, .index-filters { grid-template-columns: minmax(0, 1fr); }
  .index-filters > * { grid-column: auto; }
  .claim-heading { flex-wrap: wrap; }
}

