:root{--paper:#f2f0e8;--ink:#19211f;--muted:#6f7671;--green:#174e43;--mint:#cfe4da;--orange:#e07c46;--line:rgba(25,33,31,.14)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,"Noto Sans SC",system-ui,sans-serif}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background-image:radial-gradient(rgba(23,78,67,.1) .6px,transparent .6px);background-size:6px 6px}.auth-card{width:min(100%,440px);padding:38px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.76);box-shadow:0 30px 90px rgba(20,49,42,.12);backdrop-filter:blur(18px)}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--green);font-weight:800}.eyebrow{margin:30px 0 12px;color:var(--orange);font:600 10px ui-monospace,monospace;letter-spacing:.16em}h1{margin:0;font-size:34px;line-height:1.15;letter-spacing:-.045em}.intro{margin:17px 0 0;color:var(--muted);font-size:14px;line-height:1.8}.device-art{position:relative;width:126px;height:126px;margin:34px auto;display:grid;place-items:center;border:1px solid rgba(23,78,67,.2);border-radius:50%;color:var(--green)}.device-art:before{content:"";position:absolute;inset:14px;border:1px solid rgba(23,78,67,.12);border-radius:50%}.device-art span{font-size:31px}.device-art i{position:absolute;inset:-3px;border-top:3px solid var(--orange);border-radius:50%;animation:orbit 7s linear infinite}.device-art b{position:absolute;right:3px;bottom:10px;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#4d9c78;font-size:12px}button{width:100%;min-height:52px;border:0;border-radius:12px;color:#fff;background:var(--green);font-size:14px;font-weight:750;cursor:pointer;transition:transform .2s,opacity .2s}button:hover:not(:disabled){transform:translateY(-2px)}button:disabled{cursor:wait;opacity:.55}.status{min-height:22px;margin:13px 0 0;text-align:center;color:var(--muted);font-size:12px}aside{display:flex;flex-direction:column;gap:4px;margin-top:25px;padding:17px;border-radius:12px;background:var(--mint)}aside strong{font-size:12px}aside span{color:var(--muted);font-size:11px}@keyframes orbit{to{transform:rotate(360deg)}}@media(max-width:520px){.auth-shell{padding:15px}.auth-card{padding:28px 22px}h1{font-size:30px}}@media(prefers-reduced-motion:reduce){.device-art i{animation:none}}

/* 密码 + TOTP 登录 */
.divider{display:flex;align-items:center;gap:12px;margin:22px 0 14px;color:var(--muted);font-size:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.ghost-button{color:var(--green);background:transparent;border:1px solid var(--line)}.ghost-button:hover:not(:disabled){background:rgba(23,78,67,.05)}#passwordForm{display:flex;flex-direction:column;gap:10px;margin-top:6px}#passwordForm label{font-size:12px;color:var(--muted);font-weight:600}#passwordForm input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:10px;font-size:15px;background:#fff}#passwordForm input:focus{outline:2px solid var(--green);outline-offset:1px}#passwordForm button{margin-top:4px}
