.landing-page-container{padding:3rem 1rem;overflow-x:hidden}.landing-page-content{max-width:80rem;margin-left:auto;margin-right:auto}.landing-page-header{text-align:center;margin-bottom:3rem}.logo-container{justify-content:center;margin-bottom:1.5rem;display:flex}.company-logo{width:auto;height:50px}.heading-accent{color:#17a1e5}.dark .heading-accent{color:#5bc0f0}.landing-page-subtitle{max-width:42rem;margin-top:1rem;margin-left:auto;margin-right:auto}.bots-grid{grid-template-columns:repeat(1,minmax(0,1fr));align-items:stretch;gap:2.5rem;display:grid}.bots-count{text-align:right;margin-bottom:1rem;font-size:.8rem}.bot-card{flex-direction:column;height:100%;padding:1.5rem;display:flex}.bot-card-content{flex-direction:column;flex:1;display:flex}.bot-card-button-wrapper{justify-content:center;margin-top:auto;padding-top:1.25rem;display:flex}.bot-card-3d{will-change:transform,box-shadow;border:2px solid #d1d5db;border-color:#f9fafb #d1d5db #d1d5db #f3f4f6;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease-out}.dark .bot-card-3d{border-color:#374151 #111827 #111827 #374151}.bot-card-3d:hover{transform:translateY(-8px)scale(1.03);box-shadow:0 20px 40px #0000001f,0 8px 16px #00000014}.bot-card-icon-container{color:#17a1e5;background:#17a1e51a;border-radius:9999px;justify-content:center;align-items:center;width:5rem;height:5rem;margin-bottom:1.5rem;display:flex}.dark .bot-card-icon-container{color:#5bc0f0;background:#17a1e526}.bot-card-title-row{align-items:center;gap:.625rem;margin-bottom:.5rem;display:flex}.bot-card-title{margin:0}.data-agent-badge{color:#17a8e5;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#17a8e51a;border:1px solid #17a8e540;border-radius:9999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.15rem .6rem;font-size:.65rem;font-weight:600;display:inline-flex}.agent-badge{color:#8b5cf6;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#8b5cf61a;border:1px solid #8b5cf640;border-radius:9999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.15rem .6rem;font-size:.65rem;font-weight:600;display:inline-flex}.coming-soon-btn{color:#9ca3af;letter-spacing:.08em;text-transform:uppercase;cursor:not-allowed;background:#f3f4f6;border:1.5px solid #e5e7eb;border-radius:9999px;justify-content:center;align-items:center;width:100%;margin:0;padding:.75rem 2rem;font-size:.8rem;font-weight:600;display:inline-flex}.dark .coming-soon-btn{color:#6b7280;background:#1f2937;border-color:#374151}.bot-card-description{margin-bottom:1.5rem}.bot-card-button{justify-content:center;align-items:center;padding:.75rem 1.5rem;display:inline-flex}.bot-card-button a{-webkit-text-decoration:unset;-webkit-text-decoration:unset;text-decoration:unset;color:unset!important}.bot-card-button a:hover{color:unset!important;text-decoration:underline!important}.bot-card-button-icon{width:1.25rem;height:1.25rem;margin-left:.5rem}.launch-bot-btn{color:#fff;letter-spacing:.08em;text-transform:uppercase;z-index:1;cursor:pointer;background:#17a1e5;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 2rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex;position:relative;box-shadow:0 2px 8px #17a1e540}.launch-bot-btn:hover{color:#fff;background:#1591d1;text-decoration:none;transform:translateY(-2px);box-shadow:0 6px 16px #17a1e559}.launch-bot-btn:active{transform:translateY(0);box-shadow:0 2px 4px #17a1e533}.search-container{justify-content:center;margin-top:2rem;display:flex}.search-input-wrapper{width:100%;max-width:28rem;position:relative}.search-icon{color:#9ca3af;pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-input{color:#1f2937;background-color:#fff;border:2px solid #e5e7eb;border-radius:9999px;outline:none;width:100%;padding:.75rem 2.5rem .75rem 3rem;font-size:.95rem;transition:all .2s;box-shadow:0 1px 3px #0000000f}.search-input::placeholder{color:#9ca3af}.search-input:focus{border-color:#17a8e5;box-shadow:0 0 0 3px #17a8e526,0 1px 3px #0000000f}.dark .search-input{color:#f3f4f6;background-color:#1f2937;border-color:#374151}.dark .search-input:focus{border-color:#17a8e5;box-shadow:0 0 0 3px #17a8e533}.search-clear{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:.25rem;transition:color .15s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.search-clear:hover{color:#4b5563}.dark .search-clear:hover{color:#d1d5db}.view-toggle{background:#f3f4f6;border-radius:.5rem;gap:.25rem;margin-left:.75rem;padding:.25rem;display:flex}.dark .view-toggle{background:#374151}.view-toggle-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;margin:0;padding:0;transition:all .15s;display:flex}.view-toggle-btn:hover{color:#4b5563;background:#0000000d}.dark .view-toggle-btn:hover{color:#d1d5db;background:#ffffff1a}.view-toggle-btn-active{color:#17a1e5;background:#fff;box-shadow:0 1px 3px #0000001a}.view-toggle-btn-active:hover{color:#17a1e5;background:#fff}.dark .view-toggle-btn-active{color:#17a1e5;background:#1f2937}.filter-pills{justify-content:center;gap:.5rem;margin-top:1.25rem;display:flex}.filter-pill{color:#6b7280;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:9999px;margin:0;padding:.4rem 1.25rem;font-size:.8rem;font-weight:500;transition:all .15s}.filter-pill:hover{color:#17a1e5;border-color:#17a1e5}.dark .filter-pill{color:#9ca3af;background:#1f2937;border-color:#374151}.dark .filter-pill:hover{color:#17a1e5;border-color:#17a1e5}.filter-pill-active{color:#fff;background:#17a1e5;border-color:#17a1e5}.filter-pill-active:hover{color:#fff;background:#1591d1;border-color:#1591d1}.dark .filter-pill-active{color:#fff;background:#17a1e5;border-color:#17a1e5}.bots-grid-list{border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden;grid-template-columns:1fr!important;gap:0!important}.bots-grid-list .bot-card{border-bottom:1px solid #f3f4f6;border-radius:0;grid-template-columns:2.5rem 15rem 1fr 9rem;align-items:center;gap:1.25rem;height:auto;padding:.75rem 1.5rem;display:grid}.bots-grid-list .bot-card:last-child{border-bottom:none}.bots-grid-list .bot-card-3d{border:none}.bots-grid-list .bot-card-3d:hover{box-shadow:none;background:#f8fafc;transform:none}.bots-grid-list .bot-card-icon-container{width:2.25rem;height:2.25rem;margin-bottom:0}.bots-grid-list .bot-card-content{display:contents}.bots-grid-list .bot-card-title-row{gap:.5rem;margin-bottom:0}.bots-grid-list .bot-card-title{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.bots-grid-list .bot-card-description{-webkit-line-clamp:1;color:#9ca3af;-webkit-box-orient:vertical;margin-bottom:0;font-size:.8rem;display:-webkit-box;overflow:hidden}.bots-grid-list .bot-card-button-wrapper{justify-content:flex-end;margin-top:0;padding-top:0}.bots-grid-list .launch-bot-btn{white-space:nowrap;width:auto;box-shadow:none;padding:.4rem 1.25rem;font-size:.65rem}.bots-grid-list .launch-bot-btn:hover{box-shadow:none;transform:none}.bots-grid-list .coming-soon-btn{white-space:nowrap;width:auto;padding:.4rem 1.25rem;font-size:.65rem}.dark .bots-grid-list{border-color:#374151}.dark .bots-grid-list .bot-card{border-bottom-color:#1f2937}.dark .bots-grid-list .bot-card-3d:hover{background:#1e293b}.empty-state{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-state svg{opacity:.5;margin-bottom:1rem}.empty-state-title{color:#6b7280;margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.dark .empty-state-title{color:#d1d5db}.empty-state-text{color:#9ca3af;margin-bottom:1.25rem;font-size:.875rem}.empty-state-btn{color:#fff;cursor:pointer;background:#17a1e5;border:none;border-radius:9999px;margin:0;padding:.5rem 1.5rem;font-size:.8rem;font-weight:600;transition:background .15s}.empty-state-btn:hover{background:#116ec1}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.bot-card-animate{animation:.4s ease-out both cardFadeIn}.landing-page-footer{text-align:center;margin-top:4rem}@media (min-width:640px){.landing-page-container{padding-left:1.5rem;padding-right:1.5rem}.landing-page-header{margin-bottom:4rem}.bots-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}.bot-card{padding:2rem}}@media (min-width:1024px){.landing-page-container{padding-left:2rem;padding-right:2rem}.bots-grid{gap:3.5rem}}button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:5px;margin-left:10px;padding:10px 20px}.code-block{contain:layout style paint;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border-radius:8px;margin:16px 0;transition:box-shadow .2s;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 4px 6px #0000001a}.code-block:hover{box-shadow:0 6px 12px #00000026}.code-block.theme-dark{background-color:#1e293b;border:1px solid #334155}.code-block.theme-dark .code-header{background-color:#0f172a;border-bottom:1px solid #334155}.code-block.theme-dark .code-language{color:#94a3b8}.code-block.theme-dark pre{background-color:#1e293b}.code-block.theme-dark code{color:#e2e8f0}.code-block.theme-light{background-color:#f8fafc;border:1px solid #e2e8f0}.code-block.theme-light .code-header{background-color:#f1f5f9;border-bottom:1px solid #cbd5e0}.code-block.theme-light .code-language{color:#64748b}.code-block.theme-light pre{background-color:#f8fafc}.code-block.theme-light code{color:#1e293b}.code-header{justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.code-language{text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;font-size:.75em;font-weight:600;display:flex}.code-actions{align-items:center;gap:8px;display:flex}.code-theme-button,.code-copy-button{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.85em;font-weight:500;transition:all .2s;display:flex}.code-theme-button{color:#64748b;background-color:#64748b1a;padding:6px 10px}.code-theme-button:hover{background-color:#64748b33;transform:scale(1.05)}.code-copy-button{color:#3b82f6;background-color:#3b82f61a}.code-copy-button:hover{background-color:#3b82f633;transform:translateY(-1px)}.code-copy-button.copied{color:#10b981;background-color:#10b98126}.code-copy-button.copied:hover{background-color:#10b98140}.copy-text{font-size:.9em;font-weight:500}.code-block pre{will-change:auto;margin:0;padding:16px;overflow-x:auto;transform:translateZ(0)}.code-block code{text-rendering:optimizeLegibility;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,Courier New,monospace;font-size:.9em;line-height:1.6}.code-block.theme-dark pre::-webkit-scrollbar{height:10px}.code-block.theme-dark pre::-webkit-scrollbar-track{background:#0f172a;border-radius:4px}.code-block.theme-dark pre::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}.code-block.theme-dark pre::-webkit-scrollbar-thumb:hover{background:#64748b}.code-block.theme-light pre::-webkit-scrollbar{height:10px}.code-block.theme-light pre::-webkit-scrollbar-track{background:#e2e8f0;border-radius:4px}.code-block.theme-light pre::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.code-block.theme-light pre::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:600px){.code-block{border-radius:0;margin:12px -8px}.code-header{padding:8px 12px}.copy-text{display:none}.code-copy-button,.code-theme-button{padding:6px 8px}}.mermaid-diagram{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;margin:16px 0;padding:20px;display:flex;overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto}.mermaid-error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin:16px 0;padding:16px}.mermaid-error p{margin:0 0 8px;font-weight:600}.mermaid-error pre{background:#fee2e2;border-radius:4px;margin:8px 0 0;padding:12px;font-size:.85em;overflow-x:auto}.image-wrapper{border-radius:8px;max-width:100%;margin:16px 0;transition:transform .2s;display:inline-block;position:relative;overflow:hidden;box-shadow:0 4px 6px #0000001a}.image-wrapper:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.zoomable-image{cursor:pointer;opacity:0;max-width:100%;height:auto;transition:opacity .3s;display:block}.zoomable-image.loaded{opacity:1}.zoom-button{color:#fff;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:12px;right:12px}.image-wrapper:hover .zoom-button{opacity:1}.zoom-button:hover{background:#000c;transform:scale(1.1)}.image-zoom-modal{z-index:9999;cursor:zoom-out;background:#000000f2;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.zoomed-image{object-fit:contain;cursor:default;border-radius:4px;max-width:95%;max-height:95vh;animation:.3s zoomIn;box-shadow:0 10px 40px #00000080}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.zoom-close-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;position:absolute;top:20px;right:20px}.zoom-close-button:hover{background:#ffffff4d;transform:scale(1.1)}.image-error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin:16px 0;padding:16px}.image-error p{margin:0 0 8px;font-weight:600}.image-error a{color:#dc2626;text-decoration:underline}@media (max-width:600px){.zoom-button{width:32px;height:32px}.zoom-close-button{width:40px;height:40px;top:16px;right:16px}.zoomed-image{max-width:100%;max-height:90vh}}.collapsible-section{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;margin:16px 0;transition:box-shadow .2s;overflow:hidden;box-shadow:0 2px 4px #0000000d}.collapsible-section:hover{box-shadow:0 4px 8px #00000014}.collapsible-header{cursor:pointer;text-align:left;background:linear-gradient(90deg,#f8f9fa,#f1f3f5);border:none;align-items:center;gap:10px;width:100%;padding:14px 18px;font-family:inherit;transition:all .2s;display:flex}.collapsible-header:hover{background:linear-gradient(90deg,#e9ecef,#e2e8f0)}.collapsible-header:focus{outline-offset:-2px;outline:2px solid #667eea}.collapsible-header:active{transform:scale(.99)}.chevron-icon{color:#667eea;flex-shrink:0;font-size:.9em;transition:transform .3s,color .2s}.collapsible-header:hover .chevron-icon{color:#5568d3}.collapsible-title{color:#2d3748;flex-grow:1;font-size:.95em;font-weight:600}.collapsible-content{background:#fafbfc;border-top:1px solid #e2e8f0;padding:18px;animation:.3s ease-out slideDown}@keyframes slideDown{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0;transform:translateY(-10px)}to{opacity:1;max-height:200px;padding-top:15px;padding-bottom:15px;transform:translateY(0)}}[data-theme=dark] .collapsible-section{background-color:#2d2d2d;border-color:#3a3a3a}[data-theme=dark] .collapsible-header{background:linear-gradient(90deg,#2a2a2a,#252525)}[data-theme=dark] .collapsible-header:hover{background:linear-gradient(90deg,#333,#2a2a2a)}[data-theme=dark] .collapsible-title{color:#e0e0e0}[data-theme=dark] .collapsible-content{background:#252525;border-top-color:#3a3a3a}[data-theme=dark] .chevron-icon{color:#94a3b8}[data-theme=dark] .collapsible-header:hover .chevron-icon{color:#cbd5e0}.simple-markdown-renderer{color:inherit;line-height:1.6}.simple-paragraph{margin:.5em 0;line-height:1.6}.simple-code-block{background:#1e1e1e;border-radius:6px;margin:1em 0;overflow:hidden}.simple-code-lang{color:#858585;text-transform:uppercase;letter-spacing:.05em;background:#2d2d2d;padding:.5em 1em;font-size:.75em;font-weight:600}.simple-code-block pre{background:#1e1e1e;margin:0;padding:1em;overflow-x:auto}.simple-code-block code{color:#d4d4d4;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em;line-height:1.5}.simple-inline-code{color:#e83e8c;background:#f4f4f4;border-radius:3px;padding:.2em .4em;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em}.simple-list-item{margin:.3em 0;padding-left:1.5em;position:relative}.simple-list-marker{color:#1976d2;font-weight:700;position:absolute;left:.5em}.simple-markdown-renderer h1,.simple-markdown-renderer h2,.simple-markdown-renderer h3{margin:.8em 0 .5em;font-weight:600;line-height:1.3}.simple-markdown-renderer h1{border-bottom:2px solid #e0e0e0;padding-bottom:.3em;font-size:1.8em}.simple-markdown-renderer h2{font-size:1.5em}.simple-markdown-renderer h3{font-size:1.25em}.plain-text-renderer{color:inherit;line-height:1.6}.chat-message-wrapper{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;color:#1a1a1a;box-sizing:border-box;contain:content;will-change:contents;-webkit-backface-visibility:hidden;backface-visibility:hidden;width:100%;max-width:100%;font-size:15px;line-height:1.75;overflow:hidden;transform:translateZ(0)}.chat-message-wrapper *{box-sizing:border-box;max-width:100%}.chat-message-wrapper a,.chat-message-wrapper code{word-break:break-word;overflow-wrap:break-word}.chat-message-wrapper h1,.chat-message-wrapper h2,.chat-message-wrapper h3,.chat-message-wrapper h4,.chat-message-wrapper h5,.chat-message-wrapper h6{color:#1a1a1a;margin-top:16px;margin-bottom:10px;font-weight:600;line-height:1.3;list-style-type:none!important;display:block!important}.chat-message-wrapper h1{border-bottom:2px solid #e0e0e0;padding-bottom:8px;font-size:1.8em}.chat-message-wrapper h2{border-bottom:1px solid #e0e0e0;padding-bottom:6px;font-size:1.5em}.chat-message-wrapper h3{font-size:1.3em}.chat-message-wrapper h4{font-size:1.1em}.chat-message-wrapper p{margin:12px 0;line-height:1.75}.chat-message-wrapper p:first-child{margin-top:0}.chat-message-wrapper p:last-child{margin-bottom:0}.chat-message-wrapper p+ul,.chat-message-wrapper p+ol,.chat-message-wrapper h1+ul,.chat-message-wrapper h1+ol,.chat-message-wrapper h2+ul,.chat-message-wrapper h2+ol,.chat-message-wrapper h3+ul,.chat-message-wrapper h3+ol,.chat-message-wrapper h4+ul,.chat-message-wrapper h4+ol{margin-top:10px}.chat-message-wrapper li:first-child{margin-top:4px}.chat-message-wrapper li:last-child{margin-bottom:4px}.chat-message-wrapper ul,.chat-message-wrapper ol{margin:12px 0;padding-left:28px;line-height:1.6}.chat-message-wrapper li{text-align:left;margin:8px 0;padding-left:8px;line-height:1.6;display:list-item}.chat-message-wrapper ul li{list-style-type:none;list-style-position:outside;position:relative}.chat-message-wrapper ul li:before{content:"•";color:#667eea;font-size:1.2em;font-weight:700;position:absolute;top:-2px;left:-20px}.chat-message-wrapper ul li:has(>strong:first-child):before{content:none!important;display:none!important}.chat-message-wrapper ul li:has(>p>strong:first-child):before{content:none!important;display:none!important}.chat-message-wrapper ul li:has(>strong:first-child){margin-left:-28px!important;padding-left:0!important;list-style:none!important}.chat-message-wrapper ul li:has(>p>strong:first-child){margin-left:-28px!important;padding-left:0!important;list-style:none!important}.chat-message-wrapper p strong:before,.chat-message-wrapper strong:before{content:none!important}.chat-message-wrapper p:has(strong){margin-left:0!important;padding-left:0!important;list-style:none!important}.chat-message-wrapper p>strong:first-child{color:#1a1a1a;margin-bottom:4px;font-weight:700;display:inline-block;list-style:none!important}.chat-message-wrapper :has(>strong:first-child):before{content:none!important}.chat-message-wrapper p{position:relative;list-style:none!important}.chat-message-wrapper p:before{content:none!important}.chat-message-wrapper strong:first-child{display:inline}.chat-message-wrapper>strong:before,.chat-message-wrapper div>strong:before{content:none!important;display:none!important}.chat-message-wrapper ol li{list-style-type:decimal;list-style-position:outside}.chat-message-wrapper ol li::marker{color:#667eea;font-weight:600}.chat-message-wrapper ul ul,.chat-message-wrapper ol ul,.chat-message-wrapper ol ol,.chat-message-wrapper ul ol{margin:6px 0;padding-left:24px}.chat-message-wrapper ul ul li{list-style-type:circle}.chat-message-wrapper ol ol li{list-style-type:lower-alpha}.chat-message-wrapper em{font-style:italic}.chat-message-wrapper hr{border:none;border-top:2px solid #e2e8f0;margin:24px 0;position:relative}.chat-message-wrapper hr:after{content:"···";color:#cbd5e0;letter-spacing:4px;background:#fff;padding:0 12px;font-size:1.2em;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.chat-message-wrapper blockquote{color:#4a5568;background-color:#f7fafc;border-left:4px solid #667eea;border-radius:4px;margin:16px 0;padding:12px 16px;font-style:italic;position:relative}.chat-message-wrapper blockquote:before{color:#667eea;opacity:.2;font-family:Georgia,serif;position:absolute;top:-10px;left:10px}.chat-message-wrapper blockquote p{margin:8px 0}.chat-message-wrapper .callout{background-color:#f7fafc;border-left:4px solid;border-radius:8px;margin:16px 0;padding:14px 18px;box-shadow:0 2px 4px #0000000d}.chat-message-wrapper .callout-note{background-color:#eff6ff;border-left-color:#3b82f6}.chat-message-wrapper .callout-warning{background-color:#fffbeb;border-left-color:#f59e0b}.chat-message-wrapper .callout-error{background-color:#fef2f2;border-left-color:#ef4444}.chat-message-wrapper .callout-success{background-color:#f0fdf4;border-left-color:#10b981}.chat-message-wrapper code{color:#e53e3e;background-color:#f4f5f7;border:1px solid #e2e8f0;border-radius:4px;padding:3px 6px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,Courier New,monospace;font-size:.88em;font-weight:500}.chat-message-wrapper pre{contain:layout style;-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:#1e293b;border:1px solid #334155;border-radius:8px;max-width:100%;margin:16px 0;padding:0;overflow:hidden;transform:translateZ(0);box-shadow:0 4px 6px #0000001a}.chat-message-wrapper pre code{color:#e2e8f0;white-space:pre;word-wrap:normal;background:0 0;border:none;max-width:100%;padding:16px;font-size:.9em;font-weight:400;line-height:1.6;display:block;overflow-x:auto}.chat-message-wrapper pre code::-webkit-scrollbar{height:8px}.chat-message-wrapper pre code::-webkit-scrollbar-track{background:#0f172a;border-radius:4px}.chat-message-wrapper pre code::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}.chat-message-wrapper pre code::-webkit-scrollbar-thumb:hover{background:#64748b}.chat-message-wrapper a{color:#667eea;border-bottom:1px solid #0000;font-weight:500;text-decoration:none;transition:all .2s;position:relative}.chat-message-wrapper a:hover{color:#5568d3;border-bottom-color:#667eea;text-decoration:none}.chat-message-wrapper a:focus{outline-offset:2px;border-radius:2px;outline:2px solid #667eea}.chat-message-wrapper a[href^=http]:after,.chat-message-wrapper a[href^="https://"]:after{content:"↗";opacity:.7;margin-left:3px;font-size:.8em}.chat-message-wrapper table{border-collapse:collapse;border:1px solid #e0e0e0;border-radius:8px;width:100%;margin:16px 0;overflow:hidden;box-shadow:0 2px 4px #0000000d}.chat-message-wrapper table th,.chat-message-wrapper table td{text-align:left;border:1px solid #e0e0e0;padding:12px 16px;transition:background-color .2s}.chat-message-wrapper table th{color:#2c3e50;z-index:1;background-color:#f8f9fa;font-weight:600;position:sticky;top:0}.chat-message-wrapper table tr:nth-child(2n){background-color:#fafafa}.chat-message-wrapper table tr:hover{background-color:#f0f4f8}@media (max-width:600px){.chat-message-wrapper table{white-space:nowrap;-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}.message-sources{border-top:1px solid #0000001a;margin-top:12px;padding-top:12px}.sources-label{color:#666;margin-bottom:8px;font-size:12px;font-weight:600}.sources-list{flex-wrap:wrap;gap:8px;display:flex}.source-badge{color:#fff;cursor:default;background:#17a1e5;border-radius:16px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .2s;display:inline-block;box-shadow:0 2px 4px #0000001a}.source-badge:hover{background:#1591d1;transform:translateY(-1px);box-shadow:0 4px 8px #17a1e54d}.chat-message-wrapper kbd{color:#2d3748;white-space:nowrap;background-color:#f7fafc;border:1px solid #cbd5e0;border-radius:4px;padding:3px 6px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.85em;font-weight:600;line-height:1;display:inline-block;box-shadow:0 2px #00000014}.chat-message-wrapper ul li[data-type=taskItem],.chat-message-wrapper input[type=checkbox]{padding-left:0;list-style:none}.chat-message-wrapper input[type=checkbox]{cursor:pointer;accent-color:#10b981;width:16px;height:16px;margin-right:8px}.chat-message-wrapper strong{color:#1a1a1a;font-weight:600}.chat-message-wrapper em strong,.chat-message-wrapper strong em{color:#1a1a1a;font-weight:700}.chat-message-wrapper dl{margin:16px 0}.chat-message-wrapper dt{color:#2d3748;margin-top:12px;font-weight:600}.chat-message-wrapper dd{color:#4a5568;margin-bottom:8px;margin-left:24px}.chat-message-wrapper li>p{margin:4px 0}.chat-message-wrapper li>ul,.chat-message-wrapper li>ol{margin-top:8px;margin-bottom:8px}.chat-message-wrapper ::selection{color:#1a202c;background-color:#bee3f8}.chat-message-wrapper a:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #667eea}.chat-message-wrapper button:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #667eea}.chat-message-wrapper .katex{font-size:1.1em}.chat-message-wrapper .katex-display{background:#f7fafc;border-left:4px solid #667eea;border-radius:8px;margin:20px 0;padding:16px;overflow:auto hidden}.chat-message-wrapper .katex-display>.katex{text-align:center}.chat-message-wrapper .katex-inline{background:#667eea0d;border-radius:3px;padding:2px 4px}.chat-message-wrapper details{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin:16px 0;padding:12px}.chat-message-wrapper summary{cursor:pointer;color:#2d3748;-webkit-user-select:none;user-select:none;background:#edf2f7;border-radius:8px 8px 0 0;align-items:center;gap:8px;margin:-12px -12px 12px;padding:8px;font-weight:600;transition:background-color .2s;display:flex}.chat-message-wrapper summary:hover{background:#e2e8f0}.chat-message-wrapper summary::marker{color:#667eea;font-size:1.2em}.chat-message-wrapper details[open] summary{border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0;margin-bottom:12px}.chat-message-wrapper .task-list-item{padding-left:0;list-style:none;position:relative}.chat-message-wrapper .task-list-item:before{content:none}.chat-message-wrapper .task-list-item input[type=checkbox]{margin-right:8px;position:relative;top:2px}.chat-message-wrapper .footnotes{color:#4a5568;border-top:2px solid #e2e8f0;margin-top:32px;padding-top:16px;font-size:.9em}.chat-message-wrapper .footnotes ol{padding-left:24px}.chat-message-wrapper .footnote-ref{color:#667eea;font-weight:600;text-decoration:none}.chat-message-wrapper .footnote-ref:before{content:"["}.chat-message-wrapper .footnote-ref:after{content:"]"}.chat-message-wrapper abbr{cursor:help;border-bottom:1px dotted #94a3b8;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.chat-message-wrapper mark{color:#1a202c;background-color:#fef08a;border-radius:3px;padding:2px 4px}.chat-message-wrapper sub,.chat-message-wrapper sup{vertical-align:baseline;font-size:.75em;line-height:0;position:relative}.chat-message-wrapper sup{top:-.5em}.chat-message-wrapper sub{bottom:-.25em}.chat-message-wrapper figure{text-align:center;margin:24px 0}.chat-message-wrapper figcaption{color:#64748b;margin-top:12px;font-size:.9em;font-style:italic}@media (max-width:768px){.chat-message-wrapper{font-size:14.5px}.chat-message-wrapper h1{font-size:1.6em}.chat-message-wrapper h2{font-size:1.4em}.chat-message-wrapper pre code{padding:12px;font-size:.88em}}@media (max-width:600px){.chat-message-wrapper{font-size:14px}.chat-message-wrapper h1{font-size:1.5em}.chat-message-wrapper h2{font-size:1.3em}.chat-message-wrapper .katex-display{margin:16px 0;padding:12px}.chat-message-wrapper pre{border-radius:6px;margin:12px 0}.chat-message-wrapper pre code{padding:10px;font-size:.85em}.chat-message-wrapper table{font-size:.9em}.chat-message-wrapper ul,.chat-message-wrapper ol{padding-left:20px}}@media (max-width:480px){.chat-message-wrapper{font-size:13px}.chat-message-wrapper pre code{padding:8px;font-size:.82em}}.toast{z-index:9999;background:#fff;border-radius:8px;align-items:center;gap:12px;min-width:300px;max-width:500px;padding:12px 16px;animation:.3s ease-out slideIn;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #00000026}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.toast-success{border-left:4px solid #4caf50}.toast-error{border-left:4px solid #f44336}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-success .toast-icon{color:#4caf50}.toast-error .toast-icon{color:#f44336}.toast-message{color:#333;flex-grow:1;font-size:.95em;line-height:1.4}.toast-close{color:#999;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.toast-close:hover{color:#666;background-color:#0000000d}[data-theme=dark] .toast{background:#2d2d2d;box-shadow:0 4px 12px #0006}[data-theme=dark] .toast-message{color:#e0e0e0}[data-theme=dark] .toast-close{color:#999}[data-theme=dark] .toast-close:hover{color:#ccc;background-color:#ffffff1a}@media (max-width:600px){.toast{min-width:auto;max-width:none;bottom:16px;left:16px;right:16px}}.chat-history-overlay{z-index:10;pointer-events:none;background-color:#0000;justify-content:flex-end;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;top:3rem;bottom:0;left:0;right:0}@media (max-width:768px){.chat-history-overlay{-webkit-backdrop-filter:blur(2px);pointer-events:all;background-color:#00000080}.chat-history-panel{height:calc(100vh - 3rem);position:fixed;top:3rem;right:0}}.chat-history-panel{pointer-events:all;z-index:11;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-font-smoothing:antialiased;background-color:#fff;border-top:1px solid #d0d0d0;border-left:1px solid #d0d0d0;flex-direction:column;width:400px;max-width:90vw;height:calc(100vh - 3rem);animation:.3s ease-in-out slideIn;display:flex;position:fixed;top:3rem;right:0;overflow:hidden;transform:translateZ(0);box-shadow:-4px 4px 20px #00000026}.chat-history-header{background-color:#f9f9f9;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:20px;display:flex}.chat-history-title{color:#333;align-items:center;gap:10px;margin:0;font-size:1.15em;font-weight:600;display:flex}.chat-history-close{cursor:pointer;color:#666;background:0 0;border:none;justify-content:center;align-items:center;padding:5px;transition:color .2s;display:flex}.chat-history-close:hover{color:#333}.chat-history-filters{border-bottom:1px solid #e0e0e0;flex-direction:column;gap:10px;padding:15px 20px;animation:.3s ease-out slideDown;display:flex}.filter-group{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;transition:all .2s;display:flex}.filter-group:focus-within{background-color:#fff;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.filter-group svg{color:#666;flex-shrink:0}.filter-group:focus-within svg{color:#4a90e2}.filter-input{color:#333;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.9em}.filter-input::placeholder{color:#999}.filter-input[type=date]{cursor:pointer}.filter-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .2s}.filter-input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.filter-input[type=date]::-webkit-inner-spin-button{display:none}.filter-input[type=date]::-webkit-clear-button{display:none}.clear-filter-btn{cursor:pointer;color:#999;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.clear-filter-btn:hover{color:#666;background-color:#0000000d}.clear-filter-btn:active{transform:scale(.95)}.chat-history-actions{border-bottom:1px solid #e0e0e0;justify-content:flex-end;gap:10px;padding:12px 20px;display:flex}.action-button{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:8px;transition:all .2s;display:flex}.search-button{color:#fff;background-color:#667eea}.search-button:hover:not(:disabled){background-color:#5568d3;transform:scale(1.05)}.search-button:disabled{color:#999;cursor:not-allowed;background-color:#e0e0e0;transform:none}.refresh-button{color:#fff;background-color:#4a90e2}.refresh-button:hover{background-color:#357abd;transform:scale(1.05)}.delete-button{color:#fff;background-color:#f44336}.delete-button:hover:not(:disabled){background-color:#d32f2f;transform:scale(1.05)}.delete-button:disabled{color:#999;cursor:not-allowed;background-color:#e0e0e0;transform:none}.chat-history-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;padding:10px;position:relative;overflow-y:auto}.history-loading-overlay{color:#888;text-align:center;z-index:5;background:#ffffffe6;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.history-loading-spinner{border:3px solid #e0e0e0;border-top-color:#4a90e2;border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.8s linear infinite spin}.history-reloading-indicator{color:#1976d2;background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;justify-content:center;align-items:center;gap:8px;margin-bottom:10px;padding:8px 12px;font-size:.85em;font-weight:500;animation:.3s ease-in-out fadeIn;display:flex}.reloading-spinner{border:2px solid #90caf9;border-top-color:#1976d2;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.history-empty{color:#888;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.history-empty svg{color:#ccc;margin-bottom:15px}.history-empty p{margin:0;font-size:.95em}.history-thread-item{cursor:pointer;background:linear-gradient(145deg,#fff 0%,#fafafa 100%);border:1px solid #e0e0e0;border-radius:8px;margin-bottom:10px;padding:15px;transition:all .2s;animation:.3s ease-out slideInItem;position:relative;overflow:hidden}@keyframes slideInItem{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.history-thread-item:hover{background:linear-gradient(145deg,#f8fbff 0%,#f0f7ff 100%);border-color:#4a90e2;transform:translate(2px);box-shadow:0 4px 12px #4a90e226}.current-session-item{background:linear-gradient(135deg,#e3f2fd 0%,#f3e5f5 100%);border:2px solid #4a90e2;animation:.3s ease-out fadeInSlide;position:relative;overflow:hidden;box-shadow:0 2px 12px #4a90e233}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.current-session-item:hover{background:linear-gradient(135deg,#d1e9f6 0%,#ead9f5 100%);border-color:#357abd;box-shadow:0 4px 16px #4a90e24d}.current-session-badge{color:#1976d2;background:#ffffffe6;border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:.85em;font-weight:700;animation:2s infinite pulse-badge;display:inline-flex;box-shadow:0 1px 3px #0000001a}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.history-divider{color:#999;text-transform:uppercase;letter-spacing:.5px;align-items:center;margin:20px 0 15px;font-size:.8em;font-weight:600;display:flex}.history-divider:before,.history-divider:after{content:"";background:linear-gradient(90deg,#0000,#e0e0e0,#0000);flex:1;height:1px}.history-divider span{z-index:2;background:#fff;padding:0 15px;position:relative}.thread-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.thread-label{color:#2c3e50;flex:1;align-items:center;gap:8px;font-size:1em;font-weight:600;transition:color .2s;display:flex}.history-thread-item:hover .thread-label{color:#1976d2}.label-edit-icon{cursor:pointer;color:#666;opacity:0;background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex}.history-thread-item:hover .label-edit-icon{opacity:1}.label-edit-icon:hover{color:#4a90e2}.thread-delete-btn{cursor:pointer;color:#f44336;opacity:0;background:0 0;border:none;align-items:center;padding:4px;transition:opacity .2s;display:flex}.history-thread-item:hover .thread-delete-btn{opacity:1}.thread-delete-btn:hover{opacity:1!important}.thread-label-edit{align-items:center;gap:8px;width:100%;display:flex}.label-input{border:1px solid #4a90e2;border-radius:4px;outline:none;flex:1;padding:6px 10px;font-size:.9em}.label-save-btn,.label-cancel-btn{cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:.85em;transition:background-color .2s}.label-save-btn{color:#fff;background-color:#4a90e2}.label-save-btn:hover{background-color:#357abd}.label-cancel-btn{color:#333;background-color:#e0e0e0}.label-cancel-btn:hover{background-color:#d0d0d0}.thread-preview{color:#555;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;background:#4a90e208;border-radius:6px;-webkit-box-orient:vertical;margin-top:8px;margin-bottom:8px;padding:8px 10px;font-size:.85em;line-height:1.5;transition:all .2s;display:-webkit-box;overflow:hidden}.history-thread-item:hover .thread-preview{color:#333;background:#4a90e214}.current-session-item .thread-preview{color:#666;background:0 0;padding:0}.current-session-item:hover .thread-preview{color:#666;background:0 0}.thread-meta{color:#999;justify-content:space-between;align-items:center;margin-top:8px;font-size:.75em;display:flex}.thread-timestamp{color:#666;align-items:center;gap:4px;font-weight:500;display:flex}.thread-count{white-space:nowrap;color:#1976d2;background:linear-gradient(135deg,#e3f2fd 0%,#f3e5f5 100%);border-radius:12px;align-items:center;padding:4px 8px;font-size:.95em;font-weight:600;transition:all .2s;display:flex;box-shadow:0 1px 3px #00000014}.history-thread-item:hover .thread-count{background:linear-gradient(135deg,#bbdefb 0%,#e1bee7 100%);transform:scale(1.05)}.confirm-dialog-overlay{z-index:100;pointer-events:all;background-color:#0009;justify-content:center;align-items:center;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.confirm-dialog{pointer-events:all;background:#fff;border-radius:12px;width:90%;max-width:420px;padding:24px;animation:.3s ease-out slideUp;box-shadow:0 10px 40px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-title{color:#333;margin:0 0 12px;font-size:1.25em;font-weight:600}.confirm-dialog-message{color:#666;margin:0 0 24px;font-size:.95em;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:12px;display:flex}.confirm-cancel-btn,.confirm-delete-btn{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:.95em;font-weight:500;transition:all .2s}.confirm-cancel-btn{color:#333;background-color:#e0e0e0}.confirm-cancel-btn:hover{background-color:#d0d0d0}.confirm-delete-btn{color:#fff;background-color:#f44336}.confirm-delete-btn:hover{background-color:#d32f2f;transform:translateY(-1px);box-shadow:0 2px 8px #f443364d}.confirm-delete-btn:active{transform:translateY(0)}.chat-history-list::-webkit-scrollbar{width:6px}.chat-history-list::-webkit-scrollbar-track{background:#f1f1f1}.chat-history-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.chat-history-list::-webkit-scrollbar-thumb:hover{background:#999}@media (min-width:769px){.chat-history-overlay{pointer-events:none;background-color:#0000}.chat-history-panel{box-shadow:-4px 4px 20px #0000001f}}@media (max-width:1024px) and (min-width:769px){.chat-history-panel{width:350px;max-width:350px}}@media (max-width:768px){.chat-history-panel{width:320px;max-width:85vw;height:calc(100vh - 3rem);top:3rem}}.chat-history-actions{padding:10px 16px}.action-button{min-width:34px;min-height:34px}.history-thread-item{padding:12px}.thread-preview{padding:7px 9px}.thread-count{padding:3px 7px}.chat-history-header{padding:14px}.chat-history-title{font-size:1.1em}.chat-history-filters,.chat-history-actions{padding:10px 14px}.filter-group{padding:6px 10px;font-size:.85em}.history-thread-item{margin-bottom:8px;padding:12px}.thread-label{font-size:.95em}.thread-preview{padding:6px 8px;font-size:.8em}.thread-count{padding:3px 6px;font-size:.9em}.action-button{min-width:32px;min-height:32px;padding:6px}.clear-filter-btn{padding:6px}.current-session-badge{padding:3px 8px;font-size:.8em}.history-divider{margin:15px 0 12px;font-size:.75em}@media (max-width:900px) and (max-height:500px){.chat-history-header{padding:10px 16px}.chat-history-title{font-size:1em}.chat-history-filters,.chat-history-actions{padding:8px 16px}.filter-group{padding:6px 10px}.history-thread-item{margin-bottom:6px;padding:10px}.delete-all-button{padding:6px 10px}}:root{--chat-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--chat-primary-color:#007bc9;--chat-primary-dark:#0063a3;--chat-accent-color:#4a90e2;--chat-success-color:#4caf50;--chat-error-color:#f44336;--chat-warning-color:#ff9800;--chat-bg-primary:#fff;--chat-bg-secondary:#f9f9f9;--chat-bg-tertiary:#fdfdfd;--chat-text-primary:#333;--chat-text-secondary:#666;--chat-text-tertiary:#888;--chat-border-color:#e0e0e0;--chat-shadow-sm:0 2px 8px #00000014;--chat-shadow-md:0 4px 16px #0000001f;--chat-shadow-lg:0 8px 30px #00000026;--chat-radius-sm:6px;--chat-radius-md:12px;--chat-radius-lg:16px;--chat-spacing-xs:4px;--chat-spacing-sm:8px;--chat-spacing-md:12px;--chat-spacing-lg:16px;--chat-spacing-xl:24px;--chat-transition-fast:.15s ease;--chat-transition-normal:.3s ease;--chat-transition-slow:.5s ease}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-container{background:var(--chat-bg-primary);border-radius:var(--chat-radius-md);width:95%;max-width:min(1000px,100vw - 48px);height:calc(100dvh - 80px);min-height:300px;max-height:calc(100dvh - 80px);box-shadow:var(--chat-shadow-lg);font-family:var(--chat-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;flex-direction:column;min-width:min(320px,100vw);height:calc(100vh - 80px);max-height:calc(100vh - 80px);margin:max(8px,min(2vh,24px)) auto;transition:all .3s ease-in-out;display:flex;position:relative;overflow:hidden}@supports (height:100dvh){.chat-container{height:calc(100dvh - 80px);max-height:calc(100dvh - 80px)}}.chat-container:hover{box-shadow:0 12px 40px #0000002e}@media (min-width:769px){.chat-container.history-open{margin-left:auto;margin-right:420px;transition:all .3s ease-in-out}}@media (min-width:1200px){.chat-container.history-open{margin-right:440px}}@media (min-width:1600px){.chat-container.history-open{margin-right:450px}}.chat-top-bar{height:56px;padding:0 var(--chat-spacing-lg);background:linear-gradient(135deg,var(--chat-primary-color)0%,var(--chat-primary-dark)100%);color:#fff;border-top-left-radius:var(--chat-radius-md);border-top-right-radius:var(--chat-radius-md);z-index:1001;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:relative;box-shadow:0 2px 8px #0000001a}.chat-top-bar h1,.chat-title{text-align:center;letter-spacing:.3px;flex-grow:1;margin:0;padding:0;font-size:1.15rem;font-weight:600;color:#fff!important}.back-button,.history-button,.menu-button{color:#fff;cursor:pointer;padding:var(--chat-spacing-sm);min-width:44px;min-height:44px;transition:background-color var(--chat-transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.back-button:hover,.history-button:hover,.menu-button:hover{background-color:#ffffff26}.back-button:focus,.history-button:focus,.menu-button:focus{outline-offset:2px;outline:2px solid #fff9}.dropdown-menu{background-color:var(--chat-bg-primary);border:1px solid var(--chat-border-color);border-radius:var(--chat-radius-sm);box-shadow:var(--chat-shadow-md);width:215px;padding:var(--chat-spacing-sm)0;margin-top:8px;animation:.2s ease-out slideInDown;z-index:1002!important;position:absolute!important;top:100%!important;left:auto!important;right:12px!important}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu.block{display:block}.dropdown-item{padding:10px var(--chat-spacing-lg);cursor:pointer;color:var(--chat-text-primary);transition:background-color var(--chat-transition-fast);align-items:center;gap:var(--chat-spacing-md);-webkit-user-select:none;user-select:none;min-height:42px;font-size:.95em;display:flex}.dropdown-item:active{background-color:#eee}.dropdown-item:first-child{margin-top:2px}.dropdown-item:last-child{margin-bottom:2px}.dropdown-icon{width:18px;height:18px;color:var(--chat-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-box{min-height:0;padding:var(--chat-spacing-xl);gap:var(--chat-spacing-md);background-color:var(--chat-bg-secondary);scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#0003 transparent;flex-direction:column;flex:auto;display:flex;overflow:hidden auto}.chat-box::-webkit-scrollbar{width:8px}.chat-box::-webkit-scrollbar-thumb{transition:background-color var(--chat-transition-fast);background-color:#0003;border-radius:4px}.chat-box::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.empty-chat-placeholder{text-align:center;color:var(--chat-text-tertiary);padding:var(--chat-spacing-xl);flex-direction:column;flex-grow:1;justify-content:center;align-items:center;animation:.5s ease-out fadeIn;display:flex}.empty-chat-placeholder h2{margin:0 0 var(--chat-spacing-md)0;color:var(--chat-text-secondary);font-size:1.6em;font-weight:600}.empty-chat-placeholder p{font-size:1em;line-height:1.5}.message{margin-bottom:var(--chat-spacing-lg);align-items:flex-start;max-width:100%;display:flex}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.grouped-message{margin-bottom:var(--chat-spacing-xs);margin-top:0}.grouped-message+.message:not(.grouped-message){margin-top:var(--chat-spacing-lg)}.avatar,.avatar-placeholder{width:48px;height:48px;margin-right:var(--chat-spacing-md);transition:transform var(--chat-transition-fast);flex-shrink:0}.message:hover .avatar{transform:scale(1.05)}.avatar{border-radius:var(--chat-radius-sm);object-fit:contain}.user-initials-avatar{color:#fff;width:40px;height:40px;margin-left:var(--chat-spacing-md);transition:transform var(--chat-transition-fast);background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex;box-shadow:0 2px 8px #00000026}.message:hover .user-initials-avatar{transform:scale(1.05)}.message-details{padding:var(--chat-spacing-md)var(--chat-spacing-lg);border-radius:var(--chat-radius-md);word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;transition:box-shadow var(--chat-transition-fast);flex-direction:column;min-width:0;max-width:100%;font-size:1em;line-height:1.6;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000d}.message:hover .message-details{box-shadow:0 2px 6px #0000001a}.bot-message{align-self:flex-start}.bot-message .message-details{color:#1a1a1a;border-bottom-left-radius:var(--chat-spacing-xs);background-color:#e1f5fe;border:1px solid #b3e5fc}.user-message{flex-direction:row-reverse;align-self:flex-end}.user-message .avatar,.user-message .avatar-placeholder{margin-right:0;margin-left:var(--chat-spacing-md)}.user-message .message-details{color:#1a1a1a;border-bottom-right-radius:var(--chat-spacing-xs);background-color:#fff;border:1px solid #e0e0e0}.message-content{margin-bottom:var(--chat-spacing-xs);word-wrap:break-word;overflow-wrap:break-word;min-width:0;max-width:100%;overflow:hidden}.message-content *{box-sizing:border-box;max-width:100%}.message-content a{word-break:break-all;overflow-wrap:break-word}.message-content img{max-width:100%;height:auto;display:block}.message-content table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}.message-content strong{color:var(--chat-primary-dark);margin-bottom:var(--chat-spacing-xs);font-size:.9em;font-weight:600;display:block}.message-meta{width:100%;margin-top:var(--chat-spacing-sm);justify-content:space-between;align-items:center;gap:var(--chat-spacing-sm);display:flex}.timestamp{color:var(--chat-text-tertiary);white-space:nowrap;font-size:.8em}.message-actions{margin-left:var(--chat-spacing-md);align-items:center;gap:var(--chat-spacing-sm);opacity:0;transition:opacity var(--chat-transition-fast);display:flex}.message:hover .message-actions,.message:focus-within .message-actions{opacity:1}.action-icon{cursor:pointer;color:var(--chat-text-secondary);transition:all var(--chat-transition-fast);padding:var(--chat-spacing-sm);border-radius:var(--chat-radius-sm);justify-content:center;align-items:center;min-width:32px;min-height:32px;font-size:.9em;display:inline-flex}.action-icon:hover{color:var(--chat-text-primary);background-color:#0000000f;transform:scale(1.1)}.action-icon:focus{outline:2px solid var(--chat-accent-color);outline-offset:2px}.edit-icon:hover{color:var(--chat-warning-color)}.regenerate-icon:hover{color:var(--chat-success-color)}.delete-icon:hover{color:var(--chat-error-color)}.copied-feedback{color:var(--chat-success-color);-webkit-user-select:none;user-select:none;font-size:.8em;font-style:italic;animation:.3s ease-out fadeIn}.edit-mode{width:100%;margin-top:var(--chat-spacing-sm);animation:.3s ease-out fadeIn}.edit-textarea{width:100%;min-height:100px;padding:var(--chat-spacing-md);border:2px solid var(--chat-accent-color);border-radius:var(--chat-radius-sm);font-size:1em;font-family:var(--chat-font-family);resize:vertical;background-color:var(--chat-bg-primary);color:var(--chat-text-primary);transition:border-color var(--chat-transition-fast);outline:none;line-height:1.6}.edit-textarea:focus{border-color:#357abd;box-shadow:0 0 0 3px #4a90e226}.edit-actions{gap:var(--chat-spacing-sm);margin-top:var(--chat-spacing-sm);display:flex}.edit-save-btn,.edit-cancel-btn{padding:var(--chat-spacing-md)var(--chat-spacing-xl);border-radius:var(--chat-radius-sm);cursor:pointer;transition:all var(--chat-transition-fast);border:none;min-height:40px;font-size:.9em;font-weight:600}.edit-save-btn{background-color:var(--chat-accent-color);color:#fff}.edit-save-btn:hover{background-color:#357abd;transform:translateY(-1px);box-shadow:0 2px 8px #4a90e24d}.edit-cancel-btn{color:var(--chat-text-primary);background-color:#e0e0e0}.edit-cancel-btn:hover{background-color:#d0d0d0}.message-content pre{color:#f0f0f0;padding:var(--chat-spacing-lg);border-radius:var(--chat-radius-sm);margin:var(--chat-spacing-md)0;background-color:#2d2d2d;border:1px solid #444;font-size:.88em;line-height:1.5;overflow-x:auto;box-shadow:inset 0 1px 3px #0000004d}.message-content code:not(pre code){color:#d32f2f;background-color:#0000000d;border-radius:3px;padding:2px 6px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em}.message-form{padding:var(--chat-spacing-lg);border-top:1px solid var(--chat-border-color);background-color:var(--chat-bg-tertiary);align-items:center;gap:var(--chat-spacing-md);flex-shrink:0;display:flex}.input-wrapper{flex-direction:column;flex-grow:1;justify-content:center;display:flex;position:relative}.message-input{border:2px solid var(--chat-border-color);width:100%;padding:var(--chat-spacing-md)var(--chat-spacing-lg);resize:none;max-height:140px;transition:all var(--chat-transition-fast);background:var(--chat-bg-primary);border-radius:24px;outline:none;padding-bottom:32px;font-size:1em;line-height:1.5;overflow:auto;box-shadow:0 1px 2px #0000000d}.message-input:focus{border-color:var(--chat-accent-color);box-shadow:0 0 0 3px #4a90e226}.char-counter{bottom:8px;right:var(--chat-spacing-lg);color:var(--chat-text-tertiary);-webkit-user-select:none;user-select:none;pointer-events:none;transition:color var(--chat-transition-fast);font-size:.75em;font-weight:500;position:absolute}.char-counter.near-limit{color:var(--chat-warning-color);font-weight:600}.char-counter.over-limit{color:var(--chat-error-color);font-weight:700}.send-controls{flex-shrink:0;align-items:center;display:flex}.send-button,.stop-button{cursor:pointer;width:48px;height:48px;transition:all var(--chat-transition-fast);touch-action:manipulation;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:48px;min-height:48px;padding:0;font-size:1.2em;display:flex;box-shadow:0 2px 6px #00000026}.send-button{color:#fff;background-color:#ccc}.send-button.active{background-color:var(--chat-accent-color)}.send-button.active:hover{background-color:#357abd;transform:scale(1.05);box-shadow:0 3px 10px #4a90e266}.send-button:disabled{cursor:not-allowed;opacity:.6;background-color:#e0e0e0}.send-button:focus,.stop-button:focus{outline-offset:2px;outline:3px solid #4a90e266}.stop-button{background-color:var(--chat-error-color);color:#fff}.stop-button:hover{background-color:#d32f2f;transform:scale(1.05);box-shadow:0 3px 10px #f4433666}.streaming-indicator{opacity:1!important;visibility:visible!important;align-items:flex-start!important;max-width:75%!important;margin-bottom:16px!important;display:flex!important}.streaming-avatar{opacity:1!important;flex-shrink:0!important;width:48px!important;height:48px!important;margin-right:12px!important}.bot-message.streaming-indicator{opacity:1!important;visibility:visible!important;align-self:flex-start!important;display:flex!important}.streaming-indicator .message-details{opacity:1!important;visibility:visible!important;background-color:#e1f5fe!important;border:1px solid #b3e5fc!important;border-radius:12px!important;flex-direction:column!important;min-height:60px!important;padding:14px 18px!important;display:flex!important}.streaming-indicator .streaming-dots{opacity:1!important;visibility:visible!important;background:0 0!important;border:none!important;align-items:center!important;gap:8px!important;margin:0!important;padding:0!important;display:flex!important}.streaming-indicator .streaming-dots span{opacity:1!important;visibility:visible!important;background-color:#1976d2!important;border-radius:50%!important;width:12px!important;height:12px!important;animation:1.4s ease-in-out infinite both streaming-bounce!important;display:block!important}.streaming-indicator .streaming-dots span:first-child{animation-delay:-.32s!important}.streaming-indicator .streaming-dots span:nth-child(2){animation-delay:-.16s!important}.streaming-indicator .streaming-dots span:nth-child(3){animation-delay:0s!important}@keyframes streaming-bounce{0%,80%,to{opacity:.6;transform:scale(.7)translateY(0)}40%{opacity:1;transform:scale(1.2)translateY(-8px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.streaming-badge{color:#4caf50;font-size:.85em;font-weight:600}.streaming-placeholder{color:#888;align-items:center;gap:8px;font-style:italic;display:inline-flex!important}.thinking-dots{align-items:center;gap:6px;display:inline-flex!important}.thinking-dots .dot{border-radius:50%;animation:1.4s ease-in-out infinite both thinking-bounce;background-color:#4a90e2!important;width:8px!important;height:8px!important;display:inline-block!important}.thinking-dots .dot:first-child{animation-delay:-.32s}.thinking-dots .dot:nth-child(2){animation-delay:-.16s}.thinking-dots .dot:nth-child(3){animation-delay:0s}@keyframes thinking-bounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.streaming-cursor{vertical-align:middle;align-items:center;gap:3px;margin-left:6px;opacity:1!important;visibility:visible!important;display:inline-flex!important}.streaming-cursor .dot{border-radius:50%;opacity:1!important;visibility:visible!important;background-color:#1976d2!important;width:6px!important;height:6px!important;animation:1.2s ease-in-out infinite dotFlashing!important;display:inline-block!important}.streaming-cursor .dot:first-child{animation-delay:0s!important}.streaming-cursor .dot:nth-child(2){animation-delay:.2s!important}.streaming-cursor .dot:nth-child(3){animation-delay:.4s!important}@keyframes dotFlashing{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.message.bot-message.streaming-indicator{visibility:visible!important;opacity:1!important;z-index:10!important;display:flex!important;position:relative!important}.message.bot-message.streaming-indicator .avatar{visibility:visible!important;opacity:1!important;display:block!important}.message.bot-message.streaming-indicator .message-details{visibility:visible!important;opacity:1!important;background-color:#e1f5fe!important;border:2px solid #1976d2!important;display:flex!important}.message.bot-message.streaming-indicator .streaming-dots{visibility:visible!important;opacity:1!important;display:flex!important}.message.bot-message.streaming-indicator .streaming-dots span{visibility:visible!important;opacity:1!important;background-color:#1976d2!important;display:block!important}.scroll-to-bottom-button{background:linear-gradient(135deg,var(--chat-primary-color)0%,var(--chat-primary-dark)100%);color:#fff;cursor:pointer;width:48px;height:48px;transition:all var(--chat-transition-normal);z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;animation:.3s ease-out fadeInUp;display:flex;position:absolute;bottom:90px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000040}.scroll-to-bottom-button svg{flex-shrink:0}.scroll-to-bottom-button:hover{transform:translate(-50%)scale(1.1);box-shadow:0 6px 18px #0000004d}.scroll-to-bottom-button:active{transform:translate(-50%)scale(.95)}.scroll-to-bottom-button .message-count{color:#fff;background:#f44;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;animation:.3s ease-out scaleIn;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 6px #0000004d}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.error-message .message-details{background-color:#ffebee!important;border:1px solid #ef9a9a!important}.error-content{gap:var(--chat-spacing-md);padding:var(--chat-spacing-sm)0;flex-direction:column;display:flex}.error-text{color:#c62828;font-weight:600;line-height:1.6}.retry-button{align-items:center;gap:var(--chat-spacing-sm);padding:var(--chat-spacing-sm)var(--chat-spacing-lg);background-color:var(--chat-accent-color);color:#fff;border-radius:var(--chat-radius-sm);cursor:pointer;transition:all var(--chat-transition-fast);border:none;align-self:flex-start;min-height:40px;font-size:.9em;font-weight:600;display:inline-flex}.retry-button:hover{background-color:#357abd;transform:translateY(-1px);box-shadow:0 3px 10px #4a90e24d}.retry-button:active{transform:translateY(0)}.error-message .avatar{opacity:.5}[data-theme=dark]{--chat-bg-primary:#1e1e1e;--chat-bg-secondary:#2d2d2d;--chat-bg-tertiary:#252525;--chat-text-primary:#e0e0e0;--chat-text-secondary:#b0b0b0;--chat-text-tertiary:#888;--chat-border-color:#3a3a3a}[data-theme=dark] .bot-message .message-details{color:#e0e0e0;background-color:#2a4a6f;border-color:#1e3a5f}[data-theme=dark] .user-message .message-details{color:#e0e0e0;background-color:#2d2d2d;border-color:#3a3a3a}[data-theme=dark] .action-icon{color:#b0b0b0}[data-theme=dark] .action-icon:hover{color:#e0e0e0;background-color:#ffffff14}[data-theme=dark] .edit-cancel-btn{color:#e0e0e0;background-color:#3a3a3a}[data-theme=dark] .edit-cancel-btn:hover{background-color:#4a4a4a}[data-theme=dark] .error-message .message-details{background-color:#5c2626!important;border-color:#8a3a3a!important}[data-theme=dark] .error-text{color:#ff8a80}[data-theme=dark] .streaming-indicator .message-details{background-color:#2a4a6f!important;border-color:#1e3a5f!important}[data-theme=dark] .streaming-dots span{background-color:#64b5f6!important}[data-theme=dark] .dropdown-menu{background-color:var(--chat-bg-secondary);border-color:var(--chat-border-color)}[data-theme=dark] .dropdown-item:hover{background-color:#ffffff14}[data-theme=dark] .dropdown-item:active{background-color:#ffffff1f}[data-theme=dark] .dropdown-icon{color:var(--chat-text-secondary)}@media (min-width:1200px) and (max-width:1400px){.chat-container{max-width:1100px}.message{max-width:100%}}@media (min-width:1400px){.chat-container{max-width:1200px}.message{max-width:100%}.chat-box{padding:var(--chat-spacing-xl)48px}}@media (max-width:1024px) and (min-width:769px){.chat-container{width:96%!important;min-width:min(300px,100vw)!important;max-width:min(900px,100vw - 32px)!important}.chat-container.history-open{margin-left:auto;margin-right:370px}.message{max-width:100%}.message-details{font-size:.95em}.chat-box{padding:var(--chat-spacing-lg)}}@media (max-width:768px){.chat-container{height:calc(100dvh - 48px);min-height:300px;max-height:calc(100dvh - 48px);margin:max(8px,min(2vh,16px)) auto;width:98%!important;min-width:min(280px,100vw)!important;max-width:calc(100vw - 32px)!important}@supports not (height:100dvh){.chat-container{height:calc(100vh - 48px);max-height:calc(100vh - 48px)}}.chat-container.history-open{margin:max(8px,min(2vh,16px)) auto;width:98%!important;max-width:calc(100vw - 32px)!important}.chat-top-bar{z-index:1001;height:52px}.chat-top-bar h1{font-size:1.05rem}.message{max-width:100%}.chat-box{padding:var(--chat-spacing-md)}.message-details{padding:var(--chat-spacing-sm)var(--chat-spacing-md);font-size:.95em}.avatar,.avatar-placeholder{width:40px;height:40px;margin-right:var(--chat-spacing-sm)}}@media (max-height:700px){.chat-container{height:calc(100dvh - 40px)!important;min-height:250px!important;max-height:calc(100dvh - 40px)!important;margin:max(8px,min(2vh,20px)) auto!important}@supports not (height:100dvh){.chat-container{height:calc(100vh - 40px)!important;max-height:calc(100vh - 40px)!important}}.chat-box{padding:var(--chat-spacing-md)}.scroll-to-bottom-button{bottom:70px}.avatar,.avatar-placeholder{width:40px;height:40px}}@media (max-height:500px){.chat-container{height:calc(100dvh - 20px)!important;min-height:200px!important;max-height:calc(100dvh - 20px)!important;margin:max(4px,min(1vh,10px)) auto!important}@supports not (height:100dvh){.chat-container{height:calc(100vh - 20px)!important;max-height:calc(100vh - 20px)!important}}.chat-box,.message-form{padding:var(--chat-spacing-sm)}.scroll-to-bottom-button{width:40px;height:40px;bottom:60px}.avatar,.avatar-placeholder{width:36px;height:36px}.message-details{padding:var(--chat-spacing-sm)}}@media (max-height:400px){.chat-container{border-radius:var(--chat-radius-sm);height:calc(100dvh - 16px)!important;min-height:180px!important;max-height:calc(100dvh - 16px)!important;margin:8px auto!important}@supports not (height:100dvh){.chat-container{height:calc(100vh - 16px)!important;max-height:calc(100vh - 16px)!important}}.chat-top-bar{height:48px;padding:0 var(--chat-spacing-sm)}.chat-box,.message-form{padding:var(--chat-spacing-xs)}.avatar,.avatar-placeholder{width:32px;height:32px}}@media (max-width:600px){.chat-container{height:100dvh;min-height:250px;max-height:100dvh;box-shadow:none;border-radius:0;margin:0;width:100%!important;min-width:100vw!important;max-width:100vw!important}@supports not (height:100dvh){.chat-container{height:100vh;max-height:100vh}}.chat-container.history-open{margin:0}.chat-top-bar{height:56px;padding:0 var(--chat-spacing-md);z-index:1001;border-radius:0}.chat-top-bar h1,.chat-title{font-size:.95rem}.chat-box{padding:var(--chat-spacing-sm)}.message{max-width:100%}.message-details{padding:var(--chat-spacing-sm)var(--chat-spacing-md);font-size:.9em}.avatar,.avatar-placeholder,.user-initials-avatar{width:36px;height:36px;margin-right:var(--chat-spacing-sm)}.message-input{padding:var(--chat-spacing-md);padding-bottom:28px;font-size:16px}.send-button,.stop-button{width:44px;height:44px}.dropdown-menu{width:190px;margin-top:4px;right:8px}.action-icon{padding:var(--chat-spacing-sm);min-width:40px;min-height:40px;font-size:.85em}.edit-save-btn,.edit-cancel-btn,.retry-button{padding:var(--chat-spacing-sm)var(--chat-spacing-md);min-height:42px;font-size:.9em}.scroll-to-bottom-button{width:42px;height:42px;bottom:75px}.message-form{padding:var(--chat-spacing-md)}}@media (max-width:480px){.chat-container{border-radius:0;height:100dvh;min-height:200px;max-height:100dvh;margin:0;width:100%!important;min-width:100vw!important;max-width:100vw!important}@supports not (height:100dvh){.chat-container{height:100vh;max-height:100vh}}.message{max-width:100%}.message-details{font-size:.88em}.chat-box,.message-form{padding:var(--chat-spacing-sm)}.avatar,.avatar-placeholder,.user-initials-avatar{width:32px;height:32px}}@media (hover:none) and (pointer:coarse){.message-actions{opacity:1}.action-icon{padding:var(--chat-spacing-md)}.message-content{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.back-button,.history-button,.menu-button{min-width:48px;min-height:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.bot-message .message-content,.bot-message .message-details{transition:none!important;animation:none!important}.bot-message pre,.bot-message code{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transition:none!important;animation:none!important}@media (prefers-contrast:high){.chat-container,.message-details,.send-button.active,.stop-button{border:2px solid}}.error-boundary-container{box-sizing:border-box;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:20px;display:flex}.error-boundary-content{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:600px;padding:40px;box-shadow:0 10px 40px #0000001a}.error-icon{margin-bottom:20px;font-size:64px;animation:2s infinite pulse}.error-title{color:#333;margin:0 0 16px;font-size:28px;font-weight:600}.error-message{color:#666;margin:0 0 24px;font-size:16px;line-height:1.6}.error-details{text-align:left;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin:24px 0;padding:16px}.error-details summary{cursor:pointer;color:#666;-webkit-user-select:none;user-select:none;padding:8px;font-weight:600}.error-details summary:hover{color:#333}.error-stack{color:#d32f2f;white-space:pre-wrap;word-wrap:break-word;background:#fff;border:1px solid #ddd;border-radius:4px;margin:12px 0 0;padding:12px;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;line-height:1.5;overflow-x:auto}.error-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.error-button{cursor:pointer;border:none;border-radius:8px;min-width:140px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .2s}.error-button.primary{color:#fff;background:#4a90e2}.error-button.primary:hover{background:#357abd;transform:translateY(-2px);box-shadow:0 4px 12px #4a90e24d}.error-button.secondary{color:#333;background:#e0e0e0}.error-button.secondary:hover{background:#d0d0d0;transform:translateY(-2px)}.error-button:active{transform:translateY(0)}@media (max-width:600px){.error-boundary-content{padding:24px}.error-icon{font-size:48px}.error-title{font-size:24px}.error-message{font-size:14px}.error-button{min-width:120px;padding:10px 20px;font-size:14px}}.unauthorized-view{justify-content:center;display:flex}.unauthorized-container{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.unauthorized-content{flex-direction:column;align-items:center;max-width:36rem;margin-left:auto;margin-right:auto;display:flex}.unauthorized-icon-container{justify-content:center;align-items:center;width:10rem;height:6rem;margin-bottom:2rem;display:flex}.unauthorized-title{margin-bottom:1rem}.unauthorized-description{margin-bottom:2.5rem}.unauthorized-button{justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;display:inline-flex}.unauthorized-button-icon{width:1.25rem;height:1.25rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-size:16px}html,body{width:100%;min-width:0;max-width:100vw;height:100%;margin:0;padding:0;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{width:100%;min-width:0;max-width:100vw;height:100%;overflow-x:hidden}.app-content-container,.app-content-panel,.master-view{min-width:0!important;max-width:100vw!important;overflow-x:hidden!important}.d-flex{min-width:0!important}.w-100{width:100%!important;min-width:0!important;max-width:100vw!important}.h-100{height:100%!important;max-height:100vh!important}.override-push-panel{height:calc(100% - 3rem)}.override-push-panel .app-content-panel{overflow:hidden}:root,[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f9f9f9;--bg-tertiary:#fdfdfd;--bg-message-bot:#e1f5fe;--bg-message-user:#fff;--border-color:#e0e0e0;--border-message-bot:#b3e5fc;--border-message-user:#e0e0e0;--text-primary:#333;--text-secondary:#666;--text-tertiary:#777;--text-muted:#888;--text-sender-bot:#1976d2;--text-sender-user:#388e3c;--shadow-light:#00000014;--shadow-medium:#00000026;--accent-primary:#4a90e2;--accent-hover:#357abd;--code-bg:#f5f5f5;--code-border:#e0e0e0;--scrollbar-track:#f1f1f1;--scrollbar-thumb:#ccc;--scrollbar-thumb-hover:#999}[data-theme=dark]{--bg-primary:#1e1e1e;--bg-secondary:#2d2d2d;--bg-tertiary:#252525;--bg-message-bot:#1a3a52;--bg-message-user:#2d2d2d;--border-color:#3c3c3c;--border-message-bot:#2a5a7a;--border-message-user:#4a4a4a;--text-primary:#e0e0e0;--text-secondary:#b0b0b0;--text-tertiary:#999;--text-muted:gray;--text-sender-bot:#64b5f6;--text-sender-user:#81c784;--shadow-light:#0000004d;--shadow-medium:#00000080;--accent-primary:#5a9fd4;--accent-hover:#4a8fc4;--code-bg:#2d2d2d;--code-border:#3c3c3c;--scrollbar-track:#2d2d2d;--scrollbar-thumb:#4a4a4a;--scrollbar-thumb-hover:#5a5a5a}.chat-container{background:var(--bg-primary);box-shadow:0 8px 30px var(--shadow-light)}.chat-box{background-color:var(--bg-secondary)}.empty-chat-placeholder{color:var(--text-muted)}.empty-chat-placeholder h2{color:var(--text-secondary)}.bot-message .message-details{background-color:var(--bg-message-bot);border:1px solid var(--border-message-bot);color:var(--text-primary)}.user-message .message-details{background-color:var(--bg-message-user);border:1px solid var(--border-message-user);color:var(--text-primary)}.message-content strong{color:var(--text-sender-bot)}.user-message .message-content strong{color:var(--text-sender-user)}.timestamp{color:var(--text-tertiary)}.copy-icon{color:var(--text-muted)}.copy-icon:hover{color:var(--text-primary)}.message-input{border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary)}.message-input::placeholder{color:var(--text-muted)}.message-form{border-top:1px solid var(--border-color);background-color:var(--bg-tertiary)}.dropdown-menu{background-color:var(--bg-primary);border:1px solid var(--border-color);box-shadow:0 2px 10px var(--shadow-medium)}.dropdown-item{color:var(--text-primary)}.dropdown-item:hover{background-color:var(--bg-secondary)}.dropdown-icon{color:var(--text-secondary)}.toggle-text,.chat-message-wrapper,.chat-message-wrapper h1,.chat-message-wrapper h2,.chat-message-wrapper h3,.chat-message-wrapper h4,.chat-message-wrapper h5,.chat-message-wrapper h6{color:var(--text-primary)}.chat-message-wrapper code{background-color:var(--code-bg);color:var(--text-primary)}.chat-message-wrapper pre{background-color:var(--code-bg);border:1px solid var(--code-border)}.chat-message-wrapper blockquote{color:var(--text-secondary)}.chat-box::-webkit-scrollbar-track{background:var(--scrollbar-track)}.chat-box::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}.chat-box::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}