html{font-size:clamp(0.875rem,calc(100vw/23.4375),1.125rem)}
:root{--accent:#205aef;--accent-hover:#1a4bd0}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:#fff;color:#0f172a;font-size:0.875rem;line-height:1.6;-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}

/* 顶部 */
.top{padding:2.25rem 1.5rem 0}
.top h1{font-size:1.375rem;font-weight:700;color:#0f172a}
.top p{margin-top:0.375rem;font-size:0.8125rem;color:#94a3b8}

/* 中间登录块（垂直水平居中） */
.page{min-height:100vh;display:flex;flex-direction:column}
.main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:0.75rem 1.5rem 1.5rem}
.login{width:100%;max-width:22.5rem}

.login-tip{display:none;background:#fef2f2;border:0.0625rem solid #fecaca;color:#dc2626;font-size:0.8125rem;padding:0.625rem 0.875rem;border-radius:0.375rem;margin-bottom:1rem}
.login-tabs{display:flex;gap:1.25rem;margin-bottom:1.625rem;padding-bottom:0.4375rem;position:relative}
.login-tabs a{font-size:0.9375rem;font-weight:600;color:#000;cursor:pointer;transition:color .2s}
.login-tabs a.on{color:var(--accent)}
.login-tabs .tab-bar{position:absolute;bottom:0;left:0;width:0;height:0.1875rem;background:var(--accent);border-radius:0.125rem;transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}

.field{margin-bottom:1rem}
.field .inp{height:3rem;border-radius:0.375rem;background:#f5f7fa;border:none;padding:0 1rem;font-size:0.9375rem;width:100%;outline:none;font-family:inherit}
.field .inp:focus{background:#e9edf3;box-shadow:none;outline:none;border:none !important}
.field .inp::placeholder{color:#999}
.code-row{display:flex;gap:0.625rem}
.code-row .inp{flex:1}
.code-row .btn{height:3rem;padding:0 1.125rem;font-size:0.8125rem;white-space:nowrap;flex-shrink:0;border-radius:0.375rem;background:#fff;color:#000;font-weight:700;border:0.0625rem solid #e2e8f0;cursor:pointer;font-family:inherit}
.key-img{flex:0 0 auto;width:auto;height:3rem;border-radius:0.375rem;cursor:pointer;background:#fff}

.form-actions{margin-top:1.25rem}
.form-actions .btn{height:3rem;font-size:1rem;border-radius:0.375rem;background:var(--accent);color:#fff;border:none;width:100%;cursor:pointer;font-weight:600;font-family:inherit}
.form-actions .btn:active{background:var(--accent-hover)}
.aux-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;font-size:0.8125rem;color:#64748b}
.aux-row label{display:flex;align-items:center;gap:0.375rem;cursor:pointer}

.wx-entry{display:flex;align-items:center;justify-content:center;gap:0.375rem;margin-top:1.5rem;cursor:pointer;color:#64748b;font-size:0.8125rem;font-weight:500}
.wx-entry .iconfont{font-size:1.25rem;color:#09bb07}
#wxStatus{color:#94a3b8;font-size:0.75rem;display:block;margin-top:0.5rem;line-height:1.6;text-align:center}

.form-links{display:flex;justify-content:space-between;margin-top:1.25rem;font-size:0.8125rem}
.form-links a{color:#64748b}
.form-links .reg{color:var(--accent)}

/* 扫码后绑定手机弹窗 */
.wx-bind-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.45);z-index:10000;display:none;align-items:center;justify-content:center;padding:1.5rem}
.wx-bind-mask.show{display:flex}
.wx-bind-card{width:22.5rem;max-width:100%;background:#fff;border-radius:0.75rem;padding:1.625rem 1.5rem 1.375rem;box-shadow:0 0.75rem 2.5rem rgba(0,0,0,.18)}
.wx-bind-card h3{font-size:1.125rem;font-weight:700;text-align:center;margin-bottom:0.375rem}
.wx-bind-sub{font-size:0.8125rem;color:#64748b;text-align:center;line-height:1.7;margin-bottom:1.25rem}
.wx-bind-tip{min-height:1.125rem;font-size:0.75rem;color:#dc2626;text-align:center;margin-top:0.625rem}
