body.auth{background:var(--cream);min-height:100vh}
.auth-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:100vh}
.auth-art{position:relative;background:radial-gradient(120% 90% at 30% 20%,#25305A 0,var(--navy) 60%);color:#fff;padding:28px 36px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.auth-art .brand{position:relative;z-index:2}
.art-mandala{position:absolute;width:min(760px,130%);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.9}
.art-mandala .ring{animation:spin 90s linear infinite}
.art-mandala .ring:nth-child(even){animation-direction:reverse;animation-duration:120s}
@keyframes spin{to{transform:rotate(360deg)}}
.auth-art blockquote{position:relative;z-index:2;margin:0;max-width:420px}
.auth-art blockquote p{font-family:var(--serif);font-size:28px;line-height:1.2;margin:0 0 8px}
.auth-art blockquote em{color:var(--gold-2)}
.auth-art blockquote span{font-size:13px;opacity:.6}
.auth-main{display:flex;align-items:center;justify-content:center;padding:40px 24px}
.step{width:100%;max-width:440px;animation:rise .5s cubic-bezier(.2,.7,.2,1)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:600}
.step h1{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4vw,40px);line-height:1.08;margin:6px 0 8px}
.step h1 em{color:var(--gold)}
.step .muted{margin:0 0 22px}
.google-box{margin-bottom:6px}
#googleBtn{min-height:44px;display:flex;justify-content:center}
.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:18px 0}
.or::before,.or::after{content:'';flex:1;height:1px;background:var(--line)}
.btn.block{width:100%;justify-content:center;padding:13px 16px;font-size:15px;margin-top:6px}
.fine{font-size:12px;color:var(--muted);margin-top:16px}
.otp{display:flex;gap:8px;justify-content:space-between;margin:4px 0 6px}
.otp input{width:100%;max-width:56px;aspect-ratio:1/1.15;text-align:center;font-size:26px;font-weight:600;border:1px solid var(--line);border-radius:12px;background:#fff;outline:none}
.otp input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,161,74,.18)}
.row-links{display:flex;justify-content:space-between;margin-top:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid2 .full{grid-column:1/-1}
.ferr{color:var(--bad);font-size:12px;min-height:0}
.field input[readonly]{background:#F6F2E8;color:var(--muted)}
.loading{color:var(--muted)}
.err:empty,.ferr:empty{display:none}
@media (max-width:860px){
  .auth-wrap{grid-template-columns:1fr}
  .auth-art{min-height:220px;padding:18px 16px}
  .auth-art blockquote p{font-size:22px}
  .art-mandala{width:520px;top:70%}
  .auth-main{padding:28px 16px 40px;align-items:flex-start}
}
@media (max-width:420px){ .grid2{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){ .art-mandala .ring{animation:none} .step{animation:none} }
