pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary: #8b5cf6;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-hover: #475569;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--border-color: #334155;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px transparent inset!important;-webkit-text-fill-color:inherit!important;transition:background-color 5000s ease-in-out 0s}input[autocomplete=off]::-webkit-contacts-auto-fill-button,input[autocomplete=off]::-webkit-credentials-auto-fill-button{visibility:hidden;pointer-events:none;position:absolute}.app{display:flex;height:100vh;overflow:hidden;background:linear-gradient(135deg,#0f172a,#1e293b)}.sidebar{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:var(--transition);position:relative;z-index:10}.sidebar.closed{width:60px}.sidebar-header{padding:1rem;border-bottom:1px solid var(--border-color);display:flex;gap:.75rem;align-items:center;background:linear-gradient(180deg,var(--bg-secondary) 0%,rgba(30,41,59,.8) 100%)}.toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);flex-shrink:0}.toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary);transform:translate(-2px)}.new-chat-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-md)}.new-chat-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.new-chat-btn:active{transform:translateY(0)}.conversations-list{flex:1;overflow-y:auto;padding:.5rem;scrollbar-width:thin;scrollbar-color:var(--bg-tertiary) transparent}.conversations-list::-webkit-scrollbar{width:6px}.conversations-list::-webkit-scrollbar-track{background:transparent}.conversations-list::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}.conversations-list::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}.conversation-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;margin-bottom:.25rem;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}.conversation-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);transform:scaleY(0);transition:var(--transition)}.conversation-item:hover,.conversation-item.active{background:var(--bg-tertiary)}.conversation-item.active:before{transform:scaleY(1)}.conv-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);border-radius:var(--radius-md);color:#fff;flex-shrink:0}.conv-content{flex:1;min-width:0}.conv-title{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);opacity:0;flex-shrink:0}.conversation-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:var(--danger);color:#fff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;color:var(--text-tertiary);gap:.5rem}.empty-icon{font-size:2.5rem;margin-bottom:.5rem;opacity:.5}.empty-state p{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.empty-state span{font-size:.75rem}.chat-container{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);position:relative;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5}.header-left{display:flex;align-items:center;gap:1rem}.app-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow-md)}.header-info h1{font-size:1.125rem;font-weight:700;margin:0;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.conv-name{font-size:.75rem;color:var(--text-tertiary);display:block;margin-top:.125rem}.status-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border-radius:var(--radius-lg);font-size:.75rem;color:var(--text-secondary)}.status-dot{width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.messages-area{flex:1;overflow-y:auto;padding:1.5rem;scrollbar-width:thin;scrollbar-color:var(--bg-tertiary) transparent;background:linear-gradient(180deg,var(--bg-primary) 0%,rgba(15,23,42,.95) 100%)}.messages-area::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar-track{background:transparent}.messages-area::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}.messages-area::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-icon{margin-bottom:1.5rem;color:var(--primary-light);opacity:.8;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome-screen h2{font-size:2rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-screen p{color:var(--text-secondary);font-size:1rem;margin-bottom:2rem}.features{display:flex;gap:2rem;margin-top:2rem}.feature{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:var(--transition)}.feature:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:var(--shadow-lg)}.feature-icon{font-size:2rem}.feature div{font-size:.875rem;color:var(--text-secondary);font-weight:500}.messages-list{display:flex;flex-direction:column;gap:1.5rem;max-width:900px;margin:0 auto;width:100%;animation:fadeIn .3s ease-in}.message-wrapper{display:flex;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-wrapper.user{justify-content:flex-end}.message{display:flex;gap:.75rem;max-width:80%;animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.message-wrapper.user .message{flex-direction:row-reverse}.message-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-lg);flex-shrink:0;box-shadow:var(--shadow-sm)}.message-wrapper.user .message-avatar{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff}.message-wrapper.assistant .message-avatar{background:var(--bg-tertiary);color:var(--primary-light)}.message-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.message-text{padding:.875rem 1.125rem;border-radius:var(--radius-lg);line-height:1.6;font-size:.9375rem;word-wrap:break-word;white-space:pre-wrap}.message-wrapper.user .message-text{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;border-bottom-right-radius:var(--radius-sm)}.message-wrapper.assistant .message-text{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:var(--radius-sm)}.message.error .message-text{background:#ef44441a;border-color:var(--danger);color:var(--danger)}.message-footer{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--text-tertiary);padding:0 .25rem}.message-time{font-weight:500}.message-meta{opacity:.7}.message.loading .message-text{background:var(--bg-secondary);border:1px solid var(--border-color);padding:1rem 1.5rem}.typing-indicator{display:flex;gap:.375rem;align-items:center}.typing-indicator span{width:8px;height:8px;background:var(--primary-light);border-radius:50%;animation:typing 1.4s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.input-area{padding:1rem 1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.input-form{max-width:900px;margin:0 auto}.input-wrapper{display:flex;align-items:flex-end;gap:.75rem;padding:.75rem 1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-xl);transition:var(--transition)}.input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.input-wrapper textarea{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.9375rem;font-family:inherit;resize:none;max-height:120px;line-height:1.5}.input-wrapper textarea::placeholder{color:var(--text-tertiary)}.input-wrapper textarea:disabled{opacity:.5;cursor:not-allowed}.send-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);flex-shrink:0}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.sidebar{position:absolute;left:0;top:0;bottom:0;z-index:100;box-shadow:var(--shadow-xl)}.sidebar.closed{transform:translate(-100%)}.messages-list{padding:0}.message{max-width:90%}.features{flex-direction:column;gap:1rem}.input-area{padding:.75rem}}@media (max-width: 480px){.chat-header{padding:.75rem 1rem}.header-info h1{font-size:1rem}.status-badge{display:none}.messages-area{padding:1rem}.welcome-screen h2{font-size:1.5rem}.message-text{font-size:.875rem;padding:.75rem 1rem}}
