:root{--ink:#242424;--muted:#6b6b6b;--line:#ededed;--accent:#ff603d;--font:"PingFang SC","PingFang TC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans CN","Microsoft YaHei UI",sans-serif;font-family:var(--font);color:var(--ink);background:#f6f6f5;font-synthesis:none}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{min-width:320px;min-height:100%;margin:0;font-family:var(--font)}
body{display:grid;min-height:100vh;place-items:center;overflow-x:hidden;background:#f6f6f5}body:before,body:after{position:fixed;inset:0;z-index:0;pointer-events:none;content:""}body:before{background:radial-gradient(circle at 16% 24%,rgba(111,115,119,.15),transparent 34%),radial-gradient(circle at 87% 18%,rgba(202,148,128,.24),transparent 31%),radial-gradient(circle at 12% 90%,rgba(193,120,96,.21),transparent 38%),#f6f6f5}body:after{inset:-12%;background:radial-gradient(circle at 78% 42%,rgba(255,255,255,.9),transparent 40%);animation:login-light 12s ease-in-out infinite alternate}button,input{font:inherit}
.auth-shell{position:relative;z-index:1;display:grid;width:min(536px,calc(100vw - 36px));grid-template-columns:184px minmax(0,1fr);margin:96px auto 48px;padding:24px;border:1px solid #e8e8e8;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 12px 40px rgba(36,36,36,.06)}.auth-shell:after{position:absolute;top:-67px;right:116px;width:96px;height:88px;background:url("assets/brand/xiaoche-pen-mascot-a-minimal.png") center/contain no-repeat;content:"";pointer-events:none}
.auth-intro{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:10px 24px 10px 8px;border-right:1px solid var(--line)}.auth-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:16px;font-weight:600;text-decoration:none}.auth-brand img{width:28px;height:28px;object-fit:contain}.auth-intro>p{margin:10px 0 0;color:var(--muted);font-size:12px}.auth-intro h1{margin:28px 0 0;font-size:17px;font-weight:400;line-height:1.7;letter-spacing:-.01em}
.auth-panel{min-width:0;padding:4px 0 0 24px}.auth-card header{margin-bottom:16px}.auth-card h2{margin:0;font-size:20px;line-height:1.35}.auth-card header p,.auth-tabs{display:none}.auth-card form{display:grid;gap:8px}.auth-card label{color:#444;font-size:13px;font-weight:500}.auth-card form>label:before,.auth-label-row>label:before{margin-right:4px;color:#ff6b66;content:"*"}.auth-card input{width:100%;height:36px;padding:0 12px;border:1px solid #e8e8e8;border-radius:8px;outline:0;background:#fafafa;color:var(--ink);font-size:13px;transition:border-color 150ms ease,box-shadow 150ms ease}.auth-card input:focus{border-color:#b7b7b7;box-shadow:0 0 0 3px rgba(36,36,36,.05)}.auth-card input::placeholder{color:#aaa}.auth-label-row{display:flex;align-items:center;justify-content:space-between}.auth-label-row>span{color:#999;font-size:11px}
.auth-password{position:relative}.auth-password input{padding-right:42px}.auth-eye{position:absolute;top:0;right:3px;width:36px;height:36px;padding:0;border:0;background:transparent;color:#777;cursor:pointer}.auth-eye span{position:relative;display:inline-block;width:15px;height:10px;border:1.5px solid currentColor;border-radius:50%/60%;transform:rotate(-12deg)}.auth-eye span:after{position:absolute;top:2px;left:4px;width:4px;height:4px;border-radius:50%;background:currentColor;content:""}.auth-eye[aria-label="隐藏密码"] span:before{position:absolute;top:3px;left:-3px;width:19px;height:1.5px;background:currentColor;content:"";transform:rotate(35deg)}
.auth-primary{height:36px;margin-top:8px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background 150ms ease}.auth-primary:hover{background:#ff7457}.auth-primary:active{background:#fa5835}.auth-switch{margin:0;text-align:center;color:#777;font-size:11px}.auth-switch button{margin-left:4px;padding:0;border:0;background:transparent;color:#1677ff;cursor:pointer}.auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px}.auth-code-row button{border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#555;font-size:11px;cursor:pointer}.auth-code-row button:disabled{color:#aaa;cursor:not-allowed}.auth-message{margin-top:10px;padding:8px 10px;border:1px solid #ffd7cb;border-radius:8px;background:#fff3ee;color:#9b351e;font-size:11px;line-height:1.6}.auth-message.is-success{border-color:#cde7d8;background:#f2faf5;color:#257a53}.auth-card footer{margin-top:12px;text-align:center}.auth-card footer button{padding:0;border:0;background:transparent;color:#1677ff;font-size:11px;cursor:pointer}.auth-primary:focus-visible,.auth-eye:focus-visible,.auth-switch button:focus-visible,.auth-code-row button:focus-visible,.auth-card footer button:focus-visible{outline:2px solid rgba(255,96,61,.45);outline-offset:2px}
@keyframes login-light{from{transform:translate3d(-1%,1%,0);opacity:.78}to{transform:translate3d(2%,-1%,0);opacity:1}}@media(max-width:580px){body{display:block}.auth-shell{width:min(360px,calc(100vw - 32px));grid-template-columns:1fr;margin:90px auto 32px;padding:22px}.auth-shell:after{right:58px}.auth-intro{padding:0 0 18px;border-right:0;border-bottom:1px solid var(--line)}.auth-intro h1{margin-top:12px;font-size:15px}.auth-panel{padding:20px 0 0}}@media(prefers-reduced-motion:reduce){body:after{animation:none}}
