/* Authentication typography only: local system fonts, readable mobile sizing, and visible keyboard focus. */
.landing .auth-card,
.landing .auth-card input,
.landing .auth-card button,
.landing .auth-card select,
.landing .auth-card textarea {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
}

.landing .auth-card {
  font-size: 1rem;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}

.landing .auth-card h2,
.landing .auth-card h3 {
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.25;
}

.landing .auth-card p,
.landing .auth-card .hint,
.landing .auth-card .verification-status {
  line-height: 1.6;
}

.landing .auth-card input,
.landing .auth-card select,
.landing .auth-card textarea,
.landing .auth-card button {
  font: inherit;
}

.landing .auth-card input,
.landing .auth-card select,
.landing .auth-card textarea {
  font-size: max(1rem, 16px);
  line-height: 1.45;
}

.landing .auth-card input::placeholder,
.landing .auth-card textarea::placeholder {
  opacity: 0.78;
}

.landing .auth-card :is(input, select, textarea, button, a.button, [role="button"]):focus-visible {
  outline: 3px solid #6aa8f8;
  outline-offset: 2px;
}

.landing .auth-card .tabs button {
  font-weight: 650;
}

.landing .auth-card .message.error,
.landing .auth-card .verification-status.warning {
  font-weight: 600;
}

@media (max-width: 640px) {
  .landing .auth-card {
    font-size: 1rem;
    line-height: 1.6;
  }

  .landing .auth-card h2 {
    font-size: clamp(1.35rem, 6vw, 1.7rem);
  }

  .landing .auth-card :is(input, select, textarea, button, a.button) {
    min-height: 2.75rem;
  }
}
