.code-container{position:relative;margin:1.5em 0;border-radius:8px;overflow:hidden;background:#272822;box-shadow:0 2px 8px rgba(0,0,0,.1)}.code-header{background:#272822;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #3e3d32;font-family:Montserrat,sans-serif}.code-header,.code-language{color:#f8f8f2;font-size:14px;font-weight:600}.code-language{user-select:none}.code-header .copy-button{background:transparent;color:#f8f8f2;border:1px solid #5e5e5e;border-radius:4px;padding:4px 12px;cursor:pointer;font-size:12px;font-family:Montserrat,sans-serif;transition:background .2s,border-color .2s}.code-header .copy-button:hover{background:#3e3d32;border-color:#75715e}.code-header .copy-button:active{background:#49483e}.code-container pre{margin:0;padding:15px 20px;overflow-x:auto;background:#272822;border-radius:0;font-size:14px;line-height:1.5}.code-container pre code{font-family:Courier New,Courier,monospace;font-size:14px;color:#f8f8f2;background:transparent;padding:0;border:none}.code-container pre::-webkit-scrollbar{height:8px}.code-container pre::-webkit-scrollbar-track{background:#1e1e1e;border-radius:4px}.code-container pre::-webkit-scrollbar-thumb{background:#3e3d32;border-radius:4px}.code-container pre::-webkit-scrollbar-thumb:hover{background:#49483e}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#75715e}.token.punctuation{color:#f8f8f2}.token.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a6e22e}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#e6db74}.token.keyword{color:#66d9ef}.token.important,.token.regex{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.language-javascript .token.keyword,.language-python .token.keyword,.language-typescript .token.keyword{color:#66d9ef}.language-markup .token.tag,.language-python .token.decorator{color:#f92672}.language-markup .token.attr-name{color:#a6e22e}.language-markup .token.attr-value{color:#e6db74}.language-css .token.selector,.language-scss .token.selector{color:#a6e22e}.language-css .token.property,.language-scss .token.property{color:#66d9ef}.language-sql .token.keyword{color:#f92672}.language-bash .token.function{color:#a6e22e}body.dark-mode .code-container{background:#1e1e1e}body.dark-mode .code-header{background:#1e1e1e;border-bottom-color:#2d2d2d}body.dark-mode .code-container pre{background:#1e1e1e}body.dark-mode .code-header .copy-button{border-color:#3e3d32}body.dark-mode .code-header .copy-button:hover{background:#2d2d2d;border-color:#49483e}pre.code-streaming{background:#272822;color:#f8f8f2;padding:15px 20px;border-radius:8px;overflow-x:auto;margin:1.5em 0;font-size:14px;line-height:1.5}pre.code-streaming code{font-family:Courier New,Courier,monospace;font-size:14px;color:#f8f8f2;background:transparent;padding:0;border:none}@media (max-width:768px){.code-header{padding:8px 15px;font-size:13px}.code-container pre{padding:12px 15px;font-size:13px}.code-header .copy-button{padding:3px 10px;font-size:11px}pre.code-streaming{padding:12px 15px;font-size:13px}}.copy-button-block{position:absolute;top:10px;right:10px;display:flex;align-items:center;z-index:100;padding:5px 10px;border-radius:5px;background:transparent;box-shadow:none;opacity:1;cursor:pointer;transition:background .2s,opacity .2s;font-family:Montserrat,sans-serif}.copy-button-block.fixed{position:fixed;z-index:1000;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.copy-button-block:hover{background:rgba(255,255,255,.1)}.copy-button-block.fixed:hover{background:#f3f5fa}.copy-button-block .action-icon{margin-right:5px;font-size:18px;color:#868991;transition:color .2s}.copy-button-block:hover .action-icon{color:#000}.copy-text-label{font-size:12px;font-weight:500;color:#868991;cursor:pointer;user-select:none;transition:color .2s}.copy-button-block:hover .copy-text-label{color:#000}.copy-button-block .action-icon[data-icon="mdi:check"]{color:#28a745}.message-container.assistant .copy-button-block{opacity:1;visibility:visible}@media (max-width:768px){.copy-button-block{padding:4px 8px;top:8px;right:8px}.copy-button-block .action-icon{font-size:16px;margin-right:4px}.copy-text-label{font-size:11px}}body.dark-mode .copy-button-block.fixed{background:#2d2d2d;box-shadow:0 2px 4px rgba(0,0,0,.3)}body.dark-mode .copy-button-block:hover{background:rgba(255,255,255,.05)}body.dark-mode .copy-button-block.fixed:hover{background:#3e3d32}body.dark-mode .copy-button-block .action-icon{color:#b0b0b0}body.dark-mode .copy-button-block:hover .action-icon{color:#f5f5f5}body.dark-mode .copy-text-label{color:#b0b0b0}body.dark-mode .copy-button-block:hover .copy-text-label{color:#f5f5f5}.image-action-buttons-container{position:absolute;top:0;right:10px;z-index:100;display:flex;gap:8px;align-items:center}.image-download-button-container,.message-image{position:relative}.message-image{display:inline-block;margin:10px 0}.message-content p{overflow:visible!important}.image-download-button{position:relative;display:flex;align-items:center;z-index:100;padding:5px 10px;border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:pointer;transition:background .2s,opacity .2s;font-family:Montserrat,sans-serif;backdrop-filter:blur(10px)}.image-download-button:hover{background:rgba(255,255,255,1)}.image-download-button .action-icon{margin-right:5px;font-size:18px;color:#868991;transition:color .2s}.image-download-button:hover .action-icon{color:#000}.download-text-label{font-size:12px;font-weight:500;color:#868991;cursor:pointer;user-select:none;transition:color .2s}.image-download-button:hover .download-text-label{color:#000}.image-edit-button{display:flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:pointer;transition:background .2s,transform .2s;backdrop-filter:blur(10px);font-family:Montserrat,sans-serif}.image-edit-button:hover{background:rgba(255,255,255,1);transform:scale(1.05)}.image-edit-button .action-icon{margin-right:5px;font-size:18px;color:#868991;transition:color .2s}.image-edit-button:hover .action-icon{color:#000}.edit-text-label{font-size:12px;font-weight:500;color:#868991;cursor:pointer;user-select:none;transition:color .2s}.image-edit-button:hover .edit-text-label{color:#000}.download-menu{position:absolute;top:110%;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.1);overflow:hidden;min-width:120px;z-index:1000;font-family:Montserrat,sans-serif}.download-menu-item{padding:8px 16px;font-size:13px;cursor:pointer;transition:background .2s;color:#333}.download-menu-item:hover{background:#f3f5fa}.download-menu-item:active{background:#e0e5ed}.message-image .image-download-button{opacity:1;visibility:visible}@media (max-width:768px){.image-action-buttons-container{gap:6px;top:8px;right:8px}.image-download-button{padding:4px 8px}.image-download-button .action-icon{font-size:16px;margin-right:4px}.image-edit-button{padding:4px 8px}.image-edit-button .action-icon{font-size:16px;margin-right:4px}.download-text-label,.edit-text-label{font-size:11px}.download-menu{min-width:100px}.download-menu-item{padding:6px 12px;font-size:12px}}body.dark-mode .image-download-button{background:rgba(45,45,45,.9)}body.dark-mode .image-download-button:hover{background:rgba(45,45,45,1)}body.dark-mode .image-download-button .action-icon{color:#b0b0b0}body.dark-mode .image-download-button:hover .action-icon{color:#f5f5f5}body.dark-mode .download-text-label{color:#b0b0b0}body.dark-mode .image-download-button:hover .download-text-label{color:#f5f5f5}body.dark-mode .download-menu{background:#2d2d2d;border-color:#444}body.dark-mode .download-menu-item{color:#e0e0e0}body.dark-mode .download-menu-item:hover{background:#3e3d32}body.dark-mode .download-menu-item:active{background:#49483e}body.dark-mode .image-edit-button{background:rgba(45,45,45,.9)}body.dark-mode .image-edit-button:hover{background:rgba(45,45,45,1)}body.dark-mode .image-edit-button .action-icon{color:#b0b0b0}body.dark-mode .image-edit-button:hover .action-icon{color:#f5f5f5}body.dark-mode .edit-text-label{color:#b0b0b0}body.dark-mode .image-edit-button:hover .edit-text-label{color:#f5f5f5}.ask-ai-tooltip{background:#fff;color:#000;font-family:Montserrat,sans-serif;font-size:14px;font-weight:500;box-shadow:0 4px 10px rgba(0,0,0,.12);padding:8px 18px;border-radius:9999px;display:flex;align-items:center;gap:8px;white-space:nowrap;position:relative;cursor:pointer;user-select:none}.ask-ai-tooltip:before{display:none}.ask-ai-tooltip .iconify{font-size:18px;color:#000}.ai-quote-preview{background:#f1f1f1;border-radius:8px;padding:8px 36px 8px 32px;position:relative;margin-bottom:8px;max-height:80px;overflow:hidden;font-size:13px;display:flex;align-items:flex-start;gap:8px}.ai-quote-preview .preview-close{position:absolute;right:10px;top:8px;cursor:pointer;font-size:16px;color:#666}.ai-quote-preview .reply-icon{font-size:18px;color:#666;position:absolute;left:8px;top:10px}.ai-quote-preview .preview-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.ai-quote-preview.expanded .preview-text{-webkit-line-clamp:unset;max-height:none}.ai-quote-preview .show-more{cursor:pointer;color:#0073aa;font-size:12px;position:absolute;right:36px;bottom:6px;display:flex;align-items:center;gap:2px}.ai-quote-preview.expanded .show-more{display:none}.user-quote-block{background:#f1f1f1;border-radius:8px;padding:8px 12px;position:relative;margin-bottom:8px;font-size:13px;display:flex;align-items:flex-start;gap:8px}.user-quote-block .quote-icon{font-size:18px;color:#666;flex-shrink:0;margin-top:1px}.user-quote-block .quote-text{white-space:pre-wrap;word-break:break-word;flex:1}.citations-block{margin-top:16px;position:relative;padding:12px;background:#e0e5ed;border-radius:20px;border:none}.citations-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.citations-count{font-size:13px;font-weight:600;color:#495057}.citations-favicons{display:flex;align-items:center;gap:4px;margin-left:auto}.citation-favicon-preview{width:20px;height:20px;border-radius:20px;object-fit:contain;background:white;border:none}.citations-more{font-size:11px;font-weight:600;color:#6c757d;padding:0 6px}.citations-list{display:flex;gap:12px;overflow-x:auto;scroll-behavior:smooth;padding:4px 0;scrollbar-width:none;-ms-overflow-style:none}.citations-list::-webkit-scrollbar{display:none}.citation-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff;border:none;border-radius:20px;text-decoration:none;color:inherit;transition:all .2s ease;min-width:260px;max-width:300px;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.05)}.citation-card:hover{background:#f8f9fa;box-shadow:0 2px 8px rgba(0,191,255,.15);transform:translateY(-1px)}.citation-favicon{width:18px;height:18px;border-radius:3px;object-fit:contain;flex-shrink:0;background:#f8f9fa;padding:2px}.citation-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.citation-title{font-size:13px;font-weight:500;color:#212529;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.citation-domain,.citation-title{overflow:hidden;text-overflow:ellipsis}.citation-domain{font-size:11px;color:#868e96;white-space:nowrap}.citation-arrow{flex-shrink:0;color:#adb5bd;transition:all .2s ease;width:16px;height:16px}.citation-card:hover .citation-arrow{color:#00BFFF;transform:translateX(2px)}.citations-scroll-button{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;background:white;border:1px solid #e0e0e0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.1)}.citations-scroll-button:hover{background:#f8f9fa;border-color:#00BFFF;box-shadow:0 4px 12px rgba(0,191,255,.2)}.citations-scroll-button.left{left:-16px}.citations-scroll-button.right{right:-16px}.citations-scroll-button svg{width:18px;height:18px;color:#495057;transition:color .2s ease}.citations-scroll-button:hover svg{color:#00BFFF}body.dark-mode .citations-block{background:transparent;border:none}body.dark-mode .citations-count{color:#ffffff}body.dark-mode .citation-favicon-preview{background:#3e3d3d;border:none}body.dark-mode .citations-more{color:#ffffff}body.dark-mode .citation-card{background:#2c2c2c;border:none;box-shadow:0 1px 3px rgba(0,0,0,.3)}body.dark-mode .citation-card:hover{background:#3e3d3d;border:none;box-shadow:0 2px 8px rgba(0,0,0,.4)}body.dark-mode .citation-favicon{background:#3e3d3d}body.dark-mode .citation-title{color:#ffffff}body.dark-mode .citation-domain{color:#adb5bd}body.dark-mode .citation-arrow{color:#6c757d}body.dark-mode .citation-card:hover .citation-arrow{color:#adb5bd}body.dark-mode .citations-scroll-button{background:#2c2c2c;border:1px solid #555;box-shadow:0 2px 8px rgba(0,0,0,.3)}body.dark-mode .citations-scroll-button:hover{background:#3e3d3d;border-color:#666;box-shadow:0 4px 12px rgba(0,0,0,.4)}body.dark-mode .citations-scroll-button svg,body.dark-mode .citations-scroll-button:hover svg{color:#ffffff}@media (max-width:768px){.citations-block{padding:10px}.citation-card{padding:8px 10px}.citation-title{font-size:13px}.citation-domain{font-size:11px}.citation-favicon{width:20px;height:20px}}.markdown-content,.message-content{line-height:1.6;color:inherit}.markdown-content .katex,.message-content .katex{font-size:1.05em;color:inherit}.markdown-content .katex-display-block,.message-content .katex-display-block{margin:1.5em 0;padding:1em;background:rgba(0,0,0,.02);border-radius:8px;overflow-x:auto;overflow-y:hidden;text-align:center}@media (prefers-color-scheme:dark){.markdown-content .katex-display-block,.message-content .katex-display-block{background:rgba(255,255,255,.05)}.markdown-content .katex,.message-content .katex{color:#e8e8e8}}body.dark-mode .katex{color:#e0e0e0!important}@media (max-width:768px){.markdown-content .katex,.message-content .katex{font-size:.95em}.markdown-content .katex-display-block,.message-content .katex-display-block{padding:.8em;margin:1em 0}}.message.assistant .markdown-content .katex,.message.assistant .message-content .katex{color:#2c3e50!important}.message.user .markdown-content .katex,.message.user .message-content .katex{color:#ffffff!important}body.dark-mode .message.assistant .markdown-content .katex,body.dark-mode .message.assistant .message-content .katex{color:#e0e0e0!important}body.dark-mode .message.user .markdown-content .katex,body.dark-mode .message.user .message-content .katex{color:#ffffff!important}body.dark-mode .markdown-content .katex-display-block,body.dark-mode .message-content .katex-display-block{background:rgba(255,255,255,.05)!important}.markdown-content .katex-display-block>.katex,.message-content .katex-display-block>.katex{display:inline-block;max-width:100%}.markdown-content .katex-error,.message-content .katex-error{color:#e74c3c;background:rgba(231,76,60,.1);padding:.2em .4em;border-radius:4px;font-family:monospace;font-size:.9em}.markdown-content p,.message-content p{margin:.5em 0}.message-content code:not(.katex-mathml){background:rgba(0,0,0,.05);padding:.2em .4em;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.markdown-content .katex .mbin,.markdown-content .katex .mord,.markdown-content .katex .mrel,.message-content .katex .mbin,.message-content .katex .mord,.message-content .katex .mrel{margin:0 .1em}.markdown-content .katex-display-block,.message-content .katex-display-block{animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.markdown-content .katex-display-block:hover,.message-content .katex-display-block:hover{background:rgba(0,0,0,.04);transition:background .2s ease}@media (prefers-color-scheme:dark){.markdown-content .katex-display-block:hover,.message-content .katex-display-block:hover{background:rgba(255,255,255,.08)}}body.dark-mode .markdown-content .katex-display-block:hover,body.dark-mode .message-content .katex-display-block:hover{background:rgba(255,255,255,.08)!important}.message-container{contain:layout style;will-change:auto}.message-container .avatar-wrapper{contain:layout paint}.message-content{contain:layout style;transform:translateZ(0);backface-visibility:hidden}.katex,.katex-display-block{contain:layout style paint}.streaming-message{contain:layout;transform:translateZ(0)}.messages-container{contain:layout}.action-icon-btn{cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:500;transition:all .2s;border:none!important}.action-icon-btn.copy-btn,.action-icon-btn.edit-btn{background:#ffffff;color:#4b5563}.action-icon-btn:hover{opacity:.85;background:#f9fafb}body.dark-mode .action-icon-btn.copy-btn,body.dark-mode .action-icon-btn.edit-btn{background:#3a3a3a;color:#e0e0e0}body.dark-mode .action-icon-btn:hover{background:#4a4a4a}@media (max-width:768px){.edit-btn{display:none!important}}.message-edited-label{font-size:.72rem;color:#9ca3af;margin-top:6px;font-style:normal;display:inline-flex;align-items:center;gap:4px;cursor:pointer;background:#f3f5fa;padding:2px 8px;borderRadius:10px;transition:all .2s}.message-edited-label:hover{background:#e5e7eb}body.dark-mode .message-edited-label{background:transparent!important;color:#9ca3af;border:none!important}body.dark-mode .message-edited-label:hover{color:#d1d5db}