:root,[data-theme=light]{--bg: #f8fafc;--bg-main: #ffffff;--bg-sidebar: #1e293b;--bg-input: #ffffff;--bg-hover: #f1f5f9;--bg-active: #e0f2fe;--bg-code: #1e1e2e;--bg-msg-user: #f0f9ff;--bg-msg-ai: #ffffff;--bg-settings: #ffffff;--bg-overlay: rgba(0,0,0,.5);--text: #0f172a;--text-dim: #64748b;--text-bright: #1e3a5f;--text-sidebar: #94a3b8;--text-sidebar-active: #ffffff;--text-code: #e2e8f0;--border: #e2e8f0;--border-light: #f1f5f9;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-light: #dbeafe;--danger: #dc2626;--success: #16a34a;--warn: #d97706;--shadow: 0 1px 3px rgba(0,0,0,.06);--shadow-lg: 0 10px 40px rgba(0,0,0,.12);--radius: 8px;--radius-sm: 4px;--radius-lg: 12px;--font: "DM Sans", "Segoe UI", -apple-system, sans-serif;--mono: "JetBrains Mono", "Cascadia Code", "Fira Code", "Consolas", monospace}[data-theme=dark]{--bg: #0f172a;--bg-main: #1e293b;--bg-sidebar: #0f172a;--bg-input: #334155;--bg-hover: #334155;--bg-active: #1e3a5f;--bg-code: #0d1117;--bg-msg-user: #1e3a5f;--bg-msg-ai: #1e293b;--bg-settings: #1e293b;--bg-overlay: rgba(0,0,0,.7);--text: #e2e8f0;--text-dim: #94a3b8;--text-bright: #f0f9ff;--text-sidebar: #94a3b8;--text-sidebar-active: #ffffff;--text-code: #e2e8f0;--border: #334155;--border-light: #1e293b}*{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:var(--font);background:var(--bg);color:var(--text);overflow:hidden}.app{display:flex;height:100vh}.sidebar{width:280px;background:var(--bg-sidebar);color:var(--text-sidebar);display:flex;flex-direction:column;transition:width .2s;flex-shrink:0;z-index:20}.sidebar.closed{width:0;overflow:hidden}.sidebar-toggle{position:fixed;top:12px;left:12px;z-index:30;background:var(--bg-sidebar);color:#fff;border:none;padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:16px}.main{flex:1;display:flex;flex-direction:column;background:var(--bg-main);min-width:0}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:10px;cursor:pointer}.brand-icon{width:32px;height:32px;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px}.brand-logo{height:28px;object-fit:contain}.brand-text{font-weight:600;color:#fff;font-size:14px}.sidebar-actions{display:flex;gap:8px;padding:12px 16px}.new-chat-btn{flex:1}.sidebar-btn{background:#ffffff14;color:var(--text-sidebar);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);padding:7px 12px;cursor:pointer;font-size:12px;transition:all .15s}.sidebar-btn:hover{background:#ffffff24;color:#fff}.sidebar-btn.small{font-size:11px;padding:4px 10px;margin:4px 8px}.settings-icon{color:var(--text-sidebar);font-size:16px}.icon-btn{background:none;border:none;cursor:pointer;color:var(--text-sidebar);padding:4px;font-size:14px;border-radius:var(--radius-sm)}.icon-btn:hover{background:#ffffff1a}.icon-btn.mini{font-size:12px;opacity:0;transition:opacity .15s}.sidebar-search{position:relative;padding:0 16px 8px}.search-input{width:100%;padding:7px 28px 7px 10px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:#fff;font-size:12px;outline:none;transition:border-color .15s}.search-input::placeholder{color:#ffffff59}.search-input:focus{border-color:var(--accent);background:#ffffff1f}.search-clear{position:absolute;right:20px;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff80;cursor:pointer;font-size:14px;padding:0 4px}.search-clear:hover{color:#fff}.search-project-tag{font-size:9px;padding:1px 6px;border-radius:3px;background:#2563eb4d;color:#93c5fd;white-space:nowrap;flex-shrink:0}.sidebar-section{flex:1;overflow-y:auto;padding:4px 0}.section-label{padding:8px 16px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#ffffff59;font-weight:600}.chat-item{display:flex;align-items:center;padding:6px 16px;cursor:pointer;transition:background .1s;gap:4px}.chat-item:hover{background:#ffffff0f}.chat-item:hover .delete-btn,.project-item:hover .icon-btn.mini{opacity:1}.chat-item.active{background:#ffffff1a}.chat-item.nested{padding-left:32px}.chat-title{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-sidebar)}.chat-item.active .chat-title{color:#fff}.delete-btn{background:none;border:none;color:var(--text-sidebar);cursor:pointer;font-size:16px;opacity:0;transition:opacity .15s;padding:0 4px}.delete-btn:hover{color:var(--danger)}.pin-btn{background:none;border:none;color:var(--text-sidebar);cursor:pointer;font-size:11px;opacity:0;transition:opacity .15s;padding:0 2px}.chat-item:hover .pin-btn{opacity:.6}.pin-btn:hover{opacity:1!important}.pin-icon{font-size:10px;margin-right:4px}.pinned-section{flex:none}.rename-input{background:#ffffff1a;border:1px solid var(--accent);color:#fff;border-radius:var(--radius-sm);padding:2px 6px;font-size:13px;flex:1;outline:none}.project-group{margin-bottom:2px}.project-item{display:flex;align-items:center;padding:7px 16px;cursor:pointer;gap:8px;transition:background .1s}.project-item:hover{background:#ffffff0f}.project-item.active{background:#ffffff1a}.project-icon{font-size:14px}.project-name{flex:1;font-size:13px;font-weight:500;color:var(--text-sidebar);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-item.active .project-name{color:#fff}.has-instructions{color:var(--accent);font-size:8px}.project-chats{padding:2px 0 6px}.sidebar-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08)}.status-row{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.online{background:var(--success)}.status-dot.offline{background:var(--danger)}.status-text{font-size:11px}.project-settings-panel{position:fixed;top:0;left:280px;width:320px;height:100vh;background:var(--bg-settings);border-right:1px solid var(--border);z-index:15;padding:16px;overflow-y:auto;box-shadow:var(--shadow-lg)}.ps-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ps-header h3{font-size:16px;font-weight:600}.ps-label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;margin:12px 0 4px;display:block}.ps-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:var(--bg-input);color:var(--text)}.ps-textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);resize:vertical;background:var(--bg-input);color:var(--text)}.ps-file{padding:4px 8px;background:var(--bg-hover);border-radius:var(--radius-sm);font-size:12px;margin:4px 0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--bg-main);flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:8px}.topbar-project{font-size:12px;color:var(--accent);font-weight:600;padding:2px 8px;background:var(--accent-light);border-radius:var(--radius-sm)}.topbar-chat,.topbar-welcome{font-size:14px;font-weight:500}.model-btn{padding:5px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-main);color:var(--text);cursor:pointer;font-size:12px;font-weight:500;transition:all .15s}.model-btn:hover{border-color:var(--accent)}.model-btn.sonnet{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;animation:fadeIn .3s ease-out}.welcome-logo{height:64px;margin-bottom:16px;object-fit:contain}.welcome-icon{font-size:48px;margin-bottom:16px}.welcome h1{font-size:24px;font-weight:600;color:var(--text-bright);margin-bottom:8px}.welcome-sub{color:var(--text-dim);font-size:14px;margin-bottom:20px}.welcome-instructions{max-width:500px;background:var(--accent-light);padding:10px 14px;border-radius:var(--radius);font-size:12px;color:var(--text-bright);margin-bottom:16px;text-align:left;line-height:1.5}.welcome-btn{padding:10px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:14px;font-weight:500;transition:background .15s,transform .1s}.welcome-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.welcome-btn:active{transform:translateY(0)}.welcome-files{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.file-badge{background:var(--bg-hover);padding:4px 10px;border-radius:var(--radius-sm);font-size:11px;color:var(--text-dim)}.welcome-actions{margin-bottom:12px}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;max-width:600px;width:100%;margin-bottom:20px}.quick-action-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:13px;color:var(--text);transition:all .15s;text-align:left}.quick-action-btn:hover{border-color:var(--accent);background:var(--accent-light);transform:translateY(-1px);box-shadow:var(--shadow)}.quick-action-btn:active{transform:translateY(0)}.quick-action-icon{font-size:18px;flex-shrink:0}.quick-action-label{font-weight:500}.chat-area{flex:1;display:flex;flex-direction:column;min-height:0}.messages{flex:1;overflow-y:auto;padding:16px 20px}.message{display:flex;gap:12px;padding:12px 0}.message+.message{border-top:1px solid var(--border-light)}.message-avatar{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.message.user .message-avatar{background:var(--accent);color:#fff}.message.assistant .message-avatar{background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff}.message-body{flex:1;min-width:0}.message-content{font-size:14px;line-height:1.65;word-break:break-word}.message-content p{margin-bottom:8px}.message-content p:last-child{margin-bottom:0}.message-content ul,.message-content ol{margin:6px 0 6px 20px}.message-content li{margin-bottom:4px}.message-content h1,.message-content h2,.message-content h3{margin:12px 0 6px;font-weight:600}.message-content strong{font-weight:600}.message-meta{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.meta-badge{font-size:10px;padding:2px 8px;border-radius:var(--radius-sm);font-weight:500}.meta-badge.model{background:var(--accent-light);color:var(--accent)}.meta-badge.tool{background:#fef3c7;color:#92400e}[data-theme=dark] .meta-badge.model{background:#2563eb33}[data-theme=dark] .meta-badge.tool{background:#d9770633;color:#fbbf24}.copy-btn{background:none;border:1px solid var(--border);color:var(--text-dim);padding:2px 8px;border-radius:var(--radius-sm);font-size:10px;cursor:pointer;transition:all .15s}.copy-btn:hover{border-color:var(--accent);color:var(--accent)}.msg-action-btn{background:none;border:1px solid var(--border);color:var(--text-dim);padding:2px 8px;border-radius:var(--radius-sm);font-size:10px;cursor:pointer;transition:all .15s}.msg-action-btn:hover{border-color:var(--accent);color:var(--accent)}.edit-message{width:100%}.edit-textarea{width:100%;padding:10px;border:1px solid var(--accent);border-radius:var(--radius);font-size:14px;font-family:var(--font);resize:vertical;background:var(--bg-input);color:var(--text);min-height:60px;outline:none}.edit-actions{display:flex;gap:8px;margin-top:8px}.edit-action-btn{padding:6px 16px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;border:none;transition:all .15s}.edit-action-btn.save{background:var(--accent);color:#fff}.edit-action-btn.save:hover{background:var(--accent-hover)}.edit-action-btn.cancel{background:var(--bg-hover);color:var(--text-dim);border:1px solid var(--border)}.edit-action-btn.cancel:hover{border-color:var(--text-dim)}.typing-indicator{display:flex;gap:4px;padding:8px 0}.typing-indicator span{width:8px;height:8px;background:var(--text-dim);border-radius:50%;animation:typing 1.2s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.tool-progress{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.code-block{background:var(--bg-code);border-radius:var(--radius);margin:10px 0;overflow:hidden}.code-header{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:#ffffff0f;border-bottom:1px solid rgba(255,255,255,.08)}.code-lang{font-size:11px;color:var(--text-dim);text-transform:uppercase;font-weight:600}.code-actions{display:flex;gap:6px}.code-action-btn{background:none;border:1px solid rgba(255,255,255,.15);color:var(--text-dim);padding:2px 8px;border-radius:var(--radius-sm);font-size:10px;cursor:pointer}.code-action-btn:hover{border-color:var(--accent);color:var(--accent)}.code-block pre{padding:12px;overflow-x:auto;margin:0}.code-block code{font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--text-code)}.inline-code{background:var(--bg-hover);padding:1px 5px;border-radius:3px;font-family:var(--mono);font-size:.9em;color:var(--accent)}.hl-kw{color:#c678dd}.hl-str{color:#98c379}.hl-num{color:#d19a66}.hl-cmt{color:#5c6370;font-style:italic}.table-wrap{overflow-x:auto;margin:10px 0}.table-wrap table{width:100%;border-collapse:collapse;font-size:13px}.table-wrap th{text-align:left;padding:8px 10px;background:var(--bg-hover);font-weight:600;font-size:12px;border-bottom:2px solid var(--border)}.table-wrap td{padding:6px 10px;border-bottom:1px solid var(--border-light)}.table-wrap tr:nth-child(2n){background:var(--bg-hover)}.input-area-wrapper{border-top:1px solid var(--border);background:var(--bg-main)}.input-area{display:flex;align-items:flex-end;gap:8px;padding:12px 20px}.chat-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:var(--font);resize:none;outline:none;background:var(--bg-input);color:var(--text);min-height:42px;max-height:200px;line-height:1.4;transition:border-color .15s}.chat-input:focus{border-color:var(--accent)}.attach-btn{width:42px;height:42px;border-radius:var(--radius);background:none;border:1px solid var(--border);color:var(--text-dim);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.attach-btn:hover{border-color:var(--accent);color:var(--accent)}.send-btn{width:42px;height:42px;border-radius:var(--radius);background:var(--accent);color:#fff;border:none;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{opacity:.5;cursor:default}.attachment-bar{display:flex;flex-wrap:wrap;gap:6px;padding:8px 20px 0}.attachment-chip{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--accent-light);border-radius:var(--radius-sm);font-size:12px;color:var(--accent)}.attachment-name{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{font-size:10px;color:var(--text-dim)}.attachment-remove{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:0;line-height:1}.attachment-remove:hover{color:var(--danger)}.chat-area{position:relative}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#2563eb1a;border:2px dashed var(--accent);border-radius:var(--radius);z-index:10;display:flex;align-items:center;justify-content:center}.drop-message{background:var(--accent);color:#fff;padding:12px 24px;border-radius:var(--radius);font-size:14px;font-weight:500}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:100;display:flex;align-items:center;justify-content:center}.settings-panel{background:var(--bg-settings);border-radius:var(--radius-lg);width:480px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.settings-header h2{font-size:18px;font-weight:600}.close-btn{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-dim);padding:4px}.close-btn:hover{color:var(--text)}.settings-tabs{display:flex;padding:0 20px;border-bottom:1px solid var(--border)}.settings-tab{background:none;border:none;padding:10px 16px;font-size:13px;cursor:pointer;color:var(--text-dim);border-bottom:2px solid transparent;transition:all .15s}.settings-tab:hover{color:var(--text)}.settings-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.settings-body{padding:16px 20px}.settings-section{display:flex;flex-direction:column;gap:12px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.setting-row select,.setting-row input[type=range]{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text)}.setting-value{font-size:12px;color:var(--text-dim);min-width:40px;text-align:right}.setting-action{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-main);color:var(--text);cursor:pointer;font-size:13px;text-align:left;transition:all .15s}.setting-action:hover{border-color:var(--accent)}.setting-action.danger{border-color:var(--danger);color:var(--danger)}.setting-action.danger:hover{background:var(--danger);color:#fff}.server-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light)}.server-info{display:flex;align-items:center;gap:8px}.server-dot{width:8px;height:8px;border-radius:50%}.dot-on{background:var(--success)}.dot-off{background:var(--text-dim)}.server-name{font-size:13px;font-weight:500}.server-tools{font-size:11px;color:var(--text-dim)}.toggle-btn{padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-main);color:var(--text-dim);cursor:pointer;font-size:11px;transition:all .15s}.toggle-btn.on{border-color:var(--success);color:var(--success)}.toggle-btn:hover{border-color:var(--accent);color:var(--accent)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;background:var(--bg-sidebar);color:#fff}.loading-logo{height:48px;margin-bottom:8px;object-fit:contain}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dim{color:var(--text-dim);font-size:13px}.tool-call-wrapper{display:inline-flex;flex-direction:column}.meta-badge.tool.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.meta-badge.tool.clickable:hover{background:#fde68a}[data-theme=dark] .meta-badge.tool.clickable:hover{background:#d9770659}.tool-expand-icon{font-size:8px;margin-left:4px}.tool-detail{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;margin-top:4px;font-size:12px;max-width:500px}.tool-detail-row{display:flex;gap:8px;margin-bottom:4px;align-items:flex-start}.tool-detail-row:last-child{margin-bottom:0}.tool-detail-label{font-weight:600;color:var(--text-dim);min-width:60px;flex-shrink:0;font-size:11px;text-transform:uppercase}.tool-detail-value{color:var(--text);word-break:break-word}.tool-detail-json{font-family:var(--mono);font-size:11px;color:var(--text);background:var(--bg-code);padding:6px 8px;border-radius:var(--radius-sm);overflow-x:auto;max-height:200px;overflow-y:auto;margin:0;white-space:pre-wrap;color:var(--text-code)}.code-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:50;display:flex;justify-content:flex-end}.code-preview-panel{width:55%;max-width:800px;min-width:400px;height:100vh;background:var(--bg-code);display:flex;flex-direction:column;box-shadow:-4px 0 20px #0000004d;animation:slideInRight .2s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.code-preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ffffff0f;border-bottom:1px solid rgba(255,255,255,.08)}.code-preview-title{display:flex;align-items:center;gap:10px}.code-preview-info{font-size:12px;color:var(--text-dim)}.code-preview-actions{display:flex;align-items:center;gap:8px}.code-preview-close{background:none;border:1px solid rgba(255,255,255,.15);color:var(--text-dim);padding:4px 10px;border-radius:var(--radius-sm);font-size:14px;cursor:pointer}.code-preview-close:hover{border-color:var(--danger);color:var(--danger)}.code-preview-body{flex:1;overflow:auto;display:flex}.code-preview-lines{padding:12px 0;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;border-right:1px solid rgba(255,255,255,.08)}.line-number{padding:0 12px;font-family:var(--mono);font-size:12px;line-height:1.6;color:#fff3}.code-preview-code{flex:1;padding:12px;margin:0;overflow-x:auto}.code-preview-code code{font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--text-code)}.error-panel{padding:16px 20px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);margin:8px 0;text-align:center}.error-panel p{color:var(--text-dim);font-size:13px;margin-bottom:8px}.error-retry-btn{padding:6px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-main);color:var(--text);cursor:pointer;font-size:12px}.error-retry-btn:hover{border-color:var(--accent);color:var(--accent)}.stop-btn{background:var(--danger)!important}.stop-btn:hover{background:#b91c1c!important}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.message{animation:fadeInUp .2s ease-out}.settings-panel{animation:fadeIn .15s ease-out}.project-settings-panel{animation:slideInLeft .2s ease-out}.chat-item{transition:background .1s,padding-left .15s}@media(max-width:1024px){.sidebar{width:240px}.project-settings-panel{left:240px;width:280px}.code-preview-panel{width:70%;min-width:320px}}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;height:100vh;width:280px;z-index:40;box-shadow:var(--shadow-lg)}.sidebar.closed{transform:translate(-100%);width:280px}.sidebar.open{animation:slideInLeft .2s ease-out}.sidebar-toggle{z-index:35}.project-settings-panel{left:0;width:100%}.main{width:100%}.topbar{padding:10px 12px}.messages{padding:12px}.input-area{padding:8px 12px}.welcome{padding:20px}.quick-actions{grid-template-columns:1fr 1fr}.settings-panel{width:95vw;max-width:480px}.code-preview-panel{width:100%;min-width:0}.tool-detail{max-width:100%}}@media(max-width:480px){.quick-actions{grid-template-columns:1fr}.welcome h1{font-size:20px}.welcome-logo{height:48px}.attachment-bar{padding:6px 12px 0}.model-btn{font-size:11px;padding:4px 8px}}
