.mcp-overlay[data-v-23ee20a5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100}.mcp-panel[data-v-23ee20a5]{background:#141414;border:1px solid #2a2a2a;border-radius:14px;width:100%;max-width:640px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.mcp-head[data-v-23ee20a5]{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #2a2a2a}.mcp-head h2[data-v-23ee20a5]{font-size:17px;color:#fff}.mcp-sub[data-v-23ee20a5]{font-size:12px;color:#888;margin-top:4px}.mcp-close[data-v-23ee20a5]{background:none;border:none;color:#888;font-size:16px;cursor:pointer;padding:2px 6px}.mcp-close[data-v-23ee20a5]:hover{color:#fff}.mcp-body[data-v-23ee20a5]{overflow-y:auto;padding:18px 20px 24px}.mcp-error[data-v-23ee20a5]{background:#3b1616;border:1px solid #7f1d1d;color:#fca5a5;padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:14px}.mcp-newkey[data-v-23ee20a5]{background:#14261f;border:1px solid #10b981;border-radius:10px;padding:14px;margin-bottom:18px}.mcp-newkey-title[data-v-23ee20a5]{font-size:13px;color:#6ee7b7;margin-bottom:8px;font-weight:600}.mcp-newkey-row[data-v-23ee20a5]{display:flex;gap:8px;align-items:center}.mcp-newkey-row code[data-v-23ee20a5]{flex:1;background:#0a0a0a;padding:9px 10px;border-radius:6px;font-size:12px;color:#d1fae5;word-break:break-all;font-family:ui-monospace,monospace}.mcp-newkey-row button[data-v-23ee20a5]{background:#10b981;color:#04231a;border:none;border-radius:6px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.mcp-sec[data-v-23ee20a5]{margin-bottom:22px}.mcp-sec h3[data-v-23ee20a5]{font-size:14px;color:#fff;margin-bottom:10px;display:flex;align-items:center;gap:8px}.mcp-count[data-v-23ee20a5]{font-size:11px;color:#10b981;font-weight:400}.mcp-kv[data-v-23ee20a5]{border:1px solid #2a2a2a;border-radius:10px;overflow:hidden}.mcp-kv-row[data-v-23ee20a5]{display:flex;padding:9px 12px;border-bottom:1px solid #232323;font-size:13px}.mcp-kv-row[data-v-23ee20a5]:last-child{border-bottom:none}.mcp-kv-row>span[data-v-23ee20a5]{color:#888;width:80px;flex-shrink:0}.mcp-kv-val[data-v-23ee20a5]{flex:1;display:flex;align-items:center;gap:8px;word-break:break-all}.mcp-kv-val code[data-v-23ee20a5]{color:#a7f3d0;font-size:12px;font-family:ui-monospace,monospace}.mcp-mini[data-v-23ee20a5]{background:#232323;border:1px solid #333;color:#bbb;border-radius:5px;padding:2px 8px;font-size:11px;cursor:pointer;white-space:nowrap}.mcp-mini[data-v-23ee20a5]:hover{background:#2e2e2e;color:#fff}.mcp-form[data-v-23ee20a5]{display:flex;flex-direction:column;gap:12px}.mcp-form>input[data-v-23ee20a5]{background:#0f0f0f;border:1px solid #2a2a2a;border-radius:8px;padding:10px 12px;color:#e0e0e0;font-size:13px;outline:none}.mcp-form>input[data-v-23ee20a5]:focus{border-color:#10b981}.mcp-scopes[data-v-23ee20a5]{display:flex;flex-direction:column;gap:8px}.mcp-scope[data-v-23ee20a5]{display:flex;gap:10px;align-items:flex-start;cursor:pointer;border:1px solid #2a2a2a;border-radius:8px;padding:9px 12px}.mcp-scope.on[data-v-23ee20a5]{border-color:#10b981;background:#12251d}.mcp-scope input[data-v-23ee20a5]{margin-top:2px;accent-color:#10b981}.mcp-scope-name[data-v-23ee20a5]{font-size:13px;color:#e0e0e0}.mcp-scope-desc[data-v-23ee20a5]{font-size:11px;color:#888;margin-top:2px}.mcp-expire[data-v-23ee20a5]{font-size:12px;color:#888;display:flex;align-items:center;gap:8px}.mcp-expire input[data-v-23ee20a5]{background:#0f0f0f;border:1px solid #2a2a2a;border-radius:6px;padding:6px 8px;color:#e0e0e0;font-size:12px}.mcp-primary[data-v-23ee20a5]{background:#10b981;color:#04231a;border:none;border-radius:8px;padding:11px;font-size:14px;font-weight:600;cursor:pointer}.mcp-primary[data-v-23ee20a5]:disabled{background:#2a2a2a;color:#666;cursor:not-allowed}.mcp-hint[data-v-23ee20a5]{font-size:11px;color:#777;line-height:1.6}.mcp-hint code[data-v-23ee20a5]{color:#a7f3d0}.mcp-key[data-v-23ee20a5]{display:flex;align-items:center;gap:10px;border:1px solid #2a2a2a;border-radius:9px;padding:11px 12px;margin-bottom:8px}.mcp-key.dead[data-v-23ee20a5]{opacity:.5}.mcp-key-main[data-v-23ee20a5]{flex:1;min-width:0}.mcp-key-name[data-v-23ee20a5]{font-size:13px;color:#e0e0e0;display:flex;align-items:center;gap:8px}.mcp-key-meta[data-v-23ee20a5]{font-size:11px;color:#999;margin-top:4px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.mcp-key-meta.dim[data-v-23ee20a5]{color:#666}.mcp-key-meta code[data-v-23ee20a5]{color:#a7f3d0;font-family:ui-monospace,monospace}.mcp-tag[data-v-23ee20a5]{font-size:10px;padding:1px 6px;border-radius:4px;border:1px solid;font-weight:400;white-space:nowrap}.mcp-tag.ok[data-v-23ee20a5]{color:#6ee7b7;border-color:#10b981}.mcp-tag.warn[data-v-23ee20a5]{color:#fcd34d;border-color:#b45309}.mcp-tag.dead[data-v-23ee20a5]{color:#888;border-color:#444}.mcp-danger[data-v-23ee20a5]{background:#2a1414;border:1px solid #7f1d1d;color:#fca5a5;border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer;white-space:nowrap}.mcp-danger[data-v-23ee20a5]:hover{background:#3b1616}.mcp-danger[data-v-23ee20a5]:disabled{opacity:.4;cursor:not-allowed}.mcp-snippet-title[data-v-23ee20a5]{font-size:12px;color:#999;margin:12px 0 6px}.mcp-snippet[data-v-23ee20a5]{position:relative}.mcp-snippet pre[data-v-23ee20a5]{background:#0a0a0a;border:1px solid #2a2a2a;border-radius:8px;padding:11px 12px;font-size:11px;color:#cbd5e1;overflow-x:auto;font-family:ui-monospace,monospace;line-height:1.5;margin:0}.mcp-snippet .mcp-mini[data-v-23ee20a5]{position:absolute;top:6px;right:6px}.mcp-tool[data-v-23ee20a5]{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid #1e1e1e;font-size:12px}.mcp-tool[data-v-23ee20a5]:last-child{border-bottom:none}.mcp-tool code[data-v-23ee20a5]{color:#ddd;font-family:ui-monospace,monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0a0a0a;color:#e0e0e0;height:100vh}#app{height:100vh;display:flex;flex-direction:column;max-width:800px;margin:0 auto}.login-page{display:flex;align-items:center;justify-content:center;height:100vh;padding:20px}.login-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:16px;padding:48px 40px;width:100%;max-width:400px;text-align:center}.login-logo{width:56px;height:56px;border-radius:50%;background:#10b981;color:#fff;font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.login-card h1{font-size:22px;color:#fff;margin-bottom:8px}.login-subtitle{color:#888;font-size:14px;margin-bottom:32px}.login-card form{display:flex;flex-direction:column;gap:16px}.login-card input{padding:14px 16px;border:1px solid #333;border-radius:12px;background:#111;color:#e0e0e0;font-size:15px;outline:none;transition:border-color .2s}.login-card input:focus{border-color:#3b82f6}.login-card input::placeholder{color:#555}.login-card button{padding:14px;background:#3b82f6;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.login-card button:hover{background:#2563eb}.login-card button:disabled{background:#333;color:#666;cursor:not-allowed}.login-error{color:#ef4444;font-size:13px;padding:8px;background:#ef44441a;border-radius:8px}.login-switch{font-size:13px;color:#888;text-align:center;margin-top:4px}.login-switch a{color:#3b82f6;text-decoration:none}.login-switch a:hover{text-decoration:underline}.logout-btn{padding:6px 16px;background:transparent;color:#888;border:1px solid #333;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s}.logout-btn:hover{color:#fff;border-color:#555}.chat-header{padding:16px 20px;background:#1a1a1a;border-bottom:1px solid #2a2a2a;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.chat-header h1{font-size:18px;font-weight:600;color:#fff}.header-actions{display:flex;align-items:center;gap:8px}.tts-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #333;border-radius:8px;font-size:13px;color:#ddd}.tts-toggle input{accent-color:#10b981}.tts-speed{padding:5px 8px;border:1px solid #333;border-radius:8px;font-size:13px;color:#ddd;background:#1a1a1a;cursor:pointer}.voice-bubble{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:16px;cursor:pointer;min-width:80px;-webkit-user-select:none;user-select:none;transition:background .2s}.message.assistant .voice-bubble{background:#2a2a2a}.message.assistant .voice-bubble:hover{background:#333}.message.user .voice-bubble{background:#10b981;color:#fff}.message.user .voice-bubble:hover{background:#0e9d72}.voice-icon{flex-shrink:0;opacity:.8}.voice-bars{display:flex;align-items:flex-end;gap:2px;height:18px}.voice-bars span{display:block;width:3px;background:currentColor;opacity:.5;border-radius:1px;animation:none}.voice-bars span:nth-child(1){height:6px}.voice-bars span:nth-child(2){height:10px}.voice-bars span:nth-child(3){height:14px}.voice-bars span:nth-child(4){height:10px}.voice-bars span:nth-child(5){height:6px}.voice-bars.playing span{opacity:1;animation:voice-bar-bounce .6s ease-in-out infinite alternate}.voice-bars.playing span:nth-child(1){animation-delay:0s}.voice-bars.playing span:nth-child(2){animation-delay:.1s}.voice-bars.playing span:nth-child(3){animation-delay:.2s}.voice-bars.playing span:nth-child(4){animation-delay:.3s}.voice-bars.playing span:nth-child(5){animation-delay:.4s}@keyframes voice-bar-bounce{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.voice-duration{font-size:12px;opacity:.6;min-width:20px;text-align:right}.key-btn{padding:6px 16px;background:transparent;color:#10b981;border:1px solid #10b981;border-radius:8px;font-size:13px;text-decoration:none;transition:all .2s}.key-btn:hover{background:#10b9811a}.mcp-btn{padding:6px 16px;background:transparent;color:#10b981;border:1px solid #10b981;border-radius:8px;font-size:13px;font-family:inherit;cursor:pointer;transition:all .2s}.mcp-btn:hover{background:#10b9811a}.chat-header .subtitle{font-size:13px;color:#888}.messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.message{display:flex;gap:10px;max-width:85%;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;flex-direction:row-reverse}.message.assistant{align-self:flex-start}.avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.message.user .avatar{background:#3b82f6}.message.assistant .avatar{background:#10b981}.bubble{padding:12px 16px;border-radius:16px;line-height:1.6;font-size:14px;white-space:pre-wrap;word-break:break-word}.message.user .bubble{background:#3b82f6;color:#fff;border-bottom-right-radius:4px}.message.assistant .bubble{background:#1e1e1e;color:#e0e0e0;border-bottom-left-radius:4px}.tool-indicator{font-size:12px;color:#888;padding:4px 0;display:flex;align-items:center;gap:6px}.tool-indicator .spinner{width:12px;height:12px;border:2px solid #444;border-top-color:#10b981;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.input-area{padding:16px 20px;background:#1a1a1a;border-top:1px solid #2a2a2a;display:flex;gap:12px;flex-shrink:0}.input-area input{flex:1;padding:12px 16px;border:1px solid #333;border-radius:24px;background:#111;color:#e0e0e0;font-size:14px;outline:none;transition:border-color .2s}.input-area input:focus{border-color:#3b82f6}.input-area input::placeholder{color:#555}.input-area button{padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:24px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.input-area button:hover{background:#2563eb}.input-area button:disabled{background:#333;color:#666;cursor:not-allowed}.loading{text-align:center;padding:40px;color:#666}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:#333;border-radius:3px}
