/* 登录页 */
.login-body{display:grid;place-items:center;min-height:100vh;overflow:hidden;
  background:radial-gradient(1000px 600px at 20% 0%,rgba(77,124,255,.16),transparent 60%),
             radial-gradient(800px 500px at 100% 100%,rgba(155,107,255,.14),transparent 60%),var(--bg)}
.login-bg{position:fixed;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(120,150,210,.06) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(120,150,210,.06) 1px,transparent 1px);
  background-size:44px 44px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%)}
.login-bg i{position:absolute;width:2px;height:120px;background:linear-gradient(transparent,var(--cyan),transparent);
  opacity:.5;animation:fall 6s linear infinite}
.login-bg i:nth-child(1){left:18%;animation-delay:0s}
.login-bg i:nth-child(2){left:62%;animation-delay:2.2s;background:linear-gradient(transparent,var(--violet),transparent)}
.login-bg i:nth-child(3){left:84%;animation-delay:4s}
@keyframes fall{from{top:-140px}to{top:110%}}
.login-card{position:relative;width:min(400px,calc(100vw - 32px));padding:34px 32px 26px;border-radius:20px;
  background:var(--panel);border:1px solid var(--line2);backdrop-filter:blur(18px);box-shadow:var(--shadow)}
.login-card::before{content:"";position:absolute;inset:-1px;border-radius:21px;padding:1px;background:var(--grad);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask-composite:exclude;opacity:.55;pointer-events:none}
.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:28px}
.login-brand img{width:46px;height:46px;border-radius:12px;box-shadow:0 0 24px rgba(62,224,255,.35)}
.login-brand b{display:block;font-size:19px;letter-spacing:1px}
.login-brand small{display:block;font:11px var(--mono);letter-spacing:2.4px;color:var(--txt3);margin-top:2px}
#login-form{display:flex;flex-direction:column;gap:15px}
#login-form input{height:42px}
#login-form .btn{height:44px;font-size:14.5px;margin-top:4px}
.login-err{min-height:20px;margin:0;color:var(--bad);font-size:13px}
.login-foot{margin:20px 0 0;text-align:center;font-size:12px;color:var(--txt3)}
