.reading-modes:has(.mode-card[data-reading-definition]:not([hidden])) {
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.spiral-controls {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1rem;
}

.spiral-controls[hidden] {
  display: none;
}

.spiral-controls label {
  display: grid;
  gap: 0.4rem;
}

.spiral-controls select {
  min-height: 2.75rem;
  width: 100%;
}

.spiral-controls__detail {
  grid-column: 1 / -1;
  margin: 0;
}

.reading.is-spiral-session {
  display: block;
  width: min(480px, 100%);
}

.spiral-result {
  width: min(1120px, 100%);
  margin: clamp(38px, 7vh, 70px) auto 0;
}

.spiral-result__question,
.spiral-result__status {
  width: min(720px, 100%);
  margin: 0 auto 1rem;
  text-align: center;
}

.spiral-result[data-state="failed"] .spiral-result__status,
.spiral-result[data-state="unavailable"] .spiral-result__status,
.spiral-result[data-state="invalid"] .spiral-result__status {
  color: #e1a090;
}

.spiral-result .again-button {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 640px) {
  .spiral-controls {
    grid-template-columns: 1fr;
  }

  .spiral-result {
    margin-top: 34px;
  }
}
