[data-v-70ec9b71]:export{menu-color:hsla(0,0%,100%,.95);menu-color-active:hsla(0,0%,100%,.95);menu-background:#282c34;column-second-menu-background:#fff}.companion-layout[data-v-70ec9b71]{height:100vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#f5f5f5;overflow:hidden;padding-top:60px;-webkit-box-sizing:border-box;box-sizing:border-box}.companion-top-nav[data-v-70ec9b71]{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#0091a5,#00a8be);height:60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 16px;z-index:100;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.1)}.companion-top-nav .nav-icon[data-v-70ec9b71]{color:#fff!important;font-size:20px;padding:8px}.companion-top-nav .nav-title[data-v-70ec9b71]{color:#fff;font-size:18px;font-weight:600;text-align:center;-webkit-box-flex:1;-ms-flex:1;flex:1}.companion-content[data-v-70ec9b71]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden}.companion-sidebar[data-v-70ec9b71]{width:280px;background:#f9fbff;border-right:1px solid #e0e0e0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:width .25s ease;transition:width .25s ease}.companion-sidebar.collapsed[data-v-70ec9b71]{width:0;border-right:none}.companion-sidebar.collapsed .drawer-action[data-v-70ec9b71],.companion-sidebar.collapsed .drawer-list[data-v-70ec9b71]{display:none}.sidebar-header[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e0e0e0;background:#fff;-ms-flex-negative:0;flex-shrink:0}.sidebar-title[data-v-70ec9b71]{font-size:18px;font-weight:600;color:#333}.toggle-btn[data-v-70ec9b71]{font-size:18px;color:#666;padding:4px}.drawer-action[data-v-70ec9b71]{padding:12px}.drawer-action .new-session-btn[data-v-70ec9b71]{width:100%;border-radius:6px;background:#0091a5;border-color:#0091a5}.drawer-list[data-v-70ec9b71]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.drawer-list .list-header[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 16px;font-size:13px;color:#888}.drawer-list .list-empty[data-v-70ec9b71]{text-align:center;color:#999;font-size:13px;padding:32px 0}.session-item[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px 16px;cursor:pointer;-webkit-transition:background .15s;transition:background .15s;position:relative}.session-item[data-v-70ec9b71]:hover{background:rgba(0,145,165,.04)}.session-item:hover .session-actions[data-v-70ec9b71]{opacity:1}.session-item.active[data-v-70ec9b71]{background:rgba(38,166,154,.08);border-right:3px solid #0091a5}.session-item .session-info[data-v-70ec9b71]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.session-item .session-title[data-v-70ec9b71]{font-size:14px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item .session-meta[data-v-70ec9b71]{font-size:12px;color:#999;margin-top:2px}.session-item .session-actions[data-v-70ec9b71]{opacity:0;-webkit-transition:opacity .2s;transition:opacity .2s;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}.companion-page[data-v-70ec9b71]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-webkit-transition:padding .25s ease;transition:padding .25s ease;min-height:0}.companion-container[data-v-70ec9b71]{width:100%;max-width:1000px;height:100%;background:#fff;border-radius:16px;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.1);box-shadow:0 4px 12px rgba(0,0,0,.1);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden;position:relative}.chat-header-banner[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #e0e0e0;-ms-flex-negative:0;flex-shrink:0}.chat-header-banner .menu-btn[data-v-70ec9b71]{font-size:20px;color:#666;padding:4px}.chat-header-banner .avatar-icon[data-v-70ec9b71]{width:40px;height:40px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-left:12px;overflow:hidden;background:#e6f7f9}.chat-header-banner .avatar-icon img[data-v-70ec9b71]{width:100%;height:100%}.chat-header-banner .chat-title[data-v-70ec9b71]{font-size:18px;font-weight:600;color:#333;margin-left:12px}.chat-header-banner .header-spacer[data-v-70ec9b71]{-webkit-box-flex:1;-ms-flex:1;flex:1}.chat-header-banner .end-session-btn[data-v-70ec9b71]{font-size:18px}.document-progress[data-v-70ec9b71]{padding:10px 16px;background:#e6f7f9;border-bottom:1px solid #b3e5ec;-ms-flex-negative:0;flex-shrink:0}.progress-row[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.progress-text[data-v-70ec9b71]{font-size:13px;color:#333}.progress-count[data-v-70ec9b71]{font-size:12px;color:#666;margin-left:8px}.progress-question[data-v-70ec9b71]{font-size:12px;color:#666;margin-top:6px;padding-left:24px}.chat-messages[data-v-70ec9b71]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;background:transparent}.messages-container[data-v-70ec9b71]{padding:16px;-ms-flex-direction:column;flex-direction:column}.messages-container[data-v-70ec9b71],.welcome-section[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal}.welcome-section[data-v-70ec9b71]{text-align:center;padding:48px 16px;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.welcome-section .welcome-icon[data-v-70ec9b71]{margin-bottom:16px}.welcome-section .empty-title[data-v-70ec9b71]{font-size:18px;color:#888;margin-bottom:8px}.welcome-section .empty-desc[data-v-70ec9b71]{font-size:13px;color:#aaa;margin-bottom:24px}.welcome-section .quick-questions[data-v-70ec9b71]{max-width:600px;text-align:left}.welcome-section .quick-title[data-v-70ec9b71]{font-size:14px;color:#606266;margin-bottom:12px}.welcome-section .quick-tags[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}.welcome-section .quick-tag[data-v-70ec9b71]{padding:6px 12px;background:#e6f7f9;border:1px solid #b3e5ec;border-radius:16px;color:#0091a5;font-size:13px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;white-space:nowrap}.welcome-section .quick-tag[data-v-70ec9b71]:hover{background:#b3e5ec;border-color:#0091a5}.message-wrapper[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;margin-bottom:16px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.message-wrapper.user[data-v-70ec9b71]{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.message-avatar[data-v-70ec9b71]{width:36px;height:36px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0;font-size:16px;color:#fff}.avatar-ai[data-v-70ec9b71]{background:transparent;overflow:hidden}.ai-avatar-img[data-v-70ec9b71]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-user[data-v-70ec9b71]{background:#0091a5}.message-content-wrapper[data-v-70ec9b71]{min-width:0;max-width:75%}.message-bubble[data-v-70ec9b71]{padding:12px 16px;border-radius:16px;line-height:1.6}.message-bubble.ai[data-v-70ec9b71]{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px 16px 16px 16px}.message-bubble.user[data-v-70ec9b71]{background:#0091a5;color:#fff;border-radius:16px 4px 16px 16px}.loading-content[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px;gap:8px;color:#909399}.message-text[data-v-70ec9b71]{word-break:break-word}.document-actions[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.search-sources[data-v-70ec9b71]{background:#e6f7f9;border-radius:8px;padding:8px 12px;border-left:3px solid #0091a5;margin-top:8px}.search-sources .search-sources-header[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;font-size:12px;color:#666;margin-bottom:6px}.search-sources .search-sources-list[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}.search-sources .search-source-item[data-v-70ec9b71]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:4px 10px;background:#fff;border-radius:16px;text-decoration:none;font-size:12px;border:1px solid #e0e0e0;-webkit-transition:border-color .2s,background .2s;transition:border-color .2s,background .2s;max-width:280px;overflow:hidden}.search-sources .search-source-item[data-v-70ec9b71]:hover{border-color:#0091a5;background:#e6f7f9}.search-sources .search-source-item .source-title[data-v-70ec9b71]{color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.search-sources .search-source-item .source-site[data-v-70ec9b71]{color:#999;font-size:11px;white-space:nowrap}.message-time[data-v-70ec9b71]{font-size:11px;color:#9e9e9e;margin-top:4px}.message-wrapper.user .message-time[data-v-70ec9b71]{text-align:right}.document-preview-panel[data-v-70ec9b71]{position:fixed;bottom:100px;left:20px;right:20px;max-height:40vh;background:#fff;border-radius:12px;-webkit-box-shadow:0 -4px 20px rgba(0,0,0,.15);box-shadow:0 -4px 20px rgba(0,0,0,.15);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;z-index:100}.panel-header[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 16px;border-bottom:1px solid #e0e0e0;font-weight:500;gap:6px}.panel-content[data-v-70ec9b71]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:12px 16px;max-height:25vh}.panel-content pre[data-v-70ec9b71]{margin:0;white-space:pre-wrap;word-break:break-word;font-family:SimSun,serif;font-size:13px;line-height:1.6}.panel-actions[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;padding:12px 16px;border-top:1px solid #e0e0e0;gap:8px}.chat-input-container[data-v-70ec9b71]{background:#fff;border-top:1px solid #e0e0e0;-webkit-box-shadow:0 -2px 4px rgba(0,0,0,.05);box-shadow:0 -2px 4px rgba(0,0,0,.05);-ms-flex-negative:0;flex-shrink:0;padding:16px}.input-wrapper[data-v-70ec9b71]{width:100%}.input-row[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.input-left[data-v-70ec9b71]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.input-right[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;-ms-flex-negative:0;flex-shrink:0}.attach-btn[data-v-70ec9b71]{-ms-flex-negative:0;flex-shrink:0;width:40px;height:40px;padding:0;color:#757575;border-color:#e0e0e0}.send-btn[data-v-70ec9b71]{height:40px;padding:0 20px;background:#0091a5;border-color:#0091a5}.send-btn[data-v-70ec9b71]:focus,.send-btn[data-v-70ec9b71]:hover{background:#0091a5;border-color:#0091a5;opacity:.8}.send-btn.is-disabled[data-v-70ec9b71]{background:#b3e5ec;border-color:#b3e5ec;color:#fff;opacity:.6}.upload-progress[data-v-70ec9b71]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:4px 0;font-size:12px;color:#888}.input-hint[data-v-70ec9b71]{font-size:12px;color:#c0c4cc;margin-top:8px;text-align:center}.footer-text[data-v-70ec9b71]{font-size:12px;color:#888;text-align:center;margin-top:8px}.spinner-sm[data-v-70ec9b71]{display:inline-block;width:16px;height:16px;border:2px solid #e0e0e0;border-top-color:#0091a5;border-radius:50%;-webkit-animation:spin-70ec9b71 .6s linear infinite;animation:spin-70ec9b71 .6s linear infinite}@-webkit-keyframes spin-70ec9b71{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-70ec9b71{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@media (max-width:600px){.companion-page[data-v-70ec9b71]{padding:0}.companion-container[data-v-70ec9b71]{height:100vh;border-radius:0}.chat-input-container[data-v-70ec9b71]{padding:12px}.messages-container[data-v-70ec9b71]{padding-left:8px;padding-right:8px}.document-preview-panel[data-v-70ec9b71]{bottom:80px;left:8px;right:8px}}[data-v-70ec9b71] .message-text pre{background:#f5f5f5;padding:8px;border-radius:4px;overflow-x:auto;font-family:Courier New,monospace;font-size:13px}[data-v-70ec9b71] .message-input .el-input__inner{border-radius:24px;height:48px;line-height:48px;font-size:15px;padding:0 20px;border-color:#e0e0e0}[data-v-70ec9b71] .message-input .el-input__inner:focus{border-color:#0091a5}[data-v-70ec9b71] .message-input .el-input__prefix,[data-v-70ec9b71] .message-input .el-input__suffix{display:none}[data-v-70ec9b71] .document-textarea textarea{font-family:SimSun,serif;line-height:1.8}