:root{color-scheme:light;--paper:#f4f7fc;--surface:#ffffff;--ink:#17243a;--muted:#76849a;--line:#e4eaf4;--green:#3d70e8;--green-soft:#edf3ff;--gold:#3d70e8;--danger:#994f40;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font-size:14px;display:flex;justify-content:center;align-items:center;padding:32px 20px calc(28px + env(safe-area-inset-bottom))}
button,input{font:inherit;-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.6}
button:focus-visible,input:focus-visible{outline:3px solid #bed0ff;outline-offset:3px}
.auth-shell{width:min(430px,100%)}
.brand{display:flex;justify-content:center;align-items:center;gap:12px;font-size:24px;font-weight:650;letter-spacing:3px;margin-bottom:30px}
.brand-icon{display:grid;place-items:center;width:43px;height:43px;background:var(--green);color:var(--paper);border-radius:13px;font-size:30px;letter-spacing:0}
.brand small{display:block;font-size:10px;font-weight:400;color:var(--muted);letter-spacing:2px;margin-top:6px}
.auth-card{padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 38px #293e2910}
.eyebrow{font-size:9px;letter-spacing:2px;color:var(--gold);font-weight:600;margin:0 0 11px}
h1{font-family:Georgia,"Noto Serif CJK SC","SimSun",serif;font-size:25px;font-weight:600;line-height:1.45;margin:0;overflow-wrap:anywhere}
.auth-description{font-size:12px;line-height:1.85;color:var(--muted);margin:12px 0 26px;overflow-wrap:anywhere}
label{display:block;font-size:12px;margin-bottom:9px}
.password-field{position:relative}
input{width:100%;border:1px solid var(--line);border-radius:8px;background:#f9fbff;color:var(--ink);padding:13px 66px 13px 12px;font-size:16px;line-height:1.5;min-height:50px}
input:disabled{background:#eef2f8;color:var(--muted)}
.password-toggle{position:absolute;right:6px;top:5px;min-width:48px;height:40px;padding:0 8px;border:0;background:transparent;color:var(--green);font-size:12px;border-radius:5px}
.field-hint{font-size:11px;line-height:1.7;color:var(--muted);margin:10px 0 22px}
.primary-button{background:var(--green);color:#ffffff;border:0;border-radius:8px;padding:14px 16px;width:100%;font-size:13px;min-height:48px;transition:background .15s}
.primary-button:hover:not(:disabled){background:#295bcf}
.auth-error{font-size:12px;line-height:1.75;color:var(--danger);background:#f7eae5;border:1px solid #ead4cb;border-radius:8px;padding:11px 12px;margin:0 0 18px;overflow-wrap:anywhere}
.waiting-message{font-size:12px;color:var(--muted);line-height:1.9;padding:15px;background:var(--green-soft);border-radius:9px;margin:0;overflow-wrap:anywhere}
.text-button{background:transparent;border:0;border-radius:5px;color:var(--green);padding:10px 3px;font-size:12px;margin-top:12px;min-height:40px}
.privacy-note{text-align:center;color:#8a95a6;font-size:10px;line-height:1.9;margin:22px 0 0}
@media(max-width:440px){body{padding-inline:16px}.brand{margin-bottom:26px;font-size:23px}.auth-card{padding:27px 22px}h1{font-size:23px}.auth-description{font-size:12px}.privacy-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
