.navbar{box-shadow:0 2px 4px rgba(0,0,0,0.1);background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%) !important}.navbar-brand{font-weight:600;font-size:1.5rem}.navbar-text{color:rgba(255,255,255,0.9) !important;font-weight:500}.btn-outline-light{border-color:rgba(255,255,255,0.5);color:white;transition:all 0.3s ease}.btn-outline-light:hover{background-color:rgba(255,255,255,0.1);border-color:white;color:white;transform:translateY(-1px)}.navbar img{filter:drop-shadow(0 2px 4px rgba(0,0,0,0.1));transition:transform 0.3s ease}.navbar img:hover{transform:scale(1.05)}:root{--primary-color:#6b7280;--primary-dark:#4b5563;--primary-light:#9ca3af;--secondary-color:#f9fafb;--border-color:#e5e7eb;--text-dark:#111827;--text-muted:#6b7280;--success-color:#10b981;--warning-color:#f59e0b;--danger-color:#ef4444;--accent-color:#3b82f6;--accent-light:rgb(245,248,248)}body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background-color:var(--secondary-color);margin:0;padding:0;height:100vh;overflow:hidden}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);display:flex;flex-direction:column;justify-content:center;align-items:center;color:white;z-index:9999}.login-screen{min-height:100vh;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;padding:2rem}.login-container{background:rgba(255,255,255,0.95);border-radius:20px;padding:3rem;box-shadow:0 20px 40px rgba(0,0,0,0.1);backdrop-filter:blur(10px);max-width:500px;width:100%}.login-form{margin-top:2rem}.login-screen .btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border:none;padding:1rem 2rem;border-radius:12px;font-weight:600;transition:all 0.3s ease;box-shadow:0 4px 12px rgba(71,85,105,0.3)}.login-screen .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(71,85,105,0.4);background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-color) 100%)}.login-screen .alert-info{background-color:rgba(71,85,105,0.1);border-color:rgba(71,85,105,0.2);color:var(--primary-dark);border-radius:12px;padding:1rem}.login-screen .bi-robot{color:var(--primary-color);font-size:4rem;margin-bottom:1rem}.login-screen h2{color:var(--text-dark);font-weight:700;margin-bottom:0.5rem}.login-screen .text-muted{color:var(--text-muted) !important;font-size:1.1rem}.main-app{height:100vh;display:flex;flex-direction:column}.chat-messages{contain:content}.sidebar{background-color:var(--secondary-color);border-right:1px solid var(--border-color);height:calc(100vh - 56px);overflow-y:auto;overflow-x:visible;scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar{display:none}.smart-model-info{background:rgba(13,110,253,0.05);border:1px solid rgba(13,110,253,0.1);border-radius:8px;padding:0.75rem;margin-bottom:0.5rem}.smart-model-info .bi-brain{color:var(--primary-color)}.message-footer{display:flex;justify-content:space-between;align-items:center;margin-top:0.5rem;padding-top:0.25rem;border-top:1px solid rgba(0,0,0,0.05)}.model-indicator{font-size:0.75rem;opacity:0.7}.model-indicator .bi-cpu{color:var(--primary-color)}.chat-sessions{background:var(--secondary-color);height:100vh;overflow-y:auto;overflow-x:visible;padding:1rem;scrollbar-width:none;-ms-overflow-style:none}.chat-sessions::-webkit-scrollbar{display:none}.chat-sessions h5{color:var(--text-dark);margin-bottom:1rem;font-weight:600;border-bottom:2px solid var(--primary-color);padding-bottom:0.5rem}.chat-session-item{background:white;border:1px solid var(--border-color);border-radius:8px;padding:0.5rem;margin-bottom:0.25rem;cursor:pointer;transition:all 0.2s ease;box-shadow:0 1px 3px rgba(0,0,0,0.1);position:relative;height:40px;display:flex;align-items:center;overflow:hidden;font-size:14px}.chat-session-item:hover,.chat-session-item.active{background:var(--accent-light) !important;border-color:var(--accent-light) !important;box-shadow:0 2px 8px rgba(0,0,0,0.15) !important;transition:all 0.2s ease;position:relative}.chat-session-item:hover .session-title,.chat-session-item.active .session-title{color:var(--accent-color) !important}div.chat-session-item.active{background:rgba(13,110,253,0.05) !important;border-color:rgba(13,110,253,0.1) !important;color:var(--primary-dark) !important;box-shadow:0 2px 8px rgba(0,0,0,0.15) !important}div.chat-session-item.active .session-title{color:var(--primary-dark) !important;font-weight:500 !important}.session-button-content{display:flex;align-items:center;width:100%;height:100%;padding:0 4px;position:relative}.session-delete-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:rgba(245,158,11,0.1);border:1px solid rgba(245,158,11,0.2);border-radius:4px;cursor:pointer;opacity:0;transition:all 0.2s ease;z-index:10}.session-delete-btn:hover{background:rgba(245,158,11,0.2);border-color:rgba(245,158,11,0.4);transform:translateY(-50%) scale(1.1)}.session-delete-btn i{color:#f59e0b;font-size:0.75rem;transition:color 0.2s ease}.session-delete-btn:hover i{color:#d97706}.chat-session-item:hover .session-delete-btn{opacity:1}.chat-session-item.active .session-delete-btn{opacity:0;pointer-events:none}.session-status-icon{font-size:0.8rem;margin-right:0.5rem;flex-shrink:0}.session-title{font-weight:400;font-size:10px;color:var(--text-dark);line-height:1.3;flex:1;margin:0;transition:color 0.2s ease}.chat-session-item.active .session-status-icon{filter:brightness(1.2)}.chat-session-item{padding:8px 10px}.chat-session-item.active{background:#eef3ff;border:1px solid #dbe6ff}.session-with-tooltip{position:relative}.session-with-tooltip::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.95);color:white;padding:10px 14px;border-radius:8px;font-size:0.75rem;white-space:pre-line;text-align:center;opacity:0;visibility:hidden;transition:all 0.2s ease;z-index:9999;min-width:160px;max-width:200px;box-shadow:0 6px 16px rgba(0,0,0,0.4);pointer-events:none;margin-bottom:8px;font-weight:400;line-height:1.4;word-wrap:break-word}.session-with-tooltip::before{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:rgba(0,0,0,0.95);opacity:0;visibility:hidden;transition:all 0.2s ease;z-index:9999;pointer-events:none;margin-bottom:2px}.session-with-tooltip:hover::after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(-3px)}.session-with-tooltip:hover::before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(-3px)}.session-status{display:none}.session-date{font-size:0.8rem;color:var(--text-muted);margin-bottom:0.25rem}.main-content{height:calc(100vh - 56px);display:flex;flex-direction:column}.chat-messages{flex:1;overflow-y:auto;padding:1rem;background-color:white}.welcome-message{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px;padding:2rem;border-radius:0.5rem;margin-bottom:1rem}.welcome-content{max-width:600px;text-align:center}.feature-card{text-align:center;padding:0.25rem;background-color:var(--accent-light);border:1px solid var(--border-color);transition:transform 0.2s,box-shadow 0.2s;margin-bottom:1rem}.feature-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.1)}.feature-card i{font-size:2rem;margin-bottom:1rem;color:var(--primary-color)}.message{margin-bottom:1rem;animation:fadeIn 0.3s ease-in;border-radius:0.75rem;padding:1rem}.message:hover{box-shadow:0 2px 8px rgba(0,0,0,0.1)}.message.user{text-align:right}.message.assistant{text-align:left}.message-content{display:inline-block;max-width:90%;padding:0.75rem 1rem;border-radius:15px;word-wrap:break-word}.message.user .message-content{background-color:rgba(11,96,224,0.05);color:#000000;border-bottom-right-radius:5px;border-color:rgba(11,96,224,0.1);font-weight:400;box-shadow:0px 0px 3px 1px #c2c7cf}.message.user.editing .message-content{background:#f8f9fb;color:var(--text-dark);border:1px solid var(--border-color);max-width:85%;margin-left:auto;margin-right:0;box-shadow:0 8px 20px rgba(0,0,0,0.08)}.edit-interface{display:grid;gap:10px}.edit-interface .edit-message-input{resize:none;border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;font-size:0.95rem;line-height:1.5;box-shadow:inset 0 1px 2px rgba(0,0,0,0.04);min-height:84px}.edit-interface .edit-buttons{display:flex;justify-content:flex-end;gap:8px}.edit-interface .edit-buttons .btn{min-width:102px;letter-spacing:.2px}.edit-interface .btn-success{filter:saturate(0.95)}.edit-interface .btn-success:disabled{opacity:.65}.edit-interface .edit-message-input:focus{outline:none;box-shadow:0 0 0 3px rgba(107,114,128,0.20)}.message.user .message-content .markdown-header{color:#ffffff}.message.user .message-content .markdown-paragraph{color:#031c5e}.message.user .message-content .markdown-blockquote{background-color:rgba(255,255,255,0.1);border-left-color:#ffffff;color:#ffffff}.message.user .message-content .markdown-list li{color:#ffffff}.message.user .message-content .inline-code{background-color:rgba(255,255,255,0.2);color:#ffffff;border:1px solid rgba(255,255,255,0.3)}.message.user .message-content .markdown-link{color:#e2e8f0;text-decoration:underline}.message.user .message-content .markdown-link:hover{color:#ffffff}.message.user .message-content pre{background-color:rgba(0,0,0,0.3);border:1px solid rgba(255,255,255,0.2)}.message.user .message-content pre code{color:#ffffff}.message.user .message-content .markdown-table{background-color:rgba(255,255,255,0.1)}.message.user .message-content .markdown-table th{background-color:rgba(255,255,255,0.2);color:#ffffff;border-color:rgba(255,255,255,0.3)}.message.user .message-content .markdown-table td{color:#ffffff;border-color:rgba(255,255,255,0.3)}.message.assistant .message-content{background-color:#ffffff;color:var(--text-dark);border-bottom-left-radius:5px;width:97%;margin-left:10px;margin-right:10px}.message-time{font-size:0.75rem;color:var(--text-muted);margin-top:0.25rem}.message-content pre{background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:6px;padding:1rem;overflow-x:auto;margin:0.5rem 0}.message-content code{background-color:#f1f3f4;padding:0.2rem 0.4rem;border-radius:3px;font-size:0.875rem}.markdown-header{margin:1rem 0 0.5rem 0;font-weight:600;color:#2c3e50}.markdown-header h1{font-size:1.8rem;border-bottom:2px solid #3498db;padding-bottom:0.3rem}.markdown-header h2{font-size:1.5rem;border-bottom:1px solid #bdc3c7;padding-bottom:0.2rem}.markdown-header h3{font-size:1.3rem;color:#34495e}.markdown-paragraph{margin:0.5rem 0;line-height:1.6;color:#2c3e50}.markdown-blockquote{border-left:4px solid #3498db;margin:1rem 0;padding:0.5rem 1rem;background-color:#f8f9fa;font-style:italic;color:#555}.markdown-list{margin:0.5rem 0;padding-left:1.5rem}.markdown-list li{margin:0.3rem 0;line-height:1.5}.markdown-hr{border:none;border-top:2px solid #ecf0f1;margin:1.5rem 0}.markdown-table{margin:1rem 0;font-size:0.9rem}.markdown-table th{background-color:#f8f9fa;font-weight:600;color:#2c3e50}.markdown-table td,.markdown-table th{padding:0.5rem;border:1px solid #dee2e6}.inline-code{background-color:#f1f2f6;padding:0.2rem 0.4rem;border-radius:3px;font-family:'Courier New',monospace;font-size:0.9em;color:#e74c3c}.markdown-link{color:#3498db;text-decoration:none}.markdown-link:hover{text-decoration:underline;color:#2980b9}pre{background-color:#1e1e1e;color:#d4d4d4;padding:0;border-radius:8px;overflow-x:auto;border:1px solid #3c3c3c;box-shadow:0 2px 8px rgba(0,0,0,0.1);margin:1rem 0;position:relative}.hljs{background:#f8f9fa !important;border:1px solid #e9ecef;border-radius:8px;padding:1.25rem !important;font-size:0.875rem;line-height:1.6;overflow-x:auto;font-family:'SF Mono','Monaco','Inconsolata','Roboto Mono','Source Code Pro',monospace;box-shadow:0 2px 12px rgba(0,0,0,0.08);position:relative}.message.assistant .hljs{background:#f8f9fa !important;color:#24292e !important;border-color:#e1e4e8}.message.user .hljs{background:#2d3748 !important;color:#e2e8f0 !important;border-color:#4a5568}.inline-code{background:#f1f3f4;padding:0.25rem 0.5rem;border-radius:4px;font-family:'SF Mono','Monaco','Inconsolata','Roboto Mono','Source Code Pro',monospace;font-size:0.875em;border:1px solid #e1e5e9;color:#d73a49;font-weight:500}.message.assistant .inline-code{background:#f1f3f4;color:#d73a49;border-color:#e1e5e9}.message.user .inline-code{background:rgba(255,255,255,0.15);color:#ffd700;border-color:rgba(255,255,255,0.2)}pre code{background:none !important;padding:0 !important;color:inherit !important;font-family:inherit !important;font-size:inherit !important;line-height:inherit !important;border:none !important;border-radius:0 !important}.rtl-content{direction:rtl;text-align:right;unicode-bidi:embed}.ltr-content{direction:ltr;text-align:left;unicode-bidi:embed}.rtl-content .markdown-list{padding-right:1.5rem;padding-left:0}.rtl-content .markdown-blockquote{border-right:4px solid #3498db;border-left:none;padding-right:1rem;padding-left:0.5rem}.rtl-content h1,.rtl-content h2,.rtl-content h3,.rtl-content h4,.rtl-content h5,.rtl-content h6{text-align:right}.rtl-content p{text-align:right}.rtl-content ul,.rtl-content ol{padding-right:1.5rem;padding-left:0}.rtl-content blockquote{border-right:4px solid var(--primary-color);border-left:none;padding-right:1rem;padding-left:0.5rem;text-align:right}.rtl-content table{direction:rtl}.rtl-content th,.rtl-content td{text-align:right}#messageInput.rtl-content{text-align:right;direction:rtl}#messageInput.ltr-content{text-align:left;direction:ltr}.message.user .rtl-content{text-align:right}.message.assistant .rtl-content{text-align:right}.rtl-content code{direction:ltr;text-align:left;unicode-bidi:bidi-override}.rtl-content pre{direction:ltr;text-align:left}.message.user.editing .rtl-content .edit-interface{text-align:right}.message.user.editing .rtl-content .edit-message-input{text-align:right;direction:rtl}.message.user.editing .rtl-content .edit-buttons{justify-content:flex-start}.rtl-content .feedback-container{flex-direction:row-reverse}.rtl-content .file-display-item{flex-direction:row-reverse}.rtl-content .file-icon{margin-right:0;margin-left:12px}.mixed-content{unicode-bidi:plaintext}.message-content[dir="rtl"]{text-align:right}.message-content[dir="ltr"]{text-align:left}.chat-input-container{background-color:white;border-top:1px solid var(--border-color);padding:1rem;transition:all 0.3s ease}.chat-input-container.drag-over{background:rgba(0,123,255,0.05);border-top:2px solid #007bff;box-shadow:0 -4px 12px rgba(0,123,255,0.15)}.chat-input-wrapper{max-width:800px;margin:0 auto}.input-group{border-radius:25px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.1)}.input-group .form-control{border:none;padding:0.5rem 1rem;font-size:1rem}.input-group textarea.form-control{height:2.5rem !important;min-height:2.5rem !important;max-height:2.5rem !important;resize:none !important;overflow:hidden !important}.input-group .form-control:focus{box-shadow:none;border:none}.input-group .btn{border:none;padding:0.5rem 1rem}.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color)}.btn-primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark)}.btn-primary:disabled{background-color:#6c757d;border-color:#6c757d;opacity:0.6;cursor:not-allowed;transform:none}.btn-primary:disabled:hover{background-color:#6c757d;border-color:#6c757d;transform:none}.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:white}.btn-secondary:hover{background-color:#5a6268;border-color:#545b62;color:white}.btn-secondary:disabled{background-color:#6c757d;border-color:#6c757d;opacity:0.6;cursor:not-allowed}.hint-message .alert{box-shadow:0 4px 12px rgba(0,0,0,0.15);border:none;border-radius:8px;animation:slideInRight 0.3s ease-out}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.btn-outline-secondary{border-color:var(--border-color);color:var(--text-dark)}.btn-outline-secondary:hover{background-color:var(--secondary-color);border-color:var(--text-dark);color:var(--text-dark)}.file-preview{margin-top:0.5rem;padding:0.5rem;background-color:var(--secondary-color);border-radius:8px;border:1px solid var(--border-color)}.selected-files{display:flex;align-items:center;justify-content:space-between}.loading-indicator{display:flex;align-items:center;justify-content:center;padding:1rem}.typing-indicator{display:flex !important;align-items:center;padding:0.75rem 1rem;background-color:var(--secondary-color);border-radius:18px;border:1px solid var(--border-color);max-width:80px;margin:0.5rem 0;box-shadow:0 1px 3px rgba(0,0,0,0.1);position:relative;z-index:10}.typing-wrapper{display:flex;justify-content:flex-start;padding-left:8px}.typing-text{display:flex !important;align-items:center;gap:4px;width:100%;justify-content:center;font-size:14px;color:var(--text-muted);font-weight:500}.typing-dots-simple{display:flex !important;align-items:center;gap:2px}.typing-dot-simple{width:4px !important;height:4px !important;border-radius:50% !important;background-color:var(--primary-color) !important;animation:simplePulse 1.4s ease-in-out infinite !important;opacity:0.6;display:inline-block !important}.typing-dot-simple:nth-child(1){animation-delay:0s}.typing-dot-simple:nth-child(2){animation-delay:0.2s}.typing-dot-simple:nth-child(3){animation-delay:0.4s}.thinking-indicator{display:flex;align-items:center;justify-content:center;padding:1.5rem;margin:1rem 0;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border:1px solid #dee2e6;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.1);animation:fadeIn 0.3s ease-in-out}.thinking-content{display:flex;align-items:center;justify-content:center}.thinking-dots{display:flex;align-items:center;gap:6px}.thinking-dot{width:10px;height:10px;border-radius:50%;background-color:var(--primary-color);animation:thinkingPulse 1.5s ease-in-out infinite;opacity:0.7}.thinking-dot:nth-child(1){animation-delay:0s}.thinking-dot:nth-child(2){animation-delay:0.3s}.thinking-dot:nth-child(3){animation-delay:0.6s}@keyframes thinkingPulse{0%,100%{opacity:0.4;transform:scale(0.8)}50%{opacity:1;transform:scale(1.3)}}.thinking-process{margin:1rem 0;padding:1rem;background:linear-gradient(135deg,#fff3cd 0%,#ffeaa7 100%);border:1px solid #ffc107;border-radius:12px;box-shadow:0 2px 8px rgba(255,193,7,0.1);animation:fadeIn 0.3s ease-in-out}.thinking-header{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.75rem;font-weight:600;color:#856404}.thinking-label{font-size:0.9rem;text-transform:uppercase;letter-spacing:0.5px}.thinking-content{color:#856404;font-size:0.95rem;line-height:1.5}.thinking-content p{margin-bottom:0.5rem}.thinking-content p:last-child{margin-bottom:0}.streaming-indicator{display:inline-flex !important;align-items:center;padding:8px 10px;background-color:var(--secondary-color);border-radius:14px;border:1px solid var(--border-color);margin:2px 0}.message .streaming-indicator.remnant{display:none !important}.streaming-dots{display:inline-flex !important;align-items:center;gap:6px}.streaming-dot{width:8px !important;height:8px !important;border-radius:50% !important;background-color:var(--primary-color) !important;animation:streamingPulse 1.4s ease-in-out infinite !important;opacity:0.85}.streaming-dot:nth-child(1){animation-delay:0s}.streaming-dot:nth-child(2){animation-delay:0.3s}.streaming-dot:nth-child(3){animation-delay:0.6s}@keyframes streamingPulse{0%,100%{opacity:0.4;transform:scale(0.8)}50%{opacity:1;transform:scale(1.3)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes simplePulse{0%,100%{opacity:0.3;transform:scale(0.8)}50%{opacity:1;transform:scale(1.2)}}@media (max-width:768px){.sidebar{position:fixed;left:-100%;top:56px;width:250px;z-index:1000;transition:left 0.3s ease}.sidebar.show{left:0}.main-content{margin-left:0}.message-content{max-width:92%}.edit-interface .edit-message-input{min-height:100px}.message-content pre,.hljs{font-size:0.8rem !important;padding:0.75rem !important;margin:0.75rem 0 !important;overflow-x:auto;-webkit-overflow-scrolling:touch}.code-block-header{padding:0.375rem 0.75rem;font-size:0.7rem}.code-copy-btn{padding:0.2rem 0.4rem;font-size:0.7rem}.welcome-content{padding:1rem}.feature-card{margin-bottom:1rem}}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#f1f1f1}.chat-messages::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.feedback-container{display:flex;align-items:center;gap:12px;margin-top:16px;padding:12px 0;border-top:1px solid rgba(0,0,0,0.08);padding-top:16px;animation:fadeInFeedback 0.3s ease-in-out}@keyframes fadeInFeedback{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.feedback-container:hover{opacity:1}.feedback-button{background:transparent;border:none;border-radius:0;padding:8px;font-size:1.4rem;cursor:pointer;transition:all 0.2s cubic-bezier(0.4,0,0.2,1);display:flex;align-items:center;justify-content:center;color:#6c757d;width:40px;height:40px;min-width:40px;position:relative;overflow:hidden;opacity:1;visibility:visible}.feedback-button::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,0.1) 0%,rgba(255,255,255,0) 100%);opacity:0;transition:opacity 0.2s ease}.feedback-button:hover{background:transparent;border-color:transparent;color:#007bff;transform:scale(1.1);box-shadow:none}.feedback-button:hover::before{opacity:1}.feedback-button:active{transform:scale(0.95);box-shadow:none;transition:all 0.1s ease}.feedback-button.liked{background:transparent;border-color:transparent;color:#28a745;box-shadow:none}.feedback-button.liked:hover{background:transparent;border-color:transparent;color:#1e7e34;box-shadow:none}.feedback-button.disliked{background:transparent;border-color:transparent;color:#dc3545;box-shadow:none}.feedback-button.disliked:hover{background:transparent;border-color:transparent;color:#c82333;box-shadow:none}.feedback-button:disabled{opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none;background:transparent;border-color:transparent;color:#6c757d}.feedback-button:disabled:hover{background:transparent;border-color:transparent;color:#6c757d;transform:none;box-shadow:none}.feedback-button:disabled::before{opacity:0}.feedback-icon{font-size:1.3rem;line-height:1;transition:transform 0.2s ease}.feedback-button:hover .feedback-icon{transform:scale(1.1)}.feedback-button:active .feedback-icon{transform:scale(0.95)}.feedback-status{font-size:0.8rem;color:#6c757d;font-weight:500;margin-left:auto;opacity:0.8;transition:all 0.3s ease;padding:4px 8px;border-radius:4px;background:rgba(0,0,0,0.02)}.feedback-status.submitted{color:#28a745;font-weight:600;background:rgba(40,167,69,0.1);animation:feedbackSubmitted 0.5s ease-out}@keyframes feedbackSubmitted{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.feedback-button .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,0.6);transform:scale(0);animation:ripple 0.6s linear;pointer-events:none}@keyframes ripple{to{transform:scale(4);opacity:0}}@media (prefers-color-scheme:dark){.feedback-container{border-top-color:rgba(255,255,255,0.1)}.feedback-button{background:transparent;border-color:transparent;color:#a0aec0}.feedback-button:hover{background:transparent;border-color:transparent;color:#63b3ed;box-shadow:none}.feedback-status{color:#a0aec0;background:rgba(255,255,255,0.05)}.feedback-status.submitted{color:#68d391;background:rgba(104,211,145,0.1)}}.feedback-tooltip{position:relative;display:inline-block}.feedback-tooltip .tooltip-text{visibility:hidden;width:120px;background-color:var(--text-dark);color:white;text-align:center;border-radius:6px;padding:5px;position:absolute;z-index:1;bottom:125%;left:50%;margin-left:-60px;opacity:0;transition:opacity 0.3s;font-size:0.75rem}.feedback-tooltip:hover .tooltip-text{visibility:visible;opacity:1}.feedback-success{background-color:var(--success-color);color:white;padding:4px 8px;border-radius:4px;font-size:0.75rem;margin-left:8px;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-10px)}}.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.cursor-pointer{cursor:pointer}.transition-all{transition:all 0.3s ease}.uploaded-files-display{margin-top:10px;padding:10px;background-color:var(--secondary-color);border-radius:8px;border:1px solid var(--border-color)}.files-header{font-weight:600;color:var(--text-dark);margin-bottom:8px;font-size:0.9rem}.files-list{display:flex;flex-direction:column;gap:8px}.file-display-item{display:flex;align-items:center;padding:8px;background-color:white;border-radius:6px;border:1px solid var(--border-color);transition:all 0.2s ease}.file-display-item:hover{border-color:var(--primary-color);box-shadow:0 2px 4px rgba(78,115,223,0.1)}.file-icon{font-size:1.5rem;margin-right:12px;min-width:24px;text-align:center;color:var(--primary-color)}.file-info{flex:1;min-width:0}.file-name{font-weight:500;color:var(--text-dark);margin-bottom:2px;word-break:break-word}.file-type{font-size:0.8rem;color:var(--text-muted);margin-bottom:2px}.file-size{font-size:0.75rem;color:#adb5bd}.message .uploaded-files-display{margin-top:8px;margin-bottom:4px}.message.user .uploaded-files-display{background-color:#e3f2fd;border-color:#bbdefb}.message.assistant .uploaded-files-display{background-color:#f3e5f5;border-color:#e1bee7}.message.system.files-available{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin:10px 0}.message.system.files-available .system-message{margin-bottom:10px}.message.system.files-available .system-message strong{color:#856404}.message.user.with-files{border-left:4px solid var(--primary-color)}.message.user.with-files .uploaded-files-display{background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;margin-top:8px}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:1rem 0 0.5rem 0;font-weight:600;line-height:1.2;color:var(--text-dark)}.message-content h1{font-size:1.8rem;border-bottom:2px solid var(--primary-color);padding-bottom:0.3rem}.message-content h2{font-size:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:0.2rem}.message-content h3{font-size:1.3rem;color:var(--text-dark)}.message-content h4{font-size:1.1rem;color:var(--text-muted)}.message-content h5{font-size:1rem;color:var(--text-muted)}.message-content h6{font-size:0.9rem;color:var(--text-muted)}.message-content strong{font-weight:600;color:var(--text-dark)}.message-content em{font-style:italic;color:var(--text-dark)}.message-content code{background-color:#f1f3f4;border:1px solid #e1e5e9;border-radius:4px;padding:0.25rem 0.5rem;font-family:'SF Mono','Monaco','Inconsolata','Roboto Mono','Source Code Pro',monospace;font-size:0.875em;color:#d73a49;font-weight:500}.message-content pre{background-color:#f8f9fa;color:#24292e;padding:0;border-radius:8px;overflow-x:auto;margin:1.25rem 0;border:1px solid #e1e4e8;box-shadow:0 2px 12px rgba(0,0,0,0.08);position:relative}.message-content pre code{background-color:transparent !important;border:none !important;padding:1.25rem !important;color:inherit !important;font-size:0.875rem !important;line-height:1.6 !important;font-family:'SF Mono','Monaco','Inconsolata','Roboto Mono','Source Code Pro',monospace !important;display:block !important}.code-block-wrapper{position:relative;margin:1.25rem 0;border-radius:8px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.08)}.code-block-header{background:#f6f8fa;border-bottom:1px solid #e1e4e8;padding:0.5rem 1rem;display:flex;justify-content:space-between;align-items:center;font-size:0.75rem;color:#586069}.code-language-label{font-family:'SF Mono','Monaco','Inconsolata','Roboto Mono','Source Code Pro',monospace;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.code-copy-btn{background:#ffffff;border:1px solid #d1d5da;border-radius:4px;padding:0.25rem 0.5rem;font-size:0.75rem;color:#586069;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;gap:0.25rem}.code-copy-btn:hover{background:#f6f8fa;border-color:#c9d1d9;color:#24292e}.code-copy-btn:active{background:#e1e4e8;transform:translateY(1px)}.code-copy-btn.copied{background:#28a745;border-color:#28a745;color:#ffffff}.code-copy-btn.copied:hover{background:#218838;border-color:#1e7e34}.hljs.language-python .code-language-label{color:#3776ab}.hljs.language-javascript .code-language-label,.hljs.language-js .code-language-label{color:#f7df1e}.hljs.language-sql .code-language-label{color:#336791}.hljs.language-bash .code-language-label,.hljs.language-shell .code-language-label{color:#4eaa25}.hljs.language-json .code-language-label{color:#000000}.hljs.language-html .code-language-label{color:#e34c26}.hljs.language-css .code-language-label{color:#1572b6}.hljs.language-yaml .code-language-label,.hljs.language-yml .code-language-label{color:#cb171e}.hljs.language-markdown .code-language-label{color:#083fa1}.message-content ul,.message-content ol{margin:0.5rem 0;padding-left:1.5rem}.message-content li{margin:0.25rem 0;line-height:1.4}.message-content ul li{list-style-type:disc}.message-content ol li{list-style-type:decimal}.message-content blockquote{border-left:4px solid var(--primary-color);background-color:var(--secondary-color);padding:0.75rem 1rem;margin:1rem 0;border-radius:0 4px 4px 0;font-style:italic;color:var(--text-dark)}.message-content hr{border:none;border-top:2px solid var(--border-color);margin:1.5rem 0;opacity:0.6}.message-content a{color:var(--primary-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-bottom-color 0.2s}.message-content a:hover{border-bottom-color:var(--primary-color);text-decoration:none}.message-content table{width:100%;border-collapse:collapse;margin:1rem 0;background-color:white;border-radius:6px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.message-content table th,.message-content table td{padding:0.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.message-content table th{background-color:var(--secondary-color);font-weight:600;color:var(--text-dark)}.message-content table tr:hover{background-color:var(--secondary-color)}.message-content>*:first-child{margin-top:0}.message-content>*:last-child{margin-bottom:0}.message-content p{margin:0.5rem 0;line-height:1.6}.message-content[dir="rtl"]{text-align:right;direction:rtl}.message-content[dir="rtl"] ul,.message-content[dir="rtl"] ol{padding-right:1.5rem;padding-left:0}.message-content[dir="ltr"]{text-align:left;direction:ltr}@media (max-width:768px){.message-content h1{font-size:1.5rem}.message-content h2{font-size:1.3rem}.message-content h3{font-size:1.1rem}.message-content pre{padding:0.75rem;font-size:0.85em}.message-content table{font-size:0.9em}.message-content table th,.message-content table td{padding:0.5rem}}#stopBtn{transition:all 0.2s ease;border-radius:0.375rem}#stopBtn:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(220,53,69,0.2)}#stopBtn:disabled{opacity:0.7}.edit-message-btn{position:absolute;top:0.5rem;right:0.5rem;opacity:0;transition:opacity 0.3s ease;font-size:0.75rem;padding:0.25rem 0.5rem}.message:hover .edit-message-btn{opacity:1}.message.user.editing .message-content{background:#f8f9fa;color:var(--text-dark);border:1px solid var(--border-color)}.edit-interface{display:flex;flex-direction:column;gap:8px}.edit-interface .edit-message-input{resize:none;border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;font-size:0.95rem;line-height:1.4;box-shadow:inset 0 1px 2px rgba(0,0,0,0.04)}.edit-interface .edit-buttons{display:flex;gap:8px;justify-content:flex-end}.edit-message-btn:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:white}.edit-interface{margin-top:0.5rem;padding:0.5rem;background-color:#f8f9fa;border-radius:0.375rem;border:1px solid #dee2e6}.edit-message-input{border:1px solid #ced4da;border-radius:0.375rem;resize:vertical;min-height:80px}.edit-buttons{display:flex;gap:0.5rem;justify-content:flex-end}.save-edit-btn{background-color:var(--success-color);border-color:var(--success-color);color:white}.save-edit-btn:hover{background-color:#059669;border-color:#059669;color:white}.cancel-edit-btn{background-color:var(--text-muted);border-color:var(--text-muted);color:white}.cancel-edit-btn:hover{background-color:#4b5563;border-color:#4b5563;color:white}.message.user.editing .message-content{background:#ffffff;border:1px solid var(--border-color);border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,0.10);padding:0.85rem 0.85rem 0.7rem 0.85rem;max-width:85%;margin-left:auto;margin-right:0}.message.user.editing .edit-interface{background:linear-gradient(180deg,#ffffff 0%,#fafafa 100%);border:1px solid var(--border-color);border-radius:12px;padding:12px;gap:10px;backdrop-filter:saturate(1.1)}.message.user.editing .edit-interface .edit-message-input{width:100%;min-height:96px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;font-size:1rem;line-height:1.5;color:var(--text-dark);padding:10px 12px;transition:border-color 0.15s ease,box-shadow 0.15s ease,background-color 0.15s ease}.message.user.editing .edit-interface .edit-message-input:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px rgba(107,114,128,0.15);background:#ffffff}.message.user.editing .edit-interface .edit-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.message.user.editing .edit-interface .save-edit-btn,.message.user.editing .edit-interface .cancel-edit-btn{padding:0.45rem 1rem;border-radius:12px;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,0.05);transition:transform 0.12s ease,box-shadow 0.12s ease,background-color 0.12s ease,border-color 0.12s ease;border-width:1px}.message.user.editing .edit-interface .save-edit-btn{background-color:var(--success-color);border-color:var(--success-color);color:#fff}.message.user.editing .edit-interface .save-edit-btn:hover{background-color:#0ea371;border-color:#0ea371}.message.user.editing .edit-interface .cancel-edit-btn{background-color:transparent;border-color:var(--border-color);color:var(--text-muted)}.message.user.editing .edit-interface .cancel-edit-btn:hover{background-color:#f8f9fa;border-color:#cfd4da;color:var(--text-dark)}.message.user.editing .edit-interface .save-edit-btn:hover,.message.user.editing .edit-interface .cancel-edit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,0.10)}.message.user.editing .edit-interface .save-edit-btn:active,.message.user.editing .edit-interface .cancel-edit-btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,0.05)}@media (max-width:576px){.message.user.editing .message-content{padding:0.6rem}.message.user.editing .edit-interface{padding:10px;border-radius:10px}.message.user.editing .edit-interface .edit-message-input{min-height:72px;font-size:0.95rem}}