:root{color-scheme:dark;--theme-bg-primary: #1a1a1e;--theme-bg-secondary: #1e1e22;--theme-bg-tertiary: #252529;--theme-bg-hover: #2a2a30;--theme-bg-active: #333338;--theme-bg-sidebar: #171719;--theme-bg-input: #2a2a30;--theme-border: #2a2a2e;--theme-border-light: #333338;--theme-border-sidebar: #222226;--theme-text-primary: #e4e4e8;--theme-text-secondary: #9a9aa0;--theme-text-tertiary: #5a5a64;--theme-text-muted: #48484f;--theme-text-accent: #1a9e8f;--theme-accent: #0c4d46;--theme-accent-hover: #0f6159;--theme-accent-dim: rgba(12, 77, 70, .12);--theme-success: #4ade80;--theme-warning: #f59e0b;--theme-error: #ef4444;--theme-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--theme-font-mono: "SF Mono", "Fira Code", "JetBrains Mono", "Cascadia Code", monospace;--theme-radius-sm: 6px;--theme-radius-md: 10px;--theme-radius-lg: 14px;--theme-radius-xl: 18px;--theme-sidebar-width: 260px;--theme-sidebar-min-width: 200px;--theme-sidebar-max-width: 400px;--theme-traffic-light-padding: 38px}@media(prefers-color-scheme:light){:root{color-scheme:light;--theme-bg-primary: #f7f7f3;--theme-bg-secondary: #f0efe9;--theme-bg-tertiary: #e7e4dc;--theme-bg-hover: #dfdbd0;--theme-bg-active: #d5d0c3;--theme-bg-sidebar: #ece9df;--theme-bg-input: #ffffff;--theme-border: #d8d1c3;--theme-border-light: #c9c1b2;--theme-border-sidebar: #ddd6c8;--theme-text-primary: #211f1a;--theme-text-secondary: #5d584e;--theme-text-tertiary: #867f72;--theme-text-muted: #a19a8c;--theme-text-accent: #0d6f63;--theme-accent: #168172;--theme-accent-hover: #0f6f62;--theme-accent-dim: rgba(22, 129, 114, .16);--theme-success: #2e9b57;--theme-warning: #c88008;--theme-error: #d14343}}:root{--bg-primary: var(--theme-bg-primary);--bg-secondary: var(--theme-bg-secondary);--bg-tertiary: var(--theme-bg-tertiary);--bg-hover: var(--theme-bg-hover);--bg-active: var(--theme-bg-active);--border: var(--theme-border);--border-light: var(--theme-border-light);--text-primary: var(--theme-text-primary);--text-secondary: var(--theme-text-secondary);--text-tertiary: var(--theme-text-tertiary);--text-accent: var(--theme-text-accent);--accent: var(--theme-accent);--accent-hover: var(--theme-accent-hover);--accent-dim: var(--theme-accent-dim);--success: var(--theme-success);--warning: var(--theme-warning);--error: var(--theme-error);--font-sans: var(--theme-font-sans);--font-mono: var(--theme-font-mono);--radius-sm: var(--theme-radius-sm);--radius-md: var(--theme-radius-md);--radius-lg: var(--theme-radius-lg);--header-height: 52px;--status-height: 28px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:14px;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased}@media(max-width:820px){html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.input-textarea,.action-field-input,.action-field-textarea,.prompt-row input,.login-prompt input{font-size:16px}}::selection{background:var(--accent-dim)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.app{display:flex;flex-direction:row;height:100vh;overflow:hidden;background:var(--bg-primary)}.app.loading{display:flex;align-items:center;justify-content:center;gap:16px;flex-direction:column;color:var(--text-secondary)}.app-mobile{position:relative;display:block}.mobile-transition-shell{position:relative;height:100%;overflow:hidden;background:var(--bg-primary)}.mobile-transition-pane{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:var(--bg-primary)}.mobile-transition-pane-current{z-index:2}.mobile-transition-pane-previous{z-index:1;pointer-events:none}.mobile-transition-pane-static{position:relative}.app-mobile .sidebar,.app-mobile .main-content{width:100%;height:100%}.app-mobile .sidebar{border-right:none}.mobile-transition-pane-current.mobile-transition-forward{animation:mobile-slide-in-from-right .28s cubic-bezier(.22,1,.36,1) both;box-shadow:-20px 0 48px #00000029}.mobile-transition-pane-previous.mobile-transition-forward{animation:mobile-slide-out-to-left .28s cubic-bezier(.22,1,.36,1) both}.mobile-transition-pane-current.mobile-transition-back{animation:mobile-slide-in-from-left .28s cubic-bezier(.22,1,.36,1) both}.mobile-transition-pane-previous.mobile-transition-back{animation:mobile-slide-out-to-right .28s cubic-bezier(.22,1,.36,1) both;box-shadow:-20px 0 48px #00000029}.loading-spinner{width:24px;height:24px;border:2px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary);position:relative}.main-drag-region{position:absolute;top:0;left:0;right:0;height:40px;-webkit-app-region:drag;z-index:40}.mobile-session-header{display:none}.app-mobile .mobile-session-header{display:flex;align-items:center;justify-content:flex-start;padding:calc(10px + env(safe-area-inset-top)) 12px 4px;flex-shrink:0}.mobile-session-back{display:inline-flex;align-items:center;gap:4px;padding:8px 10px 8px 6px;background:none;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-size:14px;cursor:pointer;border-radius:var(--radius-md);flex-shrink:0}.mobile-session-back:hover{background:var(--bg-hover);color:var(--text-primary)}@keyframes mobile-slide-in-from-right{0%{transform:translate3d(100%,0,0)}to{transform:translateZ(0)}}@keyframes mobile-slide-out-to-left{0%{transform:translateZ(0)}to{transform:translate3d(-28%,0,0)}}@keyframes mobile-slide-in-from-left{0%{transform:translate3d(-28%,0,0)}to{transform:translateZ(0)}}@keyframes mobile-slide-out-to-right{0%{transform:translateZ(0)}to{transform:translate3d(100%,0,0)}}.sidebar{display:flex;flex-direction:column;background:var(--theme-bg-sidebar);border-right:1px solid var(--theme-border-sidebar);position:relative;flex-shrink:0;overflow:visible;transition:width .22s ease,border-color .22s ease}.sidebar-collapsed{border-right-color:transparent}.sidebar-drag-region{display:none}.sidebar-panel{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;width:100%}.sidebar-mobile{overflow:hidden}.sidebar-top-chrome{position:fixed;top:0;left:0;height:40px;-webkit-app-region:drag;z-index:46;transition:width .22s ease}.sidebar-top-chrome-resizing{transition:none}.sidebar-header{padding:6px 12px 0;margin-top:40px;flex-shrink:0;-webkit-app-region:no-drag}.sidebar-collapse-btn{position:absolute;top:12px;right:8px;background:none;border:none;padding:4px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:color .15s;-webkit-app-region:no-drag;z-index:1;max-height:90vh;overflow-y:auto}.sidebar-top-chrome .sidebar-collapse-btn{right:8px}.sidebar-resizing{transition:none}.app-mobile .sidebar-header{margin-top:0;padding-top:calc(10px + env(safe-area-inset-top))}.app-mobile .sidebar-list{padding:10px 0 16px}.app-mobile .sidebar-group-label{padding-left:18px;padding-right:18px}.app-mobile .sidebar-group:first-child .sidebar-group-label{padding-top:10px}.app-mobile .sidebar-item{width:calc(100% - 20px);margin:0 10px;padding:8px 10px;font-size:14px}.app-mobile .sidebar-more{padding-left:18px;padding-right:18px}.app-mobile .sidebar-new-btn{padding:12px}.app-mobile .sidebar-shortcut{display:none}.sidebar.sidebar-collapsed .sidebar-header,.sidebar.sidebar-collapsed .sidebar-list,.sidebar.sidebar-collapsed .sidebar-fade,.sidebar.sidebar-collapsed .sidebar-footer,.sidebar.sidebar-collapsed .sidebar-resize-handle{opacity:0;pointer-events:none}.sidebar-header-icons{display:flex;align-items:center;gap:4px;padding:0 4px 6px}.sidebar-icon-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all .1s}.sidebar-icon-btn:hover{color:var(--text-secondary);background:var(--bg-hover)}.sidebar-new-btn{display:flex;align-items:center;gap:8px;width:100%;margin-top:0;padding:8px 10px;background:none;border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background .1s,border-color .1s;white-space:nowrap}.sidebar-new-btn svg{display:block;flex-shrink:0}.sidebar-new-btn:hover{background:var(--bg-hover);border-color:var(--text-tertiary)}.sidebar-shortcut{margin-left:auto;font-size:11px;color:var(--text-tertiary);font-family:var(--font-sans)}.sidebar-toolbar-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all .1s}.sidebar-toolbar-btn:hover,.sidebar-toolbar-btn.active{color:var(--text-secondary);background:var(--bg-hover)}.sidebar-filter-wrap{position:relative}.sidebar-filter-dropdown{position:absolute;top:100%;right:0;z-index:100;min-width:160px;margin-top:4px;padding:4px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026}.sidebar-filter-dropdown-up{top:auto;bottom:100%;margin-top:0;margin-bottom:4px}.sidebar-filter-label{padding:4px 8px 2px;font-size:10px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.sidebar-filter-option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;border-radius:var(--radius-sm);text-align:left}.sidebar-filter-option:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-filter-option.active{color:var(--text-primary)}.sidebar-filter-check{margin-left:auto;color:var(--accent)}.sidebar-list{flex:1;overflow-y:auto;padding:8px 0}.sidebar-group{margin-bottom:4px}.sidebar-group-label{padding:14px 16px 5px;font-size:12px;color:var(--theme-text-muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-group:first-child .sidebar-group-label{padding-top:8px}.sidebar-item{display:flex;align-items:center;gap:8px;width:calc(100% - 16px);margin:0 8px;padding:5px 8px;background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;border-radius:var(--radius-sm)}.sidebar-item.active{background:var(--bg-active);color:var(--text-primary)}.app-mobile .sidebar-item.active{background:none;color:var(--text-secondary)}.sidebar-item-icon{flex-shrink:0;display:flex;align-items:center;width:16px;height:16px;color:var(--text-tertiary)}.sidebar-item-badge{flex-shrink:0;color:var(--text-tertiary);display:flex;align-items:center;margin-left:auto}.sidebar-item-spinner{width:12px;height:12px;border:1.5px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.sidebar-item-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.sidebar-item-check{opacity:.4}.sidebar-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-more{display:flex;align-items:center;gap:6px;padding:5px 16px;background:none;border:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;transition:color .1s;width:100%;text-align:left}.sidebar-more:hover{color:var(--text-secondary)}.sidebar-more-dots{letter-spacing:2px;font-weight:700}.sidebar-empty{padding:16px;font-size:12px;color:var(--text-tertiary);text-align:center}.sidebar-fade{position:relative;height:0;pointer-events:none}.sidebar-fade:before{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(to top,var(--theme-bg-sidebar),transparent);pointer-events:none}.sidebar-footer{flex-shrink:0;padding:8px 12px;display:flex;align-items:center;justify-content:space-between}.app-mobile .sidebar-footer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.sidebar-footer-right{display:flex;align-items:center;gap:2px}.sidebar-settings-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s}.sidebar-settings-btn:hover{color:var(--text-secondary);background:var(--bg-hover)}.sidebar-context-menu{position:fixed;z-index:200;min-width:160px;padding:4px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026}.sidebar-context-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;border-radius:var(--radius-sm);text-align:left}.sidebar-context-item:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.sidebar-context-item:disabled{opacity:.35;cursor:default}.sidebar-context-danger:hover:not(:disabled){color:var(--error, #e55)}.sidebar-context-separator{height:1px;margin:4px 6px;background:var(--border-light)}.sidebar-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:10}.sidebar-resize-handle:hover{background:var(--accent);opacity:.3}.header{height:var(--header-height);display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary);position:relative;flex-shrink:0;gap:12px}.header-drag-region{position:absolute;top:0;left:0;right:0;height:100%;-webkit-app-region:drag;pointer-events:none}.header-left,.header-center,.header-right{display:flex;align-items:center;gap:8px;position:relative;z-index:1;max-height:90vh;overflow-y:auto;-webkit-app-region:no-drag}.header-center{flex:1;justify-content:center;gap:12px}.header-right{min-width:40px;justify-content:flex-end}.header-btn{background:none;border:1px solid var(--border-light);color:var(--text-secondary);width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.header-btn:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-light)}.model-selector{position:relative}.model-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.model-btn:hover:not(:disabled){background:var(--bg-hover)}.model-btn:disabled{opacity:.5;cursor:not-allowed}.model-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.model-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{opacity:.5;transition:transform .15s}.model-picker{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:4px;min-width:280px;max-height:400px;overflow-y:auto;z-index:100;box-shadow:0 8px 32px #00000080}.model-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;cursor:pointer;text-align:left;transition:background .1s}.model-option:hover{background:var(--bg-hover)}.input-project-picker .model-option:hover{background:none}.model-option.active{background:var(--accent-dim)}.model-option-name{flex:1}.model-option-provider{color:var(--text-tertiary);font-size:11px;text-transform:capitalize}.thinking-selector{position:relative}.thinking-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.thinking-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-light)}.thinking-indicator{font-size:10px;opacity:.3}.thinking-indicator.active{opacity:1;color:var(--accent)}.thinking-picker{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:4px;min-width:120px;z-index:100;box-shadow:0 8px 32px #00000080}.thinking-option{display:block;width:100%;padding:6px 12px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;cursor:pointer;text-align:left;text-transform:capitalize}.thinking-option:hover{background:var(--bg-hover)}.thinking-option.active{background:var(--accent-dim);color:var(--text-accent)}.streaming-indicator{display:flex;align-items:center}.pulse{width:8px;height:8px;background:var(--accent);border-radius:50%;animation:pulse 1.5s ease-in-out infinite}.message-list{flex:1;overflow-y:auto;padding:24px 0;display:flex;flex-direction:column-reverse}.app-mobile .message-list{padding:12px 0}.message-list-content{width:100%}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);gap:8px}.empty-icon{font-size:32px;margin-bottom:8px}.empty-state h2{font-size:20px;font-weight:600;color:var(--text-secondary)}.empty-state p{font-size:14px}.message{padding:6px 24px;max-width:800px;margin:0 auto}.app-mobile .message,.app-mobile .run-collapsed{max-width:none;padding-left:16px;padding-right:16px}.user-message{padding-top:44px;padding-bottom:14px}.user-message .message-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 16px}.user-message .message-text{white-space:pre-wrap;word-break:break-word}.message-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.message-action-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-tertiary);border-radius:8px;cursor:pointer;transition:color .15s,background .15s}.message-action-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.message-action-btn:disabled{opacity:.45;cursor:default}.message-action-btn.active{color:var(--text-accent);background:var(--accent-dim)}.assistant-message .message-content{padding:0}.assistant-message .message-text{line-height:1.65}.assistant-message.streaming{position:relative}.streaming-plain{white-space:pre-wrap;word-break:break-word}.cursor{display:inline-block;width:7px;height:17px;background:var(--accent);border-radius:1px;margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}.run-collapsed{padding:4px 24px;max-width:800px;margin:0 auto}.run-collapsed-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;padding:4px 0;transition:color .15s}.run-collapsed-toggle:hover{color:var(--text-secondary)}.run-collapsed-content{padding:4px 0}.thinking-block{margin-bottom:6px}.thinking-toggle{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;padding:4px 0;transition:color .15s;text-align:left}.thinking-toggle .toggle-chevron{margin-left:auto}.thinking-toggle:hover{color:var(--text-secondary)}.thinking-preview{color:var(--text-tertiary);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.thinking-preview-streaming .cursor{display:inline-block;width:6px;height:13px;background:var(--text-tertiary);margin-left:2px;vertical-align:text-bottom;animation:blink .8s step-end infinite}.thinking-content{padding:12px 0 4px;color:var(--text-secondary);font-size:13px;line-height:1.7}.thinking-content p{margin:10px 0}.thinking-content p:first-child{margin-top:0}.thinking-content p:last-child{margin-bottom:0}.thinking-content ul,.thinking-content ol{margin:10px 0;padding-left:0;list-style-position:inside}.thinking-content li{margin:4px 0}.pulse-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse 1.5s ease-in-out infinite}.toggle-chevron{transition:transform .2s;flex-shrink:0}.toggle-chevron.open{transform:rotate(90deg)}.tool-calls-summary{margin-top:0;display:flex;flex-direction:column;gap:8px}.tool-execution+.tool-execution{margin-top:8px}.tool-call-inline{display:flex;align-items:center;gap:8px;padding:2px 0;font-size:12px;color:var(--text-tertiary)}.tool-call-inline.error{color:var(--error, #e55)}.tool-results{margin-top:8px;display:flex;flex-direction:column;gap:6px}.tool-result{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.tool-result.error{border-color:var(--error)}.tool-result-header{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary)}.tool-name{font-size:12px;font-weight:500;color:var(--text-accent)}.tool-command{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-result-content{padding:8px 10px;max-height:300px;overflow:auto}.tool-result-content pre{font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.active-tools{max-width:800px;margin:8px auto;padding:0 24px;display:flex;flex-direction:column;gap:4px}.app-mobile .active-tools,.app-mobile .status-message{max-width:none;padding-left:16px;padding-right:16px}.tool-execution{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.tool-execution.running{border-color:var(--accent)}.tool-execution-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-primary);font-size:13px;cursor:pointer;text-align:left}.tool-execution-header:hover{background:var(--bg-hover)}.tool-execution-header.static{cursor:default}.tool-execution-header.static:hover{background:none}.tool-icon{font-size:14px;flex-shrink:0;color:var(--text-tertiary);display:flex;align-items:center}.tool-summary{flex:1;display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0}.tool-summary-main,.tool-summary-meta{display:flex;align-items:center;gap:8px;min-width:0}.tool-summary-main{align-items:baseline}.tool-label{font-weight:500;font-size:12px;color:var(--text-accent);flex-shrink:0}.tool-detail{font-family:var(--font-mono);font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-subdetail{display:block;min-width:0}.tool-subdetail code{display:block;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-live-label{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-live-label.running{color:var(--text-primary)}.tool-live-label.error{color:var(--error)}.tool-elapsed{margin-left:auto;font-size:11px;color:var(--text-tertiary);flex-shrink:0}.tool-progress{display:block;width:100%;height:4px;background:var(--bg-tertiary);border-radius:999px;overflow:hidden}.tool-progress-bar{display:block;height:100%;background:var(--accent);border-radius:inherit;transition:width .18s ease}.tool-status{font-size:14px;flex-shrink:0;display:flex;align-items:center;color:var(--text-tertiary)}.tool-status.running{color:var(--text-tertiary)}.tool-status.success{color:var(--success)}.tool-status.error{color:var(--error)}.tool-execution-output{padding:8px 12px;max-height:300px;overflow:auto}.tool-execution-output pre{font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.status-message{display:flex;align-items:center;gap:8px;max-width:800px;margin:8px auto;padding:8px 24px;color:var(--text-secondary);font-size:13px}.status-message.warning{color:var(--warning)}.status-icon{flex-shrink:0}.retry-error{color:var(--text-tertiary);font-size:12px;margin-left:8px;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-meta{display:flex;gap:8px;margin-top:8px;font-size:11px;color:var(--text-tertiary)}.message-text h1,.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{margin:16px 0 8px;font-weight:600}.message-text h1{font-size:1.4em}.message-text h2{font-size:1.2em}.message-text h3{font-size:1.1em}.message-text p{margin:8px 0}.message-text p:first-child{margin-top:0}.message-text p:last-child{margin-bottom:0}.message-text ul,.message-text ol{margin:8px 0;padding-left:24px}.message-text li{margin:4px 0}.message-text blockquote{border-left:3px solid var(--border-light);padding-left:12px;color:var(--text-secondary);margin:8px 0}.message-text a{color:var(--text-accent);text-decoration:none}.message-text a:hover{text-decoration:underline}.message-text hr{border:none;border-top:1px solid var(--border);margin:16px 0}.inline-code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-secondary);border:1px solid var(--border);padding:1px 5px;border-radius:4px;color:var(--text-accent)}.code-block{margin:12px 0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.code-lang{padding:4px 12px;font-size:11px;color:var(--text-tertiary);background:var(--bg-secondary);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px}.code-block pre{margin:0;padding:12px;overflow-x:auto}.code-block code{font-family:var(--font-mono);font-size:13px;line-height:1.5;color:var(--text-primary)}.mermaid-diagram{margin:12px 0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-secondary) 92%,var(--text-accent) 8%),var(--bg-secondary))}.mermaid-diagram-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-secondary) 88%,var(--bg-primary) 12%);color:var(--text-secondary);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.mermaid-diagram-actions{display:flex;align-items:center;gap:8px}.mermaid-diagram-status{color:var(--text-tertiary)}.mermaid-diagram-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:32px;min-height:28px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--bg-primary) 60%,transparent);color:var(--text-secondary);font-family:var(--font-sans);font-size:12px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.mermaid-diagram-action:hover{border-color:var(--border-light);background:var(--bg-hover);color:var(--text-primary)}.mermaid-diagram-canvas{padding:16px;overflow:auto;background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--text-primary) 12%,transparent) 1px,transparent 0);background-size:16px 16px}.mermaid-diagram-canvas-inline{overflow-x:auto;overflow-y:hidden;overscroll-behavior:auto}.mermaid-diagram-canvas-ready{cursor:grab}.mermaid-diagram-canvas-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.mermaid-diagram-sizer{position:relative;min-width:100%;min-height:100%}.mermaid-diagram-content{transform-origin:top left;width:max-content;height:max-content}.mermaid-diagram-content>svg{display:block;height:auto;max-width:none}.mermaid-diagram-empty{padding:18px 16px;color:var(--text-secondary);font-size:13px}.mermaid-diagram-error{padding:10px 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--warning) 10%,var(--bg-secondary));color:var(--warning);font-size:12px}.mermaid-diagram-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a0e149e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mermaid-diagram-panel{width:min(1440px,100%);height:min(960px,calc(100vh - 32px));display:flex;flex-direction:column;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-secondary) 92%,var(--text-accent) 8%),var(--bg-secondary));box-shadow:0 28px 90px #0000006b}.mermaid-diagram-header-expanded{padding:12px 14px}.mermaid-diagram-canvas-expanded{flex:1;padding:24px;overscroll-behavior:contain}@media(max-width:640px){.mermaid-diagram-backdrop{padding:0;align-items:stretch}.mermaid-diagram-panel{width:100%;height:100%;border-radius:0}.mermaid-diagram-canvas-expanded{padding:16px}}.table-wrapper{overflow-x:auto;margin:12px 0}.message-text table{border-collapse:collapse;font-size:13px}.message-text th,.message-text td{border:1px solid var(--border);padding:6px 12px;text-align:left}.message-text th{background:var(--bg-secondary);font-weight:500}.input-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;min-height:0;overflow:visible}.app-mobile .input-area{padding:16px 12px calc(12px + env(safe-area-inset-bottom))}.input-area.has-messages{flex:0 0 auto;justify-content:flex-end;padding:12px 24px 16px;position:relative}.app-mobile .input-area.has-messages{padding:10px 12px calc(12px + env(safe-area-inset-bottom))}.input-area.has-messages:before{content:"";position:absolute;top:-40px;left:0;right:0;height:40px;background:linear-gradient(to top,var(--bg-primary),transparent);pointer-events:none;z-index:1;max-height:90vh;overflow-y:auto}.app-mobile .input-area.has-messages:before{top:-32px;height:32px}.input-project-selector{position:relative;margin-bottom:12px;overflow:visible}.input-project-label{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:background .1s;font-family:var(--font-sans)}.input-project-label:hover{background:none}.input-project-name{font-weight:400}.input-project-chevrons{display:flex;flex-direction:column;gap:0;color:var(--text-tertiary);margin-left:2px}.input-project-chevrons svg{display:block}.input-project-picker{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);min-width:300px;z-index:200;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:4px;max-height:320px;overflow-y:auto;box-shadow:0 4px 24px #00000080}.input-project-picker-empty{padding:8px 12px;color:var(--text-tertiary);font-size:13px}.input-project-picker-divider{height:1px;background:var(--border);margin:4px 0}.input-project-browse{gap:8px;color:var(--text-secondary)}.input-project-picker .model-option-provider{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-container{position:relative;display:flex;flex-direction:column;width:100%;max-width:560px;background:var(--theme-bg-input);border:1px solid var(--border-light);border-radius:var(--theme-radius-xl);transition:border-color .15s}.app-mobile .input-container,.app-mobile .input-hint{max-width:none}.input-container:focus-within{border-color:var(--accent)}.input-textarea-wrapper{padding:14px 18px 8px}.input-textarea{width:100%;background:none;border:none;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;resize:none;outline:none;min-height:24px;max-height:200px}.input-textarea::placeholder{color:var(--text-tertiary)}.input-bottom-bar{display:flex;align-items:center;padding:6px 10px 10px;gap:6px}.input-add-btn,.input-mic-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all .1s}.input-add-btn:hover,.input-mic-btn:hover{color:var(--text-secondary);background:var(--bg-hover)}.input-mode-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:none;border:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;border-radius:var(--radius-sm);transition:all .1s}.input-mode-btn:hover{color:var(--text-secondary);background:var(--bg-hover)}.input-mode-btn svg{opacity:.6}.input-model-selector,.input-thinking-selector{position:relative}.input-model-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.input-picker{position:absolute;bottom:calc(100% + 6px);left:0;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:4px;min-width:240px;max-height:320px;overflow-y:auto;z-index:200;box-shadow:0 -4px 24px #00000080}.input-picker-up{bottom:calc(100% + 6px)}.input-bottom-spacer{flex:1}.send-btn,.abort-btn{width:32px;height:32px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.send-btn{background:var(--accent);color:#fff}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{opacity:.3;cursor:not-allowed}.abort-btn{background:var(--error);color:#fff}.abort-btn:hover{opacity:.9}.input-hint{max-width:560px;margin:6px auto 0;font-size:11px;color:var(--text-tertiary);text-align:center}.autocomplete{position:absolute;bottom:100%;left:0;right:0;margin-bottom:4px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:4px;max-height:280px;overflow-y:auto;z-index:100;box-shadow:0 -4px 24px #0006}.autocomplete-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;cursor:pointer;text-align:left;transition:background .08s}.autocomplete-item:hover,.autocomplete-item.selected{background:var(--bg-hover)}.autocomplete-source{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;min-width:42px;flex-shrink:0}.autocomplete-name{font-family:var(--font-mono);font-size:13px;font-weight:500;flex-shrink:0}.autocomplete-desc{color:var(--text-tertiary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.status-bar{height:var(--status-height);display:flex;align-items:center;padding:0 16px;border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;gap:0}.status-item{font-size:11px;color:var(--text-tertiary);white-space:nowrap}.status-sep{color:var(--text-tertiary);opacity:.3;margin:0 6px}.status-spacer{flex:1}.session-id{font-family:var(--font-mono);font-size:10px}.action-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a0e147a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.action-dialog-panel{width:min(560px,100%);background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 80px #00000052;overflow:hidden}.action-dialog-panel-narrow{width:min(460px,100%)}.action-dialog-header{padding:22px 22px 12px}.action-dialog-header h2{font-size:22px;line-height:1.1;margin-bottom:8px}.action-dialog-header p{color:var(--text-secondary);font-size:14px;line-height:1.5}.action-dialog-body{display:grid;gap:16px;padding:0 22px 18px}.action-choice-group{display:grid;gap:10px}.action-choice{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-primary);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.action-choice:hover{border-color:var(--border-light);background:var(--bg-hover)}.action-choice.selected{border-color:var(--accent);background:var(--accent-dim)}.action-choice.disabled{opacity:.58;cursor:not-allowed}.action-choice input{margin-top:2px;accent-color:var(--accent)}.action-choice-copy{display:grid;gap:4px}.action-choice-copy span{font-size:14px;font-weight:600;color:var(--text-primary)}.action-choice-copy small{font-size:13px;line-height:1.45;color:var(--text-secondary)}.action-dialog-note{padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:13px;line-height:1.5}.action-dialog-note.success{border-color:#20998d59;background:#20998d14;color:var(--text-primary)}.action-dialog-note.warning{border-color:#bf743f59;background:#bf743f14;color:var(--text-primary)}.action-field{display:grid;gap:8px}.action-field span{font-size:12px;font-weight:600;color:var(--text-secondary)}.action-field-input,.action-field-textarea{width:100%;border:1px solid var(--border);border-radius:14px;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;padding:12px 14px;transition:border-color .15s,background .15s,box-shadow .15s}.action-field-input::placeholder,.action-field-textarea::placeholder{color:var(--text-tertiary)}.action-field-input:focus,.action-field-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.action-field-textarea{resize:vertical;min-height:104px}.action-checkbox{display:flex;align-items:flex-start;gap:10px;color:var(--text-secondary);font-size:13px;line-height:1.45}.action-checkbox input{margin-top:2px;accent-color:var(--accent)}.action-checkbox.disabled{opacity:.6}.action-dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 22px}.action-dialog-btn{min-width:112px;padding:10px 16px;border-radius:999px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s,opacity .15s}.action-dialog-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-light)}.action-dialog-btn:disabled{opacity:.55;cursor:default}.action-dialog-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.action-dialog-btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.action-dialog-btn.ghost{color:var(--text-secondary)}@media(max-width:640px){.action-dialog-backdrop{padding:12px;align-items:flex-end}.action-dialog-panel,.action-dialog-panel-narrow{width:100%;border-radius:20px 20px 0 0}.action-dialog-footer{flex-wrap:wrap}.action-dialog-btn{flex:1 1 140px}}.notices{position:fixed;top:60px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:1000;max-width:400px}.notice{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);box-shadow:0 4px 16px #0006;animation:slideIn .2s ease-out}.notice-text{flex:1;font-size:13px;color:var(--text-primary)}.notice-dismiss{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:12px;padding:2px}.notice-dismiss:hover{color:var(--text-primary)}.login-screen{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-container{max-width:480px;width:100%;display:flex;flex-direction:column;gap:24px}.login-header{text-align:center}.login-header h1{font-size:28px;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.login-header p{color:var(--text-secondary);font-size:14px}.provider-list{display:flex;flex-direction:column;gap:8px}.provider-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s}.provider-info{display:flex;align-items:center;gap:12px}.provider-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.provider-name{font-weight:500;font-size:14px}.provider-desc{font-size:12px;color:var(--text-tertiary);margin-top:2px}.provider-actions{display:flex;align-items:center;gap:8px}.connected-badge{font-size:11px;color:var(--success);font-weight:500}.provider-btn{padding:6px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid}.provider-btn.connect{background:var(--accent);border-color:var(--accent);color:#fff}.provider-btn.connect:hover:not(:disabled){background:var(--accent-hover)}.provider-btn.connect:disabled{opacity:.5;cursor:not-allowed}.provider-btn.disconnect{background:none;border-color:var(--border-light);color:var(--text-secondary)}.provider-btn.disconnect:hover{border-color:var(--error);color:var(--error)}.login-progress{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary)}.login-spinner{width:16px;height:16px;border:2px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.login-prompt{padding:14px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-md)}.login-prompt p{font-size:13px;color:var(--text-primary);margin-bottom:10px}.prompt-row{display:flex;gap:8px}.prompt-row input,.login-prompt input{flex:1;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:13px;outline:none;width:100%}.prompt-row input:focus,.login-prompt input:focus{border-color:var(--accent)}.prompt-row button,.login-prompt button:not(.continue-btn){padding:8px 16px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;font-size:13px;font-weight:500;cursor:pointer}.prompt-row button:hover,.login-prompt button:not(.continue-btn):hover{background:var(--accent-hover)}.continue-btn{width:100%;padding:12px;background:var(--accent);border:none;border-radius:var(--radius-md);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.continue-btn:hover{background:var(--accent-hover)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes blink{50%{opacity:0}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.login-prompt button:not(.continue-btn):disabled{opacity:.6;cursor:not-allowed}.login-prompt input::placeholder{color:var(--text-tertiary);opacity:.7}
