*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f5f5;color:#333}#app{height:100vh;width:100vw}.notification[data-v-1d50d7ff]{position:fixed;top:20px;right:20px;min-width:300px;max-width:400px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;border-left:4px solid #007bff;z-index:1000;display:flex;align-items:flex-start;padding:16px;gap:12px;transition:all .3s ease;transform:translate(400px);opacity:0}.notification-enter[data-v-1d50d7ff]{transform:translate(0);opacity:1}.notification.success[data-v-1d50d7ff]{border-left-color:#28a745}.notification.error[data-v-1d50d7ff]{border-left-color:#dc3545}.notification.warning[data-v-1d50d7ff]{border-left-color:#ffc107}.notification.info[data-v-1d50d7ff]{border-left-color:#007bff}.notification-icon[data-v-1d50d7ff]{font-size:20px;flex-shrink:0;margin-top:2px}.notification-content[data-v-1d50d7ff]{flex:1;min-width:0}.notification-title[data-v-1d50d7ff]{font-weight:600;font-size:14px;color:#333;margin-bottom:4px}.notification-message[data-v-1d50d7ff]{font-size:13px;color:#666;line-height:1.4}.notification-close[data-v-1d50d7ff]{background:none;border:none;font-size:18px;color:#999;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.notification-close[data-v-1d50d7ff]:hover{background:#f0f0f0;color:#666}.notification-slide-enter-active[data-v-1d50d7ff],.notification-slide-leave-active[data-v-1d50d7ff]{transition:all .3s ease}.notification-slide-enter-from[data-v-1d50d7ff]{transform:translate(400px);opacity:0}.notification-slide-enter-to[data-v-1d50d7ff],.notification-slide-leave-from[data-v-1d50d7ff]{transform:translate(0);opacity:1}.notification-slide-leave-to[data-v-1d50d7ff]{transform:translate(400px);opacity:0}.chat-container[data-v-a1511b0c]{display:flex;height:100vh;background:linear-gradient(135deg,#f9ffc8,#fff)}.sidebar[data-v-a1511b0c]{width:280px;background:#f8f9fa;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;height:100vh}.sidebar-header[data-v-a1511b0c]{padding:20px;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.sidebar-header h2[data-v-a1511b0c]{font-size:18px;font-weight:600;margin-bottom:15px;color:#333}.new-chat-btn[data-v-a1511b0c]{width:100%;padding:10px 16px;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:8px;transition:background-color .2s}.new-chat-btn[data-v-a1511b0c]:hover{background:#0056b3}.chat-history[data-v-a1511b0c]{flex:1;overflow-y:auto;padding:10px 0}.chat-item[data-v-a1511b0c]{padding:12px 16px;cursor:pointer;border-radius:8px;transition:background-color .2s;display:flex;flex-direction:column;gap:4px;border-left:3px solid transparent}.chat-item[data-v-a1511b0c]:hover{background:#e9ecef}.chat-item.active[data-v-a1511b0c]{background:#e9ecef;border-left-color:#007bff}.chat-title[data-v-a1511b0c]{display:block;font-size:14px;color:#333;margin-bottom:4px}.chat-date[data-v-a1511b0c]{font-size:12px;color:#666}.sidebar-footer[data-v-a1511b0c]{padding:20px;border-top:1px solid #e0e0e0}.user-info[data-v-a1511b0c]{display:flex;align-items:center;gap:10px}.user-avatar[data-v-a1511b0c]{width:32px;height:32px;background:#ddd;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px}.user-name[data-v-a1511b0c]{font-size:14px;color:#333}.chat-main[data-v-a1511b0c]{flex:1;display:flex;flex-direction:column}.chat-header[data-v-a1511b0c]{padding:20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.chat-header h3[data-v-a1511b0c]{font-size:16px;font-weight:600;color:#333}.chat-actions[data-v-a1511b0c]{display:flex;gap:10px}.action-btn[data-v-a1511b0c]{padding:8px;background:none;border:none;cursor:pointer;border-radius:4px;transition:background-color .2s;color:#666}.action-btn[data-v-a1511b0c]:hover{background:#e9ecef}.messages-container[data-v-a1511b0c]{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px;background:#fff}.message[data-v-a1511b0c]{display:flex;gap:12px;max-width:85%;word-wrap:break-word;overflow-wrap:break-word}.message.user-message[data-v-a1511b0c]{align-self:flex-end;flex-direction:row-reverse}.message.assistant-message[data-v-a1511b0c]{align-self:flex-start}.message-avatar[data-v-a1511b0c]{width:32px;height:32px;background:#f0f0f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.message-content[data-v-a1511b0c]{background:#f8f9fa;padding:12px 16px;border-radius:12px;position:relative;max-width:100%;box-sizing:border-box;color:#333;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.user-message .message-content[data-v-a1511b0c]{background:#007bff;color:#fff}.message-text[data-v-a1511b0c]{font-size:14px;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;max-width:100%;color:#333}.message-time[data-v-a1511b0c]{font-size:11px;color:#666;margin-top:4px}.user-message .message-time[data-v-a1511b0c]{color:#fffc}.dark-theme .message-time[data-v-a1511b0c]{color:var(--text-tertiary)}.dark-theme .user-message .message-time[data-v-a1511b0c]{color:#fffc}.loading-indicator[data-v-a1511b0c]{display:flex;justify-content:center;align-items:center;padding:20px}.typing-animation[data-v-a1511b0c]{display:flex;gap:4px}.typing-animation span[data-v-a1511b0c]{width:8px;height:8px;background:#666;border-radius:50%;animation:typing-a1511b0c 1.4s infinite ease-in-out}.dark-theme .typing-animation span[data-v-a1511b0c]{background:var(--text-secondary)}.typing-animation span[data-v-a1511b0c]:nth-child(2){animation-delay:.2s}.typing-animation span[data-v-a1511b0c]:nth-child(3){animation-delay:.4s}@keyframes typing-a1511b0c{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-10px);opacity:1}}.input-container[data-v-a1511b0c]{padding:20px;border-top:1px solid #e0e0e0}.input-wrapper[data-v-a1511b0c]{display:flex;gap:12px;align-items:flex-end}.message-input[data-v-a1511b0c]{flex:1;padding:12px 16px;border:1px solid #ddd;border-radius:8px;resize:none;font-size:14px;line-height:1.5;max-height:120px;outline:none;transition:border-color .2s}.message-input[data-v-a1511b0c]:focus{border-color:#007bff}.send-btn[data-v-a1511b0c]{padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:background-color .2s}.input-footer[data-v-a1511b0c]{margin-top:8px;text-align:center}.hint-text p[data-v-a1511b0c]{margin:.25rem 0}.dark-theme .hint-text[data-v-a1511b0c]{color:var(--text-tertiary)}.radio-group[data-v-a1511b0c]{display:flex;gap:1rem;margin-top:.5rem}.radio-label[data-v-a1511b0c]{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 1rem;border:1px solid #ddd;border-radius:.375rem;transition:all .2s}.radio-label[data-v-a1511b0c]:hover{border-color:#007bff}.radio-label input[type=radio][data-v-a1511b0c]{margin:0}.radio-text[data-v-a1511b0c]{font-weight:500;color:#333}.dark-theme .radio-text[data-v-a1511b0c]{color:var(--text-primary)}.model-config[data-v-a1511b0c]{margin-top:1rem;padding:1rem;border:1px solid #e0e0e0;border-radius:.375rem;background-color:#f9f9f9}.input-row[data-v-a1511b0c]{display:flex;gap:1rem}.half-width[data-v-a1511b0c]{flex:1}.config-type-selector[data-v-a1511b0c]{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.config-option[data-v-a1511b0c]{display:flex;align-items:center;padding:16px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease;background:#fafafa}.dark-theme .config-option[data-v-a1511b0c]{background:var(--bg-secondary);border-color:var(--border-color)}.config-option[data-v-a1511b0c]:hover{border-color:#007bff;background:#f0f8ff;transform:translateY(-2px);box-shadow:0 4px 12px #007bff1a}.config-option.active[data-v-a1511b0c]{border-color:#007bff;background:#e3f2fd;box-shadow:0 4px 12px #007bff26}.option-icon[data-v-a1511b0c]{font-size:24px;margin-right:12px;width:40px;text-align:center}.option-content h4[data-v-a1511b0c]{font-size:16px;font-weight:600;margin:0 0 4px;color:#333}.option-content p[data-v-a1511b0c]{font-size:14px;color:#666;margin:0;line-height:1.4}.dark-theme .option-content h4[data-v-a1511b0c]{color:var(--text-primary)}.dark-theme .option-content p[data-v-a1511b0c]{color:var(--text-secondary)}.modal-overlay[data-v-a1511b0c]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-a1511b0c]{background:#fff;border-radius:12px;width:480px;max-width:90vw;max-height:80vh;overflow:hidden;box-shadow:0 20px 40px #0003;animation:modalSlideIn-a1511b0c .3s ease-out}@keyframes modalSlideIn-a1511b0c{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header[data-v-a1511b0c]{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-a1511b0c]{margin:0;font-size:18px;font-weight:600;color:#333}.close-btn[data-v-a1511b0c]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:4px;border-radius:4px;transition:background-color .2s}.close-btn[data-v-a1511b0c]:hover{background:#f5f5f5}.dark-theme .modal-header h3[data-v-a1511b0c]{color:var(--text-primary)}.dark-theme .close-btn[data-v-a1511b0c]{color:var(--text-secondary)}.dark-theme .close-btn[data-v-a1511b0c]:hover{background:var(--bg-tertiary)}.modal-body[data-v-a1511b0c]{padding:24px}.input-group[data-v-a1511b0c]{margin-bottom:20px}.input-group label[data-v-a1511b0c]{display:block;margin-bottom:8px;font-weight:500;color:#333}.dark-theme .input-group label[data-v-a1511b0c]{color:var(--text-primary)}.api-key-input[data-v-a1511b0c]{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.api-key-input[data-v-a1511b0c]:focus{border-color:#007bff}.modal-footer[data-v-a1511b0c]{padding:20px 24px;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end}.btn-primary[data-v-a1511b0c]{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-primary[data-v-a1511b0c]:hover{background:#0056b3}.btn-secondary[data-v-a1511b0c]{padding:10px 20px;background:#f8f9fa;color:#333;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-secondary[data-v-a1511b0c]:hover{background:#e9ecef}.link[data-v-a1511b0c]{color:#007bff;text-decoration:none}.link[data-v-a1511b0c]:hover{text-decoration:underline}.user-info[data-v-a1511b0c]{cursor:pointer;padding:12px;border-radius:8px;transition:background-color .2s;display:flex;align-items:center;gap:12px}.dark-theme .user-info[data-v-a1511b0c]{background:var(--bg-secondary)}.dark-theme .user-info[data-v-a1511b0c]:hover{background:var(--bg-tertiary)}.user-info[data-v-a1511b0c]:hover{background:#edf2f7}.user-avatar[data-v-a1511b0c]{width:32px;height:32px;background:#ddd;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.user-name[data-v-a1511b0c]{font-size:14px;color:#333;font-weight:500}.user-status[data-v-a1511b0c]{font-size:12px;color:#666;margin-left:auto}.dark-theme .user-status[data-v-a1511b0c]{color:var(--text-secondary)}.dark-theme .user-name[data-v-a1511b0c]{color:var(--text-primary)}.auth-modal[data-v-a1511b0c]{width:400px}.auth-input[data-v-a1511b0c]{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.auth-input[data-v-a1511b0c]:focus{border-color:#007bff}.auth-footer[data-v-a1511b0c]{text-align:center;margin-top:20px}.auth-footer a[data-v-a1511b0c]{color:#007bff;text-decoration:none;cursor:pointer}.auth-footer a[data-v-a1511b0c]:hover{text-decoration:underline}.menu-section[data-v-a1511b0c]{padding:8px 0}.menu-header[data-v-a1511b0c]{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f0f0f0}.user-menu[data-v-a1511b0c]{position:absolute;bottom:70px;left:20px;right:20px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;border:1px solid #e0e0e0;z-index:100;animation:menuSlideIn-a1511b0c .2s ease-out}@keyframes menuSlideIn-a1511b0c{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.menu-item[data-v-a1511b0c]{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background-color .2s;border:none;background:none;width:100%;text-align:left}.menu-item[data-v-a1511b0c]:hover{background:#f8f9fa}.menu-avatar[data-v-a1511b0c]{width:32px;height:32px;background:#f0f0f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.menu-user-info[data-v-a1511b0c]{flex:1;display:flex;flex-direction:column;gap:2px}.menu-user-name[data-v-a1511b0c]{font-size:14px;color:#333;font-weight:500}.menu-user-status[data-v-a1511b0c]{font-size:12px;color:#666}.menu-check[data-v-a1511b0c]{color:#007bff;font-weight:700;font-size:16px}.menu-icon[data-v-a1511b0c]{width:20px;text-align:center;font-size:14px}.menu-divider[data-v-a1511b0c]{height:1px;background:#e0e0e0;margin:4px 0}.sidebar-footer[data-v-a1511b0c]{position:relative}.send-btn[data-v-a1511b0c]:disabled{background:#ccc;cursor:not-allowed}.send-btn[data-v-a1511b0c]:not(:disabled):hover{background:#0056b3}.input-footer[data-v-a1511b0c]{margin-top:8px}.hint-text[data-v-a1511b0c]{font-size:12px;color:#666}.loading-spinner[data-v-a1511b0c]{display:inline-block;width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin-a1511b0c 1s linear infinite;margin-right:8px}@keyframes spin-a1511b0c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.sidebar[data-v-a1511b0c]{width:100%;position:absolute;z-index:10;height:100%;transform:translate(-100%);transition:transform .3s}.sidebar.open[data-v-a1511b0c]{transform:translate(0)}.message[data-v-a1511b0c]{max-width:90%}}
