.layout[data-v-98adad07]{flex-direction:column;min-height:100vh;display:flex}header[data-v-98adad07]{height:var(--header-height);border-bottom:1px solid var(--color-border);background:#fff;justify-content:space-between;align-items:center;padding:0 24px;display:flex;box-shadow:0 1px 4px #0000000a}.title[data-v-98adad07]{color:var(--color-text-primary);font-size:20px;font-weight:600}nav[data-v-98adad07]{gap:20px;display:flex}nav a[data-v-98adad07]{color:var(--color-text-regular);font-size:15px;transition:color .2s}nav a[data-v-98adad07]:hover,nav a.router-link-active[data-v-98adad07]{color:var(--color-primary)}main[data-v-98adad07]{flex-direction:column;flex:1;padding:24px 16px;display:flex}footer[data-v-98adad07]{text-align:center;color:var(--color-text-muted);background:var(--color-bg);border-top:1px solid var(--color-border);padding:20px;font-size:13px}.container[data-v-05d4cb4e]{flex:1;justify-content:center;align-items:center;display:flex}.welcome[data-v-05d4cb4e]{text-align:center}.title[data-v-05d4cb4e]{color:var(--color-text-primary);margin-bottom:12px;font-size:28px;font-weight:600}.description[data-v-05d4cb4e]{color:var(--color-text-muted);margin-bottom:28px;font-size:15px}.auth-btn[data-v-05d4cb4e]{background:var(--color-primary);color:#fff;border-radius:4px;padding:10px 32px;font-size:15px;transition:opacity .2s}.auth-btn[data-v-05d4cb4e]:hover{opacity:.85}.auth-container[data-v-db17df4f]{flex:1;justify-content:center;align-items:center;display:flex}.auth-card[data-v-db17df4f]{background:#fff;border-radius:8px;width:360px;padding:32px;box-shadow:0 2px 12px #00000014}.auth-title[data-v-db17df4f]{text-align:center;color:var(--color-text-primary);margin-bottom:24px;font-size:22px}.auth-tabs[data-v-db17df4f]{border-bottom:1px solid var(--color-border);margin-bottom:18px;display:flex}.auth-tab[data-v-db17df4f]{height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;font-size:14px;transition:color .2s,border-color .2s}.auth-tab.active[data-v-db17df4f]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.form-item[data-v-db17df4f]{margin-bottom:18px}.form-item label[data-v-db17df4f]{color:var(--color-text-regular);margin-bottom:6px;font-size:14px;display:block}.form-item input[data-v-db17df4f]{border:1px solid var(--color-border);border-radius:4px;width:100%;height:40px;padding:0 12px;font-size:14px;transition:border-color .2s}.form-item input[data-v-db17df4f]:focus{border-color:var(--color-primary);outline:none}.code-row[data-v-db17df4f]{gap:8px;display:flex}.code-row input[data-v-db17df4f]{flex:1;width:auto;min-width:0}.code-btn[data-v-db17df4f]{border:1px solid var(--color-primary);height:40px;color:var(--color-primary);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:0 12px;font-size:13px;transition:opacity .2s}.code-btn[data-v-db17df4f]:disabled{opacity:.6;cursor:not-allowed}.code-tip[data-v-db17df4f]{color:var(--color-text-muted);word-break:break-all;margin-bottom:12px;font-size:12px}.error-msg[data-v-db17df4f]{color:var(--color-danger);margin-bottom:12px;font-size:13px}.auth-btn[data-v-db17df4f]{background:var(--color-primary);color:#fff;border-radius:4px;width:100%;height:40px;font-size:15px;transition:opacity .2s}.auth-btn[data-v-db17df4f]:hover{opacity:.85}.auth-btn[data-v-db17df4f]:disabled{opacity:.6;cursor:not-allowed}.auth-tip[data-v-db17df4f]{text-align:center;color:var(--color-text-muted);margin-top:16px;font-size:13px}.auth-tip a[data-v-db17df4f]{color:var(--color-primary)}.oauth[data-v-db17df4f]{margin-top:24px}.oauth-divider[data-v-db17df4f]{text-align:center;color:var(--color-text-muted);align-items:center;margin-bottom:16px;font-size:12px;display:flex}.oauth-divider[data-v-db17df4f]:before,.oauth-divider[data-v-db17df4f]:after{content:"";border-bottom:1px solid var(--color-border);flex:1}.oauth-divider span[data-v-db17df4f]{padding:0 12px}.oauth-icons[data-v-db17df4f]{justify-content:center;gap:24px;display:flex}.oauth-icon[data-v-db17df4f]{border:1px solid var(--color-border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:border-color .2s;display:flex}.oauth-qq[data-v-db17df4f]:hover{border-color:#faad08}.oauth-wechat[data-v-db17df4f]:hover{border-color:#3ecc59}.oauth-gitee[data-v-db17df4f]:hover{border-color:#c71d23}.container[data-v-b744f197]{flex:1}.auth-container[data-v-0142c039]{flex:1;justify-content:center;align-items:center;display:flex}.auth-card[data-v-0142c039]{background:#fff;border-radius:8px;width:400px;padding:32px;box-shadow:0 2px 12px #00000014}.auth-title[data-v-0142c039]{text-align:center;color:var(--color-text-primary);margin-bottom:24px;font-size:22px}.authorize-desc[data-v-0142c039]{color:var(--color-text-regular);margin-bottom:16px;font-size:14px;line-height:1.6}.authorize-scopes[data-v-0142c039]{margin-bottom:16px}.authorize-scope[data-v-0142c039]{background:var(--color-bg);color:var(--color-text-regular);border-radius:4px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:14px;display:flex}.authorize-scope-dot[data-v-0142c039]{background:var(--color-primary);border-radius:50%;flex-shrink:0;width:6px;height:6px}.authorize-tip[data-v-0142c039]{color:var(--color-text-muted);margin-bottom:24px;font-size:12px;line-height:1.6}.authorize-actions[data-v-0142c039]{gap:12px;display:flex}.auth-btn[data-v-0142c039]{background:var(--color-primary);color:#fff;border-radius:4px;flex:1;height:40px;font-size:15px;transition:opacity .2s}.auth-btn[data-v-0142c039]:hover{opacity:.85}.auth-btn[data-v-0142c039]:disabled{opacity:.6;cursor:not-allowed}.auth-btn-plain[data-v-0142c039]{color:var(--color-text-regular);border:1px solid var(--color-border);background:#fff}.auth-btn-plain[data-v-0142c039]:hover{opacity:.85}.container[data-v-f9d6a798]{color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.user[data-v-f9d6a798]{flex-direction:column;align-items:center;gap:6px;display:flex}.avatar[data-v-f9d6a798]{object-fit:cover;border-radius:50%;width:80px;height:80px}.user .name[data-v-f9d6a798]{color:var(--color-text-primary);font-size:18px;font-weight:600}.user .login[data-v-f9d6a798]{word-break:break-all;font-size:14px}.auth-btn[data-v-f9d6a798]{background:var(--color-primary);color:#fff;border-radius:4px;padding:10px 32px;font-size:15px;transition:opacity .2s}.auth-btn[data-v-f9d6a798]:hover{opacity:.85}.container[data-v-8ad496ae]{color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.user[data-v-8ad496ae]{flex-direction:column;align-items:center;gap:6px;display:flex}.avatar[data-v-8ad496ae]{object-fit:cover;border-radius:50%;width:80px;height:80px}.user .name[data-v-8ad496ae]{color:var(--color-text-primary);font-size:18px;font-weight:600}.user .login[data-v-8ad496ae]{font-size:14px}.auth-btn[data-v-8ad496ae]{background:var(--color-primary);color:#fff;border-radius:4px;padding:10px 32px;font-size:15px;transition:opacity .2s}.auth-btn[data-v-8ad496ae]:hover{opacity:.85}.auth-container[data-v-03913761]{flex:1;justify-content:center;align-items:center;display:flex}.auth-card[data-v-03913761]{background:#fff;border-radius:8px;width:360px;padding:32px;box-shadow:0 2px 12px #00000014}.auth-title[data-v-03913761]{text-align:center;color:var(--color-text-primary);margin-bottom:24px;font-size:22px}.bind-loading[data-v-03913761]{text-align:center;color:var(--color-text-muted);padding:16px 0;font-size:14px}.bind-loading a[data-v-03913761]{color:var(--color-primary)}.oauth-user[data-v-03913761]{background:var(--color-bg);border-radius:6px;align-items:center;gap:12px;margin-bottom:16px;padding:12px;display:flex}.avatar[data-v-03913761]{object-fit:cover;border-radius:50%;width:48px;height:48px}.oauth-info[data-v-03913761]{flex-direction:column;gap:2px;display:flex}.oauth-name[data-v-03913761]{color:var(--color-text-primary);font-size:15px;font-weight:600}.oauth-provider[data-v-03913761]{color:var(--color-text-muted);font-size:12px}.bind-tip[data-v-03913761]{color:var(--color-text-regular);margin-bottom:16px;font-size:13px;line-height:1.6}.form-item[data-v-03913761]{margin-bottom:18px}.form-item label[data-v-03913761]{color:var(--color-text-regular);margin-bottom:6px;font-size:14px;display:block}.form-item input[data-v-03913761]{border:1px solid var(--color-border);box-sizing:border-box;border-radius:4px;width:100%;height:40px;padding:0 12px;font-size:14px;transition:border-color .2s}.form-item input[data-v-03913761]:focus{border-color:var(--color-primary);outline:none}.code-row[data-v-03913761]{gap:8px;display:flex}.code-row input[data-v-03913761]{flex:1;width:auto;min-width:0}.code-btn[data-v-03913761]{border:1px solid var(--color-primary);height:40px;color:var(--color-primary);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:0 12px;font-size:13px;transition:opacity .2s}.code-btn[data-v-03913761]:disabled{opacity:.6;cursor:not-allowed}.code-tip[data-v-03913761]{color:var(--color-text-muted);word-break:break-all;margin-bottom:12px;font-size:12px}.error-msg[data-v-03913761]{color:var(--color-danger);margin-bottom:12px;font-size:13px}.auth-btn[data-v-03913761]{background:var(--color-primary);color:#fff;border-radius:4px;width:100%;height:40px;font-size:15px;transition:opacity .2s}.auth-btn[data-v-03913761]:hover{opacity:.85}.auth-btn[data-v-03913761]:disabled{opacity:.6;cursor:not-allowed}.container[data-v-43e574c5]{flex:1;justify-content:center;width:100%;padding:32px 16px;display:flex}.profile-wrap[data-v-43e574c5]{flex-direction:column;gap:16px;width:680px;max-width:100%;display:flex}@media (width<=680px){.profile-wrap[data-v-43e574c5]{width:100%}}.header-card[data-v-43e574c5]{background:linear-gradient(160deg, #fff 60%, var(--color-bg));border:1px solid var(--color-border);border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:32px 24px;display:flex;box-shadow:0 4px 16px #0000000d}.avatar-lg[data-v-43e574c5]{object-fit:cover;border:3px solid #fff;border-radius:50%;width:84px;height:84px;box-shadow:0 4px 14px #0000001f}.avatar-placeholder[data-v-43e574c5]{background:linear-gradient(135deg, var(--color-primary), #6aa6ff);color:#fff;justify-content:center;align-items:center;font-size:32px;font-weight:600;display:flex}.nickname[data-v-43e574c5]{color:var(--color-text-primary);margin-top:4px;font-size:20px;font-weight:600}.email[data-v-43e574c5]{color:var(--color-text-muted);word-break:break-all;font-size:13px}.menu-card[data-v-43e574c5]{border:1px solid var(--color-border);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px #0000000d}.menu-item[data-v-43e574c5]{border:none;border-bottom:1px solid var(--color-border);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:15px 20px;transition:background .15s;display:flex}.menu-item[data-v-43e574c5]:last-child{border-bottom:none}.menu-item[data-v-43e574c5]:hover{background:var(--color-bg)}.menu-text[data-v-43e574c5]{color:var(--color-text-primary);flex:1;font-size:15px}.menu-icon[data-v-43e574c5]{border-radius:6px;flex-shrink:0;width:22px;height:22px}.icon-profile[data-v-43e574c5]{background:#4c8dff}.icon-password[data-v-43e574c5]{background:#f5a623}.icon-bind[data-v-43e574c5]{background:#18a058}.arrow[data-v-43e574c5]{color:var(--color-text-muted);font-size:18px}.logout-btn[data-v-43e574c5]{color:#e5484d;border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:14px;width:100%;padding:13px;font-size:15px;transition:all .15s;box-shadow:0 4px 16px #0000000d}.logout-btn[data-v-43e574c5]:hover{background:#fff5f5;border-color:#e5484d}.modal-mask[data-v-43e574c5]{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal[data-v-43e574c5]{background:#fff;border-radius:14px;flex-direction:column;width:400px;max-width:100%;height:420px;max-height:calc(100vh - 40px);display:flex;overflow:hidden;box-shadow:0 12px 40px #0000002e}.modal-head[data-v-43e574c5]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title[data-v-43e574c5]{color:var(--color-text-primary);font-size:16px;font-weight:600}.close[data-v-43e574c5]{color:var(--color-text-muted);cursor:pointer;padding:0 4px;font-size:22px;line-height:1;transition:color .15s}.close[data-v-43e574c5]:hover{color:var(--color-text-primary)}.modal-body[data-v-43e574c5]{flex-direction:column;flex:1;gap:14px;min-height:0;padding:20px;display:flex;overflow-y:auto}.modal-footer[data-v-43e574c5]{margin-top:auto;padding-top:8px}.binding-row[data-v-43e574c5]{background:var(--color-bg);border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.binding-name[data-v-43e574c5]{color:var(--color-text-primary);font-size:15px;font-weight:600}.binding-status[data-v-43e574c5]{flex:1;font-size:13px}.binding-status.bound[data-v-43e574c5]{color:#18a058}.binding-status.unbound[data-v-43e574c5]{color:var(--color-text-muted)}.form-item[data-v-43e574c5]{flex-direction:column;gap:6px;display:flex}.form-item label[data-v-43e574c5]{color:var(--color-text-muted);font-size:13px}.form-item input[data-v-43e574c5]{border:1px solid var(--color-border);border-radius:8px;width:100%;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-item input[data-v-43e574c5]:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #4c8dff26}.code-row[data-v-43e574c5]{gap:8px;display:flex}.code-row input[data-v-43e574c5]{flex:1}.btn[data-v-43e574c5]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 28px;font-size:14px;transition:opacity .15s}.btn[data-v-43e574c5]:disabled{opacity:.55;cursor:not-allowed}.btn-plain[data-v-43e574c5]{color:var(--color-primary);border:1px solid var(--color-primary);white-space:nowrap;background:0 0;flex-shrink:0}.btn-danger[data-v-43e574c5]{background:#e5484d}.btn-sm[data-v-43e574c5]{padding:5px 14px;font-size:13px}.msg[data-v-43e574c5]{font-size:13px}.msg.err[data-v-43e574c5]{color:#e5484d}.msg.ok[data-v-43e574c5]{color:#18a058}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}body{text-rendering:optimizespeed;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a,p,li{word-break:break-word}ul,ol{list-style:none}a{color:inherit;text-decoration:none}input,button,textarea,select{appearance:none;background:0 0;border:none;outline:none}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed}input::placeholder,textarea::placeholder{color:#a8abb2}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}table{border-collapse:collapse;border-spacing:0}a,button{-webkit-tap-highlight-color:transparent}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}blockquote,dl,dd{margin:0}code,kbd,samp,pre{font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:.9em}audio,video{max-width:100%;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--color-primary:#409eff;--color-success:#67c23a;--color-danger:#f56c6c;--color-text-primary:#333;--color-text-regular:#666;--color-text-muted:#909399;--color-border:#eee;--color-bg:#fafafa;--header-height:56px}.text-primary{color:var(--color-primary)}.text-danger{color:#f56c6c}.text-success{color:#67c23a}.text-muted{color:#909399}.ellipsis{white-space:nowrap;text-overflow:ellipsis;text-decoration:none;overflow:hidden}.ellipsis-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.flex{display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.p-16{padding:16px}.card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #0000000f}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#c0c4cc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#909399}.container{max-width:1200px;margin:0 auto;padding:12px 8px}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.loading-mask{background:#fffc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}
