@import"https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap";*{font-family:Josefin Sans,sans-serif!important;font-optical-sizing:auto;font-weight:400;font-style:normal}:root{--primary-color: #6e9cff;--primary-hover: #0044ff;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--border-color: #e2e8f02c;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--radius: .5rem;--radius-lg: .75rem;--transition: all .5s ease}[data-theme=light]{--inline-code-bg: #f5f5f5;--inline-code-color: #d63384;--code-bg: #f8f9fa;--code-border: #83878a}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-color: #445a7970;--shadow: 0 1px 3px 0 rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3);--inline-code-bg: #353a41;--inline-code-color: #60a5fa;--code-bg: #1e293b;--code-border: #475569}.message{display:flex;animation:slideIn .3s ease;opacity:1;transform:translateY(0)}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.message.user{justify-content:flex-end}.message.ai{justify-content:flex-start}.message-content{min-width:100px;width:100%;padding:1rem;border-radius:var(--radius-lg);font-size:1.15rem;line-height:1.6;word-wrap:break-word;position:relative}.message.user .message-content{background:var(--primary-color);color:#fff;display:flex;justify-content:center;align-items:center;padding:.55rem!important;min-width:auto!important;border-bottom-right-radius:.25rem;box-shadow:var(--shadow)}.message.ai .message-content{background:var(--bg-secondary);color:var(--text-primary);border:.1px solid var(--border-color);border-bottom-left-radius:.25rem;box-shadow:var(--shadow)}.message.ai.loading .message-content{background:var(--bg-tertiary);border-color:var(--border-color);display:flex;align-items:center;gap:1rem;color:var(--text-secondary);font-weight:500;min-height:3rem}.loading-content{background:var(--bg-tertiary)!important}.loading-spinner{width:1.5rem;height:1.5rem;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.loading-text{font-size:.95rem;line-height:1.5}.typing-animation{display:inline-block}.typing-animation:after{content:"|";color:var(--primary-color);animation:blink 1s infinite;font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.keyword-highlight{color:var(--primary-color);font-weight:600;background:var(--bg-secondary);padding:.1rem .3rem;border-radius:.25rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%{background:var(--bg-secondary)}50%{background:var(--primary-color);color:#fff}to{background:var(--bg-secondary)}}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:2rem 0 1.25rem;font-weight:600;line-height:1.3;color:var(--text-primary);padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child,.message-content h4:first-child,.message-content h5:first-child,.message-content h6:first-child{margin-top:0}.message-content h1{font-size:1.8rem;border-bottom-width:3px;border-bottom-color:var(--primary-color)}.message-content h2{font-size:1.5rem;border-bottom-width:2px}.message-content h3{font-size:1.3rem;border-bottom-width:1px}.message-content h4{font-size:1.15rem;border-bottom:none;padding-bottom:0}.message-content h5,.message-content h6{font-size:1rem;border-bottom:none;padding-bottom:0}.message-content p{margin:1.25rem 0;line-height:1.8}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content ul,.message-content ol{margin:1.5rem 0;padding-left:1.75rem}.message-content li{margin:.75rem 0;line-height:1.7}.message-content ul li{list-style-type:disc}.message-content ol li{list-style-type:decimal}.message-content li::marker{color:var(--primary-color)}.message-content strong{font-weight:600;color:var(--text-primary)}.message-content em{font-style:italic;color:var(--text-secondary)}.message-content a{color:var(--primary-color);text-decoration:none;border-bottom:1px solid transparent;transition:var(--transition)}.message-content a:hover{border-bottom-color:var(--primary-color)}.message-content code{background:var(--inline-code-bg);color:var(--inline-code-color);padding:.2rem .4rem;border-radius:.25rem;font-family:var(--font-mono);font-size:.875em;font-weight:500;border:1px solid var(--border-color)}.message-content pre{background:var(--code-bg);border:1px solid var(--code-border);border-radius:var(--radius);margin:1rem 0;overflow-x:auto;position:relative;box-shadow:var(--shadow)}.message-content pre code{background:none;color:var(--text-primary);padding:1.25rem;display:block;font-size:.875rem;line-height:1.6;border:none;border-radius:0;overflow-x:auto}.message-content pre:before{content:attr(data-lang);position:absolute;top:.5rem;right:.75rem;background:var(--bg-tertiary);color:var(--text-muted);padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.message-content blockquote{border-left:4px solid var(--primary-color);padding-left:1.25rem;margin:1rem 0;font-style:italic;color:var(--text-secondary);background:var(--bg-tertiary);padding:1rem 1.25rem;border-radius:0 var(--radius) var(--radius) 0}.message-content blockquote p{margin:.5rem 0}.message-content blockquote p:first-child{margin-top:0}.message-content blockquote p:last-child{margin-bottom:0}.message-content hr{border:none;height:2px;background:linear-gradient(90deg,transparent,var(--border-color),transparent);margin:1.5rem 0}.message-content table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.message-content th,.message-content td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.message-content th{font-weight:600;background:var(--bg-tertiary);color:var(--text-primary)}.message-content tr:hover{background:var(--bg-tertiary)}.spinner{width:1.25rem;height:1.25rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.send-button{transition:var(--transition)}.send-button.loading{background:var(--text-muted);cursor:not-allowed}.send-button:hover:not(:disabled):not(.loading){background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}[data-theme=dark] pre code{background:var(--code-bg);color:#dcdcdc}[data-theme=dark] .hljs-keyword{color:#c678dd}[data-theme=dark] .hljs-string{color:#98c379}[data-theme=dark] .hljs-number{color:#d19a66}[data-theme=dark] .hljs-comment{color:#5c6370}[data-theme=dark] .hljs-function{color:#61afef}[data-theme=dark] .hljs-variable{color:#e06c75}[data-theme=dark] .hljs-title{color:#61afef}[data-theme=light] pre code{background:var(--code-bg);color:#24292e}[data-theme=light] .hljs-keyword{color:#d73a49}[data-theme=light] .hljs-string{color:#032f62}[data-theme=light] .hljs-number{color:#005cc5}[data-theme=light] .hljs-comment{color:#6a737d}[data-theme=light] .hljs-function{color:#6f42c1}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:var(--bg-secondary)}*::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.copy-btn{position:absolute;top:.5rem;right:.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;cursor:pointer;transition:var(--transition);color:var(--text-secondary)}.copy-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 768px){.message-content{max-width:95%;padding:.875rem 1rem;font-size:.9rem}.message-content pre code{font-size:.8rem;padding:1rem}.message-content h1{font-size:1.4rem}.message-content h2{font-size:1.2rem}.message-content h3{font-size:1.1rem}}
