
:root{
  --bg-0:#020711;
  --bg-1:#06182e;
  --bg-2:#0b2e5c;
  --glass-a:rgba(105,178,242,.13);
  --glass-b:rgba(6,20,43,.08);
  --glass-white:rgba(255,255,255,.055);
  --line:rgba(166,222,255,.36);
  --text:#f5f9ff;
  --muted:#adc1d8;
  --blue:#2d8fff;
  --orange:#0ea5e9;
  --orange-2:#38bdf8;
  --danger:#ff6b78;
}
*{box-sizing:border-box}
html,body{width:100%;min-height:100%;margin:0}
body{
  min-height:100vh;
  overflow:hidden;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 580px at 14% 13%, rgba(255,124,0,.16), transparent 58%),
    radial-gradient(920px 650px at 88% 15%, rgba(42,123,255,.30), transparent 60%),
    radial-gradient(700px 450px at 52% 96%, rgba(0,214,196,.10), transparent 60%),
    linear-gradient(135deg,var(--bg-0),var(--bg-1) 48%,var(--bg-2));
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(137,203,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(137,203,255,.028) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(circle at center,#000 45%,transparent 100%);
  mask-image:radial-gradient(circle at center,#000 45%,transparent 100%);
}
.aero-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none}
.arc{position:absolute;border:1px solid transparent;border-radius:50%;filter:drop-shadow(0 0 8px rgba(58,153,255,.25))}
.arc.a{width:155%;height:70%;left:-26%;top:29%;border-top-color:rgba(67,156,255,.22);transform:rotate(-7deg)}
.arc.b{width:150%;height:68%;left:-23%;top:44%;border-top-color:rgba(31,240,193,.16);transform:rotate(-7deg)}
.glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55}
.g1{width:360px;height:360px;background:rgba(33,128,255,.22);right:10%;top:7%}
.g2{width:290px;height:290px;background:rgba(255,124,0,.12);left:4%;top:8%}
.g3{width:420px;height:320px;background:rgba(0,210,187,.10);left:38%;bottom:-11%}
.viewport{position:relative;z-index:2;min-height:100vh;display:grid;place-items:center;padding:28px}
.login-card{
  width:min(470px,92vw);position:relative;padding:30px 30px 25px;border-radius:31px;
  background:
    linear-gradient(145deg,var(--glass-a),var(--glass-b) 48%,var(--glass-white)),
    rgba(8,26,54,.10);
  border:1px solid var(--line);
  box-shadow:
    0 32px 90px rgba(0,0,0,.44),
    0 0 0 1px rgba(255,255,255,.025) inset,
    0 1px 0 rgba(255,255,255,.18) inset,
    0 0 42px rgba(44,145,255,.10);
  backdrop-filter:blur(28px) saturate(155%);
  -webkit-backdrop-filter:blur(28px) saturate(155%);
  overflow:hidden;
}
.login-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:
    linear-gradient(115deg,rgba(255,255,255,.15),transparent 20%,transparent 74%,rgba(91,181,255,.08)),
    radial-gradient(300px 110px at 50% 0%,rgba(147,218,255,.12),transparent 65%);
}
.login-card::after{
  content:"";position:absolute;width:210px;height:210px;right:-115px;bottom:-120px;border-radius:50%;
  background:rgba(255,136,0,.11);filter:blur(26px);pointer-events:none;
}
.glass-sheen{
  position:absolute;z-index:1;top:-40%;left:-62%;width:82%;height:170%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),rgba(255,255,255,.12),rgba(255,255,255,.04),transparent);
  filter:blur(3px);animation:sheen 10s ease-in-out infinite;pointer-events:none;
}
@keyframes sheen{
  0%,65%{transform:translateX(-15%) rotate(18deg);opacity:.25}
  78%{opacity:.7}
  100%{transform:translateX(240%) rotate(18deg);opacity:.2}
}
.logo-zone{position:relative;z-index:2;display:flex;justify-content:center;margin:-4px auto 22px}
.logo{
  width:205px;max-width:64%;height:auto;display:block;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.28)) drop-shadow(0 0 13px rgba(255,170,61,.13));
}
.form{position:relative;z-index:2}
.field{position:relative;margin-top:13px}
.field input{
  width:100%;height:59px;border-radius:16px;border:1px solid rgba(174,221,255,.27);
  background:linear-gradient(180deg,rgba(208,233,255,.115),rgba(82,145,207,.055));
  color:#fff;outline:0;padding:0 50px;font-size:15px;font-weight:500;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 10px 28px rgba(0,0,0,.06);
  transition:.22s ease;
}
.field input::placeholder{color:rgba(226,238,252,.72)}
.field input:focus{
  border-color:rgba(111,213,255,.72);
  box-shadow:0 0 0 4px rgba(45,143,255,.10),0 0 25px rgba(45,143,255,.12),inset 0 1px 0 rgba(255,255,255,.14);
}
.icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#7ad4ff;font-size:15px;z-index:3}
.eye{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:#91d8ff;font-size:17px;z-index:3;cursor:pointer;user-select:none}
.meta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:15px 3px 18px;color:var(--muted);font-size:13px}
.remember{display:flex;align-items:center;gap:8px}
.remember input{accent-color:var(--blue)}
.forgot{color:#8ed8ff;text-decoration:none}
.forgot:hover{color:#fff}
.btn{
  width:100%;height:59px;border:0;border-radius:17px;cursor:pointer;color:white;
  font-size:14px;font-weight:850;letter-spacing:.14em;
  background:linear-gradient(135deg,var(--orange),var(--orange-2));
  box-shadow:0 14px 34px rgba(14,165,233,.28),inset 0 1px 0 rgba(255,255,255,.30);
  transition:.2s ease;position:relative;
}
.btn:hover{transform:translateY(-2px);filter:brightness(1.055);box-shadow:0 17px 38px rgba(14,165,233,.34),inset 0 1px 0 rgba(255,255,255,.30)}
.btn:active{transform:translateY(0)}
.btn.loading{opacity:.82;cursor:wait}
.btn.loading .btn-text{opacity:.25}
.btn-loader{
  display:none;position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px;
  border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;
  animation:spin .7s linear infinite;
}
.btn.loading .btn-loader{display:block}
@keyframes spin{to{transform:rotate(360deg)}}
.error-box{
  position:relative;z-index:2;margin:0 0 10px;padding:12px 14px;border-radius:14px;
  border:1px solid rgba(255,107,120,.34);
  background:rgba(135,27,47,.18);
  color:#ffdbe0;font-size:13px;text-align:center;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.system-note{position:relative;z-index:2;text-align:center;margin-top:18px;font-size:11px;color:rgba(214,230,247,.56)}
.legal{
  position:fixed;right:22px;bottom:17px;z-index:3;color:rgba(185,211,238,.50);
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;
}
.spark{position:fixed;width:3px;height:3px;border-radius:50%;background:#38bdf8;box-shadow:0 0 9px #0ea5e9;opacity:.78}
.s1{left:14%;top:18%}.s2{right:16%;top:12%}.s3{left:33%;bottom:16%}.s4{right:23%;bottom:27%}
@media(max-width:560px){
  body{overflow:auto}
  .viewport{padding:18px 14px 50px}
  .login-card{padding:26px 20px 23px;border-radius:25px}
  .logo{width:170px}
  .meta{font-size:12px}
  .legal{right:12px;bottom:10px;font-size:8.5px}
}
