*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#182b49;font:var(--ui-font-13,14px)/1.65 "Microsoft YaHei",sans-serif}button,input{font:inherit}button{cursor:pointer}svg{width:20px;height:20px;flex-shrink:0}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 450px;gap:8vw;align-items:center;max-width:1190px;padding:70px 45px;margin:auto}.auth-logo{display:flex;align-items:center;gap:12px;font-size:var(--ui-font-22,22px);font-weight:700}.auth-logo svg{width:38px;height:38px;color:#2563eb}.auth-intro h1{font-size:var(--ui-font-48,48px);line-height:1.4;letter-spacing:-1px;margin:44px 0 22px}.auth-intro p{font-size:var(--ui-font-16,16px);color:#74839a}.auth-points{display:flex;gap:24px;margin-top:44px;color:#60738e}.auth-points span{display:flex;gap:8px;align-items:center}.auth-card{background:white;border:1px solid #e0e7f2;box-shadow:0 20px 70px #1d39610a;border-radius:22px;padding:38px;animation:appear .35s ease both}.auth-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#edf3ff;color:#2563eb}.auth-card h2{font-size:var(--ui-font-24,24px);margin:20px 0 6px}.auth-card p{color:#73849a;margin:0 0 24px}.auth-card label{display:block;margin-top:16px;color:#52657f}.auth-card input{width:100%;height:44px;margin-top:6px;border:1px solid #dce5f2;border-radius:8px;padding:10px 12px;outline:none;transition:border-color .2s,box-shadow .2s}.auth-card input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb12}.auth-card button{display:flex;width:100%;justify-content:center;align-items:center;gap:14px;background:#2563eb;color:white;border:0;border-radius:9px;padding:12px;transition:transform .18s,background .18s}.auth-card button:hover{transform:translateY(-1px);background:#1d54d4}.auth-card button:active{transform:scale(.98)}.auth-card button:disabled{opacity:.6;cursor:wait}.auth-card #auth-error{color:#ba3344;margin:14px 0;min-height:20px}.auth-card .auth-foot{margin:22px 0 0;text-align:center;font-size:var(--ui-font-12,12px)}[hidden]{display:none!important}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:850px){.auth-shell{grid-template-columns:1fr;max-width:520px;gap:28px;padding:28px 20px}.auth-intro h1{font-size:var(--ui-font-30,30px);margin:24px 0 12px}.auth-points{display:none}.auth-card{padding:28px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Larger screen typography; print keeps the original pixel fallbacks. */
@media screen{:root{--ui-font-8:0.75rem;--ui-font-9:0.75rem;--ui-font-10:0.8125rem;--ui-font-11:0.9375rem;--ui-font-12:1rem;--ui-font-13:1rem;--ui-font-14:1.0625rem;--ui-font-15:1.125rem;--ui-font-16:1.1875rem;--ui-font-17:1.3125rem;--ui-font-18:1.375rem;--ui-font-19:1.4375rem;--ui-font-21:1.5625rem;--ui-font-22:1.625rem;--ui-font-23:1.6875rem;--ui-font-24:1.75rem;--ui-font-25:1.875rem;--ui-font-26:1.9375rem;--ui-font-30:2.25rem;--ui-font-48:3.125rem;}}
