.cl-title {
  font-size: clamp(28px, 5vw, 44px);
  margin: 6px 0 10px;
}
.cl-lead {
  color: var(--muted);
  max-width: 760px;
  margin: 0 0 30px;
  font-size: 16px;
}

.cl-raceBlock {
  margin-bottom: 38px;
}
.cl-raceHead {
  border-left: 3px solid var(--gold);
  padding-left: 14px;
  margin-bottom: 16px;
}
.cl-raceName {
  font-size: 22px;
  margin: 0 0 4px;
}
.cl-raceEn {
  font-size: 0.6em;
  font-weight: 600;
  color: var(--muted);
}
.cl-raceIntro {
  color: var(--muted);
  margin: 0;
  font-size: 14.5px;
  max-width: 820px;
}

.cl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}
.cl-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  background: var(--card);
  color: var(--text);
  transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
}
.cl-card:hover {
  text-decoration: none;
  transform: translateY(-4px);
  border-color: #22d3ee88;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.4);
}
.cl-thumb {
  aspect-ratio: 3 / 4;
  background-size: cover;
  background-position: center top;
  background-color: #0a1b33;
}
.cl-cardBody {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 14px 14px;
}
.cl-cardName {
  font-size: 16px;
  font-weight: 800;
}
.cl-cardEn {
  font-size: 12px;
  color: var(--muted);
}
.cl-cardRole {
  margin-top: 6px;
  font-size: 12px;
  color: var(--accent1);
}

.cl-backRow {
  margin-top: 26px;
}
