.model-selector{position:relative}.model-selector-trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition);min-width:180px}.model-selector-trigger:hover{border-color:var(--accent);background:var(--bg-hover);box-shadow:0 0 0 2px var(--accent-glow)}.model-current{display:flex;align-items:center;gap:var(--space-2);flex:1}.model-current svg{color:var(--accent);flex-shrink:0}.model-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);font-size:var(--font-size-sm)}.model-badge{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:10px;flex-shrink:0;letter-spacing:.04em}.model-badge.local{background:linear-gradient(135deg,var(--success),#10b981);color:#fff}.model-badge.cloud{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff}.model-badge.api{background:linear-gradient(135deg,var(--warning),#f59e0b);color:#fff}.model-chevron{color:var(--text-muted);transition:transform var(--transition);flex-shrink:0}.model-chevron.open{transform:rotate(180deg);color:var(--accent)}.model-dropdown{position:fixed;left:50%!important;right:auto!important;transform:translate(-50%)!important;max-height:70vh;overflow-y:auto;overflow-x:visible;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:9999;width:380px;max-width:calc(100vw - 32px)}.model-section{padding:var(--space-2)}.model-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:var(--space-2);margin-bottom:var(--space-1)}.model-section-title svg{color:var(--accent)}.model-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:var(--space-1) 0}.model-options-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.model-option{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-2);border-radius:var(--radius);text-align:left;transition:all var(--transition);border:1px solid transparent;min-height:44px}.model-option:hover{background:var(--bg-tertiary);border-color:var(--border)}.model-option.active{background:linear-gradient(135deg,var(--accent-subtle),transparent);border-color:var(--accent)}.model-option.pending{background:linear-gradient(135deg,var(--warning-bg),transparent);border-color:var(--warning)}.model-option svg{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0;transition:all var(--transition)}.model-option.active svg{color:var(--accent)}.model-option:hover svg{color:var(--accent);transform:scale(1.1)}.model-option-info{flex:1;min-width:0}.model-option-name{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.model-option-desc{display:block;font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-check{color:var(--accent);flex-shrink:0;animation:fadeInScale .2s ease}.pending-check{color:var(--warning)}.model-apply-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--bg-tertiary);border-top:1px solid var(--border)}.model-apply-info{font-size:var(--font-size-sm);color:var(--text-secondary)}.model-apply-info strong{color:var(--accent);font-weight:600}.model-apply-btn{padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;font-weight:600;font-size:var(--font-size-sm);border-radius:var(--radius);transition:all var(--transition);display:flex;align-items:center;gap:var(--space-2);box-shadow:0 2px 8px var(--accent-glow)}.model-apply-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 16px var(--accent-glow)}.model-apply-btn:active{transform:translateY(0)}.model-apply-btn .spin{animation:spin 1s linear infinite}@media (max-width: 768px){.model-selector-trigger{min-width:150px;padding:var(--space-1) var(--space-2)}.model-dropdown{position:fixed;left:50%!important;right:auto!important;transform:translate(-50%);width:calc(100vw - 32px)!important;max-width:380px}.model-badge{display:none}}.header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);min-height:var(--header-height);padding:0 var(--space-3);background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:nowrap;overflow:visible;gap:var(--space-3);position:relative;z-index:10}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent)}.header-left{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;min-width:0}.logo{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1);transition:transform .2s ease;flex-shrink:0}.logo:hover{transform:scale(1.02)}.logo-icon{width:28px;height:28px;flex-shrink:0;filter:drop-shadow(0 0 4px var(--accent-glow))}.logo-text{font-family:var(--font-mono);font-weight:700;font-size:var(--font-size-base);color:var(--text-primary);letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;flex-shrink:0}.session-status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius);border:1px solid var(--border);flex-shrink:0}.status-dot{width:6px;height:6px;border-radius:50%;animation:pulse 2s infinite;box-shadow:0 0 4px currentColor;flex-shrink:0}.status-text{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:500;white-space:nowrap}.status-spinner{animation:spin 1s linear infinite}.header-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.header-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius);color:var(--text-secondary);transition:all .2s ease;position:relative;overflow:hidden;flex-shrink:0}.header-btn svg{width:18px;height:18px}.header-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--accent-subtle),transparent);opacity:0;transition:opacity .2s ease}.header-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.header-btn:hover:before{opacity:1}.header-btn.active{background:var(--accent-subtle);color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}@media (max-width: 600px){.header{padding:0 var(--space-2);gap:var(--space-2)}.logo-text,.session-status{display:none}.header-btn{width:32px;height:32px}.header-btn svg{width:16px;height:16px}}@media (max-width: 380px){.header-btn{width:28px;height:28px}.header-btn svg{width:14px;height:14px}}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;flex-grow:0;overflow:hidden;min-height:0;position:relative;transition:all var(--transition-slow)}.sidebar.collapsed{width:48px}.sidebar-toggle{position:absolute;top:var(--space-2);right:var(--space-2);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--text-muted);z-index:1;transition:all var(--transition);background:var(--bg-tertiary);border:1px solid var(--border)}.sidebar-toggle:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.05)}.sidebar.collapsed .sidebar-toggle{right:50%;transform:translate(50%)}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--space-3);padding-top:var(--space-10)}.sidebar-section{margin-bottom:var(--space-4)}.sidebar-section-title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:var(--space-2);padding-left:var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.sidebar-section-title:before{content:"";width:6px;height:6px;background:var(--accent);border-radius:2px;box-shadow:0 0 6px var(--accent-glow)}.sidebar-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-action{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;text-align:left;transition:all var(--transition);border:1px solid transparent}.sidebar-action:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border);transform:translate(3px)}.sidebar-action svg{color:var(--accent);flex-shrink:0;transition:transform var(--transition)}.sidebar-action:hover svg{transform:scale(1.1)}.sidebar-project{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;text-align:left;transition:all var(--transition);overflow:hidden;border:1px solid transparent}.sidebar-project span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-project:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border);transform:translate(3px)}.sidebar-project svg{color:var(--success);flex-shrink:0}.sidebar-menu-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3);border-radius:var(--radius);background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;font-weight:600;font-size:var(--font-size-sm);transition:all var(--transition);box-shadow:0 2px 10px var(--accent-glow);border:none}.sidebar-menu-btn:hover{transform:translateY(-1px);box-shadow:0 0 16px var(--accent-glow)}.sidebar-menu-btn:active{transform:translateY(0)}@media (max-width: 768px){.sidebar{display:none}}.message{display:flex;gap:var(--space-2);max-width:100%;animation:fadeIn .2s ease-out;flex-shrink:0}.message-user{flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--font-size-xs);font-weight:600}.message-content{flex:1;max-width:85%;min-width:0;position:relative;overflow:hidden}.message-user .message-content{background:var(--accent-subtle);border:1px solid var(--accent-glow);border-radius:var(--radius);border-bottom-right-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.message-assistant .message-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);border-bottom-left-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.message-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);font-size:var(--font-size-xs)}.message-role{font-weight:600;color:var(--text-secondary);font-size:var(--font-size-xs)}.message-time{color:var(--text-muted);font-size:var(--font-size-xs)}.message-body{color:var(--text-primary);line-height:var(--line-height-base);font-size:var(--font-size-base);word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.message-body p{margin-bottom:var(--space-1)}.message-body p:last-child{margin-bottom:0}.message-body ul,.message-body ol{margin:var(--space-1) 0;padding-left:var(--space-4)}.message-body li{margin-bottom:2px}.message-body strong{font-weight:600;color:var(--text-primary)}.message-body em{font-style:italic;color:var(--text-secondary)}.message-copy{position:absolute;top:var(--space-1);right:var(--space-1);padding:2px 4px;border-radius:var(--radius-sm);color:var(--text-muted);opacity:0;transition:all var(--transition);font-size:var(--font-size-xs)}.message-content:hover .message-copy{opacity:1}.message-copy:hover{background:var(--bg-tertiary);color:var(--text-primary)}.inline-code{background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em;color:var(--accent)}.code-block{margin:var(--space-2) 0;border-radius:var(--radius);overflow:hidden;background:var(--code-bg);border:1px solid var(--border-subtle);max-width:100%;overflow-x:auto;flex-shrink:0}.code-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle)}.code-lang{font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted);text-transform:uppercase}.code-copy{padding:2px 4px;border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition);font-size:var(--font-size-xs)}.code-copy:hover{background:var(--bg-active);color:var(--text-primary)}.code-content{padding:var(--space-2);overflow-x:auto;font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.5;margin:0;max-width:100%;word-break:break-all}.code-content code{background:transparent;padding:0}.reasoning-display{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:var(--space-2) 0;border-left:3px solid var(--accent);flex-shrink:0}.reasoning-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition)}.reasoning-header:hover{background:var(--bg-active)}.reasoning-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:500;color:var(--accent)}.reasoning-header svg{color:var(--accent)}.reasoning-count{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:400;background:var(--bg-active);padding:2px 6px;border-radius:10px}.reasoning-active-spinner{animation:spin 1s linear infinite;color:var(--accent)}.reasoning-steps{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--border);background:linear-gradient(180deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%)}.reasoning-step-item{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:var(--font-size-sm);line-height:var(--line-height-base);border-left:2px solid transparent;transition:all var(--transition)}.reasoning-step-item.pending{color:var(--text-muted);opacity:.5}.reasoning-step-item.active{background:#6366f114;color:var(--accent);border-left-color:var(--accent)}.reasoning-step-item.completed{color:var(--text-secondary);border-left-color:var(--success)}.reasoning-step-item.error{background:var(--error-bg);color:var(--error);border-left-color:var(--error)}.reasoning-step-icon{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:12px}.reasoning-spinner{animation:spin 1s linear infinite}.reasoning-step-number{font-weight:700;font-size:var(--font-size-xs);color:var(--text-muted);flex-shrink:0;min-width:20px;font-family:var(--font-mono)}.reasoning-step-text{flex:1;word-break:break-word;line-height:1.6}.typewriter{font-family:var(--font-mono);font-size:var(--font-size-sm)}.cursor{animation:pulse .8s infinite;color:var(--accent);font-weight:700}@keyframes pulse{0%,to{opacity:1}50%{opacity:0}}.chat-panel{display:flex;flex-direction:column;min-width:280px;border-right:1px solid var(--border);background:var(--bg-primary);position:relative;overflow:hidden;flex:1}.chat-panel:before{content:"";position:absolute;top:0;left:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--accent-glow),transparent)}.chat-messages{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);height:0}.welcome-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-6) var(--space-3);animation:fadeIn .4s ease-out}.welcome-icon{width:64px;height:64px;margin-bottom:var(--space-3);animation:float 3s ease-in-out infinite;filter:drop-shadow(0 0 16px var(--accent-glow))}.welcome-title{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2)}.welcome-subtitle{color:var(--text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4);font-size:var(--font-size-sm);max-width:300px}.welcome-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;max-width:360px}.suggestion-btn{padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;transition:all .2s ease;cursor:pointer}.suggestion-btn:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 2px 8px var(--accent-glow)}.processing-indicator{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);animation:fadeIn .2s ease-out;flex-shrink:0}.processing-spinner{animation:spin 1s linear infinite;color:var(--accent)}.scroll-to-bottom-btn{position:absolute;bottom:12px;right:12px;width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.scroll-to-bottom-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 12px var(--accent-glow)}@media (max-width: 1024px){.chat-panel{min-width:100%;border-right:none;border-bottom:1px solid var(--border)}}.preview-panel{display:flex;flex-direction:column;height:100%;min-width:200px;background:var(--bg-primary);overflow:hidden}.preview-minimized{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2);min-height:60px}.preview-maximize-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:var(--font-size-sm);transition:all var(--transition)}.preview-maximize-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.preview-tabs{display:flex;align-items:center;padding:0 var(--space-2);background:var(--bg-secondary);border-bottom:1px solid var(--border);height:36px;gap:2px;flex-shrink:0}.preview-tab{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:500;transition:all var(--transition)}.preview-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.preview-tab.active{color:var(--accent);background:var(--accent-subtle)}.preview-actions{margin-left:auto;display:flex;gap:2px}.preview-action-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition)}.preview-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.preview-action-btn .spin{animation:spin 1s linear infinite}.preview-content{flex:1;overflow:hidden;position:relative}.preview-content-inner{width:100%;height:100%}.preview-iframe{width:100%;height:100%;border:none;background:#fff}.preview-markdown{padding:var(--space-2);overflow-y:auto;height:100%;color:var(--text-primary);line-height:var(--line-height-base);font-size:var(--font-size-sm)}.preview-markdown h1,.preview-markdown h2,.preview-markdown h3{margin:var(--space-2) 0 var(--space-1);color:var(--text-primary)}.preview-markdown h1{font-size:1.2em}.preview-markdown h2{font-size:1.1em}.preview-markdown h3{font-size:var(--font-size-base)}.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;padding:var(--space-3);gap:var(--space-2)}.preview-empty p{color:var(--text-secondary);font-weight:500;font-size:var(--font-size-sm)}.preview-empty span{font-size:var(--font-size-xs)}.terminal-output{padding:var(--space-2);height:100%;overflow-y:auto;font-family:var(--font-mono);font-size:var(--font-size-xs);background:var(--bg-terminal)}.terminal-line{line-height:1.5;white-space:pre-wrap;word-break:break-all}.terminal-prompt{color:var(--accent);font-weight:600}.terminal-error{color:var(--error);font-weight:600}.terminal-warning{color:var(--warning);font-weight:600}@media (max-width: 1024px){.preview-panel{min-width:100%;max-height:50%}}.input-bar{padding:var(--space-2) var(--space-4);background:var(--bg-primary);border-top:1px solid var(--border);flex-shrink:0;position:relative}.input-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent);z-index:0}.input-container{display:flex;align-items:flex-end;gap:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-1) var(--space-2);transition:all .2s ease;box-shadow:0 2px 8px #0003;position:relative}.input-container:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #6366f126,0 4px 12px #0000004d}.input-textarea{flex:1;background:transparent;border:none;padding:var(--space-2);font-size:var(--font-size-base);line-height:var(--line-height-base);resize:none;min-height:24px;max-height:120px;color:var(--text-primary);font-family:var(--font-sans);caret-color:var(--accent);position:relative;z-index:1}.input-textarea:focus{outline:none;box-shadow:none}.input-textarea:disabled{opacity:.5;cursor:not-allowed}.input-textarea::placeholder{color:var(--text-muted);font-size:var(--font-size-sm)}.send-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--bg-tertiary);color:var(--text-muted);transition:all .2s ease;flex-shrink:0;border:1px solid var(--border);position:relative;z-index:1}.send-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--accent),var(--accent-hover));opacity:0;transition:opacity .2s ease;z-index:0;border-radius:inherit}.send-btn.active{color:#fff;border-color:transparent;box-shadow:0 0 12px var(--accent-glow)}.send-btn.active:before{opacity:1}.send-btn.active:hover{transform:scale(1.05);box-shadow:0 0 20px var(--accent-glow)}.send-btn.active:active{transform:scale(.95)}.send-btn svg{position:relative;z-index:1}.send-btn .spin{animation:spin 1s linear infinite}.input-hints{display:flex;gap:var(--space-3);margin-top:var(--space-2);padding:0 var(--space-2)}.input-hints span{font-size:var(--font-size-xs);color:var(--text-muted);padding:var(--space-1) var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);font-family:var(--font-mono)}@media (max-width: 768px){.input-bar{padding:var(--space-2)}.input-container{padding:var(--space-1)}.send-btn{width:38px;height:38px}.input-hints{display:none}}.task-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.task-menu{width:100%;max-width:480px;max-height:80vh;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.task-menu-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border)}.task-menu-title{display:flex;align-items:center;gap:var(--space-2);font-size:1rem;font-weight:600;color:var(--text-primary)}.task-menu-title svg{color:var(--accent)}.task-menu-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--text-muted);transition:all var(--transition)}.task-menu-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.task-menu-search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);margin:var(--space-3);border-radius:var(--radius);border:1px solid transparent;transition:border-color var(--transition)}.task-menu-search:focus-within{border-color:var(--accent)}.task-menu-search svg{color:var(--text-muted);flex-shrink:0}.task-menu-search input{flex:1;background:transparent;border:none;padding:0;font-size:.9rem;color:var(--text-primary)}.task-menu-search input:focus{outline:none;box-shadow:none}.task-menu-list{flex:1;overflow-y:auto;padding:var(--space-2)}.task-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius);text-align:left;transition:all var(--transition)}.task-item:hover{background:var(--bg-tertiary)}.task-item:hover .task-arrow{opacity:1;transform:translate(0)}.task-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);border-radius:var(--radius);color:var(--accent);flex-shrink:0}.task-info{flex:1;min-width:0}.task-label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:2px}.task-description{display:block;font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-arrow{color:var(--text-muted);opacity:0;transform:translate(-4px);transition:all var(--transition)}.task-empty{padding:var(--space-8);text-align:center;color:var(--text-muted)}.file-manager-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:stretch;justify-content:flex-end;z-index:90;animation:fadeIn .2s ease-out}.file-manager{width:420px;max-width:100%;height:100%;background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;animation:slideInRight .3s cubic-bezier(.16,1,.3,1);box-shadow:-10px 0 40px #00000080}.file-manager:before{content:"";position:absolute;top:0;left:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--accent-glow),transparent 50%)}.file-manager-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:linear-gradient(180deg,var(--bg-tertiary),var(--bg-secondary));border-bottom:1px solid var(--border);flex-shrink:0}.file-manager-title{display:flex;align-items:center;gap:var(--space-2);font-size:.9rem;font-weight:600;color:var(--text-primary)}.file-manager-title svg{color:var(--accent);animation:pulse 2s ease-in-out infinite}.file-manager-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--text-muted);transition:all .2s ease}.file-manager-close:hover{background:var(--error-bg);color:var(--error);transform:rotate(90deg)}.file-manager-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.toolbar-group{display:flex;align-items:center;gap:2px;padding:2px;background:var(--bg-tertiary);border-radius:var(--radius);border:1px solid var(--border-subtle)}.fm-btn{display:flex;align-items:center;justify-content:center;gap:4px;min-width:32px;height:32px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.75rem;font-weight:500;transition:all .15s ease;position:relative}.fm-btn:hover{background:var(--bg-hover);color:var(--text-primary);transform:translateY(-1px)}.fm-btn:active{transform:translateY(0) scale(.95)}.fm-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.fm-btn:disabled:hover{background:transparent;color:var(--text-secondary)}.fm-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.fm-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 16px var(--accent-glow)}.fm-btn.accent{color:var(--accent)}.fm-btn.accent:hover{background:var(--accent-subtle)}.fm-path{flex:1;display:flex;align-items:center;gap:2px;font-size:.75rem;color:var(--text-muted);overflow:hidden;min-width:0;padding:0 var(--space-2)}.fm-path-part{color:var(--text-secondary);white-space:nowrap;padding:2px 4px;border-radius:var(--radius-sm);transition:all .15s ease;cursor:pointer}.fm-path-part:hover{color:var(--accent);background:var(--accent-subtle)}.fm-path-sep{color:var(--text-muted);flex-shrink:0}.fm-actions{display:flex;gap:2px;flex-shrink:0}.fm-new-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border-bottom:1px solid var(--border);animation:slideUp .2s ease-out}.fm-new-item input{flex:1;padding:var(--space-2);font-size:.85rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary)}.fm-new-item input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);outline:none}.file-manager-content{flex:1;overflow-y:auto;background:var(--bg-primary)}.fm-loading,.fm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--text-muted);gap:var(--space-3);animation:fadeIn .3s ease-out}.fm-loading svg{animation:spin 1s linear infinite;color:var(--accent)}.file-list{padding:var(--space-2)}.file-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius);cursor:pointer;transition:all .15s ease;width:100%;text-align:left;border:1px solid transparent;animation:fadeIn .15s ease-out}.file-item:hover{background:var(--bg-tertiary);border-color:var(--border);transform:translate(4px)}.file-item:active{transform:translate(2px) scale(.99)}.file-item.selected{background:var(--accent-subtle);border-color:var(--accent)}.file-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted);transition:all .15s ease}.file-item:hover .file-icon{color:var(--accent);transform:scale(1.1)}.file-item-back{color:var(--text-muted);transform:rotate(180deg)}.file-name{flex:1;font-size:.85rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{font-size:.7rem;color:var(--text-muted);flex-shrink:0;font-family:var(--font-mono)}.file-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s ease}.file-item:hover .file-actions{opacity:1}.file-action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-muted);transition:all .15s ease}.file-action-btn:hover{background:var(--bg-active);color:var(--text-primary);transform:scale(1.1)}.file-action-btn.danger:hover{background:var(--error-bg);color:var(--error)}@media (max-width: 768px){.file-manager-overlay{justify-content:center;padding:0}.file-manager{width:100%;height:100%;border-radius:0;border-left:none}}.toast-container{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;max-width:360px}.toast-success{border-color:var(--success);background:linear-gradient(135deg,var(--bg-secondary),var(--success-bg))}.toast-success .toast-icon{color:var(--success)}.toast-error{border-color:var(--error);background:linear-gradient(135deg,var(--bg-secondary),var(--error-bg))}.toast-error .toast-icon{color:var(--error)}.toast-info{border-color:var(--accent);background:linear-gradient(135deg,var(--bg-secondary),var(--accent-subtle))}.toast-info .toast-icon{color:var(--accent)}.toast-icon{flex-shrink:0}.toast-message{flex:1;font-size:.9rem;color:var(--text-primary);line-height:1.4}.toast-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-muted);flex-shrink:0;transition:all var(--transition)}.toast-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 768px){.toast-container{left:var(--space-4);right:var(--space-4)}.toast{max-width:100%}}.app{display:flex;flex-direction:column;height:100%;width:100%;max-width:100vw;max-height:100vh;overflow:hidden;background:var(--bg-primary)}.app-body{display:flex;flex:1;overflow:hidden;position:relative;min-height:0}.main-content{display:flex;flex-direction:column;flex:1;overflow:hidden;min-width:0;min-height:0;align-items:stretch}.chat-preview-container{display:flex;flex:1;overflow:hidden;min-height:0;min-width:0;position:relative}.chat-panel-wrapper{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1;overflow:hidden}.chat-panel-wrapper>.chat-panel{flex:1;min-height:0}.split-divider{width:20px;display:flex;align-items:center;justify-content:center;cursor:col-resize;flex-shrink:0;position:relative;z-index:5}.split-divider:hover .split-divider-line,.split-divider.dragging .split-divider-line{background:var(--accent)}.split-divider-line{width:4px;height:50px;background:var(--border);border-radius:2px;transition:background .2s ease}.split-open-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;z-index:5;padding:0}.split-open-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.split-open-btn svg{width:20px;height:20px}.split-open-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.split-open-btn svg{transition:transform .2s ease}.split-open-btn:hover svg{transform:translate(2px)}@media (max-width: 768px){.chat-preview-container{flex-direction:column}}:root{--bg-primary: #08080d;--bg-secondary: #0d0d14;--bg-tertiary: #14141f;--bg-hover: #1a1a28;--bg-active: #1e1e2e;--bg-terminal: #050508;--text-primary: #f0f0f8;--text-secondary: #b8b8cc;--text-muted: #707088;--accent: #6366f1;--accent-hover: #818cf8;--accent-glow: rgba(99, 102, 241, .25);--accent-subtle: rgba(99, 102, 241, .1);--reasoning-step: #818cf8;--reasoning-active: #818cf8;--success: #10b981;--success-bg: rgba(16, 185, 129, .1);--error: #f43f5e;--error-bg: rgba(244, 63, 94, .1);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--border: #1e1e2e;--border-subtle: #14141f;--border-accent: rgba(99, 102, 241, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--font-size-xs: .8125rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.0625rem;--font-size-lg: 1.25rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.625rem;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.625;--header-height: 52px;--sidebar-width: 56px;--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;min-width:0;min-height:0}html,body{width:100%;height:100%;margin:0;padding:0;font-family:var(--font-sans);font-size:16px;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{width:100%;height:100%;max-width:100vw;max-height:100vh;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}::selection{background:#ffffff26;color:var(--text-primary)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{font-family:inherit;cursor:pointer;border:none;background:transparent}input,textarea{font-family:inherit;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.98)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px var(--accent-glow),0 0 #6366f100}50%{box-shadow:0 0 20px var(--accent-glow),0 0 30px var(--accent-glow)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(1deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes scalePulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes toastIn{0%{opacity:0;transform:translate(100px) scale(.8)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100px) scale(.8)}}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:9999;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}@media (max-width: 768px){:root{--header-height: 52px;--sidebar-width: 0px}body{padding:0}.toast-container{bottom:var(--space-4);right:var(--space-4);left:var(--space-4)}}
