.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:32px 17px;display:grid}.login-card{background:#fff;border:1px solid #e8e0ee;border-radius:16px;width:100%;max-width:420px;padding:34px 32px;box-shadow:0 24px 60px #2d1f4514}.login-brand{padding:0 0 26px}.login-card h1{letter-spacing:-.5px;font-family:DM Serif Display,Georgia,serif;font-size:35px;font-weight:400;line-height:1.1}.login-card h1 span{color:var(--purple)}.login-intro{color:var(--muted);margin:10px 0 24px;font-size:13px;line-height:1.7}.login-google{width:100%;color:var(--ink);background:#fff;border:1px solid #e3dee9;border-radius:7px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.login-google:hover:not(:disabled){background:#faf8fc;border-color:#d5cbe2}.login-or{color:#a4a0aa;align-items:center;gap:12px;margin:22px 0 18px;font-size:11px;display:flex}.login-or:before,.login-or:after{content:"";background:var(--line);flex:1;height:1px}.login-form{gap:14px;display:grid}.login-form label{color:#5c5566;gap:7px;font-size:12px;font-weight:600;display:grid}.login-form input{color:var(--ink);background:#fff;border:1px solid #e3dee9;border-radius:7px;padding:11px 13px;font-size:14px;font-weight:400}.login-code{letter-spacing:6px;text-align:center;font-size:20px!important}.login-links{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.login-links button{color:var(--purple);align-items:center;gap:5px;font-size:12px;display:inline-flex}.login-alert,.login-notice{border-radius:9px;align-items:flex-start;gap:9px;margin-bottom:16px;padding:11px 13px;font-size:12px;line-height:1.5;display:flex}.login-alert{color:#9b3b3b;background:#fdf0f0}.login-notice{background:var(--lavender);color:#5b4697}.login-small{color:#a4a0aa;margin-top:22px;font-size:11px;line-height:1.6}.login-back{color:var(--purple);margin-top:12px;font-size:12px;font-weight:600;display:inline-block}.spin{animation:1s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}@media (max-width:520px){.login-card{padding:28px 20px}.login-card h1{font-size:28px}}
