@charset "UTF-8";
:root{--primary:#6f56f5;--primary2:#33c5ff;--dark:#12162a;--muted:#8a91a8;--line:rgba(99,89,180,.16)}
*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{margin:0;background:#080b18;font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif}
.login-container{position:relative;width:100%;height:100%;min-height:640px;overflow:hidden;background:#0b1025;background-size:cover;background-repeat:no-repeat;background-position:center}
.login-bg-layer{position:absolute;inset:0;background:linear-gradient(120deg,rgba(8,11,29,.96) 0%,rgba(19,19,54,.88) 42%,rgba(37,28,91,.70) 100%)}
.login-grid{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to right,#000,transparent 78%);animation:gridMove 20s linear infinite}
.login-grid:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-32%;height:65%;background:radial-gradient(ellipse at center,rgba(77,99,255,.32),transparent 68%);filter:blur(12px)}
.login-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55;animation:orbFloat 9s ease-in-out infinite}
.login-orb-one{width:320px;height:320px;right:9%;top:-110px;background:radial-gradient(circle at 35% 35%,rgba(92,218,255,.65),rgba(99,72,255,.14) 60%,transparent 72%)}
.login-orb-two{width:460px;height:460px;left:-180px;bottom:-210px;background:radial-gradient(circle at 60% 40%,rgba(139,89,255,.55),rgba(74,48,189,.1) 62%,transparent 72%);animation-delay:-3s}
.login-orb-three{width:180px;height:180px;right:35%;bottom:8%;background:radial-gradient(circle,rgba(48,209,255,.26),transparent 68%);animation-delay:-6s}
.login-shell{position:relative;z-index:2;width:min(1180px,92vw);height:100%;margin:0 auto;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:90px;padding:70px 0 90px}
.login-intro{color:#fff;animation:introIn .85s ease both}.brand-badge{display:inline-flex;align-items:center;gap:11px;padding:7px 13px 7px 8px;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:rgba(255,255,255,.06);backdrop-filter:blur(12px);font-size:11px;letter-spacing:2px;color:rgba(255,255,255,.7)}
.brand-mark{width:36px;height:36px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--primary2),var(--primary));box-shadow:0 10px 28px rgba(94,77,242,.42)}.brand-mark i{font-size:19px;color:#fff}
.login-intro h1{margin:30px 0 22px;font-size:58px;line-height:1.18;letter-spacing:5px;font-weight:700;text-shadow:0 12px 45px rgba(0,0,0,.28)}
.login-intro p{max-width:520px;margin:0;color:rgba(235,239,255,.68);font-size:16px;line-height:1.9;letter-spacing:.6px}
.feature-list{display:flex;gap:28px;margin-top:38px}.feature-list div{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.78);font-size:13px}.feature-list i{color:#76d8ff;font-size:18px}
.intro-line{width:68px;height:3px;margin-top:44px;border-radius:3px;background:linear-gradient(90deg,var(--primary2),var(--primary))}.intro-tip{display:block;margin-top:13px;color:rgba(255,255,255,.42);font-size:11px;letter-spacing:5px}
.login-card-wrap{display:flex;justify-content:center;animation:cardIn .85s .08s ease both}.login-card{position:relative;width:440px;padding:46px 42px 30px;border:1px solid rgba(255,255,255,.68);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 35px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(22px)}
.login-card:before{content:"";position:absolute;inset:-1px;border-radius:28px;padding:1px;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(145,129,255,.32),rgba(74,204,255,.28));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.card-heading{text-align:left;margin-bottom:30px}.heading-tag{display:inline-flex;color:#705df2;font-size:10px;font-weight:700;letter-spacing:2.6px}.card-heading h2{margin:11px 0 8px;color:#171a2d;font-size:28px;line-height:1.35;font-weight:700;letter-spacing:1px}.card-heading p{margin:0;color:#969bad;font-size:13px}
.login-fields{margin:0;padding:0;list-style:none}.login-fields>li{position:relative;margin-top:17px;text-shadow:none!important}.field-box{position:relative;display:block;height:68px;border:1px solid #e7e8f0;border-radius:15px;background:#f8f9fc;transition:.25s ease;overflow:hidden}.field-box:hover{border-color:#d5d2ef;background:#fff}.field-box.is-focused{border-color:#7a65f7;background:#fff;box-shadow:0 0 0 4px rgba(111,86,245,.09),0 10px 24px rgba(63,46,146,.07)}
.field-box>i.layui-icon{position:absolute;left:18px;top:23px;padding:0!important;color:#8c91a3!important;font-size:20px!important;text-shadow:none!important;transition:.25s}.field-box.is-focused>i{color:#705cf3!important}.field-label{position:absolute;left:52px;top:11px;color:#a0a4b3!important;font-size:11px!important;letter-spacing:0!important;text-shadow:none!important;z-index:2}
.field-box input.layui-input{position:absolute;left:0;bottom:0;width:100%;height:45px!important;padding:9px 48px 3px 52px!important;border:0!important;background:transparent!important;color:#202336!important;font-size:14px!important;line-height:32px!important;text-indent:0!important;letter-spacing:.3px!important;text-shadow:none!important;box-shadow:none!important;-webkit-text-fill-color:#202336!important}.field-box input::placeholder{color:#c1c4cf}.field-box input:-webkit-autofill{-webkit-text-fill-color:#202336!important;-webkit-box-shadow:0 0 0 1000px #fff inset!important;transition:background-color 9999s ease-out}
.field-box .layui-input-affix{right:14px;color:#a9adba}.login-fields li.verify{display:flex;gap:10px}.login-fields li.verify>.field-box{width:235px}.login-fields li.verify>label:last-child img{width:110px;height:68px;border-radius:14px;object-fit:cover;box-shadow:none}
.login-action{padding-top:8px}.login-action button{height:54px!important;border:none!important;border-radius:15px!important;background:linear-gradient(110deg,#6957ef,#735cf5 48%,#36bce9)!important;color:#fff!important;font-weight:600;font-size:15px;letter-spacing:1px!important;box-shadow:0 15px 30px rgba(96,76,231,.28)!important;transition:.28s!important}.login-action button:not(.layui-disabled):hover{transform:translateY(-2px);box-shadow:0 19px 36px rgba(96,76,231,.38)!important}.login-action button i{position:static!important;margin-left:9px;padding:0!important;color:#fff!important;font-size:15px!important}.login-action button.layui-disabled{opacity:.62}.security-tip{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:23px;color:#aaaebe;font-size:11px}.security-tip i{color:#49bda7}
.login-footer{position:absolute;z-index:3;left:0;right:0;bottom:24px;text-align:center;color:rgba(255,255,255,.34);font-size:11px;letter-spacing:.5px}.footer-dot{display:inline-block;width:3px;height:3px;margin:0 12px;vertical-align:middle;border-radius:50%;background:rgba(255,255,255,.28)}
.mobile-brand{display:flex;align-items:center;gap:12px;margin-bottom:27px}.mobile-brand strong{display:block;color:#202238;font-size:18px}.mobile-brand small{display:block;margin-top:3px;color:#a2a6b7;font-size:9px;letter-spacing:1.7px}
@keyframes cardIn{from{opacity:0;transform:translate3d(35px,25px,0) scale(.97)}to{opacity:1;transform:none}}@keyframes introIn{from{opacity:0;transform:translate3d(-35px,15px,0)}to{opacity:1;transform:none}}@keyframes orbFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(20px,-24px,0) scale(1.06)}}@keyframes gridMove{from{background-position:0 0}to{background-position:58px 58px}}
@media(max-width:900px){.login-container{min-height:560px}.login-shell{display:flex;width:100%;padding:30px 20px 70px;align-items:center;justify-content:center}.login-card{width:min(440px,100%)}.login-footer{bottom:14px}.login-orb-one{right:-130px}.login-orb-two{left:-250px}.login-grid{opacity:.1}}
@media(max-width:480px){html,body{overflow:auto}.login-container{min-height:100vh}.login-shell{padding:24px 15px 65px}.login-card{padding:30px 24px 24px;border-radius:24px}.card-heading{margin-bottom:24px}.card-heading h2{font-size:24px}.field-box{height:64px}.field-box>i.layui-icon{top:21px}.login-action button{height:52px!important}.login-footer{font-size:9px}.login-footer span:last-child,.footer-dot{display:none}}
@media(prefers-reduced-motion:reduce){.login-grid,.login-orb,.login-intro,.login-card-wrap{animation:none!important}}
