.main-content{background-color:var(--bg-primary);display:flex;flex:1 1;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.main-content.expanded{width:calc(100vw - 60px)}.layout{background-color:#1a1a1a;flex-direction:column;width:100%}.layout,.layout-body{display:flex;height:100vh}.layout-body{flex:1 1;overflow:hidden}.login-container{align-items:center;background-color:#1a1a1a;display:flex;height:100vh;justify-content:center}.login-message{background:#2d2d2d;border:1px solid #404040;border-radius:12px;box-shadow:0 4px 16px #0000004d;padding:40px;text-align:center}.login-message h2{color:#fff;font-size:24px;font-weight:600;margin-bottom:16px}.login-message p{color:#999;font-size:14px}.chat-suggestions-wrapper{display:flex;flex-direction:column;gap:8px;margin:12px 0}.chat-depth-container,.chat-suggestions-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:background-color .3s ease,border-color .3s ease}.chat-depth-title,.chat-suggestions-title{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;font-weight:500;justify-content:space-between;padding:10px 16px;transition:background-color .3s ease,border-color .3s ease}.chat-depth-title span,.chat-suggestions-title span{align-items:center;color:var(--text-primary);display:flex;gap:8px;transition:color .3s ease}.chat-suggestions-minimize-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;height:24px;justify-content:center;padding:4px;transition:background-color .2s,color .3s ease;width:24px}.chat-suggestions-minimize-btn:hover{background-color:var(--bg-tertiary)}.chat-depth-list,.chat-suggestions-list{display:flex;flex-direction:column;gap:8px;padding:12px}.chat-depth-item,.chat-suggestion-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 12px;text-align:left;transition:all .2s}.chat-depth-item:hover,.chat-suggestion-item:hover{background:var(--bg-tertiary);border-color:var(--border-color-hover)}.chat-suggestions-title .fa-lightbulb{color:#ffc107;transition:color .3s ease}.chat-depth-title .fa-search-plus{color:var(--accent-color);transition:color .3s ease}.chat-depth-container.chat-suggestions-minimized,.chat-suggestions-container.chat-suggestions-minimized{border-radius:8px}.chat-depth-container.chat-suggestions-minimized .chat-depth-list,.chat-suggestions-container.chat-suggestions-minimized .chat-suggestions-list{display:none}.prompt-container,.prompt-input-container{position:relative;width:100%}.prompt-container{background-color:#f8f9fa;box-shadow:0 2px 8px #0000001a;gap:8px;padding:8px}.prompt-box{background-color:#fff;border:2px solid #e1e5e9;border-radius:8px;font-family:inherit;font-size:16px;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.prompt-box:disabled{color:#999}.send-btn{background:linear-gradient(135deg,#007acc,#06a);flex-shrink:0;font-size:16px;height:44px;width:44px}.send-btn:hover:not(:disabled){background:linear-gradient(135deg,#06a,#058)}.send-btn:disabled{background:#e1e5e9;box-shadow:none;color:#999;transform:none}.autocomplete-dropdown{animation:fadeInUp .2s ease-out;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;bottom:100%;box-shadow:0 8px 24px var(--shadow-color);left:8px;margin-bottom:8px;max-height:400px;overflow:hidden;position:absolute;right:8px;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;z-index:1000}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.autocomplete-header{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);color:var(--text-secondary);display:flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.autocomplete-count{align-items:center;display:flex;gap:6px}.autocomplete-count:before{content:"🔍";font-size:14px}.autocomplete-loading{align-items:center;color:var(--accent-color);display:flex;gap:8px}.loading-spinner{animation:spin 1s linear infinite;border-top:2px solid var(--border-color);border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-color);height:14px;width:14px}.autocomplete-list{max-height:350px;overflow-y:auto;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.autocomplete-list::-webkit-scrollbar{width:6px}.autocomplete-list::-webkit-scrollbar-track{background:var(--scrollbar-track)}.autocomplete-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.autocomplete-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.autocomplete-item{border-bottom:1px solid var(--border-color);cursor:pointer;padding:12px 16px;transition:background-color .15s ease-in-out}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item.selected,.autocomplete-item:hover{background-color:var(--bg-tertiary)}.autocomplete-item.selected{background-color:#007bff1a;border-left:3px solid var(--accent-color)}.suggestion-main{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px}.field-name{color:var(--text-primary);font-size:14px;font-weight:600;transition:color .3s ease}.table-name{background-color:#007bff1a;border-radius:12px;color:var(--accent-color);font-size:12px;font-weight:500;padding:2px 8px;transition:color .3s ease,background-color .3s ease}.suggestion-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:12px;line-height:1.4;margin-top:4px;overflow:hidden;transition:color .3s ease}@media (max-width:768px){.prompt-container{gap:6px;padding:6px}.prompt-box{font-size:14px;padding:10px 12px}.send-btn{font-size:14px;height:40px;width:40px}.autocomplete-dropdown{max-height:300px}.autocomplete-item{padding:12px}.suggestion-main{align-items:flex-start;flex-direction:column;gap:8px}.table-name{font-size:11px}}.send-btn i{transition:transform .2s ease}.send-btn:hover:not(:disabled) i{transform:rotate(-5deg)}.structured-response-renderer{width:100%}.structured-response-renderer .response-summary{border-radius:4px;margin-top:12px}.structured-response-renderer .sql-container{border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:relative}.structured-response-renderer .sql-container.collapsed .sql-code-block{display:none}.structured-response-renderer .toggle-sql-btn{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-secondary)}.structured-response-renderer .toggle-sql-btn:hover:not(:disabled){background:var(--border-color-hover);border-color:var(--border-color-hover);color:var(--text-primary)}.structured-response-renderer .sql-actions{align-items:center;display:flex;justify-content:space-between;padding:8px 16px}.structured-response-renderer .sql-query-section{margin-top:12px}.structured-response-renderer .sql-actions-left,.structured-response-renderer .sql-actions-right{align-items:center;display:flex;gap:8px}.structured-response-renderer .sql-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;gap:4px;padding:6px 12px;transition:all .2s ease}[data-theme=light] .structured-response-renderer .sql-btn{border-color:#d1d5db}[data-theme=dark] .structured-response-renderer .sql-btn{border-color:#4b5563}.structured-response-renderer .sql-btn:hover:not(:disabled){background:var(--border-color-hover);border-color:var(--border-color-hover);color:var(--text-primary)}.structured-response-renderer .sql-btn:disabled{background:var(--bg-tertiary);cursor:not-allowed;opacity:.5}.structured-response-renderer .run-sql-btn{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-secondary)}.structured-response-renderer .run-sql-btn:hover:not(:disabled){background:var(--border-color-hover);border-color:var(--border-color-hover);color:var(--text-primary)}.structured-response-renderer .copy-sql-btn{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-secondary)}.structured-response-renderer .copy-sql-btn:hover:not(:disabled){background:var(--border-color-hover);border-color:var(--border-color-hover);color:var(--text-primary)}.structured-response-renderer .sql-code-block{background-color:#f8f9fa;border:none;border-radius:0;margin:0;padding:0}.structured-response-renderer .sql-editable{word-wrap:break-word;background-color:initial;border:0!important;color:#fff;display:block;font-family:ArtifaktElement;font-size:12px;line-height:1.4;min-height:60px;outline:none;padding:16px;white-space:pre-wrap}.structured-response-renderer .sql-editable:focus{background-color:#fff}.structured-response-renderer .sql-result{margin-top:16px}.structured-response-renderer .sql-result h4{font-family:ArtifaktElement;font-weight:600;margin-bottom:12px}.structured-response-renderer .results-section{margin:16px 0}.structured-response-renderer .results-section h4{font-family:ArtifaktElement;font-weight:500;margin-bottom:12px}.structured-response-renderer .response-analysis{padding:12px 0}.structured-response-renderer .markdown-body{color:#e6edf3;font-family:ArtifaktElement;font-size:13px;line-height:1.6}.structured-response-renderer .results-table{background:#e6edf3;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:16px 0;overflow:hidden;width:100%}.structured-response-renderer .results-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#fff;font-family:ArtifaktElement;font-size:14px;font-weight:600;overflow-wrap:anywhere;padding:8px 12px;text-align:left}.structured-response-renderer .results-table td{border-bottom:1px solid #dee2e6;color:#fff;font-family:ArtifaktElement;font-size:14px;padding:8px 12px}.structured-response-renderer .results-table tbody tr:last-child td{border-bottom:none}.structured-response-renderer .table-container{margin:16px 0;position:relative}.structured-response-renderer .table-info-banner{align-items:center;background-color:#e3f2fd;border:1px solid #90caf9;border-radius:6px;color:#1565c0;display:flex;font-size:14px;justify-content:space-between;margin-bottom:12px;padding:10px 15px}[data-theme=dark] .structured-response-renderer .table-info-banner{background-color:#1e3a5f;border-color:#2196f3;color:#90caf9}.structured-response-renderer .show-all-btn{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:background-color .2s ease}.structured-response-renderer .show-all-btn:hover,[data-theme=dark] .structured-response-renderer .show-all-btn{background-color:#1976d2}[data-theme=dark] .structured-response-renderer .show-all-btn:hover{background-color:#1565c0}.structured-response-renderer .table-actions{display:flex;justify-content:flex-end;margin-top:8px}.structured-response-renderer .export-csv-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s ease}[data-theme=light] .structured-response-renderer .export-csv-btn{border-color:#d1d5db}[data-theme=dark] .structured-response-renderer .export-csv-btn{border-color:#4b5563}.structured-response-renderer .export-csv-btn:hover{background:var(--border-color-hover);border-color:var(--border-color-hover);color:var(--text-primary)}.structured-response-renderer .export-csv-btn i{font-size:12px}@media (max-width:768px){.structured-response-renderer .results-table{font-size:12px}.structured-response-renderer .results-table td,.structured-response-renderer .results-table th{padding:8px 12px}.structured-response-renderer .export-csv-btn{font-size:12px;padding:6px 12px}}.drawer-backdrop{animation:fadeIn .3s ease forwards;background:#00000080;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{to{opacity:1}}.right-drawer{background:var(--bg-primary);border-left:1px solid var(--border-color);box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:500px;z-index:1001}.right-drawer.open{animation:slideIn .3s ease;transform:translateX(0)}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.drawer-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.drawer-header h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.close-btn{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:18px;height:32px;transition:all .2s ease;width:32px}.close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.drawer-content{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.section-header{align-items:center;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;justify-content:space-between;padding:12px 24px;transition:all .2s ease}.section-header span,.section-header:hover{color:var(--text-primary)}.section-header span{font-size:16px;font-weight:600}.section-header i{color:var(--text-secondary);font-size:14px;transition:transform .2s ease}.summary-section{flex-shrink:0}.summary-content{display:flex;flex-direction:column;gap:16px}.summary-generate-btn{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;justify-content:center;padding:14px 20px;width:100%}.summary-generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085)}.summary-generate-btn:active:not(:disabled){transform:translateY(0)}.summary-generate-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.7}.summary-generate-btn:disabled,.summary-generate-btn:disabled:hover{background:#6c757d;transform:none}.summary-display{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:14px;line-height:1.6;min-height:120px;padding:20px}.summary-content-display{width:100%}.summary-header{border-bottom:1px solid var(--border-color);color:var(--text-primary);gap:10px;margin-bottom:16px;padding-bottom:12px}.summary-header i{color:#007bff;font-size:16px}.summary-text{display:flex;flex-direction:column;gap:12px}.summary-bullet,.summary-item{display:flex;flex-direction:column;gap:6px}.summary-bullet strong,.summary-item strong{color:var(--text-primary);font-size:15px;font-weight:600}.summary-bullet span,.summary-item span{color:var(--text-secondary);line-height:1.5;margin-left:0}.summary-sub-bullet{font-size:13px;line-height:1.4;margin-left:20px}.summary-text-line{color:var(--text-primary);line-height:1.5}.summary-placeholder{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center;padding:30px 20px;text-align:center}.summary-placeholder i{color:#007bff;font-size:40px;margin-bottom:16px;opacity:.5}.summary-placeholder p{font-size:16px;font-weight:500;margin:0 0 8px}.summary-placeholder small{font-size:13px;line-height:1.4;opacity:.7}.recent-section{flex:1 1;min-height:0}.conversation-list{display:flex;flex-direction:column;gap:0;overflow-y:auto;padding:12px 24px}.conversation-list::-webkit-scrollbar{width:6px}.conversation-list::-webkit-scrollbar-track{background:#0000}.conversation-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.conversation-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.conversation-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin-bottom:12px;transition:all .2s ease}.conversation-item:hover{background:var(--bg-tertiary);border-color:var(--border-color-hover)}.conversation-content{align-items:center;cursor:pointer;display:flex;gap:12px;padding:8px 12px}.conversation-text{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--text-primary);display:-webkit-box;flex:1 1;font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word}.empty-state,.error-state,.loading-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-size:14px;justify-content:center;padding:40px 20px;text-align:center}.empty-state i,.error-state i,.loading-state i{font-size:28px;margin-bottom:12px;opacity:.6}.loading-state i{color:#007bff}.error-state i{color:#dc3545}.empty-state i{color:var(--text-secondary)}@media (max-width:768px){.right-drawer{max-width:400px;width:100vw}.conversation-list{max-height:300px}}[data-theme=dark] .right-drawer{background-color:#1a1a1a;border-left-color:#404040}[data-theme=dark] .drawer-header{background-color:#2d2d2d;border-bottom-color:#404040}[data-theme=dark] .conversation-item,[data-theme=dark] .summary-display{background-color:#2d2d2d;border-color:#404040}[data-theme=dark] .conversation-item:hover{background-color:#3a3a3a;border-color:#555}[data-theme=light] .right-drawer{background-color:#fff;border-left-color:#e5e7eb}[data-theme=light] .drawer-header{background-color:#f9fafb;border-bottom-color:#e5e7eb}[data-theme=light] .conversation-item,[data-theme=light] .summary-display{background-color:#f9fafb;border-color:#e5e7eb}[data-theme=light] .conversation-item:hover{background-color:#f3f4f6;border-color:#d1d5db}.chat-area{background-color:var(--bg-primary);display:flex;flex-direction:column;height:100%;transition:background-color .3s ease}.chat-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-direction:column;justify-content:space-between;padding:12px 24px}.chat-header,.role-indicator{align-items:center;display:flex;gap:12px}.role-indicator{width:100%}.role-indicator .role-badge{background:var(--accent-color);border-radius:6px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px;text-transform:uppercase}.role-description,.role-info{color:var(--text-secondary);font-size:.9rem}.role-info{margin-top:8px}.content-area{background-color:var(--bg-primary);display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:24px;transition:background-color .3s ease}.welcome-message{padding:60px 20px;text-align:center}.welcome-message,.welcome-message h2{color:var(--text-primary);transition:color .3s ease}.welcome-message h2{font-size:28px;font-weight:600;margin-bottom:16px}.welcome-message p{color:var(--text-muted);font-size:16px;margin-bottom:12px;transition:color .3s ease}.error-message{color:var(--text-primary);flex-direction:column;justify-content:center;min-height:300px;padding:80px 20px;text-align:center}.error-message,.error-message h2{align-items:center;display:flex;transition:color .3s ease}.error-message h2{font-weight:600;gap:12px;margin-bottom:20px}.error-message p{color:var(--text-muted);font-size:16px;line-height:1.6;margin-bottom:16px;transition:color .3s ease}.error-message .error-info{color:var(--text-secondary);font-size:14px;font-style:italic;transition:color .3s ease}.connected{color:#00d26a;font-weight:600}.disconnected{color:#ff6b6b;font-weight:600}.messages-container{display:flex;flex-direction:column;gap:16px;padding:10px 0}.message{margin-bottom:16px;max-width:85%}.user-message{align-self:flex-end}.bot-message{align-self:flex-start;min-width:580px;width:75%}.user-content{background:linear-gradient(135deg,#007bff,#0056b3);border-radius:16px 16px 4px 16px;box-shadow:0 2px 8px #007bff4d;color:#fff;font-size:14px;line-height:1.4;padding:12px 16px}.bot-message-container{align-items:flex-start;display:flex;gap:8px;position:relative}.bot-message-container:hover .remove-chat-btn{opacity:1;visibility:visible}.bot-content{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px 16px 16px 16px;color:var(--text-primary);flex:1 1;font-size:14px;line-height:1.5;padding:16px;position:relative;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.summary-header{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border:1px solid #007bff;border-radius:6px;color:#fff;display:flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:12px;padding:8px 12px}.summary-header i{font-size:14px}.summary-content{background:var(--bg-primary);border-radius:8px;color:var(--text-secondary);line-height:1.6;overflow-wrap:anywhere;padding:12px 22px;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.summary-text{font-size:14px}.summary-item{margin-bottom:12px;padding-left:0}.summary-item strong{color:var(--text-primary);display:block;font-weight:600;margin-bottom:4px}.summary-item span{color:var(--text-secondary);display:block;margin-left:0}.summary-bullet{margin-bottom:12px;padding-left:0}.summary-bullet strong{color:var(--text-primary);display:block;font-weight:600;margin-bottom:4px}.summary-bullet span{color:var(--text-secondary);display:block;margin-left:0}.summary-sub-bullet{color:var(--text-secondary);font-size:14px;margin-bottom:6px;padding-left:20px;position:relative}.summary-sub-bullet:before{color:var(--accent-color);content:"•";font-weight:700;left:0;position:absolute}.summary-line{color:var(--text-secondary);margin-bottom:8px}.summary-line strong{color:var(--text-primary);font-weight:600}.bot-response{margin-bottom:12px}.bot-response strong{color:var(--text-primary);font-weight:600;transition:color .3s ease}.bot-response em{font-style:italic}.bot-response .markdown-body,.bot-response em{color:var(--text-secondary);transition:color .3s ease}.bot-response .markdown-body table{background:var(--bg-primary);border:1px solid var(--border-color);font-size:13px;margin:12px 0;transition:background-color .3s ease,border-color .3s ease}.bot-response .markdown-body th{background-color:var(--bg-secondary)!important;border-color:var(--border-color);color:var(--text-primary)!important;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.bot-response .markdown-body td{border-color:var(--border-color);color:var(--text-secondary)!important;transition:color .3s ease,border-color .3s ease}.bot-response .markdown-body tr:nth-child(2n){background-color:var(--bg-secondary);transition:background-color .3s ease}.bot-response .markdown-body pre{background-color:var(--bg-primary)!important;border:1px solid var(--border-color)!important;color:var(--text-secondary);max-width:100%;overflow-x:auto;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.bot-response .markdown-body pre code{background-color:initial!important;color:var(--text-secondary)!important;transition:color .3s ease}.bot-response .markdown-body code{background-color:var(--bg-secondary)!important;border:1px solid var(--border-color);color:var(--accent-color)!important;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.bot-response .markdown-body h1,.bot-response .markdown-body h2,.bot-response .markdown-body h3{border-bottom-color:var(--border-color);color:var(--text-primary);transition:color .3s ease,border-bottom-color .3s ease}.bot-response .markdown-body p{margin:8px 0}.bot-response .markdown-body a{color:var(--accent-color);transition:color .3s ease}.bot-response .markdown-body blockquote{border-left-color:var(--border-color);color:var(--text-muted);transition:color .3s ease,border-left-color .3s ease}.code-block{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:13px;margin:12px 0;overflow-x:auto;padding:16px;position:relative;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.code-block pre{margin:0;white-space:pre-wrap;word-break:break-word}.message-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.message-actions-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;height:32px;justify-content:center;padding:6px 12px;transition:all .2s ease;width:32px}.message-actions-btn i{font-size:16px}[data-theme=light] .message-actions-btn{border-color:#d1d5db}[data-theme=dark] .message-actions-btn{border-color:#4b5563}.message-actions-btn:hover{background:var(--border-color-hover);border-color:var(--border-color-hover);color:var(--text-primary)}.like-btn.active{background:#007bff;border-color:#007bff;color:#fff}.dislike-btn.active{background:#e53e3e;border-color:#e53e3e;color:#fff}.graph-btn.loading{cursor:not-allowed;opacity:.7}.graph-btn:disabled{cursor:not-allowed;opacity:.5}.graph-btn.loading:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.graph-btn.generated{background:var(--accent-color);border-color:var(--accent-color);color:#fff;cursor:default}.inline-visualization{margin-top:12px;width:100%}.inline-visualization .visualization-container{margin:0}.mark-btn.marked{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.mark-btn.marked:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.loading-message{background:var(--bg-tertiary);border-radius:8px;color:var(--text-secondary);font-style:italic;gap:12px;margin:8px 0;padding:16px;transition:background-color .3s ease,color .3s ease}.input-area,.loading-message{align-items:center;display:flex}.input-area{background:var(--bg-primary);border-top:1px solid var(--border-color);gap:8px;padding:24px;transition:background-color .3s ease,border-color .3s ease}.chat-controls{display:flex;gap:12px;justify-content:flex-end;margin-bottom:12px;padding:0 4px}.summary-btn{align-items:center;background:var(--accent-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:all .2s ease}.summary-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.summary-btn:disabled{background:var(--bg-tertiary);cursor:not-allowed;transform:none}.prompt-container{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;display:flex;padding:4px;transition:all .2s ease}.prompt-container:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px #007bff1a}.prompt-box{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:14px;line-height:1.4;max-height:120px;min-height:20px;outline:none;padding:12px 16px;resize:none;transition:color .3s ease}.prompt-box::placeholder{color:var(--text-muted);transition:color .3s ease}.prompt-box:disabled{color:var(--text-muted);cursor:not-allowed}.send-btn{align-items:center;background:var(--accent-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;justify-content:center;margin-left:8px;padding:10px 12px;transition:all .2s ease}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.drawer-toggle-btn{align-items:center;background:linear-gradient(135deg,#6c757d,#495057);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:44px;justify-content:center;width:44px}.drawer-toggle-btn:hover{background:linear-gradient(135deg,#495057,#343a40)}.drawer-toggle-btn:active{transform:translateY(0)}.drawer-toggle-btn i{font-size:16px;transition:transform .2s ease}.drawer-toggle-btn:hover i{transform:rotate(15deg)}.remove-chat-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;margin-top:4px;opacity:0;visibility:hidden;width:32px;z-index:10}.remove-chat-btn:hover{background:var(--bg-secondary);color:var(--primary-color)}.message-actions-btn:disabled{cursor:not-allowed;opacity:.5}.message-actions-btn:disabled:hover{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-secondary)}.chat-title-section{flex:1 1;justify-content:space-between}.chat-title-container,.chat-title-section,.title-display-container{align-items:center;display:flex;gap:8px}.title-display-container{flex:1 1}.chat-title{color:var(--text-primary);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;margin:0;transition:color .3s ease}.chat-title:hover{color:var(--accent-color)}.title-edit-btn{background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;opacity:.7;padding:4px;transition:all .2s ease}.title-edit-btn:hover{background:var(--bg-tertiary);color:var(--accent-color);opacity:1}.title-edit-container{align-items:center;display:flex;flex:1 1;gap:8px}.title-edit-input{background:var(--bg-primary);border:none;border-radius:4px;color:var(--text-primary);flex:1 1;font-size:13px;font-weight:600;outline:none;padding:4px 8px;transition:all .2s ease}.title-edit-input:focus{box-shadow:0 0 0 3px #007bff1a}.title-edit-input:disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.6}.title-edit-actions{display:flex;gap:4px}.title-cancel-btn,.title-save-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px 8px;transition:all .2s ease}.title-save-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.title-cancel-btn:hover{background:#e53e3e;border-color:#e53e3e;color:#fff}.title-cancel-btn:disabled,.title-save-btn:disabled{background:var(--bg-secondary);color:var(--text-disabled);cursor:not-allowed;opacity:.6}.title-cancel-btn:disabled:hover,.title-save-btn:disabled:hover{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-disabled)}.chat-date{color:var(--text-secondary);font-size:13px;font-weight:400;margin-left:0}.markdown-body{color:inherit;font-family:Aptos,sans-serif}.markdown-body table{border-collapse:collapse;font-family:Aptos,sans-serif;font-size:13px;margin:12px 0;width:100%}.markdown-body th{background-color:#0a0a0a;color:#fff;font-weight:700;padding:8px 12px}.markdown-body td,.markdown-body th{border:1px solid #ddd;text-align:left}.markdown-body td{padding:9px 12px}.markdown-body pre{word-wrap:normal;background-color:#f8f9fa;border:1px solid #e1e4e8;border-radius:6px;margin:12px 0;overflow-x:auto;padding:16px;white-space:pre}.markdown-body pre code{background-color:initial;border-radius:0;font-family:Courier New,monospace;font-size:13px;overflow-wrap:normal;padding:0;white-space:pre;word-break:normal}.markdown-body code{background-color:#f1f3f4;border-radius:3px;font-family:Courier New,monospace;font-size:12px;padding:2px 4px}.markdown-body strong{font-weight:700}.markdown-body em{font-style:italic}.App{background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.App,.app-container{display:flex;height:100vh;overflow:hidden;width:100%}.app-content{align-items:"center";display:"flex";font-size:"18px";height:"100vh";justify-content:"center"}.error{background-color:var(--bg-tertiary);border:1px solid #ff6b6b;border-radius:8px;color:#ff6b6b;margin:10px 0;padding:12px}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#1a1a1a;--bg-secondary:#2a2a2a;--bg-tertiary:#2d2d2d;--text-primary:#fff;--text-secondary:#ccc;--text-muted:#999;--border-color:#333;--border-color-hover:#404040;--accent-color:#007bff;--accent-hover:#0056b3;--shadow-color:#0006;--scrollbar-track:#2d2d2d;--scrollbar-thumb:#555;--scrollbar-thumb-hover:#666}body{color:#fff;color:var(--text-primary);line-height:1.5;padding:0;transition:background-color .3s ease,color .3s ease}#root,body{background-color:#1a1a1a;background-color:var(--bg-primary)}#root{height:100vh;width:100%}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#2d2d2d;background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:#555;background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#666;background:var(--scrollbar-thumb-hover)}.flex{display:flex}.flex-col{flex-direction:column}.justify-center{justify-content:center}.items-center{align-items:center}.w-full{width:100%}.h-full{height:100%}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinner{animation:spin 1s linear infinite;border:2px solid #999;border-top:2px solid #007bff;border:2px solid var(--text-muted);border-radius:50%;border-top-color:var(--accent-color);height:20px;width:20px}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#2d2d2d;background:var(--bg-tertiary);border:1px solid #333;border:1px solid var(--border-color);color:#fff;color:var(--text-primary)}.btn-secondary:hover{background:#404040;background:var(--border-color-hover)}.btn-ghost{background:#0000;border:1px solid #0000;color:#999;color:var(--text-muted)}.btn-ghost:hover{background:#2d2d2d;background:var(--bg-tertiary);color:#fff;color:var(--text-primary)}a,body,h1,h2,h3,h4,h5,h6,p{font-family:ArtifaktElement;margin:0}a,h1,h2,h3,h4,h5,h6,p{padding:0}button,input,textarea{font-family:ArtifaktElement}@font-face{font-family:ArtifaktElement;font-style:normal;font-weight:400;src:local("Artifakt Element Regular"),local("ArtifaktElement-Regular"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/WOFF2/Artifakt%20Element%20Regular.woff2) format("woff2"),local("Artifakt Element Regular"),local("ArtifaktElement-Regular"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/WOFF/Artifakt%20Element%20Regular.woff) format("woff"),local("Artifakt Element Regular"),local("ArtifaktElement-Regular"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/TTF/Artifakt%20Element%20Regular.ttf) format("truetype")}@font-face{font-family:ArtifaktElement;font-style:normal;font-weight:600;src:local("Artifakt Element Semi Bold"),local("ArtifaktElement-SemiBold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/WOFF2/Artifakt%20Element%20Semi%20Bold.woff2) format("woff2"),local("Artifakt Element Semi Bold"),local("ArtifaktElement-SemiBold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/WOFF/Artifakt%20Element%20Semi%20Bold.woff) format("woff"),local("Artifakt Element Semi Bold"),local("ArtifaktElement-SemiBold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/TTF/Artifakt%20Element%20Semi%20Bold.ttf) format("truetype")}@font-face{font-family:ArtifaktElement;font-style:normal;font-weight:700;src:local("Artifakt Element Bold"),local("ArtifaktElement-Bold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/WOFF2/Artifakt%20Element%20Bold.woff2) format("woff2"),local("Artifakt Element Bold"),local("ArtifaktElement-Bold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/WOFF/Artifakt%20Element%20Bold.woff) format("woff"),local("Artifakt Element Bold"),local("ArtifaktElement-Bold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/TTF/Artifakt%20Element%20Bold.ttf) format("truetype")}@font-face{font-family:ArtifaktElement;font-style:italic;font-weight:400;src:local("Artifakt Element Regular"),local("ArtifaktElement-Regular"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/WOFF2/Artifakt%20Element%20Italic.woff2) format("woff2"),local("Artifakt Element Regular"),local("ArtifaktElement-Regular"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/WOFF/Artifakt%20Element%20Italic.woff) format("woff"),local("Artifakt Element Regular"),local("ArtifaktElement-Regular"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/TTF/Artifakt%20Element%20Italic.ttf) format("truetype")}@font-face{font-family:ArtifaktElement;font-style:italic;font-weight:600;src:local("Artifakt Element Semi Bold"),local("ArtifaktElement-SemiBold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/WOFF2/Artifakt%20Element%20Semi%20Bold%20Italic.woff2) format("woff2"),local("Artifakt Element Semi Bold"),local("ArtifaktElement-SemiBold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/WOFF/Artifakt%20Element%20Semi%20Bold%20Italic.woff) format("woff"),local("Artifakt Element Semi Bold"),local("ArtifaktElement-SemiBold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/TTF/Artifakt%20Element%20Semi%20Bold%20Italic.ttf) format("truetype")}@font-face{font-family:ArtifaktElement;font-style:italic;font-weight:700;src:local("Artifakt Element Bold"),local("ArtifaktElement-Bold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/WOFF2/Artifakt%20Element%20Bold%20Italic.woff2) format("woff2"),local("Artifakt Element Bold"),local("ArtifaktElement-Bold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/WOFF/Artifakt%20Element%20Bold%20Italic.woff) format("woff"),local("Artifakt Element Bold"),local("ArtifaktElement-Bold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktElement/v1.0/TTF/Artifakt%20Element%20Bold%20Italic.ttf) format("truetype")}@font-face{font-family:ArtifaktLegend;font-style:normal;font-weight:800;src:local("Artifakt Legend Extra Bold"),local("ArtifaktLegend-ExtraBold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktLegend/v1.0/WOFF2/Artifakt%20Legend%20Extra%20Bold.woff2) format("woff2"),local("Artifakt Legend Extra Bold"),local("ArtifaktLegend-ExtraBold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktLegend/v1.0/WOFF/Artifakt%20Legend%20Extra%20Bold.woff) format("woff"),local("Artifakt Legend Extra Bold"),local("ArtifaktLegend-ExtraBold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktLegend/v1.0/TTF/Artifakt%20Legend%20Extra%20Bold.ttf) format("truetype")}@font-face{font-family:ArtifaktLegend;font-style:italic;font-weight:800;src:local("Artifakt Legend Extra Bold"),local("ArtifaktLegend-ExtraBold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktLegend/v1.0/WOFF2/Artifakt%20Legend%20Black%20Italic.woff2) format("woff2"),local("Artifakt Legend Extra Bold"),local("ArtifaktLegend-ExtraBold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktLegend/v1.0/WOFF/Artifakt%20Legend%20Black%20Italic.woff) format("woff"),local("Artifakt Legend Extra Bold"),local("ArtifaktLegend-ExtraBold"),url(https://swc.autodesk.com/pharmacopeia/fonts/ArtifaktLegend/v1.0/TTF/Artifakt%20Legend%20Black%20Italic.ttf) format("truetype")}