/* 邮箱验证码：邮箱与「发送验证码」同一行，结果提示紧跟其下。 */
.email-code {
  display: grid;
  gap: var(--距-3);
}

.email-code-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--距-2);
}

.email-code-result {
  display: grid;
  gap: var(--距-1);
}

.email-code-result .alert {
  padding: var(--距-2) var(--距-3);
  font-size: var(--字号-小);
  overflow-wrap: anywhere;
}

.email-code-wait {
  font-size: var(--字号-小);
  color: var(--色-文字-弱);
}

/*
 * 刚发送成功：按钮先显示为不可用，等待结束后自动恢复，不需要脚本。
 * 时长与旧接口 resend_after、配置/限制.ts 的 验证码重发秒数 一致（60 秒）；
 * 提前用键盘触发时旧接口会回「请稍候60秒再发送验证码。」，原样显示。
 */
.email-code-send--cooling {
  animation: email-code-cooling 60s steps(1, end);
}

@keyframes email-code-cooling {
  from {
    pointer-events: none;
    background: var(--色-禁用-底);
    border-color: transparent;
    color: var(--色-文字-禁用);
  }
}

@media (prefers-reduced-motion: reduce) {
  /* 基础.css 在减少动效时把动画缩到 0.01ms；冷却不是动效，单独保留。 */
  .email-code-send--cooling {
    animation-duration: 60s !important;
  }
}
