:root{--bg:#f5f6f8;--card:#fff;--border:#e2e5ea;--text:#1c1f26;--text-muted:#6b7280;--primary:#2f6feb;--primary-dark:#2559c4;--danger:#d9463e;--warn-bg:#fff7e6;--warn-border:#ffd591;--warn-text:#8a5300;--error-bg:#fff1f0;--error-border:#ffa39e;--error-text:#a8261f;--ok-bg:#f0f9eb;--ok-border:#b7eb8f;--ok-text:#2f6b12;--info-bg:#eef4ff;--info-border:#adc6ff;--info-text:#1d3f8f;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}.page{justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;padding:28px 24px 20px;box-shadow:0 1px 2px #1018280f}.card-header h1{letter-spacing:.5px;margin:0;font-size:22px}.subtitle{color:var(--text-muted);margin:6px 0 22px;font-size:13px}.card-footer{border-top:1px dashed var(--border);color:var(--text-muted);word-break:break-all;flex-wrap:wrap;gap:4px 12px;margin-top:20px;padding-top:12px;font-size:11px;display:flex}.form{flex-direction:column;gap:16px;display:flex}.field{display:block}.field-label{color:var(--text-muted);margin-bottom:6px;font-size:13px;display:block}.input{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2f6feb26}.input:disabled{color:var(--text-muted);cursor:not-allowed;background:#f3f4f6}.input-code{letter-spacing:6px;font-variant-numeric:tabular-nums}.code-row{gap:8px;display:flex}.code-row .input{flex:1;min-width:0}.code-row .btn{white-space:nowrap;flex:none}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:18px;display:flex}.tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:10px 0;font-family:inherit;font-size:15px;transition:color .15s,border-color .15s}.tab:hover:not(:disabled){color:var(--text)}.tab-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab:disabled{cursor:not-allowed;opacity:.6}.method-tabs{justify-content:center;gap:18px;margin-bottom:14px;display:flex}.method-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 2px;font-family:inherit;font-size:13.5px;transition:color .15s,border-color .15s}.method-tab:hover:not(:disabled){color:var(--text)}.method-tab-active,.method-tab-active:hover:not(:disabled){color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.method-tab:disabled{cursor:not-allowed;opacity:.6}.password-row{gap:8px;display:flex}.password-row .input{flex:1;min-width:0}.input-password{letter-spacing:2px}.password-row .btn-toggle{white-space:nowrap;flex:none}.masked-row{border:1px solid var(--border);background:#fafbfc;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.masked-phone{font-variant-numeric:tabular-nums;letter-spacing:1px;font-size:15px}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:10px 16px;font-family:inherit;font-size:14px;transition:background .15s,border-color .15s,color .15s}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-ghost{border-color:var(--border);color:var(--text);background:#fff}.btn-ghost:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-danger{border-color:var(--error-border);color:var(--danger);background:#fff}.btn-danger:hover:not(:disabled){background:var(--error-bg)}.btn-block{width:100%}.link{color:var(--primary);font-size:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-family:inherit;text-decoration:none}.link:hover:not(:disabled){text-decoration:underline}.link:disabled{color:var(--text-muted);cursor:not-allowed}.link-center{align-self:center;font-size:13px}.consent{font-size:13px}.consent-label{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.consent-label input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;margin-top:4px}.hint{color:var(--text-muted);margin:6px 0 0 23px;font-size:12px}.alert{border:1px solid;border-radius:8px;margin-top:16px;padding:10px 12px;font-size:13px}.alert-success{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.alert-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.alert-warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.alert-error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.alert-dev{color:#3f6600;background:#f6ffed;border-style:dashed;border-color:#b7eb8f}.notice-step{flex-direction:column;gap:16px;display:flex}.notice-step>.alert{margin-top:0}.profile{flex-direction:column;align-items:center;display:flex}.avatar{background:var(--primary);color:#fff;text-transform:uppercase;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex}.profile-name{margin:12px 0 4px;font-size:18px}.badge{background:var(--ok-bg);border:1px solid var(--ok-border);color:var(--ok-text);border-radius:999px;margin:0 0 12px;padding:2px 8px;font-size:12px}.kv{border-top:1px solid var(--border);width:100%;margin:8px 0 0}.kv-row{border-bottom:1px solid var(--border);gap:12px;padding:8px 0;font-size:13px;display:flex}.kv-row dt{color:var(--text-muted);flex:0 0 88px}.kv-row dd{word-break:break-all;flex:1;margin:0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.actions{gap:10px;width:100%;margin-top:18px;display:flex}.actions .btn{flex:1}.modal-overlay{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:var(--radius);flex-direction:column;width:100%;max-width:560px;max-height:82vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.modal-header h2{margin:0;font-size:16px}.modal-version{color:var(--text-muted);margin:2px 0 0;font-size:12px}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1}.modal-close:hover{color:var(--text)}.modal-body{padding:16px 20px;overflow-y:auto}.modal-body section{margin-bottom:16px}.modal-body h3{margin:0 0 6px;font-size:14px}.modal-body p{color:#3d434e;margin:0 0 6px;font-size:13px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:12px 20px;display:flex}.booting{flex-direction:column;align-items:center;gap:10px;padding:32px 0 24px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.hint-center{text-align:center}.workbench-root{flex-direction:column;display:flex}.workbench{border-top:1px solid var(--border);width:100%;margin-top:20px;padding-top:16px}.workbench-title{color:var(--text-muted);margin:0 0 10px;font-size:14px;font-weight:600}.workbench-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.workbench-card{border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg);padding:12px}.workbench-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.workbench-card-title{font-size:13px;font-weight:600}.badge-muted{background:var(--bg);border-color:var(--border);color:var(--text-muted);margin:0}.skeleton{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.skeleton span{background:var(--border);border-radius:4px;height:8px}.skeleton span:nth-child(2){width:78%}.skeleton span:nth-child(3){width:56%}
