/* Waitlist verification states. Shared auth layout remains in sections.css; no added motion. */
.auth-form [data-login-form] {
  display: grid;
  gap: 1.25rem;
}

.waitlist .auth-title {
  font-size: clamp(2.5rem, 6vw, 5rem);
  max-width: 14ch;
}

.waitlist .auth-inner > *,
.waitlist .join-field,
.waitlist .join-input {
  min-width: 0;
}

.login-result {
  display: grid;
  gap: 0.9rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
}

.login-result[hidden],
.login-result [hidden] {
  display: none;
}

.login-result__title {
  margin: 0;
  font-size: clamp(1.6rem, 4vw, 2.3rem);
}

.login-result__copy,
.login-result__support,
.login-result__retry {
  margin: 0;
  overflow-wrap: anywhere;
}

.login-status {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--text-muted);
}

.login-status:empty {
  display: none;
}

/* Keep one visible copy of a result/error while retaining the live announcement. */
.auth-form:has([data-state]:not([data-state="checking"])) .login-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
