@font-face{font-family:Manrope;src:url('assets/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:RelayCN;src:url('assets/chinese.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--auth-ink:#202631;--auth-muted:#596574;--auth-blue:#245bcd;--auth-line:#d9dfe7;--auth-surface:#fff;color:var(--auth-ink);background:#eef0f3;font:15px/1.75 Manrope,RelayCN,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}a{color:inherit;text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}button[aria-busy=true]{cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--auth-blue);outline-offset:4px}input{caret-color:var(--auth-blue);accent-color:var(--auth-blue)}::selection{background:#dce7ff;color:#173d8e}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;letter-spacing:-.025em}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}
.admin-auth-skip{position:fixed;left:-1000px;top:10px}.admin-auth-skip:focus{left:20px;z-index:5;background:#fff;padding:10px 16px;border-radius:8px}.admin-auth-header{max-width:1216px;height:90px;margin:auto;padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-auth-brand{text-decoration:none;font-weight:800;font-size:25px;letter-spacing:-.04em;white-space:nowrap}.admin-auth-brand span{font-weight:400}.admin-auth-header nav{display:flex;align-items:center;gap:26px;font-size:14px}.admin-auth-header nav>a{min-height:44px;display:flex;align-items:center;text-decoration:none;color:#43536a}.admin-auth-header nav>a:hover{color:var(--auth-blue)}#language-toggle{min-height:44px;min-width:46px;border:0;background:#fff;border-radius:10px;color:#34445a;font-size:13px;white-space:nowrap;box-shadow:0 3px 9px #24344c0a}
.admin-auth-layout{max-width:1080px;margin:42px auto 64px;padding:0 30px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:74px;align-items:start}.admin-auth-intro{padding:28px 0 0}.admin-auth-symbol{width:44px;height:44px;color:#3b5d8d;margin-bottom:26px}.admin-auth-intro h1{font-size:40px;line-height:1.38;font-weight:650;max-width:12em;letter-spacing:-.03em}.admin-auth-intro>p{max-width:65ch;color:var(--auth-muted);font-size:15px;line-height:1.9;margin-top:21px}.admin-auth-account{margin:30px 0 0;padding:23px 0;border-block:1px solid #d4dbe4}.admin-auth-account dt{font-size:13px;color:var(--auth-muted);margin-bottom:7px}.admin-auth-account dd{margin:0;font-size:15px;font-weight:650;overflow-wrap:anywhere}.admin-auth-context{margin-top:25px;color:var(--auth-muted);font-size:13px;line-height:1.9;max-width:65ch}.admin-auth-context p+p{margin-top:13px}.admin-auth-intro>a{display:inline-flex;align-items:center;min-height:44px;margin-top:13px;color:var(--auth-blue);font-size:13px}
.admin-auth-panel{position:relative;background:var(--auth-surface);border:0;border-radius:16px;padding:36px;min-width:0;box-shadow:0 16px 40px #25344c0a,0 4px 12px #25344c05}.admin-auth-panel h2{font-size:29px;line-height:1.4;font-weight:670;letter-spacing:-.03em}.admin-auth-description{font-size:14px;line-height:1.85;color:var(--auth-muted);margin-top:12px;margin-bottom:26px;max-width:65ch}.admin-auth-field{display:block;margin:23px 0;color:#35445a;font-size:14px;font-weight:650}.admin-auth-field>span{display:block;margin-bottom:8px;transition:color .16s ease}.admin-auth-field:focus-within>span{color:var(--auth-blue)}.admin-auth-field input{display:block;width:100%;height:50px;border:1px solid #cbd2dd;border-radius:9px;color:var(--auth-ink);background:#fff;padding:11px 13px;font-size:16px;line-height:1.6;min-width:0;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.admin-auth-field input:hover:not([readonly]):not(:disabled){border-color:#94a5bb}.admin-auth-field input:focus{outline:2px solid #dbe6fb;outline-offset:0;border-color:var(--auth-blue);box-shadow:0 0 0 2px #dbe6fb}.admin-auth-field input[readonly]{background:#f4f6f9;color:#40516a;font-size:14px}.admin-auth-field input[aria-invalid=true]{border-color:#b9342c;background:#fffbfa}.admin-auth-field input[aria-invalid=true]:focus{outline-color:#f5d8d4;box-shadow:0 0 0 2px #f5d8d4}.admin-auth-field small{display:block;margin-top:7px;font-size:12px;font-weight:400;line-height:1.8;color:var(--auth-muted)}.admin-auth-password{position:relative}.admin-auth-password input{padding-right:70px}.admin-auth-password button{position:absolute;right:4px;top:3px;border:0;border-radius:6px;height:44px;min-width:54px;padding:6px 10px;color:#315b99;background:transparent;font-size:13px}.admin-auth-password button:hover:not(:disabled){background:#eef3fb}
.admin-auth-primary,.admin-auth-secondary{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;gap:9px;padding:12px 18px;border-radius:9px;text-decoration:none;font-size:14px;font-weight:650;line-height:1.65;text-align:center;transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}.admin-auth-primary{border:1px solid var(--auth-blue);background:var(--auth-blue);color:#fff;margin-top:25px}.admin-auth-primary:hover:not(:disabled){background:#1b4eaf;border-color:#1b4eaf;box-shadow:0 5px 12px #225bc91a}.admin-auth-primary:active:not(:disabled){background:#153e91;box-shadow:none}.admin-auth-secondary{border:1px solid #cbd2dd;background:#fff;color:#34445a;margin-top:14px}.admin-auth-secondary:hover:not(:disabled){background:#f3f6fa;border-color:#9aaabe}.admin-auth-secondary:active:not(:disabled){background:#e9eef6;color:#233b61}.admin-auth-text{display:inline-flex;align-items:center;min-height:44px;padding:12px 0;background:transparent;border:0;text-decoration:underline;text-underline-offset:5px;font-size:13px;color:var(--auth-blue);text-align:left}.admin-auth-text:hover:not(:disabled){color:#163e8e}.admin-auth-error,.admin-auth-status{font-size:13px;line-height:1.85;padding:13px 15px;border-radius:9px;margin:20px 0;overflow-wrap:anywhere}.admin-auth-error{color:#9d2e27;background:#fff1ef;border:1px solid #efc8c3}.admin-auth-status{color:#23613c;background:#eff8f2;border:1px solid #c6e2d1}.admin-auth-note{font-size:13px;line-height:1.85;color:var(--auth-muted);margin-top:19px}.admin-auth-loading{padding:40px 0;display:flex;flex-direction:column;align-items:center;gap:19px;font-size:14px;color:var(--auth-muted)}.admin-auth-loading>span{width:25px;height:25px;border:2px solid #d8e2f4;border-top-color:var(--auth-blue);border-radius:50%;animation:admin-auth-spin .8s linear infinite}.admin-auth-primary[aria-busy=true]:before,.admin-auth-secondary[aria-busy=true]:before{content:'';width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;flex:none;animation:admin-auth-spin .8s linear infinite}@keyframes admin-auth-spin{to{transform:rotate(360deg)}}
.admin-auth-code{display:block;padding:18px;background:#eff3f9;border:1px solid #d9e1ee;border-radius:10px;font:13px/1.85 ui-monospace,Consolas,monospace;word-break:break-all;user-select:all;margin:23px 0 17px;color:#25466e}.admin-auth-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.85;color:#415167;margin:23px 0 15px}.admin-auth-check input{width:17px;height:17px;flex:none;margin:3px 0 0}.admin-auth-security-account{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;border-block:1px solid var(--auth-line);padding:18px 0;margin:24px 0;color:var(--auth-muted);font-size:13px}.admin-auth-security-account strong{color:#36455a;font-size:14px;overflow-wrap:anywhere}.admin-auth-security-section+.admin-auth-security-section{border-top:1px solid var(--auth-line);margin-top:32px;padding-top:28px}.admin-auth-security-section h3{font-size:18px;font-weight:650;margin-bottom:9px}.admin-auth-security-section>p{font-size:14px;line-height:1.85;color:var(--auth-muted)}.admin-auth-security-bottom{border-top:1px solid var(--auth-line);display:flex;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-top:28px;padding-top:16px}.admin-auth-security-bottom a{color:var(--auth-blue);font-size:13px;display:flex;align-items:center;min-height:44px}.admin-auth-security-bottom button{color:#77504c}
.admin-auth-footer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 26px;padding:18px 24px 33px;color:var(--auth-muted);font-size:12px}.admin-auth-footer a{display:flex;align-items:center;min-height:40px;text-decoration:none}.admin-auth-footer a:hover{color:var(--auth-blue)}.admin-auth-footer>span{padding-left:26px;border-left:1px solid #d5dce6}
@media(max-width:900px){.admin-auth-layout{gap:42px;margin-top:34px;max-width:940px}.admin-auth-panel{padding:30px}.admin-auth-intro h1{font-size:35px}}
@media(max-width:700px){.admin-auth-header{height:74px;padding:0 22px}.admin-auth-header nav{gap:18px;font-size:13px}.admin-auth-layout{grid-template-columns:1fr;max-width:530px;margin:19px auto 30px;gap:25px;padding:0 18px}.admin-auth-intro{padding-top:8px}.admin-auth-symbol{display:none}.admin-auth-intro h1{font-size:29px;line-height:1.4;max-width:none}.admin-auth-intro h1 br{display:none}.admin-auth-intro>p{font-size:14px;margin-top:12px;max-width:65ch}.admin-auth-account,.admin-auth-context,.admin-auth-intro>a{display:none}.admin-auth-panel{padding:29px 24px}.admin-auth-panel h2{font-size:26px}.admin-auth-field input{font-size:16px}.admin-auth-field input[readonly]{font-size:14px}.admin-auth-description{font-size:14px;margin-bottom:23px}.admin-auth-footer{gap:4px 21px}.admin-auth-footer>span{width:100%;padding:0;border:0;text-align:center}.admin-auth-security-account{justify-content:flex-start}.admin-auth-security-account strong{width:100%}.admin-auth-code{font-size:12px}}
@media(max-width:400px){.admin-auth-header{padding:0 16px;gap:10px}.admin-auth-header nav{gap:10px}.admin-auth-header nav>a{font-size:12px}.admin-auth-brand{font-size:23px}.admin-auth-layout{padding:0 12px;gap:21px}.admin-auth-panel{padding:26px 20px}.admin-auth-intro h1{font-size:27px}.admin-auth-note{font-size:12px}.admin-auth-field input[readonly]{font-size:13px}.admin-auth-check{font-size:12px}}
@media(prefers-reduced-motion:reduce){.admin-auth-field input,.admin-auth-field>span,.admin-auth-primary,.admin-auth-secondary{transition:none}.admin-auth-loading>span,.admin-auth-primary[aria-busy=true]:before,.admin-auth-secondary[aria-busy=true]:before{animation:none}}
/* Busy account requests keep values readable while preventing conflicting edits. */
.admin-auth-field input:disabled{opacity:1;color:#526174;-webkit-text-fill-color:#526174;background:#f3f5f8;cursor:wait}
.admin-auth-password button:focus-visible{outline:3px solid var(--auth-blue);outline-offset:0}
.admin-auth-error:focus-visible{outline:3px solid #9d2e27;outline-offset:3px}
