/* One relationship language: a heart and a bar, without numeric scores. */
.relationship-meter { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; color: var(--accent); }
.relationship-track { display: block; position: relative; flex: 1; min-width: 0; height: 7px; overflow: hidden; border-radius: 99px; background: var(--line); }
.relationship-fill, .relationship-trail { position: absolute; inset: 0 auto 0 0; display: block; border-radius: inherit; }
.relationship-fill { width: var(--relation-to); background: currentColor; }
.relationship-trail { width: var(--relation-from); background: currentColor; opacity: .28; }
.relationship-meter > .icon { flex: 0 0 18px; width: 18px; height: 18px; fill: currentColor; }
.relationship-meter.is-animated .relationship-fill { animation: relationship-change 1.1s cubic-bezier(.2,.7,.25,1) .25s both; }
.relationship-meter.is-animated.increasing > .icon { animation: relationship-heart .7s ease-in-out .5s 2; }
.relationship-meter.is-animated.decreasing > .icon { animation: relationship-heart-fade 1.1s ease .25s both; }
@keyframes relationship-change { from { width: var(--relation-from); } to { width: var(--relation-to); } }
@keyframes relationship-heart { 50% { transform: scale(1.2); } }
@keyframes relationship-heart-fade { 40% { opacity: .35; } }
.summary-entry .relationship-meter, .journal .relationship-meter { max-width: 260px; margin: 12px 0; }
.neglect-report .neglect-person { display: grid; grid-template-columns: minmax(60px, auto) minmax(60px, 1fr); align-items: center; gap: 8px 14px; padding: 12px 0; border-top: 1px solid var(--line); }
.neglect-person > small { grid-column: 1 / -1; font-size: 11px; color: var(--muted); }
.neglect-person .relationship-meter { margin: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.hunt-place-card:disabled { opacity: .45; cursor: not-allowed; filter: saturate(.4); }
.hunt-counts { align-items: center; flex-wrap: wrap; }
.hunt-counts p { margin: 0; font-size: 14px; color: var(--muted); }
@media (max-width: 540px) {
  .hunt-place-card { min-height: 180px; }
  .hunt-counts > span { flex: none; }
}
