/* Auth gate + Clerk mount styling. Kept in a separate stylesheet so the design
   session can own styles.css without merge conflicts. */
.auth-gate {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: radial-gradient(120% 120% at 50% 0%, #f7f3e7 0%, #efe9d8 60%, #e7e0cc 100%);
}
@media (prefers-color-scheme: dark) {
  .auth-gate { background: radial-gradient(120% 120% at 50% 0%, #1c2a24 0%, #16211c 60%, #111a16 100%); }
}
.auth-card {
  width: min(420px, 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}
.auth-card .laezi-mark { width: 56px; height: 56px; color: #1f3d31; }
@media (prefers-color-scheme: dark) { .auth-card .laezi-mark { color: #e8ecd8; } }
.auth-wordmark {
  margin: 4px 0 0;
  font-family: "Fraunces", Georgia, serif;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #16241d;
}
.auth-wordmark span { color: #7bb542; }
@media (prefers-color-scheme: dark) { .auth-wordmark { color: #f1f4e6; } }
.auth-tagline {
  margin: 0 0 12px;
  max-width: 32ch;
  color: #4b5a4f;
  font-size: 0.95rem;
  line-height: 1.4;
}
@media (prefers-color-scheme: dark) { .auth-tagline { color: #aab8ac; } }
.clerk-mount { width: 100%; display: flex; justify-content: center; }
.auth-error { color: #b23b3b; font-size: 0.9rem; }
.clerk-user { display: inline-flex; align-items: center; }
.clerk-user :is(.cl-userButtonBox, .cl-rootBox) { vertical-align: middle; }
