/* === 登录/注册页样式 === */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.auth-box{background:#fff;border-radius:20px;padding:32px 28px;width:100%;max-width:420px;box-shadow:0 25px 60px rgba(0,0,0,.4)}
.auth-box h2{text-align:center;color:#1a1a2e;margin-bottom:2px;font-size:22px;font-weight:700}
.auth-box .sub{text-align:center;color:#888;margin-bottom:20px;font-size:13px}
.form-group{margin-bottom:10px}
.form-group label{display:block;margin-bottom:4px;color:#555;font-weight:500;font-size:12px}
.form-group input{width:100%;padding:10px 12px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .2s;background:#fafbfc}
.form-group input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px rgba(102,126,234,.1)}
.form-row{display:flex;gap:10px}.form-row .form-group{flex:1}
.captcha-row{display:flex;gap:8px;align-items:stretch}
.captcha-row input{flex:1}
.captcha-row .captcha-img{width:90px;height:38px;border-radius:6px;cursor:pointer;border:1px solid #e0e0e0;flex-shrink:0;background:#f0f2f5;display:flex;align-items:center;justify-content:center}
.captcha-row img{height:100%;width:100%;border-radius:6px;object-fit:cover}
.email-row{display:flex;gap:8px}.email-row input{flex:1}
.email-row .btn-send{width:100px;flex-shrink:0;padding:10px 0;background:#1a1a2e;color:#fff;border:none;border-radius:8px;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}
.email-row .btn-send:hover{background:#333}
.email-row .btn-send:disabled{background:#bbb;cursor:not-allowed}
.btn{width:100%;padding:11px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:6px}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 25px rgba(102,126,234,.35)}
.btn:active{transform:translateY(0)}
.alert{padding:10px 12px;border-radius:8px;margin-bottom:14px;font-size:13px}
.alert.error{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}
.alert.success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}
.links{text-align:center;margin-top:16px;font-size:13px;color:#888}
.links a{color:#667eea;text-decoration:none;font-weight:500}
.links a:hover{text-decoration:underline}
@media (max-width:480px){
    .auth-box{padding:24px 18px;max-width:100%;border-radius:16px}
    .auth-box h2{font-size:20px}
    .form-row{flex-direction:column;gap:0}
    input{font-size:16px!important}
}
