.auth{grid-template-columns:1fr;min-height:100dvh;display:grid}.auth-main{padding:calc(28px + var(--safe-top)) var(--gutter) calc(32px + var(--safe-bottom));flex-direction:column;align-items:center;display:flex}.auth-brand{font-family:var(--font-display);font-weight:700;font-size:var(--fs-28);letter-spacing:-.01em;align-items:center;gap:10px;margin:8px 0 28px;display:flex}.auth-card{width:100%;max-width:420px}.auth-card h1{font-size:var(--fs-28);margin-bottom:6px}.auth-card .lede{color:var(--muted);margin-bottom:24px}.auth-card form{gap:0;display:grid}.auth-card form .btn--block{margin-top:22px}.auth-card .form-error,.auth-card .form-ok{margin-bottom:18px}.auth-links{font-size:var(--fs-14);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:22px;font-weight:700;display:flex}.auth-links a{color:var(--muted);text-decoration:none}.auth-links a:hover{color:var(--ink);text-decoration:underline}.auth-divider{color:var(--muted);font-size:var(--fs-14);align-items:center;gap:12px;margin:22px 0 6px;font-weight:700;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1.5px}.auth-note{background:var(--surface-2);color:var(--muted);font-size:var(--fs-14);border-radius:16px;margin-top:18px;padding:14px 16px}.auth-cast{display:none}@media (min-width:960px){.auth{grid-template-columns:minmax(420px,1fr) minmax(480px,1fr)}.auth-main{justify-content:center;padding:48px}.auth-cast{background:var(--surface-2);flex-direction:column;justify-content:center;gap:28px;padding:48px;display:flex}.auth-cast-grid{grid-template-columns:repeat(3,minmax(0,150px));justify-content:center;gap:14px;display:grid}.auth-cast-cell{aspect-ratio:1;border-radius:var(--r-cell);background:var(--c-tint);border:3px solid var(--keyline);animation:cast-in .52s var(--ease-out) both;animation-delay:calc(var(--i) * 45ms);place-items:center;display:grid}.auth-cast-line{text-align:center;font-family:var(--font-display);font-size:var(--fs-24);max-width:22ch;margin:0 auto;font-weight:600}}@keyframes cast-in{0%{opacity:0;transform:translateY(10px)scale(.96)}}
