:root{--ink:#211d3b;--muted:#77728d;--accent:#5d50c8;--line:#dfddea;--paper:#f5f4f8}*{box-sizing:border-box}body{margin:0;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--paper)}button,input{font:inherit}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(430px,.92fr)}.login-intro{position:relative;overflow:hidden;padding:52px 64px;background:radial-gradient(circle at 78% 36%,#6858c64a,transparent 32%),linear-gradient(145deg,#17142f,#29234f 68%,#342e62);color:#f8f7ff;display:flex;flex-direction:column}.login-brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:1.45px;width:max-content}.login-brand small{display:block;color:#aaa5c6;font-size:10px;font-weight:400;letter-spacing:1px;margin-top:6px}.brand-mark{width:42px;height:46px;border-radius:11px;background:#dddaf0;color:#2b245b;display:grid;place-items:center;font:800 22px Georgia,serif;letter-spacing:-2px}.intro-copy{position:relative;z-index:2;margin:auto 0;max-width:630px}.eyebrow{font-size:10px;letter-spacing:2.2px;color:#9892be;font-weight:700}.intro-copy h1{font-family:Georgia,"Songti SC",serif;font-size:48px;line-height:1.38;font-weight:500;letter-spacing:1px;margin:22px 0}.intro-copy p{font-size:14px;line-height:1.9;color:#aaa5c4}.security-note{position:relative;z-index:2;display:flex;gap:12px;align-items:flex-start;border-top:1px solid #ffffff1c;padding-top:23px;color:#aaa5c4;font-size:11px;line-height:1.7}.security-note span{width:24px;height:24px;border:1px solid #8d86bd;border-radius:50%;display:grid;place-items:center;color:#c5c1e4}.security-note p{margin:0}.security-note strong{color:#dedbea;font-weight:600}.trace-art{position:absolute;right:-105px;bottom:110px;width:460px;height:460px;border:1px solid #aaa2dd18;border-radius:50%}.trace-art:before,.trace-art:after{content:"";position:absolute;border:1px dashed #aaa2dd1f;border-radius:50%;inset:55px}.trace-art:after{inset:130px;border-style:solid}.trace-art i{position:absolute;width:7px;height:7px;border-radius:50%;background:#aaa2dd80}.trace-art i:nth-child(1){left:55px;top:168px}.trace-art i:nth-child(2){right:92px;top:65px}.trace-art i:nth-child(3){left:135px;bottom:30px}.trace-art i:nth-child(4){right:112px;bottom:120px}.login-panel{background:#faf9fc;display:flex;align-items:center;justify-content:center;padding:48px;position:relative}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:42px 44px;box-shadow:0 24px 70px #302a5e16}.login-card h2{font-size:28px;margin:13px 0 8px;letter-spacing:-.5px}.form-intro{font-size:13px;color:var(--muted);margin:0 0 31px;line-height:1.7}form{display:grid;gap:20px}label{display:grid;gap:9px;font-size:12px;font-weight:600;color:#4c4767}input{width:100%;height:48px;border:1px solid #d9d6e6;border-radius:8px;padding:0 14px;background:#fcfbfd;color:#28233f;outline:none;transition:.2s}input:focus{border-color:#756bc7;box-shadow:0 0 0 3px #756bc718;background:#fff}.password-field{position:relative}.password-field input{padding-right:62px}.password-field button{position:absolute;right:8px;top:7px;height:34px;border:0;background:transparent;color:#6d659c;font-size:11px;cursor:pointer}.login-button{height:50px;border:0;border-radius:8px;padding:0 17px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:650;cursor:pointer;box-shadow:0 7px 18px #5d50c82a;transition:.2s}.login-button:hover{background:#5145b6;transform:translateY(-1px)}.login-button:disabled{opacity:.65;cursor:wait;transform:none}.login-error{min-height:18px;color:#a34d49;font-size:12px;margin:-5px 0}.cost-note{margin:25px 0 0;padding:15px 16px;border-radius:8px;background:#f6f3e8;color:#746b4d;font-size:11px;line-height:1.7}.cost-note strong{color:#5d5438}.login-panel footer{position:absolute;bottom:24px;color:#aaa6b9;font-size:9px;letter-spacing:1.2px}@media(max-width:850px){.login-shell{display:block}.login-intro{min-height:280px;padding:35px 28px}.intro-copy{margin:55px 0}.intro-copy h1{font-size:31px;margin:15px 0}.intro-copy p,.security-note{display:none}.login-panel{min-height:calc(100vh - 280px);padding:28px 20px 70px;align-items:flex-start}.login-card{margin-top:-45px;position:relative;z-index:3;padding:31px 25px}}
