/* ============================================
 * 琉璃幻境 - 登录页样式（毛玻璃风格）
 * ============================================ */
:root {
  --primary: #8b5cf6;       /* 主色（紫） */
  --primary-dark: #7c3aed;
  --radius: 18px;
}

* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"PingFang SC","Microsoft YaHei",sans-serif; min-height:100vh; display:flex; align-items:center; justify-content:center; overflow:hidden; }

/* 渐变背景 */
.bg-gradient { position:fixed; inset:0; z-index:-1; background:linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%); }
.bg-gradient::before { content:""; position:absolute; top:-30%; left:-20%; width:70%; height:120%; border-radius:50%; background:radial-gradient(circle, rgba(255,255,255,.15), transparent 60%); }
.bg-gradient::after { content:""; position:absolute; bottom:-30%; right:-20%; width:70%; height:120%; border-radius:50%; background:radial-gradient(circle, rgba(255,255,255,.12), transparent 60%); }

/* 毛玻璃卡片 */
.login-box { width:380px; max-width:92vw; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); border-radius:var(--radius); padding:44px 36px; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); box-shadow:0 8px 32px rgba(0,0,0,.2); }
.login-box .brand { text-align:center; font-size:22px; font-weight:700; color:#fff; margin-bottom:6px; text-shadow:0 1px 8px rgba(0,0,0,.2); }
.login-box .sub { text-align:center; font-size:13px; color:rgba(255,255,255,.75); margin-bottom:32px; }
.field { margin-bottom:18px; }
.field label { display:block; font-size:12px; color:rgba(255,255,255,.8); margin-bottom:6px; }
.field input { width:100%; padding:12px 14px; border:1px solid rgba(255,255,255,.3); border-radius:10px; font-size:14px; outline:none; transition:all .2s; background:rgba(255,255,255,.15); color:#fff; }
.field input::placeholder { color:rgba(255,255,255,.5); }
.field input:focus { border-color:rgba(255,255,255,.7); background:rgba(255,255,255,.2); }
.login-btn { width:100%; padding:13px; border:none; border-radius:10px; background:rgba(255,255,255,.25); color:#fff; font-size:15px; font-weight:600; cursor:pointer; transition:all .2s; margin-top:6px; backdrop-filter:blur(4px); }
.login-btn:hover { background:rgba(255,255,255,.4); }
.foot { text-align:center; margin-top:22px; font-size:13px; color:rgba(255,255,255,.7); }
.foot a { color:#fff; margin-left:6px; text-decoration:none; }
.msg { text-align:center; font-size:13px; margin-top:12px; min-height:18px; color:#fff; }
.msg.err { color:#fecaca; }
.msg.ok { color:#bbf7d0; }
.captcha-row { display:flex; gap:10px; align-items:center; }
.captcha-row input { flex:1; }
.captcha-row img { height:44px; width:120px; border-radius:8px; cursor:pointer; background:#fff; }
