.message-bubble pre code.hljs,.message-bubble .hljs{color:#e6edf3;background:#05070f;border-radius:6px;padding:14px;font-size:13px;line-height:1.5}.hljs-keyword{color:#ff7b72}.hljs-string,.hljs-template-variable{color:#a5d6ff}.hljs-comment,.hljs-quote{color:#8b949e;font-style:italic}.hljs-number,.hljs-literal{color:#79c0ff}.hljs-function,.hljs-title{color:#d2a8ff}.hljs-built_in,.hljs-type{color:#ffa657}.hljs-attr,.hljs-attribute{color:#79c0ff}.hljs-variable,.hljs-template-tag{color:#ffa657}.hljs-regexp,.hljs-link{color:#a5d6ff}.hljs-symbol,.hljs-bullet{color:#f0883e}.hljs-meta,.hljs-selector-tag{color:#79c0ff}.hljs-selector-class{color:#d2a8ff}.hljs-addition{color:#aff5b4;background:#033a16}.hljs-deletion{color:#ffdcd7;background:#67060c}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.message-bubble pre{margin:.4em 0;line-height:1.4}.message-bubble pre code.hljs,.message-bubble .hljs{padding:10px 12px;font-size:12.5px;line-height:1.4}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-app:#0a0e1a;--bg-sidebar:#0e1324;--bg-panel:#12182c;--bg-surface:#1a233d;--bg-surface-elevated:#242f54;--border-color:#ffffff14;--border-color-hover:#ffffff26;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#4b5563;--accent-gradient:linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #06b6d4 100%);--accent-color:#6366f1;--accent-color-hover:#4f46e5;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-glow:0 0 15px #6366f126;--transition-fast:.15s ease;--transition-normal:.25s ease}body{background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;width:100vw;height:100vh;overflow:hidden}.app-root{flex-direction:column;width:100vw;height:100vh;display:flex}.app-header{background-color:var(--bg-sidebar);border-bottom:1px solid var(--border-color);z-index:10;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.header-left,.header-center,.header-right{align-items:center;gap:16px;display:flex}.logo{letter-spacing:-.025em;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;display:flex}.logo-icon{justify-content:center;align-items:center;display:flex}.logo-badge{background:var(--accent-gradient);letter-spacing:.05em;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:800}.app-main{transition:padding var(--transition-normal);flex:1;display:flex;position:relative;overflow:hidden}.panel{background-color:var(--bg-panel);flex-direction:column;height:100%;display:flex;overflow:hidden}.panel-left{flex:1;min-width:320px}.panel-right{border-left:1px solid var(--border-color);flex:1.2;min-width:320px}.app-main.right-collapsed .panel-left{max-width:none;flex:auto!important}.workspace-collapse-btn{opacity:.7;margin-left:auto}.workspace-collapse-btn:hover{opacity:1;color:var(--text-primary)}.panel-divider{cursor:col-resize;width:8px;transition:background-color var(--transition-fast);z-index:5;background-color:#0000;justify-content:center;align-items:center;display:flex}.panel-divider:hover{background-color:#ffffff0d}.divider-handle{background-color:var(--text-muted);border-radius:1px;width:2px;height:24px}.btn-icon{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;display:flex}.btn-icon:hover{background-color:var(--bg-surface);color:var(--text-primary)}.btn-ghost{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:500;display:flex}.btn-ghost:hover,.btn-ghost.active{background-color:var(--bg-surface);color:var(--text-primary);border-color:var(--border-color)}.btn-primary{background:var(--accent-gradient);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-sm);border:none;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;display:flex}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:500;display:flex}.btn-secondary:hover{background:var(--bg-surface-elevated);border-color:var(--border-color-hover)}.model-selector{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:20px;align-items:center;gap:8px;padding:4px 12px;display:flex}.model-select{color:var(--text-primary);font-family:var(--font-sans);cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;outline:none;font-size:.85rem;font-weight:600}.model-select option{background:var(--bg-surface-elevated);color:var(--text-primary);padding:8px}.status-dot{background-color:var(--text-muted);border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot-active{background-color:var(--color-success);box-shadow:0 0 8px var(--color-success)}.status-dot-warn{background-color:var(--color-warning);box-shadow:0 0 8px var(--color-warning);animation:1.2s ease-in-out infinite pulse}.model-label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;font-size:.75rem;font-weight:700}.badge-count{background-color:var(--bg-surface-elevated);color:var(--text-primary);border-radius:10px;padding:1px 6px;font-size:.75rem;font-weight:700}.chat-container{flex-direction:column;height:100%;display:flex}.chat-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.chat-header h3{font-size:.95rem;font-weight:600}.chat-messages{flex-direction:column;flex:1;gap:14px;padding:14px 16px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:6px;height:6px}.code-textarea::-webkit-scrollbar{width:6px;height:6px}.kanban-tasks::-webkit-scrollbar{width:6px;height:6px}.chat-messages::-webkit-scrollbar-track{background:0 0}.code-textarea::-webkit-scrollbar-track{background:0 0}.kanban-tasks::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.code-textarea::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.kanban-tasks::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.code-textarea::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.kanban-tasks::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.message-item{max-width:85%;animation:fadeIn var(--transition-normal);flex-direction:column;display:flex}.message-item.user{align-self:flex-end}.message-item.assistant{align-self:flex-start}.message-bubble{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:10px 14px;font-size:.9rem;line-height:1.45}.user .message-bubble{background-color:var(--accent-color);color:#fff;border-bottom-right-radius:2px}.assistant .message-bubble{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:2px}.assistant .message-bubble.answer-bubble{background:linear-gradient(145deg, #6366f11f 0%, #1a233df2 40%, var(--bg-surface) 100%);border:1px solid #6366f147;border-left:3px solid var(--accent-color);box-shadow:var(--shadow-sm)}.assistant .message-bubble.answer-bubble.with-label{box-shadow:var(--shadow-sm), 0 0 12px #6366f114;border-color:#6366f166}.answer-label{letter-spacing:.04em;text-transform:none;color:#a5b4fc;border-bottom:1px solid #6366f133;align-items:center;gap:6px;margin:0 0 6px;padding-bottom:6px;font-size:.7rem;font-weight:700;display:flex}.answer-badge{color:#818cf8;font-size:.85rem}.answer-tag{color:#c7d2fe;background:#6366f133;border:1px solid #818cf859;border-radius:999px;padding:1px 6px;font-size:.65rem;font-weight:600}.answer-body{color:var(--text-primary)}.message-info{color:var(--text-secondary);gap:6px;margin-top:4px;font-size:.7rem;display:flex}.user .message-info{justify-content:flex-end}.msg-copy-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:.72rem;display:inline-flex}.msg-copy-btn:hover{color:var(--text-primary)}.msg-copy-btn svg{vertical-align:middle;display:inline-block}.thinking-block{border-radius:var(--radius-md);background:linear-gradient(160deg,#78350f59 0%,#1c1917bf 55%,#0f0f12e6 100%);border:1px solid #f59e0b47;border-left:3px solid #f59e0b;margin-bottom:8px;overflow:hidden;box-shadow:inset 0 1px #fbbf240f}.thinking-block.is-streaming{border-color:#fbbf2473;box-shadow:0 0 0 1px #f59e0b1f,inset 0 1px #fbbf2414}.thinking-block.has-reply{opacity:.92}.thinking-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:#fbbf24;background:#f59e0b14;align-items:center;gap:6px;padding:6px 10px;font-size:.75rem;font-weight:600;display:flex}.thinking-header:hover{background:#f59e0b24}.thinking-title{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.thinking-badge{filter:grayscale(.15);font-size:.9rem}.thinking-tag{letter-spacing:.04em;color:#fde68a;text-transform:uppercase;background:#f59e0b2e;border:1px solid #fbbf2459;border-radius:999px;padding:1px 6px;font-size:.62rem;font-weight:700}.thinking-meta{color:#fde68a8c;margin-left:auto;font-size:.68rem;font-weight:500}.thinking-chevron{color:#fbbf24;opacity:.85;transition:transform var(--transition-fast);flex-shrink:0}.thinking-chevron.expanded{transform:rotate(90deg)}.thinking-content{font-family:var(--font-mono);color:#d6d3d1;white-space:pre-wrap;scroll-behavior:auto;overscroll-behavior:contain;background:#00000047;border-top:1px solid #f59e0b2e;max-height:min(220px,32vh);padding:8px 12px;font-size:.75rem;font-style:italic;line-height:1.4;overflow:hidden auto}.thinking-content p,.thinking-content li{color:#d6d3d1}.thinking-content::-webkit-scrollbar{width:6px}.thinking-content::-webkit-scrollbar-thumb{background:#f59e0b40;border-radius:4px}.message-bubble-stack{flex-direction:column;gap:8px;max-width:100%;display:flex}.message-canvas-wrap{max-width:min(440px,100%)}.reply-canvas{border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md), var(--shadow-glow);position:relative;overflow:hidden}.weather-canvas{color:#f8fafc;min-height:160px;padding:18px 18px 14px}.weather-canvas-glow{pointer-events:none;background:radial-gradient(circle,#ffffff40,#0000 70%);width:180px;height:180px;position:absolute;inset:-40% -20% auto auto}.weather-canvas-top{z-index:1;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.weather-canvas-place{flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}.weather-canvas-city{letter-spacing:.02em;font-size:1.05rem;font-weight:700}.weather-canvas-pin{font-size:.9rem}.weather-canvas-updated{opacity:.75;font-size:.72rem}.weather-canvas-emoji{filter:drop-shadow(0 4px 12px #00000040);font-size:2.4rem;line-height:1}.weather-canvas-main{z-index:1;align-items:flex-end;gap:14px;margin:10px 0 14px;display:flex;position:relative}.weather-canvas-temp{align-items:flex-start;line-height:1;display:flex}.weather-canvas-temp-num{letter-spacing:-.03em;text-shadow:0 2px 16px #0003;font-size:3.4rem;font-weight:700}.weather-canvas-temp-unit{opacity:.9;margin-top:10px;font-size:1.1rem;font-weight:600}.weather-canvas-cond-text{font-size:1.05rem;font-weight:600}.weather-canvas-feels{opacity:.85;margin-top:4px;font-size:.8rem}.weather-canvas-meta{z-index:1;flex-wrap:wrap;gap:8px;display:flex;position:relative}.weather-chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a47;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.78rem;display:inline-flex}.weather-forecast{z-index:1;border-top:1px solid #ffffff2e;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;margin-top:14px;padding-top:12px;display:grid;position:relative}.weather-forecast-day{text-align:center;border-radius:var(--radius-sm);background:#0f172a38;border:1px solid #ffffff1a;padding:8px 4px}.weather-forecast-label{opacity:.85;white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:.7rem;overflow:hidden}.weather-forecast-emoji{margin:2px 0;font-size:1.25rem}.weather-forecast-range{justify-content:center;gap:4px;font-size:.75rem;font-weight:600;display:flex}.weather-forecast-range .lo{opacity:.7;font-weight:500}.weather-forecast-cond{opacity:.8;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.65rem;overflow:hidden}.weather-canvas-notes{opacity:.9;z-index:1;margin-top:12px;font-size:.8rem;line-height:1.45;position:relative}.gallery-canvas{background:var(--bg-surface);padding:12px}.gallery-canvas-title{color:var(--text-primary);margin-bottom:10px;font-size:.9rem;font-weight:600}.gallery-grid{gap:8px;display:grid}.gallery-grid.cols-1{grid-template-columns:1fr}.gallery-grid.cols-2{grid-template-columns:1fr 1fr}.gallery-grid.cols-3{grid-template-columns:repeat(3,1fr)}.gallery-item{border-radius:var(--radius-md);cursor:zoom-in;aspect-ratio:1;border:none;border:1px solid var(--border-color);transition:transform var(--transition-fast), box-shadow var(--transition-fast);background:0 0;margin:0;padding:0;overflow:hidden}.gallery-item:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.gallery-grid.cols-1 .gallery-item{aspect-ratio:16/10;max-height:320px}.gallery-lightbox{z-index:9999;cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.gallery-lightbox img{object-fit:contain;border-radius:var(--radius-md);max-width:min(96vw,1100px);max-height:90vh;box-shadow:var(--shadow-lg)}.gallery-lightbox-close{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #fff3;border-radius:50%;width:36px;height:36px;font-size:1rem;position:absolute;top:16px;right:20px}.info-canvas{background:var(--bg-surface);border-left:3px solid var(--accent-color);padding:14px 16px}.info-canvas.accent-blue{border-left-color:#3b82f6}.info-canvas.accent-green{border-left-color:#10b981}.info-canvas.accent-amber{border-left-color:#f59e0b}.info-canvas.accent-indigo{border-left-color:#6366f1}.info-canvas-title{color:var(--text-primary);margin-bottom:6px;font-size:.95rem;font-weight:700}.info-canvas-body{color:var(--text-secondary);font-size:.88rem;line-height:1.5}.info-canvas-items{flex-direction:column;gap:6px;margin-top:10px;display:flex}.info-canvas-row{border-bottom:1px solid var(--border-color);justify-content:space-between;gap:12px;padding:6px 0;font-size:.82rem;display:flex}.info-canvas-label{color:var(--text-muted)}.info-canvas-value{color:var(--text-primary);text-align:right;font-weight:600}.typing-indicator{align-items:center;gap:4px;padding:6px 12px;display:flex}.typing-dot{background-color:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.2s infinite pulse}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.chat-input-area{border-top:1px solid var(--border-color);padding:12px 16px}.chat-input-wrapper{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast);flex-direction:column;gap:6px;padding:8px 10px;display:flex;position:relative}.chat-input-wrapper:focus-within{border-color:var(--accent-color);box-shadow:var(--shadow-glow)}.chat-textarea{color:var(--text-primary);font-family:var(--font-sans);resize:none;background:0 0;border:none;outline:none;width:100%;height:48px;font-size:.9rem;line-height:1.45}.chat-input-footer{justify-content:space-between;align-items:center;display:flex}.staged-attachments-list{border-bottom:1px solid #94a3b81a;flex-wrap:wrap;gap:8px;margin-bottom:8px;padding-bottom:8px;display:flex}.staged-attachment-card{border-radius:var(--radius-sm);color:var(--text-primary);max-width:220px;box-shadow:var(--shadow-sm);background:#1e293b80;border:1px solid #94a3b81a;align-items:center;gap:8px;padding:6px 10px;font-size:.8rem;display:flex;position:relative}.staged-attachment-thumbnail{border-radius:var(--radius-xs);object-fit:cover;border:1px solid #94a3b81a;width:28px;height:28px}.staged-attachment-icon{color:var(--color-info);flex-shrink:0;align-items:center;display:flex}.staged-attachment-info{flex-direction:column;line-height:1.2;display:flex;overflow:hidden}.staged-attachment-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.staged-attachment-size{color:var(--text-muted);font-size:.7rem}.staged-attachment-remove{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:4px;padding:2px;display:flex}.staged-attachment-remove:hover{color:var(--color-error);background:#ef44441a}.chat-input-actions{align-items:center;gap:8px;display:flex}.btn-icon-attach{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #94a3b826;justify-content:center;align-items:center;padding:8px;display:flex}.btn-icon-attach:hover{color:var(--text-primary);background-color:var(--bg-elevated);border-color:var(--text-secondary)}.btn-web-search{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #94a3b826;justify-content:center;align-items:center;padding:8px;display:flex}.btn-web-search:hover{color:var(--text-primary);background-color:var(--bg-elevated);border-color:var(--text-secondary)}.btn-web-search.active{color:#06b6d4;background-color:#06b6d41a;border-color:#06b6d466;box-shadow:0 0 10px #06b6d433}.btn-thinking-toggle{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #94a3b826;justify-content:center;align-items:center;padding:8px;display:flex}.btn-thinking-toggle:hover{color:var(--text-primary);background-color:var(--bg-elevated);border-color:var(--text-secondary)}.btn-thinking-toggle.active{color:#a78bfa;background-color:#a78bfa1f;border-color:#a78bfa73;box-shadow:0 0 10px #a78bfa33}.btn-thinking-toggle:disabled,.btn-web-search:disabled{opacity:.5;cursor:not-allowed}.message-attachments{flex-direction:column;gap:8px;width:100%;margin-top:8px;display:flex}.message-attachment-image-wrapper{border-radius:var(--radius-md);max-width:320px;box-shadow:var(--shadow-sm);transition:transform var(--transition-medium);cursor:zoom-in;border:1px solid #94a3b81a;overflow:hidden}.message-attachment-image-wrapper:hover{transform:scale(1.02)}.message-attachment-image{object-fit:contain;width:100%;max-height:240px;display:block}.message-attachment-file-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast);background:#11182799;border:1px solid #94a3b81a;flex-direction:column;display:flex;overflow:hidden}.message-attachment-file-card:hover{border-color:var(--color-info)}.message-attachment-file-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.message-attachment-file-header-left{align-items:center;gap:10px;min-width:0;display:flex}.message-attachment-file-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.message-attachment-file-size{color:var(--text-muted);font-size:.75rem}.message-attachment-file-toggle{color:var(--text-secondary);transition:transform var(--transition-fast);align-items:center;display:flex}.message-attachment-file-toggle.expanded{transform:rotate(90deg)}.message-attachment-file-preview{font-family:var(--font-mono);color:var(--text-primary);white-space:pre-wrap;word-break:break-all;background:#0a0e1acc;border-top:1px solid #94a3b81a;max-height:250px;padding:12px;font-size:.8rem;line-height:1.5;overflow-y:auto}.workspace-container{flex-direction:column;height:100%;display:flex}.workspace-tabs{background-color:var(--bg-sidebar);border-bottom:1px solid var(--border-color);align-items:center;gap:4px;height:48px;padding:0 12px 0 16px;display:flex}.tab-btn{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;height:100%;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:0 20px;font-size:.85rem;font-weight:600;display:flex;position:relative}.tab-btn:hover,.tab-btn.active{color:var(--text-primary)}.tab-btn.active:after{content:"";background:var(--accent-gradient);height:2px;position:absolute;bottom:0;left:0;right:0}.workspace-content{flex:1;overflow:hidden}.editor-container{flex-direction:column;height:100%;display:flex}.editor-file-bar{border-bottom:1px solid var(--border-color);background-color:#00000026;justify-content:space-between;align-items:center;height:40px;padding:0 16px;display:flex}.editor-tabs{align-items:flex-end;gap:4px;height:100%;display:flex;overflow-x:auto}.file-tab{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:1px solid #0000;border-bottom:none;border-top-left-radius:4px;border-top-right-radius:4px;align-items:center;gap:6px;height:32px;padding:6px 12px;font-size:.8rem;display:flex}.file-tab:hover{color:var(--text-primary);background-color:#ffffff05}.file-tab.active{background-color:var(--bg-panel);border-color:var(--border-color);color:var(--text-primary)}.editor-body{flex:1;display:flex;position:relative;overflow:hidden}.code-textarea{color:var(--text-primary);font-family:var(--font-mono);resize:none;white-space:pre;background:0 0;border:none;outline:none;flex:1;padding:16px;font-size:.9rem;line-height:1.6;overflow-x:auto}.kanban-board{background-color:var(--bg-panel);gap:16px;height:100%;padding:16px;display:flex;overflow-x:auto}.kanban-column{background-color:var(--bg-sidebar);border-radius:var(--radius-lg);border:1px solid var(--border-color);flex-direction:column;flex:1;min-width:280px;max-width:320px;height:100%;display:flex}.kanban-column-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;display:flex}.kanban-column-title{text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;font-size:.85rem;font-weight:700;display:flex}.kanban-tasks{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow-y:auto}.task-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;gap:10px;padding:14px;display:flex;position:relative}.task-card:hover{border-color:var(--border-color-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.task-card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.task-card-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.task-priority-badge{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.task-priority-badge.low{color:var(--text-secondary);background-color:#94a3b826}.task-priority-badge.medium{color:var(--color-info);background-color:#3b82f626}.task-priority-badge.high{color:var(--color-warning);background-color:#f59e0b26}.task-priority-badge.critical{color:var(--color-error);background-color:#ef444426}.task-card-desc{color:var(--text-secondary);white-space:pre-wrap;font-size:.8rem;line-height:1.4}.task-card-meta{color:var(--text-muted);border-top:1px solid #ffffff0a;justify-content:space-between;align-items:center;margin-top:4px;padding-top:8px;font-size:.75rem;display:flex}.task-assignee{align-items:center;gap:4px;display:flex}.task-card-actions{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.btn-task-action{border:1px solid var(--border-color);background:var(--bg-surface-elevated);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border-radius:4px;padding:4px 8px;font-size:.75rem}.btn-task-action:hover{background:var(--accent-color);color:#fff}.task-card-logs{border-radius:var(--radius-sm);font-family:var(--font-mono);border:1px solid var(--border-color);background-color:#00000040;flex-direction:column;gap:4px;max-height:120px;padding:8px;font-size:.7rem;display:flex;overflow-y:auto}.task-log-item{line-height:1.3}.task-log-item.info{color:var(--text-secondary)}.task-log-item.warn{color:var(--color-warning)}.task-log-item.error{color:var(--color-error)}.task-log-item.success{color:var(--color-success)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;animation:fadeIn var(--transition-fast);background-color:#05050ad9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:800px;box-shadow:var(--shadow-lg);animation:slideDown var(--transition-normal);overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{font-size:1.25rem;font-weight:700}.model-config-panel{flex-direction:column;gap:24px;max-height:80vh;padding:24px;display:flex;overflow-y:auto}.model-list{flex-direction:column;gap:12px;display:flex}.model-config-item{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast);justify-content:space-between;align-items:center;padding:16px;display:flex}.model-config-item.active{border-color:var(--accent-color)}.model-item-details{flex-direction:column;gap:4px;display:flex}.model-item-title{align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.model-item-subtitle{color:var(--text-secondary);font-size:.8rem}.model-item-actions{gap:8px;display:flex}.model-form{border-top:1px solid var(--border-color);flex-direction:column;gap:16px;padding-top:24px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.form-input,.form-select{background-color:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-sans);transition:border-color var(--transition-fast);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;outline:none;padding:10px 14px;font-size:.9rem}.form-select option{background-color:var(--bg-surface-elevated);color:var(--text-primary);padding:8px}.form-input:focus,.form-select:focus{border-color:var(--accent-color)}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.error-list{border:1px solid var(--color-error);color:var(--color-error);border-radius:var(--radius-sm);background-color:#ef44441a;flex-direction:column;gap:4px;padding:12px 16px;font-size:.85rem;display:flex}.task-create-trigger{border-bottom:1px solid var(--border-color);padding:12px}pre{border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:#05070f;margin:12px 0;padding:16px;position:relative;overflow-x:auto}code{font-family:var(--font-mono);color:#e2e8f0;font-size:.85rem}.code-copy-btn{background-color:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity var(--transition-fast);border-radius:4px;padding:4px 8px;font-size:.75rem;position:absolute;top:8px;right:8px}pre:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{background-color:var(--bg-surface-elevated);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.assistant-thinking{align-items:center;gap:10px;padding:12px 16px;display:flex}.thinking-dots{gap:4px;display:flex}.thinking-dots .dot{background:var(--accent-color);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite thinkingBounce}.thinking-dots .dot:first-child{animation-delay:0s}.thinking-dots .dot:nth-child(2){animation-delay:.2s}.thinking-dots .dot:nth-child(3){animation-delay:.4s}.thinking-label{color:var(--text-secondary);font-size:.82rem;font-style:italic}@keyframes thinkingBounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.chat-activity{color:var(--text-secondary);border-bottom:1px solid var(--border-color);background:linear-gradient(90deg,#6366f11f,#0000);flex-direction:column;gap:2px;min-height:28px;padding:6px 14px 4px;font-size:11.5px;display:flex}.chat-activity.idle{color:var(--text-muted);background:0 0;flex-direction:row;align-items:center}.chat-activity-row{align-items:center;gap:8px;width:100%;display:flex}.chat-pipeline{flex-wrap:wrap;align-items:center;gap:2px 4px;margin-bottom:2px;font-size:11px;display:flex}.chat-pipeline-step{color:var(--text-muted);opacity:.65;align-items:center;gap:3px;display:inline-flex}.chat-pipeline-step.done{color:var(--color-success);opacity:1}.chat-pipeline-step.active{color:var(--accent-color);opacity:1;font-weight:600}.chat-pipeline-sep{opacity:.4;margin:0 2px}.chat-pipeline-dot{font-size:9px}.chat-activity-bar{background:#ffffff0f;border-radius:1px;width:100%;height:2px;margin-top:2px;overflow:hidden}.chat-activity-bar-fill{background:linear-gradient(90deg,#6366f1,#06b6d4);border-radius:1px;height:100%;transition:width .35s}.chat-activity-pulse{background:var(--accent-color);width:8px;height:8px;box-shadow:0 0 8px var(--accent-color);border-radius:50%;flex-shrink:0;animation:1.2s ease-in-out infinite pulse}.chat-activity.phase-tool .chat-activity-pulse{background:var(--color-warning);box-shadow:0 0 8px var(--color-warning)}.chat-activity.phase-error .chat-activity-pulse{background:var(--color-error);box-shadow:0 0 8px var(--color-error);animation:none}.chat-activity-icon{flex-shrink:0}.chat-activity-label{color:var(--text-primary);white-space:nowrap;font-weight:600}.chat-activity-detail{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:40%;font-family:var(--font-mono);font-size:11px;overflow:hidden}.chat-activity-time{font-variant-numeric:tabular-nums;color:var(--text-muted);font-family:var(--font-mono);margin-left:auto;font-size:11px}.connection-banner{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;font-size:12px;display:flex}.connection-banner.offline{color:#fca5a5;background:#ef44441f}.connection-banner.reconnecting{color:#fcd34d;background:#f59e0b1f}.stream-cursor{vertical-align:text-bottom;background:var(--accent-color);width:2px;height:1em;margin-left:2px;animation:1s step-end infinite streamBlink;display:inline-block}@keyframes streamBlink{0%,to{opacity:1}50%{opacity:0}}.chat-textarea:disabled{opacity:.7;cursor:not-allowed}.tool-events{flex-direction:column;gap:6px;margin:8px 0;display:flex}.tool-output{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-surface);font-size:.8rem;overflow:hidden}.tool-output.tool-running{border-color:#6366f14d}.tool-output.tool-success{border-color:#10b98133}.tool-output.tool-error{border-color:#ef44444d}.tool-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast);align-items:center;gap:8px;padding:8px 12px;display:flex}.tool-header:hover{background:#ffffff08}.tool-icon{flex-shrink:0;font-size:.85rem}.tool-name{font-weight:600;font-family:var(--font-mono);color:var(--accent-color);flex-shrink:0;font-size:.75rem}.tool-input-preview{font-family:var(--font-mono);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.7rem;overflow:hidden}.tool-status-badge{border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:.7rem;font-weight:600}.tool-status-badge.running{color:var(--accent-color);background:#6366f11a}.tool-status-badge.success{color:var(--color-success);background:#10b9811a}.tool-status-badge.error{color:var(--color-error);background:#ef44441a}.tool-duration{color:var(--text-muted);font-size:.65rem;font-family:var(--font-mono);flex-shrink:0}.tool-toggle{transition:transform var(--transition-fast);color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.tool-toggle.expanded{transform:rotate(90deg)}.tool-output-content{background:var(--bg-app);border-top:1px solid var(--border-color);font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;max-height:300px;margin:0;padding:10px 14px;font-size:.72rem;line-height:1.6;overflow-y:auto}.tool-output-content code{font-family:inherit;font-size:inherit}.skill-picker-overlay{z-index:100;position:absolute;bottom:100%;left:0;right:0}.skill-picker{background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:8px;max-height:320px;margin-bottom:4px;overflow-y:auto;box-shadow:0 -4px 20px #0000004d}.skill-picker-header{border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);align-items:center;gap:6px;padding:8px 12px;font-size:11px;font-weight:600;display:flex}.skill-picker-list{padding:4px}.skill-picker-item{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);background:0 0;border:none;border-radius:6px;padding:8px 12px;transition:background .15s;display:block}.skill-picker-item:hover{background:var(--bg-surface)}.skill-picker-item-header{align-items:center;gap:8px;margin-bottom:2px;display:flex}.skill-picker-shortcut{font-family:var(--font-mono);color:var(--color-primary);background:#6366f126;border-radius:4px;padding:1px 6px;font-size:12px;font-weight:600}.skill-picker-name{font-size:13px;font-weight:500}.skill-picker-badge{background:var(--bg-surface);color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;border-radius:3px;padding:1px 5px;font-size:10px}.skill-picker-desc{color:var(--text-secondary);padding-left:0;font-size:12px;line-height:1.4}.extension-section{margin-bottom:24px}.extension-section h4{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.extension-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;margin-bottom:8px;padding:12px 16px}.extension-card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.extension-card-name{color:var(--text-primary);font-size:13px;font-weight:600}.extension-card-desc{color:var(--text-secondary);font-size:12px;line-height:1.4}.extension-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:2px 6px;font-size:10px}.extension-badge.builtin{color:var(--color-primary);background:#6366f126}.extension-badge.running{color:var(--color-success);background:#10b98126}.extension-badge.stopped{color:var(--color-error);background:#ef444426}.settings-sidebar{border-right:1px solid var(--border-color);background:var(--bg-panel);flex-direction:column;gap:2px;min-width:160px;padding:12px 8px;display:flex}.settings-sidebar-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:all .15s;display:flex}.settings-sidebar-item:hover{background:var(--bg-surface);color:var(--text-primary)}.settings-sidebar-item.active{background:var(--bg-surface-elevated);color:var(--text-primary);font-weight:600}.settings-content{flex:1;padding:20px 24px;overflow-y:auto}.session-sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-color);flex-direction:column;width:240px;min-width:240px;display:flex;overflow:hidden}.session-list{flex-direction:column;height:100%;padding:8px;display:flex}.session-new-btn{background:var(--bg-surface);border:1px dashed var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;font-size:13px;transition:all .15s;display:flex}.session-new-btn:hover{background:var(--bg-surface-elevated);color:var(--text-primary);border-color:var(--color-primary)}.session-items{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.session-empty{text-align:center;color:var(--text-muted);padding:20px 12px;font-size:12px}.session-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;transition:background .15s;display:flex}.session-item:hover{background:var(--bg-surface)}.session-item.active{background:var(--bg-surface-elevated)}.session-item-content{flex:1;min-width:0}.session-item-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.session-item-meta{color:var(--text-muted);gap:4px;margin-top:2px;font-size:10px;display:flex}.session-item-delete{opacity:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px;transition:all .15s}.session-item:hover .session-item-delete{opacity:1}.session-item-delete:hover{color:var(--color-error);background:#ef44441a}.msg-retry-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:11px;transition:color .15s;display:inline-flex}.msg-retry-btn:hover{color:var(--color-primary)}.message-bubble h1,.message-bubble h2,.message-bubble h3,.message-bubble h4,.message-bubble h5,.message-bubble h6{color:var(--text-primary);margin:10px 0 4px;line-height:1.3}.message-bubble h1:first-child,.message-bubble h2:first-child,.message-bubble h3:first-child{margin-top:0}.message-bubble h1{font-size:1.25em}.message-bubble h2{font-size:1.12em}.message-bubble h3{font-size:1.05em}.message-bubble p{margin:.35em 0;line-height:1.5}.message-bubble p:first-child{margin-top:0}.message-bubble p:last-child{margin-bottom:0}.message-bubble ul,.message-bubble ol{margin:.35em 0;padding-left:1.35em}.message-bubble li{margin:.15em 0;line-height:1.45}.message-bubble a{color:var(--color-primary);text-decoration:none}.message-bubble a:hover{text-decoration:underline}.message-bubble blockquote{border-left:3px solid var(--color-primary);color:var(--text-secondary);background:#6366f10d;border-radius:0 6px 6px 0;margin:.4em 0;padding:6px 12px}.message-bubble hr{border:none;border-top:1px solid var(--border-color);margin:10px 0}.message-bubble table{border-collapse:collapse;width:100%;margin:.4em 0;font-size:12.5px}.message-bubble th,.message-bubble td{border:1px solid var(--border-color);text-align:left;padding:4px 8px}.message-bubble th{background:var(--bg-surface);font-weight:600}.message-bubble tr:nth-child(2n){background:#ffffff05}.message-bubble em{color:var(--text-secondary);font-style:italic}.message-bubble del{color:var(--text-muted);text-decoration:line-through}.code-block-wrapper{position:relative}.code-block-wrapper pre{margin:8px 0}.code-block-wrapper .code-copy-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;opacity:0;border-radius:4px;padding:3px 8px;font-size:11px;transition:opacity .15s;position:absolute;top:8px;right:8px}.code-block-wrapper:hover .code-copy-btn{opacity:1}.code-block-wrapper .code-copy-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.table-wrapper{margin:8px 0;overflow-x:auto}.message-bubble pre code.hljs{background:0 0;padding:0}.message-bubble .hljs{background:#05070f;border-radius:6px;padding:14px;font-size:13px;line-height:1.5}.editor-with-tree{flex:1;height:100%;min-height:0;display:flex}.file-tree-aside{border-right:1px solid var(--border-color);background:var(--bg-sidebar);flex-direction:column;width:220px;min-width:160px;max-width:280px;min-height:0;display:flex}.file-tree{flex-direction:column;height:100%;min-height:0;display:flex}.file-tree-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.file-tree-title{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.file-tree-body{flex:1;padding:4px 0;overflow:auto}.file-tree-status{color:var(--text-muted);text-align:center;padding:12px;font-size:12px}.file-tree-status.error{color:var(--color-error)}.file-tree-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:flex}.file-tree-item:hover{background:var(--bg-surface);color:var(--text-primary)}.file-tree-item.active{color:var(--text-primary);background:#6366f126}.file-tree-icon{flex-shrink:0;font-size:12px}.file-tree-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-with-tree .editor-container{flex-direction:column;flex:1;min-width:0;display:flex}.file-tab{align-items:center;gap:2px;max-width:160px;display:inline-flex}.file-tab-label{color:inherit;cursor:pointer;font:inherit;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;padding:0;overflow:hidden}.file-tab-close{color:var(--text-muted);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:3px;padding:0 4px;font-size:14px;line-height:1}.file-tab-close:hover{opacity:1;color:var(--color-error);background:#ef44441a}.editor-file-actions{align-items:center;gap:8px;margin-left:auto;padding-right:8px;display:flex}.editor-empty{color:var(--text-secondary);text-align:center;flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.btn-sm{padding:4px 10px;font-size:12px}.panel-divider:active,.panel-divider.dragging{background-color:#6366f140}
