:root{--ink:#142b30;--muted:#647379;--green:#173e42;--lime:#d9ed94;--line:#dfe5e6}
*{box-sizing:border-box}body{margin:0;background:#f8f9f6;font:16px/1.7 "Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus{outline:3px solid #93b65c;outline-offset:3px}.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.intro{position:relative;display:flex;flex-direction:column;padding:44px 64px;background:#15363c;color:#f7fbf7;overflow:hidden}.brand{display:flex;align-items:center;gap:14px;width:fit-content}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff35;border-radius:13px;font:29px Georgia;color:#d8ed9b}.brand strong{font-size:25px;font-weight:600;letter-spacing:3px}.brand small{font-size:13px;color:#a6babc;margin-left:6px;border-left:1px solid #ffffff25;padding-left:18px}
.intro-copy{position:relative;z-index:2;margin-top:75px}.overline{font-size:13px;letter-spacing:1.5px;color:#6b7e80;display:flex;align-items:center;gap:8px}.intro .overline{color:#bacacc}.overline>span{width:6px;height:6px;background:#d5e891;border-radius:50%}.intro h1{font-size:clamp(36px,3.5vw,54px);line-height:1.45;letter-spacing:-1px;margin:22px 0 23px;font-weight:500}.intro-copy p{font-size:17px;line-height:1.9;color:#b7c8c9}
.auth-art{position:relative;width:420px;height:315px;max-width:100%;margin:5px auto 30px}.orbit{border:1px solid #74969550;border-radius:50%;position:absolute;inset:40px 0;transform:rotate(-30deg)}.orbit-two{inset:10px 45px;transform:rotate(32deg)}.math-center{position:absolute;inset:30px 0 0;display:flex;align-items:center;justify-content:center;flex-direction:column;font:italic 115px/1 Georgia;color:#e0efa7;text-shadow:0 10px 70px #cfe99320}.math-center span{font:13px/1.5 "Microsoft YaHei";letter-spacing:4px;margin-top:12px;color:#a7c0bf}.math-chip{position:absolute;border:1px solid #76989a60;background:#22454b;padding:12px 20px;border-radius:12px;font:22px Georgia;box-shadow:0 16px 40px #0a232839}.chip-one{top:48px;left:0;transform:rotate(-9deg)}.chip-two{right:-10px;bottom:44px;transform:rotate(7deg)}.art-dot{position:absolute;border-radius:50%;width:9px;height:9px;background:#d4e895;box-shadow:0 0 22px #d4e89560}.dot-one{right:56px;top:24px}.dot-two{left:89px;bottom:27px;width:6px;height:6px;background:#7ca09e}
.intro-foot{margin-top:auto;display:flex;justify-content:space-between;gap:18px;font-size:12px;color:#94adb0;padding-top:25px;border-top:1px solid #ffffff15}.login-panel{position:relative;padding:70px 56px 32px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fbfcf9}.back-home{position:absolute;left:44px;top:39px;font-size:14px;color:#607478}.login-card{width:100%;max-width:410px}.auth-tabs{display:flex;width:160px;padding:4px;background:#edf1ee;border:1px solid #e4e9e5;border-radius:9px;gap:4px;margin-bottom:34px}.auth-tabs a{flex:1;text-align:center;padding:6px 12px;font-size:14px;color:#788782;border-radius:6px}.auth-tabs a.active{background:white;color:#183c40;box-shadow:0 1px 4px #233a2514}.login-card h2{font-size:33px;font-weight:600;line-height:1.4;letter-spacing:-.6px;margin:12px 0}.subtitle{font-size:15px;color:#6a7a7a;margin:0 0 30px}
label{display:block;font-size:14px;font-weight:500;margin-bottom:18px;color:#3b5155}input{display:block;width:100%;height:49px;margin-top:8px;padding:12px 14px;border:1px solid #d9e2df;border-radius:8px;background:white;color:#19383c;font-size:15px;transition:border-color .2s}input:focus{border-color:#738e82}input::placeholder{color:#8c9999;font-size:14px}.password-wrap{position:relative}.password-wrap input{padding-right:66px}.password-wrap button{position:absolute;right:12px;top:11px;padding:5px;border:0;background:transparent;font-size:13px;color:#6e7e7a}.login-button{width:100%;border:0;border-radius:8px;padding:14px 18px;background:#183e43;color:white;display:flex;align-items:center;justify-content:space-between;font-size:15px;margin-top:22px;transition:background .2s,transform .2s}.login-button:hover{background:#275157;transform:translateY(-1px)}.login-button:disabled{opacity:.6;cursor:wait}.login-button>span:last-child{font-size:22px;line-height:1}.switch-auth{font-size:14px;color:#748380;text-align:center;margin:23px 0 0}.switch-auth a{margin-left:8px;color:#254e46}.login-foot{font-size:12px;color:#86928f;text-align:center;margin-top:35px}.panel-foot{font-size:12px;color:#8b9792;margin-top:55px}.hidden{display:none!important}#login-error{font-size:14px;color:#a34c40;background:#fcf0eb;border-radius:6px;padding:10px 12px;margin:0 0 16px}#login-error:empty{display:none}
@media(min-width:1600px){.intro{padding:55px 90px}.intro-copy{margin-top:100px}.auth-art{margin-top:45px}.login-card{max-width:440px}}
@media(max-width:1050px){.intro{padding:36px}.brand small{display:none}.intro-copy{margin-top:60px}.intro h1{font-size:38px}.auth-art{width:320px}.login-panel{padding:80px 35px 35px}.intro-foot{flex-direction:column;gap:4px}}
@media(max-width:700px){.login-shell{display:block}.intro{padding:22px 25px 30px}.brand strong{font-size:23px}.brand-mark{width:35px;height:35px;font-size:26px}.intro-copy{margin-top:30px}.intro h1{font-size:29px;margin:14px 0 0}.intro h1 br{display:none}.intro-copy p,.auth-art,.intro-foot{display:none}.intro .overline{font-size:12px}.login-panel{padding:58px 26px 30px}.back-home{top:21px;left:26px;font-size:13px}.auth-tabs{margin-bottom:24px}.login-card h2{font-size:28px}.subtitle{margin-bottom:23px}.login-foot{margin-top:25px}.panel-foot{margin-top:26px}}
