:root{--ink:#111;--muted:#8c8c8c;--line:#e2e2e2;--cyan:#19c9ed;--green:#26edb8;--danger:#d33}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{min-height:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
button,input{font:inherit}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:48px 24px}
.auth-panel{width:min(666px,100%);text-align:center;margin-top:-1.5vh}
.auth-brand{display:inline-flex;align-items:center;justify-content:center;min-width:156px;height:48px;padding:0 20px;background:#090909;color:#fff;text-decoration:none;font-size:24px;font-weight:900;font-style:italic;letter-spacing:-1px}
h1{margin:55px 0 15px;font-size:42px;line-height:1.2;letter-spacing:-.04em}
.auth-subtitle{margin:0 0 69px;color:var(--muted);font-size:19px}
form{display:grid;gap:32px;text-align:left}
.field{position:relative;display:block}
.field input{width:100%;height:56px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 18px;font-size:17px;outline:none;box-shadow:0 2px 6px rgba(0,0,0,.035);transition:border-color .16s,box-shadow .16s}
.field input::placeholder{color:#969696}
.field input:focus{border-color:#24cddd;box-shadow:0 0 0 3px rgba(36,205,221,.12)}
.password-field input{padding-right:58px}
.password-field button{position:absolute;right:12px;top:8px;width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:#838383;cursor:pointer}
.password-field svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.form-options{display:flex;align-items:center;justify-content:space-between;margin-top:0;font-size:16px}
.remember{display:flex;align-items:center;gap:11px;font-weight:600;cursor:pointer}
.remember input{appearance:none;width:22px;height:22px;margin:0;border:1px solid #ddd;border-radius:5px;display:grid;place-items:center}
.remember input:checked{background:linear-gradient(135deg,var(--cyan),var(--green));border-color:transparent}
.remember input:checked::after{content:"";width:9px;height:5px;border:2px solid #111;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.form-options a,.auth-switch a{color:#18bfe4;text-decoration:none}
.submit-button{width:100%;height:57px;border:0;border-radius:6px;background:linear-gradient(100deg,var(--cyan),var(--green));color:#111;font-size:18px;font-weight:700;cursor:pointer;transition:filter .15s,transform .15s}
.submit-button:hover{filter:saturate(1.12) brightness(.99)}
.submit-button:active{transform:translateY(1px)}
.submit-button:disabled{cursor:wait;opacity:.65}
.form-message{min-height:0;margin:-20px 0 -18px;color:var(--danger);font-size:14px;text-align:center}
.form-message:empty{display:none}
.divider{display:flex;align-items:center;gap:13px;margin:43px 0 42px;color:#aaa}
.divider::before,.divider::after{content:"";height:1px;background:#e5e5e5;flex:1}
.auth-switch{margin:0;color:#999;font-size:17px}
.compliance{margin:55px 0 0;color:#333;font-size:15px}
.compliance b{color:#f44}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:720px){
 .auth-page{place-items:start center;padding:40px 20px 28px}
 .auth-panel{margin:0}
 .auth-brand{min-width:132px;height:42px;font-size:21px}
 h1{margin-top:42px;font-size:34px}
 .auth-subtitle{margin-bottom:45px;font-size:16px}
 form{gap:22px}
 .field input{height:54px;font-size:16px}
 .form-options{font-size:14px}
 .divider{margin:34px 0}
 .compliance{margin-top:42px;font-size:12px;line-height:1.7}
}
