/* Inventory and purchases */
.balance { margin: 0 0 1rem; color: var(--muted); }
.items {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.875rem;
  padding: 0.75rem;
  border: 1px solid color-mix(in srgb, var(--text) 9%, transparent);
  border-radius: 0.875rem;
  background: color-mix(in srgb, var(--surface) 42%, transparent);
  transition: border-color 0.18s, background-color 0.18s, transform 0.18s;
}
.item > .badge {
  width: 2.75rem;
  height: 2.75rem;
  background: color-mix(in srgb, var(--board) 82%, var(--surface));
}
.item .btn {
  flex: none;
  min-width: 7.25rem;
}
.item-details {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.1rem;
}
.item-details > strong {
  font-size: 0.975rem;
}
.item-details > .label:last-child {
  width: max-content;
  margin-top: 0.3rem;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--head) 11%, transparent);
  color: var(--head);
  font-size: 0.72rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 25rem) {
  .item {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .item .btn {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* Purchase feedback */
.item.is-purchased {
  animation: shop-purchase-card 0.46s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.item.is-purchased > .badge {
  animation: shop-purchase-icon 0.46s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.item.is-purchased .item-details > .label:last-child {
  animation: shop-owned-pulse 0.46s ease;
}
@keyframes shop-purchase-card {
  35% {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--head) 48%, transparent);
    background: color-mix(in srgb, var(--head) 10%, var(--surface));
  }
}
@keyframes shop-purchase-icon {
  45% { transform: scale(1.16) rotate(-6deg); }
}
@keyframes shop-owned-pulse {
  45% {
    transform: scale(1.1);
    background: color-mix(in srgb, var(--head) 24%, transparent);
  }
}
@media (prefers-reduced-motion: reduce) {
  .item.is-purchased,
  .item.is-purchased > .badge,
  .item.is-purchased .item-details > .label:last-child {
    animation: none;
  }
}
