.auth-page{background:#fff;color:var(--brand-muted)}
.auth-page .reference-top,.auth-page #app,.auth-page .bottom,.auth-page #side-menu{display:none}
#auth-screen[hidden],.auth-dialog[hidden]{display:none}
#auth-screen{position:relative;isolation:isolate;overflow:hidden;min-height:100dvh;padding:28px 22px 24px;background:#fff}
#auth-screen::before,#auth-screen::after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:48% 52% 70% 30%;transform:rotate(-25deg)}
#auth-screen::before{width:260px;height:470px;left:-160px;top:160px;background:var(--brand-faint)}
#auth-screen::after{width:240px;height:330px;right:-150px;top:-95px;background:var(--brand-faint);transform:rotate(35deg)}
.auth-inner{max-width:420px;margin:0 auto}
.auth-title{margin:4px 0 48px;text-align:center;color:var(--brand);font-size:23px;font-weight:800}
.auth-field{position:relative;display:flex;align-items:center;margin:0 0 35px;border-bottom:1px solid var(--brand-line)}
.auth-field input{display:block;width:100%;min-width:0;height:48px;padding:6px 0;border:0;border-radius:0;outline:none;background:transparent;color:var(--brand-muted);font-size:17px;font-weight:600}
.auth-field input::placeholder{color:var(--brand-subtle);font-weight:600;opacity:1}
.auth-field:focus-within{border-bottom:2px solid var(--brand)}
.auth-password{margin-bottom:12px}
.auth-password input{padding-right:45px}
.auth-eye{position:absolute;right:0;top:0;display:grid;place-items:center;width:44px;height:48px;padding:0;border:0;background:none;color:var(--brand-subtle)}
.auth-eye svg{width:23px;height:23px;stroke-width:2}
.auth-eye .eye-slash{display:none}.auth-eye[aria-pressed="true"] .eye-slash{display:block}
.auth-forgot{display:block;min-height:38px;margin:0 0 26px auto;padding:6px 0;border:0;background:none;color:var(--brand-muted);font-size:14px;font-weight:700}
.auth-submit{display:block;width:166px;min-height:46px;margin:0 auto;padding:10px 20px;border:0;border-radius:28px;background:var(--brand);color:#fff;font-size:17px;font-weight:800}
.auth-register{display:block;min-height:44px;margin:20px auto 5px;padding:7px 14px;border:0;background:none;color:var(--brand);font-size:18px;font-weight:800}
.auth-terms{margin:0;text-align:center;font-size:12px;line-height:1.55;color:var(--brand-subtle);font-weight:600}
.auth-terms button{display:inline;padding:0;border:0;background:none;color:var(--brand-subtle);font:inherit;text-decoration:underline}
.auth-divider{display:flex;align-items:center;gap:14px;margin:27px 0 19px;color:var(--brand-subtle);font-size:13px;font-weight:600;white-space:nowrap}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--brand-line)}
.auth-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;padding:10px 15px;border:1px solid var(--brand-tint);border-radius:26px;background:#fff;color:var(--brand-muted);font-size:15px;font-weight:700}
.auth-google svg{display:block;flex:none;width:26px;height:26px;stroke:none}
.auth-demo-note{margin:22px 0 0;color:var(--brand-subtle);font-size:10px;text-align:center;font-weight:600}
.auth-error{margin:0 0 12px;color:var(--brand-accent);text-align:center;font-size:12px;font-weight:700}
.auth-error[hidden]{display:none}
.auth-dialog{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:#302a5d66}
.auth-dialog-card{width:100%;max-width:350px;padding:23px;border-radius:18px;background:white;box-shadow:0 12px 45px #302a5d25}
.auth-dialog-card h2{margin:0;color:var(--brand);font-size:20px}
.auth-dialog-card p{margin:14px 0 20px;font-size:14px;line-height:1.6;color:var(--brand-subtle);font-weight:600}
.auth-dialog-card button{width:100%;min-height:43px;padding:10px;border:0;border-radius:24px;background:var(--brand);color:#fff;font-size:14px;font-weight:700}
.auth-dialog-card .auth-dialog-close{margin-top:7px;background:none;color:var(--brand-subtle)}
@media(min-height:740px){#auth-screen{padding-top:34px}.auth-title{margin-bottom:60px}.auth-field{margin-bottom:42px}.auth-password{margin-bottom:12px}.auth-forgot{margin-bottom:32px}.auth-register{margin-top:26px}.auth-divider{margin-top:31px}}
