@charset "UTF-8";.item-card[data-v-be7d2a4e] {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.2s ease;
  border: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  position: relative;
  user-select: none;
}
.item-card.item-directory[data-v-be7d2a4e] {
  cursor: pointer;
}
.item-card.item-resource[data-v-be7d2a4e] {
  cursor: pointer;
}
.item-card[data-v-be7d2a4e]:hover {
  border-color: #3b82f6;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
}
.item-card:hover .card-actions[data-v-be7d2a4e] {
  opacity: 1;
  visibility: visible;
}
.item-card:hover .card-checkbox[data-v-be7d2a4e] {
  opacity: 1;
  visibility: visible;
}
.item-card.selected[data-v-be7d2a4e] {
  border-color: #3b82f6;
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.2);
}
.item-card .card-checkbox[data-v-be7d2a4e] {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 11;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
  cursor: pointer;
}
.item-card .card-checkbox.always-visible[data-v-be7d2a4e] {
  opacity: 1;
  visibility: visible;
}
.item-card .card-checkbox .checkbox-circle[data-v-be7d2a4e] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.item-card .card-checkbox .checkbox-circle[data-v-be7d2a4e]:hover {
  background: rgba(59, 130, 246, 0.5);
  border-color: #fff;
}
.item-card .card-checkbox .checkbox-circle.is-checked[data-v-be7d2a4e] {
  background: #3b82f6;
  border-color: #3b82f6;
}
.item-card .card-checkbox .checkbox-circle.is-checked .el-icon[data-v-be7d2a4e] {
  color: #fff;
}
.item-card .pending-overlay[data-v-be7d2a4e] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: not-allowed;
}
.item-card .pending-overlay .pending-content[data-v-be7d2a4e] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #fff;
}
.item-card .pending-overlay .pending-content .pending-icon[data-v-be7d2a4e] {
  animation: spin-be7d2a4e 1.5s linear infinite;
  color: #fff;
}
.item-card .pending-overlay .pending-content .pending-text[data-v-be7d2a4e] {
  font-size: 12px;
  font-weight: 500;
  background: rgba(107, 114, 128, 0.8);
  padding: 4px 12px;
  border-radius: 12px;
}
@keyframes spin-be7d2a4e {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.item-card .analyzing-badge[data-v-be7d2a4e] {
  width: 34px;
  height: 34px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  cursor: default;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.item-card .analyzing-badge .analyzing-icon[data-v-be7d2a4e] {
  animation: spin-be7d2a4e 1.5s linear infinite;
  color: #3b82f6;
}
.item-card .card-actions[data-v-be7d2a4e] {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 10;
  display: flex;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}
.item-card .card-actions .action-btn[data-v-be7d2a4e] {
  width: 28px;
  height: 28px;
  padding: 0;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(4px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.item-card .card-actions .action-btn[data-v-be7d2a4e]:hover {
  background: #fff;
  transform: scale(1.05);
}
.item-card .card-actions .action-btn .el-icon[data-v-be7d2a4e] {
  font-size: 14px;
  color: #606266;
}
.item-card .card-actions .action-btn.download-btn:hover .el-icon[data-v-be7d2a4e] {
  color: #409eff;
}
.item-card .card-actions .action-btn.rename-btn:hover .el-icon[data-v-be7d2a4e] {
  color: #67c23a;
}
.item-card .card-actions .action-btn.restore-btn:hover .el-icon[data-v-be7d2a4e] {
  color: #409eff;
}
.item-card .card-actions .action-btn.delete-btn[data-v-be7d2a4e]:hover {
  background: #fef0f0;
}
.item-card .card-actions .action-btn.delete-btn:hover .el-icon[data-v-be7d2a4e] {
  color: #f56c6c;
}
.item-card:hover .card-actions[data-v-be7d2a4e] {
  opacity: 1;
  visibility: visible;
}
.item-card .card-content[data-v-be7d2a4e] {
  width: 100%;
  background: #fff;
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.item-card.grid-size-large .card-content[data-v-be7d2a4e] {
  height: 140px;
}
.item-card.grid-size-small .card-content[data-v-be7d2a4e] {
  height: 100px;
}
.item-card .folder-icon-wrapper[data-v-be7d2a4e] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transition: all 0.2s;
}
.item-card .folder-icon-wrapper svg[data-v-be7d2a4e] {
  width: 64px;
  height: 52px;
}
.item-card .thumbnail-area[data-v-be7d2a4e] {
  position: relative;
  width: 100%;
  height: 100%;
  background: #0f1a2a;
  overflow: hidden;
}
.item-card .thumbnail-image[data-v-be7d2a4e] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.item-card .thumbnail-placeholder[data-v-be7d2a4e] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0f1a2a 0%, #1a2332 100%);
  color: #606266;
}
.item-card .thumbnail-placeholder.document[data-v-be7d2a4e] {
  background: linear-gradient(135deg, #e8e9f1 0%, #f3f4f8 100%);
  color: #8b5cf6;
}
.item-card .thumbnail-placeholder.audio[data-v-be7d2a4e] {
  background: linear-gradient(135deg, #1a1f2e 0%, #252b38 100%);
  color: #f59e0b;
}
.item-card .thumbnail-placeholder .doc-type-letter[data-v-be7d2a4e] {
  font-size: 24px;
  font-weight: 600;
  color: #8b5cf6;
}
.item-card .thumbnail-placeholder[data-v-be7d2a4e] .el-icon {
  color: currentColor;
}
.item-card .thumbnail-overlay[data-v-be7d2a4e] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.4) 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  pointer-events: none;
}
.item-card .thumbnail-overlay .overlay-top[data-v-be7d2a4e],
.item-card .thumbnail-overlay .overlay-bottom[data-v-be7d2a4e] {
  display: flex;
  gap: 8px;
  padding: 8px;
}
.item-card .thumbnail-overlay .overlay-top[data-v-be7d2a4e] {
  justify-content: flex-start;
}
.item-card .thumbnail-overlay .overlay-bottom[data-v-be7d2a4e] {
  justify-content: flex-end;
}
.item-card .thumbnail-overlay .type-badge[data-v-be7d2a4e],
.item-card .thumbnail-overlay .quality-badge[data-v-be7d2a4e],
.item-card .thumbnail-overlay .duration-badge[data-v-be7d2a4e],
.item-card .thumbnail-overlay .resolution-badge[data-v-be7d2a4e] {
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 4px;
  backdrop-filter: blur(4px);
}
.item-card .thumbnail-overlay .overlay-center[data-v-be7d2a4e] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.item-card .thumbnail-overlay .overlay-center .play-icon[data-v-be7d2a4e] {
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #0f1a2a;
  font-weight: 600;
}
.item-card .card-info[data-v-be7d2a4e] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  background: #f5f7fa;
  border-top: 1px solid #e5e7eb;
  flex: 1;
}
.item-card .card-info .info-title[data-v-be7d2a4e] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
}
.item-card .card-info .info-title .title-text[data-v-be7d2a4e] {
  font-size: 14px;
  font-weight: 500;
  color: #1f2937;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  line-height: 1.4;
}
.item-card .card-info .info-title .media-type-icon[data-v-be7d2a4e] {
  font-size: 12px;
  color: #909399;
  white-space: nowrap;
  flex-shrink: 0;
}
.item-card .card-info .info-desc[data-v-be7d2a4e] {
  font-size: 12px;
  color: #909399;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  line-height: 1.3;
}
.item-card.grid-size-large .card-info[data-v-be7d2a4e] {
  gap: 4px;
  padding: 14px 16px;
  min-height: 60px;
}
.item-card.grid-size-small .card-info[data-v-be7d2a4e] {
  gap: 0;
  padding: 12px 14px;
  min-height: 0;
}
.item-card.item-directory .folder-icon-wrapper[data-v-be7d2a4e]:hover {
  background: rgba(233, 184, 74, 0.08);
}
.item-card.item-directory:hover .title-text[data-v-be7d2a4e] {
  color: #E9B84A;
}.item-grid-view[data-v-25097bc8] {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.item-grid-view .batch-action-bar[data-v-25097bc8] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 24px;
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
  transition: all 0.3s ease;
}
.item-grid-view .batch-action-bar.has-selection[data-v-25097bc8] {
  background: #f0f7ff;
}
.item-grid-view .batch-action-bar .left-actions[data-v-25097bc8] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.item-grid-view .batch-action-bar .left-actions .selected-count[data-v-25097bc8] {
  font-size: 13px;
  color: #3b82f6;
  font-weight: 500;
}
.item-grid-view .batch-action-bar .right-actions[data-v-25097bc8] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.item-grid-view .batch-action-bar .right-actions .el-button[data-v-25097bc8] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.item-grid-view .fade-enter-active[data-v-25097bc8],
.item-grid-view .fade-leave-active[data-v-25097bc8] {
  transition: opacity 0.2s ease;
}
.item-grid-view .fade-enter-from[data-v-25097bc8],
.item-grid-view .fade-leave-to[data-v-25097bc8] {
  opacity: 0;
}
.item-grid-view .content-wrapper[data-v-25097bc8] {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: auto;
}
.item-grid-view .grid-container[data-v-25097bc8] {
  display: grid;
  gap: 20px;
  padding: 20px;
  flex: 1;
  align-content: start;
}
.item-grid-view .grid-container.grid-size-large[data-v-25097bc8] {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}
.item-grid-view .grid-container.grid-size-small[data-v-25097bc8] {
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 16px;
}
.item-grid-view .empty-state[data-v-25097bc8] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #909399;
}
.item-grid-view .empty-state p[data-v-25097bc8] {
  margin: 0;
  font-size: 14px;
}.item-table-view[data-v-8d4cd4b9] {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
.item-table-view .content-wrapper[data-v-8d4cd4b9] {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: auto;
}
.item-table-view .resource-table[data-v-8d4cd4b9] {
  border: none;
  padding: 0 24px 24px;
  background: transparent;
}
.item-table-view .resource-table .el-table__header-wrapper[data-v-8d4cd4b9] {
  background: #f5f7fa;
  border-bottom: 1px solid #e5e7eb;
}
.item-table-view .resource-table .el-table__body[data-v-8d4cd4b9] {
  background: #fff;
}
.item-table-view .resource-table .el-table__row:hover > td[data-v-8d4cd4b9] {
  background: #f9fafb !important;
}
.item-table-view .resource-table .el-table__row.el-table__row--striped > td[data-v-8d4cd4b9] {
  background: #fafbfc;
}
.item-table-view .resource-table .el-table__row.el-table__row--striped:hover > td[data-v-8d4cd4b9] {
  background: #f9fafb !important;
}
.item-table-view .resource-table .el-table__row.clickable-row[data-v-8d4cd4b9] {
  cursor: pointer;
}
.item-table-view .resource-table .el-table__cell[data-v-8d4cd4b9] {
  border-color: #e5e7eb;
  padding: 12px 16px;
  font-size: 14px;
  height: auto;
  white-space: nowrap;
}
.item-table-view .resource-table .el-table__cell[data-v-8d4cd4b9]:last-child {
  white-space: nowrap;
}
.item-table-view .resource-table .el-table__cell[data-v-8d4cd4b9]:last-child .el-button {
  white-space: nowrap;
  display: inline-block;
}
.item-table-view .resource-table .el-table__header-wrapper .el-table__cell[data-v-8d4cd4b9] {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.item-table-view .resource-table .type-badge[data-v-8d4cd4b9] {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
}
.item-table-view .resource-table .type-badge.video[data-v-8d4cd4b9] {
  background: #ef4444;
}
.item-table-view .resource-table .type-badge.image[data-v-8d4cd4b9] {
  background: #3b82f6;
}
.item-table-view .resource-table .type-badge.audio[data-v-8d4cd4b9] {
  background: #f59e0b;
}
.item-table-view .resource-table .type-badge.document[data-v-8d4cd4b9] {
  background: #8b5cf6;
}
.item-table-view .resource-table .type-badge.directory[data-v-8d4cd4b9] {
  background: #fbbf24;
  color: #92400e;
}
.item-table-view .resource-table .type-desc-badge[data-v-8d4cd4b9] {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
}
.item-table-view .resource-table .type-desc-badge.video[data-v-8d4cd4b9] {
  background: #fee2e2;
  color: #991b1b;
}
.item-table-view .resource-table .type-desc-badge.image[data-v-8d4cd4b9] {
  background: #dbeafe;
  color: #1e40af;
}
.item-table-view .resource-table .type-desc-badge.audio[data-v-8d4cd4b9] {
  background: #fef3c7;
  color: #92400e;
}
.item-table-view .resource-table .type-desc-badge.document[data-v-8d4cd4b9] {
  background: #f3e8ff;
  color: #6b21a8;
}
.item-table-view .resource-table .type-desc-badge.directory[data-v-8d4cd4b9] {
  background: #fef3c7;
  color: #92400e;
}
.item-table-view .name-cell[data-v-8d4cd4b9] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.item-table-view .name-cell .cell-thumbnail[data-v-8d4cd4b9] {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  object-fit: cover;
  flex-shrink: 0;
}
.item-table-view .name-cell .name-text[data-v-8d4cd4b9] {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 14px;
  color: #1f2937;
}
.item-table-view .empty-state[data-v-8d4cd4b9] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #909399;
}
.item-table-view .empty-state p[data-v-8d4cd4b9] {
  margin: 0;
  font-size: 14px;
}
.chat-action-bar[data-v-e215cfb7] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 0;
  opacity: 0;
  transition: opacity 0.2s ease;
}

/* 鼠标悬停在消息上时显示操作栏 */
.message-wrapper:hover .chat-action-bar[data-v-e215cfb7],
.chat-action-bar.is-streaming[data-v-e215cfb7] {
  opacity: 1;
}

/* 兼容 ChatMessageItem 的父元素 class */
.chat-message-item:hover .chat-action-bar[data-v-e215cfb7],
.message-body:hover .chat-action-bar[data-v-e215cfb7] {
  opacity: 1;
}

/* 强制显示（用于调试或特殊场景） */
.chat-action-bar.always-visible[data-v-e215cfb7] {
  opacity: 1;
}
.action-btn[data-v-e215cfb7] {
  padding: 4px 8px !important;
  height: 28px !important;
  min-width: 28px !important;
  border-radius: 6px !important;
  color: #8c8c8c !important;
  transition: all 0.2s ease;
}
.action-btn[data-v-e215cfb7]:hover {
  color: #265eec !important;
  background-color: rgba(38, 94, 236, 0.08) !important;
}
.action-btn.is-liked[data-v-e215cfb7] {
  color: #265eec !important;
}
.action-btn.is-disliked[data-v-e215cfb7] {
  color: #f56c6c !important;
}
.action-btn.is-speaking[data-v-e215cfb7] {
  color: #265eec !important;
  animation: pulse-e215cfb7 1.5s infinite;
}
.success-icon[data-v-e215cfb7] {
  color: #67c23a !important;
}
.stop-btn[data-v-e215cfb7] {
  background-color: #fff1f0 !important;
  border: 1px solid #ffccc7 !important;
  color: #ff4d4f !important;
}
.stop-btn[data-v-e215cfb7]:hover {
  background-color: #ff4d4f !important;
  color: white !important;
}
.stop-btn .btn-text[data-v-e215cfb7] {
  margin-left: 4px;
  font-size: 12px;
}
@keyframes pulse-e215cfb7 {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0.5;
}
}

/* 图标尺寸统一 */
.action-btn[data-v-e215cfb7] svg {
  width: 16px;
  height: 16px;
}
.markdown-renderer[data-v-a3379a6e] {
  font-size: 14px;
  line-height: 1.7;
  color: #262626;
  word-break: break-word;
}
.markdown-renderer[data-v-a3379a6e] p {
  margin: 0 0 12px 0;
}
.markdown-renderer[data-v-a3379a6e] p:last-child {
  margin-bottom: 0;
}
.markdown-renderer[data-v-a3379a6e] h1, .markdown-renderer[data-v-a3379a6e] h2, .markdown-renderer[data-v-a3379a6e] h3, .markdown-renderer[data-v-a3379a6e] h4, .markdown-renderer[data-v-a3379a6e] h5, .markdown-renderer[data-v-a3379a6e] h6 {
  margin: 16px 0 8px 0;
  font-weight: 600;
  line-height: 1.4;
}
.markdown-renderer[data-v-a3379a6e] h1 {
  font-size: 1.5em;
}
.markdown-renderer[data-v-a3379a6e] h2 {
  font-size: 1.3em;
}
.markdown-renderer[data-v-a3379a6e] h3 {
  font-size: 1.1em;
}
.markdown-renderer[data-v-a3379a6e] ul, .markdown-renderer[data-v-a3379a6e] ol {
  margin: 8px 0;
  padding-left: 24px;
}
.markdown-renderer[data-v-a3379a6e] li {
  margin: 4px 0;
}
.markdown-renderer[data-v-a3379a6e] code {
  background: #f5f5f5;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.9em;
  font-family: "Monaco", "Menlo", "Consolas", monospace;
}
.markdown-renderer[data-v-a3379a6e] pre {
  background: #f5f5f5;
  padding: 12px;
  border-radius: 6px;
  overflow-x: auto;
  margin: 12px 0;
}
.markdown-renderer[data-v-a3379a6e] pre code {
  background: none;
  padding: 0;
}
.markdown-renderer[data-v-a3379a6e] blockquote {
  margin: 12px 0;
  padding: 8px 16px;
  border-left: 4px solid #265eec;
  background: #f0f5ff;
  color: #595959;
}
.markdown-renderer[data-v-a3379a6e] table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-size: 13px;
}
.markdown-renderer[data-v-a3379a6e] table th, .markdown-renderer[data-v-a3379a6e] table td {
  border: 1px solid #e8e8e8;
  padding: 8px 12px;
  text-align: left;
}
.markdown-renderer[data-v-a3379a6e] table th {
  background: #fafafa;
  font-weight: 600;
}
.markdown-renderer[data-v-a3379a6e] table tr:hover {
  background: #fafafa;
}
.markdown-renderer[data-v-a3379a6e] a {
  color: #265eec;
  text-decoration: none;
}
.markdown-renderer[data-v-a3379a6e] a:hover {
  text-decoration: underline;
}
.markdown-renderer[data-v-a3379a6e] hr {
  border: none;
  border-top: 1px solid #e8e8e8;
  margin: 16px 0;
}
.markdown-renderer[data-v-a3379a6e] img {
  max-width: 100%;
  border-radius: 6px;
}
.markdown-renderer[data-v-a3379a6e] .mermaid-placeholder {
  margin: 16px 0;
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
  text-align: center;
  overflow-x: auto;
}
.markdown-renderer[data-v-a3379a6e] .mermaid-placeholder.mermaid-rendered {
  background: transparent;
  padding: 0;
}
.markdown-renderer[data-v-a3379a6e] .mermaid-placeholder.mermaid-error {
  background: #fff2f0;
  border: 1px solid #ffccc7;
  text-align: left;
}
.markdown-renderer[data-v-a3379a6e] .mermaid-error-details {
  cursor: pointer;
}
.markdown-renderer[data-v-a3379a6e] .mermaid-error-details .mermaid-error-summary {
  list-style: none;
}
.markdown-renderer[data-v-a3379a6e] .mermaid-error-details .mermaid-error-summary::-webkit-details-marker {
  display: none;
}
.markdown-renderer[data-v-a3379a6e] .mermaid-error-details .mermaid-code {
  margin: 0;
  padding: 8px;
  background: #f5f5f5;
  border-radius: 4px;
  font-size: 12px;
  color: #595959;
  white-space: pre-wrap;
}
.markdown-renderer[data-v-a3379a6e] .mermaid-error-details .mermaid-error-message {
  margin: 8px 0 0 0;
  padding: 8px;
  background: #fff1f0;
  border-radius: 4px;
  font-size: 11px;
  color: #ff4d4f;
  white-space: pre-wrap;
}
.markdown-renderer[data-v-a3379a6e] .math-placeholder.math-rendered[data-math-id^=__MATH_BLOCK] {
  display: block;
  text-align: center;
  margin: 16px 0;
  overflow-x: auto;
}
.markdown-renderer[data-v-a3379a6e] .math-placeholder.math-error {
  color: #ff4d4f;
  font-family: monospace;
}.procedure-list[data-v-ff1efb9b] {
  background: var(--data-analysis-surface-bg, #fafafa);
  border-radius: var(--data-analysis-surface-radius, 8px);
  border: var(--data-analysis-surface-border, 1px solid #f0f0f0);
  overflow: hidden;
}
.procedure-header[data-v-ff1efb9b] {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 12px 16px;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s;
}
.procedure-header[data-v-ff1efb9b]:hover {
  background: var(--data-analysis-surface-hover-bg, #f5f5f5);
}
.header-left[data-v-ff1efb9b] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.status-icon[data-v-ff1efb9b] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: #265eec;
}
.status-icon.done[data-v-ff1efb9b] {
  color: #52c41a;
}
.loading-spinner[data-v-ff1efb9b] {
  width: 16px;
  height: 16px;
  border: 2px solid #e8e8e8;
  border-top-color: #265eec;
  border-radius: 50%;
  animation: spin-ff1efb9b 1s linear infinite;
}
@keyframes spin-ff1efb9b {
to {
    transform: rotate(360deg);
}
}
.header-title[data-v-ff1efb9b] {
  font-size: 14px;
  font-weight: 500;
  color: #262626;
}
.collapse-icon[data-v-ff1efb9b] {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8c8c8c;
  transition: transform 0.2s;
}
.collapse-icon.expanded[data-v-ff1efb9b] {
  transform: rotate(180deg);
}
.procedure-content[data-v-ff1efb9b] {
  padding: 0 16px 12px;
}
.procedures[data-v-ff1efb9b] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.procedure-item-wrapper[data-v-ff1efb9b] {
  display: flex;
  flex-direction: column;
}
.procedure-item[data-v-ff1efb9b] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  background: #fff;
  border-radius: 6px;
  border: 1px solid #f0f0f0;
  transition: all 0.2s;
}
.procedure-item.status-processing[data-v-ff1efb9b] {
  border-color: #265eec;
  background: #f6f9ff;
}
.procedure-item.status-failed[data-v-ff1efb9b] {
  border-color: #ff4d4f;
  background: #fff2f0;
}
.procedure-item.is-thought[data-v-ff1efb9b] {
  background: #fffbe6;
  border-color: #ffe58f;
}
.procedure-item.clickable[data-v-ff1efb9b] {
  cursor: pointer;
}
.procedure-item.clickable[data-v-ff1efb9b]:hover {
  border-color: #265eec;
  box-shadow: 0 2px 8px rgba(38, 94, 236, 0.12);
}
.procedure-item.expanded[data-v-ff1efb9b] {
  border-color: #265eec;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.proc-icon[data-v-ff1efb9b] {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.proc-icon img[data-v-ff1efb9b] {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.proc-icon .default-icon[data-v-ff1efb9b] {
  font-size: 16px;
}
.proc-info[data-v-ff1efb9b] {
  flex: 1;
  min-width: 0;
}
.proc-title[data-v-ff1efb9b] {
  font-size: 13px;
  font-weight: 500;
  color: #262626;
  display: flex;
  align-items: center;
  gap: 8px;
}
.proc-elapsed[data-v-ff1efb9b] {
  font-size: 12px;
  font-weight: 400;
  color: #8c8c8c;
}
.proc-content[data-v-ff1efb9b] {
  margin-top: 6px;
  font-size: 12px;
  color: #595959;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 200px;
  overflow-y: auto;
}
.proc-content[data-v-ff1efb9b]::-webkit-scrollbar {
  width: 4px;
}
.proc-content[data-v-ff1efb9b]::-webkit-scrollbar-thumb {
  background-color: #d9d9d9;
  border-radius: 2px;
}
.proc-status[data-v-ff1efb9b] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}
.status-processing .mini-spinner[data-v-ff1efb9b] {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(38, 94, 236, 0.2);
  border-top-color: #265eec;
  border-radius: 50%;
  animation: spin-ff1efb9b 0.8s linear infinite;
}
.status-success[data-v-ff1efb9b] {
  color: #52c41a;
}
.status-failed[data-v-ff1efb9b] {
  color: #ff4d4f;
}
.proc-expand[data-v-ff1efb9b] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: #8c8c8c;
  transition: transform 0.2s, color 0.2s;
}
.proc-expand.rotated[data-v-ff1efb9b] {
  transform: rotate(180deg);
}
.clickable:hover .proc-expand[data-v-ff1efb9b] {
  color: #265eec;
}
.proc-detail[data-v-ff1efb9b] {
  background: #f8f9fa;
  border: 1px solid #265eec;
  border-top: none;
  border-radius: 0 0 6px 6px;
  padding: 12px;
  max-height: 400px;
  overflow: auto;
}
.proc-detail[data-v-ff1efb9b]::-webkit-scrollbar {
  width: 6px;
}
.proc-detail[data-v-ff1efb9b]::-webkit-scrollbar-thumb {
  background-color: #d9d9d9;
  border-radius: 3px;
}
.search-results[data-v-ff1efb9b] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.search-header[data-v-ff1efb9b] {
  font-size: 13px;
  font-weight: 500;
  color: #262626;
  margin-bottom: 4px;
}
.search-item[data-v-ff1efb9b] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid #f0f0f0;
}
.search-item[data-v-ff1efb9b]:last-child {
  border-bottom: none;
}
.search-favicon-wrapper[data-v-ff1efb9b] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  position: relative;
}
.search-favicon[data-v-ff1efb9b] {
  width: 16px;
  height: 16px;
  border-radius: 2px;
  object-fit: contain;
}
.search-favicon-fallback[data-v-ff1efb9b] {
  width: 16px;
  height: 16px;
  align-items: center;
  justify-content: center;
  color: #265eec;
}
.search-site[data-v-ff1efb9b] {
  font-size: 12px;
  color: #8c8c8c;
  flex-shrink: 0;
  min-width: 60px;
}
.search-link[data-v-ff1efb9b] {
  font-size: 13px;
  color: #265eec;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}
.search-link[data-v-ff1efb9b]:hover {
  text-decoration: underline;
  color: #1a4fc9;
}
.detail-text[data-v-ff1efb9b] {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: #262626;
  word-break: break-word;
}
.detail-text[data-v-ff1efb9b] .markdown-renderer {
  font-size: 13px;
  line-height: 1.6;
}
.detail-text[data-v-ff1efb9b] .markdown-renderer pre {
  margin: 8px 0;
  background: #f5f5f5;
  border-radius: 4px;
  font-size: 12px;
}
.detail-text[data-v-ff1efb9b] .markdown-renderer code {
  font-size: 12px;
}
.detail-json[data-v-ff1efb9b] {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: #1e1e1e;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;
  background: #fff;
  padding: 10px;
  border-radius: 4px;
  border: 1px solid #e8e8e8;
}
.thinking-text p[data-v-ff1efb9b] {
  margin: 0;
  font-size: 13px;
  color: #595959;
  line-height: 1.6;
  white-space: pre-wrap;
}
.collapsed .procedure-content[data-v-ff1efb9b] {
  display: none;
}
.chat-message-item[data-v-a532fdf4] {
  display: flex;
  gap: 12px;
  padding: 16px 0;
}

/* 用户消息靠右 */
.chat-message-item.role-user[data-v-a532fdf4] {
  flex-direction: row-reverse;
}
.chat-message-item.role-user .message-body[data-v-a532fdf4] {
  align-items: flex-end;
}
.chat-message-item.role-user .message-header[data-v-a532fdf4] {
  flex-direction: row-reverse;
}

/* 系统消息居中 */
.chat-message-item.role-system[data-v-a532fdf4] {
  justify-content: center;
}
.chat-message-item.role-system .message-body[data-v-a532fdf4] {
  align-items: center;
  max-width: 80%;
}

/* 头像 */
.message-avatar[data-v-a532fdf4] {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
}
.avatar-img[data-v-a532fdf4] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}
.avatar-placeholder[data-v-a532fdf4] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #e8e8e8;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8c8c8c;
}
.avatar-placeholder[data-v-a532fdf4] svg {
  width: 20px;
  height: 20px;
}

/* 消息主体 */
.message-body[data-v-a532fdf4] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  max-width: 80%;
  padding-top: 8px; /* 让消息内容从头像中下方开始 */
}
.message-header[data-v-a532fdf4] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  margin-bottom: 6px;
}
.message-name[data-v-a532fdf4] {
  color: #262626;
  font-weight: 500;
}
.message-time[data-v-a532fdf4] {
  color: #8c8c8c;
}

/* 消息内容 */
.message-content-wrapper[data-v-a532fdf4] {
  display: inline-block;
  position: relative;
  padding: 14px 18px;
  border-radius: 18px;
  font-size: 14px;
  line-height: 1.7;
  word-break: break-word;
  max-width: 100%;
}
.role-user .message-content-wrapper[data-v-a532fdf4] {
  background-color: #f0f0f0;
  color: #262626;
  border-radius: 18px;
}
.role-assistant .message-content-wrapper[data-v-a532fdf4] {
  background: transparent;
  color: #262626;
  padding: 0;
}
.role-system .message-content-wrapper[data-v-a532fdf4] {
  background-color: #fff7e6;
  color: #d46b08;
  font-size: 13px;
  padding: 8px 16px;
}

/* 错误消息 */
.message-error[data-v-a532fdf4] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ff4d4f;
}
.error-icon[data-v-a532fdf4] {
  flex-shrink: 0;
}

/* 加载状态 */
.message-loading[data-v-a532fdf4] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.typing-indicator[data-v-a532fdf4] {
  display: flex;
  gap: 4px;
}
.typing-indicator span[data-v-a532fdf4] {
  width: 8px;
  height: 8px;
  background-color: #8c8c8c;
  border-radius: 50%;
  animation: typing-a532fdf4 1.4s infinite ease-in-out both;
}
.typing-indicator span[data-v-a532fdf4]:nth-child(1) {
  animation-delay: -0.32s;
}
.typing-indicator span[data-v-a532fdf4]:nth-child(2) {
  animation-delay: -0.16s;
}
@keyframes typing-a532fdf4 {
0%, 80%, 100% {
    transform: scale(0.6);
    opacity: 0.5;
}
40% {
    transform: scale(1);
    opacity: 1;
}
}

/* 流式光标 */
.streaming-cursor[data-v-a532fdf4] {
  display: inline-block;
  animation: blink-a532fdf4 1s step-end infinite;
  color: #265eec;
  margin-left: 2px;
}
@keyframes blink-a532fdf4 {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0;
}
}

/* Markdown 样式 */
.message-markdown[data-v-a532fdf4] p {
  margin: 0 0 8px 0;
}
.message-markdown[data-v-a532fdf4] p:last-child {
  margin-bottom: 0;
}
.message-markdown[data-v-a532fdf4] pre {
  background-color: #282c34;
  color: #abb2bf;
  border-radius: 8px;
  padding: 12px 16px;
  overflow-x: auto;
  margin: 12px 0;
  font-family: 'Fira Code', 'Consolas', monospace;
  font-size: 13px;
  line-height: 1.5;
}
.message-markdown[data-v-a532fdf4] code {
  font-family: 'Fira Code', 'Consolas', monospace;
  background-color: rgba(0, 0, 0, 0.06);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.9em;
}
.message-markdown[data-v-a532fdf4] pre code {
  background: none;
  padding: 0;
}
.message-markdown[data-v-a532fdf4] ul,
.message-markdown[data-v-a532fdf4] ol {
  padding-left: 20px;
  margin: 8px 0;
}
.message-markdown[data-v-a532fdf4] li {
  margin: 4px 0;
}
.message-markdown[data-v-a532fdf4] blockquote {
  border-left: 4px solid #265eec;
  padding-left: 12px;
  margin: 12px 0;
  color: #595959;
  background-color: rgba(38, 94, 236, 0.04);
  padding: 8px 12px;
  border-radius: 0 8px 8px 0;
}
.message-markdown[data-v-a532fdf4] a {
  color: #265eec;
  text-decoration: none;
}
.message-markdown[data-v-a532fdf4] a:hover {
  text-decoration: underline;
}
.message-markdown[data-v-a532fdf4] table {
  border-collapse: collapse;
  width: 100%;
  margin: 12px 0;
}
.message-markdown[data-v-a532fdf4] th,
.message-markdown[data-v-a532fdf4] td {
  border: 1px solid #e8e8e8;
  padding: 8px 12px;
  text-align: left;
}
.message-markdown[data-v-a532fdf4] th {
  background-color: #fafafa;
  font-weight: 500;
}
.message-markdown[data-v-a532fdf4] h1,
.message-markdown[data-v-a532fdf4] h2,
.message-markdown[data-v-a532fdf4] h3,
.message-markdown[data-v-a532fdf4] h4 {
  margin: 12px 0 8px 0;
  font-weight: 600;
}
.message-markdown[data-v-a532fdf4] h1:first-child,
.message-markdown[data-v-a532fdf4] h2:first-child,
.message-markdown[data-v-a532fdf4] h3:first-child,
.message-markdown[data-v-a532fdf4] h4:first-child {
  margin-top: 0;
}
.message-markdown[data-v-a532fdf4] p:first-child {
  margin-top: 0;
}
.message-markdown[data-v-a532fdf4] h1 { font-size: 1.5em;
}
.message-markdown[data-v-a532fdf4] h2 { font-size: 1.3em;
}
.message-markdown[data-v-a532fdf4] h3 { font-size: 1.1em;
}
.message-markdown[data-v-a532fdf4] h4 { font-size: 1em;
}
.message-markdown[data-v-a532fdf4] hr {
  border: none;
  border-top: 1px solid #e8e8e8;
  margin: 16px 0;
}
.message-markdown[data-v-a532fdf4] img {
  max-width: 100%;
  border-radius: 8px;
}

/* 引用资料 */
.message-references[data-v-a532fdf4] {
  margin-top: 8px;
  padding: 8px 12px;
  background-color: #fafafa;
  border-radius: 8px;
  font-size: 13px;
}
.references-header[data-v-a532fdf4] {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  color: #595959;
  user-select: none;
}
.references-header[data-v-a532fdf4]:hover {
  color: #265eec;
}
.references-header[data-v-a532fdf4] svg:last-child {
  margin-left: auto;
  transition: transform 0.2s;
}
.references-header[data-v-a532fdf4] svg:last-child.is-expanded {
  transform: rotate(180deg);
}
.references-list[data-v-a532fdf4] {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #e8e8e8;
}
.reference-item[data-v-a532fdf4] {
  display: flex;
  gap: 8px;
  padding: 4px 0;
}
.ref-index[data-v-a532fdf4] {
  color: #8c8c8c;
  flex-shrink: 0;
}
.ref-title[data-v-a532fdf4] {
  color: #265eec;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ref-title[data-v-a532fdf4]:hover {
  text-decoration: underline;
}

/* 卡片样式 */
.message-card[data-v-a532fdf4] {
  /* 默认透明：便于实现无边界 UI；需要卡片底色的场景可通过 CSS 变量覆盖 */
  background-color: var(--chat-message-card-bg, transparent);
  border-radius: var(--chat-message-card-radius, 8px);
  overflow: hidden;
}

/* 默认卡片渲染保持可读性 */
.default-card[data-v-a532fdf4] {
  padding: 12px;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
}
.default-card pre[data-v-a532fdf4] {
  margin: 0;
  font-size: 12px;
  white-space: pre-wrap;
  word-break: break-all;
}

/* 角标样式 */
.message-markdown[data-v-a532fdf4] .citation-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  margin: 0 2px;
  font-size: 11px;
  font-weight: 500;
  color: #265eec;
  background-color: #e8f0ff;
  border-radius: 4px;
  cursor: pointer;
  vertical-align: super;
  transition: all 0.2s;
  text-decoration: none;
}
.message-markdown[data-v-a532fdf4] .citation-mark:hover {
  background-color: #265eec;
  color: white;
}

/* 角标 Tooltip */
.citation-tooltip[data-v-a532fdf4] {
  position: fixed;
  transform: translate(-50%, -100%);
  margin-top: -8px;
  z-index: 9999;
  pointer-events: none;
  animation: tooltipFadeIn-a532fdf4 0.15s ease-out;
}
@keyframes tooltipFadeIn-a532fdf4 {
from {
    opacity: 0;
    transform: translate(-50%, -100%) translateY(4px);
}
to {
    opacity: 1;
    transform: translate(-50%, -100%) translateY(0);
}
}
.citation-tooltip-content[data-v-a532fdf4] {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 8px 12px;
  background-color: #ffffff;
  color: #262626;
  border-radius: 6px;
  font-size: 13px;
  min-width: 260px;
  max-width: 420px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  border: 1px solid #e8e8e8;
  white-space: normal;
  word-break: break-all;
}
.citation-tooltip-content[data-v-a532fdf4]::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #ffffff;
}
.citation-file-icon[data-v-a532fdf4] {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  color: #8c8c8c;
}

/* 附件区域 */
.message-attachments[data-v-a532fdf4] {
  margin-bottom: 8px;
}

/* 图片附件 */
.attachment-images[data-v-a532fdf4] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.attachment-image-item[data-v-a532fdf4] {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e8e8e8;
  background-color: #f5f5f5;
  max-width: 200px;
}
.attachment-image[data-v-a532fdf4] {
  width: 100%;
  height: auto;
  display: block;
  cursor: pointer;
  transition: transform 0.2s;
}
.attachment-image[data-v-a532fdf4]:hover {
  transform: scale(1.02);
}
.image-info[data-v-a532fdf4] {
  padding: 4px 8px;
  background-color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.image-name[data-v-a532fdf4] {
  color: #262626;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.image-size[data-v-a532fdf4] {
  color: #8c8c8c;
  font-size: 11px;
}

/* 文件附件 */
.attachment-files[data-v-a532fdf4] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.attachment-file-item[data-v-a532fdf4] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background-color: #f5f5f5;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
}
.file-icon[data-v-a532fdf4] {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: #8c8c8c;
}
.file-info[data-v-a532fdf4] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.file-name[data-v-a532fdf4] {
  color: #262626;
  font-size: 13px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.file-meta[data-v-a532fdf4] {
  color: #8c8c8c;
  font-size: 11px;
}
.file-download[data-v-a532fdf4] {
  flex-shrink: 0;
  color: #0052d9;
  font-size: 12px;
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background-color 0.2s;
}
.file-download[data-v-a532fdf4]:hover {
  background-color: rgba(0, 82, 217, 0.1);
}

/* 思考过程区域样式 */
.message-procedures[data-v-a532fdf4] {
  margin-bottom: 12px;
  max-width: 100%;
}


.file-upload-btn[data-v-b3bb0abf] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #d9d9d9;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  padding: 0;
}
.file-upload-btn[data-v-b3bb0abf]:hover:not(:disabled) {
  border-color: #409eff;
  color: #409eff;
}
.file-upload-btn[data-v-b3bb0abf]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.upload-icon[data-v-b3bb0abf] {
  font-size: 16px;
}

.image-upload-btn[data-v-960147b1] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #d9d9d9;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  padding: 0;
}
.image-upload-btn[data-v-960147b1]:hover:not(:disabled) {
  border-color: #409eff;
  color: #409eff;
}
.image-upload-btn[data-v-960147b1]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.upload-icon[data-v-960147b1] {
  font-size: 16px;
}

.voice-input-wrapper[data-v-075ee9c3] {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.voice-btn[data-v-075ee9c3] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  background: white;
  color: #666;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: visible;
}
.voice-btn[data-v-075ee9c3]:hover:not(:disabled) {
  background: #f5f5f5;
  color: #333;
  border-color: #d0d0d0;
}
.voice-btn.listening[data-v-075ee9c3] {
  background: #fff1f0;
  border-color: #ff4d4f;
  color: #ff4d4f;
  animation: pulse-075ee9c3 1.5s ease-in-out infinite;
}
.voice-btn.not-supported[data-v-075ee9c3] {
  opacity: 0.5;
  cursor: not-allowed;
}
.voice-btn[data-v-075ee9c3]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* 监听指示器 */
.listening-indicator[data-v-075ee9c3] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pulse-ring[data-v-075ee9c3] {
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 77, 79, 0.3);
  animation: pulse-ring-075ee9c3 1.5s ease-out infinite;
}
.mic-active[data-v-075ee9c3] {
  position: relative;
  z-index: 1;
  color: #ff4d4f;
}

/* 语音状态提示 */
.voice-status[data-v-075ee9c3] {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: white;
  padding: 8px 12px;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  z-index: 100;
}
.voice-status[data-v-075ee9c3]::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid white;
}
.status-text[data-v-075ee9c3] {
  font-size: 12px;
  color: #666;
}

/* 声波动画 */
.voice-wave[data-v-075ee9c3] {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 16px;
}
.voice-wave span[data-v-075ee9c3] {
  width: 3px;
  height: 100%;
  background: #ff4d4f;
  border-radius: 2px;
  animation: wave-075ee9c3 0.8s ease-in-out infinite;
}
.voice-wave span[data-v-075ee9c3]:nth-child(1) { animation-delay: 0s;
}
.voice-wave span[data-v-075ee9c3]:nth-child(2) { animation-delay: 0.1s;
}
.voice-wave span[data-v-075ee9c3]:nth-child(3) { animation-delay: 0.2s;
}
.voice-wave span[data-v-075ee9c3]:nth-child(4) { animation-delay: 0.3s;
}
.voice-wave span[data-v-075ee9c3]:nth-child(5) { animation-delay: 0.4s;
}

/* 动画 */
@keyframes pulse-075ee9c3 {
0%, 100% {
    box-shadow: 0 0 0 0 rgba(255, 77, 79, 0.4);
}
50% {
    box-shadow: 0 0 0 8px rgba(255, 77, 79, 0);
}
}
@keyframes pulse-ring-075ee9c3 {
0% {
    transform: scale(0.8);
    opacity: 1;
}
100% {
    transform: scale(1.5);
    opacity: 0;
}
}
@keyframes wave-075ee9c3 {
0%, 100% {
    transform: scaleY(0.3);
}
50% {
    transform: scaleY(1);
}
}

/* 过渡动画 */
.fade-enter-active[data-v-075ee9c3],
.fade-leave-active[data-v-075ee9c3] {
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fade-enter-from[data-v-075ee9c3],
.fade-leave-to[data-v-075ee9c3] {
  opacity: 0;
  transform: translateX(-50%) translateY(4px);
}

.input-toolbar[data-v-2b7ede5b] {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

/* 让直接子组件（含 FileUpload/ImageUpload 根节点）作为 flex 容器垂直居中，避免内部基线影响 */
.input-toolbar[data-v-2b7ede5b] > * {
  display: flex;
  align-items: center;
}

/* 统一 el-upload 触发器与内部内容的对齐 */
[data-v-2b7ede5b] .input-toolbar .el-upload,[data-v-2b7ede5b] .input-toolbar .el-upload__tip,[data-v-2b7ede5b] .input-toolbar .el-upload-list {
  display: flex;
  align-items: center;
}

/* 统一所有圆形按钮的尺寸与居中（兼容 circle/is-circle） */
[data-v-2b7ede5b] .input-toolbar .el-button.is-circle,[data-v-2b7ede5b] .input-toolbar .el-button.circle,
.action-btn[data-v-2b7ede5b] {
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 32px; /* 兜底，防止图标受行高影响 */
}

/* 统一图标大小与垂直对齐 */
[data-v-2b7ede5b] .input-toolbar .el-button .el-icon,[data-v-2b7ede5b] .input-toolbar .el-button svg,[data-v-2b7ede5b] .input-toolbar .el-button i {
  font-size: 18px;
  vertical-align: middle;
  line-height: 1;
}
.action-btn[data-v-2b7ede5b] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  background: white;
  color: #666;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.action-btn[data-v-2b7ede5b]:hover:not(:disabled) {
  background: #f5f5f5;
  color: #333;
  transform: scale(1.05);
}
.action-btn[data-v-2b7ede5b]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.send-btn[data-v-2b7ede5b] {
  background-color: #c4c4c4;
}
.send-btn.active[data-v-2b7ede5b] {
  background-color: #265eec;
  color: white;
}
.send-btn[data-v-2b7ede5b]:hover:not(:disabled) {
  background-color: #265eec;
  color: white;
}
.upload-progress[data-v-2b7ede5b] {
  position: absolute;
  top: -40px;
  left: 0;
  right: 0;
  background: white;
  padding: 8px 12px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 10;
}
.progress-text[data-v-2b7ede5b] {
  font-size: 12px;
  color: #666;
  white-space: nowrap;
}

.advanced-input-box[data-v-ee3342a2] {
    background-color: #fff;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid #ebeef5;
}

/* 文件和图片预览区域样式 */
.upload-preview-area[data-v-ee3342a2] {
    margin-bottom: 16px;
    padding: 12px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}
.preview-title[data-v-ee3342a2] {
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
    font-weight: 500;
}

/* 图片预览样式 */
.image-preview-section[data-v-ee3342a2] {
    margin-bottom: 12px;
}
.image-preview-list[data-v-ee3342a2] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.image-preview-item[data-v-ee3342a2] {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    background: white;
    transition: all 0.2s;
    max-width: 400px;
}
.image-preview-item[data-v-ee3342a2]:hover {
    border-color: #d1d5db;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.image-preview-item.uploading[data-v-ee3342a2] {
    opacity: 0.7;
    background: #f9fafb;
}
.image-preview-wrapper[data-v-ee3342a2] {
    display: flex;
    align-items: center;
    padding: 8px 10px;
    gap: 10px;
    position: relative;
}
.preview-image-container[data-v-ee3342a2] {
    width: 60px;
    height: 60px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
}
.preview-image[data-v-ee3342a2] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.image-loading[data-v-ee3342a2] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.image-loading .is-loading[data-v-ee3342a2] {
    font-size: 20px;
    color: #3b82f6;
}
.image-info[data-v-ee3342a2] {
    flex: 1;
    min-width: 0;
    max-width: 260px;
}
.image-name[data-v-ee3342a2] {
    font-size: 13px;
    font-weight: 500;
    color: #1f2937;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 3px;
    line-height: 1.3;
}
.image-size[data-v-ee3342a2] {
    font-size: 11px;
    color: #9ca3af;
    line-height: 1.2;
}

/* 文件预览样式 */
.file-preview-section[data-v-ee3342a2] {
    margin-bottom: 0;
}
.file-preview-list[data-v-ee3342a2] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.file-preview-item[data-v-ee3342a2] {
    display: flex;
    align-items: center;
    padding: 8px 10px;
    background: white;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    gap: 10px;
    position: relative;
    transition: all 0.2s;
    max-width: 400px;
}
.file-preview-item[data-v-ee3342a2]:hover {
    border-color: #d1d5db;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.file-preview-item.uploading[data-v-ee3342a2] {
    opacity: 0.7;
    background: #f9fafb;
}
.file-icon[data-v-ee3342a2] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f3f4f6;
    border-radius: 6px;
    flex-shrink: 0;
    color: #6b7280;
}
.file-icon .is-loading[data-v-ee3342a2] {
    font-size: 16px;
    color: #3b82f6;
}
.file-info[data-v-ee3342a2] {
    flex: 1;
    min-width: 0;
    max-width: 280px;
}
.file-name[data-v-ee3342a2] {
    font-size: 13px;
    font-weight: 500;
    color: #1f2937;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 3px;
    line-height: 1.3;
}
.file-details[data-v-ee3342a2] {
    font-size: 11px;
    color: #9ca3af;
    line-height: 1.2;
}
.remove-btn[data-v-ee3342a2] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    padding: 0 !important;
    flex-shrink: 0;
    color: #9ca3af !important;
    transition: all 0.2s;
}
.remove-btn[data-v-ee3342a2]:hover:not(:disabled) {
    color: #ef4444 !important;
    transform: scale(1.1);
}
.remove-btn[data-v-ee3342a2]:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}
.remove-btn .el-icon[data-v-ee3342a2] {
    font-size: 14px;
}

/* 输入区域 */
.input-area[data-v-ee3342a2] {
    width: 100%;
}

/* 知识库标签样式 */
.knowledge-tag[data-v-ee3342a2] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    margin-bottom: 8px;
    background-color: #f0f0f0;
    border-radius: 4px;
    font-size: 13px;
    color: #666;
}
.knowledge-tag__text[data-v-ee3342a2] {
    color: #666;
}
.knowledge-tag__close[data-v-ee3342a2] {
    cursor: pointer;
    font-size: 12px;
    color: #999;
    transition: color .2s ease;
}
.knowledge-tag__close[data-v-ee3342a2]:hover {
    color: #f56c6c;
}
.input-textarea[data-v-ee3342a2] {
    margin-bottom: 15px;
    font-size: 16px;
    border: 0px;
    width: 100%;
    resize: none;
    outline: none;
    min-height: 60px;
    padding: 10px;
    box-sizing: border-box;
    overflow-y: hidden;
}
.inline-editor[data-v-ee3342a2] {
    min-height: 60px;
    padding: 10px;
    font-size: 16px;
    line-height: 1.8;
    color: #2c3e50;
    border: none;
    outline: none;
    background: transparent;
    word-wrap: break-word;
    margin-bottom: 15px;
}
.inline-editor[data-v-ee3342a2]:focus {
    outline: none;
}

/* 槽位基础样式 */
[data-v-ee3342a2] .editable-slot {
    display: inline-block;
    font-weight: 500;
    padding: 6px 12px;
    border-radius: 8px;
    margin: 0 4px;
    min-width: 80px;
    text-align: center;
    cursor: text;
    transition: all 0.2s ease;
    outline: none;
}

/* 空槽位的placeholder效果 */
[data-v-ee3342a2] .editable-slot[data-empty="true"]::before {
    content: attr(data-placeholder-text);
    color: #999 !important;
    font-style: italic;
    pointer-events: none;
}
[data-v-ee3342a2] .editable-slot[data-empty="true"] {
    background-color: #f5f5f5 !important;
    color: #999 !important;
    border: 1px solid rgba(153, 153, 153, 0.3) !important;
}
[data-v-ee3342a2] .editable-slot[data-empty="true"]:hover {
    background-color: #e8e8e8 !important;
    border-color: rgba(153, 153, 153, 0.5) !important;
}
[data-v-ee3342a2] .editable-slot[data-empty="true"]:focus {
    background-color: #e3f2fd !important;
    color: #265eec !important;
    border-color: #265eec !important;
    box-shadow: 0 0 0 2px rgba(38, 94, 236, 0.2) !important;
}
[data-v-ee3342a2] .editable-slot[data-empty="true"]:focus::before {
    display: none;
}

/* 有内容的槽位样式 */
[data-v-ee3342a2] .editable-slot[data-empty="false"] {
    background-color: #e3f2fd !important;
    color: #265eec !important;
    border: 1px solid rgba(38, 94, 236, 0.2) !important;
}
[data-v-ee3342a2] .editable-slot[data-empty="false"]:hover {
    background-color: #d1e7ff !important;
    border-color: rgba(38, 94, 236, 0.4) !important;
}
[data-v-ee3342a2] .editable-slot[data-empty="false"]:focus {
    background-color: #bbdefb !important;
    border-color: #265eec !important;
    box-shadow: 0 0 0 2px rgba(38, 94, 236, 0.2) !important;
}

/* 选项控制行 */
.input-options[data-v-ee3342a2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.option-filters[data-v-ee3342a2] {
    display: flex;
    gap: 10px;
    align-items: center;
}
.option-btn[data-v-ee3342a2] {
    border-radius: 24px;
    padding: 6px 14px !important;
    margin: 0 !important;
    border: 1px solid #e0e0e0;
    background-color: #fff;
    color: #666;
    font-size: 13px;
    transition: all 0.3s ease;
}
.option-btn[data-v-ee3342a2]:hover {
    border-color: #265eec;
    color: #265eec;
}
.option-btn.active[data-v-ee3342a2] {
    background-color: rgba(38, 94, 236, 0.1);
    border-color: #265eec;
    color: #265eec;
}

.ai-chatbot[data-v-491e6598] {
  display: block; /* 改为 block 布局，侧边栏浮动 */
  height: 100%;
  width: 100%;
  background-color: #fff;
  overflow: hidden;
  position: relative;
}

/* 独立侧边栏模式：侧边栏使用 fixed 定位 */
.ai-chatbot.independent-sidebar .chatbot-sidebar[data-v-491e6598] {
  position: fixed;
  z-index: 1000;
}

/* 主区域始终占满全部空间 */
.chatbot-main[data-v-491e6598] {
  width: 100%;
  height: 100%;
}

/* 侧边栏 - 浮动在右侧 */
.chatbot-sidebar[data-v-491e6598] {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 260px;
  display: flex;
  flex-direction: column;
  background-color: #fafafa;
  border-left: 1px solid #f0f0f0;
  z-index: 10;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.08); /* 添加阴影增强浮动效果 */
  /* 使用 CSS 过渡实现平滑展开/收起 */
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}

/* 侧边栏内容区域 - 控制内部内容滚动 */
.chatbot-sidebar[data-v-491e6598] > :not(.sidebar-collapse-btn) {
  overflow: hidden;
}

/* 侧边栏收起状态 - 向右侧滑出隐藏 */
.chatbot-sidebar.sidebar-collapsed[data-v-491e6598] {
  transform: translateX(100%);
  opacity: 0;
  pointer-events: none;
}

/* 侧边栏折叠按钮 - 相对于整个容器定位 */
.sidebar-collapse-btn[data-v-491e6598] {
  position: absolute;
  top: 16px;
  right: 255px; /* 展开状态：在侧边栏左侧外部 (260px侧边栏 + 10px间距) */
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  cursor: pointer;
  z-index: 100;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* 收起状态下按钮位置调整 - 保持在右上角 */
.sidebar-collapse-btn.btn-collapsed[data-v-491e6598] {
  right: 16px;
}
.sidebar-collapse-btn[data-v-491e6598]:hover {
  background-color: #f5f5f5;
  border-color: #265eec;
}
.sidebar-collapse-btn:hover .toggle-icon[data-v-491e6598] {
  color: #265eec;
}
.sidebar-collapse-btn[data-tooltip][data-v-491e6598]::before,
.sidebar-collapse-btn[data-tooltip][data-v-491e6598]::after {
  position: absolute;
  left: 50%;
  opacity: 0;
  pointer-events: none;
  transition: all 0.2s ease;
}
.sidebar-collapse-btn[data-tooltip][data-v-491e6598]::before {
  content: '';
  top: calc(100% + 2px);
  transform: translateX(-50%) translateY(-4px);
  border: 5px solid transparent;
  border-bottom-color: #303133;
}
.sidebar-collapse-btn[data-tooltip][data-v-491e6598]::after {
  content: attr(data-tooltip);
  top: calc(100% + 10px);
  transform: translateX(-50%) translateY(-4px);
  padding: 6px 10px;
  border-radius: 6px;
  background-color: #303133;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}
.sidebar-collapse-btn[data-tooltip][data-v-491e6598]:hover::before,
.sidebar-collapse-btn[data-tooltip][data-v-491e6598]:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* 抽屉内侧边栏 */
.drawer-sidebar[data-v-491e6598] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #fafafa;
}
.sidebar-header[data-v-491e6598] {
  padding: 16px;
}
.new-chat-btn[data-v-491e6598] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 16px;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  color: #262626;
  transition: all 0.2s;
}
.new-chat-btn[data-v-491e6598]:hover {
  background-color: #f0f5ff;
  border-color: #265eec;
  color: #265eec;
}
.new-chat-icon[data-v-491e6598] {
  width: 18px;
  height: 18px;
}
.sidebar-list[data-v-491e6598] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}
.conversation-item[data-v-491e6598] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-bottom: 4px;
}
.conversation-item[data-v-491e6598]:hover {
  background-color: #e8e8e8;
}
.conversation-item.is-active[data-v-491e6598] {
  background-color: #265eec;
  color: white;
}
.conv-icon[data-v-491e6598] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}
.conv-title[data-v-491e6598] {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
}

/* 侧边栏触发区域 */
.sidebar-toggle-area[data-v-491e6598] {
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  z-index: 100;
}

/* 侧边栏展开按钮（侧边栏收起时显示在主区域左上角） */
.sidebar-toggle[data-v-491e6598] {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* 对话状态下，按钮默认隐藏 */
.sidebar-toggle-area.chat-mode .sidebar-toggle[data-v-491e6598] {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}

/* 对话状态下，hover 触发区域时显示按钮 */
.sidebar-toggle-area.chat-mode:hover .sidebar-toggle[data-v-491e6598] {
  opacity: 1;
  pointer-events: auto;
}

/* 对话状态下常驻显示（用于某些页面需要固定入口） */
.sidebar-toggle-area.chat-mode.always-visible .sidebar-toggle[data-v-491e6598] {
  opacity: 1;
  pointer-events: auto;
}
.sidebar-toggle[data-v-491e6598]:hover {
  background-color: #f5f5f5;
  border-color: #265eec;
}
.sidebar-toggle:hover .toggle-icon[data-v-491e6598] {
  color: #265eec;
}
.toggle-icon[data-v-491e6598] {
  width: 20px;
  height: 20px;
  color: #595959;
  transition: color 0.2s;
}

/* 主区域 */
.chatbot-main[data-v-491e6598] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  position: relative;
}

/* 头部 */
.chatbot-header[data-v-491e6598] {
  padding: 16px 20px;
  background-color: #fff;
}
.chatbot-header.with-divider[data-v-491e6598] {
  border-bottom: 1px solid #e8e8e8;
}
.header-content[data-v-491e6598] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.assistant-avatar[data-v-491e6598] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}
.assistant-info[data-v-491e6598] {
  flex: 1;
}
.assistant-name[data-v-491e6598] {
  font-size: 16px;
  font-weight: 600;
  color: #262626;
}
.assistant-desc[data-v-491e6598] {
  font-size: 13px;
  color: #8c8c8c;
  margin-top: 2px;
}

/* 消息区域 */
.chatbot-messages[data-v-491e6598] {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  position: relative;
}

/* 欢迎页 */
.chatbot-welcome[data-v-491e6598] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 40px;
}
.welcome-content[data-v-491e6598] {
  text-align: center;
  max-width: 840px;
}
.welcome-logo[data-v-491e6598] {
  width: 120px;
  height: 120px;
  margin-bottom: 24px;
}
.welcome-title[data-v-491e6598] {
  font-size: 24px;
  font-weight: 600;
  color: #262626;
  margin: 0 0 12px 0;
}
.welcome-desc[data-v-491e6598] {
  font-size: 15px;
  color: #8c8c8c;
  margin: 0 0 32px 0;
}
.welcome-suggestions[data-v-491e6598] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.suggestion-item[data-v-491e6598] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background-color: #f5f5f5;
  border-radius: 24px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
  color: #595959;
}
.suggestion-item[data-v-491e6598]:hover {
  background-color: #265eec;
  color: white;
}
.suggestion-item[data-v-491e6598] svg {
  width: 16px;
  height: 16px;
}

/* 隐藏欢迎页的建议问题 */
.welcome-suggestions[data-v-491e6598] {
  display: none;
}

/* 欢迎区嵌入的输入框容器 */
.welcome-input-wrapper[data-v-491e6598] {
  width: 100%;
  max-width: 900px;
  margin-top: 24px;
}

/* 消息列表 */
.messages-list[data-v-491e6598] {
  display: flex;
  flex-direction: column;
}

/* 滚动到底部按钮 - 固定在输入框外部上方 */
.scroll-to-bottom[data-v-491e6598] {
  position: absolute;
  bottom: 165px; /* 输入框区域高度约 130px + 间距 20px */
  left: 50%;
  transform: translateX(-50%);
  width: 32px;
  height: 32px;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .15), 0 2px 4px rgba(0, 0, 0, .1);
  transition: all .2s;
  z-index: 100; /* 确保在聊天内容之上 */
}
.scroll-to-bottom[data-v-491e6598] svg {
  width: 16px;
  height: 16px;
}
.scroll-to-bottom[data-v-491e6598]:hover {
  background-color: #265eec;
  color: white;
  border-color: #265eec;
  box-shadow: 0 6px 16px rgba(38, 94, 236, .3), 0 2px 6px rgba(0, 0, 0, .1);
}

/* 底部输入区 */
.chatbot-footer[data-v-491e6598] {
  padding: 16px 20px;
  background-color: transparent;
}
.chatbot-footer.with-divider[data-v-491e6598] {
  border-top: 1px solid #e8e8e8;
}
.global-stop-btn[data-v-491e6598] {
  display: flex;
  justify-content: center;
  margin-top: 12px;
}
.footer-tip[data-v-491e6598] {
  text-align: center;
  font-size: 12px;
  color: #8c8c8c;
  margin-top: 8px;
}

/* 过渡动画 */
.fade-enter-active[data-v-491e6598],
.fade-leave-active[data-v-491e6598] {
  transition: opacity 0.2s ease;
}
.fade-enter-from[data-v-491e6598],
.fade-leave-to[data-v-491e6598] {
  opacity: 0;
}

/* 响应式 */
@media (max-width: 768px) {
.chatbot-sidebar[data-v-491e6598] {
    display: none;
}
.sidebar-toggle[data-v-491e6598] {
    left: 16px !important;
}
.chatbot-messages[data-v-491e6598] {
    padding: 12px;
    padding-top: 60px;
}
.chatbot-footer[data-v-491e6598] {
    padding: 12px;
}
}

/* TDesign Drawer 样式覆盖 */
[data-v-491e6598] .t-drawer__body {
  padding: 0;
}
.content-chat-panel-new[data-v-a644e647] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow: hidden;
}
.content-chat-panel-new[data-v-a644e647] .welcome-logo {
  width: 88px;
  height: 88px;
  margin-bottom: 20px;
}
.content-chat-panel-new[data-v-a644e647] .welcome-title {
  font-size: 20px;
}
.content-chat-panel-new[data-v-a644e647] .welcome-content {
  max-width: 840px;
}
.content-chat-panel-new[data-v-a644e647] .welcome-input-wrapper {
  max-width: 100%;
  width: 100%;
}
.widget-card[data-v-a644e647] {
  margin-top: 14px;
  padding: 14px;
  border-radius: 12px;
  background: #f8f9fc;
  border: 1px solid #e6e9f2;
}
.widget-title[data-v-a644e647] {
  margin-bottom: 10px;
  font-size: 15px;
  font-weight: 600;
  color: #1f2329;
}
.widget-form[data-v-a644e647] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.widget-field[data-v-a644e647] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.widget-field-label[data-v-a644e647] {
  font-size: 13px;
  color: #4b5565;
  font-weight: 500;
}
.required-mark[data-v-a644e647] {
  margin-left: 4px;
  color: #e34d59;
}
.widget-multi-choice[data-v-a644e647] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.widget-actions[data-v-a644e647] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.widget-actions[data-v-a644e647] .widget-action-btn {
  height: var(--el-component-size-small);
  padding: 0 12px;
}
.widget-actions[data-v-a644e647] .widget-direct-search-btn {
  border-color: #95d475;
  background: #f0f9eb;
  color: #5daf34;
  font-weight: 500;
}
.widget-actions[data-v-a644e647] .widget-direct-search-btn:hover {
  border-color: #67c23a;
  background: #e1f3d8;
  color: #529b2e;
}
.followup-options[data-v-a644e647] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-top: 12px;
}
.followup-option[data-v-a644e647] {
  padding: 8px 16px;
  background: #f0f2f5;
  border-radius: 999px;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  transition: all 0.2s;
}
.followup-option[data-v-a644e647]:hover {
  background: #e0e3e8;
  color: #409eff;
}
.followup-custom-row[data-v-a644e647] {
  width: auto;
}
.followup-option-custom[data-v-a644e647] {
  border: 1px dashed #9bb8ff;
  background: #eef3ff;
  color: #2a64ff;
}
.followup-custom-editor[data-v-a644e647] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.followup-custom-input[data-v-a644e647] {
  min-width: 240px;
}
[data-v-a644e647] .followup-pill-input .el-input__wrapper {
  border-radius: 999px;
  box-shadow: 0 0 0 1px #cfd5e0 inset;
  padding: 0 14px;
}
[data-v-a644e647] .followup-pill-input .el-input__inner {
  height: 32px;
  line-height: 32px;
}
[data-v-a644e647] .followup-pill-btn {
  height: 28px;
  border-radius: 999px;
  padding: 0 12px;
}
[data-v-a644e647] .followup-pill-btn.el-button--primary {
  border-color: #b3d8ff;
  background: #f5faff;
  color: #409eff;
}
[data-v-a644e647] .followup-pill-btn.el-button--primary:hover {
  border-color: #79bbff;
  background: #ecf5ff;
  color: #337ecc;
}
[data-v-a644e647] .followup-pill-btn-cancel {
  border-color: #d7dbe5;
  color: #5a6270;
}
.media-cards[data-v-a644e647] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 12px;
}
.media-card[data-v-a644e647] {
  display: flex;
  gap: 12px;
  padding: 12px;
  background: #f5f7fa;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
}
.media-card[data-v-a644e647]:hover {
  background: #e8ebef;
  transform: translateX(4px);
}
.media-card .media-thumbnail[data-v-a644e647] {
  position: relative;
  width: 120px;
  height: 68px;
  border-radius: 6px;
  overflow: hidden;
  background: #1f2937;
  flex-shrink: 0;
}
.media-card .media-thumbnail img[data-v-a644e647] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media-card .media-thumbnail .thumbnail-placeholder[data-v-a644e647] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
}
.media-card .media-thumbnail .play-icon[data-v-a644e647] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 36px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: all 0.2s;
}
.media-card .media-thumbnail .media-duration[data-v-a644e647] {
  position: absolute;
  bottom: 4px;
  right: 4px;
  padding: 2px 6px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 4px;
  font-size: 12px;
  color: #fff;
}
.media-card:hover .play-icon[data-v-a644e647] {
  background: rgba(64, 158, 255, 0.9);
  transform: translate(-50%, -50%) scale(1.1);
}
.media-card .media-info[data-v-a644e647] {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.media-card .media-info .media-name[data-v-a644e647] {
  font-size: 14px;
  font-weight: 500;
  color: #303133;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.media-card .media-info .media-meta[data-v-a644e647] {
  font-size: 12px;
  color: #909399;
}
.media-player-dialog[data-v-a644e647] .el-dialog__header {
  position: relative;
  z-index: 10;
}
.media-player-dialog[data-v-a644e647] .el-dialog__headerbtn {
  z-index: 10;
}
.media-player-dialog[data-v-a644e647] .el-dialog__body {
  padding: 0;
}
.media-player-container .video-player[data-v-a644e647] {
  width: 100%;
  max-height: 450px;
  background: #000;
  display: block;
}
.media-player-container .audio-player-wrapper[data-v-a644e647] {
  padding: 40px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.media-player-container .audio-player-wrapper .audio-cover[data-v-a644e647] {
  width: 120px;
  height: 120px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.media-player-container .audio-player-wrapper .audio-player[data-v-a644e647] {
  width: 100%;
  max-width: 400px;
}
.video-cards[data-v-a644e647] {
  margin-top: 16px;
  padding: 12px;
  background: #f7f8fb;
  border-radius: 12px;
}
.video-cards .video-cards-header[data-v-a644e647] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 10px 12px;
}
.video-cards .video-cards-header .header-left[data-v-a644e647] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 600;
  color: #1f2329;
}
.video-cards .video-cards-header .header-left .video-cards-title[data-v-a644e647] {
  font-weight: 600;
}
.video-cards .video-cards-header .header-left .video-cards-count[data-v-a644e647] {
  color: #8a8f99;
  font-size: 13px;
  font-weight: 400;
}
.video-cards .video-cards-header .header-right .view-all-link[data-v-a644e647] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: #a0a4ad;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.2s ease;
}
.video-cards .video-cards-header .header-right .view-all-link[data-v-a644e647]:hover {
  color: #2a64ff;
  text-decoration: none;
}
.video-cards .video-cards-scroll-container[data-v-a644e647] {
  width: 100%;
  overflow: hidden;
}
.video-cards .video-cards-scroll[data-v-a644e647] {
  display: flex;
  gap: 12px;
  padding: 0 10px 10px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
}
.video-cards .video-cards-scroll[data-v-a644e647]::-webkit-scrollbar {
  height: 6px;
}
.video-cards .video-cards-scroll[data-v-a644e647]::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 3px;
}
.video-cards .video-cards-scroll[data-v-a644e647]::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 3px;
}
.video-cards .video-cards-scroll[data-v-a644e647]::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.25);
}
.video-cards .video-card[data-v-a644e647] {
  flex-shrink: 0;
  width: 200px;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.25s ease;
  border: 1px solid rgba(18, 30, 62, 0.08);
  box-shadow: 0 6px 16px rgba(15, 19, 28, 0.08);
}
.video-cards .video-card[data-v-a644e647]:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(15, 19, 28, 0.15);
}
.video-cards .video-card:hover .play-overlay[data-v-a644e647] {
  opacity: 1;
}
.video-cards .video-card:hover .video-thumbnail img[data-v-a644e647] {
  transform: scale(1.05);
}
.video-cards .video-card .video-thumbnail[data-v-a644e647] {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  background: linear-gradient(135deg, #1f3b73, #162447);
  overflow: hidden;
}
.video-cards .video-card .video-thumbnail[data-v-a644e647]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.05) 55%, rgba(0, 0, 0, 0.65));
  pointer-events: none;
  z-index: 1;
}
.video-cards .video-card .video-thumbnail img[data-v-a644e647] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.video-cards .video-card .video-thumbnail .thumbnail-placeholder[data-v-a644e647] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1f3b73, #162447);
  font-size: 28px;
}
.video-cards .video-card .video-thumbnail .play-overlay[data-v-a644e647] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 2;
}
.video-cards .video-card .video-thumbnail .play-overlay .play-icon-circle[data-v-a644e647] {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.video-cards .video-card .video-thumbnail .video-duration[data-v-a644e647] {
  position: absolute;
  bottom: 8px;
  right: 8px;
  padding: 2px 8px;
  background: rgba(0, 0, 0, 0.55);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  z-index: 2;
}
.video-cards .video-card .video-info[data-v-a644e647] {
  padding: 12px 14px 16px;
  background: #fff;
  border-top: none;
}
.video-cards .video-card .video-info .video-title[data-v-a644e647] {
  font-size: 14px;
  font-weight: 600;
  color: #1f2329;
  margin-bottom: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.4;
}
.video-cards .video-card .video-info .video-meta[data-v-a644e647] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #8b96a3;
}
.video-cards .video-card .video-info .video-meta .video-type[data-v-a644e647] {
  flex-shrink: 0;
  background-color: #f3f5f9;
  color: #6d7485;
  border-radius: 6px;
  padding: 2px 8px;
  font-size: 12px;
}
.video-cards .video-card .video-info .video-meta .video-segments[data-v-a644e647] {
  color: #2a64ff;
  white-space: nowrap;
}
.upload-form .form-row[data-v-e768801d] {
  display: flex;
  margin-bottom: 16px;
  align-items: flex-start;
}
.upload-form .form-row .form-label[data-v-e768801d] {
  width: 70px;
  flex-shrink: 0;
  font-size: 14px;
  color: #333;
  line-height: 32px;
  font-weight: 400;
}
.upload-form .form-row .form-content[data-v-e768801d] {
  flex: 1;
}
.upload-form .form-row .form-content .form-tip[data-v-e768801d] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  font-size: 12px;
  color: #999;
}
.upload-form .upload-area[data-v-e768801d] {
  width: 100%;
  margin-top: 16px;
}
.upload-form .upload-area[data-v-e768801d] .t-upload {
  width: 100%;
}
.upload-form .upload-area[data-v-e768801d] .t-upload__dragger {
  border: 2px dashed #d0d7e2;
  border-radius: 12px;
  background: #f8f9fb;
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  box-sizing: border-box;
  padding: 0 16px;
  width: 100%;
}
.upload-form .upload-area[data-v-e768801d] .t-upload__trigger {
  width: 100%;
  display: flex;
  justify-content: center;
}
.upload-form .upload-area .upload-content[data-v-e768801d] {
  text-align: center;
  padding: 24px 0;
}
.upload-form .upload-area .upload-content.is-dragover[data-v-e768801d] {
  background: #f0f5ff;
  border-radius: 8px;
}
.upload-form .upload-area .upload-content .upload-icon[data-v-e768801d] {
  font-size: 40px;
  color: #9aa3b2;
  margin-bottom: 12px;
}
.upload-form .upload-area .upload-content .upload-title[data-v-e768801d] {
  font-size: 15px;
  line-height: 22px;
  color: #6b7280;
}
.upload-form .upload-area .upload-content .upload-title .upload-link[data-v-e768801d] {
  color: var(--td-brand-color);
  font-weight: 500;
}
.upload-form .upload-area .upload-content .upload-title .upload-sep[data-v-e768801d] {
  margin: 0 2px;
  color: #9aa3b2;
}
.upload-form .upload-area .upload-content .upload-title .upload-sub[data-v-e768801d] {
  color: #6b7280;
}
.upload-form .upload-area .upload-content .upload-desc[data-v-e768801d] {
  margin-top: 6px;
  font-size: 12px;
  color: #9aa3b2;
}
.upload-form .upload-area .file-list[data-v-e768801d] {
  margin-top: 12px;
  max-height: 120px;
  overflow-y: auto;
}
.upload-form .upload-area .file-list .file-item[data-v-e768801d] {
  display: flex;
  align-items: center;
  padding: 6px 10px;
  background: #f5f7fa;
  border-radius: 6px;
  margin-bottom: 6px;
  font-size: 13px;
}
.upload-form .upload-area .file-list .file-item .file-name[data-v-e768801d] {
  flex: 1;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.upload-form .upload-area .file-list .file-item .file-status[data-v-e768801d] {
  margin: 0 10px;
  font-size: 12px;
  color: #999;
}
.upload-form .upload-area .file-list .file-item .file-status.success[data-v-e768801d] {
  color: #52c41a;
}
.upload-form .upload-area .file-list .file-item .file-status.fail[data-v-e768801d] {
  color: #f5222d;
}
.upload-form .upload-area .file-list .file-item .file-status.progress[data-v-e768801d] {
  color: var(--td-brand-color);
}
.upload-form .upload-area .file-list .file-item .file-remove[data-v-e768801d] {
  cursor: pointer;
  color: #999;
  font-size: 14px;
}
.upload-form .upload-area .file-list .file-item .file-remove[data-v-e768801d]:hover {
  color: #f5222d;
}
.upload-form .upload-area .upload-tip[data-v-e768801d] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  padding: 8px 12px;
  background: #f0f7ff;
  border-radius: 4px;
  font-size: 12px;
  color: #0050b3;
}
.upload-form .upload-area .upload-tip[data-v-e768801d] .t-icon {
  flex-shrink: 0;
  font-size: 14px;
}
.upload-form .upload-area .file-preview-list[data-v-e768801d] {
  margin-top: 16px;
  padding: 12px;
  background: #f5f7fa;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}
.upload-form .upload-area .file-preview-list .preview-header[data-v-e768801d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.upload-form .upload-area .file-preview-list .preview-header .preview-title[data-v-e768801d] {
  font-size: 14px;
  font-weight: 500;
  color: #1f2937;
}
.upload-form .upload-area .file-preview-list .preview-header .preview-hint[data-v-e768801d] {
  font-size: 12px;
  color: #909399;
}
.upload-form .upload-area .file-preview-list .preview-items[data-v-e768801d] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 200px;
  overflow-y: auto;
}
.upload-form .upload-area .file-preview-list .preview-items .preview-item[data-v-e768801d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background: #fff;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.upload-form .upload-area .file-preview-list .preview-items .preview-item[data-v-e768801d]:hover {
  border-color: #3b82f6;
  background: #f0f7ff;
}
.upload-form .upload-area .file-preview-list .preview-items .preview-item .item-info[data-v-e768801d] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.upload-form .upload-area .file-preview-list .preview-items .preview-item .item-info .file-icon[data-v-e768801d] {
  flex-shrink: 0;
  font-size: 16px;
  color: #8b5cf6;
}
.upload-form .upload-area .file-preview-list .preview-items .preview-item .item-info .file-details[data-v-e768801d] {
  flex: 1;
  min-width: 0;
}
.upload-form .upload-area .file-preview-list .preview-items .preview-item .item-info .file-details .file-name[data-v-e768801d] {
  font-size: 13px;
  color: #1f2937;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.upload-form .upload-area .file-preview-list .preview-items .preview-item .item-info .file-details .file-size[data-v-e768801d] {
  font-size: 12px;
  color: #909399;
  margin-top: 2px;
}
.upload-form .upload-area .file-preview-list .preview-items .preview-item .delete-icon[data-v-e768801d] {
  flex-shrink: 0;
  font-size: 16px;
  color: #909399;
  cursor: pointer;
  margin-left: 8px;
  transition: all 0.2s;
}
.upload-form .upload-area .file-preview-list .preview-items .preview-item .delete-icon[data-v-e768801d]:hover {
  color: #ef4444;
  transform: scale(1.1);
}
.upload-form[data-v-e768801d] .t-radio-group.t-radio-group--variant-outline {
  background: transparent;
  border: none;
  gap: 10px;
  display: flex;
  flex-wrap: wrap;
}
.upload-form[data-v-e768801d] .t-radio-group.t-radio-group--variant-outline .t-radio-button {
  border: 1px solid #dcdfe6;
  border-radius: 18px !important;
  height: 32px;
  line-height: 30px;
  padding: 0 16px;
  font-size: 14px;
  transition: all 0.2s;
  background: #fff;
  color: #606266;
}
.upload-form[data-v-e768801d] .t-radio-group.t-radio-group--variant-outline .t-radio-button::before {
  display: none;
}
.upload-form[data-v-e768801d] .t-radio-group.t-radio-group--variant-outline .t-radio-button:hover {
  color: var(--td-brand-color);
  border-color: var(--td-brand-color);
}
.upload-form[data-v-e768801d] .t-radio-group.t-radio-group--variant-outline .t-radio-button.t-is-checked {
  background: #fff;
  border-color: var(--td-brand-color);
  color: var(--td-brand-color);
  box-shadow: none;
}
.upload-form[data-v-e768801d] {
  /* 上传目录选择器 */
}
.upload-form .directory-selector .directory-display[data-v-e768801d] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f5f7fa;
  border: 1px solid #dcdfe6;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  user-select: none;
}
.upload-form .directory-selector .directory-display[data-v-e768801d]:hover {
  background: #eef5ff;
  border-color: var(--td-brand-color);
}
.upload-form .directory-selector .directory-display .toggle-icon[data-v-e768801d] {
  font-size: 12px;
  color: #999;
  flex-shrink: 0;
  transition: all 0.2s;
}
.upload-form .directory-selector .directory-display .display-text[data-v-e768801d] {
  font-size: 13px;
  color: #333;
  flex: 1;
}
.upload-form .directory-selector .current-path[data-v-e768801d] {
  margin-top: 8px;
  font-size: 12px;
  color: #909399;
}
.upload-form .directory-selector .current-path .path-text[data-v-e768801d] {
  color: #333;
  font-weight: 500;
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] {
  margin-top: 8px;
  min-height: 200px;
  max-height: 400px;
  overflow-y: auto;
  border: 1px solid #dcdfe6;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 8px 0;
  /* Element-Plus Tree 组件样式调整 */
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] .el-tree {
  background: transparent;
  border: none;
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] .el-tree-node {
  min-height: 32px;
  line-height: 32px;
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] .el-tree-node__content {
  padding: 0 8px !important;
  height: 32px;
  line-height: 32px;
  border-bottom: 1px solid #f0f0f0;
  display: flex;
  align-items: center;
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] .el-tree-node__content:last-child {
  border-bottom: none;
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] .el-tree-node:hover > .el-tree-node__content {
  background: #f5f7fa;
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] .el-tree-node__expand-icon {
  color: #999;
  width: 24px;
  height: 32px;
  line-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 4px;
  flex-shrink: 0;
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] .el-tree-node__expand-icon.is-leaf {
  visibility: hidden;
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] .el-tree-node__label {
  font-size: 13px;
  color: #333;
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] .el-tree-node__children {
  overflow: visible;
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] {
  /* 通用缩进：每一级增加 8px 左外边距（无限级支持） */
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] .el-tree-node {
  margin-left: 0 !important;
}
.upload-form .directory-selector .directory-tree-container[data-v-e768801d] .el-tree-node__children .el-tree-node {
  margin-left: 8px !important;
}
.upload-form[data-v-e768801d] {
  /* 资源类型：分段控件视觉（机制仍是 radio-group） */
}
.upload-form[data-v-e768801d] .segmented-group.t-radio-group--variant-outline {
  gap: 0;
  flex-wrap: nowrap;
  border: 1px solid #dcdfe6;
  border-radius: 18px;
  overflow: hidden;
}
.upload-form[data-v-e768801d] .segmented-group.t-radio-group--variant-outline .t-radio-button {
  border: none;
  border-right: 1px solid #dcdfe6;
  border-radius: 0 !important;
  height: 32px;
  line-height: 30px;
  padding: 0 18px;
  background: #fff;
}
.upload-form[data-v-e768801d] .segmented-group.t-radio-group--variant-outline .t-radio-button:last-child {
  border-right: none;
}
.upload-form[data-v-e768801d] .segmented-group.t-radio-group--variant-outline .t-radio-button.t-is-checked {
  background: #eef5ff;
  color: var(--td-brand-color);
}
.upload-form .custom-checkbox-group[data-v-e768801d],
.upload-form .custom-radio-group[data-v-e768801d] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.upload-form .custom-checkbox-group .pill-checkbox[data-v-e768801d],
.upload-form .custom-checkbox-group .pill-radio[data-v-e768801d],
.upload-form .custom-radio-group .pill-checkbox[data-v-e768801d],
.upload-form .custom-radio-group .pill-radio[data-v-e768801d] {
  border: 1px solid #dcdfe6;
  border-radius: 18px;
  height: 32px;
  line-height: 30px;
  padding: 0 16px;
  cursor: pointer;
  font-size: 14px;
  color: #606266;
  background: #fff;
  transition: all 0.2s;
}
.upload-form .custom-checkbox-group .pill-checkbox[data-v-e768801d]:hover:not(.is-disabled),
.upload-form .custom-checkbox-group .pill-radio[data-v-e768801d]:hover:not(.is-disabled),
.upload-form .custom-radio-group .pill-checkbox[data-v-e768801d]:hover:not(.is-disabled),
.upload-form .custom-radio-group .pill-radio[data-v-e768801d]:hover:not(.is-disabled) {
  border-color: var(--td-brand-color);
  color: var(--td-brand-color);
}
.upload-form .custom-checkbox-group .pill-checkbox.is-checked[data-v-e768801d],
.upload-form .custom-checkbox-group .pill-radio.is-checked[data-v-e768801d],
.upload-form .custom-radio-group .pill-checkbox.is-checked[data-v-e768801d],
.upload-form .custom-radio-group .pill-radio.is-checked[data-v-e768801d] {
  background: #f0f7ff;
  border-color: var(--td-brand-color);
  color: var(--td-brand-color);
}
.upload-form .custom-checkbox-group .pill-checkbox.is-disabled[data-v-e768801d],
.upload-form .custom-checkbox-group .pill-radio.is-disabled[data-v-e768801d],
.upload-form .custom-radio-group .pill-checkbox.is-disabled[data-v-e768801d],
.upload-form .custom-radio-group .pill-radio.is-disabled[data-v-e768801d] {
  background: #f5f7fa;
  color: #c0c4cc;
  cursor: not-allowed;
}
.dialog-footer[data-v-e768801d] {
  display: flex;
  justify-content: center;
  gap: 16px;
  padding: 12px 0 4px;
  margin-top: 0 !important;
}
.dialog-footer .footer-btn[data-v-e768801d] {
  width: 100px;
  height: 36px;
  font-size: 14px;
}
.dialog-footer .cancel-btn[data-v-e768801d] {
  color: #666;
  border-color: #dcdfe6;
}
.dialog-footer .cancel-btn[data-v-e768801d]:hover {
  color: var(--td-brand-color);
  border-color: var(--td-brand-color);
}
.dialog-footer[data-v-e768801d] {
  /* loading 动画 */
}
@keyframes rotating-e768801d {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
/* 全局样式 - 用于挂载到body的弹窗 */
.resource-upload-dialog .t-dialog__ctx {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}
.resource-upload-dialog .t-dialog__position {
  position: relative;
  top: auto !important;
  margin: auto;
}
.resource-upload-dialog .t-dialog {
  border-radius: 8px;
  overflow: visible;
}
.resource-upload-dialog .t-dialog__header {
  padding: 16px 24px 12px;
  font-size: 16px;
  font-weight: 600;
  border-bottom: none;
}
.resource-upload-dialog .t-dialog__body {
  padding: 0 24px 16px;
  overflow: visible !important;
}
.resource-upload-dialog .t-dialog__body::-webkit-scrollbar {
  width: 0;
  height: 0;
}.upload-list-page[data-v-9f8f509d] {
  position: static;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
}
.upload-list-page .page-header[data-v-9f8f509d] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
  flex-shrink: 0;
}
.upload-list-page .page-header .back-link[data-v-9f8f509d] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #409eff;
  font-size: 14px;
  cursor: pointer;
  transition: opacity 0.2s;
}
.upload-list-page .page-header .back-link[data-v-9f8f509d]:hover {
  opacity: 0.7;
}
.upload-list-page .page-header .back-link .el-icon[data-v-9f8f509d] {
  font-size: 14px;
}
.upload-list-page .page-header .page-title[data-v-9f8f509d] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
}
.upload-list-page .table-container[data-v-9f8f509d] {
  flex: 1;
  overflow: auto;
  padding: 16px 20px;
}
.upload-list-page .table-container .empty-state[data-v-9f8f509d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  gap: 8px;
}
.upload-list-page .table-container .empty-state p[data-v-9f8f509d] {
  font-size: 14px;
  color: #909399;
}
.upload-list-page .table-container .upload-table[data-v-9f8f509d] {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.upload-list-page .table-container .upload-table thead[data-v-9f8f509d] {
  background: #f5f7fa;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
}
.upload-list-page .table-container .upload-table thead tr[data-v-9f8f509d] {
  height: 44px;
}
.upload-list-page .table-container .upload-table thead th[data-v-9f8f509d] {
  padding: 8px 12px;
  text-align: left;
  font-weight: 600;
  color: #1f2937;
  border-right: 1px solid #e5e7eb;
}
.upload-list-page .table-container .upload-table thead th[data-v-9f8f509d]:last-child {
  border-right: none;
}
.upload-list-page .table-container .upload-table tbody tr[data-v-9f8f509d] {
  height: 48px;
  border-bottom: 1px solid #e5e7eb;
  transition: background 0.2s;
}
.upload-list-page .table-container .upload-table tbody tr[data-v-9f8f509d]:hover {
  background: #f9fafb;
}
.upload-list-page .table-container .upload-table tbody tr.row-error[data-v-9f8f509d] {
  background: #fef0f0;
}
.upload-list-page .table-container .upload-table tbody td[data-v-9f8f509d] {
  padding: 8px 12px;
  border-right: 1px solid #e5e7eb;
}
.upload-list-page .table-container .upload-table tbody td[data-v-9f8f509d]:last-child {
  border-right: none;
}
.upload-list-page .table-container .upload-table .cell-content[data-v-9f8f509d] {
  color: #1f2937;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.upload-list-page .table-container .upload-table .col-name[data-v-9f8f509d] {
  width: 120px;
  min-width: 120px;
}
.upload-list-page .table-container .upload-table .col-resource-id[data-v-9f8f509d] {
  width: 100px;
  min-width: 100px;
}
.upload-list-page .table-container .upload-table .col-type[data-v-9f8f509d] {
  width: 80px;
  min-width: 80px;
}
.upload-list-page .table-container .upload-table .col-size[data-v-9f8f509d] {
  width: 80px;
  min-width: 80px;
}
.upload-list-page .table-container .upload-table .col-duration[data-v-9f8f509d] {
  width: 80px;
  min-width: 80px;
}
.upload-list-page .table-container .upload-table .col-upload-time[data-v-9f8f509d] {
  width: 140px;
  min-width: 140px;
}
.upload-list-page .table-container .upload-table .col-progress[data-v-9f8f509d] {
  width: 120px;
  min-width: 120px;
}
.upload-list-page .table-container .upload-table .col-progress .progress-bar[data-v-9f8f509d] {
  height: 4px;
  background: #e5e7eb;
  border-radius: 2px;
  overflow: hidden;
}
.upload-list-page .table-container .upload-table .col-progress .progress-bar .progress-fill[data-v-9f8f509d] {
  height: 100%;
  background: #409eff;
  transition: width 0.3s;
}
.upload-list-page .table-container .upload-table .col-progress .progress-bar .progress-fill.progress-success[data-v-9f8f509d] {
  background: #67c23a;
}
.upload-list-page .table-container .upload-table .col-progress .progress-bar .progress-fill.progress-fail[data-v-9f8f509d] {
  background: #f56c6c;
}
.upload-list-page .table-container .upload-table .col-percentage[data-v-9f8f509d] {
  width: 60px;
  min-width: 60px;
  text-align: right;
}
.upload-list-page .table-container .upload-table .col-status[data-v-9f8f509d] {
  width: 100px;
  min-width: 100px;
}
.upload-list-page .table-container .upload-table .col-status .status-badge[data-v-9f8f509d] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
}
.upload-list-page .table-container .upload-table .col-status .status-badge.status-uploading[data-v-9f8f509d] {
  color: #409eff;
  background: #f0f7ff;
}
.upload-list-page .table-container .upload-table .col-status .status-badge.status-uploading .loading-icon[data-v-9f8f509d] {
  animation: spin-9f8f509d 1s linear infinite;
}
.upload-list-page .table-container .upload-table .col-status .status-badge.status-success[data-v-9f8f509d] {
  color: #67c23a;
  background: #f0f9ff;
}
.upload-list-page .table-container .upload-table .col-status .status-badge.status-fail[data-v-9f8f509d] {
  color: #f56c6c;
  background: #fef0f0;
}
.upload-list-page .table-container .upload-table .col-status .status-badge.status-waiting[data-v-9f8f509d] {
  color: #909399;
  background: #f5f7fa;
}
.upload-list-page .table-container .upload-table .col-actions[data-v-9f8f509d] {
  width: 120px;
  min-width: 120px;
}
.upload-list-page .table-container .upload-table .col-actions .cell-actions[data-v-9f8f509d] {
  display: flex;
  gap: 8px;
}
.upload-list-page .table-container .upload-table .col-actions .cell-actions[data-v-9f8f509d] .el-button {
  padding: 0;
  font-size: 12px;
}
@keyframes spin-9f8f509d {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}.upload-floating[data-v-d0b6b10c] {
  position: fixed;
  width: 380px;
  max-height: 500px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  z-index: 999;
  animation: slideUp-d0b6b10c 0.3s ease;
  transition: box-shadow 0.2s ease;
}
.upload-floating .floating-header[data-v-d0b6b10c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
  cursor: move;
  user-select: none;
  transition: background-color 0.2s ease;
}
.upload-floating .floating-header.is-dragging[data-v-d0b6b10c] {
  background: #f9fafb;
}
.upload-floating .floating-header[data-v-d0b6b10c]:hover {
  background: #f5f7fa;
}
.upload-floating .floating-header .header-title[data-v-d0b6b10c] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
}
.upload-floating .floating-header .header-title .title-text[data-v-d0b6b10c] {
  color: #1f2937;
}
.upload-floating .floating-header .header-title .count[data-v-d0b6b10c] {
  color: #409eff;
  font-weight: 500;
}
.upload-floating .floating-header .header-actions[data-v-d0b6b10c] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.upload-floating .floating-header .header-actions .el-icon[data-v-d0b6b10c] {
  cursor: pointer;
  color: #909399;
  font-size: 16px;
  transition: color 0.2s;
}
.upload-floating .floating-header .header-actions .el-icon[data-v-d0b6b10c]:hover {
  color: #606266;
}
.upload-floating .floating-header .header-actions .expand-btn[data-v-d0b6b10c]:hover {
  color: #409eff;
}
.upload-floating .floating-header .header-actions .query-btn[data-v-d0b6b10c]:hover {
  color: #409eff;
}
.upload-floating .floating-header .header-actions .close-btn[data-v-d0b6b10c]:hover {
  color: #f56c6c;
}
.upload-floating .floating-content[data-v-d0b6b10c] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
  min-height: 100px;
}
.upload-floating .floating-content .upload-list[data-v-d0b6b10c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.upload-floating .floating-content .upload-item[data-v-d0b6b10c] {
  padding: 12px;
  background: #f9fafb;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
}
.upload-floating .floating-content .upload-item[data-v-d0b6b10c]:hover {
  background: #f5f7fa;
}
.upload-floating .floating-content .upload-item .item-info[data-v-d0b6b10c] {
  margin-bottom: 8px;
}
.upload-floating .floating-content .upload-item .item-info .file-name[data-v-d0b6b10c] {
  font-size: 13px;
  font-weight: 500;
  color: #1f2937;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 4px;
}
.upload-floating .floating-content .upload-item .item-info .file-meta[data-v-d0b6b10c] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.upload-floating .floating-content .upload-item .item-info .file-meta .file-size[data-v-d0b6b10c] {
  color: #909399;
}
.upload-floating .floating-content .upload-item .item-info .file-meta .status-uploading[data-v-d0b6b10c] {
  display: flex;
  align-items: center;
  gap: 2px;
  color: #409eff;
  font-weight: 500;
}
.upload-floating .floating-content .upload-item .item-info .file-meta .status-uploading .loading-icon[data-v-d0b6b10c] {
  font-size: 12px;
  animation: spin-d0b6b10c 1s linear infinite;
}
.upload-floating .floating-content .upload-item .item-info .file-meta .status-waiting[data-v-d0b6b10c] {
  color: #909399;
}
.upload-floating .floating-content .upload-item .item-progress[data-v-d0b6b10c] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.upload-floating .floating-content .upload-item .item-progress .progress-bar[data-v-d0b6b10c] {
  flex: 1;
  height: 4px;
  background: #e5e7eb;
  border-radius: 2px;
  overflow: hidden;
}
.upload-floating .floating-content .upload-item .item-progress .progress-bar .progress-fill[data-v-d0b6b10c] {
  height: 100%;
  background: #409eff;
  transition: width 0.3s;
}
.upload-floating .floating-content .upload-item .item-progress .progress-text[data-v-d0b6b10c] {
  font-size: 11px;
  color: #606266;
  min-width: 35px;
  text-align: right;
  font-weight: 500;
}
.upload-floating .floating-footer[data-v-d0b6b10c] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 12px;
  border-top: 1px solid #e5e7eb;
  background: #f5f7fa;
  flex-shrink: 0;
  font-size: 11px;
  color: #606266;
}
.upload-floating .floating-footer .stat[data-v-d0b6b10c] {
  white-space: nowrap;
}
.upload-floating .floating-footer .separator[data-v-d0b6b10c] {
  color: #d3d4d6;
}
@keyframes slideUp-d0b6b10c {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes spin-d0b6b10c {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
/* video.js 播放器容器 */
[data-v-5d2e5089] .video-js {
  width: 100% !important;
  height: 100% !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000;
  /* 启用硬件加速 */
  will-change: transform;
  transform: translateZ(0);
.vjs-tech {
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    max-height: 100%;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    object-fit: contain;
}

  /* 隐藏默认控制栏 */
.vjs-control-bar {
    display: none !important;
}

  /* 保留大播放按钮 */
.vjs-big-play-button {
    display: none !important;
}
}
.video-controls[data-v-8d6e84ab] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 60%, rgba(0, 0, 0, 0) 100%);
  transition: opacity 0.3s ease;
  z-index: 10;
  padding: 12px 12px 8px 12px;
  opacity: 1;
  visibility: visible;
}
.video-controls.hidden[data-v-8d6e84ab] {
  opacity: 0;
  visibility: hidden;
}
.video-slider[data-v-8d6e84ab] {
  height: 4px;
  position: relative;
  margin: 0;
  cursor: pointer;
}
.video-slider[data-v-8d6e84ab]::before {
  content: "";
  position: absolute;
  top: -4px;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  pointer-events: auto;
}
.video-slider[data-v-8d6e84ab] .t-slider {
  height: 4px;
  padding: 0;
}
.video-slider[data-v-8d6e84ab] .t-slider .t-slider__rail {
  background-color: rgba(255, 255, 255, 0.2);
  height: 4px;
  border-radius: 2px;
}
.video-slider[data-v-8d6e84ab] .t-slider .t-slider__track {
  background-color: #2a64ff;
  height: 4px;
  border-radius: 2px;
}
.video-slider[data-v-8d6e84ab] .t-slider .t-slider__button {
  background-color: #fff;
  border: none;
  width: 12px;
  height: 12px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  transform: scale(0);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.video-slider[data-v-8d6e84ab] .t-slider .t-slider__track-container {
  height: 4px;
}
.video-slider[data-v-8d6e84ab]:hover .t-slider__button {
  transform: scale(1);
}
.progress-time-tooltip[data-v-8d6e84ab] {
  position: absolute;
  bottom: 100%;
  transform: translateX(-50%);
  background-color: rgba(0, 0, 0, 0.9);
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  pointer-events: none;
  z-index: 10;
  margin-bottom: 8px;
}
.progress-time-tooltip[data-v-8d6e84ab]::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(0, 0, 0, 0.9);
}
.video-operator[data-v-8d6e84ab] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4px;
  color: #fff;
  font-size: 13px;
  height: 34px;
}
.video-left[data-v-8d6e84ab],
.video-right[data-v-8d6e84ab] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: 0;
}
.video-tools-group[data-v-8d6e84ab] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.video-control[data-v-8d6e84ab] {
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 4px;
  background-color: rgba(255, 255, 255, 0);
  border: 1px solid transparent;
  user-select: none;
}
.video-control[data-v-8d6e84ab] svg {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
  transition: color 0.3s ease;
}
.video-control[data-v-8d6e84ab]:hover {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.2);
}
.video-control[data-v-8d6e84ab]:hover svg {
  color: #fff;
}
.video-control[data-v-8d6e84ab]:active {
  background-color: rgba(255, 255, 255, 0.18);
  transform: scale(0.95);
}
.video-time[data-v-8d6e84ab] {
  display: flex;
  align-items: center;
  gap: 2px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.9);
  font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
  font-weight: 500;
  letter-spacing: 0.3px;
  user-select: none;
}
.video-speed[data-v-8d6e84ab] {
  position: relative;
  width: 26px;
  height: 26px;
  padding: 0;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  white-space: nowrap;
  background-color: rgba(255, 255, 255, 0);
  border: 1px solid transparent;
  user-select: none;
}
.video-speed[data-v-8d6e84ab]::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 12px;
  pointer-events: auto;
  z-index: 999;
}
.video-speed[data-v-8d6e84ab]:hover, .video-speed[data-v-8d6e84ab]:has(> .video-speed-modal:not([style*="display: none"])) {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.video-speed:hover .video-speed-modal[data-v-8d6e84ab], .video-speed:has(> .video-speed-modal:not([style*="display: none"])) .video-speed-modal[data-v-8d6e84ab] {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
  pointer-events: auto !important;
}
.video-speed[data-v-8d6e84ab]:active {
  background-color: rgba(255, 255, 255, 0.18);
  transform: scale(0.95);
}
.video-speed .video-speed-modal[data-v-8d6e84ab] {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: rgba(20, 20, 20, 0.95);
  border-radius: 6px;
  overflow: hidden;
  min-width: 72px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.2s ease;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.video-speed .video-speed-modal[data-v-8d6e84ab]::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  background: rgba(20, 20, 20, 0.95);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.video-speed .video-speed-modal-content[data-v-8d6e84ab] {
  list-style: none;
  margin: 0;
  padding: 4px;
  position: relative;
  z-index: 1;
}
.video-speed .video-speed-modal-content .modal-item[data-v-8d6e84ab] {
  padding: 6px 12px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 13px;
  text-align: center;
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.8);
}
.video-speed .video-speed-modal-content .modal-item[data-v-8d6e84ab]:hover {
  background-color: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.video-speed .video-speed-modal-content .modal-item.modal-selected[data-v-8d6e84ab] {
  background-color: rgba(42, 100, 255, 0.2);
  color: #2a64ff;
}
.video-speed .video-speed-modal-content .modal-item.frame-control-item[data-v-8d6e84ab] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  padding: 8px 12px;
  font-size: 13px;
  white-space: nowrap;
}
.video-speed .video-speed-modal-content .modal-item.frame-control-item span[data-v-8d6e84ab] {
  margin-right: 8px;
}
.video-speed .video-speed-modal-content .modal-item.frame-control-item[data-v-8d6e84ab] svg {
  width: 14px;
  height: 14px;
  opacity: 0.8;
}
.video-speed .video-speed-modal-content .modal-item.frame-control-item[data-v-8d6e84ab]:hover svg {
  opacity: 1;
}
.video-music[data-v-8d6e84ab] {
  position: relative;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 4px;
  background-color: rgba(255, 255, 255, 0);
  border: 1px solid transparent;
  user-select: none;
}
.video-music[data-v-8d6e84ab]::before {
  content: "";
  position: absolute;
  top: -16px;
  bottom: -120px;
  left: -20px;
  right: -20px;
  background: transparent;
  z-index: 999;
  pointer-events: auto;
}
.video-music[data-v-8d6e84ab]:hover {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.2);
}
.video-music:hover .video-music-modal[data-v-8d6e84ab] {
  display: block !important;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.video-music.is-dragging[data-v-8d6e84ab] {
  background-color: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.3);
}
.video-music.is-dragging .video-music-modal[data-v-8d6e84ab] {
  display: block !important;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.video-music[data-v-8d6e84ab] svg {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
  transition: color 0.3s ease;
}
.video-music[data-v-8d6e84ab]:hover svg {
  color: #fff;
}
.video-music .video-music-modal[data-v-8d6e84ab] {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: rgba(20, 20, 20, 0.95);
  border-radius: 6px;
  padding: 12px 8px;
  width: 36px;
  height: 120px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
  z-index: 1000;
  opacity: 0;
  transition: all 0.2s ease;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.video-music .video-music-modal[data-v-8d6e84ab]::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  background: rgba(20, 20, 20, 0.95);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.video-music .video-music-modal-content[data-v-8d6e84ab] {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.video-music .video-music-modal-content[data-v-8d6e84ab] .t-slider {
  width: 100% !important;
  height: 96px !important;
  padding: 0;
}
.video-music .video-music-modal-content[data-v-8d6e84ab] .t-slider .t-slider__rail {
  background-color: rgba(255, 255, 255, 0.2) !important;
  width: 4px !important;
  margin: 0 auto;
  border-radius: 2px;
}
.video-music .video-music-modal-content[data-v-8d6e84ab] .t-slider .t-slider__track {
  background-color: #2a64ff !important;
  width: 4px !important;
  border-radius: 2px;
}
.video-music .video-music-modal-content[data-v-8d6e84ab] .t-slider .t-slider__button {
  background-color: #fff !important;
  border: none !important;
  width: 10px !important;
  height: 10px !important;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
}
.video-screen[data-v-8d6e84ab] {
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 4px;
  background-color: rgba(255, 255, 255, 0);
  border: 1px solid transparent;
  user-select: none;
}
.video-screen[data-v-8d6e84ab] svg {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
  transition: color 0.3s ease;
}
.video-screen[data-v-8d6e84ab]:hover {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.2);
}
.video-screen[data-v-8d6e84ab]:hover svg {
  color: #fff;
}
.video-screen[data-v-8d6e84ab]:active {
  background-color: rgba(255, 255, 255, 0.18);
  transform: scale(0.95);
}.video-play-operator[data-v-af2edcf3] {
  display: flex;
  flex-direction: column;
}
.tmvp-video-crop[data-v-af2edcf3] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.timeline-ruler[data-v-af2edcf3] {
  position: relative;
  z-index: 30;
  margin: 0 10px;
  user-select: none;
}
.timeline-track-layer[data-v-af2edcf3] {
  position: relative;
}
.timeline-track-layer[data-v-af2edcf3] [data-cursor-container] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 40;
  height: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.timeline-track-layer[data-v-af2edcf3] [data-cursor-pointer] {
  top: -15px;
}
.timeline-labels[data-v-af2edcf3] {
  position: relative;
  z-index: 2;
  height: 20px;
  color: #5f6572;
  font-size: 12px;
  line-height: 20px;
  font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
  pointer-events: none;
}
.timeline-label[data-v-af2edcf3] {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  white-space: nowrap;
  background: #fff;
  padding: 0 2px;
}
.timeline-label.is-first[data-v-af2edcf3] {
  transform: translateX(0);
}
.timeline-label.is-last[data-v-af2edcf3] {
  transform: translateX(-100%);
}
.timeline-ticks[data-v-af2edcf3] {
  position: relative;
  height: 10px;
  border-bottom: 1px solid #e7ecf4;
}
.timeline-tick[data-v-af2edcf3] {
  position: absolute;
  bottom: 0;
  width: 1px;
  height: 4px;
  background: #d5dbe7;
  transform: translateX(-0.5px);
}
.timeline-tick.is-major[data-v-af2edcf3] {
  height: 8px;
  background: #b8c2d3;
}
.retrieve-result-panel[data-v-af2edcf3] {
  min-width: 320px;
  max-width: 420px;
  padding: 8px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}
.retrieve-result-item[data-v-af2edcf3] {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
  color: #303133;
  font-size: 14px;
  line-height: 20px;
}
.retrieve-result-item[data-v-af2edcf3]:hover {
  background: #f5f7fa;
}
.retrieve-result-label[data-v-af2edcf3] {
  flex-shrink: 0;
  color: #111827;
}
.retrieve-result-time[data-v-af2edcf3] {
  color: #111827;
}.person-box[data-v-d98fe9d3] {
  position: absolute;
  border: 2px solid #409eff;
  border-radius: 2px;
  box-sizing: border-box;
  pointer-events: none;
}
.person-box.person-box--interactive[data-v-d98fe9d3] {
  pointer-events: auto;
  cursor: pointer;
}
.person-name-tag[data-v-d98fe9d3] {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translateY(100%);
  background-color: #409eff;
  color: #ffffff;
  padding: 4px 10px;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  border-radius: 0 0 4px 4px;
  pointer-events: auto;
  cursor: default;
  user-select: none;
}
.person-tooltip[data-v-d98fe9d3] {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 8px;
  background-color: #ffffff;
  color: #333333;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: normal;
  white-space: nowrap;
  border-radius: 4px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  z-index: 100;
}
.person-tooltip[data-v-d98fe9d3]::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: #ffffff;
}
.fade-enter-active[data-v-d98fe9d3],
.fade-leave-active[data-v-d98fe9d3] {
  transition: opacity 0.2s ease;
}
.fade-enter-from[data-v-d98fe9d3],
.fade-leave-to[data-v-d98fe9d3] {
  opacity: 0;
}.face-marker-container[data-v-eba60105] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  overflow: visible;
  pointer-events: none;
}
.face-marker-container .time-label[data-v-eba60105] {
  position: absolute;
  bottom: 8px;
  left: 8px;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 4px 8px;
  border-radius: 3px;
  font-size: 12px;
  white-space: nowrap;
  pointer-events: none;
  z-index: 11;
}.video-clip-controller[data-v-f1aa5437] {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.video-player-section[data-v-f1aa5437] {
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.video-player-section[data-v-f1aa5437] > div {
  width: 100%;
  height: 100%;
}
[data-v-f1aa5437] .face-markers-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
  z-index: 100 !important;
}
[data-v-f1aa5437] .face-markers-overlay :deep(.face-marker-container) {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
}
[data-v-f1aa5437] .face-markers-overlay :deep(.face-marker) {
  cursor: pointer;
  pointer-events: auto;
}
.download-tool-button[data-v-f1aa5437] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: rgba(255, 255, 255, 0);
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 4px;
  padding: 0;
  flex-shrink: 0;
  user-select: none;
}
.download-tool-button .download-icon[data-v-f1aa5437] {
  width: 18px;
  height: 18px;
  color: rgba(255, 255, 255, 0.8);
  transition: color 0.3s ease;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.download-tool-button[data-v-f1aa5437]:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.2);
}
.download-tool-button:hover .download-icon[data-v-f1aa5437] {
  color: #fff;
}
.download-tool-button[data-v-f1aa5437]:active {
  background: rgba(255, 255, 255, 0.18);
  transform: scale(0.95);
}
.crop-section[data-v-f1aa5437] {
  width: 100%;
  flex-shrink: 0;
  animation: slideDown-f1aa5437 0.3s ease;
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 0 0 8px 8px;
}
@keyframes slideDown-f1aa5437 {
from {
    opacity: 0;
    transform: translateY(-10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}.basic-info-container[data-v-a0953f04] {
  padding: 16px 0;
}.custom-container[data-v-d6f1dc0c] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px 0;
}
.add-field-button[data-v-d6f1dc0c] {
  align-self: flex-start;
  border-radius: 16px;
  font-size: 14px;
  transition: all 0.3s ease;
}
.add-field-button[data-v-d6f1dc0c] .t-button__content {
  padding: 4px 16px;
}
.add-field-button[data-v-d6f1dc0c]:hover {
  background-color: rgba(64, 158, 255, 0.08);
  border-color: #409eff;
}
.field-list[data-v-d6f1dc0c] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px;
}
.field-row[data-v-d6f1dc0c] {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
}
.field-row[data-v-d6f1dc0c]:hover {
  background-color: rgba(0, 0, 0, 0.02);
}
.field-row[data-v-d6f1dc0c]:last-child {
  border-bottom: none;
}
.field-label[data-v-d6f1dc0c] {
  width: 120px;
  flex-shrink: 0;
  font-size: 14px;
  color: #8b96a3;
  padding-top: 2px;
  font-weight: 500;
}
.field-value[data-v-d6f1dc0c] {
  flex: 1;
  font-size: 14px;
  color: #1f2329;
  word-break: break-all;
  line-height: 1.6;
  padding: 0 8px;
}
.delete-button[data-v-d6f1dc0c] {
  font-size: 14px;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  border: none !important;
  background: none !important;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  color: #e34d59 !important;
  transition: all 0.2s ease;
}
.delete-button[data-v-d6f1dc0c]:hover {
  color: #c9353f !important;
  background-color: rgba(227, 77, 89, 0.08) !important;
  border-radius: 4px;
}
.delete-button[data-v-d6f1dc0c]:active {
  background-color: rgba(227, 77, 89, 0.12) !important;
}
.delete-button[data-v-d6f1dc0c] .t-button__content {
  padding: 0 !important;
}
.delete-confirm-text[data-v-d6f1dc0c] {
  padding: 12px 0;
  font-size: 14px;
  color: #1f2329;
  line-height: 1.6;
  margin: 0;
}.download-btn[data-v-f6a7daa7] {
  font-size: 12px !important;
}.download-btn[data-v-c4e50acf] {
  font-size: 12px !important;
}.image-theme-layer-container[data-v-2f2ec082] {
  padding: 16px 0;
}
.empty-value[data-v-2f2ec082] {
  color: #c0c4cc;
  font-size: 14px;
}
.tag-item[data-v-2f2ec082] {
  display: inline-block;
  padding: 4px 12px;
  background-color: #ffffff;
  color: #000000;
  font-size: 14px;
  border: 1px solid #dcdfe6;
  border-radius: 16px;
  word-break: break-all;
  white-space: normal;
}.image-content-layer-container[data-v-a3d6130a] {
  padding: 16px 0;
}
.empty-value[data-v-a3d6130a] {
  color: #c0c4cc;
  font-size: 14px;
}
.tag-item[data-v-a3d6130a] {
  display: inline-block;
  padding: 4px 12px;
  background-color: #ffffff;
  color: #000000;
  font-size: 14px;
  border: 1px solid #dcdfe6;
  border-radius: 16px;
  word-break: break-all;
  white-space: normal;
}
.tag-item.tag-item--clickable[data-v-a3d6130a] {
  cursor: pointer;
  transition: all 0.2s ease;
}
.tag-item.tag-item--clickable[data-v-a3d6130a]:hover {
  background-color: #e6f0ff;
  border-color: #409eff;
  color: #409eff;
}
.tag-item.tag-item--active[data-v-a3d6130a] {
  background-color: #409eff;
  border-color: #409eff;
  color: #ffffff;
}
.tag-item.tag-item--active[data-v-a3d6130a]:hover {
  background-color: #337ecc;
  border-color: #337ecc;
  color: #ffffff;
}.image-logic-layer-container[data-v-cf73a9e9] {
  padding: 16px 0;
  position: relative;
}
.edit-mode-toggle[data-v-cf73a9e9] {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
}
.empty-state[data-v-cf73a9e9] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  color: #8b96a3;
  font-size: 14px;
}
.content-info-panel[data-v-a4068759] {
  width: 100%;
  background: #fff;
  border-radius: 8px;
  padding: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.content-info-panel .merge-action-btn[data-v-a4068759],
.content-info-panel .split-action-btn[data-v-a4068759] {
  position: absolute;
  right: 12px;
  top: 6px;
  z-index: 20;
}
.content-info-panel .merge-action-btn .action-btn[data-v-a4068759],
.content-info-panel .split-action-btn .action-btn[data-v-a4068759] {
  color: #909399;
  background: transparent;
  border: none;
}
.content-info-panel .merge-action-btn .action-btn[data-v-a4068759]:hover,
.content-info-panel .split-action-btn .action-btn[data-v-a4068759]:hover {
  color: #409eff;
  background: #f0f2f5;
}
.content-info-panel[data-v-a4068759] .el-tabs {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.content-info-panel[data-v-a4068759] .el-tabs__header {
  margin-bottom: 0;
  border-bottom: none;
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fff;
  flex-shrink: 0;
  padding: 0 16px;
  padding-bottom: 12px;
}
.content-info-panel[data-v-a4068759] .el-tabs__header.is-top {
  border-bottom: none;
}
.content-info-panel.has-header-action[data-v-a4068759] .el-tabs__header {
  padding-right: 56px;
}
.content-info-panel[data-v-a4068759] .el-tabs__nav {
  font-size: 13px;
}
.content-info-panel[data-v-a4068759] .el-tabs__item {
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1;
}
.content-info-panel[data-v-a4068759] .el-tabs__content {
  padding: 0;
  flex: 1;
  overflow-y: auto;
  /* 滚动条样式 - 宽度 4px */
}
.content-info-panel[data-v-a4068759] .el-tabs__content::-webkit-scrollbar {
  width: 4px;
}
.content-info-panel[data-v-a4068759] .el-tabs__content::-webkit-scrollbar-track {
  background: transparent;
}
.content-info-panel[data-v-a4068759] .el-tabs__content::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 2px;
}
.content-info-panel[data-v-a4068759] .el-tabs__content::-webkit-scrollbar-thumb:hover {
  background: #999;
}
.content-info-panel[data-v-a4068759] .el-tab-pane {
  display: flex;
  flex-direction: column;
}
.content-info-panel .tab-content[data-v-a4068759] {
  padding: 0 16px;
  line-height: 1.6;
  color: #909399;
  font-size: 14px;
  position: relative;
  display: flex;
  flex-direction: column;
}.program-layer-container[data-v-ab23820a] {
  display: flex;
  flex-direction: column;
  padding: 16px 0;
  gap: 16px;
}
.cover-wrapper[data-v-ab23820a] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
}
.cover-title[data-v-ab23820a] {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  white-space: nowrap;
  flex-shrink: 0;
}
.cover-section[data-v-ab23820a] {
  margin-bottom: 0;
  border-radius: 8px;
  overflow: hidden;
  background: #f5f7fa;
  height: auto;
  max-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cover-section .cover-image[data-v-ab23820a] {
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-height: 100px;
}
.section-header[data-v-ab23820a] {
  font-size: 14px;
  font-weight: 500;
  color: #1f2937;
  margin-bottom: 12px;
  width: 100%;
  flex-shrink: 0;
}
.info-content[data-v-ab23820a] {
  font-size: 14px;
  color: #606266;
  line-height: 1.5;
  word-break: break-word;
  flex: auto;
  min-width: 0;
}
.events-list[data-v-ab23820a] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.events-list .event-item[data-v-ab23820a] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px;
  background: #f9f9f9;
  border-radius: 6px;
  transition: all 0.2s ease;
  min-width: 0;
}
.events-list .event-item[data-v-ab23820a]:hover {
  background: #f5f7fa;
}
.events-list .event-item .event-time[data-v-ab23820a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  color: #0052d9;
}
.events-list .event-item .event-time .time-text[data-v-ab23820a] {
  display: inline-block;
  cursor: pointer;
  transition: color 0.2s ease;
}
.events-list .event-item .event-time .time-text[data-v-ab23820a]:hover {
  color: #0052d9;
}
.events-list .event-item .event-time .time-separator[data-v-ab23820a] {
  display: inline-block;
  margin: 0 2px;
  color: #0052d9;
}
.events-list .event-item .event-content[data-v-ab23820a] {
  flex: 1;
  min-width: 0;
}
.events-list .event-item .event-content .event-text[data-v-ab23820a] {
  margin: 0;
  font-size: 14px;
  color: #1f2937;
  line-height: 1.6;
  word-break: break-word;
}
.events-list .event-item .event-actions[data-v-ab23820a] {
  display: flex;
  gap: 6px;
  align-self: flex-end;
}
.events-list .event-item .event-actions .action-btn[data-v-ab23820a] {
  width: 24px;
  height: 24px;
  padding: 2px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.2s ease;
  color: #606266;
}
.events-list .event-item .event-actions .action-btn svg[data-v-ab23820a] {
  width: 16px;
  height: 16px;
}
.events-list .event-item .event-actions .action-btn.search-btn[data-v-ab23820a]:hover {
  background: #e8f1ff;
  color: #0052d9;
}
.events-list .event-item .event-actions .action-btn.edit-btn[data-v-ab23820a]:hover {
  background: #fff4e6;
  color: #ff9a00;
}
.events-list .event-item .event-actions .action-btn.delete-btn[data-v-ab23820a]:hover {
  background: #fce8e8;
  color: #ef4444;
}
.keywords-tags[data-v-ab23820a] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.keywords-tags .keyword-tag[data-v-ab23820a] {
  display: inline-block;
  padding: 2px 8px;
  background: #e8f1ff;
  color: #0052d9;
  border-radius: 24px;
  font-size: 12px;
  border: 1px solid #b3d8ff;
  cursor: pointer;
}.clip-layer .empty-state[data-v-27294c43] {
  padding: 24px;
  text-align: center;
  color: #909399;
  font-size: 14px;
}
.clip-layer .clips-list[data-v-27294c43] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.clip-layer .clips-list .clip-item[data-v-27294c43] {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.clip-layer .clips-list .clip-item .clip-header[data-v-27294c43] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #f9f9f9;
  border-bottom: 1px solid #e5e7eb;
  cursor: pointer;
  transition: background 0.2s ease;
}
.clip-layer .clips-list .clip-item .clip-header[data-v-27294c43]:hover {
  background: #f5f5f5;
}
.clip-layer .clips-list .clip-item .clip-header .clip-title[data-v-27294c43] {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  flex: 1;
}
.clip-layer .clips-list .clip-item .clip-header .expand-btn[data-v-27294c43] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 12px;
  color: #0052d9;
  transition: all 0.2s ease;
}
.clip-layer .clips-list .clip-item .clip-header .expand-btn svg[data-v-27294c43] {
  width: 16px;
  height: 16px;
  transition: transform 0.2s ease;
}
.clip-layer .clips-list .clip-item .clip-header .expand-btn.expanded svg[data-v-27294c43] {
  transform: rotate(180deg);
}
.clip-layer .clips-list .clip-item .clip-header .expand-btn[data-v-27294c43]:hover {
  color: #003399;
}
.clip-layer .clips-list .clip-item .clip-content[data-v-27294c43] {
  padding: 16px;
  display: flex;
  gap: 16px;
}
@container (max-width: 499px) {
.clip-layer .clips-list .clip-item .clip-content[data-v-27294c43] {
    flex-direction: column;
}
}
.clip-layer .clips-list .clip-item .clip-content .clip-thumbnail[data-v-27294c43] {
  flex-shrink: 0;
}
.clip-layer .clips-list .clip-item .clip-content .clip-thumbnail .thumbnail-wrapper[data-v-27294c43] {
  position: relative;
  width: 200px;
  height: 120px;
  background: #f5f5f5;
  border-radius: 8px;
  overflow: hidden;
}
@container (max-width: 499px) {
.clip-layer .clips-list .clip-item .clip-content .clip-thumbnail .thumbnail-wrapper[data-v-27294c43] {
    width: 100%;
}
}
.clip-layer .clips-list .clip-item .clip-content .clip-thumbnail .thumbnail-wrapper img[data-v-27294c43] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.clip-layer .clips-list .clip-item .clip-content .clip-thumbnail .thumbnail-wrapper .placeholder-image[data-v-27294c43] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e5e7eb;
}
.clip-layer .clips-list .clip-item .clip-content .clip-thumbnail .thumbnail-wrapper .placeholder-image svg[data-v-27294c43] {
  width: 48px;
  height: 48px;
  color: #9ca3af;
}
.clip-layer .clips-list .clip-item .clip-content .clip-thumbnail .thumbnail-wrapper .play-button[data-v-27294c43] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.clip-layer .clips-list .clip-item .clip-content .clip-thumbnail .thumbnail-wrapper .play-button svg[data-v-27294c43] {
  width: 24px;
  height: 24px;
  color: #0052d9;
  margin-left: 2px;
}
.clip-layer .clips-list .clip-item .clip-content .clip-thumbnail .thumbnail-wrapper .play-button[data-v-27294c43]:hover {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.clip-layer .clips-list .clip-item .clip-content .clip-thumbnail .thumbnail-wrapper .duration-badge[data-v-27294c43] {
  position: absolute;
  bottom: 8px;
  right: 8px;
  padding: 4px 8px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 12px;
  border-radius: 6px;
}
.clip-layer .clips-list .clip-item .clip-content .clip-details[data-v-27294c43] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row[data-v-27294c43] {
  display: flex;
  gap: 12px;
  font-size: 13px;
}
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .detail-label[data-v-27294c43] {
  flex-shrink: 0;
  font-weight: 600;
  color: #606266;
  min-width: 80px;
}
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .detail-value[data-v-27294c43] {
  flex: 1;
  color: #1f2937;
  line-height: 1.5;
  word-break: break-word;
}
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .detail-value.time-link[data-v-27294c43] {
  color: #0052d9;
  cursor: pointer;
}
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .detail-value.time-link[data-v-27294c43]:hover {
  text-decoration: underline;
}
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .events-list[data-v-27294c43] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .events-list .event-item[data-v-27294c43] {
  color: #1f2937;
  line-height: 1.4;
}
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .keywords-tags[data-v-27294c43],
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .tags-list[data-v-27294c43] {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .keywords-tags .keyword-tag[data-v-27294c43],
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .keywords-tags .tag[data-v-27294c43],
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .tags-list .keyword-tag[data-v-27294c43],
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .tags-list .tag[data-v-27294c43] {
  display: inline-block;
  padding: 4px 12px;
  background: #e8f1ff;
  color: #0052d9;
  border-radius: 20px;
  font-size: 12px;
  border: 1px solid #b3d8ff;
  cursor: pointer;
}
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .keywords-tags .tag[data-v-27294c43],
.clip-layer .clips-list .clip-item .clip-content .clip-details .detail-row .tags-list .tag[data-v-27294c43] {
  background: #f5f5f5;
  color: #606266;
  border: 1px solid #e5e7eb;
}.shot-layer[data-v-cbdedf0f] {
  width: 100%;
}
.shot-layer .empty-state[data-v-cbdedf0f] {
  padding: 24px;
  text-align: center;
  color: #909399;
  font-size: 14px;
}
.shot-layer .shots-list[data-v-cbdedf0f] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.shot-layer .shots-list .shot-item[data-v-cbdedf0f] {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.shot-layer .shots-list .shot-item .shot-header[data-v-cbdedf0f] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #f9f9f9;
  border-bottom: 1px solid #e5e7eb;
  cursor: pointer;
  transition: background 0.2s ease;
}
.shot-layer .shots-list .shot-item .shot-header[data-v-cbdedf0f]:hover {
  background: #f5f5f5;
}
.shot-layer .shots-list .shot-item .shot-header .shot-title[data-v-cbdedf0f] {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  flex: 1;
}
.shot-layer .shots-list .shot-item .shot-header .expand-btn[data-v-cbdedf0f] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 12px;
  color: #0052d9;
  transition: all 0.2s ease;
}
.shot-layer .shots-list .shot-item .shot-header .expand-btn svg[data-v-cbdedf0f] {
  width: 16px;
  height: 16px;
  transition: transform 0.2s ease;
}
.shot-layer .shots-list .shot-item .shot-header .expand-btn.expanded svg[data-v-cbdedf0f] {
  transform: rotate(180deg);
}
.shot-layer .shots-list .shot-item .shot-header .expand-btn[data-v-cbdedf0f]:hover {
  color: #003399;
}
.shot-layer .shots-list .shot-item .shot-content[data-v-cbdedf0f] {
  padding: 16px;
  display: flex;
  gap: 16px;
  min-width: 0;
}
@container (max-width: 499px) {
.shot-layer .shots-list .shot-item .shot-content[data-v-cbdedf0f] {
    flex-direction: column;
}
}
.shot-layer .shots-list .shot-item .shot-content .shot-thumbnail[data-v-cbdedf0f] {
  flex-shrink: 0;
}
.shot-layer .shots-list .shot-item .shot-content .shot-thumbnail .thumbnail-wrapper[data-v-cbdedf0f] {
  position: relative;
  width: 160px;
  height: 120px;
  background: #f5f5f5;
  border-radius: 8px;
  overflow: hidden;
}
@container (max-width: 499px) {
.shot-layer .shots-list .shot-item .shot-content .shot-thumbnail .thumbnail-wrapper[data-v-cbdedf0f] {
    width: 100%;
}
}
.shot-layer .shots-list .shot-item .shot-content .shot-thumbnail .thumbnail-wrapper img[data-v-cbdedf0f] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shot-layer .shots-list .shot-item .shot-content .shot-thumbnail .thumbnail-wrapper .placeholder-image[data-v-cbdedf0f] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e5e7eb;
}
.shot-layer .shots-list .shot-item .shot-content .shot-thumbnail .thumbnail-wrapper .placeholder-image svg[data-v-cbdedf0f] {
  width: 48px;
  height: 48px;
  color: #9ca3af;
}
.shot-layer .shots-list .shot-item .shot-content .shot-thumbnail .thumbnail-wrapper .play-button[data-v-cbdedf0f] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.shot-layer .shots-list .shot-item .shot-content .shot-thumbnail .thumbnail-wrapper .play-button svg[data-v-cbdedf0f] {
  width: 24px;
  height: 24px;
  color: #0052d9;
  margin-left: 2px;
}
.shot-layer .shots-list .shot-item .shot-content .shot-thumbnail .thumbnail-wrapper .play-button[data-v-cbdedf0f]:hover {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.shot-layer .shots-list .shot-item .shot-content .shot-thumbnail .thumbnail-wrapper .duration-badge[data-v-cbdedf0f] {
  position: absolute;
  bottom: 8px;
  right: 8px;
  padding: 4px 8px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 12px;
  border-radius: 6px;
}
.shot-layer .shots-list .shot-item .shot-content .shot-details[data-v-cbdedf0f] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row[data-v-cbdedf0f] {
  display: flex;
  gap: 12px;
  font-size: 13px;
}
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row .detail-label[data-v-cbdedf0f] {
  flex-shrink: 0;
  font-weight: 600;
  color: #606266;
  min-width: 80px;
}
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row .detail-value[data-v-cbdedf0f] {
  flex: 1;
  color: #1f2937;
  line-height: 1.5;
  word-break: break-word;
}
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row .detail-value.time-link[data-v-cbdedf0f] {
  color: #0052d9;
  cursor: pointer;
}
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row .detail-value.time-link[data-v-cbdedf0f]:hover {
  text-decoration: underline;
}
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row .keywords-tags[data-v-cbdedf0f],
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row .tags-list[data-v-cbdedf0f] {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row .keywords-tags .keyword-tag[data-v-cbdedf0f],
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row .keywords-tags .tag[data-v-cbdedf0f],
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row .tags-list .keyword-tag[data-v-cbdedf0f],
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row .tags-list .tag[data-v-cbdedf0f] {
  display: inline-block;
  padding: 4px 12px;
  background: #e8f1ff;
  color: #0052d9;
  border-radius: 20px;
  font-size: 12px;
  border: 1px solid #b3d8ff;
}
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row .keywords-tags .tag[data-v-cbdedf0f],
.shot-layer .shots-list .shot-item .shot-content .shot-details .detail-row .tags-list .tag[data-v-cbdedf0f] {
  background: #f5f5f5;
  color: #606266;
  border: 1px solid #e5e7eb;
}
.video-info-panel[data-v-5fa945be] {
  width: 100%;
  background: transparent;
  border-radius: 0;
  padding: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  max-height: 100%;
}
.video-info-panel .split-action-btn[data-v-5fa945be] {
  position: absolute;
  right: 12px;
  top: 6px;
  z-index: 20;
}
.video-info-panel .split-action-btn .action-btn[data-v-5fa945be] {
  color: #909399;
  background: transparent;
  border: none;
}
.video-info-panel .split-action-btn .action-btn[data-v-5fa945be]:hover {
  color: #409eff;
  background: #f0f2f5;
}
.video-info-panel[data-v-5fa945be] .el-tabs {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.video-info-panel[data-v-5fa945be] .el-tabs__header {
  margin-bottom: 0;
  border-bottom: none;
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fff;
  flex-shrink: 0;
  padding: 0 16px;
  padding-bottom: 12px;
}
.video-info-panel[data-v-5fa945be] .el-tabs__header.is-top {
  border-bottom: none;
}
.video-info-panel.has-header-action[data-v-5fa945be] .el-tabs__header {
  padding-right: 56px;
}
.video-info-panel[data-v-5fa945be] .el-tabs__nav {
  font-size: 13px;
}
.video-info-panel[data-v-5fa945be] .el-tabs__item {
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1;
}
.video-info-panel[data-v-5fa945be] .el-tabs__content {
  padding: 0;
  flex: 1;
  overflow-y: auto;
  /* 滚动条样式 - 宽度 4px */
}
.video-info-panel[data-v-5fa945be] .el-tabs__content::-webkit-scrollbar {
  width: 4px;
}
.video-info-panel[data-v-5fa945be] .el-tabs__content::-webkit-scrollbar-track {
  background: transparent;
}
.video-info-panel[data-v-5fa945be] .el-tabs__content::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 2px;
}
.video-info-panel[data-v-5fa945be] .el-tabs__content::-webkit-scrollbar-thumb:hover {
  background: #999;
}
.video-info-panel .tab-content[data-v-5fa945be] {
  padding: 0 16px;
  line-height: 1.6;
  color: #909399;
  font-size: 14px;
  position: relative;
  display: flex;
  flex-direction: column;
}.face-detail-overlay[data-v-281e478c] {
  position: fixed;
  bottom: 0;
  z-index: 1200;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.3), transparent);
  pointer-events: none;
}
.face-detail-overlay .face-detail-panel[data-v-281e478c] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  pointer-events: auto;
  border-top: 1px solid #e5e7eb;
  max-height: 400px;
  overflow-y: auto;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.12);
}
.face-detail-overlay .face-detail-panel .panel-title-bar[data-v-281e478c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
}
.face-detail-overlay .face-detail-panel .panel-title-bar .panel-title[data-v-281e478c] {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: #1f2937;
}
.face-detail-overlay .face-detail-panel .panel-title-bar .close-btn[data-v-281e478c] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #606266;
  transition: all 0.2s ease;
}
.face-detail-overlay .face-detail-panel .panel-title-bar .close-btn[data-v-281e478c]:hover {
  color: #1f2937;
  background: #f5f5f5;
  border-radius: 4px;
}
.face-detail-overlay .face-detail-panel .panel-title-bar .close-btn[data-v-281e478c]:active {
  transform: scale(0.95);
}
.face-detail-overlay .face-detail-panel .panel-title-bar .close-btn svg[data-v-281e478c] {
  width: 18px;
  height: 18px;
}
.face-detail-overlay .face-detail-panel .tabs-container[data-v-281e478c] {
  display: flex;
  gap: 8px;
  padding: 12px 20px;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
  background: #f9f9f9;
}
.face-detail-overlay .face-detail-panel .tabs-container .tab-button[data-v-281e478c] {
  background: #fff;
  border: 1px solid #e5e7eb;
  padding: 6px 16px;
  font-size: 13px;
  color: #606266;
  cursor: pointer;
  border-radius: 16px;
  transition: all 0.2s ease;
}
.face-detail-overlay .face-detail-panel .tabs-container .tab-button.active[data-v-281e478c] {
  color: #0052d9;
  border-color: #0052d9;
  background: #f0f5ff;
}
.face-detail-overlay .face-detail-panel .tabs-container .tab-button[data-v-281e478c]:hover:not(.active) {
  color: #1f2937;
  border-color: #d9d9d9;
}
.face-detail-overlay .face-detail-panel .panel-header[data-v-281e478c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 20px;
  border-bottom: 1px solid #f0f0f0;
}
.face-detail-overlay .face-detail-panel .panel-header .header-left[data-v-281e478c] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.face-detail-overlay .face-detail-panel .panel-header .header-left .face-title[data-v-281e478c] {
  font-size: 13px;
  font-weight: 600;
  color: #0052d9;
}
.face-detail-overlay .face-detail-panel .panel-header .header-left .person-name[data-v-281e478c] {
  font-size: 11px;
  color: #909399;
}
.face-detail-overlay .face-detail-panel .panel-header .header-right[data-v-281e478c] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: #909399;
}
.face-detail-overlay .face-detail-panel .panel-header .header-right .stats[data-v-281e478c],
.face-detail-overlay .face-detail-panel .panel-header .header-right .duration[data-v-281e478c] {
  white-space: nowrap;
}
.face-detail-overlay .face-detail-panel .panel-header .header-right .separator[data-v-281e478c] {
  color: #d9d9d9;
}
.face-detail-overlay .face-detail-panel .vision-list[data-v-281e478c] {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 0 16px 0;
}
.face-detail-overlay .face-detail-panel .vision-list .vision-item[data-v-281e478c] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 20px;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: inset 0 0 0 0 transparent;
}
.face-detail-overlay .face-detail-panel .vision-list .vision-item[data-v-281e478c]:last-child {
  border-bottom: none;
}
.face-detail-overlay .face-detail-panel .vision-list .vision-item[data-v-281e478c]:hover {
  background: #fafafa;
}
.face-detail-overlay .face-detail-panel .vision-list .vision-item.selected[data-v-281e478c] {
  background: #f3f6ff;
  box-shadow: inset 3px 0 0 0 #0052d9;
}
.face-detail-overlay .face-detail-panel .vision-list .vision-item .vision-item-image-wrapper[data-v-281e478c] {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
}
.face-detail-overlay .face-detail-panel .vision-list .vision-item .vision-item-image-wrapper .vision-item-image[data-v-281e478c] {
  width: 100%;
  height: 100%;
  border-radius: 4px;
  overflow: hidden;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.face-detail-overlay .face-detail-panel .vision-list .vision-item .vision-item-image-wrapper .vision-item-image img[data-v-281e478c] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.face-detail-overlay .face-detail-panel .vision-list .vision-item .vision-item-image-wrapper .placeholder-image[data-v-281e478c] {
  width: 100%;
  height: 100%;
  border-radius: 4px;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.face-detail-overlay .face-detail-panel .vision-list .vision-item .vision-item-image-wrapper .placeholder-image svg[data-v-281e478c] {
  width: 28px;
  height: 28px;
  color: #d9d9d9;
}
.face-detail-overlay .face-detail-panel .vision-list .vision-item .vision-item-content[data-v-281e478c] {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  min-width: 0;
}
.face-detail-overlay .face-detail-panel .vision-list .vision-item .vision-item-content .vision-item-time[data-v-281e478c] {
  font-size: 12px;
  color: #0052d9;
  font-weight: 500;
  line-height: 1.4;
  display: block;
}
.face-detail-overlay .face-detail-panel .vision-list .vision-item .vision-item-content .vision-item-duration[data-v-281e478c] {
  font-size: 11px;
  color: #909399;
  line-height: 1.4;
  display: block;
}.image-person-marker[data-v-fdd7b033] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}.image-person-rect-layer[data-v-1f779654] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9;
  pointer-events: none;
}
.person-rect[data-v-1f779654] {
  position: absolute;
  border: 2px solid #ff4d4f;
  background-color: transparent;
  border-radius: 2px;
  box-sizing: border-box;
  pointer-events: auto;
  cursor: pointer;
  transition: box-shadow 0.2s ease, background-color 0.2s ease;
}
.person-rect[data-v-1f779654]:hover {
  background-color: rgba(255, 77, 79, 0.1);
  box-shadow: 0 0 0 1px rgba(255, 77, 79, 0.5);
}
.resource-detail[data-v-750b8f29] {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: #f5f7fa;
  container-type: inline-size;
}
.detail-header[data-v-750b8f29] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 24px;
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  flex-shrink: 0;
  min-height: 50px;
}
.detail-header .header-left[data-v-750b8f29],
.detail-header .header-right[data-v-750b8f29] {
  flex: 1;
}
.detail-header .header-title[data-v-750b8f29] {
  flex: 2;
  text-align: center;
}
.detail-header .header-title h2[data-v-750b8f29] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.detail-header[data-v-750b8f29] .el-button {
  padding: 0 12px;
  font-size: 14px;
  color: #606266;
  height: 24px;
}
.detail-header[data-v-750b8f29] .el-button:hover {
  color: #409eff;
  background-color: transparent;
}
.detail-container[data-v-750b8f29] {
  flex: 1;
  display: flex;
  flex-direction: row;
  gap: 6px;
  padding: 6px 6px;
  overflow: hidden;
  width: 100%;
  /* 滚动条样式 - 宽度 4px */
}
.detail-container[data-v-750b8f29]::-webkit-scrollbar {
  width: 4px;
}
.detail-container[data-v-750b8f29]::-webkit-scrollbar-track {
  background: transparent;
}
.detail-container[data-v-750b8f29]::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 2px;
}
.detail-container[data-v-750b8f29]::-webkit-scrollbar-thumb:hover {
  background: #999;
}
.loading-container[data-v-750b8f29] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 300px;
}
.loading-container .loading-icon[data-v-750b8f29] {
  font-size: 48px;
  color: #409eff;
}
.loading-container .loading-icon.is-loading[data-v-750b8f29] {
  animation: spin-750b8f29 1s linear infinite;
}
.loading-container p[data-v-750b8f29] {
  font-size: 14px;
  color: #606266;
}
@keyframes spin-750b8f29 {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
.left-section[data-v-750b8f29] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 400px;
  max-width: 100%;
  height: 100%;
  overflow-y: auto;
  /* 当存在 right-section 时，等分剩余空间 */
}
.detail-container:has(.right-section) .left-section[data-v-750b8f29] {
  flex: 1;
  min-width: 0;
  max-width: 50%;
}
.media-preview[data-v-750b8f29] {
  width: 100%;
  background: #0f1a2a;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: sticky;
  top: 0;
  z-index: 10;
  flex: 0 0 auto;
  min-height: 200px;
  /* 允许其根据内部视频高度自适应，但不超过整体左侧高度的70%（确保下方信息模块至少占30%） */
  max-height: 70%;
}
.media-preview.is-video-preview[data-v-750b8f29] {
  align-items: stretch;
  justify-content: flex-start;
}
.media-preview.expanded-preview[data-v-750b8f29] {
  max-height: 100%;
  height: 100%;
}
.media-preview[data-v-750b8f29] {
  /* 其他非视频媒体类型，不希望过高的话可以限定最大高度，防止大图/大长音频拉得很长 */
}
.media-preview .image-viewer[data-v-750b8f29],
.media-preview .audio-player[data-v-750b8f29] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  max-height: 70vh; /* 限定这些媒体最多多高 */
  position: relative; /* 支持人物框选定位 */
}
.media-preview .image-viewer video[data-v-750b8f29],
.media-preview .image-viewer img[data-v-750b8f29],
.media-preview .audio-player video[data-v-750b8f29],
.media-preview .audio-player img[data-v-750b8f29] {
  width: 100%;
  height: 100%;
  object-fit: contain;
  flex-shrink: 0;
}
.media-preview .image-viewer.image-viewer--zoom-active[data-v-750b8f29],
.media-preview .audio-player.image-viewer--zoom-active[data-v-750b8f29] {
  cursor: zoom-in;
}
.media-preview .image-viewer .image-viewer-zoom-hint[data-v-750b8f29],
.media-preview .audio-player .image-viewer-zoom-hint[data-v-750b8f29] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 11;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 20px;
  background: rgba(15, 23, 42, 0.72);
  color: #fff;
  pointer-events: none;
  user-select: none;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
}
.media-preview .image-viewer .image-viewer-zoom-hint__icon[data-v-750b8f29],
.media-preview .audio-player .image-viewer-zoom-hint__icon[data-v-750b8f29] {
  font-size: 16px;
  line-height: 1;
}
.media-preview .image-viewer .image-viewer-zoom-hint__text[data-v-750b8f29],
.media-preview .audio-player .image-viewer-zoom-hint__text[data-v-750b8f29] {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}
.media-preview .placeholder[data-v-750b8f29] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.6);
  width: 100%;
  height: 100%;
}
.media-preview .placeholder p[data-v-750b8f29] {
  margin: 0;
  font-size: 14px;
}
.right-section[data-v-750b8f29] {
  flex: 1;
  min-width: 0;
  max-width: 50%;
  height: 100%;
  background: #fff;
  border-radius: 8px;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.right-section[data-v-750b8f29] > * {
  flex: 1;
  min-height: 0;
}
.right-section[data-v-750b8f29] {
  /* 滚动条样式 - 宽度 4px */
}
.right-section[data-v-750b8f29]::-webkit-scrollbar {
  width: 4px;
}
.right-section[data-v-750b8f29]::-webkit-scrollbar-track {
  background: transparent;
}
.right-section[data-v-750b8f29]::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 2px;
}
.right-section[data-v-750b8f29]::-webkit-scrollbar-thumb:hover {
  background: #999;
}
.info-actions-wrapper[data-v-750b8f29] {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 100;
  overflow-x: hidden;
  gap: 0;
  margin-top: 2px; /*左侧上下间隔2px*/
  flex: 1;
  min-height: 0;
}
[data-v-750b8f29] .el-tabs .el-tabs__header {
  border-bottom: 1px solid #e5e7eb;
}
[data-v-750b8f29] .el-tabs .el-tabs__content {
  padding: 0;
}.el-image-viewer__actions__inner .original-image-download-divider {
  display: inline-block;
  width: 1px;
  height: 24px;
  margin: 0 8px;
  vertical-align: middle;
  background: hsla(0, 0%, 100%, 0.3);
}
.el-image-viewer__actions__inner .original-image-download-injected {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  cursor: pointer;
  font-size: 24px;
  color: #fff;
  opacity: 0.8;
  transition: opacity 0.15s ease;
  outline: none;
}
.el-image-viewer__actions__inner .original-image-download-injected:hover, .el-image-viewer__actions__inner .original-image-download-injected:focus-visible {
  opacity: 1;
}
.el-image-viewer__actions__inner .original-image-download-injected svg {
  width: 1em;
  height: 1em;
}.content-manager-page[data-v-e4726d7d] {
  display: flex;
  flex-direction: row;
  height: 100vh;
  background: #f5f7fa;
  overflow: hidden;
}
.left-panel[data-v-e4726d7d] {
  display: flex;
  height: 100%;
  background: #fff;
  flex: 1;
  flex-direction: row;
  min-width: 0;
}
.inner-resize-handle[data-v-e4726d7d] {
  width: 8px;
  height: 100%;
  cursor: col-resize;
  flex-shrink: 0;
  position: relative;
  background: #f5f7fa;
  border-left: 1px solid #ebeef5;
  border-right: 1px solid #ebeef5;
  transition: background-color 0.2s ease;
}
.inner-resize-handle[data-v-e4726d7d]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 36px;
  border-radius: 1px;
  background: #c0c4cc;
  transition: background-color 0.2s ease;
}
.inner-resize-handle[data-v-e4726d7d]:hover, .inner-resize-handle.resizing[data-v-e4726d7d] {
  background: #d9ecff;
}
.inner-resize-handle[data-v-e4726d7d]:hover::before, .inner-resize-handle.resizing[data-v-e4726d7d]::before {
  background: #409eff;
}
.left-sidebar[data-v-e4726d7d] {
  width: 220px;
  height: 100%;
  border-right: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  background: #fff;
}
.left-sidebar .sidebar-header[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
}
.left-sidebar .sidebar-header .header-content[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.left-sidebar .sidebar-header .header-content .header-icon[data-v-e4726d7d] {
  color: #409eff;
  flex-shrink: 0;
}
.left-sidebar .sidebar-header .header-content .header-title[data-v-e4726d7d] {
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
  white-space: nowrap;
}
.left-sidebar .sidebar-header .header-collapse-btn[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.left-sidebar .sidebar-header .header-collapse-btn[data-v-e4726d7d]:hover {
  background: #f3f4f6;
}
.left-sidebar .sidebar-header .header-collapse-btn .toggle-icon[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #8b96a3;
  line-height: 1;
}
.left-sidebar .sidebar-header .header-collapse-btn .toggle-icon svg[data-v-e4726d7d] {
  width: 100%;
  height: 100%;
  transition: transform 0.2s ease;
}
.left-sidebar .sidebar-content[data-v-e4726d7d] {
  flex: 1;
  padding: 12px 0;
  overflow-y: auto;
  overflow-x: hidden;
}
.left-sidebar .sidebar-content[data-v-e4726d7d]::-webkit-scrollbar {
  width: 6px;
}
.left-sidebar .sidebar-content[data-v-e4726d7d]::-webkit-scrollbar-track {
  background: transparent;
}
.left-sidebar .sidebar-content[data-v-e4726d7d]::-webkit-scrollbar-thumb {
  background: #c0c4cc;
  border-radius: 3px;
}
.left-sidebar .sidebar-content[data-v-e4726d7d]::-webkit-scrollbar-thumb:hover {
  background: #909399;
}
.left-sidebar .sidebar-section[data-v-e4726d7d] {
  margin-bottom: 4px;
}
.left-sidebar .sidebar-section .section-title[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-size: 14px;
  color: #374151;
  cursor: default;
  user-select: none;
}
.left-sidebar .sidebar-section .section-title.expandable[data-v-e4726d7d] {
  cursor: pointer;
  transition: background 0.2s;
  justify-content: space-between;
}
.left-sidebar .sidebar-section .section-title.expandable[data-v-e4726d7d]:hover {
  background: #f3f4f6;
}
.left-sidebar .sidebar-section .section-title.expandable .el-icon[data-v-e4726d7d] {
  transition: transform 0.2s;
  flex-shrink: 0;
}
.left-sidebar .sidebar-section .section-title.expandable .el-icon.is-expanded[data-v-e4726d7d]:not(.category-icon) {
  transform: rotate(90deg);
}
.left-sidebar .sidebar-section .section-title.expandable .category-icon[data-v-e4726d7d] {
  color: #909399;
}
.left-sidebar .sidebar-section .section-title.expandable .expand-icon[data-v-e4726d7d] {
  margin-left: auto;
  color: #909399;
  transition: transform 0.2s;
}
.left-sidebar .sidebar-section .section-title.expandable .expand-icon.is-expanded[data-v-e4726d7d] {
  transform: rotate(-90deg);
}
.left-sidebar .sidebar-section .section-title .el-icon[data-v-e4726d7d]:not(.expand-icon):not(.is-expanded) {
  color: #909399;
}
.left-sidebar .sidebar-section .section-items[data-v-e4726d7d] {
  padding-left: 12px;
  animation: slideDown-e4726d7d 0.2s ease-out;
}
@keyframes slideDown-e4726d7d {
from {
    opacity: 0;
    transform: translateY(-8px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.left-sidebar .sidebar-item[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-size: 14px;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s;
  user-select: none;
}
.left-sidebar .sidebar-item .el-icon[data-v-e4726d7d] {
  flex-shrink: 0;
  color: #909399;
}
.left-sidebar .sidebar-item[data-v-e4726d7d]:hover {
  background: #f3f4f6;
  color: #303133;
}
.left-sidebar .sidebar-item.active[data-v-e4726d7d] {
  background: #e6f4ff;
  color: #409eff;
}
.left-sidebar .sidebar-item.active .el-icon[data-v-e4726d7d] {
  color: #409eff;
}
.left-sidebar .sidebar-loading[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-size: 13px;
  color: #909399;
}
.left-sidebar .sidebar-loading .el-icon[data-v-e4726d7d] {
  color: #409eff;
}
.left-sidebar .sidebar-empty[data-v-e4726d7d] {
  padding: 10px 20px;
  font-size: 13px;
  color: #909399;
  text-align: center;
}
.left-sidebar-collapsed[data-v-e4726d7d] {
  width: 50px;
  height: 100%;
  border-right: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  background: #fff;
}
.left-sidebar-collapsed .collapsed-toggle-btn[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  width: 100%;
  cursor: pointer;
  transition: all 0.2s ease;
  border-bottom: 1px solid #e5e7eb;
}
.left-sidebar-collapsed .collapsed-toggle-btn[data-v-e4726d7d]:hover {
  background: #f5f7fa;
}
.left-sidebar-collapsed .collapsed-toggle-btn .toggle-icon[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #8b96a3;
  line-height: 1;
}
.left-sidebar-collapsed .collapsed-toggle-btn .toggle-icon svg[data-v-e4726d7d] {
  width: 100%;
  height: 100%;
  transition: transform 0.2s ease;
  transform: rotate(180deg);
}
.main-content[data-v-e4726d7d] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.toolbar-container[data-v-e4726d7d] {
  flex-shrink: 0;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
  position: relative;
  z-index: 1;
}
.toolbar-container .toolbar-main[data-v-e4726d7d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 24px;
  min-height: 50px;
  gap: 16px;
}
.toolbar-container .toolbar-main .toolbar-left[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  gap: 0;
  flex: 1;
  min-width: 0;
}
.toolbar-container .toolbar-main .toolbar-left .navigation-group[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-right: 16px;
  min-width: 0;
}
.toolbar-container .toolbar-main .toolbar-left .navigation-group .back-btn[data-v-e4726d7d] {
  padding: 8px;
  height: 32px;
  width: 32px;
  color: #606266;
  border-radius: 4px;
}
.toolbar-container .toolbar-main .toolbar-left .navigation-group .back-btn[data-v-e4726d7d]:hover {
  background: #f3f4f6;
  color: #409eff;
}
.toolbar-container .toolbar-main .toolbar-left .navigation-group .breadcrumb-nav[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #606266;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.toolbar-container .toolbar-main .toolbar-left .navigation-group .breadcrumb-nav .breadcrumb-item[data-v-e4726d7d] {
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 4px;
  transition: all 0.2s;
}
.toolbar-container .toolbar-main .toolbar-left .navigation-group .breadcrumb-nav .breadcrumb-item[data-v-e4726d7d]:hover {
  background: #f3f4f6;
  color: #409eff;
}
.toolbar-container .toolbar-main .toolbar-left .navigation-group .breadcrumb-nav .breadcrumb-item.home[data-v-e4726d7d] {
  font-weight: 500;
  color: #1f2937;
}
.toolbar-container .toolbar-main .toolbar-left .navigation-group .breadcrumb-nav .breadcrumb-item.active[data-v-e4726d7d] {
  color: #409eff;
  font-weight: 500;
  cursor: default;
  background: transparent;
}
.toolbar-container .toolbar-main .toolbar-left .navigation-group .breadcrumb-nav .breadcrumb-separator[data-v-e4726d7d] {
  margin: 0 4px;
  color: #909399;
  font-size: 12px;
}
.toolbar-container .toolbar-main .toolbar-left[data-v-e4726d7d] .el-button {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  height: 32px;
  padding: 6px 12px;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.toolbar-container .toolbar-main .toolbar-left[data-v-e4726d7d] .el-button .el-icon {
  font-size: 16px;
}
.toolbar-container .toolbar-main .toolbar-right[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.toolbar-container .toolbar-main .toolbar-right .action-group[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.toolbar-container .toolbar-main .toolbar-right .action-group[data-v-e4726d7d] .el-button {
  width: 32px;
  height: 32px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 18px;
  transition: all 0.2s;
}
.toolbar-container .toolbar-main .toolbar-right .action-group[data-v-e4726d7d] .el-button.is-plain {
  border: 1px solid #dcdfe6;
  background: #fff;
  color: #606266;
}
.toolbar-container .toolbar-main .toolbar-right .action-group[data-v-e4726d7d] .el-button.is-plain:hover {
  color: #409eff;
  border-color: #c0c4cc;
  background: #f0f7ff;
}
.toolbar-container .toolbar-main .toolbar-right .action-group[data-v-e4726d7d] .el-button.is-plain[type=primary] {
  color: #409eff;
  border-color: #409eff;
}
.toolbar-container .toolbar-main .toolbar-right .action-group[data-v-e4726d7d] .el-button.is-plain[type=primary]:hover {
  border-color: #409eff;
  background: #f0f7ff;
}
.toolbar-container .toolbar-main .toolbar-right .toolbar-divider[data-v-e4726d7d] {
  width: 1px;
  height: 16px;
  background: #e5e7eb;
  margin: 0 4px;
}
.toolbar-container .toolbar-main .toolbar-right .view-switcher[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0;
  background: transparent;
  border-radius: 4px;
}
.toolbar-container .toolbar-main .toolbar-right .view-switcher[data-v-e4726d7d] .el-button {
  padding: 6px 10px;
  height: 32px;
  min-width: 32px;
  font-size: 14px;
  color: #909399;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: transparent;
  border: none;
  transition: all 0.2s ease;
}
.toolbar-container .toolbar-main .toolbar-right .view-switcher[data-v-e4726d7d] .el-button:first-child {
  border-radius: 4px 0 0 4px;
}
.toolbar-container .toolbar-main .toolbar-right .view-switcher[data-v-e4726d7d] .el-button:last-child {
  border-radius: 0 4px 4px 0;
}
.toolbar-container .toolbar-main .toolbar-right .view-switcher[data-v-e4726d7d] .el-button.active {
  color: #409eff;
  background: #e6f7ff;
  border: 1px solid #85ce61;
}
.toolbar-container .toolbar-main .toolbar-right .view-switcher[data-v-e4726d7d] .el-button:hover:not(.active) {
  color: #606266;
  background: #f5f7fa;
}
.toolbar-container .toolbar-main .toolbar-right .view-switcher[data-v-e4726d7d] .el-button svg {
  width: 16px;
  height: 16px;
}
.toolbar-container .toolbar-main .toolbar-right .view-switcher[data-v-e4726d7d] .el-button .dropdown-icon {
  margin-left: 2px;
  font-size: 12px;
}
.toolbar-container .toolbar-main .toolbar-right .view-switcher[data-v-e4726d7d] .el-dropdown-menu__item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
}
.toolbar-container .toolbar-main .toolbar-right .view-switcher[data-v-e4726d7d] .el-dropdown-menu__item.is-active {
  color: #409eff;
  background: #e6f7ff;
}
.toolbar-container .toolbar-main .toolbar-right .view-switcher[data-v-e4726d7d] .el-dropdown-menu__item .el-icon {
  font-size: 16px;
}
.content-area[data-v-e4726d7d] {
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
  background: #f5f7fa;
  min-height: 0;
  flex: 1;
}
.content-area.detail-view[data-v-e4726d7d] {
  overflow: hidden;
  padding: 0;
  display: flex;
}
.search-results-view[data-v-e4726d7d] {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 24px;
}
.search-results-view .search-results-header[data-v-e4726d7d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 16px 0;
  margin-bottom: 16px;
  border-bottom: 1px solid #e5e7eb;
}
.search-results-view .search-results-header .results-title[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
}
.search-results-view .search-results-header .results-title[data-v-e4726d7d] .el-button {
  padding: 0;
  height: auto;
  min-width: auto;
}
.search-results-view .search-results-header .results-count[data-v-e4726d7d] {
  font-size: 14px;
  color: #606266;
}
.content-footer[data-v-e4726d7d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 24px;
  border-top: 1px solid #e5e7eb;
  background: #fff;
  flex-shrink: 0;
  min-height: 44px;
}
.content-footer .total-count[data-v-e4726d7d] {
  color: #6b7280;
  font-size: 14px;
  white-space: nowrap;
}
.content-footer .pagination-wrapper[data-v-e4726d7d] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.content-footer .pagination-wrapper[data-v-e4726d7d] .el-button {
  font-size: 12px;
  padding: 6px 12px;
  height: 28px;
  color: #606266;
  border-color: #dcdfe6;
}
.content-footer .pagination-wrapper[data-v-e4726d7d] .el-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.content-footer .pagination-wrapper[data-v-e4726d7d] .el-button:not(:disabled):hover {
  border-color: #409eff;
  color: #409eff;
}
.content-footer .pagination-wrapper .page-number[data-v-e4726d7d] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 28px;
  padding: 0 8px;
  font-size: 12px;
  color: #606266;
  background: #fff;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  box-sizing: border-box;
  margin: 0 4px;
}
.content-footer .pagination-wrapper .page-number.active[data-v-e4726d7d] {
  color: #fff;
  background: #409eff;
  border-color: #409eff;
}
.content-footer .pagination-wrapper .page-info[data-v-e4726d7d] {
  margin-left: 8px;
  font-size: 12px;
  color: #606266;
  white-space: nowrap;
}
.resource-preview-dialog[data-v-e4726d7d] .el-dialog__header {
  position: relative;
  z-index: 10;
}
.resource-preview-dialog[data-v-e4726d7d] .el-dialog__headerbtn {
  z-index: 10;
}
.resource-preview-dialog[data-v-e4726d7d] .el-dialog__body {
  padding: 0;
}
.preview-container .preview-video[data-v-e4726d7d] {
  width: 100%;
  max-height: 450px;
  background: #000;
  display: block;
}
.preview-container .preview-audio-wrapper[data-v-e4726d7d] {
  padding: 40px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.preview-container .preview-audio-wrapper .audio-cover[data-v-e4726d7d] {
  width: 120px;
  height: 120px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.preview-container .preview-audio-wrapper .preview-audio[data-v-e4726d7d] {
  width: 100%;
  max-width: 400px;
}
.preview-container .preview-image-wrapper[data-v-e4726d7d],
.preview-container .preview-document-wrapper[data-v-e4726d7d] {
  padding: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  color: #909399;
}
.preview-container .preview-image-wrapper p[data-v-e4726d7d],
.preview-container .preview-document-wrapper p[data-v-e4726d7d] {
  margin: 0;
  font-size: 14px;
}
.new-folder-dialog[data-v-e4726d7d] .el-dialog__header {
  padding: 20px 20px 16px;
  border-bottom: none;
}
.new-folder-dialog[data-v-e4726d7d] .el-dialog__header .el-dialog__title {
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
}
.new-folder-dialog[data-v-e4726d7d] .el-dialog__body {
  padding: 0 20px 20px;
}
.new-folder-dialog[data-v-e4726d7d] .el-dialog__footer {
  padding: 0 20px 20px;
  border-top: none;
}
.new-folder-dialog[data-v-e4726d7d] .el-dialog__footer .el-button {
  min-width: 60px;
}
.new-folder-dialog[data-v-e4726d7d] .el-input__wrapper {
  border-radius: 8px;
}:global(.no-select) {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.outer-resize-handle {
  width: 8px;
  height: 100%;
  cursor: col-resize;
  flex-shrink: 0;
  position: relative;
  background: #f5f7fa;
  border-left: 1px solid #ebeef5;
  border-right: 1px solid #ebeef5;
  transition: background-color 0.2s ease;
}
.outer-resize-handle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 40px;
  border-radius: 1px;
  background: #c0c4cc;
  transition: background-color 0.2s ease;
}
.outer-resize-handle:hover, .outer-resize-handle.resizing {
  background: #d9ecff;
}
.outer-resize-handle:hover::before, .outer-resize-handle.resizing::before {
  background: #409eff;
}
.right-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border-left: 1px solid #e5e7eb;
  flex-shrink: 0;
  width: 28%;
  min-width: 320px;
  position: relative;
  z-index: 10;
}
.right-panel.collapsed {
  width: 40px;
  min-width: 40px;
  border-left: 1px solid #e5e7eb;
}
.collapse-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: #fff;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.collapse-toggle:hover {
  background: #f5f7fa;
}
.collapse-toggle .toggle-label {
  font-size: 12px;
  color: #606266;
  white-space: nowrap;
}
.collapse-toggle .toggle-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.collapse-toggle .toggle-icon svg {
  width: 100%;
  height: 100%;
  transition: transform 0.2s ease;
}
.collapse-toggle.right-collapse {
  height: 50px;
  border-bottom: 1px solid #e5e7eb;
  flex-direction: row;
  gap: 8px;
  padding: 0 12px;
}
.collapse-toggle.right-collapse .toggle-label {
  flex: 1;
}
.collapse-toggle.right-collapse.collapsed {
  height: 100%;
  border-bottom: none;
  border-right: 1px solid #e5e7eb;
  flex-direction: column;
  gap: 12px;
  padding: 20px 0;
}
.collapse-toggle.right-collapse.collapsed .toggle-label {
  display: none;
}
.collapse-toggle.right-collapse.collapsed .toggle-icon svg {
  transform: rotate(180deg);
}
.right-panel-content {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.chat-action-bar[data-v-8b88c4ee] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 0;
  opacity: 0;
  transition: opacity 0.2s ease;
}

/* 鼠标悬停在消息上时显示操作栏 */
.message-wrapper:hover .chat-action-bar[data-v-8b88c4ee],
.chat-action-bar.is-streaming[data-v-8b88c4ee] {
  opacity: 1;
}

/* 兼容 ChatMessageItem 的父元素 class */
.chat-message-item:hover .chat-action-bar[data-v-8b88c4ee],
.message-body:hover .chat-action-bar[data-v-8b88c4ee] {
  opacity: 1;
}

/* 强制显示（用于调试或特殊场景） */
.chat-action-bar.always-visible[data-v-8b88c4ee] {
  opacity: 1;
}
.action-btn[data-v-8b88c4ee] {
  padding: 4px 8px !important;
  height: 28px !important;
  min-width: 28px !important;
  border-radius: 6px !important;
  color: #8c8c8c !important;
  transition: all 0.2s ease;
}
.action-btn[data-v-8b88c4ee]:hover {
  color: #265eec !important;
  background-color: rgba(38, 94, 236, 0.08) !important;
}
.action-btn.is-liked[data-v-8b88c4ee] {
  color: #265eec !important;
}
.action-btn.is-disliked[data-v-8b88c4ee] {
  color: #f56c6c !important;
}
.action-btn.is-speaking[data-v-8b88c4ee] {
  color: #265eec !important;
  animation: pulse-8b88c4ee 1.5s infinite;
}
.success-icon[data-v-8b88c4ee] {
  color: #67c23a !important;
}
.stop-btn[data-v-8b88c4ee] {
  background-color: #fff1f0 !important;
  border: 1px solid #ffccc7 !important;
  color: #ff4d4f !important;
}
.stop-btn[data-v-8b88c4ee]:hover {
  background-color: #ff4d4f !important;
  color: white !important;
}
.stop-btn .btn-text[data-v-8b88c4ee] {
  margin-left: 4px;
  font-size: 12px;
}
@keyframes pulse-8b88c4ee {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0.5;
}
}

/* 图标尺寸统一 */
.action-btn[data-v-8b88c4ee] svg {
  width: 16px;
  height: 16px;
}

.chat-message-item[data-v-8d7ed90b] {
  display: flex;
  gap: 12px;
  padding: 16px 0;
}

/* 用户消息靠右 */
.chat-message-item.role-user[data-v-8d7ed90b] {
  flex-direction: row-reverse;
}
.chat-message-item.role-user .message-body[data-v-8d7ed90b] {
  align-items: flex-end;
}
.chat-message-item.role-user .message-header[data-v-8d7ed90b] {
  flex-direction: row-reverse;
}

/* 系统消息居中 */
.chat-message-item.role-system[data-v-8d7ed90b] {
  justify-content: center;
}
.chat-message-item.role-system .message-body[data-v-8d7ed90b] {
  align-items: center;
  max-width: 80%;
}

/* 头像 */
.message-avatar[data-v-8d7ed90b] {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
}
.avatar-img[data-v-8d7ed90b] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}
.avatar-placeholder[data-v-8d7ed90b] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #e8e8e8;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8c8c8c;
}
.avatar-emoji[data-v-8d7ed90b] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.avatar-placeholder[data-v-8d7ed90b] svg {
  width: 20px;
  height: 20px;
}

/* 消息主体 */
.message-body[data-v-8d7ed90b] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  max-width: 80%;
  padding-top: 8px; /* 让消息内容从头像中下方开始 */
}
.message-header[data-v-8d7ed90b] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  margin-bottom: 6px;
}
.message-name[data-v-8d7ed90b] {
  color: #262626;
  font-weight: 500;
}
.message-time[data-v-8d7ed90b] {
  color: #8c8c8c;
}

/* 消息内容 */
.message-content-wrapper[data-v-8d7ed90b] {
  display: inline-block;
  position: relative;
  padding: 14px 18px;
  border-radius: 18px;
  font-size: 14px;
  line-height: 1.7;
  word-break: break-word;
  max-width: 100%;
}
.role-user .message-content-wrapper[data-v-8d7ed90b] {
  background-color: #f0f0f0;
  color: #262626;
  border-radius: 18px;
}
.role-assistant .message-content-wrapper[data-v-8d7ed90b] {
  background: transparent;
  color: #262626;
  padding: 0;
}
.role-system .message-content-wrapper[data-v-8d7ed90b] {
  background-color: #fff7e6;
  color: #d46b08;
  font-size: 13px;
  padding: 8px 16px;
}

/* 错误消息 */
.message-error[data-v-8d7ed90b] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ff4d4f;
}
.error-icon[data-v-8d7ed90b] {
  flex-shrink: 0;
}

/* 加载状态 */
.message-loading[data-v-8d7ed90b] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.typing-indicator[data-v-8d7ed90b] {
  display: flex;
  gap: 4px;
}
.typing-indicator span[data-v-8d7ed90b] {
  width: 8px;
  height: 8px;
  background-color: #8c8c8c;
  border-radius: 50%;
  animation: typing-8d7ed90b 1.4s infinite ease-in-out both;
}
.typing-indicator span[data-v-8d7ed90b]:nth-child(1) {
  animation-delay: -0.32s;
}
.typing-indicator span[data-v-8d7ed90b]:nth-child(2) {
  animation-delay: -0.16s;
}
@keyframes typing-8d7ed90b {
0%, 80%, 100% {
    transform: scale(0.6);
    opacity: 0.5;
}
40% {
    transform: scale(1);
    opacity: 1;
}
}

/* 流式光标 */
.streaming-cursor[data-v-8d7ed90b] {
  display: inline-block;
  animation: blink-8d7ed90b 1s step-end infinite;
  color: #265eec;
  margin-left: 2px;
}
@keyframes blink-8d7ed90b {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0;
}
}

/* Markdown 样式 */
.message-markdown[data-v-8d7ed90b] p {
  margin: 0 0 8px 0;
}
.message-markdown[data-v-8d7ed90b] p:last-child {
  margin-bottom: 0;
}
.message-markdown[data-v-8d7ed90b] pre {
  background-color: #282c34;
  color: #abb2bf;
  border-radius: 8px;
  padding: 12px 16px;
  overflow-x: auto;
  margin: 12px 0;
  font-family: 'Fira Code', 'Consolas', monospace;
  font-size: 13px;
  line-height: 1.5;
}
.message-markdown[data-v-8d7ed90b] code {
  font-family: 'Fira Code', 'Consolas', monospace;
  background-color: rgba(0, 0, 0, 0.06);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.9em;
}
.message-markdown[data-v-8d7ed90b] pre code {
  background: none;
  padding: 0;
}
.message-markdown[data-v-8d7ed90b] ul,
.message-markdown[data-v-8d7ed90b] ol {
  padding-left: 20px;
  margin: 8px 0;
}
.message-markdown[data-v-8d7ed90b] li {
  margin: 4px 0;
}
.message-markdown[data-v-8d7ed90b] blockquote {
  border-left: 4px solid #265eec;
  padding-left: 12px;
  margin: 12px 0;
  color: #595959;
  background-color: rgba(38, 94, 236, 0.04);
  padding: 8px 12px;
  border-radius: 0 8px 8px 0;
}
.message-markdown[data-v-8d7ed90b] a {
  color: #265eec;
  text-decoration: none;
}
.message-markdown[data-v-8d7ed90b] a:hover {
  text-decoration: underline;
}
.message-markdown[data-v-8d7ed90b] table {
  border-collapse: collapse;
  width: 100%;
  margin: 12px 0;
}
.message-markdown[data-v-8d7ed90b] th,
.message-markdown[data-v-8d7ed90b] td {
  border: 1px solid #e8e8e8;
  padding: 8px 12px;
  text-align: left;
}
.message-markdown[data-v-8d7ed90b] th {
  background-color: #fafafa;
  font-weight: 500;
}
.message-markdown[data-v-8d7ed90b] h1,
.message-markdown[data-v-8d7ed90b] h2,
.message-markdown[data-v-8d7ed90b] h3,
.message-markdown[data-v-8d7ed90b] h4 {
  margin: 12px 0 8px 0;
  font-weight: 600;
}
.message-markdown[data-v-8d7ed90b] h1:first-child,
.message-markdown[data-v-8d7ed90b] h2:first-child,
.message-markdown[data-v-8d7ed90b] h3:first-child,
.message-markdown[data-v-8d7ed90b] h4:first-child {
  margin-top: 0;
}
.message-markdown[data-v-8d7ed90b] p:first-child {
  margin-top: 0;
}
.message-markdown[data-v-8d7ed90b] h1 { font-size: 1.5em;
}
.message-markdown[data-v-8d7ed90b] h2 { font-size: 1.3em;
}
.message-markdown[data-v-8d7ed90b] h3 { font-size: 1.1em;
}
.message-markdown[data-v-8d7ed90b] h4 { font-size: 1em;
}
.message-markdown[data-v-8d7ed90b] hr {
  border: none;
  border-top: 1px solid #e8e8e8;
  margin: 16px 0;
}
.message-markdown[data-v-8d7ed90b] img {
  max-width: 100%;
  border-radius: 8px;
}

/* 引用资料 */
.message-references[data-v-8d7ed90b] {
  margin-top: 8px;
  padding: 8px 12px;
  background-color: #fafafa;
  border-radius: 8px;
  font-size: 13px;
}
.references-header[data-v-8d7ed90b] {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  color: #595959;
  user-select: none;
}
.references-header[data-v-8d7ed90b]:hover {
  color: #265eec;
}
.references-header[data-v-8d7ed90b] svg:last-child {
  margin-left: auto;
  transition: transform 0.2s;
}
.references-header[data-v-8d7ed90b] svg:last-child.is-expanded {
  transform: rotate(180deg);
}
.references-list[data-v-8d7ed90b] {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #e8e8e8;
}
.reference-item[data-v-8d7ed90b] {
  display: flex;
  gap: 8px;
  padding: 4px 0;
}
.ref-index[data-v-8d7ed90b] {
  color: #8c8c8c;
  flex-shrink: 0;
}
.ref-title[data-v-8d7ed90b] {
  color: #265eec;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ref-title[data-v-8d7ed90b]:hover {
  text-decoration: underline;
}

/* 卡片样式 */
.message-card[data-v-8d7ed90b] {
  background-color: white;
  border-radius: 8px;
  overflow: hidden;
}
.default-card[data-v-8d7ed90b] {
  padding: 12px;
}
.default-card pre[data-v-8d7ed90b] {
  margin: 0;
  font-size: 12px;
  white-space: pre-wrap;
  word-break: break-all;
}

/* 角标样式 */
.message-markdown[data-v-8d7ed90b] .citation-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  margin: 0 2px;
  font-size: 11px;
  font-weight: 500;
  color: #265eec;
  background-color: #e8f0ff;
  border-radius: 4px;
  cursor: pointer;
  vertical-align: super;
  transition: all 0.2s;
  text-decoration: none;
}
.message-markdown[data-v-8d7ed90b] .citation-mark:hover {
  background-color: #265eec;
  color: white;
}

/* 角标 Tooltip */
.citation-tooltip[data-v-8d7ed90b] {
  position: fixed;
  transform: translate(-50%, -100%);
  margin-top: -8px;
  z-index: 9999;
  pointer-events: none;
  animation: tooltipFadeIn-8d7ed90b 0.15s ease-out;
}
@keyframes tooltipFadeIn-8d7ed90b {
from {
    opacity: 0;
    transform: translate(-50%, -100%) translateY(4px);
}
to {
    opacity: 1;
    transform: translate(-50%, -100%) translateY(0);
}
}
.citation-tooltip-content[data-v-8d7ed90b] {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 8px 12px;
  background-color: #ffffff;
  color: #262626;
  border-radius: 6px;
  font-size: 13px;
  min-width: 260px;
  max-width: 420px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  border: 1px solid #e8e8e8;
  white-space: normal;
  word-break: break-all;
}
.citation-tooltip-content[data-v-8d7ed90b]::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #ffffff;
}
.citation-file-icon[data-v-8d7ed90b] {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  color: #8c8c8c;
}
.chat-video-card[data-v-ca40fa6d] {
  border-radius: 4px;
  overflow: hidden;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  border: 1px solid transparent;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.chat-video-card[data-v-ca40fa6d]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.chat-video-card[data-v-ca40fa6d]:active {
  transform: scale(0.98);
  transition: transform 0.1s ease;
}
.media-wrapper[data-v-ca40fa6d] {
  position: relative;
  overflow: hidden;
  background: #f0f0f0;
  aspect-ratio: 16/9;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.media-wrapper .video-thumbnail[data-v-ca40fa6d] {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.media-wrapper .video-placeholder[data-v-ca40fa6d] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f5f7fa 0%, #e5e7eb 100%);
}
.media-wrapper .video-placeholder .placeholder-icon[data-v-ca40fa6d] {
  font-size: 48px;
  color: #909399;
}
.media-wrapper[data-v-ca40fa6d]:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  opacity: 1;
  transition: opacity 0.2s ease;
  z-index: 1;
}
.media-wrapper:hover .video-thumbnail[data-v-ca40fa6d] {
  transform: scale(1.05);
}
.media-wrapper:hover .play-icon-wrapper[data-v-ca40fa6d] {
  opacity: 1;
  transform: translate(-50%, -50%) scale(0.9);
}
.play-icon-wrapper[data-v-ca40fa6d] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  opacity: 0;
  transition: all 0.3s ease;
  z-index: 2;
}
.play-icon-wrapper .play-icon[data-v-ca40fa6d] {
  font-size: 36px;
  color: white;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}
.content-wrapper[data-v-ca40fa6d] {
  padding: 12px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.title[data-v-ca40fa6d] {
  font-size: 14px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.9019607843);
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.description[data-v-ca40fa6d] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.6);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.chat-audio-card[data-v-c2db7dbd] {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.chat-audio-card .audio-player-wrapper[data-v-c2db7dbd] {
  display: flex;
  gap: 12px;
  padding: 12px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 8px;
}
.chat-audio-card .audio-player-wrapper .audio-cover[data-v-c2db7dbd] {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 6px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.chat-audio-card .audio-player-wrapper .audio-cover .audio-thumbnail[data-v-c2db7dbd] {
  width: 100%;
  height: 100%;
}
.chat-audio-card .audio-player-wrapper .audio-cover .audio-thumbnail img[data-v-c2db7dbd] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.chat-audio-card .audio-player-wrapper .audio-cover .audio-icon[data-v-c2db7dbd] {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.chat-audio-card .audio-player-wrapper .audio-content[data-v-c2db7dbd] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  color: #fff;
}
.chat-audio-card .audio-player-wrapper .audio-content .audio-info .audio-title[data-v-c2db7dbd] {
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 4px;
}
.chat-audio-card .audio-player-wrapper .audio-content .audio-info .audio-subtitle[data-v-c2db7dbd] {
  font-size: 12px;
  opacity: 0.9;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 4px;
}
.chat-audio-card .audio-player-wrapper .audio-content .audio-info .audio-meta[data-v-c2db7dbd] {
  display: flex;
  gap: 8px;
  font-size: 11px;
  opacity: 0.8;
}
.chat-audio-card .audio-player-wrapper .audio-content .audio-info .audio-meta .meta-item[data-v-c2db7dbd] {
  white-space: nowrap;
}
.chat-audio-card .audio-player-wrapper .audio-content .audio-player[data-v-c2db7dbd] audio {
  width: 100%;
  height: 28px;
  border-radius: 4px;
}
.chat-audio-card .audio-player-wrapper .audio-content .audio-player[data-v-c2db7dbd] audio::-webkit-media-controls-panel {
  background: rgba(255, 255, 255, 0.1);
}
.chat-audio-card .audio-player-wrapper .audio-content .audio-player[data-v-c2db7dbd] audio::-webkit-media-controls-timeline {
  background: rgba(255, 255, 255, 0.2);
}
.chat-audio-card .audio-player-wrapper .audio-content .audio-tags[data-v-c2db7dbd] {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.chat-audio-card .audio-player-wrapper .audio-content .audio-tags[data-v-c2db7dbd] .el-tag {
  font-size: 11px;
  padding: 2px 6px;
  height: auto;
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.3);
  color: #fff;
}
.chat-audio-card .audio-player-wrapper .audio-content .audio-tags .tags-more[data-v-c2db7dbd] {
  font-size: 11px;
  padding: 2px 4px;
}.followup-wrapper[data-v-1070b013] {
  width: 100%;
  box-sizing: border-box;
  display: block;
}
.followup-wrapper .option-list[data-v-1070b013] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}
.followup-wrapper .option-list .option-button[data-v-1070b013] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 20px;
  border: 1px solid #e7e9ed;
  padding: 6px 12px;
  background: #f8f9fb;
  color: #1f2329;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.followup-wrapper .option-list .option-button[data-v-1070b013]:hover {
  color: #0052d9;
  border-color: #0052d9;
  background: #f2f5ff;
}
.followup-wrapper .option-list .option-button[data-v-1070b013]:active {
  transform: translateY(1px);
}
.followup-wrapper .option-list .option-button .option-icon[data-v-1070b013] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 14px;
}
.followup-wrapper .option-list .option-button .option-label[data-v-1070b013] {
  display: inline;
}.chat-resource-list[data-v-d3d91185] {
  width: 100%;
  background: #fff;
  border-radius: 8px;
  padding: 16px;
}
.chat-resource-list .resource-header[data-v-d3d91185] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 16px;
}
.chat-resource-list .resource-header .header-left[data-v-d3d91185] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.chat-resource-list .resource-header .header-left .title[data-v-d3d91185] {
  font-size: 16px;
  font-weight: 600;
  color: #1f2329;
}
.chat-resource-list .resource-header .header-left .count[data-v-d3d91185] {
  font-size: 13px;
  color: #8a8f99;
  font-weight: 400;
}
.chat-resource-list .resource-header .header-right[data-v-d3d91185] .el-button {
  font-size: 13px;
  color: #a0a4ad;
}
.chat-resource-list .resource-header .header-right[data-v-d3d91185] .el-button:hover {
  color: #2a64ff;
}
.chat-resource-list .resource-grid[data-v-d3d91185] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  width: 100%;
}
.chat-resource-list .resource-grid .resource-card[data-v-d3d91185] {
  width: 100%;
  height: auto;
  min-height: 150px;
}.chat-content-renderer[data-v-11de701a] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.chat-content-renderer .content-item.text-item[data-v-11de701a] {
  line-height: 1.6;
  color: #303133;
  word-break: break-word;
}
.chat-content-renderer .content-item.text-item[data-v-11de701a] pre {
  background: #f5f7fa;
  padding: 12px;
  border-radius: 6px;
  overflow-x: auto;
  font-size: 12px;
  line-height: 1.5;
  color: #1f2937;
}
.chat-content-renderer .content-item.text-item[data-v-11de701a] code {
  background: #f5f7fa;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
  font-size: 12px;
  color: #d63384;
}
.chat-content-renderer .content-item.text-item[data-v-11de701a] a {
  color: #409eff;
  text-decoration: none;
}
.chat-content-renderer .content-item.text-item[data-v-11de701a] a:hover {
  text-decoration: underline;
}
.chat-content-renderer .content-item.text-item[data-v-11de701a] strong {
  font-weight: 600;
  color: #1f2937;
}
.chat-content-renderer .content-item.text-item[data-v-11de701a] em {
  font-style: italic;
}
.chat-content-renderer .content-item.text-item[data-v-11de701a] br {
  display: block;
  content: "";
}
.chat-content-renderer .content-item.chart-item[data-v-11de701a] {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}
.chat-content-renderer .content-item.media-item[data-v-11de701a] {
  width: 100%;
  max-width: 600px;
}
.chat-content-renderer .content-item.followup-item[data-v-11de701a] {
  width: 100%;
}
.chat-content-renderer .content-item.card-item[data-v-11de701a] {
  padding: 16px;
  background: #f9f9f9;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}
.chat-content-renderer .content-item.card-item .default-card[data-v-11de701a] {
  font-family: "Monaco", "Menlo", monospace;
  font-size: 12px;
  color: #606266;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-word;
}
.chat-content-renderer .content-item.unknown-item[data-v-11de701a] {
  padding: 12px;
  background: #fef0f0;
  border-radius: 6px;
  border-left: 3px solid #f56c6c;
  overflow-x: auto;
}
.chat-content-renderer .content-item.unknown-item pre[data-v-11de701a] {
  margin: 0;
  font-size: 12px;
  color: #f56c6c;
}
.chat-content-renderer .video-collection[data-v-11de701a] {
  width: 100%;
  background-color: #f7f8fb;
  border-radius: 12px;
  padding: 12px;
  margin-bottom: 8px;
}
.chat-content-renderer .video-collection .collection-header[data-v-11de701a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 10px 12px;
}
.chat-content-renderer .video-collection .collection-header .header-left[data-v-11de701a] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 600;
  color: #1f2329;
}
.chat-content-renderer .video-collection .collection-header .header-left .collection-title[data-v-11de701a] {
  font-weight: 600;
}
.chat-content-renderer .video-collection .collection-header .header-left .collection-count[data-v-11de701a] {
  color: #8a8f99;
  font-size: 13px;
  font-weight: 400;
}
.chat-content-renderer .video-collection .collection-header .header-right .view-all-link[data-v-11de701a] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: #a0a4ad;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.2s ease;
}
.chat-content-renderer .video-collection .collection-header .header-right .view-all-link[data-v-11de701a]:hover {
  color: #2a64ff;
  text-decoration: none;
}
.chat-content-renderer .video-grid[data-v-11de701a] {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  padding: 0 10px 10px;
}
.chat-content-renderer .video-grid .video-card[data-v-11de701a] {
  width: 100%;
  height: auto;
  min-height: 150px;
}
.voice-input-wrapper[data-v-9e9ac3ab] {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.voice-btn[data-v-9e9ac3ab] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  background: white;
  color: #666;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: visible;
}
.voice-btn[data-v-9e9ac3ab]:hover:not(:disabled) {
  background: #f5f5f5;
  color: #333;
  border-color: #d0d0d0;
}
.voice-btn.listening[data-v-9e9ac3ab] {
  background: #fff1f0;
  border-color: #ff4d4f;
  color: #ff4d4f;
  animation: pulse-9e9ac3ab 1.5s ease-in-out infinite;
}
.voice-btn.not-supported[data-v-9e9ac3ab] {
  opacity: 0.5;
  cursor: not-allowed;
}
.voice-btn[data-v-9e9ac3ab]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* 监听指示器 */
.listening-indicator[data-v-9e9ac3ab] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pulse-ring[data-v-9e9ac3ab] {
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 77, 79, 0.3);
  animation: pulse-ring-9e9ac3ab 1.5s ease-out infinite;
}
.mic-active[data-v-9e9ac3ab] {
  position: relative;
  z-index: 1;
  color: #ff4d4f;
}

/* 语音状态提示 */
.voice-status[data-v-9e9ac3ab] {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: white;
  padding: 8px 12px;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  z-index: 100;
}
.voice-status[data-v-9e9ac3ab]::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid white;
}
.status-text[data-v-9e9ac3ab] {
  font-size: 12px;
  color: #666;
}

/* 声波动画 */
.voice-wave[data-v-9e9ac3ab] {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 16px;
}
.voice-wave span[data-v-9e9ac3ab] {
  width: 3px;
  height: 100%;
  background: #ff4d4f;
  border-radius: 2px;
  animation: wave-9e9ac3ab 0.8s ease-in-out infinite;
}
.voice-wave span[data-v-9e9ac3ab]:nth-child(1) { animation-delay: 0s;
}
.voice-wave span[data-v-9e9ac3ab]:nth-child(2) { animation-delay: 0.1s;
}
.voice-wave span[data-v-9e9ac3ab]:nth-child(3) { animation-delay: 0.2s;
}
.voice-wave span[data-v-9e9ac3ab]:nth-child(4) { animation-delay: 0.3s;
}
.voice-wave span[data-v-9e9ac3ab]:nth-child(5) { animation-delay: 0.4s;
}

/* 动画 */
@keyframes pulse-9e9ac3ab {
0%, 100% {
    box-shadow: 0 0 0 0 rgba(255, 77, 79, 0.4);
}
50% {
    box-shadow: 0 0 0 8px rgba(255, 77, 79, 0);
}
}
@keyframes pulse-ring-9e9ac3ab {
0% {
    transform: scale(0.8);
    opacity: 1;
}
100% {
    transform: scale(1.5);
    opacity: 0;
}
}
@keyframes wave-9e9ac3ab {
0%, 100% {
    transform: scaleY(0.3);
}
50% {
    transform: scaleY(1);
}
}

/* 过渡动画 */
.fade-enter-active[data-v-9e9ac3ab],
.fade-leave-active[data-v-9e9ac3ab] {
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fade-enter-from[data-v-9e9ac3ab],
.fade-leave-to[data-v-9e9ac3ab] {
  opacity: 0;
  transform: translateX(-50%) translateY(4px);
}

.input-toolbar[data-v-11869386] {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

/* 让直接子组件（含 FileUpload/ImageUpload 根节点）作为 flex 容器垂直居中，避免内部基线影响 */
.input-toolbar[data-v-11869386] > * {
  display: flex;
  align-items: center;
}

/* 统一 el-upload 触发器与内部内容的对齐 */
[data-v-11869386] .input-toolbar .el-upload,[data-v-11869386] .input-toolbar .el-upload__tip,[data-v-11869386] .input-toolbar .el-upload-list {
  display: flex;
  align-items: center;
}

/* 统一所有圆形按钮的尺寸与居中（兼容 circle/is-circle） */
[data-v-11869386] .input-toolbar .el-button.is-circle,[data-v-11869386] .input-toolbar .el-button.circle,
.action-btn[data-v-11869386] {
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 32px; /* 兜底，防止图标受行高影响 */
}

/* 统一图标大小与垂直对齐（包含 tdesign 图标与 svg） */
[data-v-11869386] .input-toolbar .el-button .t-icon,[data-v-11869386] .input-toolbar .el-button svg,[data-v-11869386] .input-toolbar .el-button i {
  font-size: 18px;
  vertical-align: middle;
  line-height: 1;
}
.action-btn[data-v-11869386] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  background: white;
  color: #666;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.action-btn[data-v-11869386]:hover:not(:disabled) {
  background: #f5f5f5;
  color: #333;
  transform: scale(1.05);
}
.action-btn[data-v-11869386]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.send-btn[data-v-11869386] {
  background-color: #c4c4c4;
}
.send-btn.active[data-v-11869386] {
  background-color: #265eec;
  color: white;
}
.send-btn[data-v-11869386]:hover:not(:disabled) {
  background-color: #265eec;
  color: white;
}
.upload-progress[data-v-11869386] {
  position: absolute;
  top: -40px;
  left: 0;
  right: 0;
  background: white;
  padding: 8px 12px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 10;
}
.progress-text[data-v-11869386] {
  font-size: 12px;
  color: #666;
  white-space: nowrap;
}

.advanced-input-box[data-v-8aa90186] {
    background-color: #fff;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid #ebeef5;
}

/* 文件和图片预览区域样式 */
.upload-preview-area[data-v-8aa90186] {
    margin-bottom: 16px;
    padding: 12px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}
.preview-title[data-v-8aa90186] {
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
    font-weight: 500;
}

/* 图片预览样式 */
.image-preview-section[data-v-8aa90186] {
    margin-bottom: 12px;
}
.image-preview-list[data-v-8aa90186] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.image-preview-item[data-v-8aa90186] {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    background: white;
    transition: all 0.2s;
    max-width: 400px;
}
.image-preview-item[data-v-8aa90186]:hover {
    border-color: #d1d5db;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.image-preview-item.uploading[data-v-8aa90186] {
    opacity: 0.7;
    background: #f9fafb;
}
.image-preview-wrapper[data-v-8aa90186] {
    display: flex;
    align-items: center;
    padding: 8px 10px;
    gap: 10px;
    position: relative;
}
.preview-image-container[data-v-8aa90186] {
    width: 60px;
    height: 60px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
}
.preview-image[data-v-8aa90186] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.image-loading[data-v-8aa90186] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.image-loading .is-loading[data-v-8aa90186] {
    font-size: 20px;
    color: #3b82f6;
}
.image-info[data-v-8aa90186] {
    flex: 1;
    min-width: 0;
    max-width: 260px;
}
.image-name[data-v-8aa90186] {
    font-size: 13px;
    font-weight: 500;
    color: #1f2937;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 3px;
    line-height: 1.3;
}
.image-size[data-v-8aa90186] {
    font-size: 11px;
    color: #9ca3af;
    line-height: 1.2;
}

/* 文件预览样式 */
.file-preview-section[data-v-8aa90186] {
    margin-bottom: 0;
}
.file-preview-list[data-v-8aa90186] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.file-preview-item[data-v-8aa90186] {
    display: flex;
    align-items: center;
    padding: 8px 10px;
    background: white;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    gap: 10px;
    position: relative;
    transition: all 0.2s;
    max-width: 400px;
}
.file-preview-item[data-v-8aa90186]:hover {
    border-color: #d1d5db;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.file-preview-item.uploading[data-v-8aa90186] {
    opacity: 0.7;
    background: #f9fafb;
}
.file-icon[data-v-8aa90186] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f3f4f6;
    border-radius: 6px;
    flex-shrink: 0;
    color: #6b7280;
}
.file-icon .is-loading[data-v-8aa90186] {
    font-size: 16px;
    color: #3b82f6;
}
.file-info[data-v-8aa90186] {
    flex: 1;
    min-width: 0;
    max-width: 280px;
}
.file-name[data-v-8aa90186] {
    font-size: 13px;
    font-weight: 500;
    color: #1f2937;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 3px;
    line-height: 1.3;
}
.file-details[data-v-8aa90186] {
    font-size: 11px;
    color: #9ca3af;
    line-height: 1.2;
}
.remove-btn[data-v-8aa90186] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    padding: 0 !important;
    flex-shrink: 0;
    color: #9ca3af !important;
    transition: all 0.2s;
}
.remove-btn[data-v-8aa90186]:hover:not(:disabled) {
    color: #ef4444 !important;
    transform: scale(1.1);
}
.remove-btn[data-v-8aa90186]:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}
.remove-btn .el-icon[data-v-8aa90186] {
    font-size: 14px;
}

/* 输入区域 */
.input-area[data-v-8aa90186] {
    width: 100%;
}
.input-textarea[data-v-8aa90186] {
    margin-bottom: 15px;
    font-size: 16px;
    border: 0px;
    width: 100%;
    resize: none;
    outline: none;
    min-height: 60px;
    padding: 10px;
    box-sizing: border-box;
    overflow-y: hidden;
}
.inline-editor[data-v-8aa90186] {
    min-height: 60px;
    padding: 10px;
    font-size: 16px;
    line-height: 1.8;
    color: #2c3e50;
    border: none;
    outline: none;
    background: transparent;
    word-wrap: break-word;
    margin-bottom: 15px;
}
.inline-editor[data-v-8aa90186]:focus {
    outline: none;
}

/* 槽位基础样式 */
[data-v-8aa90186] .editable-slot {
    display: inline-block;
    font-weight: 500;
    padding: 6px 12px;
    border-radius: 8px;
    margin: 0 4px;
    min-width: 80px;
    text-align: center;
    cursor: text;
    transition: all 0.2s ease;
    outline: none;
}

/* 空槽位的placeholder效果 */
[data-v-8aa90186] .editable-slot[data-empty="true"]::before {
    content: attr(data-placeholder-text);
    color: #999 !important;
    font-style: italic;
    pointer-events: none;
}
[data-v-8aa90186] .editable-slot[data-empty="true"] {
    background-color: #f5f5f5 !important;
    color: #999 !important;
    border: 1px solid rgba(153, 153, 153, 0.3) !important;
}
[data-v-8aa90186] .editable-slot[data-empty="true"]:hover {
    background-color: #e8e8e8 !important;
    border-color: rgba(153, 153, 153, 0.5) !important;
}
[data-v-8aa90186] .editable-slot[data-empty="true"]:focus {
    background-color: #e3f2fd !important;
    color: #265eec !important;
    border-color: #265eec !important;
    box-shadow: 0 0 0 2px rgba(38, 94, 236, 0.2) !important;
}
[data-v-8aa90186] .editable-slot[data-empty="true"]:focus::before {
    display: none;
}

/* 有内容的槽位样式 */
[data-v-8aa90186] .editable-slot[data-empty="false"] {
    background-color: #e3f2fd !important;
    color: #265eec !important;
    border: 1px solid rgba(38, 94, 236, 0.2) !important;
}
[data-v-8aa90186] .editable-slot[data-empty="false"]:hover {
    background-color: #d1e7ff !important;
    border-color: rgba(38, 94, 236, 0.4) !important;
}
[data-v-8aa90186] .editable-slot[data-empty="false"]:focus {
    background-color: #bbdefb !important;
    border-color: #265eec !important;
    box-shadow: 0 0 0 2px rgba(38, 94, 236, 0.2) !important;
}

/* 选项控制行 */
.input-options[data-v-8aa90186] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.option-filters[data-v-8aa90186] {
    display: flex;
    gap: 8px;
    align-items: center;
}
.option-btn[data-v-8aa90186] {
    border-radius: 24px;
    padding: 6px 14px !important;
    margin: 0 !important;
    border: 1px solid #e0e0e0;
    background-color: #fff;
    color: #666;
    font-size: 13px;
    transition: all 0.3s ease;
}
.option-btn[data-v-8aa90186]:hover {
    border-color: #4A90E2;
    color: #4A90E2;
}
.option-btn.active[data-v-8aa90186] {
    background-color: rgba(74, 144, 226, 0.1);
    border-color: #4A90E2;
    color: #4A90E2;
}
.content-chat-panel[data-v-8a3ccf9f] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow: hidden;
}
.dialog-content[data-v-8a3ccf9f] {
  flex: 1;
  overflow-y: auto;
  padding: 16px 20px;
  background: #fff;
}
.dialog-content .message-list[data-v-8a3ccf9f] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.media-cards[data-v-8a3ccf9f] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 12px;
}
.media-card[data-v-8a3ccf9f] {
  display: flex;
  gap: 12px;
  padding: 12px;
  background: #f5f7fa;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
}
.media-card[data-v-8a3ccf9f]:hover {
  background: #e8ebef;
  transform: translateX(4px);
}
.media-card .media-thumbnail[data-v-8a3ccf9f] {
  position: relative;
  width: 120px;
  height: 68px;
  border-radius: 6px;
  overflow: hidden;
  background: #1f2937;
  flex-shrink: 0;
}
.media-card .media-thumbnail img[data-v-8a3ccf9f] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media-card .media-thumbnail .thumbnail-placeholder[data-v-8a3ccf9f] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
}
.media-card .media-thumbnail .play-icon[data-v-8a3ccf9f] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 36px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: all 0.2s;
}
.media-card .media-thumbnail .media-duration[data-v-8a3ccf9f] {
  position: absolute;
  bottom: 4px;
  right: 4px;
  padding: 2px 6px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 4px;
  font-size: 12px;
  color: #fff;
}
.media-card:hover .play-icon[data-v-8a3ccf9f] {
  background: rgba(64, 158, 255, 0.9);
  transform: translate(-50%, -50%) scale(1.1);
}
.media-card .media-info[data-v-8a3ccf9f] {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.media-card .media-info .media-name[data-v-8a3ccf9f] {
  font-size: 14px;
  font-weight: 500;
  color: #303133;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.media-card .media-info .media-meta[data-v-8a3ccf9f] {
  font-size: 12px;
  color: #909399;
}
.dialog-input[data-v-8a3ccf9f] {
  padding: 16px 20px;
  background: white;
  flex-shrink: 0;
}
.media-player-dialog[data-v-8a3ccf9f] .el-dialog__header {
  position: relative;
  z-index: 10;
}
.media-player-dialog[data-v-8a3ccf9f] .el-dialog__headerbtn {
  z-index: 10;
}
.media-player-dialog[data-v-8a3ccf9f] .el-dialog__body {
  padding: 0;
}
.media-player-container .video-player[data-v-8a3ccf9f] {
  width: 100%;
  max-height: 450px;
  background: #000;
  display: block;
}
.media-player-container .audio-player-wrapper[data-v-8a3ccf9f] {
  padding: 40px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.media-player-container .audio-player-wrapper .audio-cover[data-v-8a3ccf9f] {
  width: 120px;
  height: 120px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.media-player-container .audio-player-wrapper .audio-player[data-v-8a3ccf9f] {
  width: 100%;
  max-width: 400px;
}
.dialog-content[data-v-8a3ccf9f]::-webkit-scrollbar {
  width: 4px;
}
.dialog-content[data-v-8a3ccf9f]::-webkit-scrollbar-track {
  background: transparent;
}
.dialog-content[data-v-8a3ccf9f]::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 2px;
}
.dialog-content[data-v-8a3ccf9f]::-webkit-scrollbar-thumb:hover {
  background: #999;
}.chat-content-page[data-v-11f5a13b] {
  display: flex;
  height: 100vh;
  background: #f5f7fa;
  overflow: hidden;
  width: 100%;
}
.chat-content-page[data-v-11f5a13b] .content-chat-panel {
  width: 100%;
  height: 100%;
  flex: 1;
}.ai-chat-test-page[data-v-fc42c565] {
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.not-found-container[data-v-37e16c71] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.not-found-content[data-v-37e16c71] {
  text-align: center;
  color: white;
}
.not-found-content h1[data-v-37e16c71] {
  font-size: 80px;
  margin: 0;
  font-weight: bold;
}
.not-found-content p[data-v-37e16c71] {
  font-size: 24px;
  margin: 20px 0;
}
.current-path[data-v-37e16c71] {
  font-size: 14px !important;
  margin: 10px 0 !important;
  opacity: 0.8;
}
.back-button[data-v-37e16c71] {
  display: inline-block;
  padding: 10px 30px;
  background-color: white;
  color: #667eea;
  text-decoration: none;
  border-radius: 5px;
  font-weight: bold;
  transition: transform 0.2s ease;
}
.back-button[data-v-37e16c71]:hover {
  transform: translateY(-2px);
}
