*,*:before,*:after{box-sizing:border-box}:root{--bg: #ffffff;--surface: #f2f2f7;--card: #ffffff;--border: #e5e5ea;--text: #1c1c1e;--text-secondary: #8e8e93;--accent: #007aff;--accent-text: #ffffff;--user-bubble: #007aff;--user-text: #ffffff;--error: #ff3b30;--success: #34c759;--warning: #ff9500;--code-bg: #f2f2f7;--mono: "SF Mono", ui-monospace, "Cascadia Code", monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius: 12px;--radius-sm: 8px}@media(prefers-color-scheme:dark){:root{--bg: #000000;--surface: #1c1c1e;--card: #2c2c2e;--border: #3a3a3c;--text: #f2f2f7;--text-secondary: #636366;--code-bg: #2c2c2e}}html,body,#root{margin:0;padding:0;height:100%;font-family:var(--sans);background:var(--bg);color:var(--text);font-size:16px;-webkit-font-smoothing:antialiased}.connect-screen{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:40px 24px;background:var(--bg);overflow-y:auto}.connect-card{width:100%;max-width:440px;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:36px 32px;display:flex;flex-direction:column;gap:16px}.connect-logo{font-size:36px;text-align:center}.connect-title{font-size:28px;font-weight:700;text-align:center;margin:0;letter-spacing:-.5px}.connect-subtitle{font-size:14px;color:var(--text-secondary);text-align:center;margin:0;line-height:1.5}.connect-subtitle code{font-family:var(--mono);font-size:13px;background:var(--code-bg);padding:1px 6px;border-radius:4px;color:var(--accent)}.connect-textarea{width:100%;font-family:var(--mono);font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;color:var(--text);resize:none;outline:none;transition:border-color .15s;line-height:1.5;box-sizing:border-box}.connect-textarea:focus{border-color:var(--accent)}.connect-textarea:disabled{opacity:.5}.connect-error{font-size:13px;color:var(--error);margin:0;padding:10px 12px;background:color-mix(in srgb,var(--error) 12%,transparent);border-radius:var(--radius-sm)}.connect-btn{background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--radius);padding:14px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .15s;font-family:var(--sans)}.connect-btn:hover:not(:disabled){opacity:.85}.connect-btn:disabled{opacity:.4;cursor:default}.chat-screen{height:100vh;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;gap:12px}.chat-status{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-green{background:var(--success)}.dot-orange{background:var(--warning)}.dot-red{background:var(--error)}.dot-gray{background:var(--text-secondary)}.status-label{font-size:14px;font-weight:500;flex-shrink:0}.status-error-hint{font-size:11px;color:var(--error);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-actions{display:flex;align-items:center;gap:4px}.icon-btn{background:none;border:none;cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);font-size:16px;color:var(--text-secondary);transition:background .1s}.icon-btn:hover{background:var(--border)}.disconnect-btn{color:var(--error)}.chat-messages{flex:1;overflow-y:auto;padding:20px 16px 8px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}.chat-empty{text-align:center;color:var(--text-secondary);font-size:16px;font-weight:500;margin-top:60px}.msg-user{display:flex;justify-content:flex-end}.msg-user-bubble{background:var(--user-bubble);color:var(--user-text);border-radius:20px 20px 4px;padding:10px 16px;max-width:75%;font-size:15px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.msg-assistant{max-width:100%}.msg-tools{display:flex}.tools-group{display:flex;flex-direction:column;align-items:flex-start;width:100%}.tools-header{display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;padding:4px 0;font-family:var(--mono);font-size:12px;color:var(--text-secondary);text-align:left}.tools-header:hover{color:var(--text)}.tools-icon{flex-shrink:0}.tools-label{flex:1}.tools-chevron{flex-shrink:0}.tools-list{width:100%;margin:4px 0 0 18px;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.tools-item{display:flex;flex-direction:column;gap:4px}.tools-item-name{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--text)}.tools-item-input{margin:0;padding:8px 10px;background:var(--code-bg);border-radius:var(--radius-sm);font-family:var(--mono);font-size:11px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:280px;overflow:auto}.msg-result{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:12px;padding:4px 10px;border-radius:var(--radius-sm);align-self:flex-start}.msg-result.success{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.msg-result.error{color:var(--error);background:color-mix(in srgb,var(--error) 12%,transparent)}.msg-status{font-size:11px;color:var(--text-secondary);text-align:center;font-family:var(--mono)}.typing-dots{display:flex;gap:5px;align-items:center;padding:8px 4px}.typing-dots span{width:8px;height:8px;border-radius:50%;background:var(--text-secondary);animation:dot-pulse 1.2s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,to{opacity:.3}50%{opacity:1}}.chat-input-bar{padding:10px 12px 16px;border-top:1px solid var(--border);background:var(--bg);flex-shrink:0}.chat-input-wrap{display:flex;align-items:flex-end;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:8px 8px 8px 16px;gap:8px;transition:border-color .15s}.chat-input-wrap:focus-within{border-color:var(--accent)}.chat-textarea{flex:1;background:none;border:none;outline:none;font-family:var(--sans);font-size:15px;color:var(--text);resize:none;max-height:140px;min-height:24px;line-height:1.5;padding:2px 0;overflow-y:auto}.chat-textarea::placeholder{color:var(--text-secondary)}.chat-textarea:disabled{opacity:.5}.chat-send-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s;line-height:1}.chat-send-btn:hover:not(:disabled){opacity:.85}.chat-send-btn:disabled{opacity:.35;cursor:default}.markdown{font-size:15px;line-height:1.65;color:var(--text)}.markdown p{margin:0 0 12px}.markdown p:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:16px 0 8px;font-weight:600}.markdown h1{font-size:20px}.markdown h2{font-size:17px}.markdown h3{font-size:15px}.markdown ul,.markdown ol{margin:0 0 12px;padding-left:20px}.markdown li{margin-bottom:4px}.markdown code{font-family:var(--mono);font-size:13px;background:var(--code-bg);padding:1px 5px;border-radius:4px}.markdown pre{background:var(--code-bg);border-radius:var(--radius-sm);padding:14px;overflow-x:auto;margin:0 0 12px}.markdown pre code{background:none;padding:0;font-size:13px;line-height:1.55}.markdown blockquote{border-left:3px solid var(--border);margin:0 0 12px;padding:0 0 0 14px;color:var(--text-secondary)}.markdown a{color:var(--accent)}.markdown hr{border:none;border-top:1px solid var(--border);margin:16px 0}.markdown table{border-collapse:collapse;width:100%;margin-bottom:12px}.markdown th,.markdown td{border:1px solid var(--border);padding:6px 12px;text-align:left}.markdown th{background:var(--surface);font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;width:100%;max-width:420px;display:flex;flex-direction:column;gap:12px}.modal-title{font-size:17px;font-weight:600;margin:0}.modal-tool{font-family:var(--mono);font-size:13px;background:var(--surface);padding:8px 12px;border-radius:var(--radius-sm);margin:0}.modal-input{font-family:var(--mono);font-size:11px;color:var(--text-secondary);background:var(--surface);padding:10px;border-radius:var(--radius-sm);max-height:180px;overflow-y:auto;margin:0;white-space:pre-wrap;word-break:break-all}.modal-actions{display:flex;gap:10px}.modal-btn{flex:1;padding:12px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;font-family:var(--sans);transition:opacity .15s}.modal-btn:hover{opacity:.8}.modal-btn.deny{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.modal-btn.approve{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.logs-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d0d0d;display:flex;flex-direction:column;z-index:100}.logs-header{display:flex;align-items:flex-start;padding:20px 20px 16px;border-bottom:1px solid #2c2c2e;gap:12px}.logs-title{font-size:17px;font-weight:600;color:#f2f2f7}.logs-path{font-size:11px;color:#636366;font-family:var(--mono);margin-top:2px}.logs-close{margin-left:auto;background:none;border:none;cursor:pointer;font-size:18px;color:#636366;padding:4px}.logs-close:hover{color:#8e8e93}.logs-body{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:2px}.logs-loading,.logs-empty{color:#636366;font-size:13px;text-align:center;margin-top:40px}.logs-line{font-family:var(--mono);font-size:11px;color:#e5e5ea;line-height:1.55;white-space:pre-wrap;word-break:break-all}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.transfer-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;width:100%;max-width:480px;display:flex;flex-direction:column;gap:16px;max-height:90vh;overflow-y:auto}.transfer-header{display:flex;align-items:center;justify-content:space-between}.transfer-title{font-size:17px;font-weight:600;margin:0}.transfer-section{display:flex;flex-direction:column;gap:10px}.transfer-section-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.transfer-action-btn{background:none;border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);padding:8px 14px;font-size:14px;font-weight:500;cursor:pointer;align-self:flex-start;transition:background .15s;font-family:var(--sans)}.transfer-action-btn:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.transfer-json-box{display:flex;flex-direction:column;gap:8px}.transfer-json{background:var(--surface);border-radius:var(--radius-sm);padding:12px;font-family:var(--mono);font-size:11px;line-height:1.55;color:var(--text);max-height:180px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;margin:0;-webkit-user-select:text;user-select:text}.transfer-copy-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s;font-family:var(--sans)}.transfer-copy-btn:hover{opacity:.85}.transfer-hint-error{font-size:13px;color:var(--error);margin:0}.transfer-divider{border:none;border-top:1px solid var(--border)}.transfer-textarea{width:100%;font-family:var(--mono);font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;color:var(--text);resize:none;box-sizing:border-box;outline:none;transition:border-color .15s;line-height:1.5}.transfer-textarea:focus{border-color:var(--accent)}.transfer-import-btn{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);border:none;border-radius:var(--radius-sm);padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;align-self:flex-start;transition:opacity .15s;font-family:var(--sans)}.transfer-import-btn:hover:not(:disabled){opacity:.8}.transfer-import-btn:disabled{opacity:.4;cursor:default}.resume-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:6px}.resume-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.resume-endpoint{font-family:var(--mono);font-size:13px;color:var(--text);word-break:break-all}.resume-meta{font-size:12px;color:var(--text-secondary)}.resume-id{font-family:var(--mono);font-size:12px}.resume-actions{display:flex;gap:8px;margin-top:6px;align-items:center}.resume-btn{flex:1;padding:10px;font-size:14px}.forget-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);padding:10px 14px;font-size:14px;cursor:pointer;font-family:var(--sans);transition:color .15s,border-color .15s;white-space:nowrap}.forget-btn:hover{color:var(--error);border-color:var(--error)}.forget-btn:disabled{opacity:.4;cursor:default}.connect-divider{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:12px}.connect-divider:before,.connect-divider:after{content:"";flex:1;border-top:1px solid var(--border)}.transfer-entry-btn{width:100%;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:13px;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s}.transfer-entry-btn:hover{border-color:var(--accent);color:var(--accent)}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.error-boundary-card{max-width:560px;width:100%;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column;gap:14px}.error-boundary-icon{font-size:36px;text-align:center;color:var(--error)}.error-boundary-title{font-size:20px;font-weight:600;text-align:center;margin:0}.error-boundary-message{background:var(--code-bg);padding:10px 12px;border-radius:var(--radius-sm);font-family:var(--mono);font-size:13px;color:var(--error);margin:0;word-break:break-word}.error-boundary-details{font-size:13px;color:var(--text-secondary)}.error-boundary-details summary{cursor:pointer;padding:4px 0;-webkit-user-select:none;user-select:none}.error-boundary-stack{background:var(--code-bg);padding:10px 12px;border-radius:var(--radius-sm);font-family:var(--mono);font-size:12px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:6px 0 0;max-height:260px}.error-boundary-actions{display:flex;gap:10px;margin-top:4px}.error-boundary-actions .connect-btn,.error-boundary-actions .forget-btn{flex:1}
