/* ============================================================
   NEO — 登录 / 注册页
   ============================================================ */

body.nx-auth-bg{
  background:
    radial-gradient(1000px 520px at 82% -8%,rgba(78,124,255,.28),transparent 60%),
    radial-gradient(860px 480px at 8% 108%,rgba(139,92,246,.22),transparent 58%),
    linear-gradient(160deg,#05070F 0%,#0B132B 55%,#070B1A 100%);
  min-height:100vh;
  display:flex;flex-direction:column;
}
body.nx-auth-bg .nx-auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:120px 0 70px;position:relative;overflow:hidden;}
body.nx-auth-bg .nx-blob{opacity:.4;}
body.nx-auth-bg .nx-footer{display:none;}

/* 顶部极简导航（白色） */
.nx-auth-header{
  position:fixed;top:0;left:0;right:0;z-index:50;min-width:1280px;height:76px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--nx-line);
}
.nx-auth-header .nx-container{height:76px;display:flex;align-items:center;justify-content:space-between;}
.nx-auth-header .nx-home-link{
  display:inline-flex;align-items:center;gap:7px;color:#3D4A63;font-size:14px;letter-spacing:1px;
  transition:color .25s;
}
.nx-auth-header .nx-home-link:hover{color:var(--nx-primary);}
.nx-auth-header .nx-home-link svg{transition:transform .3s;}
.nx-auth-header .nx-home-link:hover svg{transform:translateX(-4px);}

/* 卡片 */
.nx-auth-card{
  position:relative;z-index:2;width:980px;min-height:560px;margin:0 auto;
  display:flex;border-radius:22px;overflow:hidden;
  background:rgba(13,19,40,.72);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 40px 110px -30px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.03) inset;
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  animation:nxFadeUp .8s cubic-bezier(.22,1,.36,1) both;
}

/* 左侧品牌区 */
.nx-auth-side{
  width:400px;flex-shrink:0;position:relative;overflow:hidden;
  background:linear-gradient(155deg,#16205B 0%,#2A2C86 55%,#0F3D66 100%);
  padding:56px 44px;display:flex;flex-direction:column;justify-content:space-between;
}
.nx-auth-side::before{
  content:"";position:absolute;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(120,160,255,.5),transparent 72%);
  top:-130px;right:-110px;filter:blur(14px);animation:nxFloat1 13s ease-in-out infinite;
}
.nx-auth-side::after{
  content:"";position:absolute;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(34,211,238,.4),transparent 70%);
  bottom:-100px;left:-80px;filter:blur(12px);animation:nxFloat2 16s ease-in-out infinite;
}
.nx-auth-side-grid{
  position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(150,180,255,.09) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(150,180,255,.09) 1px,transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:radial-gradient(circle at 30% 30%,#000 0%,transparent 78%);
          mask-image:radial-gradient(circle at 30% 30%,#000 0%,transparent 78%);
}
.nx-auth-side-inner{position:relative;z-index:1;}
.nx-auth-side-inner .nx-logo-name{font-size:20px;}
.nx-auth-side h2{font-size:30px;color:#fff;font-weight:800;letter-spacing:2px;line-height:1.5;margin-top:56px;}
.nx-auth-side h2 em{font-style:normal;background:linear-gradient(100deg,#8FB2FF,#3AE0F0);-webkit-background-clip:text;background-clip:text;color:transparent;}
.nx-auth-side ul{margin-top:34px;position:relative;z-index:1;}
.nx-auth-side ul li{
  display:flex;align-items:center;gap:10px;color:#C4D2F2;font-size:14px;letter-spacing:1px;margin-bottom:16px;
  opacity:0;animation:nxHeroIn .7s cubic-bezier(.22,1,.36,1) forwards;
}
.nx-auth-side ul li:nth-child(1){animation-delay:.35s;}
.nx-auth-side ul li:nth-child(2){animation-delay:.5s;}
.nx-auth-side ul li:nth-child(3){animation-delay:.65s;}
.nx-auth-side ul li svg{flex-shrink:0;}
.nx-auth-side-foot{position:relative;z-index:1;font-size:12px;color:rgba(196,210,242,.55);letter-spacing:1px;}

/* 右侧表单区 */
.nx-auth-form{flex:1;padding:52px 64px 44px;display:flex;flex-direction:column;}
.nx-auth-form h3{font-size:26px;font-weight:800;color:#fff;letter-spacing:2px;}
.nx-auth-form .nx-auth-sub{font-size:13.5px;color:#8494B8;margin-top:8px;margin-bottom:34px;}
.nx-auth-form .nx-auth-sub a{color:#7EA0FF;}
.nx-auth-form .nx-auth-sub a:hover{color:#A9C2FF;text-decoration:underline;}

.nx-field{margin-bottom:22px;position:relative;}
.nx-field label{
  display:block;font-size:13px;color:#93A3C7;letter-spacing:1.5px;margin-bottom:9px;font-weight:600;
}
.nx-field label i{font-style:normal;color:#FF6B81;margin-right:3px;}
.nx-input{
  width:100%;height:50px;border-radius:12px;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);color:#fff;padding:0 18px;font-size:15px;
  transition:border-color .3s,box-shadow .3s,background .3s;
}
.nx-input::placeholder{color:#5D6B8C;}
.nx-input:focus{
  border-color:rgba(110,145,255,.85);background:rgba(255,255,255,.08);
  box-shadow:0 0 0 4px rgba(78,124,255,.16);
}
.nx-field-row{display:flex;gap:12px;}
.nx-field-row .nx-input{flex:1;}
.nx-authcode{height:50px;border-radius:12px;cursor:pointer;display:block;}

.nx-remember{
  display:flex;align-items:center;justify-content:space-between;margin:-4px 0 26px;
}
.nx-remember label{
  display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#8494B8;cursor:pointer;user-select:none;
}
.nx-remember input[type=checkbox]{
  appearance:none;-webkit-appearance:none;width:17px;height:17px;border-radius:5px;
  border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.05);cursor:pointer;position:relative;
  transition:all .25s;
}
.nx-remember input[type=checkbox]:checked{
  background:var(--nx-grad);border-color:transparent;
}
.nx-remember input[type=checkbox]:checked::after{
  content:"";position:absolute;left:5px;top:2px;width:4px;height:9px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg);
}
.nx-remember a{font-size:13px;color:#8494B8;}
.nx-remember a:hover{color:#A9C2FF;}

.nx-submit{
  width:100%;height:52px;border:0;border-radius:999px;cursor:pointer;
  background:var(--nx-grad);background-size:180% 180%;color:#fff;font-size:16px;font-weight:700;letter-spacing:6px;
  box-shadow:0 14px 32px -10px rgba(78,124,255,.65);
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,background-position .4s;
}
.nx-submit:hover{transform:translateY(-3px);background-position:100% 50%;box-shadow:0 20px 40px -12px rgba(139,92,246,.75);}
.nx-submit:active{transform:translateY(-1px);}

.nx-auth-alt{margin-top:26px;text-align:center;font-size:13.5px;color:#8494B8;}
.nx-auth-alt a{color:#7EA0FF;font-weight:600;}
.nx-auth-alt a:hover{color:#A9C2FF;text-decoration:underline;}

/* 第三方登录 */
.nx-oauth{margin-top:30px;padding-top:26px;border-top:1px dashed rgba(255,255,255,.12);text-align:center;}
.nx-oauth p{font-size:12.5px;color:#5D6B8C;letter-spacing:2px;margin-bottom:14px;}
.nx-oauth a{display:inline-block;margin:0 8px;transition:transform .3s,filter .3s;filter:grayscale(.4) brightness(1.1);}
.nx-oauth a:hover{transform:translateY(-4px) scale(1.06);filter:none;}

/* 注册页字段微调 */
.nx-auth-form .pw_check{margin-top:10px;display:flex;gap:8px;}
.nx-auth-form .pw_check span{
  font-size:12px;color:#5D6B8C;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:2px 14px;
  transition:all .3s;
}
.nx-auth-form .pw_check strong{color:#FFB65C;font-weight:600;}
.nx-auth-form .qfont{font-size:12.5px;color:#8494B8;margin-top:6px;}
.nx-form-tip{font-size:12px;color:#FF6B81;letter-spacing:.5px;}

/* 验证器提示兼容（validator.js 输出的 span） */
.nx-auth-form span[ismove],.nx-auth-form .validator-tip{font-size:12px;}

/* 发布成功等纯提示页复用 */
.nx-auth-narrow{width:760px;min-height:auto;}
