.preservation { font-size: .72rem; color: var(--muted); }
.preservation.protected, .preservation.rescued { color: var(--green); }
.preservation.risk { color: var(--amber); }
.preservation.lost { color: var(--red); }
button.action { font-family: inherit; cursor: pointer; }

/* Every case card gets the same Last public row. Older cases that pre-date
   capture stay explicit instead of inventing historical popularity data. */
.snapshot-strip.snapshot-missing { color: var(--meta); }
.snapshot-strip.snapshot-missing .snapshot-label { color: var(--meta); }
.snapshot-strip.snapshot-missing > span:not(.snapshot-label)::after { content: none; }
.snapshot-strip.snapshot-missing > span:last-child { font-style: italic; }

/* Recovery belongs on the case card, not buried in evidence. */
.recovery-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 1px;
  padding-top: 7px;
  border-top: 1px solid var(--line-soft);
}
.recovery-row .action {
  min-height: 31px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 9px;
  font-size: .72rem;
  font-weight: 680;
  background: #0d120e;
}
.recovery-row .hub { color: var(--green); border-color: #35503b; }
.recovery-row .wayback { color: #d7e0d9; border-color: #465049; }
.recovery-row .pirate { color: #d8c9ff; border-color: #50446b; }
.recovery-row .bay { color: #f0ca7a; border-color: #5b4a28; }
.recovery-row .frost { color: #a7d7ff; border-color: #35536c; }
.recovery-row .magnet { color: #c9d5ff; border-color: #44516f; }
.recovery-row .ipfs { color: #84e9e0; border-color: #315f5c; }
.recovery-row .action:hover { transform: translateY(-1px); }

/* Evidence stays expandable for the detailed/boring forensic material. */
.actions { margin-top: 0; }
.actions .evidence-toggle { margin-top: 1px; }

.profile-card { display: grid; gap: 10px; }
.profile-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--line);
}
.profile-metrics > div { min-width: 0; padding: 9px 10px; background: #101512; }
.profile-metrics strong { display: block; color: #e0ffe6; font-size: .98rem; line-height: 1.1; }
.profile-metrics span { display: block; margin-top: 4px; color: var(--muted); font-size: .64rem; }
.profile-list { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 18px; }
.profile-list > div { min-width: 0; display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 8px; font-size: .78rem; }
.profile-list dt { color: var(--meta); }
.profile-list dd { margin: 0; color: var(--body); word-break: break-word; }

@media (max-width: 800px) {
  .profile-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-list { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .profile-metrics { grid-template-columns: 1fr 1fr; }
  .profile-list > div { grid-template-columns: 80px minmax(0, 1fr); }
  .recovery-row { gap: 5px; }
  .recovery-row .action { padding: 6px 8px; font-size: .7rem; }
}
