.sidebar-resize-handle[data-v-ab7cc9c2]{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;background:transparent;transition:background .15s;z-index:10000}.sidebar-resize-handle[data-v-ab7cc9c2]:hover,.sidebar-resize-handle[data-v-ab7cc9c2]:active{background:var(--primary-color)}.star-btn[data-v-ab7cc9c2]{background:none;border:none;cursor:pointer;font-size:16px;padding:2px 4px;flex-shrink:0;color:var(--text-light);transition:color .2s,transform .15s;line-height:1}.star-btn[data-v-ab7cc9c2]:hover{transform:scale(1.2);color:#faad14}.star-btn.starred[data-v-ab7cc9c2]{color:#faad14}.sidebar-tag-filter[data-v-ab7cc9c2]{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border-color)}.tag-chip[data-v-ab7cc9c2]{font-size:11px;padding:3px 10px;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap;-webkit-user-select:none;user-select:none}.tag-chip[data-v-ab7cc9c2]:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-light)}.tag-chip.active[data-v-ab7cc9c2]{background:var(--primary-color);color:#fff;box-shadow:0 2px 4px #1677ff33;border-color:var(--primary-color)}.conversation-tags[data-v-ab7cc9c2]{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.tag-badge[data-v-ab7cc9c2]{font-size:10px;padding:1px 6px;border-radius:8px;background:var(--primary-light);color:var(--primary-color);cursor:pointer;transition:all .15s;white-space:nowrap}.tag-badge[data-v-ab7cc9c2]:hover{background:var(--primary-color);color:#fff}.tag-editor[data-v-ab7cc9c2]{padding:8px 10px;border-top:1px solid var(--border-light);background:var(--bg-gray-light)}.tag-editor-header[data-v-ab7cc9c2]{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.tag-editor-input-row[data-v-ab7cc9c2]{display:flex;gap:4px}.tag-editor-input[data-v-ab7cc9c2]{flex:1;font-size:12px;padding:4px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-main);outline:none}.tag-editor-input[data-v-ab7cc9c2]:focus{border-color:var(--primary-color)}.tag-editor-add-btn[data-v-ab7cc9c2]{padding:4px 10px;font-size:14px;border:1px solid var(--primary-color);border-radius:var(--radius-sm);background:var(--primary-color);color:#fff;cursor:pointer}.tag-editor-add-btn[data-v-ab7cc9c2]:hover{background:var(--primary-hover)}.tag-editor-list[data-v-ab7cc9c2]{margin-top:6px}.tag-editor-current[data-v-ab7cc9c2]{display:flex;flex-wrap:wrap;gap:4px}.tag-editor-tag[data-v-ab7cc9c2]{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:2px 6px;border-radius:8px;background:var(--primary-light);color:var(--primary-color)}.tag-remove-btn[data-v-ab7cc9c2]{background:none;border:none;font-size:13px;cursor:pointer;color:var(--text-light);padding:0;line-height:1}.tag-remove-btn[data-v-ab7cc9c2]:hover{color:var(--text-danger)}.tag-editor-suggestions[data-v-ab7cc9c2]{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;padding-top:4px;border-top:1px solid var(--border-light)}.tag-editor-suggest-label[data-v-ab7cc9c2]{font-size:10px;color:var(--text-light);margin-right:2px}.tag-suggest-btn[data-v-ab7cc9c2]{font-size:10px;padding:1px 6px;border-radius:8px;border:1px dashed var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer}.tag-suggest-btn[data-v-ab7cc9c2]:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-light)}.tag-editor-actions[data-v-ab7cc9c2]{display:flex;gap:6px;margin-top:8px}.tag-editor-done-btn[data-v-ab7cc9c2]{flex:1;padding:4px 0;font-size:12px;border:none;border-radius:var(--radius-sm);background:var(--primary-color);color:#fff;cursor:pointer}.tag-editor-done-btn[data-v-ab7cc9c2]:hover{background:var(--primary-hover)}.tag-editor-cancel-btn[data-v-ab7cc9c2]{flex:1;padding:4px 0;font-size:12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.tag-editor-cancel-btn[data-v-ab7cc9c2]:hover{background:var(--bg-gray)}.sidebar-stats[data-v-ab7cc9c2]{border-top:1px solid var(--border-color);background:var(--bg-gray-light)}.stats-header[data-v-ab7cc9c2]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.stats-header[data-v-ab7cc9c2]:hover{color:var(--text-main)}.stats-toggle[data-v-ab7cc9c2]{font-size:10px;transition:transform .2s}.stats-body[data-v-ab7cc9c2]{max-height:0;overflow:hidden;transition:max-height .35s ease}.stats-body.expanded[data-v-ab7cc9c2]{max-height:500px}.stats-body-inner[data-v-ab7cc9c2]{padding:4px 12px 10px}.stats-row[data-v-ab7cc9c2]{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:12px}.stats-label[data-v-ab7cc9c2]{color:var(--text-secondary)}.stats-value[data-v-ab7cc9c2]{color:var(--text-main);font-weight:600}.stats-model-section[data-v-ab7cc9c2]{margin-top:6px;padding-top:6px;border-top:1px solid var(--border-light)}.stats-model-section-title[data-v-ab7cc9c2]{font-size:11px;color:var(--text-light);margin-bottom:2px}.stats-model-name[data-v-ab7cc9c2]{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item[data-v-ab7cc9c2]{display:flex;align-items:flex-start;gap:2px}.conversation-info[data-v-ab7cc9c2]{flex:1;min-width:0}.sidebar-msg-search-toggle[data-v-ab7cc9c2]{padding:4px 10px;border-bottom:1px solid var(--border-color)}.msg-search-btn[data-v-ab7cc9c2]{width:100%;padding:5px 8px;border:1px dashed var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s;text-align:center}.msg-search-btn[data-v-ab7cc9c2]:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-light)}.sidebar-msg-search-panel[data-v-ab7cc9c2]{border-bottom:1px solid var(--border-color);background:var(--bg-gray-light)}.msg-search-input-row[data-v-ab7cc9c2]{display:flex;align-items:center;gap:4px;padding:6px 10px}.msg-search-input[data-v-ab7cc9c2]{flex:1;font-size:12px;padding:5px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-main);outline:none}.msg-search-input[data-v-ab7cc9c2]:focus{border-color:var(--primary-color)}.msg-search-clear[data-v-ab7cc9c2]{background:none;border:none;font-size:16px;cursor:pointer;color:var(--text-light);padding:0 4px}.msg-search-clear[data-v-ab7cc9c2]:hover{color:var(--text-danger)}.msg-search-results[data-v-ab7cc9c2]{max-height:300px;overflow-y:auto}.msg-search-empty[data-v-ab7cc9c2]{padding:16px;text-align:center;font-size:12px;color:var(--text-light)}.msg-search-result-count[data-v-ab7cc9c2]{padding:4px 10px;font-size:11px;color:var(--text-light)}.msg-search-group[data-v-ab7cc9c2]{border-top:1px solid var(--border-light)}.msg-search-group-title[data-v-ab7cc9c2]{padding:5px 10px;font-size:12px;font-weight:600;color:var(--primary-color);cursor:pointer;transition:background .1s}.msg-search-group-title[data-v-ab7cc9c2]:hover{background:var(--primary-light)}.msg-search-item[data-v-ab7cc9c2]{display:flex;align-items:flex-start;gap:6px;padding:4px 10px 4px 20px;cursor:pointer;transition:background .1s}.msg-search-item[data-v-ab7cc9c2]:hover{background:var(--primary-light)}.msg-search-item-role[data-v-ab7cc9c2]{font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;min-width:18px}.msg-search-item-content[data-v-ab7cc9c2]{font-size:12px;color:var(--text-main);word-break:break-all;line-height:1.4}.msg-search-item-content[data-v-ab7cc9c2] .search-highlight,.conversation-title[data-v-ab7cc9c2] .search-highlight{background:var(--primary-light);color:var(--primary-color);padding:0 2px;border-radius:2px;font-weight:500}.conversation-item[draggable=true][data-v-ab7cc9c2]{cursor:grab;transition:transform .15s,opacity .15s}.conversation-item[draggable=true][data-v-ab7cc9c2]:active{cursor:grabbing}.conversation-item.dragging[data-v-ab7cc9c2]{opacity:.4;transform:scale(.98)}.conversation-item.drag-over[data-v-ab7cc9c2]{border-top:2px solid var(--primary-color);margin-top:-2px}.conversation-item.drag-over[data-v-ab7cc9c2]:before{content:"";position:absolute;top:-2px;left:0;right:0;height:2px;background:var(--primary-color);z-index:1}.pin-indicator[data-v-ab7cc9c2]{font-size:12px;margin-left:4px;flex-shrink:0;opacity:.8}.compact-btn[data-v-ab7cc9c2]{font-size:14px;font-weight:700}.compact-btn.active[data-v-ab7cc9c2]{background:var(--primary-color);color:#fff}.conversations-list.compact .conversation-item[data-v-ab7cc9c2]{padding:6px 10px}.conversations-list.compact .conversation-title[data-v-ab7cc9c2]{font-size:13px;margin-bottom:0}.conversations-list.compact .conversation-time[data-v-ab7cc9c2]{font-size:11px}.conversations-list.compact .conversation-count[data-v-ab7cc9c2],.conversations-list.compact .conversation-preview[data-v-ab7cc9c2],.conversations-list.compact .conversation-tags[data-v-ab7cc9c2]{display:none}.conversations-list.compact .star-btn[data-v-ab7cc9c2],.conversations-list.compact .conversation-more[data-v-ab7cc9c2]{width:18px;height:18px;font-size:12px}.quick-delete-btn[data-v-ab7cc9c2]{width:20px;height:20px;border:none;background:transparent;color:var(--text-light);font-size:16px;cursor:pointer;display:none;align-items:center;justify-content:center;border-radius:4px;transition:all .15s;flex-shrink:0;padding:0;line-height:1}.conversation-item:hover .quick-delete-btn[data-v-ab7cc9c2]{display:flex}.quick-delete-btn[data-v-ab7cc9c2]:hover{background:var(--text-danger);color:#fff}.conversation-badge[data-v-ab7cc9c2]{display:inline-block;padding:0 6px;font-size:11px;font-weight:600;background:var(--primary-color);color:#fff;border-radius:10px;margin-left:6px;vertical-align:middle}.sidebar-empty[data-v-ab7cc9c2]{padding:40px 20px;text-align:center;color:var(--text-light)}.empty-icon[data-v-ab7cc9c2]{font-size:32px;margin-bottom:8px}.empty-text[data-v-ab7cc9c2]{font-size:14px}.empty-state-steps[data-v-ab7cc9c2]{margin-top:20px;display:flex;flex-direction:column;gap:8px}.step[data-v-ab7cc9c2]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.step-num[data-v-ab7cc9c2]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--primary-color);color:#fff;border-radius:50%;font-size:11px;font-weight:600;flex-shrink:0}.sidebar-templates[data-v-ab7cc9c2]{border-bottom:1px solid var(--border-color);background:var(--bg-gray-light)}.templates-toggle[data-v-ab7cc9c2]{width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;font-size:12px;color:var(--text-secondary);text-align:left;transition:background .1s}.templates-toggle[data-v-ab7cc9c2]:hover{background:var(--bg-gray)}.templates-list[data-v-ab7cc9c2]{padding:0 12px 8px}.template-item[data-v-ab7cc9c2]{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:var(--radius-sm);transition:background .1s}.template-item[data-v-ab7cc9c2]:hover{background:var(--bg-gray)}.template-name[data-v-ab7cc9c2]{font-size:12px;color:var(--text-main);cursor:pointer;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-name[data-v-ab7cc9c2]:hover{color:var(--primary-color)}.template-delete[data-v-ab7cc9c2]{background:none;border:none;font-size:14px;color:var(--text-light);cursor:pointer;padding:0 4px;line-height:1;opacity:0;transition:opacity .1s,color .1s}.template-item:hover .template-delete[data-v-ab7cc9c2]{opacity:1}.template-delete[data-v-ab7cc9c2]:hover{color:var(--text-danger)}.sidebar-archive-toggle[data-v-ab7cc9c2]{border-bottom:1px solid var(--border-color)}.archive-toggle-btn[data-v-ab7cc9c2]{width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;font-size:12px;color:var(--text-secondary);text-align:left;transition:background .1s}.archive-toggle-btn[data-v-ab7cc9c2]:hover{background:var(--bg-gray)}.archive-toggle-btn.active[data-v-ab7cc9c2]{color:var(--primary-color);background:var(--primary-light)}.config-tabs[data-v-76a09923]{display:flex;gap:0;margin-bottom:16px;border-bottom:2px solid var(--border-color);position:relative}.config-tab[data-v-76a09923]{flex:1;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;font-weight:500;transition:color .2s ease;position:relative;z-index:1}.config-tab[data-v-76a09923]:hover{color:var(--text-main)}.config-tab.active[data-v-76a09923]{color:var(--primary-color);font-weight:600}.config-tab-indicator[data-v-76a09923]{position:absolute;bottom:-2px;height:2px;border-radius:2px 2px 0 0;background:var(--primary-color);transition:left .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1);z-index:2}.tab-panels[data-v-76a09923]{position:relative}.tab-panel[data-v-76a09923]{transition:opacity .25s ease,visibility .25s ease;opacity:0;visibility:hidden;position:absolute;width:100%;top:0;left:0}.tab-panel.active[data-v-76a09923]{opacity:1;visibility:visible;position:relative}.system-prompt-textarea[data-v-76a09923]{width:100%;min-height:72px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-main);font-size:13px;font-family:inherit;resize:vertical;outline:none;transition:border-color .2s;line-height:1.5}.system-prompt-textarea[data-v-76a09923]:focus{border-color:var(--primary-color)}.param-slider[data-v-76a09923]{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-color);border-radius:2px;outline:none;cursor:pointer;margin:8px 0 2px}.param-slider[data-v-76a09923]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0003}.param-value[data-v-76a09923]{font-size:13px;font-weight:600;color:var(--primary-color);min-width:36px;text-align:right}.param-range-labels[data-v-76a09923]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-light);padding:0 2px}.param-divider[data-v-76a09923]{height:1px;background:var(--border-color);margin:12px 0}.preset-section[data-v-76a09923]{margin-bottom:8px}.preset-list[data-v-76a09923]{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.preset-chip[data-v-76a09923]{font-size:11px;padding:3px 8px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.preset-chip[data-v-76a09923]:hover{border-color:var(--primary-color);color:var(--primary-color)}.preset-chip.active[data-v-76a09923]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.preset-chip.builtin[data-v-76a09923]{border-style:dashed}.preset-remove[data-v-76a09923]{font-size:13px;font-weight:700;color:var(--text-light);cursor:pointer;line-height:1;padding:0 0 0 2px}.preset-remove[data-v-76a09923]:hover{color:var(--text-danger)}.preset-save-row[data-v-76a09923]{display:flex;gap:4px;margin-top:6px}.preset-name-input[data-v-76a09923]{flex:1;font-size:12px;padding:4px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-main);outline:none}.preset-name-input[data-v-76a09923]:focus{border-color:var(--primary-color)}.preset-save-btn[data-v-76a09923]{font-size:11px;padding:4px 8px;border:1px solid var(--primary-color);border-radius:var(--radius-sm);background:var(--primary-color);color:#fff;cursor:pointer;white-space:nowrap;transition:background .2s}.preset-save-btn[data-v-76a09923]:hover{background:var(--primary-hover)}.preset-save-btn[data-v-76a09923]:disabled{opacity:.5;cursor:not-allowed}.model-error-row[data-v-76a09923]{display:flex;align-items:center;gap:8px;margin:6px 0 0 90px;font-size:12px}.model-error-text[data-v-76a09923]{color:var(--text-danger);flex:1;word-break:break-all}.model-retry-btn[data-v-76a09923]{padding:3px 10px;border:1px solid var(--primary-color);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--primary-color);font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.model-retry-btn[data-v-76a09923]:hover{background:var(--primary-color);color:#fff}.model-loading-row[data-v-76a09923]{display:flex;align-items:center;gap:8px;margin:6px 0 0 90px;font-size:12px;color:var(--text-secondary)}.model-loading-spinner[data-v-76a09923]{width:14px;height:14px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:modelSpinner-76a09923 .6s linear infinite;flex-shrink:0}.model-loading-text[data-v-76a09923]{color:var(--text-secondary)}@keyframes modelSpinner-76a09923{to{transform:rotate(360deg)}}.host-select-wrapper[data-v-76a09923]{flex:1}.host-select-row[data-v-76a09923]{display:flex;align-items:center;gap:8px}.host-select-trigger-wrap[data-v-76a09923]{position:relative;display:inline-flex}.host-select-trigger[data-v-76a09923]{display:flex;align-items:center;gap:4px;cursor:pointer;padding:8px 12px;text-align:left;font-size:14px;font-family:inherit;color:var(--text-main);width:auto;min-width:80px}.host-select-trigger span[data-v-76a09923]:first-child{flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.host-select-arrow[data-v-76a09923]{font-size:10px;color:var(--text-light);flex-shrink:0}.host-select-dropdown[data-v-76a09923]{position:absolute;top:100%;left:0;margin-top:2px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0000001a;z-index:100;max-height:200px;overflow-y:auto;min-width:100%;width:auto;white-space:nowrap}.host-select-empty[data-v-76a09923]{padding:10px;text-align:center;color:var(--text-light);font-size:13px}.host-select-item[data-v-76a09923]{display:flex;align-items:center;padding:7px 10px;cursor:pointer;font-size:13px;color:var(--text-main);transition:background .15s}.host-select-item[data-v-76a09923]:hover{background:var(--bg-gray)}.host-select-item.active[data-v-76a09923]{color:var(--primary-color);font-weight:600}.host-select-name[data-v-76a09923]{flex:1;word-break:break-all}.host-select-del[data-v-76a09923]{flex-shrink:0;width:20px;text-align:center;color:var(--text-light);font-size:14px;font-weight:700;cursor:pointer;line-height:1}.host-select-del[data-v-76a09923]:hover{color:var(--text-danger)}.host-add-row[data-v-76a09923]{display:flex;gap:4px;margin-top:6px;margin-left:102px}.host-add-input[data-v-76a09923]{flex:none;font-size:12px;padding:4px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-main);outline:none;min-width:160px}.host-add-input[data-v-76a09923]:focus{border-color:var(--primary-color)}.model-select-wrapper[data-v-76a09923]{flex:1}.model-select-row[data-v-76a09923]{display:flex;align-items:center;gap:8px}.model-select-trigger-wrap[data-v-76a09923]{position:relative;display:inline-flex}.model-select-trigger[data-v-76a09923]{display:flex;align-items:center;gap:4px;cursor:pointer;padding:8px 12px;text-align:left;font-size:14px;font-family:inherit;color:var(--text-main);width:auto;min-width:80px}.model-select-trigger span[data-v-76a09923]:first-child{flex:1;text-align:center}.model-select-arrow[data-v-76a09923]{font-size:10px;color:var(--text-light);flex-shrink:0}.model-select-dropdown[data-v-76a09923]{position:absolute;top:100%;left:0;margin-top:2px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0000001a;z-index:100;max-height:200px;overflow-y:auto;min-width:100%;width:auto;white-space:nowrap}.model-select-empty[data-v-76a09923]{padding:10px;text-align:center;color:var(--text-light);font-size:13px}.model-select-item[data-v-76a09923]{display:flex;align-items:center;padding:7px 10px;cursor:pointer;font-size:13px;color:var(--text-main);transition:background .15s}.model-select-item[data-v-76a09923]:hover{background:var(--bg-gray)}.model-select-item.active[data-v-76a09923]{color:var(--primary-color);font-weight:600}.model-select-name[data-v-76a09923]{flex:1;word-break:break-all}.model-select-del[data-v-76a09923]{flex-shrink:0;width:20px;text-align:center;color:var(--text-light);font-size:14px;font-weight:700;cursor:pointer;line-height:1}.model-select-del[data-v-76a09923]:hover{color:var(--text-danger)}.model-select-info[data-v-76a09923]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.model-select-meta[data-v-76a09923]{display:flex;gap:8px;font-size:11px;color:var(--text-light)}.model-select-meta span[data-v-76a09923]{white-space:nowrap}.model-add-row[data-v-76a09923]{display:flex;gap:4px;margin-top:6px;margin-left:102px}.model-add-input[data-v-76a09923]{flex:1;font-size:12px;padding:4px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-main);outline:none}.model-add-input[data-v-76a09923]:focus{border-color:var(--primary-color)}.storage-usage[data-v-76a09923]{margin-top:12px;padding:10px 12px;background:var(--bg-gray);border-radius:var(--radius-md)}.storage-usage-bar[data-v-76a09923]{height:8px;background:var(--border-color);border-radius:4px;overflow:hidden;margin-bottom:6px}.storage-usage-fill[data-v-76a09923]{height:100%;background:var(--primary-color);border-radius:4px;transition:width .3s ease}.storage-usage-fill.warning[data-v-76a09923]{background:var(--warning-color, #f5a623)}.storage-usage-fill.danger[data-v-76a09923]{background:var(--text-danger, #f5222d)}.storage-usage-text[data-v-76a09923]{font-size:12px;color:var(--text-secondary);text-align:center}.theme-selector[data-v-ee7a4b0a]{position:fixed;top:60px;right:16px;z-index:1001;background:var(--bg-white);border-radius:var(--radius-sm);box-shadow:0 4px 16px #0000001a;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease-out,opacity .2s ease-out;border:1px solid var(--border-color);width:calc(100% - 32px);max-width:340px;pointer-events:none}.theme-selector.open[data-v-ee7a4b0a]{max-height:550px;opacity:1;overflow-y:auto;pointer-events:auto}.theme-selector-inner[data-v-ee7a4b0a]{padding:16px}.theme-section-title[data-v-ee7a4b0a]{font-size:13px;color:var(--text-secondary);margin-bottom:10px;font-weight:500}.theme-grid[data-v-ee7a4b0a]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.theme-card[data-v-ee7a4b0a]{border:2px solid var(--border-color);border-radius:var(--radius-sm);padding:10px 8px;cursor:pointer;text-align:center;transition:all .2s;background:var(--bg-white)}.theme-card[data-v-ee7a4b0a]:hover{border-color:var(--primary-color)}.theme-card.active[data-v-ee7a4b0a]{border-color:var(--primary-color);box-shadow:0 0 0 2px #1677ff26}.theme-swatch[data-v-ee7a4b0a]{width:28px;height:28px;border-radius:50%;margin:0 auto 6px;border:1px solid var(--border-light)}.theme-name[data-v-ee7a4b0a]{font-size:12px;color:var(--text-main);white-space:nowrap}.theme-divider[data-v-ee7a4b0a]{height:1px;background:var(--border-color);margin:14px 0}.theme-custom-row[data-v-ee7a4b0a]{display:flex;align-items:center;gap:8px}.code-label[data-v-ee7a4b0a]{font-size:13px;color:var(--text-secondary);width:32px;flex-shrink:0}.theme-color-picker[data-v-ee7a4b0a]{width:36px;height:36px;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;padding:2px;background:var(--bg-white)}.theme-color-text[data-v-ee7a4b0a]{flex:1;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;outline:none;font-family:JetBrains Mono,monospace;background:var(--bg-white);color:var(--text-main)}.theme-color-text[data-v-ee7a4b0a]:focus{border-color:var(--primary-color)}.theme-apply-btn[data-v-ee7a4b0a]{padding:6px 14px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:background .2s}.theme-apply-btn[data-v-ee7a4b0a]:hover{background:var(--primary-hover)}.font-size-control[data-v-ee7a4b0a]{display:flex;align-items:center;gap:8px}.font-size-btn[data-v-ee7a4b0a]{width:32px;height:32px;border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-main);border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.font-size-btn[data-v-ee7a4b0a]:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.font-size-btn[data-v-ee7a4b0a]:disabled{opacity:.4;cursor:not-allowed}.font-size-value[data-v-ee7a4b0a]{font-size:14px;color:var(--text-main);min-width:40px;text-align:center;font-family:JetBrains Mono,monospace}.font-size-reset[data-v-ee7a4b0a]{padding:4px 10px;border:1px solid var(--border-color);background:var(--bg-gray);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:all .2s;margin-left:auto}.font-size-reset[data-v-ee7a4b0a]:hover{border-color:var(--primary-color);color:var(--primary-color)}@media (max-width: 768px){.theme-selector[data-v-ee7a4b0a]{right:0;left:0;top:auto;bottom:0;width:100%;max-width:100%;border-radius:16px 16px 0 0;max-height:85vh;transform:translateY(100%);transition:transform .3s ease-out,opacity .2s ease-out}.theme-selector.open[data-v-ee7a4b0a]{transform:translateY(0);max-height:85vh}.theme-selector[data-v-ee7a4b0a]:before{content:"";display:block;width:40px;height:4px;background:var(--border-color);border-radius:2px;margin:8px auto}}.chat-header[data-v-04a431fe]{display:flex;align-items:center;justify-content:center;padding:0 16px}.header-title[data-v-04a431fe]{margin-left:40px;text-align:center;flex:1}.header-actions[data-v-04a431fe]{display:flex;align-items:center;gap:8px;position:fixed;right:16px;top:30px;z-index:1002}.header-btn[data-v-04a431fe]{background:#fff3;color:#fff;border:none;border-radius:6px;padding:3px 10px;font-size:13px;cursor:pointer;transition:background .2s;position:static;width:auto}.header-btn.config-btn[data-v-04a431fe]{margin-left:0}.header-btn[data-v-04a431fe]:hover{background:#ffffff4d}.header-model-select[data-v-04a431fe]{background:#ffffff40;color:#fff;border:none;border-radius:6px;padding:3px 8px;font-size:12px;cursor:pointer;max-width:140px;outline:none;transition:background .2s;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.header-model-select[data-v-04a431fe]:hover{background:#ffffff59}.header-model-select option[data-v-04a431fe]{color:#333;background:#fff}.model-selector-wrapper[data-v-04a431fe]{position:relative}.model-selector-display[data-v-04a431fe]{display:flex;align-items:center;gap:6px;background:#ffffff40;color:#fff;border:none;border-radius:6px;padding:3px 10px;font-size:12px;cursor:pointer;max-width:160px;transition:background .2s;-webkit-user-select:none;user-select:none}.model-selector-display[data-v-04a431fe]:hover,.model-selector-display.active[data-v-04a431fe]{background:#ffffff59}.model-selector-text[data-v-04a431fe]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-selector-arrow[data-v-04a431fe]{font-size:10px;flex-shrink:0}.model-dropdown[data-v-04a431fe]{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;min-width:200px;max-width:300px;z-index:10000;animation:dropdownFadeIn-04a431fe .15s ease-out}@keyframes dropdownFadeIn-04a431fe{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.model-search-input[data-v-04a431fe]{width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--border-color);font-size:13px;outline:none;background:var(--bg-gray);color:var(--text-main);box-sizing:border-box}.model-search-input[data-v-04a431fe]::placeholder{color:var(--text-light)}.model-list[data-v-04a431fe]{max-height:250px;overflow-y:auto;padding:4px 0}.model-option[data-v-04a431fe]{padding:6px 12px;font-size:13px;color:var(--text-main);cursor:pointer;transition:background .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:space-between;gap:8px}.model-option-name[data-v-04a431fe]{flex:1;overflow:hidden;text-overflow:ellipsis}.model-option-perf[data-v-04a431fe]{font-size:11px;color:var(--text-light);flex-shrink:0}.model-option.selected .model-option-perf[data-v-04a431fe]{color:#ffffffb3}.model-option[data-v-04a431fe]:hover{background:var(--primary-light)}.model-option.selected[data-v-04a431fe]{background:var(--primary-color);color:#fff}.model-option.selected[data-v-04a431fe]:hover{background:var(--primary-hover)}.model-empty[data-v-04a431fe]{padding:12px;text-align:center;font-size:13px;color:var(--text-light)}.export-wrapper[data-v-04a431fe]{position:relative}.export-dropdown[data-v-04a431fe]{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;min-width:180px;z-index:10000;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease-out,opacity .2s ease-out;pointer-events:none}.export-dropdown.show[data-v-04a431fe]{max-height:200px;opacity:1;pointer-events:auto}.export-option[data-v-04a431fe]{display:block;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--text-main);font-size:13px;text-align:left;cursor:pointer;transition:background .15s}.export-option[data-v-04a431fe]:hover{background:var(--bg-gray);color:var(--primary-color)}.export-option+.export-option[data-v-04a431fe]{border-top:1px solid var(--border-light)}.export-divider[data-v-04a431fe]{height:1px;background:var(--border-color);margin:4px 0}.export-danger[data-v-04a431fe]{color:var(--text-danger)}.export-danger[data-v-04a431fe]:hover{background:#f5222d14;color:var(--text-danger)}.edit-textarea[data-v-6845be76]{width:100%;min-height:80px;padding:10px 16px;border:2px solid var(--primary-color);border-radius:var(--radius-main);font-size:15px;outline:none;resize:vertical;background:var(--bg-white);color:var(--text-main);font-family:inherit;line-height:1.6;-webkit-user-select:text;user-select:text}.edit-confirm-btn[data-v-6845be76],.edit-cancel-btn[data-v-6845be76]{padding:4px 16px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;border:none;transition:all .2s}.edit-confirm-btn[data-v-6845be76]{background:var(--primary-color);color:#fff}.edit-confirm-btn[data-v-6845be76]:hover{background:var(--primary-hover)}.edit-cancel-btn[data-v-6845be76]{background:var(--bg-gray);color:var(--text-secondary);border:1px solid var(--border-color)}.edit-cancel-btn[data-v-6845be76]:hover{background:var(--border-color)}.quote-reference[data-v-6845be76]{display:flex;align-items:flex-start;gap:6px;padding:6px 10px;margin:4px 18px 4px 0;background:var(--bg-gray);border-left:3px solid var(--primary-color);border-radius:4px;cursor:pointer;transition:background .15s;font-size:13px}.quote-reference[data-v-6845be76]:hover{background:var(--primary-light)}.quote-reference-role[data-v-6845be76]{font-weight:600;color:var(--primary-color);font-size:12px;white-space:nowrap;flex-shrink:0}.quote-reference-text[data-v-6845be76]{color:var(--text-secondary);word-break:break-all;line-height:1.4}@keyframes quoteHighlight-6845be76{0%{background-color:var(--primary-light)}to{background-color:transparent}}.quote-target-highlight[data-v-6845be76]{animation:quoteHighlight-6845be76 2s ease-out}.message-model-tag[data-v-6845be76]{font-size:11px;color:var(--text-light);margin:2px 0 4px;padding:0 2px}.message-error-bar[data-v-6845be76]{display:flex;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;background:#f5222d14;border:1px solid rgba(245,34,45,.2);border-radius:var(--radius-sm);font-size:13px}.error-text[data-v-6845be76]{color:var(--text-danger);flex:1}.message-error-bar .retry-btn[data-v-6845be76]{border-color:var(--text-danger);color:var(--text-danger);padding:2px 10px;font-size:12px;border:1px solid var(--text-danger);background:transparent;border-radius:4px;cursor:pointer;transition:all .2s;flex-shrink:0}.message-error-bar .retry-btn[data-v-6845be76]:hover{background:var(--text-danger);color:#fff}.message-content.collapsed[data-v-6845be76]{max-height:200px;overflow:hidden;position:relative}.message-content.collapsed[data-v-6845be76]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,var(--msg-ai-bg, #fff));pointer-events:none}.expand-msg-btn[data-v-6845be76]{display:inline-block;margin-top:4px;padding:2px 12px;font-size:12px;color:var(--primary-color);background:transparent;border:1px solid var(--primary-color);border-radius:4px;cursor:pointer;transition:all .2s}.expand-msg-btn[data-v-6845be76]:hover{background:var(--primary-color);color:#fff}.message-reactions[data-v-6845be76]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-badge[data-v-6845be76]{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;font-size:12px;background:var(--bg-gray);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .15s}.reaction-badge[data-v-6845be76]:hover{background:var(--primary-light);border-color:var(--primary-color)}.reaction-badge.active[data-v-6845be76]{background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.reaction-picker-wrapper[data-v-6845be76]{position:relative;display:inline-block}.reaction-trigger[data-v-6845be76]{font-size:14px;padding:2px 6px}.reaction-picker[data-v-6845be76]{position:absolute;bottom:100%;left:50%;transform:translate(-50%);display:flex;gap:2px;padding:6px 8px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;animation:fadeIn-6845be76 .15s ease-out}.reaction-option[data-v-6845be76]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:16px;background:none;border:none;border-radius:4px;cursor:pointer;transition:background .1s}.reaction-option[data-v-6845be76]:hover{background:var(--bg-gray)}.message-content[data-v-6845be76] .in-chat-highlight{background:#ffc1074d;color:inherit;padding:1px 2px;border-radius:2px;box-shadow:0 0 0 2px #ffc10780}@keyframes fadeIn-6845be76{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.skeleton-fade-enter-active[data-v-3220ad22]{animation:skeletonFadeIn-3220ad22 .25s ease-out}.skeleton-fade-leave-active[data-v-3220ad22]{animation:skeletonFadeOut-3220ad22 .2s ease-out}@keyframes skeletonFadeIn-3220ad22{0%{opacity:0}to{opacity:1}}@keyframes skeletonFadeOut-3220ad22{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.skeleton-loading[data-v-3220ad22]{margin-bottom:20px;max-width:75%;animation:skeletonFadeIn-3220ad22 .3s ease-out}.skeleton-message[data-v-3220ad22]{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.skeleton-avatar[data-v-3220ad22]{width:40px;height:40px;border-radius:50%;flex-shrink:0}.skeleton-bubble[data-v-3220ad22]{width:auto;max-width:100%;min-width:200px;background:var(--msg-ai-bg);border:1px solid var(--border-color);border-radius:var(--radius-main);border-top-left-radius:4px;padding:14px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:0 2px 4px #0000000d}.skeleton-line[data-v-3220ad22]{height:14px;border-radius:4px}@keyframes shimmer-3220ad22{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer[data-v-3220ad22]{background:linear-gradient(90deg,var(--bg-gray) 25%,var(--border-color) 50%,var(--bg-gray) 75%);background-size:200% 100%;animation:shimmer-3220ad22 1.5s ease-in-out infinite}.skeleton-footer[data-v-3220ad22]{display:flex;align-items:center;gap:6px;padding:4px 0 4px 52px}.skeleton-dot[data-v-3220ad22]{width:8px;height:8px;border-radius:50%;background:var(--primary-color);animation:skeletonDot-3220ad22 1.4s infinite ease-in-out both}.skeleton-dot[data-v-3220ad22]:nth-child(1){animation-delay:-.32s}.skeleton-dot[data-v-3220ad22]:nth-child(2){animation-delay:-.16s}@keyframes skeletonDot-3220ad22{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.skeleton-think-text[data-v-3220ad22]{font-size:14px;color:var(--text-secondary);margin-left:2px}.think-time[data-v-3220ad22]{font-size:12px;color:var(--text-secondary)}.chat-container.switching[data-v-3220ad22]{opacity:.6;pointer-events:none;transition:opacity .15s ease}.chat-container[data-v-3220ad22]:not(.switching){opacity:1;transition:opacity .15s ease}.empty-state-tips[data-v-3220ad22]{margin-top:24px;display:flex;flex-direction:column;gap:12px;max-width:320px}.tip-item[data-v-3220ad22]{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-gray);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary)}.tip-icon[data-v-3220ad22]{font-size:16px;flex-shrink:0}.tip-text[data-v-3220ad22]{line-height:1.4}.tip-text kbd[data-v-3220ad22]{display:inline-block;padding:1px 6px;font-size:12px;font-family:monospace;background:var(--bg-white);border:1px solid var(--border-color);border-radius:3px;box-shadow:0 1px #0000001a}.load-more-container[data-v-3220ad22]{display:flex;justify-content:center;padding:12px 0}.load-more-btn[data-v-3220ad22]{padding:8px 20px;font-size:13px;color:var(--primary-color);background:var(--primary-light);border:1px solid var(--primary-color);border-radius:20px;cursor:pointer;transition:all .2s}.load-more-btn[data-v-3220ad22]:hover{background:var(--primary-color);color:#fff}.in-chat-search-bar[data-v-3220ad22]{position:absolute;top:8px;right:16px;z-index:50;display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-main);box-shadow:0 4px 16px #0000001f}.in-chat-search-input[data-v-3220ad22]{width:200px;padding:5px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;outline:none;background:var(--input-bg);color:var(--text-main)}.in-chat-search-input[data-v-3220ad22]:focus{border-color:var(--primary-color)}.in-chat-search-count[data-v-3220ad22]{font-size:12px;color:var(--text-light);white-space:nowrap;min-width:40px;text-align:center}.in-chat-search-nav[data-v-3220ad22]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-gray);color:var(--text-secondary);border-radius:4px;font-size:11px;cursor:pointer;transition:all .15s}.in-chat-search-nav[data-v-3220ad22]:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.in-chat-search-nav[data-v-3220ad22]:disabled{opacity:.4;cursor:not-allowed}.in-chat-search-close[data-v-3220ad22]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-light);font-size:16px;cursor:pointer;border-radius:4px;transition:all .15s}.in-chat-search-close[data-v-3220ad22]:hover{background:var(--bg-gray);color:var(--text-danger)}.search-bar-slide-enter-active[data-v-3220ad22]{animation:searchBarIn-3220ad22 .2s ease-out}.search-bar-slide-leave-active[data-v-3220ad22]{animation:searchBarOut-3220ad22 .15s ease-in}@keyframes searchBarIn-3220ad22{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes searchBarOut-3220ad22{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.textarea-wrap[data-v-845835e2]{flex:1;display:flex;flex-direction:column;position:relative}#message-input[data-v-845835e2]{width:100%;padding:14px 18px;border:1px solid var(--border-color);border-radius:var(--radius-main) var(--radius-main) 4px var(--radius-main);font-size:15px;outline:none;resize:none;height:60px;min-height:60px;max-height:50vh;overflow-y:auto;background:var(--input-bg);color:var(--text-main);transition:border-color .2s,box-shadow .2s;line-height:1.5}#message-input[data-v-845835e2]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1);background:var(--bg-white)}.quote-preview-bar[data-v-845835e2]{display:flex;align-items:center;gap:8px;padding:6px 12px;margin-bottom:6px;background:var(--primary-light);border:1px solid var(--primary-color);border-radius:var(--radius-sm);font-size:13px;animation:quoteSlideIn-845835e2 .2s ease-out}.quote-preview-role[data-v-845835e2]{font-weight:600;color:var(--primary-color);font-size:12px;white-space:nowrap;flex-shrink:0}.quote-preview-text[data-v-845835e2]{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-preview-cancel[data-v-845835e2]{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-light);padding:0 4px;line-height:1;flex-shrink:0}.quote-preview-cancel[data-v-845835e2]:hover{color:var(--text-danger)}@keyframes quoteSlideIn-845835e2{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.input-footer[data-v-845835e2]{display:flex;justify-content:space-between;align-items:center}.input-stats[data-v-845835e2]{display:flex;gap:8px;font-size:12px;color:var(--text-light);transition:color .2s}.input-stats.warning[data-v-845835e2]{color:var(--warning-color, #f5a623)}.input-stats.danger[data-v-845835e2]{color:var(--text-danger)}.input-char-count[data-v-845835e2]{color:inherit}.input-token-estimate[data-v-845835e2]{color:inherit;font-weight:500}.input-limit-warn[data-v-845835e2]{font-size:11px;padding:0 4px;background:currentColor;color:var(--bg-white);border-radius:2px;opacity:.8}.quick-actions[data-v-845835e2]{position:absolute;bottom:8px;right:8px;display:flex;gap:4px}.quick-action-btn[data-v-845835e2]{width:24px;height:24px;border:none;background:var(--bg-gray);color:var(--text-light);border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}.quick-action-btn[data-v-845835e2]:hover{background:var(--border-color);color:var(--text-secondary)}.input-container.drag-over[data-v-845835e2]{border:2px dashed var(--primary-color);background:var(--primary-light)}.input-container.drag-over #message-input[data-v-845835e2]{border-color:var(--primary-color)}.snippets-toggle[data-v-845835e2]{background:none;border:none;font-size:14px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s;opacity:.6}.snippets-toggle[data-v-845835e2]:hover,.snippets-toggle.active[data-v-845835e2]{opacity:1;background:var(--primary-light)}.snippets-panel[data-v-845835e2]{position:absolute;bottom:100%;left:0;right:0;max-height:240px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-main) var(--radius-main) 0 0;box-shadow:0 -4px 16px #00000014;display:flex;flex-direction:column;z-index:20;overflow:hidden}.snippets-header[data-v-845835e2]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-color);flex-shrink:0}.snippets-title[data-v-845835e2]{flex:1;font-size:13px;font-weight:600;color:var(--text-main)}.snippets-save-btn[data-v-845835e2]{padding:2px 10px;font-size:12px;background:var(--primary-light);color:var(--primary-color);border:1px solid var(--primary-color);border-radius:4px;cursor:pointer;transition:all .15s}.snippets-save-btn[data-v-845835e2]:hover{background:var(--primary-color);color:#fff}.snippets-close[data-v-845835e2]{background:none;border:none;font-size:16px;cursor:pointer;color:var(--text-light);padding:0 4px}.snippets-close[data-v-845835e2]:hover{color:var(--text-danger)}.snippets-list[data-v-845835e2]{overflow-y:auto;flex:1}.snippet-item[data-v-845835e2]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .1s;border-bottom:1px solid var(--border-light)}.snippet-item[data-v-845835e2]:hover{background:var(--primary-light)}.snippet-name[data-v-845835e2]{font-size:13px;font-weight:500;color:var(--text-main);white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.snippet-preview[data-v-845835e2]{flex:1;font-size:12px;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snippet-delete[data-v-845835e2]{background:none;border:none;font-size:14px;cursor:pointer;color:var(--text-light);padding:0 4px;opacity:0;transition:opacity .15s}.snippet-item:hover .snippet-delete[data-v-845835e2]{opacity:1}.snippet-delete[data-v-845835e2]:hover{color:var(--text-danger)}.snippets-empty[data-v-845835e2]{padding:20px;text-align:center;font-size:13px;color:var(--text-light)}.snippets-slide-enter-active[data-v-845835e2]{animation:snippetsIn-845835e2 .2s ease-out}.snippets-slide-leave-active[data-v-845835e2]{animation:snippetsOut-845835e2 .15s ease-in}@keyframes snippetsIn-845835e2{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes snippetsOut-845835e2{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}.input-footer-left[data-v-845835e2]{display:flex;align-items:center;gap:6px}.toast-notification[data-v-fa613fa2]{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:8px;font-size:14px;color:#fff;z-index:100000;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #00000026;max-width:90%;white-space:nowrap}.toast-icon[data-v-fa613fa2]{font-size:16px;font-weight:700;flex-shrink:0}.toast-message[data-v-fa613fa2]{overflow:hidden;text-overflow:ellipsis}.toast-info[data-v-fa613fa2]{background:var(--primary-color)}.toast-success[data-v-fa613fa2]{background:#52c41a}.toast-warning[data-v-fa613fa2]{background:#faad14}.toast-error[data-v-fa613fa2]{background:#ff4d4f}.toast-slide-enter-active[data-v-fa613fa2]{animation:toastSlideIn-fa613fa2 .3s ease-out}.toast-slide-leave-active[data-v-fa613fa2]{animation:toastSlideOut-fa613fa2 .2s ease-in}@keyframes toastSlideIn-fa613fa2{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastSlideOut-fa613fa2{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-20px)}}.context-menu-backdrop[data-v-b97b555b]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;background:transparent}.context-menu[data-v-b97b555b]{position:fixed;min-width:160px;max-width:260px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 4px 16px #00000026;padding:4px 0;z-index:100000}.context-menu-item[data-v-b97b555b]{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;font-size:13px;color:var(--text-main);transition:background .12s;white-space:nowrap}.context-menu-item[data-v-b97b555b]:hover{background:var(--primary-light);color:var(--primary-color)}.context-menu-item.danger[data-v-b97b555b]{color:var(--text-danger)}.context-menu-item.danger[data-v-b97b555b]:hover{background:#f5222d1a;color:var(--text-danger)}.context-menu-icon[data-v-b97b555b]{width:18px;text-align:center;flex-shrink:0;font-size:14px}.context-menu-label[data-v-b97b555b]{flex:1}.context-menu-shortcut[data-v-b97b555b]{font-size:11px;color:var(--text-light);margin-left:12px}.context-menu-divider[data-v-b97b555b]{height:1px;background:var(--border-color);margin:4px 0}.context-menu-transition-enter-active[data-v-b97b555b],.context-menu-transition-leave-active[data-v-b97b555b]{transition:opacity .15s ease,transform .15s ease}.context-menu-transition-enter-from[data-v-b97b555b],.context-menu-transition-leave-to[data-v-b97b555b]{opacity:0;transform:scale(.95)}.confirm-overlay[data-v-6bfd67a2]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100001}.confirm-dialog[data-v-6bfd67a2]{background:var(--bg-white);border-radius:var(--radius-main);box-shadow:0 8px 32px #0003;padding:24px;min-width:300px;max-width:400px;animation:confirmSlideIn-6bfd67a2 .2s ease-out}@keyframes confirmSlideIn-6bfd67a2{0%{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-title[data-v-6bfd67a2]{font-size:16px;font-weight:600;color:var(--text-main);margin-bottom:8px}.confirm-message[data-v-6bfd67a2]{font-size:14px;color:var(--text-secondary);line-height:1.5;margin-bottom:20px}.confirm-actions[data-v-6bfd67a2]{display:flex;justify-content:flex-end;gap:10px}.confirm-btn[data-v-6bfd67a2]{padding:8px 20px;border:none;border-radius:var(--radius-sm);font-size:14px;cursor:pointer;transition:all .2s}.confirm-btn.cancel[data-v-6bfd67a2]{background:var(--bg-gray);color:var(--text-secondary);border:1px solid var(--border-color)}.confirm-btn.cancel[data-v-6bfd67a2]:hover{background:var(--border-color)}.confirm-btn.ok[data-v-6bfd67a2]{background:var(--primary-color);color:#fff}.confirm-btn.ok[data-v-6bfd67a2]:hover{background:var(--primary-hover)}:root{--primary-color: #1677ff;--primary-rgb: 22, 119, 255;--primary-hover: #0f62d9;--primary-light: #e8f3ff;--primary-alt: #1890ff;--pinned-bg: #e6f7ff;--temp-pinned-bg: #f0f5ff;--text-main: #333;--text-secondary: #666;--text-light: #999;--text-muted: #888;--text-danger: #e53e3e;--danger-hover: #c93737;--bg-white: #fff;--bg-gray: #f5f7fa;--bg-gray-light: #f0f2f5;--bg-dark: #1e1e1e;--border-color: #e5e7eb;--border-light: #eee;--code-bg: #1e1e1e;--code-text: #d4d4d4;--input-bg: #f5f7fa;--loading-bg: #fff;--msg-ai-bg: #fff;--code-btn-color: #888;--code-btn-hover-bg: #1677ff;--radius-main: 12px;--radius-sm: 6px;--radius-round: 20px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--transition-fast: .2s ease-out;--transition-normal: .3s ease-out;--msg-font-size: 15px}*{margin:0;padding:0;box-sizing:border-box;font-family:Microsoft YaHei,sans-serif;-webkit-user-select:none;user-select:none}body{background:var(--bg-gray);overflow:hidden;color:var(--text-main);height:100vh}#chat-container{-webkit-user-select:text;user-select:text}input,textarea,select{-webkit-user-select:auto;user-select:auto}.message-content ::selection{background:var(--primary-color);color:#fff}.message-content{-webkit-user-select:text;user-select:text;overflow-wrap:break-word;word-wrap:break-word;font-size:var(--msg-font-size)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.sidebar-toggle{background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);width:32px;height:32px;cursor:pointer;z-index:10001;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(var(--primary-rgb),.3);transition:background .2s}.sidebar-toggle:hover{background:var(--primary-hover)}#sidebar-toggle-outer{position:absolute;top:50%;left:16px;transform:translateY(-50%)}#sidebar-toggle-inner{position:static;margin-right:8px;box-shadow:0 1px rgba(var(--primary-rgb),.3)}.sidebar{position:fixed;top:0;left:0;width:250px;height:100vh;background:var(--bg-white);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease;z-index:9998;box-shadow:var(--shadow-sm);padding-top:60px}.sidebar.collapsed{transform:translate(-100%);box-shadow:none}.sidebar.collapsed{transform:translate(-100%)}.sidebar-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;z-index:9997;cursor:pointer}@media (max-width: 768px){.sidebar-overlay{display:block;animation:overlayFadeIn .2s ease-out}.sidebar{z-index:9999}.header-actions{flex-wrap:wrap;justify-content:flex-end}.header-model-select{max-width:100px}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.sidebar-header{padding:16px;background:var(--primary-color);display:flex;justify-content:flex-start;align-items:center;position:fixed;top:0;left:0;width:250px;height:60px;z-index:9999}.sidebar-title{font-size:16px;font-weight:500;color:#fff;margin-left:12px}.sidebar-controls{display:flex;gap:8px;position:absolute;right:16px}.sidebar-btn{width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:#fff3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.sidebar-btn:hover{background:#ffffff4d}.conversations-list{flex:1;overflow-y:auto;padding:8px}.conversation-item{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:4px;cursor:pointer;transition:all .2s;position:relative;background:var(--bg-white);border:1px solid transparent;display:flex;justify-content:center;align-items:center;width:100%}.conversation-item:hover{background:var(--primary-light);border-color:var(--primary-light)}.conversation-item.active{background:var(--primary-light);border-color:var(--primary-color);font-weight:500}.conversation-item.pinned{background:var(--pinned-bg)}.conversation-item.temp-pinned{background:var(--temp-pinned-bg)}.conversation-info{flex:1;overflow:hidden;cursor:pointer}.conversation-title{font-size:14px;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:none;background:transparent;outline:none;width:100%;pointer-events:none;opacity:.9}.rename-input{width:100%;padding:2px 4px;font-size:14px;border:1px solid var(--primary-color);border-radius:var(--radius-sm);outline:none;background:var(--bg-white);color:var(--text-main);font-family:inherit}.rename-row{display:flex;align-items:center;gap:4px}.rename-confirm-btn{width:24px;height:24px;border-radius:50%;border:none;background:var(--primary-color);color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;padding:0}.rename-confirm-btn:hover{background:var(--primary-hover)}.conversation-title.editable{pointer-events:auto;opacity:1;border-bottom:1px solid var(--primary-color)}.conversation-time{font-size:12px;color:var(--text-light);margin-top:4px;display:flex;align-items:center;gap:6px}.conversation-count{font-size:11px;opacity:.7}.conversation-preview{font-size:12px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.conversation-more{width:28px;height:28px;border-radius:50%;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.conversation-more:hover{background:var(--primary-light)}.conversation-actions{position:absolute;top:100%;right:0;background:var(--bg-white);border-radius:var(--radius-sm);box-shadow:0 2px 8px #00000026;border:1px solid var(--border-color);display:none;flex-direction:column;z-index:100;width:120px}.conversation-actions.show{display:flex}.conversation-action-btn{padding:8px 12px;border:none;background:transparent;color:var(--text-main);cursor:pointer;text-align:left;font-size:13px}.conversation-action-btn:hover{background:var(--primary-light)}.conversation-action-btn.pin-btn{color:var(--primary-color)}.conversation-action-btn.rename-btn{color:var(--primary-alt)}.conversation-action-btn.delete-btn{color:var(--text-danger)}.conversation-action-btn.confirm-delete{background:var(--text-danger);color:#fff}#app{width:100%;height:100vh}.app-root{display:flex;width:100%;height:100%;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-main);height:100vh;width:100%;z-index:100}.chat-header{background:var(--primary-color);color:#fff;padding:12px 16px;text-align:center;font-weight:500;box-shadow:0 2px 8px rgba(var(--primary-rgb),.2);position:relative;border-radius:var(--radius-main) var(--radius-main) 0 0;height:60px;display:flex;align-items:center;justify-content:center}.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.connection-status{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;background:#ffffff26;font-size:12px;color:#ffffffe6;cursor:default;transition:background .2s}.connection-status .status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-light);transition:background .3s}.connection-status.connected .status-dot{background:#52c41a;box-shadow:0 0 4px #52c41a80}.connection-status.disconnected .status-dot{background:#ff4d4f;box-shadow:0 0 4px #ff4d4f80}.connection-status.checking .status-dot{background:#faad14;animation:pulse 1s infinite}.connection-status.unknown .status-dot{background:var(--text-light)}.connection-status .status-text{font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.current-config{padding:8px 16px;background:var(--primary-light);color:var(--primary-color);font-size:13px;text-align:center;border-bottom:1px solid var(--border-color);transition:opacity var(--transition-fast)}.config-stats{opacity:.7;font-size:12px}.save-indicator{margin-left:12px;font-size:11px;opacity:0;transition:opacity .3s}.save-indicator.saving{opacity:.7;color:var(--primary-color)}.save-indicator.saved{opacity:.5;color:#52c41a;animation:fadeOutSave 2s forwards}.save-indicator.error{opacity:1;color:var(--text-danger)}@keyframes fadeOutSave{0%{opacity:.5}70%{opacity:.5}to{opacity:0}}.config-selector-toggle,.theme-selector-toggle{position:absolute;top:50%;right:16px;transform:translateY(-50%);background:#fff3;color:#fff;border:none;border-radius:6px;padding:3px 6px;font-size:13px;cursor:pointer;transition:background .2s;z-index:1002;width:auto}.config-selector-toggle:hover,.theme-selector-toggle:hover{background:#ffffff4d}.theme-selector-toggle{right:88px}.config-selector{position:fixed;top:60px;right:16px;z-index:1001;background:var(--bg-white);border-radius:var(--radius-sm);box-shadow:0 4px 16px #0000001a;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease-out,opacity .2s ease-out;border:1px solid var(--border-color);width:calc(100% - 32px);max-width:500px;pointer-events:none}.config-selector.open{max-height:600px;opacity:1;overflow-y:auto;pointer-events:auto}.config-selector-inner{padding:16px 16px 4px}.config-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;flex-direction:column}.config-item-row{display:flex;align-items:center;gap:12px;width:100%}.config-label{font-size:14px;color:var(--text-main);width:90px;text-align:right;flex-shrink:0}.config-input{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:14px;outline:none;transition:border .2s;background:var(--bg-white)}.config-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.config-btn{padding:8px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;cursor:pointer;transition:background .2s;flex-shrink:0;margin-left:8px}.config-btn:hover{background:var(--primary-hover)}.config-btn.danger{background:var(--text-danger)}.config-btn.danger:hover,.config-btn.confirm-delete{background:var(--danger-hover)}.config-btn:disabled{opacity:.5;cursor:not-allowed}.stream-speed-slider,.context-length-slider{flex:1;height:8px;-webkit-appearance:none;background:var(--bg-gray);border-radius:4px;outline:none}.stream-speed-slider::-webkit-slider-thumb,.context-length-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary-color);cursor:pointer;box-shadow:0 0 4px rgba(var(--primary-rgb),.5)}.stream-speed-text,.context-length-text,.switch-text{font-size:12px;color:var(--text-secondary);width:90px;text-align:left}.switch-control{width:40px;height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-gray);border-radius:10px;position:relative;cursor:pointer;transition:background .2s}.switch-control:checked{background:var(--primary-color)}.switch-control:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .2s}.switch-control:checked:after{left:22px}#host-error-tip{width:calc(100% - 90px);margin-left:90px;margin-top:1px;padding-left:12px;font-size:12px;color:var(--text-danger);line-height:1.2;display:none}#host-error-tip.show{display:block}.offline-banner{text-align:center;font-size:13px;color:#fff;background:var(--text-danger);padding:4px 0;line-height:1.5;width:100%;opacity:0;max-height:0;overflow:hidden;transition:opacity var(--transition-normal),max-height var(--transition-normal)}.chat-temp-tip{text-align:center;font-size:14px;color:var(--text-danger);padding:0;margin:0 auto;line-height:1.5;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease-out,opacity .2s ease-out,padding .2s ease-out,margin .2s ease-out;width:100%;max-width:600px}.chat-temp-tip.show{max-height:60px;opacity:1;padding:8px 0;margin:10px auto}.storage-collapse{margin-top:20px;border-top:1px solid var(--border-color);padding-top:16px}.storage-collapse-header{font-size:14px;color:var(--primary-color);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px}.storage-collapse-header:before{content:"+";font-size:16px;line-height:1;transition:transform .2s}.storage-collapse-header.expanded:before{transform:rotate(45deg)}.storage-collapse-body{margin-top:12px;display:none}.storage-collapse-body.expanded{display:block}.storage-btn-group{display:flex;gap:8px;margin-left:90px}.chat-container{height:100%;padding:16px 16px 150px;overflow-y:auto;width:100%;box-sizing:border-box;line-height:1.6}.chat-wrapper{position:relative;flex:1;overflow:hidden}.message{margin-bottom:20px;max-width:min(70%,680px);display:flex;position:relative;animation:msgMountFadeIn .3s ease-out}.message.msg-consecutive{margin-bottom:6px}.message.msg-consecutive .message-avatar{opacity:0;width:0;margin:0;overflow:hidden}.message.msg-consecutive .message-model-tag{display:none}.message.msg-consecutive.user-message .message-content{border-top-right-radius:var(--radius-main)}.message.msg-consecutive.ai-message .message-content{border-top-left-radius:var(--radius-main)}.message.system-message,.message.ai-error{max-width:100%}.message.ai-error{justify-content:flex-start}.message-avatar{width:40px;height:40px;border-radius:50%;margin-right:12px;margin-top:4px;flex-shrink:0;background:var(--primary-light);display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-weight:700}.user-message .message-avatar{background:var(--primary-color);color:#fff;margin:4px 0 0 12px}.user-message{flex-direction:row-reverse;margin-left:auto}.message-content{position:relative;padding:6px 16px;border-radius:var(--radius-main);line-height:1.6;word-break:break-word;font-size:15px;width:fit-content;max-width:100%;min-width:40px}.system-message .message-content{background:var(--primary-light);color:var(--primary-color);border:1px solid var(--border-color)}.user-message .message-content{background:var(--primary-color);color:#fff;border-top-right-radius:4px;margin-left:auto}.ai-message .message-content{background:var(--msg-ai-bg);color:var(--text-main);border-top-left-radius:4px;border:1px solid var(--border-color);box-shadow:0 2px 4px #0000000d}.msg-controls{display:flex;gap:6px;margin-top:6px;font-size:12px;flex-wrap:nowrap;align-items:center}.ai-message .msg-controls{justify-content:flex-start;padding-left:2px;width:100%}.user-message .msg-controls{justify-content:flex-end;padding-right:2px;width:100%}.copy-btn,.edit-btn,.resend-btn,.stream-btn,.retry-btn{padding:2px 8px;border:1px solid var(--primary-color);background:transparent;color:var(--primary-color);border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.copy-btn:hover,.edit-btn:hover,.resend-btn:hover,.stream-btn:hover,.retry-btn:hover{background:var(--primary-color);color:#fff}.retry-btn{border-color:var(--text-danger);color:var(--text-danger)}.retry-btn:hover{background:var(--text-danger)!important;color:#fff!important}.think-duration{color:var(--text-secondary);margin:0 6px}.message-time{color:var(--text-light);margin:0 4px}.msg-more-wrapper{position:relative;display:inline-block}.msg-more-btn{width:24px;height:24px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s;flex-shrink:0}.msg-more-btn:hover{background:var(--bg-gray)}.msg-more-menu{position:absolute;top:100%;left:0;background:var(--bg-white);border-radius:var(--radius-sm);box-shadow:0 2px 8px #0000001a;z-index:999;list-style:none;padding:4px 0;display:none;width:100px;box-sizing:border-box;border:1px solid var(--border-color)}.msg-more-menu.show{display:block}.msg-more-menu li{padding:6px 12px;border:none;background:transparent;color:var(--text-main);cursor:pointer;transition:background .2s}.msg-more-menu li:hover{background:var(--bg-gray)}.msg-more-menu li.delete-item{color:var(--text-danger)}.msg-more-menu li.confirm-delete{background:var(--text-danger);color:#fff}.time-separator{text-align:center;margin:16px 0;position:relative}.time-separator span{background:var(--bg-gray);padding:4px 12px;border-radius:var(--radius-round);font-size:12px;color:var(--text-light)}.loading{margin-bottom:20px;max-width:75%;display:flex}.loading-content{background:var(--loading-bg);color:var(--text-main);padding:14px 18px;border-radius:var(--radius-main);border-top-left-radius:4px;display:flex;align-items:center;gap:8px;border:1px solid var(--border-color);box-shadow:0 2px 4px #0000000d}.think-time{font-size:12px;color:var(--text-secondary);margin-left:8px}.loading-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-color);animation:loading 1.4s infinite ease-in-out both}.loading-dot:nth-child(1){animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}@keyframes loading{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.toast-notification{position:fixed;bottom:80px;left:50%;transform:translate(-50%) translateY(20px);padding:10px 24px;border-radius:20px;font-size:13px;z-index:10000;opacity:0;transition:opacity .25s ease,transform .25s ease;pointer-events:none;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis}.toast-notification.show{opacity:1;transform:translate(-50%) translateY(0)}.toast-notification.toast-info{background:#000000bf;color:#fff}.toast-notification.toast-success{background:#52c41ae6;color:#fff}.toast-notification.toast-warning{background:#faad14e6;color:#fff}.toast-notification.toast-error{background:#f5222de6;color:#fff}.input-container{position:fixed;bottom:0;left:0;right:0;padding:0 16px 16px;background:var(--bg-white);border-top:1px solid var(--border-color);box-shadow:0 -2px 12px #0000000d;border-radius:12px 12px 0 0;width:100%;z-index:998;transition:bottom .3s ease,opacity .25s ease}.input-container.collapsed{bottom:-100%;opacity:0;pointer-events:none}#input-toggle-btn{position:fixed;left:0;bottom:0;width:75px;height:22px;border:none;border-radius:0 6px 6px 0;background:var(--primary-color);color:#fff;font-size:13px!important;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0!important;margin:0!important;box-sizing:border-box;flex-shrink:0;z-index:999;box-shadow:0 2px 8px #0003;transition:bottom .3s ease,box-shadow .3s ease}.input-wrapper{display:flex;align-items:flex-end;gap:12px;margin-top:35px!important}#message-input{flex:1;padding:14px 18px;border:1px solid var(--border-color);border-radius:var(--radius-main);font-size:15px;outline:none;resize:vertical;height:60px;min-height:60px;max-height:50vh;background:var(--input-bg);color:var(--text-main)}#message-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1);background:var(--bg-white)}#send-button{width:56px;height:56px;border:none;border-radius:50%;background:var(--primary-color);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}#send-button:hover{background:var(--primary-hover)}#send-button:disabled{background:var(--border-color);cursor:not-allowed}#stop-button{width:56px;height:56px;border:2px solid var(--text-danger);border-radius:50%;background:var(--bg-white);color:var(--text-danger);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}#stop-button:hover{background:var(--text-danger);color:#fff}.input-hint{margin-top:6px;font-size:11px;color:var(--text-light);text-align:center;-webkit-user-select:none;user-select:none}.sidebar-search{padding:8px;border-bottom:1px solid var(--border-color)}.sidebar-search-input{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;outline:none;background:var(--bg-gray);transition:all .2s}.sidebar-search-input:focus{border-color:var(--primary-color);background:var(--bg-white);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.empty-state{padding:40px 20px;text-align:center;color:var(--text-light)}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.4}.empty-state-title{font-size:16px;color:var(--text-secondary);margin-bottom:8px}.empty-state-hint{font-size:13px;line-height:1.8}.sidebar-empty{padding:20px;text-align:center;color:var(--text-light);font-size:14px}.message-wrapper{flex:0 1 auto;max-width:100%;min-width:0}.scroll-down-btn{position:fixed;bottom:160px;left:50%;transform:translate(-50%);width:36px;height:36px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-secondary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);z-index:999;transition:all .2s}.scroll-down-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--primary-rgb),.3)}.scroll-up-btn{position:fixed;top:80px;left:50%;transform:translate(-50%);width:36px;height:36px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-secondary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);z-index:999;transition:all .2s}.scroll-up-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--primary-rgb),.3)}.message-content pre,.message-content .code-block{margin:12px 0;padding:0;background:var(--code-bg);border-radius:8px;overflow-x:auto;position:relative;font-size:14px;line-height:1.5}.code-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-gray-light);border-bottom:1px solid var(--border-color);border-radius:8px 8px 0 0}.code-lang{font-size:12px;color:var(--text-muted);text-transform:lowercase;font-family:Microsoft YaHei,sans-serif}.code-header .copy-code-btn{position:static;display:block;padding:2px 8px;font-size:11px;border:1px solid var(--code-btn-color);background:transparent;color:var(--code-btn-color);border-radius:4px;cursor:pointer;transition:all .2s}.code-header .copy-code-btn:hover{background:var(--code-btn-hover-bg);color:#fff}.message-content pre code{display:flex;padding:16px;font-family:JetBrains Mono,Fira Code,Microsoft YaHei,monospace;color:var(--code-text);background:transparent;font-size:inherit;white-space:pre;word-break:normal;line-height:1.5}.code-lines{display:flex;flex-direction:column;padding-right:12px;margin-right:12px;border-right:1px solid var(--border-color);color:var(--text-light);-webkit-user-select:none;user-select:none;text-align:right;min-width:24px;flex-shrink:0;opacity:.6}.line-num{display:block;font-size:12px;line-height:1.5}.code-content{flex:1;overflow-x:auto}pre[data-collapsed] .code-lines{display:none}.message-content pre[data-collapsed]{max-height:360px;overflow:hidden;position:relative}.message-content pre[data-collapsed]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,var(--code-bg));pointer-events:none}.expand-code-btn{position:absolute;bottom:8px;left:50%;transform:translate(-50%);padding:4px 16px;font-size:12px;background:var(--code-bg);color:var(--primary-color);border:1px solid var(--primary-color);border-radius:4px;cursor:pointer;z-index:2;transition:all .2s;white-space:nowrap}.expand-code-btn:hover{background:var(--primary-color);color:#fff}.message-content :not(pre)>code{padding:2px 6px;background:var(--bg-gray-light);border:1px solid var(--border-color);border-radius:4px;font-size:.85em;color:var(--text-danger);font-family:JetBrains Mono,Fira Code,monospace;word-break:break-word;white-space:nowrap}.user-message .message-content :not(pre)>code{background:#ffffff26;border-color:#fff3;color:#fff}.message-content table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px;overflow-x:auto;display:block;border:1px solid var(--border-color);border-radius:var(--radius-sm)}.message-content th,.message-content td{border:1px solid var(--border-color);padding:10px 14px;text-align:left}.message-content th{background:var(--bg-gray);font-weight:600;border-bottom:2px solid var(--border-color)}.message-content tr:hover{background:var(--primary-light)}.message-content tr:nth-child(2n){background:var(--bg-gray-light)}.message-content tr:nth-child(2n):hover{background:var(--primary-light)}.message-content blockquote{border-left:4px solid var(--primary-color);background:var(--primary-light);padding:12px 16px;margin:12px 0;border-radius:0 6px 6px 0;color:var(--text-main);font-style:italic;position:relative}.message-content blockquote:before{content:'"';position:absolute;top:-8px;left:8px;font-size:32px;color:var(--primary-color);opacity:.3;font-family:Georgia,serif}.message-content blockquote p{margin:4px 0}.user-message .message-content blockquote{background:#ffffff1a;border-left-color:#ffffff80;color:#fff}.user-message .message-content blockquote:before{color:#ffffff4d}.message-content hr{border:none;height:1px;background:linear-gradient(to right,transparent,var(--border-color),transparent);margin:20px 0}.message-content h1,.message-content h2,.message-content h3,.message-content h4{margin:20px 0 10px;line-height:1.4;color:var(--text-main)}.message-content h1{font-size:1.5em;border-bottom:2px solid var(--primary-color);padding-bottom:8px;margin-top:24px}.message-content h2{font-size:1.3em;border-bottom:1px solid var(--border-color);padding-bottom:6px;margin-top:20px}.message-content h3{font-size:1.15em;margin-top:16px}.message-content h4{font-size:1.05em;margin-top:14px}.user-message .message-content h1,.user-message .message-content h2,.user-message .message-content h3,.user-message .message-content h4{color:#fff}.user-message .message-content h1{border-bottom-color:#ffffff4d}.user-message .message-content h2{border-bottom-color:#fff3}.message-content p{margin:4px 0}.message-content ul,.message-content ol{padding-left:24px;margin:10px 0}.message-content li{margin:6px 0;line-height:1.6}.message-content li::marker{color:var(--primary-color)}.message-content ul ul,.message-content ol ol,.message-content ul ol,.message-content ol ul{margin:2px 0}.message-content a{color:var(--primary-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.message-content a:hover{border-bottom-color:var(--primary-color)}.message-content a[target=_blank]:after{content:" ↗";font-size:.8em;vertical-align:super}.user-message .message-content a{color:#fff;border-bottom-color:#ffffff4d}.user-message .message-content a:hover{border-bottom-color:#fff}.ai-message .message-content a{color:var(--primary-alt);border-bottom-color:#1890ff4d}.ai-message .message-content a:hover{border-bottom-color:var(--primary-alt)}.message-content img{max-width:100%;border-radius:6px;margin:8px 0}@media (max-width: 1024px){.config-selector{right:8px;width:calc(100% - 16px)}.message{max-width:85%}}@media (max-width: 768px){.sidebar{width:250px}.config-selector{width:calc(100% - 32px);max-width:100%}.chat-container{padding:12px 12px 130px}.message{max-width:90%}.message-avatar{width:36px;height:36px}#message-input{height:48px;font-size:14px}#send-button{width:48px;height:48px}#input-toggle-btn{width:70px;height:20px;font-size:12px}.storage-btn-group{flex-direction:column;margin-left:0}#host-error-tip{width:100%;margin-left:0;padding-left:0}}@keyframes msgMountFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes searchHighlight{0%{background-color:var(--primary-light)}to{background-color:transparent}}.search-target-highlight{animation:searchHighlight 2s ease-out}.sidebar-overlay-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:9997}.panel-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:1000}.sidebar-overlay-fade-enter-active,.sidebar-overlay-fade-leave-active{transition:opacity .25s ease}.sidebar-overlay-fade-enter-from,.sidebar-overlay-fade-leave-to{opacity:0}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;width:250px;height:100vh;z-index:9998;transform:translate(-100%);box-shadow:none;transition:transform .3s ease,box-shadow .3s ease;border-right:1px solid var(--border-color);padding-top:60px}.sidebar.mobile-overlay{transform:translate(0);box-shadow:0 0 20px #0000004d}.sidebar.collapsed{transform:translate(-100%)}#sidebar-toggle-outer{display:none}.mobile-menu-btn{display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%);width:36px;height:36px;min-width:36px;min-height:36px;border-radius:var(--radius-sm);border:none;background:#fff3;color:#fff;font-size:18px;cursor:pointer;z-index:10001;align-items:center;justify-content:center;transition:background .2s}.mobile-menu-btn:hover{background:#ffffff4d}.mobile-menu-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}#message-input{height:48px;min-height:48px;padding:12px 14px;font-size:16px}#send-button{width:48px;height:48px;min-width:48px;min-height:48px}#stop-button{width:48px;height:48px;min-width:48px;min-height:48px;font-size:18px}#input-toggle-btn{width:75px;height:24px;min-width:44px;min-height:44px;font-size:13px;padding:0}.input-container{padding:0 12px 12px}.input-wrapper{gap:8px;margin-top:30px}.input-hint{font-size:10px}.message-content{padding:8px 12px;font-size:14px}.message{margin-bottom:16px}.message-avatar{width:32px;height:32px;min-width:32px;font-size:12px}.chat-container{padding:12px 12px 130px}.msg-controls{font-size:11px;gap:4px}.copy-btn,.edit-btn,.resend-btn,.stream-btn,.retry-btn,.quote-btn{padding:6px 10px;min-height:32px;font-size:12px}.conversation-item{padding:14px 12px;min-height:52px}.star-btn{font-size:18px;padding:4px 6px;min-width:28px;min-height:28px}.sidebar-btn,.sidebar-toggle{width:36px;height:36px;min-width:36px;min-height:36px}.conversation-more{width:32px;height:32px;min-width:32px;min-height:32px}.conversation-action-btn{padding:10px 14px;min-height:40px;font-size:14px}.sidebar-header{height:60px}.config-selector{right:0;left:0;top:auto;bottom:0;width:100%;max-width:100%;border-radius:16px 16px 0 0;max-height:85vh;transform:translateY(100%);transition:transform .3s ease-out,opacity .2s ease-out}.config-selector.open{transform:translateY(0);max-height:85vh}.config-selector:before{content:"";display:block;width:40px;height:4px;background:var(--border-color);border-radius:2px;margin:8px auto}.scroll-down-btn{bottom:140px}.chat-header{padding:12px}.header-title{margin-left:0;font-size:14px}.header-actions{gap:2px}.header-btn{font-size:12px;padding:4px 5px;min-height:36px}.header-model-select{font-size:11px;max-width:100px;min-height:36px}.export-dropdown{right:auto;left:0}.msg-more-btn,.rename-confirm-btn{min-width:36px;min-height:36px;padding:6px}.quick-delete-btn{min-width:32px;min-height:32px;padding:4px;font-size:14px}.host-add-row,.model-add-row,.model-error-row{margin-left:0!important}.confirm-dialog{min-width:0;width:calc(100% - 32px);max-width:400px}.in-chat-search-bar{right:8px;left:8px}.in-chat-search-input{width:100%;min-width:0}}.mobile-menu-btn{display:none}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}.help-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100000}.help-panel{background:var(--bg-white);border-radius:var(--radius-main);box-shadow:0 8px 32px #0003;width:90%;max-width:450px;max-height:80vh;overflow-y:auto;animation:helpPanelSlideIn .2s ease-out}@keyframes helpPanelSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.help-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);font-size:16px;font-weight:600;color:var(--text-main)}.help-panel-close{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:50%;border:none;background:var(--bg-gray);color:var(--text-secondary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.help-panel-close:hover{background:var(--border-color)}.help-panel-body{padding:16px 20px}.shortcut-group{margin-bottom:16px}.shortcut-group:last-child{margin-bottom:0}.shortcut-group-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border-light)}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.shortcut-keys{font-size:13px;font-weight:600;color:var(--primary-color);background:var(--primary-light);padding:2px 10px;border-radius:4px;font-family:JetBrains Mono,Fira Code,monospace;white-space:nowrap}.shortcut-desc{font-size:13px;color:var(--text-main)}.help-tips{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.help-tips-title{font-size:14px;font-weight:600;color:var(--text-main);margin-bottom:10px}.help-tip{font-size:13px;color:var(--text-secondary);padding:4px 0 4px 12px;position:relative}.help-tip:before{content:"•";position:absolute;left:0;color:var(--primary-color)}.help-stats{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.help-stats-title{font-size:14px;font-weight:600;color:var(--text-main);margin-bottom:12px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:10px 8px;background:var(--bg-gray);border-radius:var(--radius-sm)}.stat-value{font-size:20px;font-weight:700;color:var(--primary-color);line-height:1.2}.stat-label{font-size:11px;color:var(--text-secondary);margin-top:4px}.modal-fade-slide-enter-active,.modal-fade-slide-leave-active{transition:opacity .2s ease}.modal-fade-slide-enter-from,.modal-fade-slide-leave-to{opacity:0}.modal-fade-slide-enter-active .help-panel{animation:helpPanelSlideIn .2s ease-out}.modal-fade-slide-leave-active .help-panel{animation:helpPanelSlideOut .15s ease-in}@keyframes helpPanelSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.97)}}
