/* ---------- Me view + Cats roster ---------- */
.wallet-card {
  padding: 18px 20px;
  margin-bottom: 16px;
}
.wallet-label {
  color: var(--ink-soft);
  font-size: 13px;
}
.wallet-value {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 28px;
  font-weight: 700;
  margin-top: 6px;
  font-variant-numeric: tabular-nums;
}
.wallet-value .ico { width: 24px; height: 24px; color: var(--hunger-line); }

.cats-capacity-card {
  padding: 14px 18px;
  margin-bottom: 16px;
}
.cats-capacity-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.cats-capacity-label {
  color: var(--ink-soft);
  font-size: 13px;
}
.cats-capacity-value {
  font-size: 20px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.cats-unlock {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--ink-soft);
  font-size: 12px;
  margin-top: 8px;
}
.cats-unlock .ico { width: 14px; height: 14px; color: var(--hunger-line); }

.cats-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.cat-card {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  text-align: left;
  color: var(--ink);
  font: inherit;
  padding: 12px 14px;
  cursor: pointer;
}
.cat-card.selected { --line: var(--accent-line); }
.cat-card.dead { opacity: 0.55; }
.cat-card-sprite {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  background-repeat: no-repeat;
  background-position: 0 0;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}
.cat-card-name { font-weight: 700; }
.cat-card-sub {
  color: var(--ink-soft);
  font-size: 12px;
  text-transform: capitalize;
}
.cat-card-adopt { --line: var(--accent-line); }
.cat-card-plus {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: var(--accent-line);
}

.level-card {
  padding: 16px 20px;
  margin-bottom: 16px;
}
.level-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}
.level-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 18px;
  font-weight: 700;
}
.level-title .ico { width: 18px; height: 18px; color: var(--hunger-line); }
.level-xp {
  color: var(--ink-soft);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
/* Level XP bar reuses the pixel-bar primitive markup in index.html */
.level-card .pixel-bar { --bar-color: var(--happy); }

.inventory-card {
  padding: 14px 16px;
}
.inv-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.inv-header h3 { margin: 0; }
.inv-header span {
  color: var(--ink-soft);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
.inv-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.inv-cell {
  aspect-ratio: 1;
  background: var(--panel-2);
  --line: var(--line-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 calc(-1 * var(--u)) 0 0 var(--line),
    0 var(--u) 0 0 var(--line),
    calc(-1 * var(--u)) 0 0 0 var(--line),
    var(--u) 0 0 0 var(--line),
    inset 0 var(--u) 0 0 var(--lo);
}
.inv-cell .ico { width: 28px; height: 28px; color: var(--ink); }
.inv-empty {
  appearance: none;
  border: none;
  background: var(--panel-2);
  --line: var(--line-soft);
  color: var(--ink-soft);
  font: inherit;
  font-size: 13px;
  grid-column: 1 / -1;
  text-align: center;
  padding: 16px 12px;
  cursor: pointer;
  box-shadow:
    0 calc(-1 * var(--u)) 0 0 var(--line),
    0 var(--u) 0 0 var(--line),
    calc(-1 * var(--u)) 0 0 0 var(--line),
    var(--u) 0 0 0 var(--line);
}
.inv-empty:active { transform: translateY(var(--u)); }
