:root{
  --bg-warm:#f8f6f1;
  --glass:rgba(255,255,255,.58);
  --glass-strong:rgba(255,255,255,.72);
  --line:rgba(255,255,255,.82);
  --line-soft:rgba(126,132,132,.18);
  --text:#292c2d;
  --muted:#747979;
  --focus:#8fa4a6;
  --danger:#b64e54;
  --success:#41765a;
}
*{box-sizing:border-box}
html{min-height:100%;background:#eef1ef}
body{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px 18px;
  overflow-x:hidden;
  background:rgba(250,248,244,.82)!important;
  color:var(--text);
  font-family:"Inter","Microsoft YaHei","PingFang SC",ui-sans-serif,system-ui,-apple-system,sans-serif;
}
body::before{
  content:"";
  position:fixed;
  z-index:-2;
  left:-8vw;right:-8vw;bottom:-17vh;
  height:51vh;
  border-radius:48% 52% 0 0 / 18% 22% 0 0;
  background:
    radial-gradient(ellipse at 25% 8%,rgba(255,255,255,.92) 0 5%,rgba(255,255,255,0) 28%),
    radial-gradient(ellipse at 76% 16%,rgba(208,230,232,.68),rgba(214,229,228,.22) 38%,rgba(255,255,255,0) 69%),
    linear-gradient(180deg,rgba(230,241,240,.48),rgba(189,216,219,.58));
  border-top:1px solid rgba(255,255,255,.86);
  box-shadow:0 -18px 55px rgba(160,190,192,.18),inset 0 18px 35px rgba(255,255,255,.34);
  filter:blur(.2px);
  pointer-events:none;
}
body::after{
  content:"";
  position:fixed;
  z-index:-1;
  left:8vw;right:12vw;bottom:16vh;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),rgba(170,201,204,.32),transparent);
  box-shadow:0 8px 25px rgba(255,255,255,.72);
  pointer-events:none;
}
.bg-glow,.particles{display:none!important}
.login-wrap{
  position:relative;
  z-index:1;
  width:100%;
  max-width:440px;
  padding:0!important;
  animation:none!important;
}
.login-card{
  position:relative;
  width:100%;
  padding:38px 35px 29px!important;
  overflow:hidden!important;
  background:var(--glass)!important;
  border:1px solid var(--line)!important;
  border-radius:30px!important;
  box-shadow:
    0 24px 65px rgba(65,73,74,.13),
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(126,145,146,.10)!important;
  -webkit-backdrop-filter:blur(28px) saturate(125%)!important;
  backdrop-filter:blur(28px) saturate(125%)!important;
  animation:none!important;
}
.login-card::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  pointer-events:none;
  inset:1px!important;
  border-radius:28px!important;
  border:1px solid rgba(255,255,255,.38)!important;
  background:transparent!important;
}
.login-card::after{
  content:"";
  position:absolute;
  pointer-events:none;
  top:-55px;left:9%;
  width:82%;height:88px;
  border-radius:50%;
  background:rgba(255,255,255,.48);
  filter:blur(22px);
}
.login-header{position:relative;text-align:center!important;margin-bottom:29px!important}
.login-icon{
  width:52px!important;height:52px!important;
  margin:0 auto 16px!important;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.48)!important;
  box-shadow:0 8px 22px rgba(75,87,88,.08),inset 0 1px 0 rgba(255,255,255,.95)!important;
  -webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;
}
.login-icon i{font-size:20px!important;color:#565e5f!important}
.login-header h1{margin:0;color:var(--text)!important;font-size:22px!important;line-height:1.35;font-weight:700!important;letter-spacing:0!important}
.login-header p{margin-top:7px!important;display:flex!important;align-items:center;justify-content:center!important;gap:8px;color:var(--muted)!important;font-size:12px!important}
.login-header p i{font-size:4px!important;color:#aeb9b9!important}
.alert{position:relative;margin-bottom:18px!important;padding:11px 13px!important;display:flex;align-items:flex-start!important;gap:9px;border-radius:14px!important;font-size:13px!important;line-height:1.5;box-shadow:none!important;animation:none!important}
.alert-error{background:rgba(255,239,240,.72)!important;border:1px solid rgba(222,160,164,.45)!important;color:var(--danger)!important}
.alert-success{background:rgba(237,248,241,.72)!important;border:1px solid rgba(151,194,166,.45)!important;color:var(--success)!important}
.form-wrapper{position:relative}.form-panel{display:none;animation:none!important}.form-panel.active{display:block}.form-group{margin-bottom:16px!important}
.form-group label{display:block;margin-bottom:7px!important;color:#5f6565!important;font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important}
.input-box{
  width:100%;height:48px!important;display:flex;align-items:center;overflow:hidden;
  background:rgba(255,255,255,.48)!important;
  border:1px solid rgba(115,127,128,.17)!important;
  border-radius:15px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74)!important;
  -webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;
  transition:border-color .18s,box-shadow .18s,background .18s!important;
}
.input-box:focus-within{background:rgba(255,255,255,.76)!important;border-color:rgba(110,137,139,.46)!important;box-shadow:0 0 0 4px rgba(137,162,164,.11),inset 0 1px 0 rgba(255,255,255,.9)!important}
.input-box i{width:43px!important;flex:0 0 43px;text-align:center;color:#949e9e!important;font-size:14px!important}.input-box:focus-within i{color:#657778!important}
.input-box input{width:100%;min-width:0;height:100%;padding:0 13px 0 0!important;border:0!important;outline:0!important;background:transparent!important;color:var(--text)!important;font:inherit;font-size:14px!important}
.input-box input::placeholder{color:#a6adad!important;opacity:1}
.btn{width:100%;height:48px!important;border-radius:15px!important;font:inherit;font-size:14px!important;font-weight:700!important;letter-spacing:0!important;cursor:pointer;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s!important}
.btn-primary{border:1px solid rgba(42,47,48,.74)!important;background:rgba(44,49,50,.91)!important;color:#fff!important;box-shadow:0 9px 22px rgba(54,62,63,.15),inset 0 1px 0 rgba(255,255,255,.15)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn-primary:hover{background:rgba(30,35,36,.94)!important;box-shadow:0 11px 25px rgba(54,62,63,.19)!important;transform:translateY(-1px)}.btn-primary:active{transform:none!important}
.btn-secondary{border:1px solid rgba(112,124,125,.20)!important;background:rgba(255,255,255,.43)!important;color:#535b5c!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important}.btn-secondary:hover:not(:disabled){background:rgba(255,255,255,.7)!important;border-color:rgba(112,134,135,.35)!important}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}
.switch-tip{margin-top:23px!important;text-align:center;color:var(--muted)!important;font-size:13px!important}.switch-tip span,.switch-tip a{color:#4f6264!important;text-decoration:none!important;font-weight:650!important}.switch-tip span:hover,.switch-tip a:hover{color:#263536!important;text-decoration:underline!important}
.login-footer{margin-top:22px!important;display:flex;align-items:center;justify-content:center;gap:6px;color:#959d9d!important;font-size:11px!important}
.captcha-row{display:flex;align-items:center;gap:9px;flex-wrap:nowrap}.captcha-row .input-box{flex:1 1 auto;min-width:0!important}.captcha-row .captcha-img,.captcha-img{height:48px!important;min-width:100px;flex:0 0 auto;border:1px solid rgba(115,127,128,.17)!important;border-radius:15px!important;background:rgba(255,255,255,.58)!important}
.email-cooldown{height:48px!important;min-width:70px;padding:0 11px!important;display:flex;align-items:center;justify-content:center;border:1px solid rgba(115,127,128,.18)!important;border-radius:15px!important;background:rgba(255,255,255,.46)!important;color:#5f6e6f!important;font-size:13px!important;white-space:nowrap}.email-sent-badge{color:var(--success)!important;background:rgba(237,248,241,.78)!important;border-color:rgba(151,194,166,.45)!important}
.top-toast{position:fixed;top:20px;left:50%;z-index:9999;min-width:280px;max-width:calc(100vw - 32px);padding:11px 15px!important;transform:translate(-50%,-8px);border:1px solid rgba(255,255,255,.84)!important;border-radius:16px!important;background:rgba(255,255,255,.68)!important;color:var(--text)!important;box-shadow:0 16px 40px rgba(61,72,73,.16)!important;-webkit-backdrop-filter:blur(22px)!important;backdrop-filter:blur(22px)!important;opacity:0;pointer-events:none;transition:.2s!important}.top-toast.show{opacity:1;transform:translate(-50%,0)}.top-toast.success{border-color:rgba(151,194,166,.5)!important}.top-toast.error{border-color:rgba(222,160,164,.5)!important}.top-toast.info{border-color:rgba(141,166,168,.5)!important}
@media(max-height:760px){body:has(#registerPanel){align-items:flex-start}}
@media(max-width:480px){body{padding:14px 12px}.login-card{padding:30px 21px 24px!important;border-radius:28px!important}.login-card::before{border-radius:26px!important}.login-header{margin-bottom:25px!important}.login-header h1{font-size:20px!important}.captcha-row{gap:7px}.captcha-row .captcha-img,.captcha-img{min-width:92px;max-width:105px}body::before{height:43vh;bottom:-12vh}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}