.csa-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.csa-board {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  width: 100%;
  max-width: 420px;
}

.csa-ingredient {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 16px 8px;
  border: none;
  border-radius: var(--radius-md, 10px);
  background: #eef5f9;
  cursor: pointer;
  position: relative;
  filter: brightness(0.85) saturate(0.75);
  transition: filter 0.12s ease, transform 0.12s ease;
}
.csa-ingredient--lit {
  filter: brightness(1.1) saturate(1.3);
  transform: scale(0.96);
  background: #fff3c4;
}
.csa-ingredient__emoji { font-size: 2rem; line-height: 1; }
.csa-ingredient__label { font-weight: 700; font-size: 0.8rem; color: #333; }
.csa-ingredient__key {
  position: absolute;
  top: 4px;
  right: 6px;
  background: rgba(0, 0, 0, 0.25);
  color: #fff;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 1px 5px;
}

.csa-rank {
  font-weight: 800;
  color: var(--color-primary);
  min-height: 1.4em;
}

.csa-status {
  font-weight: 700;
  color: var(--color-text-muted, #9ca3af);
  min-height: 1.4em;
}

@media (max-width: 420px) {
  .csa-ingredient__emoji { font-size: 1.6rem; }
}
