#app{width:100%;height:100vh;margin:0;padding:0;position:relative}*{box-sizing:border-box}body{margin:0;padding:0;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}.connection-status{position:fixed;top:20px;right:20px;padding:12px 20px;background-color:#fef0f0;border:1px solid #fde2e2;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:14px;color:#f56c6c;box-shadow:0 2px 12px rgba(0,0,0,.1);z-index:9999;animation:slideIn .3s ease-out}.connection-status.connecting{background-color:#ecf5ff;border-color:#d9ecff;color:#409eff}.connection-status.error{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.connection-status i{font-size:16px}@keyframes slideIn{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.layout[data-v-1f015ff1]{display:flex;width:100%;height:100vh;background-color:var(--bg-page);transition:var(--transition-base);position:relative}.sidebar-overlay[data-v-1f015ff1]{display:none;position:fixed;inset:0;background-color:rgba(0,0,0,.5);z-index:999;animation:fadeIn-1f015ff1 .3s ease}@keyframes fadeIn-1f015ff1{0%{opacity:0}to{opacity:1}}.layout-sidebar[data-v-1f015ff1]{width:var(--sidebar-width);background-color:var(--bg-card);border-right:1px solid var(--border-light);overflow:hidden;transition:var(--transition-base);flex-shrink:0;position:relative;z-index:1000}.layout-main[data-v-1f015ff1]{flex:1;overflow:hidden;display:flex;flex-direction:column;background-color:var(--bg-page);min-width:0;position:relative}.layout.sidebar-overlay-mode .sidebar-overlay[data-v-1f015ff1]{display:none}.layout.sidebar-overlay-mode .layout-sidebar[data-v-1f015ff1]{position:fixed;left:0;top:0;height:100vh;width:var(--sidebar-width);transform:translateX(-100%);transition:transform var(--transition-base);z-index:1000}.layout.sidebar-overlay-mode.sidebar-open .sidebar-overlay[data-v-1f015ff1]{display:block}.layout.sidebar-overlay-mode.sidebar-open .layout-sidebar[data-v-1f015ff1]{transform:translateX(0)}.layout:not(.sidebar-overlay-mode).sidebar-open .layout-sidebar[data-v-1f015ff1]{width:var(--sidebar-width)}.layout:not(.sidebar-overlay-mode):not(.sidebar-open) .layout-sidebar[data-v-1f015ff1]{width:0;padding:0;border-right:none;overflow:hidden}.layout:not(.sidebar-overlay-mode):not(.sidebar-open) .sidebar-content[data-v-1f015ff1]{opacity:0;visibility:hidden}.sidebar-header[data-v-045cdc75]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);flex-shrink:0}.user-info[data-v-045cdc75]{display:flex;align-items:center;gap:var(--spacing-sm)}.user-avatar[data-v-045cdc75]{width:36px;height:36px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-color),var(--success-color));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);flex-shrink:0}.user-name[data-v-045cdc75]{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--text-primary)}.menu-btn[data-v-045cdc75]{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:50%;cursor:pointer;transition:var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none}.menu-btn[data-v-045cdc75]:hover{color:var(--text-primary);background-color:var(--bg-hover)}.menu-btn[data-v-045cdc75]:active{background-color:var(--bg-active)}.new-chat-section[data-v-36427d9b]{margin-bottom:var(--spacing-md)}.new-chat-btn[data-v-36427d9b]{width:100%;height:40px;background-color:#e8f4ff;color:#1c6ef3;border:none;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);transition:var(--transition-fast)}.new-chat-btn i[data-v-36427d9b]{font-size:16px}.new-chat-btn .shortcut-hint[data-v-36427d9b]{font-size:var(--font-size-xs);color:rgba(28,110,243,.6);margin-left:auto}.new-chat-btn[data-v-36427d9b]:hover{background-color:#1c6ef3;color:#fff}.new-chat-btn:hover .shortcut-hint[data-v-36427d9b]{color:hsla(0,0%,100%,.8)}.conversation-item[data-v-775d182b]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);position:relative}.conversation-item.is-hovered[data-v-775d182b],.conversation-item[data-v-775d182b]:hover{background-color:var(--bg-hover)}.conversation-item.is-active[data-v-775d182b]{background-color:var(--bg-active)}.conversation-icon[data-v-775d182b]{font-size:var(--font-size-base);color:var(--text-secondary);flex-shrink:0}.conversation-item.is-active .conversation-icon[data-v-775d182b]{color:var(--primary-color)}.conversation-title[data-v-775d182b]{flex:1;font-size:var(--font-size-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.conversation-actions[data-v-775d182b]{display:flex;align-items:center;gap:var(--spacing-xs);opacity:0;transition:var(--transition-fast)}.conversation-item.is-hovered .conversation-actions[data-v-775d182b],.conversation-item:hover .conversation-actions[data-v-775d182b]{opacity:1}.shortcut-hint[data-v-775d182b]{font-size:var(--font-size-xs);color:var(--text-secondary);padding:2px 4px}.delete-btn[data-v-775d182b]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);color:var(--text-secondary)}.delete-btn[data-v-775d182b]:hover{background-color:var(--bg-hover);color:var(--danger-color)}.conversation-list[data-v-d32ea3f8]{flex:1;overflow-y:auto;min-height:0;padding:var(--spacing-xs) 0}.search-box[data-v-396db185]{padding:var(--spacing-sm) var(--spacing-lg);flex-shrink:0}.search-input-wrapper[data-v-396db185]{position:relative;display:flex;align-items:center}.search-icon[data-v-396db185]{position:absolute;left:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm);pointer-events:none}.search-input[data-v-396db185]{width:100%;padding:var(--spacing-xs) var(--spacing-md);padding-left:calc(var(--spacing-lg) + var(--spacing-sm));padding-right:var(--spacing-lg);background-color:var(--bg-hover);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-primary);transition:var(--transition-fast);outline:none}.search-input[data-v-396db185]:focus{background-color:var(--bg-page);border-color:var(--primary-color)}.search-input[data-v-396db185]::-moz-placeholder{color:var(--text-secondary)}.search-input[data-v-396db185]::placeholder{color:var(--text-secondary)}.clear-icon[data-v-396db185]{position:absolute;right:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-fast)}.clear-icon[data-v-396db185]:hover{color:var(--text-primary)}.mobile-dialog-overlay[data-v-2389a31a]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg)}.mobile-dialog[data-v-2389a31a]{width:100%;max-width:300px;background-color:var(--bg-card);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.15);animation:slideUp-2389a31a .3s ease}@keyframes slideUp-2389a31a{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mobile-dialog__header[data-v-2389a31a]{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-sm);text-align:center}.mobile-dialog__icon[data-v-2389a31a]{width:48px;height:48px;margin:0 auto var(--spacing-sm);background-color:#fff3cd;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ffc107;font-size:24px}.mobile-dialog__title[data-v-2389a31a]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.mobile-dialog__content[data-v-2389a31a]{padding:0 var(--spacing-lg) var(--spacing-lg);text-align:center;font-size:var(--font-size-base);color:var(--text-regular);line-height:var(--line-height-relaxed)}.mobile-dialog__footer[data-v-2389a31a]{display:flex;border-top:1px solid var(--border-light)}.mobile-dialog__btn[data-v-2389a31a]{flex:1;padding:var(--spacing-md);border:none;background:transparent;font-size:var(--font-size-md);cursor:pointer;transition:var(--transition-fast)}.mobile-dialog__btn--cancel[data-v-2389a31a]{color:var(--text-secondary);border-right:1px solid var(--border-light)}.mobile-dialog__btn--cancel[data-v-2389a31a]:active{background-color:var(--bg-hover)}.mobile-dialog__btn--confirm[data-v-2389a31a]{color:var(--primary-color);font-weight:var(--font-weight-medium)}.mobile-dialog__btn--confirm[data-v-2389a31a]:active{background-color:var(--bg-hover)}.fade-enter-active[data-v-2389a31a],.fade-leave-active[data-v-2389a31a]{transition:opacity .3s ease}.fade-enter-from[data-v-2389a31a],.fade-leave-to[data-v-2389a31a]{opacity:0}.sidebar[data-v-e657a4ba]{display:flex;flex-direction:column;height:100%;background-color:var(--bg-page);overflow:hidden}.history-title[data-v-e657a4ba]{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium);flex-shrink:0}.logout-section[data-v-e657a4ba]{padding:var(--spacing-md) var(--spacing-lg);margin-top:auto;flex-shrink:0;border-top:1px solid var(--border-color)}.logout-button[data-v-e657a4ba]{width:100%;text-align:left;color:var(--text-secondary);font-size:var(--font-size-sm)}.logout-button[data-v-e657a4ba]:hover{color:var(--text-primary)}.feature-card[data-v-924b187a]{padding:var(--spacing-xl);background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition-base);cursor:pointer;text-align:center}.feature-card[data-v-924b187a]:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.feature-card[data-v-924b187a]:active{transform:translateY(-2px)}.feature-icon[data-v-924b187a]{width:60px;height:60px;margin:0 auto var(--spacing-md);display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--primary-color);background-color:var(--primary-light);border-radius:var(--radius-full)}.feature-title[data-v-924b187a]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.feature-description[data-v-924b187a]{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.welcome-page[data-v-d8fa4978]{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-4xl);overflow:hidden}.welcome-content[data-v-d8fa4978]{max-width:800px;width:100%;text-align:center}.welcome-title[data-v-d8fa4978]{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.welcome-subtitle[data-v-d8fa4978]{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--spacing-3xl)}.feature-cards[data-v-d8fa4978]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}@media (max-width:680px){.welcome-page[data-v-d8fa4978]{padding:var(--spacing-lg)}.welcome-title[data-v-d8fa4978]{font-size:var(--font-size-2xl)}.welcome-subtitle[data-v-d8fa4978]{font-size:var(--font-size-base);margin-bottom:var(--spacing-xl)}.feature-cards[data-v-d8fa4978]{grid-template-columns:1fr;gap:var(--spacing-md)}}.chat-header[data-v-960e71e8]{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--bg-card);border-bottom:1px solid var(--border-light);z-index:100;height:60px}.header-left[data-v-960e71e8]{display:flex;align-items:center;gap:var(--spacing-sm)}.toggle-sidebar-btn[data-v-960e71e8]{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--text-primary);border-radius:50%;cursor:pointer;transition:var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle-sidebar-btn[data-v-960e71e8]:hover{background-color:var(--bg-hover)}.toggle-sidebar-btn[data-v-960e71e8]:active{background-color:var(--bg-active)}.placeholder-btn[data-v-960e71e8]{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.chat-title[data-v-960e71e8]{position:absolute;left:50%;transform:translateX(-50%);font-size:var(--font-size-md);color:var(--text-primary);font-weight:var(--font-weight-normal)}@media (max-width:680px){.chat-header[data-v-960e71e8]{height:50px;padding:var(--spacing-sm) var(--spacing-md);background-color:hsla(0,0%,100%,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.placeholder-btn[data-v-960e71e8],.toggle-sidebar-btn[data-v-960e71e8]{width:32px;height:32px}.chat-title[data-v-960e71e8]{font-size:var(--font-size-sm)}}.message-item[data-v-36ca8054]{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);transition:var(--transition-fast)}.message-item.role-user[data-v-36ca8054]{justify-content:flex-end}.message-item.role-user .message-content[data-v-36ca8054]{max-width:70%}.message-item.role-user .user-message-body[data-v-36ca8054]{background-color:#f1f2f3;border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg)}.message-item.role-user .user-message-text[data-v-36ca8054]{color:var(--text-primary);margin:0;white-space:pre-wrap;font-size:var(--font-size-md);line-height:var(--line-height-relaxed)}.message-item.role-assistant .message-content[data-v-36ca8054]{flex:1;min-width:0}.message-item.role-assistant .ai-message-wrapper[data-v-36ca8054]{padding-top:var(--spacing-xs)}.message-item.role-assistant .ai-message-content[data-v-36ca8054]{color:var(--text-primary);font-size:var(--font-size-md);line-height:var(--line-height-relaxed)}.message-item.role-assistant .ai-message-content p[data-v-36ca8054]{margin:var(--spacing-sm) 0}.message-item.role-assistant .ai-message-content code[data-v-36ca8054]{font-family:var(--font-family-mono);font-size:.9em;background-color:var(--bg-hover);padding:2px 6px;border-radius:var(--radius-sm)}.message-item.role-assistant .ai-message-content pre[data-v-36ca8054]{background-color:var(--bg-hover);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;margin:var(--spacing-md) 0}.message-item.role-assistant .ai-message-content pre code[data-v-36ca8054]{background:none;padding:0}.message-item.role-assistant .ai-message-content ol[data-v-36ca8054],.message-item.role-assistant .ai-message-content ul[data-v-36ca8054]{padding-left:var(--spacing-lg);margin:var(--spacing-sm) 0}.message-item.role-assistant .ai-message-content li[data-v-36ca8054]{margin:var(--spacing-xs) 0}.message-item.role-assistant .ai-message-content blockquote[data-v-36ca8054]{border-left:3px solid var(--border-normal);padding-left:var(--spacing-md);margin:var(--spacing-md) 0;color:var(--text-secondary)}.message-item.role-assistant .ai-message-content table[data-v-36ca8054]{border-collapse:collapse;width:100%;margin:var(--spacing-md) 0}.message-item.role-assistant .ai-message-content table td[data-v-36ca8054],.message-item.role-assistant .ai-message-content table th[data-v-36ca8054]{border:1px solid var(--border-normal);padding:var(--spacing-sm) var(--spacing-md);text-align:left}.message-item.role-assistant .ai-message-content table th[data-v-36ca8054]{background-color:var(--bg-hover);font-weight:var(--font-weight-semibold)}.message-avatar[data-v-36ca8054]{flex-shrink:0}.avatar[data-v-36ca8054]{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:18px}.avatar.assistant-avatar[data-v-36ca8054]{background-color:var(--success-color);color:#fff}.message-content[data-v-36ca8054]{display:flex;flex-direction:column}.streaming-indicator[data-v-36ca8054]{display:inline-flex;gap:2px;margin-left:4px}.dot[data-v-36ca8054]{width:4px;height:4px;background-color:var(--text-secondary);border-radius:var(--radius-full);animation:pulse-36ca8054 1.4s infinite}.dot[data-v-36ca8054]:nth-child(2){animation-delay:.2s}.dot[data-v-36ca8054]:nth-child(3){animation-delay:.4s}@keyframes pulse-36ca8054{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.message-item.is-streaming .ai-message-wrapper[data-v-36ca8054]{animation:streamText-36ca8054 .3s ease-out}@keyframes streamText-36ca8054{0%{opacity:.6}to{opacity:1}}.messages-container[data-v-fcd8442c]{flex:1;overflow-y:auto;padding:var(--spacing-lg);margin-top:0;min-height:0;box-sizing:border-box;-webkit-overflow-scrolling:touch}.messages-list[data-v-fcd8442c]{display:flex;flex-direction:column;gap:var(--spacing-sm)}@media (max-width:680px){.messages-container[data-v-fcd8442c]{padding:var(--spacing-sm)}.messages-list[data-v-fcd8442c]{gap:var(--spacing-xs)}}.input-toolbar[data-v-0c6ef387]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}.toolbar-left[data-v-0c6ef387]{display:flex;align-items:center;gap:var(--spacing-xs);overflow-x:auto;max-width:calc(100% - 100px);flex-shrink:1}.toolbar-left[data-v-0c6ef387]::-webkit-scrollbar{height:0}.toolbar-divider[data-v-0c6ef387]{width:1px;height:16px;background-color:var(--border-light);margin:0 var(--spacing-xs);flex-shrink:0}.toolbar-right[data-v-0c6ef387]{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.toolbar-btn[data-v-0c6ef387]{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-regular);white-space:nowrap;transition:var(--transition-fast);background:transparent;border:none;cursor:pointer}.toolbar-btn i[data-v-0c6ef387]{font-size:18px;color:var(--text-secondary)}.toolbar-btn span[data-v-0c6ef387]{color:var(--text-regular);font-size:var(--font-size-sm)}.toolbar-btn[data-v-0c6ef387]:hover{background-color:var(--bg-hover)}.toolbar-btn:hover i[data-v-0c6ef387],.toolbar-btn:hover span[data-v-0c6ef387]{color:var(--primary-color)}.toolbar-btn.voice-btn i[data-v-0c6ef387]{font-size:20px}.toolbar-btn.voice-btn[data-v-0c6ef387]:hover{background-color:var(--bg-hover)}.toolbar-btn.voice-btn:hover i[data-v-0c6ef387]{color:var(--primary-color)}.send-btn[data-v-0c6ef387]{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast)}.send-btn[data-v-0c6ef387]:hover{transform:translateY(-1px)}.input-area[data-v-b89b40ce]{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg);background-color:var(--bg-page);border-top:1px solid var(--border-light);flex-shrink:0;box-sizing:border-box;min-height:80px}.input-container[data-v-b89b40ce]{display:flex;flex-direction:column;gap:var(--spacing-sm);background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-md);transition:var(--transition-fast);box-sizing:border-box}.input-container[data-v-b89b40ce]:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(64,158,255,.1)}.message-input[data-v-b89b40ce]{width:100%;border:none;outline:none;resize:none;font-family:inherit;font-size:var(--font-size-md);color:var(--text-primary);background:transparent;max-height:200px;line-height:var(--line-height-relaxed);box-sizing:border-box}.message-input[data-v-b89b40ce]::-moz-placeholder{color:var(--text-secondary)}.message-input[data-v-b89b40ce]::placeholder{color:var(--text-secondary)}@media (max-width:680px){.input-area[data-v-b89b40ce]{padding:var(--spacing-xs) var(--spacing-md) var(--spacing-md);min-height:auto;flex-shrink:0}.input-container[data-v-b89b40ce]{border-radius:24px;padding:var(--spacing-sm)}.message-input[data-v-b89b40ce]{font-size:var(--font-size-base);max-height:120px;-webkit-appearance:none}}.home-page[data-v-6323bc8a]{width:100%;height:100dvh;height:100vh;overflow:hidden}.conversation-page[data-v-6323bc8a]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;padding-top:60px;box-sizing:border-box;position:relative}@media (max-width:680px){.conversation-page[data-v-6323bc8a]{display:flex;flex-direction:column;padding-top:50px;height:100%;box-sizing:border-box}[data-v-6323bc8a] .messages-container{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;padding:var(--spacing-md)}[data-v-6323bc8a] .input-area{flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}[data-v-6323bc8a] .input-container{border-radius:24px!important}}.login-container[data-v-ce9af480]{width:100%;height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box[data-v-ce9af480]{width:400px;padding:40px;background:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.1)}.login-header[data-v-ce9af480]{text-align:center;margin-bottom:30px}.login-header h1[data-v-ce9af480]{font-size:32px;color:#333;margin:0 0 10px 0;font-weight:600}.login-header p[data-v-ce9af480]{font-size:14px;color:#666;margin:0}.login-form[data-v-ce9af480]{width:100%}.login-button[data-v-ce9af480]{width:100%;height:44px;font-size:16px}@media (max-width:680px){.login-box[data-v-ce9af480]{width:90%;padding:30px 20px}.login-header h1[data-v-ce9af480]{font-size:28px}}:root{--primary-color:#3b82f6;--primary-hover:#2563eb;--primary-active:#1d4ed8;--primary-light:#eff6ff;--neutral-50:#f8f9fa;--neutral-100:#f1f3f5;--neutral-200:#e9ecef;--neutral-300:#dee2e6;--neutral-400:#ced4da;--neutral-500:#adb5bd;--neutral-600:#86909c;--neutral-700:#495057;--neutral-800:#343a40;--neutral-900:#212529;--text-primary:#1f2329;--text-regular:#495057;--text-secondary:#86909c;--text-placeholder:#ced4da;--text-disabled:#dee2e6;--bg-page:#f8f9fa;--bg-card:#fff;--bg-hover:#f1f3f5;--bg-active:#e9ecef;--bg-disabled:#f8f9fa;--border-light:#e9ecef;--border-normal:#dee2e6;--border-dark:#ced4da;--success-color:#52c41a;--warning-color:#faad14;--error-color:#f5222d;--info-color:#3b82f6;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--spacing-3xl:48px;--spacing-4xl:64px;--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,"Noto Sans",sans-serif;--font-family-mono:"Fira Code","Consolas","Monaco","Andale Mono","Ubuntu Mono",monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-none:1;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--shadow-none:none;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.06);--duration-fast:150ms;--duration-normal:300ms;--duration-slow:500ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px;--sidebar-width:260px;--sidebar-width-collapsed:64px;--header-height:60px;--input-area-height:auto;--input-area-min-height:80px;--transition-base:all var(--duration-normal) var(--ease-in-out);--transition-fast:all var(--duration-fast) var(--ease-out);--transition-slow:all var(--duration-slow) var(--ease-in-out);--cursor-default:default;--cursor-pointer:pointer;--cursor-text:text;--cursor-not-allowed:not-allowed;--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal-backdrop:1040;--z-index-modal:1050;--z-index-popover:1060;--z-index-tooltip:1070}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleInUp{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseRing{0%{transform:scale(.8);box-shadow:0 0 0 0 rgba(59,130,246,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(59,130,246,0)}to{transform:scale(.8);box-shadow:0 0 0 0 rgba(59,130,246,0)}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blinkCursor{0%,to{border-color:transparent}50%{border-color:var(--text-primary)}}@keyframes blinkCaret{0%,to{opacity:1}50%{opacity:0}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes streamText{0%{opacity:.6}to{opacity:1}}@keyframes wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.5)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-fade-in-up{animation:fadeInUp var(--duration-normal) var(--ease-out)}.animate-fade-in-down{animation:fadeInDown var(--duration-normal) var(--ease-out)}.animate-fade-in-left{animation:fadeInLeft var(--duration-normal) var(--ease-out)}.animate-fade-in-right{animation:fadeInRight var(--duration-normal) var(--ease-out)}.animate-slide-in-up{animation:slideInUp var(--duration-normal) var(--ease-out)}.animate-slide-in-down{animation:slideInDown var(--duration-normal) var(--ease-out)}.animate-slide-in-left{animation:slideInLeft var(--duration-normal) var(--ease-out)}.animate-slide-in-right{animation:slideInRight var(--duration-normal) var(--ease-out)}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--ease-out)}.animate-scale-in-up{animation:scaleInUp var(--duration-normal) var(--ease-out)}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-pulse-ring{animation:pulseRing 2s var(--ease-out) infinite}.animate-typing{overflow:hidden;border-right:2px solid var(--text-primary);white-space:nowrap;animation:typing 3s steps(40),blinkCursor .75s step-end infinite}.animate-blink-caret{animation:blinkCaret 1s var(--ease-in-out) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s var(--ease-in-out) infinite}.animate-flash{animation:flash 1s var(--ease-in-out) infinite}.animate-stream-text{animation:streamText .3s var(--ease-out)}.transition-base{transition:var(--transition-base)}.transition-fast{transition:var(--transition-fast)}.transition-slow{transition:var(--transition-slow)}.transition-opacity{transition:opacity var(--duration-normal) var(--ease-in-out)}.transition-transform{transition:transform var(--duration-normal) var(--ease-in-out)}.transition-colors{transition:color var(--duration-normal) var(--ease-in-out),background-color var(--duration-normal) var(--ease-in-out),border-color var(--duration-normal) var(--ease-in-out)}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-page);overflow-x:hidden}a{color:var(--primary-color);text-decoration:none;transition:var(--transition-fast);&:hover{color:var(--primary-hover)}&:active{color:var(--primary-active)}}button{cursor:pointer}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;background:none;border:none;outline:none}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-page);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--neutral-400);border-radius:var(--radius-full);&:hover{background:var(--neutral-500)}&:active{background:var(--neutral-600)}}*{scrollbar-width:thin;scrollbar-color:var(--neutral-400) var(--bg-page)}.text-primary{color:var(--text-primary)}.text-regular{color:var(--text-regular)}.text-secondary{color:var(--text-secondary)}.text-placeholder{color:var(--text-placeholder)}.text-disabled{color:var(--text-disabled)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-error{color:var(--error-color)}.text-info{color:var(--info-color)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify}.text-truncate{white-space:nowrap}.text-ellipsis,.text-truncate{overflow:hidden;text-overflow:ellipsis}.text-ellipsis{display:-webkit-box;-webkit-box-orient:vertical}.text-ellipsis-2{-webkit-line-clamp:2}.text-ellipsis-3{-webkit-line-clamp:3}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-none{line-height:var(--line-height-none)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.m-0{margin:0}.m-1{margin:var(--spacing-xs)}.m-2{margin:var(--spacing-sm)}.m-3{margin:var(--spacing-md)}.m-4{margin:var(--spacing-lg)}.m-5{margin:var(--spacing-xl)}.m-6{margin:var(--spacing-2xl)}.m-auto{margin:auto}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mt-6{margin-top:var(--spacing-2xl)}.mt-auto{margin-top:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.mb-6{margin-bottom:var(--spacing-2xl)}.mb-auto{margin-bottom:auto}.ml-0{margin-left:0}.ml-1{margin-left:var(--spacing-xs)}.ml-2{margin-left:var(--spacing-sm)}.ml-3{margin-left:var(--spacing-md)}.ml-4{margin-left:var(--spacing-lg)}.ml-5{margin-left:var(--spacing-xl)}.ml-6{margin-left:var(--spacing-2xl)}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:var(--spacing-xs)}.mr-2{margin-right:var(--spacing-sm)}.mr-3{margin-right:var(--spacing-md)}.mr-4{margin-right:var(--spacing-lg)}.mr-5{margin-right:var(--spacing-xl)}.mr-6{margin-right:var(--spacing-2xl)}.mr-auto{margin-right:auto}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.p-6{padding:var(--spacing-2xl)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing-xs)}.pt-2{padding-top:var(--spacing-sm)}.pt-3{padding-top:var(--spacing-md)}.pt-4{padding-top:var(--spacing-lg)}.pt-5{padding-top:var(--spacing-xl)}.pt-6{padding-top:var(--spacing-2xl)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing-xs)}.pb-2{padding-bottom:var(--spacing-sm)}.pb-3{padding-bottom:var(--spacing-md)}.pb-4{padding-bottom:var(--spacing-lg)}.pb-5{padding-bottom:var(--spacing-xl)}.pb-6{padding-bottom:var(--spacing-2xl)}.pl-0{padding-left:0}.pl-1{padding-left:var(--spacing-xs)}.pl-2{padding-left:var(--spacing-sm)}.pl-3{padding-left:var(--spacing-md)}.pl-4{padding-left:var(--spacing-lg)}.pl-5{padding-left:var(--spacing-xl)}.pl-6{padding-left:var(--spacing-2xl)}.pr-0{padding-right:0}.pr-1{padding-right:var(--spacing-xs)}.pr-2{padding-right:var(--spacing-sm)}.pr-3{padding-right:var(--spacing-md)}.pr-4{padding-right:var(--spacing-lg)}.pr-5{padding-right:var(--spacing-xl)}.pr-6{padding-right:var(--spacing-2xl)}.flex{display:flex}.flex-inline{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.grid{display:grid}.grid-inline{display:inline-grid}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.min-w-0{min-width:0}.min-h-0{min-height:0}.max-w-full{max-width:100%}.max-h-full{max-height:100%}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky;top:0}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.border{border:1px solid var(--border-normal)}.border-0{border:0}.border-t{border-top:1px solid var(--border-normal)}.border-r{border-right:1px solid var(--border-normal)}.border-b{border-bottom:1px solid var(--border-normal)}.border-l{border-left:1px solid var(--border-normal)}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.rounded-t-lg{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.rounded-b-lg{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.rounded-l-lg{border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.rounded-r-lg{border-radius:0 var(--radius-lg) var(--radius-lg) 0}.shadow-none{box-shadow:var(--shadow-none)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-inner{box-shadow:var(--shadow-inner)}.bg-page{background-color:var(--bg-page)}.bg-card{background-color:var(--bg-card)}.bg-hover{background-color:var(--bg-hover)}.bg-active{background-color:var(--bg-active)}.bg-primary{background-color:var(--primary-color)}.bg-success{background-color:var(--success-color)}.bg-warning{background-color:var(--warning-color)}.bg-error{background-color:var(--error-color)}.bg-info{background-color:var(--info-color)}.cursor-default{cursor:var(--cursor-default)}.cursor-pointer{cursor:var(--cursor-pointer)}.cursor-text{cursor:var(--cursor-text)}.cursor-not-allowed{cursor:var(--cursor-not-allowed)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}@media (min-width:992px){.hidden-desktop{display:none!important}.visible-desktop{display:block!important}}@media (min-width:768px) and (max-width:991px){.hidden-tablet{display:none!important}.visible-tablet{display:block!important}}@media (max-width:767px){.hidden-mobile{display:none!important}.visible-mobile{display:block!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}