/* auth.css — page styles for the anonymous and chromeless pages: sign in, 2FA, join, reset,
   invite request, OAuth consent and completion (Phase 3; loaded by base.html after wy.css,
   tokens only). base.html renders these pages inside .wy-auth (the brand above one 400 px
   column); each page is one .wy-card whose body stacks its parts, with the secondary links
   under the card in .wy-auth__links. */
.wy-auth .wy-card__body { display: flex; flex-direction: column; gap: var(--wy-space-4); }
.wy-auth__head { display: flex; flex-direction: column; gap: var(--wy-space-1); }
.wy-auth__title { margin: 0; color: var(--wy-text); font-size: var(--wy-text-xl); font-weight: var(--wy-weight-semibold); line-height: var(--wy-leading-tight); overflow-wrap: anywhere; }
.wy-auth__lead { margin: 0; color: var(--wy-text-muted); font-size: var(--wy-text-md); line-height: var(--wy-leading); overflow-wrap: anywhere; }
.wy-auth__lead b { color: var(--wy-text); font-weight: var(--wy-weight-medium); }
.wy-auth__heading { margin: 0; color: var(--wy-text); font-size: var(--wy-text-sm); font-weight: var(--wy-weight-medium); line-height: var(--wy-leading); }
.wy-auth__heading + * { margin-top: var(--wy-space-2); }
.wy-auth__note { margin: 0; color: var(--wy-text-muted); font-size: var(--wy-text-sm); line-height: var(--wy-leading); }
.wy-auth__form { display: flex; flex-direction: column; gap: var(--wy-space-4); }
.wy-auth__actions { display: flex; gap: var(--wy-space-2); }
.wy-auth__actions > .wy-btn { flex: 1 1 0; }
.wy-auth__links { margin: var(--wy-space-4) 0 0; color: var(--wy-text-muted); font-size: var(--wy-text-sm); line-height: var(--wy-leading); text-align: center; overflow-wrap: anywhere; }
.wy-auth__links + .wy-auth__links { margin-top: var(--wy-space-2); }
/* A callback URL or an authorization code has no spaces: wrap it instead of scrolling. */
.wy-auth .wy-code pre { white-space: pre-wrap; overflow-wrap: anywhere; }
