.auth-page { overflow-x:hidden; overflow-y:auto; }
.auth-shell { position:relative; z-index:1; width:min(1240px,calc(100% - 36px)); min-height:100svh; margin:auto; }
.auth-panel { position:relative; width:min(100%,430px); margin:clamp(55px,10vh,120px) auto 70px; isolation:isolate; }
.auth-panel > :not(.auth-particles) { position:relative; z-index:1; }
.auth-particles { position:absolute; z-index:0; inset:-95px -125px; width:calc(100% + 250px); height:calc(100% + 190px); pointer-events:none; }
.auth-panel h1 { margin-bottom:30px; font-size:clamp(34px,5vw,48px); }
.auth-panel form { gap:18px; }
.auth-panel [hidden] { display:none; }
.password-field { position:relative; display:block; }
.password-field input { padding-right:94px; }
.password-field button { position:absolute; top:50%; right:7px; min-height:36px; padding:7px 10px; color:var(--muted); background:transparent; transform:translateY(-50%); font-size:12px; }
.password-field button:hover { color:var(--ink); background:rgba(111,126,238,.08); }
.auth-error { min-height:24px; margin:0; color:#b33b58; font-size:14px; font-weight:650; }
.auth-submit { min-height:56px; transition:transform .18s ease,box-shadow .18s ease; }
.auth-submit:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 18px 38px rgba(75,132,235,.3); }
.auth-switch { margin:22px 0 0; color:var(--muted); text-align:center; }
.auth-switch a { color:var(--violet); font-weight:750; text-decoration:none; }
.theme-night .password-field button { color:rgba(202,218,247,.72); }
.theme-night .password-field button:hover { color:#fff; background:rgba(111,158,239,.1); }
.theme-night .auth-error { color:#ff9aad; }
.theme-night .auth-switch { color:rgba(190,208,237,.62); }
.theme-night .auth-switch a { color:#9fc5ff; }
@media(max-width:600px){.auth-shell{width:100%;padding:0 18px}.auth-shell .mvp-header{height:76px}.auth-panel{margin:clamp(42px,8vh,76px) auto 50px}.auth-particles{inset:-70px -38px;width:calc(100% + 76px);height:calc(100% + 140px)}.auth-panel h1{margin-bottom:25px}.auth-panel input{min-height:54px}.auth-submit{width:100%;min-height:56px}}
