.card,
.pulse-card,
.rules-card,
.step-card,
.record-card,
.battle-item,
.alliance-card {
  border: 1px solid var(--border);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.075), rgba(255,255,255,0.035));
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.card {
  padding: 22px;
}

.card--glass {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.075), rgba(255,255,255,0.035));
}

.card--highlight {
  border-color: rgba(255, 179, 87, 0.42);
  background:
    radial-gradient(circle at 20% 0%, rgba(255, 179, 87, 0.18), transparent 40%),
    linear-gradient(180deg, rgba(255,255,255,0.075), rgba(255,255,255,0.035));
}

.card--clickable {
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.card--clickable:active,
.alliance-card:active,
.rules-card:active {
  transform: scale(0.98);
}

.card--clickable:hover,
.alliance-card:hover,
.rules-card:hover {
  transform: translateY(-6px);
  border-color: rgba(142, 220, 255, 0.45);
}

.card--compact {
  padding: 16px;
  border-radius: 18px;
}

.alliance-card {
  display: block;
  padding: 22px;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.step-card {
  padding: 22px;
}

.empty-state {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 10px;
}

.empty-state__icon {
  font-size: 2rem;
}

.empty-state p {
  color: var(--muted);
  line-height: 1.6;
}