*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0a0f;--bg-secondary: #0f0f17;--bg-sidebar: #0d0d14;--bg-hover: #1a1a2e;--bg-active: #1e1e3a;--bg-input: #14141f;--bg-bubble-me: #2b5278;--bg-bubble-other: #1a1a2e;--bg-code: #0d1117;--text-primary: #e4e6eb;--text-secondary: #8e9297;--text-muted: #5c5f66;--accent: #5b9bd5;--accent-hover: #7ab3e8;--border: #1e1e2e;--green: #4caf50;--scrollbar: #2a2a3e}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:3px}.app{display:flex;height:100%;width:100%}.sidebar{width:320px;min-width:320px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100%;transition:transform .3s ease}.sidebar-header{padding:10px 12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}.hamburger{display:none;background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:4px 8px}.sidebar-header .search{flex:1;background:var(--bg-input);border:none;border-radius:20px;padding:8px 14px;color:var(--text-primary);font-size:13px;outline:none}.sidebar-header .search::placeholder{color:var(--text-muted)}.view-toggle-btn{background:none;border:1px solid var(--border);border-radius:6px;width:34px;height:34px;color:var(--text-secondary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.view-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-section{border-bottom:1px solid var(--border)}.section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#ffffff05;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.section-header:hover{background:var(--bg-hover)}.section-header-left{display:flex;align-items:center;gap:6px;min-width:0}.section-chevron{font-size:10px;color:var(--text-muted);transition:transform .2s;flex-shrink:0}.section-chevron.collapsed{transform:rotate(-90deg)}.section-title-group{display:flex;flex-direction:column;min-width:0}.section-name{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.section-dir{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-header-actions{display:flex;align-items:center;gap:4px}.section-add-btn{background:none;border:1px solid var(--border);border-radius:4px;width:22px;height:22px;color:var(--text-muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.section-add-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.section-menu-container{position:relative}.section-menu-btn{background:none;border:1px solid var(--border);border-radius:4px;width:22px;height:22px;color:var(--text-muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s;line-height:1}.section-menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.section-menu-dropdown{position:absolute;top:100%;right:0;z-index:100;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:4px 0;min-width:160px;box-shadow:0 8px 24px #0006;animation:menuFadeIn .15s ease}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.section-menu-dropdown button{display:block;width:100%;text-align:left;background:none;border:none;padding:6px 12px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:background .1s}.section-menu-dropdown button:hover{background:var(--bg-hover)}.section-menu-delete{color:#e74c3c!important}.section-menu-divider{height:1px;background:var(--border);margin:4px 0}.section-delete-confirm{padding:8px 12px}.section-delete-confirm span{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:6px}.section-delete-confirm-btns{display:flex;gap:6px}.section-delete-confirm-btns button{padding:4px 10px;border-radius:4px;font-size:12px;width:auto}.confirm-yes{background:#e74c3c!important;color:#fff!important}.confirm-yes:hover{background:#c0392b!important}.confirm-no{background:var(--bg-hover)!important}.section-rename-input{background:var(--bg-input);border:1px solid var(--accent);border-radius:4px;padding:2px 6px;color:var(--text-primary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;outline:none;width:120px}.section-content{overflow:hidden;max-height:2000px;transition:max-height .3s ease}.section-collapsed{max-height:0}.conv-actions-row{display:flex;align-items:center;gap:4px;flex-shrink:0}.conv-archive-btn{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:2px 4px;border-radius:3px;opacity:0;transition:opacity .15s,color .15s,background .15s;line-height:1}.conv-item:hover .conv-archive-btn{opacity:1}.conv-archive-btn:hover{color:#e74c3c;background:#e74c3c26}.sidebar-footer{border-top:1px solid var(--border);padding:8px 12px}.add-workspace-btn{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:4px 0;width:100%;text-align:left;transition:color .15s}.add-workspace-btn:hover{color:var(--text-secondary)}.add-workspace-form{display:flex;flex-direction:column;gap:6px}.add-workspace-form input{background:var(--bg-input);border:1px solid var(--border);border-radius:4px;padding:6px 8px;color:var(--text-primary);font-size:12px;outline:none}.add-workspace-form input:focus{border-color:var(--accent)}.add-workspace-btns{display:flex;gap:6px}.add-workspace-btns button{background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;padding:4px 10px;color:var(--text-primary);font-size:12px;cursor:pointer;transition:background .15s}.add-workspace-btns button:first-child{background:var(--accent);border-color:var(--accent)}.add-workspace-btns button:first-child:hover{background:var(--accent-hover)}.conv-item.compact{padding:4px 12px}.conv-item.compact .conv-avatar{width:24px;height:24px;font-size:14px}.compact-info{display:flex;align-items:center;justify-content:space-between}.conv-item.compact .conv-name{font-size:13px}.conv-item.compact .conv-time{font-size:10px}.conversation-list{flex:1;overflow-y:auto}.conv-item{display:flex;align-items:center;padding:10px 12px;gap:10px;cursor:pointer;transition:background .15s}.conv-item:hover{background:var(--bg-hover)}.conv-item.active{background:var(--bg-active)}.conv-avatar{width:42px;height:42px;border-radius:50%;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.conv-info{flex:1;min-width:0}.conv-top{display:flex;justify-content:space-between;align-items:baseline}.conv-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-time{font-size:11px;color:var(--text-muted);flex-shrink:0;margin-left:8px}.conv-preview{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.chat-area{flex:1;display:flex;flex-direction:column;height:100%;background:var(--bg-primary);position:relative;overflow:hidden}.chat-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;background:var(--bg-secondary)}.chat-header-back{display:none;background:none;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:4px}.chat-header-info h2{font-size:15px;font-weight:600}.chat-header-status{font-size:12px;color:var(--green)}.messages{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.msg-row{display:flex;max-width:75%}.msg-row.me{align-self:flex-end}.msg-row.other{align-self:flex-start}.msg-bubble{padding:8px 12px;border-radius:12px;position:relative;word-wrap:break-word;white-space:pre-wrap}.msg-row.me .msg-bubble{background:var(--bg-bubble-me);border-bottom-right-radius:4px}.msg-row.other .msg-bubble{background:var(--bg-bubble-other);border-bottom-left-radius:4px}.msg-sender{font-size:12px;font-weight:600;color:var(--accent);margin-bottom:2px}.msg-text{font-size:14px;line-height:1.45}.msg-text strong{font-weight:700}.msg-text em{font-style:italic}.msg-text code{background:var(--bg-code);padding:1px 4px;border-radius:3px;font-family:SF Mono,Fira Code,monospace;font-size:13px}.msg-code-block{background:var(--bg-code);border-radius:8px;padding:10px 12px;margin:4px 0;overflow-x:auto;font-family:SF Mono,Fira Code,monospace;font-size:13px;line-height:1.4;border:1px solid var(--border)}.msg-code-lang{font-size:11px;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase}.msg-voice{display:flex;align-items:center;gap:8px;color:var(--accent)}.msg-voice-bar{display:flex;align-items:center;gap:2px}.msg-voice-bar span{display:inline-block;width:3px;background:var(--accent);border-radius:2px}.msg-time{font-size:11px;color:var(--text-muted);text-align:right;margin-top:4px}.input-area{padding:8px 12px;border-top:1px solid var(--border);display:flex;align-items:flex-end;gap:8px;background:var(--bg-secondary)}.input-btn{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:6px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.input-btn:hover{color:var(--accent)}.input-area textarea{flex:1;background:var(--bg-input);border:none;border-radius:18px;padding:8px 14px;color:var(--text-primary);font-size:14px;font-family:inherit;resize:none;outline:none;max-height:120px;min-height:36px;line-height:1.4}.input-area textarea::placeholder{color:var(--text-muted)}.send-btn{background:var(--accent);border:none;border-radius:50%;width:36px;height:36px;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-btn:hover{background:var(--accent-hover)}.no-chat{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:16px}@media (max-width: 768px){.sidebar{position:absolute;z-index:10;width:100%;min-width:100%;transform:translate(0)}.sidebar.hidden{transform:translate(-100%)}.hamburger,.chat-header-back{display:block}.msg-row{max-width:90%}}.chat-header-clickable{cursor:pointer}.chat-header-clickable:hover{opacity:.8}.info-panel-overlay{position:absolute;top:0;right:0;bottom:0;width:0;z-index:100;pointer-events:none}.info-panel-overlay.open{width:100%;pointer-events:auto}.info-panel{position:absolute;top:0;right:0;bottom:0;width:320px;max-width:90%;background:#1e1e2e;border-left:1px solid #333;transform:translate(100%);transition:transform .25s ease;display:flex;flex-direction:column;z-index:101}.info-panel.open{transform:translate(0)}.info-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #333}.info-panel-header h3{color:#e0e0e0;font-size:16px;font-weight:600}.info-panel-close{background:none;border:none;color:#888;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px}.info-panel-close:hover{color:#fff;background:#333}.info-panel-body{padding:20px 16px;overflow-y:auto;flex:1}.info-panel-emoji-section{text-align:center;margin-bottom:24px}.info-panel-emoji{font-size:56px;cursor:pointer;display:inline-block;padding:8px;border-radius:12px;transition:background .15s}.info-panel-emoji:hover{background:#2a2a3e}.info-panel-emoji-input{font-size:48px;width:80px;text-align:center;background:#2a2a3e;border:1px solid #555;border-radius:8px;color:#fff;padding:4px}.info-panel-field{margin-bottom:20px}.info-panel-field label{display:block;color:#888;font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.info-panel-value{color:#e0e0e0;font-size:16px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s}.info-panel-value:hover{background:#2a2a3e}.info-panel-input{width:100%;background:#2a2a3e;border:1px solid #555;border-radius:6px;color:#e0e0e0;font-size:16px;padding:8px 10px;outline:none}.info-panel-input:focus{border-color:#7c6bf0}.info-panel-textarea{width:100%;background:#2a2a3e;border:1px solid #444;border-radius:6px;color:#e0e0e0;font-size:14px;padding:8px 10px;outline:none;resize:vertical;font-family:inherit;line-height:1.5}.info-panel-textarea:focus{border-color:#7c6bf0}.filter-toggle-btn{display:flex;align-items:center;gap:3px;font-size:14px;padding:4px 6px!important}.filter-label{font-size:10px;opacity:.7}.conv-item.conv-archived{opacity:.55}.conv-item.conv-archived .conv-name{color:#888}.conv-delete-btn{color:#e55!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.modal-dialog{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:1.5rem;max-width:360px;width:90%}.modal-dialog h3{color:#f1f5f9;margin:0 0 .5rem;font-size:1rem}.modal-dialog p{color:#94a3b8;font-size:.85rem;margin:0 0 1rem;line-height:1.4}.modal-btns{display:flex;gap:.5rem;justify-content:flex-end}.modal-btns .confirm-yes{background:#dc2626;color:#fff;border:none;padding:.4rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem}.modal-btns .confirm-yes:hover{background:#ef4444}.modal-btns .confirm-no{background:#334155;color:#94a3b8;border:none;padding:.4rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem}.modal-btns .confirm-no:hover{background:#475569}.conv-group{display:flex;flex-direction:column}.conv-parent-row{display:flex;align-items:stretch;cursor:pointer}.conv-parent-row>.conv-item{flex:1;min-width:0}.conv-children{padding-left:12px;border-left:2px solid #334155;margin-left:22px}.conv-item.conv-sub{padding-left:4px;opacity:.85}.conv-item.conv-sub .conv-name{font-size:.82rem}.conv-item.conv-sub .conv-avatar{width:28px;height:28px;font-size:13px}.conv-tree-line{color:#475569;font-size:.75rem;line-height:1;margin-right:2px;flex-shrink:0;align-self:center;font-family:monospace}.conv-parent-chevron{position:absolute;bottom:-2px;right:-4px;font-size:8px;color:#64748b;transition:transform .15s ease}.conv-parent-chevron.collapsed{transform:rotate(-90deg)}.conv-children-toggle{display:none}.input-area-readonly{justify-content:center!important;padding:.75rem 1rem!important}.subagent-readonly-label{color:#64748b;font-size:.85rem;text-align:center;-webkit-user-select:none;user-select:none}.conv-child-count{position:absolute;bottom:-2px;right:-4px;font-size:.6rem;font-weight:700;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#334155;color:#94a3b8}.conv-child-count.collapsed{background:#dc2626;color:#fff}.conv-avatar{position:relative}.settings-gear{position:fixed;top:.5rem;right:.5rem;z-index:1000;background:none;border:none;font-size:1.25rem;cursor:pointer;opacity:.5;transition:opacity .2s;padding:.25rem;line-height:1}.settings-gear:hover{opacity:1}.settings-modal{min-width:320px;position:relative}.settings-modal-close{position:absolute;top:.5rem;right:.75rem;background:none;border:none;color:#94a3b8;font-size:1.1rem;cursor:pointer}.settings-modal-close:hover{color:#f1f5f9}.settings-row{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.9rem}.settings-label{color:#94a3b8}.settings-value{color:#e2e8f0;font-family:monospace;font-size:.85rem}.settings-reset-btn{width:100%;padding:.5rem;background:#7f1d1d;color:#fca5a5;border:1px solid #991b1b;border-radius:6px;cursor:pointer;font-size:.9rem}.settings-reset-btn:hover{background:#991b1b}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;background:#2563eb26;border:3px dashed #3b82f6;border-radius:12px;display:flex;align-items:center;justify-content:center;pointer-events:none}.drop-overlay-content{font-size:1.3rem;color:#93c5fd;background:#0f172acc;padding:1rem 2rem;border-radius:12px}.input-btn.recording{animation:pulse-red 1s infinite;color:#ef4444}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.5}}.msg-image img{display:block;cursor:pointer}.msg-caption,.msg-voice-caption{margin-top:4px;font-size:.9rem;color:var(--text-primary, #e2e8f0)}.msg-file-link{display:flex;align-items:center;gap:8px;color:#60a5fa;text-decoration:none;padding:6px 0}.msg-file-link:hover{text-decoration:underline}.msg-file-icon{font-size:1.4rem}.msg-file-name{font-size:.9rem;word-break:break-all}
