:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary: #f18eaf;--primary-hover: #f18eaf;--primary-light: rgba(37, 99, 235, .1);--background: #ffffff;--foreground: #0f172a;--muted: #f8fafc;--muted-foreground: #64748b;--border: #e2e8f0;--radius: 1rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,system-ui,sans-serif;background:transparent;color:var(--foreground);-webkit-font-smoothing:antialiased}#root{height:100vh;display:flex;flex-direction:column}.chat-container{display:flex;flex-direction:column;height:100vh;background:var(--background);overflow:hidden;position:relative}.chat-header{padding:1rem 1.25rem;background:#f18eaf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;display:flex;justify-content:space-between;align-items:center;z-index:10;box-shadow:var(--shadow)}.chat-header span{font-weight:600;font-size:1.125rem;letter-spacing:-.02em}.header-title{display:flex;align-items:center;gap:.75rem}.bot-icon{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3);padding:0;background:#fff}.chat-header-actions{display:flex;gap:.5rem;align-items:center}.header-btn{background:#ffffff1a;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:50%;transition:all .2s cubic-bezier(.4,0,.2,1)}.header-btn:hover{background:#fff3;transform:translateY(-1px)}.menu-container{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 12px);right:-4px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);z-index:100;min-width:200px;overflow:hidden;animation:menuAppear .3s cubic-bezier(.4,0,.2,1);transform-origin:top right}@keyframes menuAppear{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.menu-item{width:100%;padding:.875rem 1rem;text-align:left;background:none;border:none;font-size:.9375rem;font-weight:500;color:var(--foreground);cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:all .2s}.menu-item:hover{background:var(--muted);color:var(--primary)}.menu-item svg{color:var(--muted-foreground);transition:color .2s}.menu-item:hover svg{color:var(--primary)}.menu-item.danger{color:#ef4444}.menu-item.danger:hover{background:#fef2f2}.menu-item.danger svg{color:#ef4444}.chat-messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem;background:#fdfdfd;scroll-behavior:smooth}.message{max-width:85%;padding:.875rem 1.125rem;border-radius:1.25rem;font-size:.9375rem;line-height:1.55;word-wrap:break-word;box-shadow:var(--shadow-sm);transition:transform .2s}.message:hover{transform:translateY(-1px)}.message.user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:.25rem;background-image:linear-gradient(135deg,var(--primary),var(--primary-hover))}.message.ai{align-self:flex-start;background:#fff;color:var(--foreground);border-bottom-left-radius:.25rem;border:1px solid var(--border)}.history-list{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;background:#fdfdfd}.history-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid var(--border);border-radius:.75rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.history-item:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translate(4px)}.history-item.active{border-color:var(--primary);background:var(--primary-light)}.history-item-content{flex:1;min-width:0}.history-item-title{font-weight:600;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem;color:var(--foreground)}.history-item-date{font-size:.75rem;color:var(--muted-foreground)}.delete-btn{background:transparent;border:none;color:var(--muted-foreground);padding:8px;border-radius:8px;cursor:pointer;transition:all .2s;opacity:0}.history-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:#fee2e2;color:#ef4444}.history-footer{padding:1.25rem;border-top:1px solid var(--border);background:#fff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted-foreground);font-size:.9375rem;gap:1rem;opacity:.8}.chat-input-area{padding:1.25rem;border-top:1px solid var(--border);background:#fff;z-index:10}.chat-input-container{display:flex;align-items:center;background:var(--muted);border:1px solid var(--border);border-radius:1.5rem;padding:4px 4px 4px 16px;transition:all .2s cubic-bezier(.4,0,.2,1)}.chat-input-container:focus-within{background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.chat-input{flex:1;padding:8px 0;border:none;background:transparent;outline:none;font-size:.9375rem;color:var(--foreground)}.chat-send-btn{background:var(--primary);color:#fff;border:none;border-radius:50%;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);flex-shrink:0}.chat-send-btn:hover:not(:disabled){transform:scale(1.05);background:var(--primary-hover)}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed;background:var(--muted-foreground);box-shadow:none}.typing-indicator{font-size:.8125rem;color:var(--muted-foreground);display:flex;align-items:center;gap:4px;padding:.5rem 1.25rem;animation:pulse 1.5s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.ai-content-wrapper{font-size:14px;line-height:1.6}.ai-content-wrapper p{margin-bottom:12px}.ai-content-wrapper p:last-child{margin-bottom:0}.ai-content-wrapper code{background:#0003;padding:2px 4px;border-radius:4px;font-family:Fira Code,monospace;font-size:.9em}.ai-content-wrapper pre{background:#1e1e1e;padding:12px;border-radius:8px;overflow-x:auto;margin:12px 0;border:1px solid rgba(255,255,255,.1)}.ai-content-wrapper pre code{background:transparent;padding:0;border-radius:0;color:#e0e0e0}.ai-content-wrapper ul,.ai-content-wrapper ol{margin:12px 0;padding-left:24px}.ai-content-wrapper li{margin-bottom:6px}.ai-content-wrapper a{color:#64ffda;text-decoration:none;border-bottom:1px dashed #64ffda}.ai-content-wrapper a:hover{border-bottom-style:solid}.ai-content-wrapper h1,.ai-content-wrapper h2,.ai-content-wrapper h3{margin-top:20px;margin-bottom:10px;font-weight:600;color:#fff}.ai-content-wrapper h1{font-size:1.4em}.ai-content-wrapper h2{font-size:1.2em}.ai-content-wrapper h3{font-size:1.1em}.ai-content-wrapper blockquote{border-left:3px solid #64ffda;margin:12px 0;padding-left:12px;color:#ffffffb3;font-style:italic}.citations{margin-top:.75rem;font-size:.8125rem;color:var(--muted-foreground);border-top:1px solid var(--border);padding-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}.citation-link{color:var(--primary);text-decoration:none;background:var(--primary-light);padding:2px 8px;border-radius:4px;font-weight:500;transition:all .2s}.citation-link:hover{background:var(--primary);color:#fff}.feedback-actions{margin-top:.75rem;display:flex;gap:.5rem;align-items:center;padding-top:.5rem;border-top:1px solid var(--border)}.feedback-btn{background:transparent;border:1px solid var(--border);color:var(--muted-foreground);padding:6px 10px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:.8125rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.feedback-btn:hover{background:var(--muted);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.feedback-btn.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.feedback-btn svg{transition:transform .2s}.feedback-btn:hover svg{transform:scale(1.1)}.message-timestamp{font-size:.6875rem;color:var(--muted-foreground);margin-top:.5rem;opacity:.7;font-weight:400}.message.user .message-timestamp{text-align:right;color:#fffc}.message.ai .message-timestamp{text-align:left;color:var(--muted-foreground)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.modal-content{background:#fff;width:90%;max-width:320px;padding:1.5rem;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-title{font-size:1.125rem;font-weight:600;color:var(--foreground);margin-bottom:.5rem}.modal-message{color:var(--muted-foreground);font-size:.9375rem;line-height:1.5;margin-bottom:1.5rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.modal-btn{padding:.5rem 1rem;border-radius:.5rem;border:none;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s}.modal-btn.cancel{background:var(--muted);color:var(--foreground)}.modal-btn.cancel:hover{background:#e2e8f0}.modal-btn.danger{background:#ef4444;color:#fff}.modal-btn.danger:hover{background:#dc2626}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
