:root{--ink:#101c25;--ink-2:#182b36;--paper:#f4f8fa;--white:#fff;--mint:#b9f4d2;--mint-deep:#16845e;--blue:#315bff;--line:#d8e2e7;--slate:#6f7f89;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--mono:"SFMono-Regular",Consolas,monospace}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans)}button,input{font:inherit}button{border:0;background:none;cursor:pointer}.login-shell{display:grid;min-height:100vh;grid-template-columns:minmax(390px,1.05fr) minmax(430px,.95fr)}.login-story{position:relative;display:flex;min-height:100vh;overflow:hidden;flex-direction:column;padding:46px 54px 38px;background:var(--ink);color:#fff}.login-story::before{content:"凭";position:absolute;right:-26px;bottom:-118px;color:rgba(255,255,255,.025);font-family:var(--serif);font-size:420px;line-height:1}.login-story::after{content:"";position:absolute;top:-140px;right:-170px;width:430px;height:430px;border:1px solid rgba(185,244,210,.13);border-radius:50%;box-shadow:0 0 0 54px rgba(185,244,210,.025),0 0 0 108px rgba(185,244,210,.018)}.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:15px;color:#fff;text-decoration:none}.brand-orbit{display:grid;width:45px;height:45px;place-items:center;border:1px solid rgba(255,255,255,.65);border-radius:50%}.brand-orbit i{width:9px;height:9px;border:3px solid var(--mint);border-radius:50%;box-shadow:0 0 0 5px rgba(185,244,210,.07)}.login-brand>span:last-child{display:flex;flex-direction:column;gap:4px}.login-brand b{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:.08em}.login-brand small{color:rgba(255,255,255,.43);font-family:var(--mono);font-size:8px;letter-spacing:.16em}.story-copy{position:relative;z-index:1;margin:auto 0;max-width:620px}.story-copy p,.login-heading>span{color:var(--mint);font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.22em}.story-copy h1{margin:25px 0 24px;font-family:var(--serif);font-size:clamp(48px,6vw,84px);font-weight:600;line-height:1.02;letter-spacing:-.055em}.story-copy>span{display:block;max-width:410px;color:rgba(255,255,255,.54);font-size:13px;line-height:1.9}.credential-rail{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:13px;max-width:610px;color:rgba(255,255,255,.46);font-family:var(--mono);font-size:8px;letter-spacing:.08em}.credential-rail i{height:1px;background:linear-gradient(90deg,var(--mint),rgba(185,244,210,.1))}.login-story footer{position:relative;z-index:1;margin-top:28px;color:rgba(255,255,255,.26);font-size:9px}.login-panel{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:48px;background:radial-gradient(circle at 80% 10%,rgba(49,91,255,.07),transparent 28%),var(--paper)}.login-card{width:min(100%,430px);padding:48px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 28px 80px rgba(16,28,37,.1)}.login-heading>span{color:var(--blue)}.login-heading h2{margin:16px 0 9px;font-family:var(--serif);font-size:39px;font-weight:600;letter-spacing:-.045em}.login-heading p{margin:0;color:var(--slate);font-size:12px}.login-card form{display:flex;flex-direction:column;gap:19px;margin-top:37px}.login-card label{display:flex;flex-direction:column;gap:9px}.login-card label>span:first-child{font-size:10px;font-weight:800}.login-card input{width:100%;height:51px;padding:0 15px;border:1px solid var(--line);border-radius:12px;outline:none;background:#fbfdfe;color:var(--ink);font-size:13px;transition:.2s}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(49,91,255,.08)}.password-field{position:relative}.password-field input{padding-right:60px}.password-field button{position:absolute;right:7px;top:7px;height:37px;padding:0 10px;border-radius:8px;color:var(--slate);font-size:10px}.password-field button:hover{background:#edf2f5}.login-error{margin:-5px 0 0;color:#a43f34;font-size:10px;line-height:1.5}.login-submit{display:flex;height:55px;align-items:center;justify-content:space-between;margin-top:2px;padding:0 18px 0 21px;border-radius:13px;background:var(--blue);color:#fff;font-size:12px;font-weight:800;box-shadow:0 13px 27px rgba(49,91,255,.24);transition:.2s}.login-submit i{font-family:var(--mono);font-size:18px;font-style:normal}.login-submit:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(49,91,255,.3)}.login-submit:disabled{cursor:wait;opacity:.68;transform:none}.issued-note{display:flex;align-items:flex-start;gap:12px;margin-top:30px;padding-top:21px;border-top:1px solid var(--line)}.issued-note>i{width:9px;height:9px;flex:0 0 auto;margin-top:3px;border-radius:50%;background:var(--mint-deep);box-shadow:0 0 0 5px rgba(22,132,94,.08)}.issued-note>span{display:flex;flex-direction:column;gap:5px}.issued-note b{font-size:10px}.issued-note small{color:var(--slate);font-size:9px;line-height:1.6}.login-help{position:absolute;bottom:21px;margin:0;color:#91a0a9;font-size:9px}.login-help a{color:var(--blue)}
@media(max-width:820px){.login-shell{grid-template-columns:1fr}.login-story{min-height:300px;padding:29px 32px}.story-copy{margin:65px 0 45px}.story-copy h1{font-size:48px}.story-copy>span,.credential-rail,.login-story footer{display:none}.login-panel{min-height:auto;padding:30px 20px 70px}.login-card{margin-top:-51px;padding:34px 28px;border-radius:22px}.login-help{bottom:20px}.login-heading h2{font-size:34px}}
@media(max-width:430px){.login-story{min-height:274px;padding:calc(24px + env(safe-area-inset-top)) 22px 24px}.login-brand b{font-size:21px}.story-copy{margin:54px 0 24px}.story-copy h1{font-size:39px}.login-panel{padding-right:max(14px,env(safe-area-inset-right));padding-bottom:calc(64px + env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left))}.login-card{padding:30px 22px}.login-submit{height:52px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important}}
