@charset "UTF-8";
#app {
  font-family: Arial, sans-serif;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

.bubble-view[data-v-1ef0d2cb] {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden;
  background: linear-gradient(135deg, 
    rgba(102, 126, 234, 0.1) 0%, 
    rgba(118, 75, 162, 0.1) 50%, 
    rgba(102, 126, 234, 0.1) 100%);
  border-radius: 20px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* 加载状态 */
.loading-container[data-v-1ef0d2cb] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: white;
}
.loading-spinner[data-v-1ef0d2cb] {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(255, 255, 255, 0.2);
  border-top: 4px solid white;
  border-radius: 50%;
  animation: spin-1ef0d2cb 1s linear infinite;
  margin-bottom: 20px;
}
.loading-text[data-v-1ef0d2cb] {
  font-size: 1.2rem;
  font-weight: 500;
  opacity: 0.9;
}

/* 空状态 */
.empty-container[data-v-1ef0d2cb] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: white;
  text-align: center;
}
.empty-icon[data-v-1ef0d2cb] {
  font-size: 4rem;
  margin-bottom: 20px;
  opacity: 0.6;
  animation: float-1ef0d2cb 3s ease-in-out infinite;
}
.empty-text[data-v-1ef0d2cb] {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 10px;
  opacity: 0.9;
}
.empty-hint[data-v-1ef0d2cb] {
  font-size: 1rem;
  opacity: 0.7;
  font-weight: 400;
}

/* 气泡容器 */
.bubbles-container[data-v-1ef0d2cb] {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* 背景装饰气泡 */
.background-bubbles[data-v-1ef0d2cb] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
.bg-bubble[data-v-1ef0d2cb] {
  position: absolute;
  border-radius: 50%;
  background: linear-gradient(135deg, 
    rgba(255, 255, 255, 0.1) 0%, 
    rgba(255, 255, 255, 0.05) 50%, 
    rgba(255, 255, 255, 0.02) 100%);
  animation: backgroundFloat-1ef0d2cb 20s ease-in-out infinite;
  backdrop-filter: blur(1px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* 动态气泡 */
.animated-bubble[data-v-1ef0d2cb] {
  position: absolute;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  /* 优化内边距 - 根据气泡大小动态调整 */
  padding: clamp(16px, 3vw, 28px);
  box-sizing: border-box;
  
  /* 增强的视觉效果 */
  background-clip: padding-box;
  position: relative;
  overflow: hidden;
}

/* 气泡状态样式 */
.bubble-spawning[data-v-1ef0d2cb] {
  animation: bubbleSpawn-1ef0d2cb 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.bubble-rising[data-v-1ef0d2cb] {
  animation: bubbleFloat-1ef0d2cb 20s linear infinite;
}
.bubble-disappearing[data-v-1ef0d2cb] {
  animation: bubbleDisappear-1ef0d2cb 1.2s cubic-bezier(0.4, 0, 1, 1) forwards;
}

/* 气泡悬停效果 */
.animated-bubble[data-v-1ef0d2cb]:hover {
  transform: scale(1.08) !important;
  filter: brightness(1.15) saturate(1.2) !important;
  box-shadow: 
    0 12px 40px rgba(0, 0, 0, 0.25),
    0 6px 20px rgba(0, 0, 0, 0.15),
    inset 0 3px 12px rgba(255, 255, 255, 0.4),
    inset 0 -3px 12px rgba(0, 0, 0, 0.15),
    0 0 30px rgba(255, 255, 255, 0.3) !important;
  z-index: 100 !important;
}

/* 气泡内容 */
.bubble-content[data-v-1ef0d2cb] {
  text-align: center;
  color: white;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* 优化内容间距 */
  gap: clamp(6px, 1.5vw, 12px);
  /* 增强背景支撑 */
  background: rgba(0, 0, 0, 0.15);
  border-radius: 50%;
  backdrop-filter: blur(2px);
}
.bubble-text[data-v-1ef0d2cb] {
  /* 优化字体大小 - 增大基础字体，提升可读性 */
  font-size: clamp(1rem, 3vw, 1.4rem);
  font-weight: 800;
  line-height: 1.4;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  /* 增强文字对比度和清晰度 - 更强的阴影和描边 */
  text-shadow: 
    0 3px 6px rgba(0, 0, 0, 0.9),
    0 1px 3px rgba(0, 0, 0, 0.8),
    0 0 1px rgba(0, 0, 0, 1);
  letter-spacing: 0.8px;
  word-break: break-word;
  /* 确保中文字符显示良好 */
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  /* 增强文字轮廓 */
  -webkit-text-stroke: 0.5px rgba(0, 0, 0, 0.3);
  color: #ffffff;
  filter: contrast(1.2) brightness(1.1);
}
.bubble-meta[data-v-1ef0d2cb] {
  /* 优化元信息字体和布局 - 增大字体 */
  font-size: clamp(0.75rem, 2.2vw, 0.95rem);
  opacity: 0.98;
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* 增强文字对比度 */
  text-shadow: 
    0 2px 5px rgba(0, 0, 0, 0.9),
    0 1px 3px rgba(0, 0, 0, 0.7),
    0 0 1px rgba(0, 0, 0, 1);
  width: 100%;
  font-weight: 700;
  /* 优化间距 */
  margin-top: clamp(4px, 1vw, 8px);
  gap: clamp(8px, 2vw, 12px);
  color: #ffffff;
  filter: contrast(1.1) brightness(1.05);
}
.bubble-category[data-v-1ef0d2cb] {
  background: rgba(0, 0, 0, 0.4);
  padding: clamp(4px, 1vw, 7px) clamp(8px, 2vw, 12px);
  border-radius: clamp(8px, 2vw, 12px);
  font-size: clamp(0.7rem, 1.8vw, 0.85rem);
  font-weight: 800;
  backdrop-filter: blur(10px);
  border: 2px solid rgba(255, 255, 255, 0.6);
  /* 确保分类标签清晰可见 - 更强的对比度 */
  text-shadow: 
    0 2px 4px rgba(0, 0, 0, 0.9),
    0 1px 2px rgba(0, 0, 0, 0.8);
  white-space: nowrap;
  max-width: 60%;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #ffffff;
  -webkit-text-stroke: 0.3px rgba(0, 0, 0, 0.5);
  filter: contrast(1.3) brightness(1.1);
}
.bubble-time[data-v-1ef0d2cb] {
  font-size: clamp(0.7rem, 1.8vw, 0.85rem);
  opacity: 0.95;
  font-weight: 700;
  /* 增强时间信息的可读性 */
  text-shadow: 
    0 2px 4px rgba(0, 0, 0, 0.9),
    0 1px 2px rgba(0, 0, 0, 0.8);
  white-space: nowrap;
  color: #ffffff;
  filter: contrast(1.2) brightness(1.05);
}

/* 气泡操作按钮 */
.bubble-actions[data-v-1ef0d2cb] {
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 20;
}
.animated-bubble:hover .bubble-actions[data-v-1ef0d2cb] {
  opacity: 1;
  transform: translateX(-50%) translateY(-5px);
}
.action-btn[data-v-1ef0d2cb] {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 8px 12px;
  border: none;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.95);
  color: #333;
  font-size: 0.75rem;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(15px);
  font-weight: 600;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.action-btn[data-v-1ef0d2cb]:hover {
  background: white;
  transform: scale(1.15) translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
  border-color: rgba(255, 255, 255, 0.6);
}
.action-btn.active[data-v-1ef0d2cb] {
  background: linear-gradient(135deg, #ff6b6b 0%, #ff8e8e 100%);
  color: white;
  border-color: #ff6b6b;
}
.action-icon[data-v-1ef0d2cb] {
  font-size: 1rem;
}
.action-count[data-v-1ef0d2cb] {
  font-size: 0.7rem;
  font-weight: 700;
}

/* 气泡弹窗 */
.bubble-modal[data-v-1ef0d2cb] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  animation: fadeIn-1ef0d2cb 0.4s ease;
  backdrop-filter: blur(8px);
}
.bubble-modal-content[data-v-1ef0d2cb] {
  background: linear-gradient(135deg, 
    rgba(255, 255, 255, 0.15) 0%, 
    rgba(255, 255, 255, 0.1) 50%, 
    rgba(255, 255, 255, 0.05) 100%);
  backdrop-filter: blur(25px);
  border-radius: 25px;
  padding: 35px;
  max-width: 520px;
  width: 90%;
  max-height: 80%;
  overflow-y: auto;
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.3);
  animation: slideUp-1ef0d2cb 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 
    0 20px 60px rgba(0, 0, 0, 0.3),
    0 10px 30px rgba(0, 0, 0, 0.2),
    inset 0 2px 10px rgba(255, 255, 255, 0.2);
}
.modal-close[data-v-1ef0d2cb] {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 40px;
  height: 40px;
  border: none;
  background: rgba(255, 255, 255, 0.2);
  color: white;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.modal-close[data-v-1ef0d2cb]:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1) rotate(90deg);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.modal-header[data-v-1ef0d2cb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
  color: white;
}
.modal-category[data-v-1ef0d2cb] {
  font-weight: 700;
  color: #667eea;
  font-size: 1.1rem;
  background: rgba(102, 126, 234, 0.2);
  padding: 5px 12px;
  border-radius: 15px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(102, 126, 234, 0.3);
}
.modal-time[data-v-1ef0d2cb] {
  font-size: 0.95rem;
  opacity: 0.85;
  font-weight: 500;
}
.modal-content[data-v-1ef0d2cb] {
  color: white;
  font-size: 1.15rem;
  line-height: 1.7;
  margin-bottom: 30px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  font-weight: 400;
  letter-spacing: 0.3px;
}
.modal-actions[data-v-1ef0d2cb] {
  display: flex;
  gap: 18px;
  justify-content: center;
}
.modal-action-btn[data-v-1ef0d2cb] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-size: 0.95rem;
  font-weight: 600;
  backdrop-filter: blur(15px);
}
.modal-action-btn[data-v-1ef0d2cb]:hover {
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}
.modal-action-btn.active[data-v-1ef0d2cb] {
  background: linear-gradient(135deg, 
    rgba(102, 126, 234, 0.4) 0%, 
    rgba(102, 126, 234, 0.6) 100%);
  border-color: #667eea;
  box-shadow: 0 4px 20px rgba(102, 126, 234, 0.3);
}

/* 动画关键帧 */
@keyframes spin-1ef0d2cb {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
@keyframes float-1ef0d2cb {
0%, 100% { transform: translateY(0px);
}
50% { transform: translateY(-10px);
}
}
@keyframes backgroundFloat-1ef0d2cb {
0%, 100% { 
    transform: translateY(0px) scale(1);
    opacity: 0.1;
}
25% { 
    transform: translateY(-20px) scale(1.1);
    opacity: 0.2;
}
50% { 
    transform: translateY(-10px) scale(0.9);
    opacity: 0.15;
}
75% { 
    transform: translateY(-30px) scale(1.05);
    opacity: 0.25;
}
}
@keyframes bubbleSpawn-1ef0d2cb {
0% {
    opacity: 0;
    transform: scale(0.3) translateY(20px);
    filter: blur(5px) brightness(0.5);
}
50% {
    opacity: 0.8;
    transform: scale(1.1) translateY(0px);
    filter: blur(2px) brightness(0.8);
}
100% {
    opacity: 1;
    transform: scale(1) translateY(0px);
    filter: blur(0px) brightness(1);
}
}
@keyframes bubbleFloat-1ef0d2cb {
0% { transform: translateY(0px) rotate(0deg);
}
25% { transform: translateY(-5px) rotate(90deg);
}
50% { transform: translateY(0px) rotate(180deg);
}
75% { transform: translateY(-3px) rotate(270deg);
}
100% { transform: translateY(0px) rotate(360deg);
}
}
@keyframes bubbleDisappear-1ef0d2cb {
0% {
    opacity: 1;
    transform: scale(1);
    filter: blur(0px) brightness(1) saturate(1);
}
50% {
    opacity: 0.6;
    transform: scale(1.2);
    filter: blur(2px) brightness(1.2) saturate(0.8);
}
100% {
    opacity: 0;
    transform: scale(1.4);
    filter: blur(8px) brightness(1.5) saturate(0.5);
}
}
@keyframes fadeIn-1ef0d2cb {
from { 
    opacity: 0;
    backdrop-filter: blur(0px);
}
to { 
    opacity: 1;
    backdrop-filter: blur(8px);
}
}
@keyframes slideUp-1ef0d2cb {
from {
    opacity: 0;
    transform: translateY(60px) scale(0.8);
    filter: blur(5px);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0px);
}
}

/* 响应式设计 - 优化清晰度 */
@media (max-width: 768px) {
.bubble-view[data-v-1ef0d2cb] {
    height: 500px;
}
.animated-bubble[data-v-1ef0d2cb] {
    /* 移动端优化内边距 */
    padding: clamp(14px, 4.5vw, 22px);
    /* 确保最小触摸目标 */
    min-width: 65px;
    min-height: 65px;
}
.bubble-content[data-v-1ef0d2cb] {
    /* 移动端增强背景支撑 */
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(3px);
}
.bubble-text[data-v-1ef0d2cb] {
    font-size: clamp(1.1rem, 4vw, 1.3rem);
    line-height: 1.3;
    -webkit-line-clamp: 3;
    letter-spacing: 0.6px;
    font-weight: 900;
    /* 移动端更强的文字对比度 */
    text-shadow: 
      0 4px 8px rgba(0, 0, 0, 0.95),
      0 2px 4px rgba(0, 0, 0, 0.9),
      0 0 2px rgba(0, 0, 0, 1);
    -webkit-text-stroke: 0.8px rgba(0, 0, 0, 0.4);
    filter: contrast(1.3) brightness(1.15);
}
.bubble-meta[data-v-1ef0d2cb] {
    font-size: clamp(0.8rem, 3vw, 0.95rem);
    gap: clamp(8px, 2.5vw, 12px);
    font-weight: 800;
    text-shadow: 
      0 3px 6px rgba(0, 0, 0, 0.95),
      0 1px 3px rgba(0, 0, 0, 0.8);
}
.bubble-category[data-v-1ef0d2cb] {
    padding: clamp(4px, 1.2vw, 6px) clamp(10px, 2.5vw, 14px);
    font-size: clamp(0.75rem, 2.5vw, 0.9rem);
    border-radius: clamp(6px, 1.5vw, 10px);
    font-weight: 900;
    background: rgba(0, 0, 0, 0.5);
    border: 2px solid rgba(255, 255, 255, 0.8);
    text-shadow: 
      0 3px 6px rgba(0, 0, 0, 0.95),
      0 1px 3px rgba(0, 0, 0, 0.9);
}
.bubble-time[data-v-1ef0d2cb] {
    font-size: clamp(0.75rem, 2.5vw, 0.9rem);
    font-weight: 800;
    text-shadow: 
      0 3px 6px rgba(0, 0, 0, 0.95),
      0 1px 3px rgba(0, 0, 0, 0.8);
}
.action-btn[data-v-1ef0d2cb] {
    padding: 8px 12px;
    font-size: 0.8rem;
    font-weight: 700;
    /* 优化移动端触摸目标 */
    min-width: 48px;
    min-height: 48px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(20px);
}
.bubble-modal-content[data-v-1ef0d2cb] {
    padding: 25px;
    margin: 20px;
}
.modal-content[data-v-1ef0d2cb] {
    font-size: 1.1rem;
    line-height: 1.6;
    font-weight: 600;
}
}
@media (max-width: 480px) {
.bubble-view[data-v-1ef0d2cb] {
    height: 450px;
}
.animated-bubble[data-v-1ef0d2cb] {
    /* 小屏幕进一步优化 */
    padding: clamp(12px, 5.5vw, 18px);
    min-width: 60px;
    min-height: 60px;
}
.bubble-content[data-v-1ef0d2cb] {
    /* 小屏幕最强背景支撑 */
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(4px);
}
.bubble-text[data-v-1ef0d2cb] {
    font-size: clamp(1rem, 4.5vw, 1.2rem);
    line-height: 1.25;
    -webkit-line-clamp: 2;
    letter-spacing: 0.4px;
    font-weight: 900;
    /* 小屏幕最强对比度 */
    text-shadow: 
      0 5px 10px rgba(0, 0, 0, 1),
      0 2px 5px rgba(0, 0, 0, 0.95),
      0 0 3px rgba(0, 0, 0, 1);
    -webkit-text-stroke: 1px rgba(0, 0, 0, 0.5);
    filter: contrast(1.4) brightness(1.2);
}
.bubble-meta[data-v-1ef0d2cb] {
    font-size: clamp(0.7rem, 3.5vw, 0.85rem);
    gap: clamp(6px, 2vw, 10px);
    margin-top: clamp(3px, 0.8vw, 6px);
    font-weight: 900;
}
.bubble-category[data-v-1ef0d2cb] {
    padding: clamp(3px, 0.8vw, 5px) clamp(8px, 2vw, 12px);
    font-size: clamp(0.65rem, 3vw, 0.8rem);
    border-radius: clamp(5px, 1.2vw, 8px);
    max-width: 55%;
    background: rgba(0, 0, 0, 0.6);
    border: 2px solid rgba(255, 255, 255, 0.9);
}
.bubble-time[data-v-1ef0d2cb] {
    font-size: clamp(0.65rem, 3vw, 0.8rem);
    font-weight: 900;
}
.bubble-actions[data-v-1ef0d2cb] {
    top: -45px;
}
.action-btn[data-v-1ef0d2cb] {
    padding: 6px 10px;
    font-size: 0.7rem;
    min-width: 44px;
    min-height: 44px;
    font-weight: 800;
}
.modal-actions[data-v-1ef0d2cb] {
    flex-direction: column;
    gap: 12px;
}
.modal-action-btn[data-v-1ef0d2cb] {
    padding: 14px 26px;
    font-size: 1rem;
    font-weight: 700;
}
}

/* 高分辨率屏幕优化 - 增强清晰度 */
@media (min-width: 1200px) {
.bubble-text[data-v-1ef0d2cb] {
    font-size: clamp(1.2rem, 1.5vw, 1.6rem);
    line-height: 1.5;
    font-weight: 800;
    letter-spacing: 1px;
    text-shadow: 
      0 4px 8px rgba(0, 0, 0, 0.9),
      0 2px 4px rgba(0, 0, 0, 0.8),
      0 0 2px rgba(0, 0, 0, 1);
}
.bubble-meta[data-v-1ef0d2cb] {
    font-size: clamp(0.9rem, 1.2vw, 1.1rem);
    font-weight: 800;
}
.bubble-category[data-v-1ef0d2cb] {
    font-size: clamp(0.85rem, 1vw, 1rem);
    padding: clamp(6px, 0.8vw, 10px) clamp(12px, 1.5vw, 16px);
    font-weight: 900;
}
.bubble-time[data-v-1ef0d2cb] {
    font-size: clamp(0.85rem, 1vw, 1rem);
    font-weight: 800;
}
}

.list-view[data-v-3584b6a3] {
  width: 100%;
  min-height: 400px;
}
.loading-container[data-v-3584b6a3],
.empty-container[data-v-3584b6a3] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 400px;
  color: white;
}
.loading-spinner[data-v-3584b6a3] {
  width: 40px;
  height: 40px;
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-top: 4px solid white;
  border-radius: 50%;
  animation: spin-3584b6a3 1s linear infinite;
  margin-bottom: 20px;
}
.loading-spinner.small[data-v-3584b6a3] {
  width: 20px;
  height: 20px;
  border-width: 2px;
  margin: 0;
}
.loading-text[data-v-3584b6a3] {
  font-size: 1.1rem;
  margin: 0;
}
.empty-icon[data-v-3584b6a3] {
  font-size: 4rem;
  margin-bottom: 20px;
  opacity: 0.7;
}
.empty-text[data-v-3584b6a3] {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0 0 10px 0;
}
.empty-hint[data-v-3584b6a3] {
  font-size: 1rem;
  opacity: 0.7;
  margin: 0;
}
.complaints-list[data-v-3584b6a3] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  padding: 20px 0;
}
.complaint-card[data-v-3584b6a3] {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  padding: 20px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  animation: slideInUp-3584b6a3 0.6s ease-out;
}
.complaint-card[data-v-3584b6a3]:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  border-color: rgba(255, 255, 255, 0.4);
}
.complaint-card:hover .card-overlay[data-v-3584b6a3] {
  opacity: 1;
}
.card-header[data-v-3584b6a3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
.category-badge[data-v-3584b6a3] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 20px;
  color: white;
  font-size: 0.85rem;
  font-weight: 600;
}
.category-icon[data-v-3584b6a3] {
  font-size: 1rem;
}
.time-badge[data-v-3584b6a3] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.8rem;
}
.time-icon[data-v-3584b6a3] {
  font-size: 0.9rem;
}
.card-content[data-v-3584b6a3] {
  margin-bottom: 15px;
}
.complaint-text[data-v-3584b6a3] {
  color: white;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-footer[data-v-3584b6a3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.card-stats[data-v-3584b6a3] {
  display: flex;
  gap: 15px;
}
.stat-item[data-v-3584b6a3] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.85rem;
}
.stat-icon[data-v-3584b6a3] {
  font-size: 0.9rem;
}
.card-actions[data-v-3584b6a3] {
  display: flex;
  gap: 8px;
}
.action-btn[data-v-3584b6a3] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  font-size: 0.8rem;
  cursor: pointer;
  transition: all 0.2s ease;
  backdrop-filter: blur(5px);
}
.action-btn[data-v-3584b6a3]:hover {
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
}
.action-btn.active[data-v-3584b6a3] {
  background: rgba(102, 126, 234, 0.3);
  border-color: #667eea;
}
.action-icon[data-v-3584b6a3] {
  font-size: 0.9rem;
}
.action-text[data-v-3584b6a3] {
  font-size: 0.75rem;
  font-weight: 500;
}
.card-overlay[data-v-3584b6a3] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(5px);
}
.overlay-content[data-v-3584b6a3] {
  text-align: center;
  color: white;
}
.overlay-text[data-v-3584b6a3] {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 15px 0;
}
.overlay-btn[data-v-3584b6a3] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 2px solid white;
  border-radius: 25px;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.overlay-btn[data-v-3584b6a3]:hover {
  background: white;
  color: #333;
}
.overlay-icon[data-v-3584b6a3] {
  font-size: 1rem;
}
.load-more-container[data-v-3584b6a3] {
  display: flex;
  justify-content: center;
  margin: 30px 0;
}
.load-more-btn[data-v-3584b6a3] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 30px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 25px;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}
.load-more-btn[data-v-3584b6a3]:hover:not(:disabled) {
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}
.load-more-btn[data-v-3584b6a3]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.load-more-icon[data-v-3584b6a3] {
  font-size: 1.2rem;
}
.load-more-text[data-v-3584b6a3] {
  font-size: 0.9rem;
}
.complaint-modal[data-v-3584b6a3] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  animation: fadeIn-3584b6a3 0.3s ease;
}
.modal-content[data-v-3584b6a3] {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px);
  border-radius: 20px;
  padding: 30px;
  max-width: 600px;
  width: 90%;
  max-height: 80%;
  overflow-y: auto;
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.2);
  animation: slideUp-3584b6a3 0.3s ease;
}
.modal-close[data-v-3584b6a3] {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 30px;
  height: 30px;
  border: none;
  background: rgba(255, 255, 255, 0.2);
  color: white;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.modal-close[data-v-3584b6a3]:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}
.modal-header[data-v-3584b6a3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.modal-category[data-v-3584b6a3] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 20px;
  color: white;
  font-weight: 600;
}
.modal-time[data-v-3584b6a3] {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
}
.modal-body[data-v-3584b6a3] {
  margin-bottom: 25px;
}
.modal-text[data-v-3584b6a3] {
  color: white;
  font-size: 1.1rem;
  line-height: 1.6;
  margin: 0;
}
.modal-footer[data-v-3584b6a3] {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 20px;
}
.modal-stats[data-v-3584b6a3] {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
  justify-content: center;
}
.modal-stat[data-v-3584b6a3] {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
}
.modal-actions[data-v-3584b6a3] {
  display: flex;
  gap: 15px;
  justify-content: center;
}
.modal-action-btn[data-v-3584b6a3] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 25px;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 0.9rem;
  font-weight: 500;
}
.modal-action-btn[data-v-3584b6a3]:hover {
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}
.modal-action-btn.active[data-v-3584b6a3] {
  background: rgba(102, 126, 234, 0.3);
  border-color: #667eea;
}
@keyframes spin-3584b6a3 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
@keyframes slideInUp-3584b6a3 {
from {
    opacity: 0;
    transform: translateY(30px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes fadeIn-3584b6a3 {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes slideUp-3584b6a3 {
from {
    opacity: 0;
    transform: translateY(50px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@media (max-width: 768px) {
.complaints-list[data-v-3584b6a3] {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 15px 0;
}
.complaint-card[data-v-3584b6a3] {
    padding: 15px;
}
.card-actions[data-v-3584b6a3] {
    gap: 6px;
}
.action-btn[data-v-3584b6a3] {
    padding: 5px 8px;
    font-size: 0.75rem;
}
.action-text[data-v-3584b6a3] {
    display: none;
}
.modal-content[data-v-3584b6a3] {
    padding: 20px;
    margin: 20px;
}
.modal-actions[data-v-3584b6a3] {
    flex-direction: column;
    gap: 10px;
}
.modal-action-btn[data-v-3584b6a3] {
    width: 100%;
    justify-content: center;
}
}
@media (max-width: 480px) {
.complaint-card[data-v-3584b6a3] {
    padding: 12px;
}
.complaint-text[data-v-3584b6a3] {
    font-size: 0.9rem;
    -webkit-line-clamp: 3;
}
.card-header[data-v-3584b6a3] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.category-badge[data-v-3584b6a3] {
    font-size: 0.8rem;
    padding: 4px 8px;
}
.time-badge[data-v-3584b6a3] {
    font-size: 0.75rem;
}
}

.complaint-wall[data-v-31bd939a] {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 20px;
}
.wall-header[data-v-31bd939a] {
  text-align: center;
  margin-bottom: 30px;
}
.wall-title[data-v-31bd939a] {
  color: white;
  font-size: 2.5rem;
  margin: 0;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
.title-icon[data-v-31bd939a] {
  margin-right: 10px;
}
.wall-subtitle[data-v-31bd939a] {
  color: rgba(255,255,255,0.9);
  font-size: 1.2rem;
  margin: 10px 0 0 0;
}
.category-selector[data-v-31bd939a] {
  margin: 20px 0;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.category-selector button[data-v-31bd939a] {
  padding: 10px 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
  color: white;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
  backdrop-filter: blur(10px);
}
.category-selector button[data-v-31bd939a]:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.category-selector button.active[data-v-31bd939a] {
  background: rgba(255, 255, 255, 0.3);
  border-color: white;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
.wall-content[data-v-31bd939a] {
  max-width: 1200px;
  margin: 0 auto;
}
.view-toggle[data-v-31bd939a] {
  margin: 20px 0;
  display: flex;
  gap: 15px;
  justify-content: center;
}
.view-toggle button[data-v-31bd939a] {
  padding: 12px 24px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
  color: white;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 600;
  font-size: 1rem;
  backdrop-filter: blur(10px);
}
.view-toggle button[data-v-31bd939a]:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.view-toggle button.active[data-v-31bd939a] {
  background: rgba(255, 255, 255, 0.3);
  border-color: white;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
.stats-info[data-v-31bd939a] {
  margin: 20px 0;
  padding: 15px 20px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  color: white;
  text-align: center;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.stats-info p[data-v-31bd939a] {
  margin: 5px 0;
  font-size: 1rem;
  font-weight: 500;
}

/* 响应式设计 */
@media (max-width: 768px) {
.complaint-wall[data-v-31bd939a] {
    padding: 15px;
}
.wall-title[data-v-31bd939a] {
    font-size: 2rem;
}
.wall-subtitle[data-v-31bd939a] {
    font-size: 1rem;
}
.category-selector[data-v-31bd939a] {
    gap: 8px;
}
.category-selector button[data-v-31bd939a] {
    padding: 8px 16px;
    font-size: 0.9rem;
}
.view-toggle[data-v-31bd939a] {
    gap: 10px;
}
.view-toggle button[data-v-31bd939a] {
    padding: 10px 20px;
    font-size: 0.9rem;
}
.stats-info[data-v-31bd939a] {
    padding: 12px 15px;
}
.stats-info p[data-v-31bd939a] {
    font-size: 0.9rem;
}
}
@media (max-width: 480px) {
.complaint-wall[data-v-31bd939a] {
    padding: 10px;
}
.wall-title[data-v-31bd939a] {
    font-size: 1.8rem;
}
.category-selector[data-v-31bd939a] {
    gap: 6px;
}
.category-selector button[data-v-31bd939a] {
    padding: 6px 12px;
    font-size: 0.8rem;
}
.view-toggle[data-v-31bd939a] {
    flex-direction: column;
    gap: 8px;
}
.view-toggle button[data-v-31bd939a] {
    padding: 8px 16px;
    font-size: 0.8rem;
}
}
[data-v-6007213d] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body[data-v-6007213d] {
    font-family: 'Microsoft YaHei', sans-serif;
    background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%);
    color: #333;
    min-height: 100vh;
    height: 100vh; /* 确保填满整个视口高度 */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden; /* 防止水平滚动条 */
}
.container[data-v-6007213d] {
    width: 100%;
    max-width: 1200px;
    min-height: 100vh; /* 确保容器至少填满视口高度 */
    margin: 0 auto;
    padding: 20px;
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch; /* 确保子元素拉伸填满容器 */
    box-sizing: border-box;
}

/* 主菜单样式 */
.main-menu[data-v-6007213d] {
    text-align: center;
    width: 100%;
    max-width: 600px;
    background: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    transform: translateY(0);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.main-menu[data-v-6007213d]:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}
.main-menu h1[data-v-6007213d] {
    font-size: 3em;
    margin-bottom: 40px;
    color: #ff4d4d;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
    animation: titlePulse-6007213d 2s infinite;
}
@keyframes titlePulse-6007213d {
0% { transform: scale(1);
}
50% { transform: scale(1.05);
}
100% { transform: scale(1);
}
}
.menu-button[data-v-6007213d] {
    padding: 20px 40px;
    font-size: 1.4em;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}
.menu-button[data-v-6007213d]:before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: 0.5s;
}
.menu-button[data-v-6007213d]:hover:before {
    left: 100%;
}
.menu-button.truth[data-v-6007213d] {
    background: linear-gradient(45deg, #4CAF50, #45a049);
    color: white;
    box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}
.menu-button.dare[data-v-6007213d] {
    background: linear-gradient(45deg, #ff4d4d, #ff3333);
    color: white;
    box-shadow: 0 4px 15px rgba(255, 77, 77, 0.3);
}
.menu-buttons[data-v-6007213d] {
    display: flex;
    gap: 20px;
    justify-content: center;
}
.menu-button[data-v-6007213d]:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.truth[data-v-6007213d] {
    background-color: #4CAF50;
    color: white;
}
.dare[data-v-6007213d] {
    background-color: #ff4d4d;
    color: white;
}
.spin-button[data-v-6007213d] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 15px 30px;
    font-size: 18px;
    background-color: #ff4d4d;
    color: white;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s;
    z-index: 2;
}
.spin-button[data-v-6007213d]:hover {
    background-color: #ff3333;
    transform: translate(-50%, -50%) scale(1.05);
}
.spin-button[data-v-6007213d]:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
}

/* 建议表单样式 */
.suggestion-form[data-v-6007213d] {
    background: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
    padding: 35px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    width: 400px;
    transform: translateY(0);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.suggestion-form[data-v-6007213d]:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}
.form-group input[data-v-6007213d],
.form-group textarea[data-v-6007213d],
.form-group select[data-v-6007213d] {
    width: 100%;
    padding: 15px;
    border: 2px solid #ddd;
    border-radius: 12px;
    font-size: 16px;
    transition: all 0.3s ease;
    background-color: #f8f9fa;
}
.form-group input[data-v-6007213d]:focus,
.form-group textarea[data-v-6007213d]:focus,
.form-group select[data-v-6007213d]:focus {
    outline: none;
    border-color: #4CAF50;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.2);
    background-color: #fff;
}
.submit-button[data-v-6007213d] {
    width: 100%;
    padding: 15px;
    background: linear-gradient(45deg, #4CAF50, #45a049);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}
.submit-button[data-v-6007213d]:before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: 0.5s;
}
.submit-button[data-v-6007213d]:hover:before {
    left: 100%;
}
.submit-button[data-v-6007213d]:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(76, 175, 80, 0.3);
}
.form-group textarea[data-v-6007213d] {
    height: 120px;
    resize: vertical;
}
.submit-button[data-v-6007213d] {
    width: 100%;
    padding: 12px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s;
}
.submit-button[data-v-6007213d]:hover {
    background-color: #45a049;
    transform: translateY(-2px);
}
.submit-button[data-v-6007213d]:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
    transform: none;
}

/* 模态框样式 */
.modal[data-v-6007213d] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 100;
}
.modal-content[data-v-6007213d] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 30px;
    border-radius: 15px;
    text-align: center;
    min-width: 300px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.modal h2[data-v-6007213d] {
    color: #ff4d4d;
    margin-bottom: 15px;
    font-size: 1.5em;
}
.modal p[data-v-6007213d] {
    margin-bottom: 20px;
    font-size: 1.1em;
    color: #333;
}
.close-button[data-v-6007213d] {
    padding: 10px 25px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    transition: all 0.3s;
}
.close-button[data-v-6007213d]:hover {
    background-color: #45a049;
    transform: translateY(-2px);
}

/* 响应式设计 */
@media (max-width: 768px) {
.container[data-v-6007213d] {
        padding: 10px;
        gap: 20px;
}
.suggestion-form[data-v-6007213d] {
        width: 100%;
        max-width: 400px;
}
.menu-buttons[data-v-6007213d] {
        flex-direction: column;
        gap: 15px;
}
.main-menu h1[data-v-6007213d] {
        font-size: 2em;
}
}

/* 必填项标记 */
.required[data-v-6007213d]::after {
    content: '*';
    color: #ff4d4d;
    margin-left: 4px;
}

/* 字数限制提示 */
.char-count[data-v-6007213d] {
    font-size: 12px;
    color: #666;
    text-align: right;
    margin-top: 4px;
}

/* 表单验证提示 */
.form-group input[data-v-6007213d]:invalid,
.form-group textarea[data-v-6007213d]:invalid {
    border-color: #ff4d4d;
}
.validation-message[data-v-6007213d] {
    font-size: 12px;
    color: #ff4d4d;
    margin-top: 4px;
    display: none;
}
.form-group input:invalid + .validation-message[data-v-6007213d],
.form-group textarea:invalid + .validation-message[data-v-6007213d] {
    display: block;
}

/* 响应式设计 */
@media (max-width: 768px) {
.container[data-v-6007213d] {
        padding: 10px;
        gap: 20px;
}
.suggestion-form[data-v-6007213d] {
        width: 100%;
        max-width: 400px;
}
.menu-buttons[data-v-6007213d] {
        flex-direction: column;
        gap: 15px;
}
.main-menu h1[data-v-6007213d] {
        font-size: 2em;
}
}

/* 匿名吐槽墙公共样式 */

/* CSS变量定义 */
[data-v-6007213d]:root {
  /* 主色调 */
  --complaint-primary: #667eea;
  --complaint-secondary: #764ba2;
  --complaint-accent: #f093fb;
  
  /* 分类颜色 */
  --category-life: #FF6B6B;
  --category-work: #4ECDC4;
  --category-emotion: #45B7D1;
  --category-study: #96CEB4;
  --category-society: #FFEAA7;
  --category-other: #DDA0DD;
  
  /* 状态颜色 */
  --success-color: #4CAF50;
  --warning-color: #FF9800;
  --error-color: #F44336;
  --info-color: #2196F3;
  
  /* 背景和边框 */
  --glass-bg: rgba(255, 255, 255, 0.1);
  --glass-border: rgba(255, 255, 255, 0.2);
  --glass-hover: rgba(255, 255, 255, 0.2);
  --glass-active: rgba(255, 255, 255, 0.3);
  
  /* 阴影 */
  --shadow-light: 0 2px 10px rgba(0, 0, 0, 0.1);
  --shadow-medium: 0 4px 20px rgba(0, 0, 0, 0.2);
  --shadow-heavy: 0 8px 30px rgba(0, 0, 0, 0.3);
  --shadow-glow: 0 0 20px rgba(102, 126, 234, 0.3);
  
  /* 动画时长 */
  --transition-fast: 0.2s;
  --transition-normal: 0.3s;
  --transition-slow: 0.5s;
  
  /* 边框圆角 */
  --radius-small: 8px;
  --radius-medium: 15px;
  --radius-large: 20px;
  --radius-round: 50px;
  
  /* 间距 */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  
  /* 字体大小 */
  --font-xs: 0.75rem;
  --font-sm: 0.875rem;
  --font-base: 1rem;
  --font-lg: 1.125rem;
  --font-xl: 1.25rem;
  --font-2xl: 1.5rem;
  
  /* Z-index层级 */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
}

/* 全局重置和基础样式 */
.complaint-wall[data-v-6007213d] * {
  box-sizing: border-box;
}
.complaint-wall[data-v-6007213d] {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: white;
}

/* 玻璃态效果基础类 */
.glass[data-v-6007213d] {
  background: var(--glass-bg);
  backdrop-filter: blur(10px);
  border: 1px solid var(--glass-border);
}
.glass-hover[data-v-6007213d]:hover {
  background: var(--glass-hover);
  border-color: var(--glass-active);
}
.glass-active[data-v-6007213d] {
  background: var(--glass-active);
  border-color: var(--glass-active);
}

/* 按钮基础样式 */
.btn[data-v-6007213d] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-sm) var(--spacing-md);
  border: 2px solid transparent;
  border-radius: var(--radius-round);
  font-size: var(--font-sm);
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--transition-normal) ease;
  user-select: none;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}
.btn[data-v-6007213d]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}
.btn[data-v-6007213d]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3);
}
.btn[data-v-6007213d]:focus:not(:focus-visible) {
  box-shadow: none;
}

/* 按钮变体 */
.btn-primary[data-v-6007213d] {
  background: linear-gradient(135deg, var(--complaint-primary) 0%, var(--complaint-secondary) 100%);
  color: white;
  border-color: var(--complaint-primary);
}
.btn-primary[data-v-6007213d]:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: var(--shadow-glow);
}
.btn-secondary[data-v-6007213d] {
  background: var(--glass-bg);
  color: white;
  border-color: var(--glass-border);
}
.btn-secondary[data-v-6007213d]:hover:not(:disabled) {
  background: var(--glass-hover);
  border-color: var(--glass-active);
  transform: translateY(-1px);
}
.btn-ghost[data-v-6007213d] {
  background: transparent;
  color: white;
  border-color: rgba(255, 255, 255, 0.3);
}
.btn-ghost[data-v-6007213d]:hover:not(:disabled) {
  background: var(--glass-bg);
  border-color: var(--glass-border);
}

/* 按钮大小 */
.btn-sm[data-v-6007213d] {
  padding: var(--spacing-xs) var(--spacing-sm);
  font-size: var(--font-xs);
}
.btn-lg[data-v-6007213d] {
  padding: var(--spacing-md) var(--spacing-xl);
  font-size: var(--font-lg);
}

/* 卡片样式 */
.card[data-v-6007213d] {
  background: var(--glass-bg);
  backdrop-filter: blur(10px);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-large);
  padding: var(--spacing-lg);
  transition: all var(--transition-normal) ease;
}
.card[data-v-6007213d]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-medium);
  border-color: var(--glass-active);
}
.card-header[data-v-6007213d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-md);
}
.card-title[data-v-6007213d] {
  font-size: var(--font-xl);
  font-weight: 600;
  margin: 0;
  color: white;
}
.card-content[data-v-6007213d] {
  color: white;
  line-height: 1.6;
}
.card-footer[data-v-6007213d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: var(--spacing-md);
  padding-top: var(--spacing-md);
  border-top: 1px solid var(--glass-border);
}

/* 徽章样式 */
.badge[data-v-6007213d] {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xs);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--radius-round);
  font-size: var(--font-xs);
  font-weight: 600;
  color: white;
}
.badge-primary[data-v-6007213d] {
  background: var(--complaint-primary);
}
.badge-secondary[data-v-6007213d] {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
}

/* 分类颜色类 */
.category-life[data-v-6007213d] {
  background-color: var(--category-life) !important;
}
.category-work[data-v-6007213d] {
  background-color: var(--category-work) !important;
}
.category-emotion[data-v-6007213d] {
  background-color: var(--category-emotion) !important;
}
.category-study[data-v-6007213d] {
  background-color: var(--category-study) !important;
}
.category-society[data-v-6007213d] {
  background-color: var(--category-society) !important;
}
.category-other[data-v-6007213d] {
  background-color: var(--category-other) !important;
}

/* 状态颜色类 */
.text-success[data-v-6007213d] {
  color: var(--success-color) !important;
}
.text-warning[data-v-6007213d] {
  color: var(--warning-color) !important;
}
.text-error[data-v-6007213d] {
  color: var(--error-color) !important;
}
.text-info[data-v-6007213d] {
  color: var(--info-color) !important;
}
.bg-success[data-v-6007213d] {
  background-color: var(--success-color) !important;
}
.bg-warning[data-v-6007213d] {
  background-color: var(--warning-color) !important;
}
.bg-error[data-v-6007213d] {
  background-color: var(--error-color) !important;
}
.bg-info[data-v-6007213d] {
  background-color: var(--info-color) !important;
}

/* 加载动画 */
.loading-spinner[data-v-6007213d] {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid white;
  border-radius: 50%;
  animation: spin-6007213d 1s linear infinite;
}
.loading-spinner.lg[data-v-6007213d] {
  width: 40px;
  height: 40px;
  border-width: 4px;
}
@keyframes spin-6007213d {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/* 脉冲动画 */
.pulse[data-v-6007213d] {
  animation: pulse-6007213d 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-6007213d {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0.5;
}
}

/* 弹跳动画 */
.bounce[data-v-6007213d] {
  animation: bounce-6007213d 1s infinite;
}
@keyframes bounce-6007213d {
0%, 20%, 53%, 80%, 100% {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transform: translate3d(0, 0, 0);
}
40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -30px, 0);
}
70% {
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transform: translate3d(0, -15px, 0);
}
90% {
    transform: translate3d(0, -4px, 0);
}
}

/* 淡入动画 */
.fade-in[data-v-6007213d] {
  animation: fadeIn-6007213d 0.5s ease-in;
}
@keyframes fadeIn-6007213d {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}

/* 滑入动画 */
.slide-in-up[data-v-6007213d] {
  animation: slideInUp-6007213d 0.5s ease-out;
}
@keyframes slideInUp-6007213d {
from {
    opacity: 0;
    transform: translateY(30px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.slide-in-down[data-v-6007213d] {
  animation: slideInDown-6007213d 0.5s ease-out;
}
@keyframes slideInDown-6007213d {
from {
    opacity: 0;
    transform: translateY(-30px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/* 缩放动画 */
.scale-in[data-v-6007213d] {
  animation: scaleIn-6007213d 0.3s ease-out;
}
@keyframes scaleIn-6007213d {
from {
    opacity: 0;
    transform: scale(0.9);
}
to {
    opacity: 1;
    transform: scale(1);
}
}

/* 工具类 */
.text-center[data-v-6007213d] {
  text-align: center;
}
.text-left[data-v-6007213d] {
  text-align: left;
}
.text-right[data-v-6007213d] {
  text-align: right;
}
.flex[data-v-6007213d] {
  display: flex;
}
.flex-col[data-v-6007213d] {
  flex-direction: column;
}
.items-center[data-v-6007213d] {
  align-items: center;
}
.justify-center[data-v-6007213d] {
  justify-content: center;
}
.justify-between[data-v-6007213d] {
  justify-content: space-between;
}
.gap-1[data-v-6007213d] {
  gap: var(--spacing-xs);
}
.gap-2[data-v-6007213d] {
  gap: var(--spacing-sm);
}
.gap-3[data-v-6007213d] {
  gap: var(--spacing-md);
}
.gap-4[data-v-6007213d] {
  gap: var(--spacing-lg);
}
.gap-5[data-v-6007213d] {
  gap: var(--spacing-xl);
}
.w-full[data-v-6007213d] {
  width: 100%;
}
.h-full[data-v-6007213d] {
  height: 100%;
}
.relative[data-v-6007213d] {
  position: relative;
}
.absolute[data-v-6007213d] {
  position: absolute;
}
.fixed[data-v-6007213d] {
  position: fixed;
}
.hidden[data-v-6007213d] {
  display: none;
}
.overflow-hidden[data-v-6007213d] {
  overflow: hidden;
}
.overflow-auto[data-v-6007213d] {
  overflow: auto;
}
.cursor-pointer[data-v-6007213d] {
  cursor: pointer;
}
.cursor-not-allowed[data-v-6007213d] {
  cursor: not-allowed;
}
.select-none[data-v-6007213d] {
  user-select: none;
}
.pointer-events-none[data-v-6007213d] {
  pointer-events: none;
}

/* 响应式工具类 */
@media (max-width: 768px) {
.md\:hidden[data-v-6007213d] {
    display: none;
}
.md\:flex[data-v-6007213d] {
    display: flex;
}
.md\:block[data-v-6007213d] {
    display: block;
}
.md\:text-sm[data-v-6007213d] {
    font-size: var(--font-sm);
}
.md\:p-2[data-v-6007213d] {
    padding: var(--spacing-sm);
}
.md\:p-3[data-v-6007213d] {
    padding: var(--spacing-md);
}
}
@media (max-width: 480px) {
.sm\:hidden[data-v-6007213d] {
    display: none;
}
.sm\:flex[data-v-6007213d] {
    display: flex;
}
.sm\:block[data-v-6007213d] {
    display: block;
}
.sm\:text-xs[data-v-6007213d] {
    font-size: var(--font-xs);
}
.sm\:p-1[data-v-6007213d] {
    padding: var(--spacing-xs);
}
.sm\:p-2[data-v-6007213d] {
    padding: var(--spacing-sm);
}
}

/* 滚动条样式 */
.complaint-wall[data-v-6007213d] ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.complaint-wall[data-v-6007213d] ::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}
.complaint-wall[data-v-6007213d] ::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  transition: background var(--transition-normal) ease;
}
.complaint-wall[data-v-6007213d] ::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

/* 选择文本样式 */
.complaint-wall[data-v-6007213d] ::selection {
  background: rgba(102, 126, 234, 0.3);
  color: white;
}
.complaint-wall[data-v-6007213d] ::-moz-selection {
  background: rgba(102, 126, 234, 0.3);
  color: white;
}

/* 焦点样式 */
.complaint-wall[data-v-6007213d] *:focus {
  outline: none;
}
.complaint-wall[data-v-6007213d] *:focus-visible {
  outline: 2px solid var(--complaint-primary);
  outline-offset: 2px;
}

/* 打印样式 */
@media print {
.complaint-wall[data-v-6007213d] {
    background: white !important;
    color: black !important;
}
.complaint-wall .glass[data-v-6007213d] {
    background: white !important;
    border: 1px solid #ccc !important;
}
.complaint-wall .btn[data-v-6007213d] {
    display: none !important;
}
}

/* 高对比度模式 */
@media (prefers-contrast: high) {
.complaint-wall[data-v-6007213d] {
    --glass-bg: rgba(255, 255, 255, 0.2);
    --glass-border: rgba(255, 255, 255, 0.4);
    --glass-hover: rgba(255, 255, 255, 0.3);
    --glass-active: rgba(255, 255, 255, 0.5);
}
}

/* 减少动画模式 */
@media (prefers-reduced-motion: reduce) {
.complaint-wall[data-v-6007213d] * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
}
}

/* 深色主题适配 */
@media (prefers-color-scheme: dark) {
.complaint-wall[data-v-6007213d] {
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.1);
    --glass-hover: rgba(255, 255, 255, 0.1);
    --glass-active: rgba(255, 255, 255, 0.2);
}
}
.loading-overlay[data-v-6007213d] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}
.loading-spinner[data-v-6007213d] {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  animation: spin-6007213d 1s linear infinite;
}
@keyframes spin-6007213d {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/* 匿名吐槽墙按钮样式 */
.menu-button.complaint-wall[data-v-6007213d] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  color: white;
  font-weight: 600;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.menu-button.complaint-wall[data-v-6007213d]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}
.menu-button.complaint-wall[data-v-6007213d]:hover::before {
  left: 100%;
}
.menu-button.complaint-wall[data-v-6007213d]:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(102, 126, 234, 0.4);
}

/* 吐槽墙容器样式 */
.complaint-wall-container[data-v-6007213d] {
  width: 100%;
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 20px;
  box-sizing: border-box;
}

/* 吐槽墙头部样式 */
.complaint-wall-header[data-v-6007213d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.complaint-wall-header h2[data-v-6007213d] {
  color: white;
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  flex: 1;
  text-align: center;
}

/* 返回按钮样式 */
.back-button[data-v-6007213d] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 25px;
  color: white;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}
.back-button[data-v-6007213d]:hover {
  background: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateX(-5px);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
}
.back-button .icon-arrow-left[data-v-6007213d] {
  font-size: 1.2rem;
  transition: transform 0.3s ease;
}
.back-button:hover .icon-arrow-left[data-v-6007213d] {
  transform: translateX(-3px);
}

/* 响应式设计 */
@media (max-width: 768px) {
.complaint-wall-container[data-v-6007213d] {
    padding: 15px;
}
.complaint-wall-header[data-v-6007213d] {
    flex-direction: column;
    gap: 15px;
    text-align: center;
    padding: 15px;
}
.complaint-wall-header h2[data-v-6007213d] {
    font-size: 1.5rem;
    order: 1;
}
.back-button[data-v-6007213d] {
    order: 2;
    align-self: flex-start;
}
}
@media (max-width: 480px) {
.complaint-wall-header[data-v-6007213d] {
    padding: 12px;
}
.complaint-wall-header h2[data-v-6007213d] {
    font-size: 1.3rem;
}
.back-button[data-v-6007213d] {
    padding: 10px 16px;
    font-size: 0.9rem;
}
}
[data-v-4eb6d8e8] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body[data-v-4eb6d8e8] {
    font-family: 'Microsoft YaHei', sans-serif;
    background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%);
    color: #333;
    min-height: 100vh;
    height: 100vh; /* 确保填满整个视口高度 */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden; /* 防止水平滚动条 */
}
.container[data-v-4eb6d8e8] {
    width: 100%;
    max-width: 1200px;
    min-height: 100vh; /* 确保容器至少填满视口高度 */
    margin: 0 auto;
    padding: 20px;
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch; /* 确保子元素拉伸填满容器 */
    box-sizing: border-box;
}

/* 主菜单样式 */
.main-menu[data-v-4eb6d8e8] {
    text-align: center;
    width: 100%;
    max-width: 600px;
    background: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    transform: translateY(0);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.main-menu[data-v-4eb6d8e8]:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}
.main-menu h1[data-v-4eb6d8e8] {
    font-size: 3em;
    margin-bottom: 40px;
    color: #ff4d4d;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
    animation: titlePulse-4eb6d8e8 2s infinite;
}
@keyframes titlePulse-4eb6d8e8 {
0% { transform: scale(1);
}
50% { transform: scale(1.05);
}
100% { transform: scale(1);
}
}
.menu-button[data-v-4eb6d8e8] {
    padding: 20px 40px;
    font-size: 1.4em;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}
.menu-button[data-v-4eb6d8e8]:before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: 0.5s;
}
.menu-button[data-v-4eb6d8e8]:hover:before {
    left: 100%;
}
.menu-button.truth[data-v-4eb6d8e8] {
    background: linear-gradient(45deg, #4CAF50, #45a049);
    color: white;
    box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}
.menu-button.dare[data-v-4eb6d8e8] {
    background: linear-gradient(45deg, #ff4d4d, #ff3333);
    color: white;
    box-shadow: 0 4px 15px rgba(255, 77, 77, 0.3);
}
.menu-buttons[data-v-4eb6d8e8] {
    display: flex;
    gap: 20px;
    justify-content: center;
}
.menu-button[data-v-4eb6d8e8]:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.truth[data-v-4eb6d8e8] {
    background-color: #4CAF50;
    color: white;
}
.dare[data-v-4eb6d8e8] {
    background-color: #ff4d4d;
    color: white;
}
.spin-button[data-v-4eb6d8e8] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 15px 30px;
    font-size: 18px;
    background-color: #ff4d4d;
    color: white;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s;
    z-index: 2;
}
.spin-button[data-v-4eb6d8e8]:hover {
    background-color: #ff3333;
    transform: translate(-50%, -50%) scale(1.05);
}
.spin-button[data-v-4eb6d8e8]:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
}

/* 建议表单样式 */
.suggestion-form[data-v-4eb6d8e8] {
    background: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
    padding: 35px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    width: 400px;
    transform: translateY(0);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.suggestion-form[data-v-4eb6d8e8]:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}
.form-group input[data-v-4eb6d8e8],
.form-group textarea[data-v-4eb6d8e8],
.form-group select[data-v-4eb6d8e8] {
    width: 100%;
    padding: 15px;
    border: 2px solid #ddd;
    border-radius: 12px;
    font-size: 16px;
    transition: all 0.3s ease;
    background-color: #f8f9fa;
}
.form-group input[data-v-4eb6d8e8]:focus,
.form-group textarea[data-v-4eb6d8e8]:focus,
.form-group select[data-v-4eb6d8e8]:focus {
    outline: none;
    border-color: #4CAF50;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.2);
    background-color: #fff;
}
.submit-button[data-v-4eb6d8e8] {
    width: 100%;
    padding: 15px;
    background: linear-gradient(45deg, #4CAF50, #45a049);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}
.submit-button[data-v-4eb6d8e8]:before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: 0.5s;
}
.submit-button[data-v-4eb6d8e8]:hover:before {
    left: 100%;
}
.submit-button[data-v-4eb6d8e8]:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(76, 175, 80, 0.3);
}
.form-group textarea[data-v-4eb6d8e8] {
    height: 120px;
    resize: vertical;
}
.submit-button[data-v-4eb6d8e8] {
    width: 100%;
    padding: 12px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s;
}
.submit-button[data-v-4eb6d8e8]:hover {
    background-color: #45a049;
    transform: translateY(-2px);
}
.submit-button[data-v-4eb6d8e8]:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
    transform: none;
}

/* 模态框样式 */
.modal[data-v-4eb6d8e8] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 100;
}
.modal-content[data-v-4eb6d8e8] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 30px;
    border-radius: 15px;
    text-align: center;
    min-width: 300px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.modal h2[data-v-4eb6d8e8] {
    color: #ff4d4d;
    margin-bottom: 15px;
    font-size: 1.5em;
}
.modal p[data-v-4eb6d8e8] {
    margin-bottom: 20px;
    font-size: 1.1em;
    color: #333;
}
.close-button[data-v-4eb6d8e8] {
    padding: 10px 25px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    transition: all 0.3s;
}
.close-button[data-v-4eb6d8e8]:hover {
    background-color: #45a049;
    transform: translateY(-2px);
}

/* 响应式设计 */
@media (max-width: 768px) {
.container[data-v-4eb6d8e8] {
        padding: 10px;
        gap: 20px;
}
.suggestion-form[data-v-4eb6d8e8] {
        width: 100%;
        max-width: 400px;
}
.menu-buttons[data-v-4eb6d8e8] {
        flex-direction: column;
        gap: 15px;
}
.main-menu h1[data-v-4eb6d8e8] {
        font-size: 2em;
}
}

/* 必填项标记 */
.required[data-v-4eb6d8e8]::after {
    content: '*';
    color: #ff4d4d;
    margin-left: 4px;
}

/* 字数限制提示 */
.char-count[data-v-4eb6d8e8] {
    font-size: 12px;
    color: #666;
    text-align: right;
    margin-top: 4px;
}

/* 表单验证提示 */
.form-group input[data-v-4eb6d8e8]:invalid,
.form-group textarea[data-v-4eb6d8e8]:invalid {
    border-color: #ff4d4d;
}
.validation-message[data-v-4eb6d8e8] {
    font-size: 12px;
    color: #ff4d4d;
    margin-top: 4px;
    display: none;
}
.form-group input:invalid + .validation-message[data-v-4eb6d8e8],
.form-group textarea:invalid + .validation-message[data-v-4eb6d8e8] {
    display: block;
}

/* 响应式设计 */
@media (max-width: 768px) {
.container[data-v-4eb6d8e8] {
        padding: 10px;
        gap: 20px;
}
.suggestion-form[data-v-4eb6d8e8] {
        width: 100%;
        max-width: 400px;
}
.menu-buttons[data-v-4eb6d8e8] {
        flex-direction: column;
        gap: 15px;
}
.main-menu h1[data-v-4eb6d8e8] {
        font-size: 2em;
}
}
.back-button[data-v-4eb6d8e8] {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
@media (max-width: 768px) {
.container[data-v-4eb6d8e8] {
        width: 100%;
        padding: 10px 5px;
}
    padding: 6px 12px;
    font-size: 12px;
    max-width: 100px;
}
  padding: 8px 16px;
  font-size: 14px;
  max-width: 120px;
  white-space: nowrap;
  background: #ff6b6b;
  color: white;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  z-index: 1000;
}
.back-button[data-v-4eb6d8e8]:hover {
  background: #ff5252;
  box-shadow: 0 6px 8px rgba(0,0,0,0.15);
}
.wheel-container[data-v-4eb6d8e8] {
  position: relative;
  margin: 20px auto;
}
.result-modal[data-v-4eb6d8e8] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1001;
}
.modal-content[data-v-4eb6d8e8] {
  background: linear-gradient(135deg, #fff5f5, #ffe3e3);
  border-radius: 15px;
  padding: 2rem;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
  text-align: center;
  max-width: 80%;
}
.modal-icon[data-v-4eb6d8e8] {
  font-size: 3rem;
  color: #ff6b6b;
  margin-bottom: 1rem;
}
.fade-enter-active[data-v-4eb6d8e8],
.fade-leave-active[data-v-4eb6d8e8] {
  transition: opacity 0.3s;
}
.fade-enter-from[data-v-4eb6d8e8],
.fade-leave-to[data-v-4eb6d8e8] {
  opacity: 0;
}

/* Lucky Wheel风格样式 */
.lucky-wheel-home[data-v-f71ed2a4] {
  min-height: 100vh;
  background: #0a0a0a;
  display: flex;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  color: #ffffff;
}

/* 左侧导航栏样式 */
.sidebar-navigation[data-v-f71ed2a4] {
  width: 240px;
  background: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  z-index: 1000;
  overflow-y: auto;
  backdrop-filter: blur(20px);
}
.sidebar-header[data-v-f71ed2a4] {
  padding: 1.5rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.logo[data-v-f71ed2a4] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff;
}
.logo i[data-v-f71ed2a4] {
  color: #4facfe;
  font-size: 1.5rem;
}
.sidebar-menu[data-v-f71ed2a4] {
  padding: 1rem 0;
}
.menu-item[data-v-f71ed2a4] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.5rem;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
  border-left: 3px solid transparent;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  margin: 0.25rem 0.5rem;
}
.menu-item[data-v-f71ed2a4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s ease;
}
.menu-item[data-v-f71ed2a4]:hover::before {
  left: 100%;
}
.menu-item[data-v-f71ed2a4]:hover {
  background: linear-gradient(135deg, rgba(79, 172, 254, 0.15), rgba(79, 172, 254, 0.25));
  color: #ffffff;
  border-left-color: #4facfe;
  transform: translateX(5px);
  box-shadow: 0 5px 20px rgba(79, 172, 254, 0.3);
}
.menu-item.active[data-v-f71ed2a4] {
  background: linear-gradient(135deg, rgba(79, 172, 254, 0.2), rgba(79, 172, 254, 0.3));
  color: #4facfe;
  border-left-color: #4facfe;
  transform: translateX(5px);
  box-shadow: 0 5px 20px rgba(79, 172, 254, 0.4);
}
.menu-item i[data-v-f71ed2a4] {
  width: 20px;
  text-align: center;
  font-size: 1rem;
}

/* 主内容区域 */
.main-content[data-v-f71ed2a4] {
  flex: 1;
  margin-left: 240px;
  min-height: 100vh;
  background: #0a0a0a;
  position: relative;
}

/* 顶部导航栏 */
.top-navigation[data-v-f71ed2a4] {
  height: 60px;
  background: rgba(26, 26, 46, 0.95);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2rem;
  position: sticky;
  top: 0;
  z-index: 100;
}
.search-container[data-v-f71ed2a4] {
  flex: 1;
  max-width: 500px;
}
.search-box[data-v-f71ed2a4] {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 0.5rem 1rem;
  gap: 0.75rem;
  transition: all 0.3s ease;
}
.search-box[data-v-f71ed2a4]:focus-within {
  border-color: #4facfe;
  background: rgba(79, 172, 254, 0.05);
}
.search-box i[data-v-f71ed2a4] {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.9rem;
}
.search-box input[data-v-f71ed2a4] {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #ffffff;
  font-size: 0.9rem;
}
.search-box input[data-v-f71ed2a4]::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.top-nav-actions[data-v-f71ed2a4] {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.nav-action[data-v-f71ed2a4] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  color: rgba(255, 255, 255, 0.7);
}
.nav-action[data-v-f71ed2a4]:hover {
  background: rgba(79, 172, 254, 0.1);
  color: #4facfe;
}

/* 动态背景 */
.hero-background[data-v-f71ed2a4] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: 
    radial-gradient(circle at 20% 80%, rgba(79, 172, 254, 0.15) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(102, 126, 234, 0.15) 0%, transparent 50%),
    radial-gradient(circle at 40% 40%, rgba(0, 242, 254, 0.1) 0%, transparent 50%),
    linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 50%, #16213e 100%);
  z-index: -1;
  overflow: hidden;
}

/* 浮动形状 */
.floating-shapes[data-v-f71ed2a4] {
  position: absolute;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0.5;
  pointer-events: none; /* 确保不会阻止点击事件 */
}
.shape[data-v-f71ed2a4] {
  position: absolute;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
  border-radius: 50%;
  backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.shape-1[data-v-f71ed2a4] {
  width: 150px;
  height: 150px;
  top: 10%;
  left: 10%;
  animation: float-1-f71ed2a4 20s ease-in-out infinite alternate;
}
.shape-2[data-v-f71ed2a4] {
  width: 100px;
  height: 100px;
  top: 60%;
  left: 20%;
  animation: float-2-f71ed2a4 15s ease-in-out infinite alternate;
}
.shape-3[data-v-f71ed2a4] {
  width: 200px;
  height: 200px;
  top: 30%;
  right: 15%;
  animation: float-3-f71ed2a4 25s ease-in-out infinite alternate;
}
.shape-4[data-v-f71ed2a4] {
  width: 80px;
  height: 80px;
  bottom: 20%;
  right: 25%;
  animation: float-4-f71ed2a4 18s ease-in-out infinite alternate;
}
.shape-5[data-v-f71ed2a4] {
  width: 120px;
  height: 120px;
  bottom: 10%;
  left: 30%;
  animation: float-5-f71ed2a4 22s ease-in-out infinite alternate;
}
@keyframes float-1-f71ed2a4 {
0% { transform: translate(0, 0) rotate(0deg);
}
100% { transform: translate(50px, 30px) rotate(20deg);
}
}
@keyframes float-2-f71ed2a4 {
0% { transform: translate(0, 0) rotate(0deg);
}
100% { transform: translate(-30px, 50px) rotate(-15deg);
}
}
@keyframes float-3-f71ed2a4 {
0% { transform: translate(0, 0) rotate(0deg);
}
100% { transform: translate(-40px, -60px) rotate(10deg);
}
}
@keyframes float-4-f71ed2a4 {
0% { transform: translate(0, 0) rotate(0deg);
}
100% { transform: translate(20px, -40px) rotate(-20deg);
}
}
@keyframes float-5-f71ed2a4 {
0% { transform: translate(0, 0) rotate(0deg);
}
100% { transform: translate(40px, 25px) rotate(15deg);
}
}
.hero-background[data-v-f71ed2a4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  background-image: 
    radial-gradient(circle at 25% 25%, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    radial-gradient(circle at 75% 75%, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 50px 50px;
  background-attachment: fixed; /* 确保背景固定，不随滚动而移动 */
  animation: float-f71ed2a4 20s ease-in-out infinite;
  z-index: 0;
  pointer-events: none; /* 确保不会阻止点击事件 */
}
@keyframes float-f71ed2a4 {
0%, 100% { transform: translateY(0px) rotate(0deg);
}
50% { transform: translateY(-20px) rotate(1deg);
}
}

/* Hero Section */
.hero-section[data-v-f71ed2a4] {
  position: relative;
  z-index: 10;
  text-align: center;
  padding: 2rem 2rem 1.5rem;
  background: rgba(26, 26, 46, 0.8);
  backdrop-filter: blur(20px);
  border-radius: 16px;
  margin: 1rem 0 2rem;
  border: 1px solid rgba(79, 172, 254, 0.1);
}

/* 主容器 */
.main-container[data-v-f71ed2a4] {
  position: relative;
  z-index: 1;
  padding: 2rem;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.hero-content[data-v-f71ed2a4] {
  /* 完全独立的内容宽度，绝对隔离下方功能区域影响 */
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
  z-index: 11;
  /* 强化布局隔离，确保内容区域完全独立，不受任何外部影响 */
  isolation: isolate;
  contain: layout style size;
  transform: translateZ(0);
  overflow: visible;
}
.hero-title[data-v-f71ed2a4] {
  margin: 0 0 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.gradient-text[data-v-f71ed2a4] {
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 700;
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 50%, #667eea 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.02em;
  margin-bottom: 0.5rem;
}
.gradient-text-secondary[data-v-f71ed2a4] {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 600;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.01em;
  margin-bottom: 1rem;
}
@keyframes glow-f71ed2a4 {
from { filter: drop-shadow(0 0 20px rgba(102, 126, 234, 0.5));
}
to { filter: drop-shadow(0 0 30px rgba(118, 75, 162, 0.8));
}
}
.subtitle[data-v-f71ed2a4] {
  font-size: clamp(1rem, 2.5vw, 1.5rem);
  font-weight: 300;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.05em;
  margin-top: 0.5rem;
}

/* 打字效果样式 */
.typing-effect[data-v-f71ed2a4] {
  position: relative;
  display: block;
  min-height: 1.5em;
  width: 100%;
  text-align: center;
}
.typing-effect[data-v-f71ed2a4]::after {
  content: '|';
  color: #667eea;
  font-weight: bold;
  animation: blink-f71ed2a4 1s infinite;
  margin-left: 2px;
}
@keyframes blink-f71ed2a4 {
0%, 50% { opacity: 1;
}
51%, 100% { opacity: 0;
}
}
.hero-description[data-v-f71ed2a4] {
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  margin: 1.5rem auto 0;
  /* 完全独立的描述区域宽度，不受任何外部影响 */
  width: 100%;
  max-width: 600px;
  box-sizing: border-box;
  position: relative;
  /* 强化描述区域完全独立，绝对不被下方内容挤压 */
  isolation: isolate;
  contain: layout style size;
  transform: translateZ(0);
  overflow: visible;
}

/* 核心功能区 */
.core-features-section[data-v-f71ed2a4] {
  flex-shrink: 0;
}

/* 平板端适配 */
@media (max-width: 768px) and (min-width: 481px) {
.hero-section[data-v-f71ed2a4] {
    padding: 1.5rem 1rem 1.2rem;
    min-height: 200px;
}
.main-container[data-v-f71ed2a4] {
    padding: 1.5rem 1.2rem;
    max-width: 100%;
    min-width: 480px;
}
.core-features-section[data-v-f71ed2a4] {
    /* 平板端移除padding-top，让内容正常显示 */
    margin-bottom: 1.5rem;
}
.core-features-grid[data-v-f71ed2a4] {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
    padding: 0 0.5rem;
}
.more-features-grid[data-v-f71ed2a4] {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    padding: 0 1rem;
}
}
@media (max-width: 768px) {
.core-features-section[data-v-f71ed2a4] {
    /* 移动端移除padding-top，让内容正常显示 */
}
}
.section-title[data-v-f71ed2a4] {
  font-size: 2rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 2rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  position: relative;
  padding-bottom: 0.5rem;
}
.section-title[data-v-f71ed2a4]::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #ff6b6b, #8ec5fc);
  border-radius: 3px;
}
.core-features-grid[data-v-f71ed2a4] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  padding: 0 1rem;
  max-width: 1200px;
  margin: 0 auto;
}

/* 更多功能区样式 */
.more-features-section[data-v-f71ed2a4] {
  flex-shrink: 0;
}

/* 移动端更多功能区域优化 */
@media (max-width: 768px) {
.more-features-section[data-v-f71ed2a4] {
    margin-top: 1.5rem;
}
}
@media (max-width: 480px) {
  /* 移动端优化展开动画 */
@keyframes slideDown-f71ed2a4 {
0% {
      opacity: 0;
      transform: scaleY(0);
      max-height: 0;
}
100% {
      opacity: 1;
      transform: scaleY(1);
      max-height: 1500px;
}
}
@keyframes slideUp-f71ed2a4 {
0% {
      opacity: 1;
      transform: scaleY(1);
      max-height: 1500px;
}
100% {
      opacity: 0;
      transform: scaleY(0);
      max-height: 0;
}
}
  
  /* 移动端优化主容器间距 */
.main-container[data-v-f71ed2a4] {
    gap: 1.5rem;
}
  
  /* 移动端优化更多功能网格 */
.more-features-grid[data-v-f71ed2a4] {
    padding: 0 1rem;
    gap: 1rem;
    margin-bottom: 1.5rem; /* 确保底部有足够空间 */
}
}
.more-features-header[data-v-f71ed2a4] {
  cursor: pointer;
  padding: 1rem 1.5rem;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  margin: 0 1rem 1rem 1rem;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  backdrop-filter: blur(10px);
}
.more-features-header[data-v-f71ed2a4]:hover {
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-2px);
}
.more-features-header .section-title[data-v-f71ed2a4] {
  margin: 0;
  font-size: 1.3rem;
}
.more-features-header .fas[data-v-f71ed2a4] {
  transition: transform 0.3s ease;
}
.more-features-header .fas.rotated[data-v-f71ed2a4] {
  transform: rotate(45deg);
}
.toggle-hint[data-v-f71ed2a4] {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
  font-weight: 400;
}
.more-features-grid[data-v-f71ed2a4] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  padding: 0 1rem;
  max-width: 1200px;
  margin: 0 auto;
}



/* 展开/收起动画 */
.slide-down-enter-active[data-v-f71ed2a4] {
  animation: slideDown-f71ed2a4 0.4s ease-out forwards;
}
.slide-down-leave-active[data-v-f71ed2a4] {
  animation: slideUp-f71ed2a4 0.3s ease-in forwards;
}
@keyframes slideDown-f71ed2a4 {
0% {
    opacity: 0;
    transform: scaleY(0);
    max-height: 0;
}
100% {
    opacity: 1;
    transform: scaleY(1);
    max-height: 2000px;
}
}
@keyframes slideUp-f71ed2a4 {
0% {
    opacity: 1;
    transform: scaleY(1);
    max-height: 2000px;
}
100% {
    opacity: 0;
    transform: scaleY(0);
    max-height: 0;
}
}

/* 功能卡片 - Lucky Wheel风格 */
.feature-card[data-v-f71ed2a4] {
  position: relative;
  background: rgba(26, 26, 46, 0.8);
  border: 1px solid rgba(79, 172, 254, 0.2);
  border-radius: 16px;
  padding: 0;
  cursor: pointer;
  transition: all 0.3s ease;
  backdrop-filter: blur(20px);
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}
.feature-card[data-v-f71ed2a4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.feature-card[data-v-f71ed2a4]:hover::before {
  opacity: 1;
}
.card-glow[data-v-f71ed2a4] {
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(135deg, transparent, rgba(102, 126, 234, 0.5), transparent);
  border-radius: 22px;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
}
.feature-card:hover .card-glow[data-v-f71ed2a4] {
  opacity: 1;
  animation: rotate-f71ed2a4 3s linear infinite;
}
@keyframes rotate-f71ed2a4 {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}
.feature-card[data-v-f71ed2a4]:hover {
  transform: translateY(-4px);
  border-color: rgba(79, 172, 254, 0.5);
  box-shadow: 0 12px 48px rgba(79, 172, 254, 0.2);
  background: rgba(26, 26, 46, 0.9);
}
.feature-card.active[data-v-f71ed2a4] {
  background: rgba(79, 172, 254, 0.1);
  border-color: rgba(79, 172, 254, 0.6);
  transform: translateY(-4px);
  box-shadow: 0 12px 48px rgba(79, 172, 254, 0.3);
}
.card-content[data-v-f71ed2a4] {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-align: center;
  gap: 0.5rem;
}
.card-icon[data-v-f71ed2a4] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  background: linear-gradient(135deg, rgba(79, 172, 254, 0.2), rgba(102, 126, 234, 0.2));
  color: #4facfe;
  margin: 0 auto 1rem;
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(79, 172, 254, 0.2);
}
.feature-card:hover .card-icon[data-v-f71ed2a4] {
  transform: scale(1.05);
  background: linear-gradient(135deg, rgba(79, 172, 254, 0.3), rgba(102, 126, 234, 0.3));
  box-shadow: 0 6px 24px rgba(79, 172, 254, 0.3);
  color: #ffffff;
}
.card-info[data-v-f71ed2a4] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
.card-info h3[data-v-f71ed2a4] {
  margin: 0 0 0.5rem;
  font-size: 1.1rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
}
.card-info p[data-v-f71ed2a4] {
  margin: 0 0 1rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.4;
  font-size: 0.85rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-tag[data-v-f71ed2a4] {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 500;
  transition: all 0.3s ease;
  margin-top: auto;
  background: rgba(79, 172, 254, 0.15);
  color: #4facfe;
  border: 1px solid rgba(79, 172, 254, 0.3);
}
.feature-card:hover .card-tag[data-v-f71ed2a4] {
  background: rgba(79, 172, 254, 0.25);
  border-color: rgba(79, 172, 254, 0.5);
  color: #ffffff;
}

/* 统一的标签样式，符合Lucky Wheel主题 */

/* 不同类别的卡片特殊效果 */
.ai-category:hover .card-glow[data-v-f71ed2a4] {
  background: linear-gradient(135deg, transparent, rgba(102, 126, 234, 0.6), transparent);
}
.creative-category:hover .card-glow[data-v-f71ed2a4] {
  background: linear-gradient(135deg, transparent, rgba(240, 147, 251, 0.6), transparent);
}
.tool-category:hover .card-glow[data-v-f71ed2a4] {
  background: linear-gradient(135deg, transparent, rgba(79, 172, 254, 0.6), transparent);
}
.adventure-category:hover .card-glow[data-v-f71ed2a4] {
  background: linear-gradient(135deg, transparent, rgba(67, 233, 123, 0.6), transparent);
}
.game-category:hover .card-glow[data-v-f71ed2a4] {
  background: linear-gradient(135deg, transparent, rgba(250, 112, 154, 0.6), transparent);
}
.classic-category:hover .card-glow[data-v-f71ed2a4] {
  background: linear-gradient(135deg, transparent, rgba(168, 237, 234, 0.6), transparent);
}
.memory-category:hover .card-glow[data-v-f71ed2a4] {
  background: linear-gradient(135deg, transparent, rgba(210, 153, 194, 0.6), transparent);
}
.enhanced-category:hover .card-glow[data-v-f71ed2a4] {
  background: linear-gradient(135deg, transparent, rgba(255, 154, 158, 0.6), transparent);
}
.social-category:hover .card-glow[data-v-f71ed2a4] {
  background: linear-gradient(135deg, transparent, rgba(102, 126, 234, 0.6), transparent);
}
.demo-category:hover .card-glow[data-v-f71ed2a4] {
  background: linear-gradient(135deg, transparent, rgba(255, 193, 7, 0.6), transparent);
}





/* 子选项样式 */
.sub-options[data-v-f71ed2a4] {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
.sub-option-card[data-v-f71ed2a4] {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 1.5rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 280px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(20px);
}
.sub-option-card[data-v-f71ed2a4]:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
  border-color: rgba(102, 126, 234, 0.5);
}
.sub-option-card[data-v-f71ed2a4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(102, 126, 234, 0.1), transparent);
  transition: left 0.5s;
}
.sub-option-card[data-v-f71ed2a4]:hover::before {
  left: 100%;
}
.sub-icon[data-v-f71ed2a4] {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #667eea;
  transition: all 0.3s ease;
}
.sub-option-card:hover .sub-icon[data-v-f71ed2a4] {
  transform: scale(1.1);
  color: #764ba2;
}
.sub-option-card h4[data-v-f71ed2a4] {
  margin: 1rem 0;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
}
.sub-option-card p[data-v-f71ed2a4] {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
  line-height: 1.4;
}

/* 响应式样式 - 优化布局 */
@media (max-width: 1200px) {
.features-grid[data-v-f71ed2a4] {
    grid-template-columns: repeat(4, 1fr);
    gap: 0.8rem;
}
}
@media (max-width: 900px) {
.features-grid[data-v-f71ed2a4] {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.7rem;
}
.card-content[data-v-f71ed2a4] {
    padding: 1rem;
    gap: 0.8rem;
}
.card-icon[data-v-f71ed2a4] {
    width: 40px;
    height: 40px;
    font-size: 1.3rem;
}
.card-info h3[data-v-f71ed2a4] {
    font-size: 1rem;
}
.card-info p[data-v-f71ed2a4] {
    font-size: 0.8rem;
}
}
@media (max-width: 768px) {
.sidebar-navigation[data-v-f71ed2a4] {
    transform: translateX(-100%);
    transition: transform 0.3s ease;
}
.main-content[data-v-f71ed2a4] {
    margin-left: 0;
    padding: 1rem;
}
.top-navigation[data-v-f71ed2a4] {
    left: 0;
    padding: 0 1rem;
}
.main-container[data-v-f71ed2a4] {
    padding: 1.2rem 1rem;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}
.hero-section[data-v-f71ed2a4] {
    padding: 1.8rem 0 1.2rem;
    margin-bottom: 1.8rem;
    flex-shrink: 0;
}
.hero-title[data-v-f71ed2a4] {
    margin-bottom: 1.2rem;
}
.gradient-text[data-v-f71ed2a4] {
    font-size: clamp(2rem, 8vw, 2.5rem);
    line-height: 1.3;
    margin-bottom: 0.6rem;
}
.subtitle[data-v-f71ed2a4] {
    font-size: clamp(1rem, 4vw, 1.2rem);
    margin-top: 0.5rem;
    opacity: 0.9;
    min-height: 1.8em;
    display: block;
    line-height: 1.4;
}
.hero-description[data-v-f71ed2a4] {
    font-size: clamp(0.9rem, 3.5vw, 1rem);
    line-height: 1.5;
    margin-top: 1.2rem;
    opacity: 0.8;
}
.core-features-grid[data-v-f71ed2a4] {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    padding: 0 0.8rem;
    margin-bottom: 2rem;
}
.more-features-grid[data-v-f71ed2a4] {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem;
    padding: 0 0.8rem;
}
.section-title[data-v-f71ed2a4] {
    font-size: 1.5rem;
    margin-bottom: 1.2rem;
}
.more-features-header[data-v-f71ed2a4] {
    padding: 1.3rem 1.5rem;
    margin: 0 0.8rem 1.5rem 0.8rem;
    border-radius: 18px;
}
.more-features-header .section-title[data-v-f71ed2a4] {
    font-size: 1.3rem;
}
.feature-card[data-v-f71ed2a4] {
    border-radius: 20px;
    min-height: 140px;
    transition: all 0.3s ease;
}
.feature-card[data-v-f71ed2a4]:hover {
    transform: translateY(-3px);
}
.card-content[data-v-f71ed2a4] {
    padding: 1.4rem 1rem;
    gap: 0.8rem;
    flex-direction: column;
    text-align: center;
    justify-content: center;
}
.card-icon[data-v-f71ed2a4] {
    width: 44px;
    height: 44px;
    font-size: 1.3rem;
    margin: 0 auto 0.6rem;
    border-radius: 14px;
    flex-shrink: 0;
}
.card-info[data-v-f71ed2a4] {
    text-align: center;
    flex: 1;
}
.card-info h3[data-v-f71ed2a4] {
    font-size: 1.05rem;
    margin: 0 0 0.5rem;
    line-height: 1.3;
    font-weight: 600;
}
.card-info p[data-v-f71ed2a4] {
    font-size: 0.8rem;
    margin: 0 0 0.7rem;
    line-height: 1.4;
    opacity: 0.85;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.card-tag[data-v-f71ed2a4] {
    font-size: 0.7rem;
    padding: 0.3rem 0.6rem;
    margin-top: 0.3rem;
    border-radius: 10px;
    font-weight: 500;
}
.sub-options[data-v-f71ed2a4] {
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
}
.sub-option-card[data-v-f71ed2a4] {
    width: 100%;
    max-width: 400px;
    padding: 1.6rem;
    margin: 0 auto;
    border-radius: 18px;
}
.sub-icon[data-v-f71ed2a4] {
    font-size: 1.8rem;
}
}
@media (max-width: 480px) {
.hero-section[data-v-f71ed2a4] {
    /* 移动端使用fixed定位，完全脱离下方内容布局影响 */
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding: 0.8rem 0.6rem 0.6rem;
    background: rgba(10, 10, 10, 0.98);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    min-height: 150px;
    /* 移动端完全独立宽度设置，绝对不受功能区域展开影响 */
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    z-index: 1000;
    /* 移动端最强化布局隔离，确保标题区域完全独立，绝不被挤压 */
    isolation: isolate;
    contain: layout style size;
    transform: translateZ(0);
    overflow: visible;
}
.main-container[data-v-f71ed2a4] {
    margin-top: 150px;
    padding: 1rem 0.6rem 0.8rem;
    max-width: 100%;
    min-width: 280px;
    gap: 1rem;
}
.hero-title[data-v-f71ed2a4] {
    margin-bottom: 0.8rem;
}
.gradient-text[data-v-f71ed2a4] {
    font-size: clamp(1.6rem, 8vw, 2rem);
    line-height: 1.3;
    margin-bottom: 0.5rem;
}
.subtitle[data-v-f71ed2a4] {
    font-size: clamp(0.8rem, 4vw, 0.9rem);
    margin-top: 0.4rem;
    opacity: 0.9;
    min-height: 1.5em;
    display: block;
}
.hero-description[data-v-f71ed2a4] {
    font-size: clamp(0.8rem, 3.5vw, 0.85rem);
    line-height: 1.5;
    margin-top: 1rem;
    opacity: 0.8;
    padding: 0 0.5rem;
}
.core-features-section[data-v-f71ed2a4] {
    margin-top: 0;
    padding: 0 0.8rem;
}
.core-features-grid[data-v-f71ed2a4] {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6rem;
    padding: 0 0.3rem;
    margin-bottom: 1.2rem;
}
.more-features-section[data-v-f71ed2a4] {
    margin-top: 1rem;
    padding: 0 0.6rem;
    /* 确保展开内容不会被截断 */
    overflow: visible;
}
.more-features-grid[data-v-f71ed2a4] {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6rem;
    padding: 0 0.3rem;
    max-width: 100%;
}
.section-title[data-v-f71ed2a4] {
    font-size: 1.3rem;
    margin-bottom: 1rem;
}
.more-features-header[data-v-f71ed2a4] {
    padding: 1rem 1.2rem;
    margin: 0 0.4rem 1rem 0.4rem;
    border-radius: 14px;
    position: relative; /* 添加相对定位 */
    z-index: 2; /* 确保在更多功能区域上方 */
}
.more-features-header .section-title[data-v-f71ed2a4] {
    font-size: 1.2rem;
}
.feature-card[data-v-f71ed2a4] {
    border-radius: 16px;
    min-height: 110px;
    transition: all 0.3s ease;
}
.feature-card[data-v-f71ed2a4]:hover {
    transform: translateY(-2px);
}
.card-content[data-v-f71ed2a4] {
    padding: 1rem 0.6rem;
    gap: 0.5rem;
    flex-direction: column;
    text-align: center;
    justify-content: center;
}
.card-icon[data-v-f71ed2a4] {
    width: 32px;
    height: 32px;
    font-size: 1rem;
    margin: 0 auto 0.3rem;
    border-radius: 10px;
    flex-shrink: 0;
}
.card-info[data-v-f71ed2a4] {
    text-align: center;
    flex: 1;
}
.card-info h3[data-v-f71ed2a4] {
    font-size: 0.9rem;
    margin: 0 0 0.3rem;
    line-height: 1.3;
    font-weight: 600;
}
.card-info p[data-v-f71ed2a4] {
    font-size: 0.7rem;
    margin: 0 0 0.4rem;
    line-height: 1.4;
    opacity: 0.85;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.card-tag[data-v-f71ed2a4] {
    font-size: 0.65rem;
    padding: 0.25rem 0.6rem;
    margin-top: 0.2rem;
    border-radius: 10px;
    font-weight: 500;
    backdrop-filter: blur(3px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    letter-spacing: 0.03em;
}
.menu-button[data-v-f71ed2a4] {
    padding: 0.9rem 1.6rem;
    font-size: 1rem;
    margin: 0.4rem;
    border-radius: 12px;
}
.sub-option-card[data-v-f71ed2a4] {
    padding: 1.3rem;
    border-radius: 16px;
}
}

/* 高分辨率屏幕优化 */
@media (min-width: 1400px) {
.main-container[data-v-f71ed2a4] {
    max-width: 1600px;
}
.core-features-grid[data-v-f71ed2a4] {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
}
.more-features-grid[data-v-f71ed2a4] {
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
}
.card-content[data-v-f71ed2a4] {
    padding: 2.5rem;
}
.card-icon[data-v-f71ed2a4] {
    width: 70px;
    height: 70px;
    font-size: 2rem;
}
.card-info h3[data-v-f71ed2a4] {
    font-size: 1.4rem;
}
.card-info p[data-v-f71ed2a4] {
    font-size: 1rem;
}
}

/* 平板设备优化 */
@media (max-width: 1024px) and (min-width: 768px) {
.core-features-grid[data-v-f71ed2a4],
  .more-features-grid[data-v-f71ed2a4] {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}
.hero-title[data-v-f71ed2a4] {
    font-size: 2.5rem;
}
.hero-description[data-v-f71ed2a4] {
    font-size: 1.1rem;
    max-width: 600px;
}
.floating-shapes .shape[data-v-f71ed2a4] {
    opacity: 0.6;
}
}

/* 移动设备优化 */
@media (max-width: 767px) {
.core-features-grid[data-v-f71ed2a4],
  .more-features-grid[data-v-f71ed2a4] {
    grid-template-columns: 1fr;
    gap: 1.2rem;
    padding: 0 1rem;
}
.hero-title[data-v-f71ed2a4] {
    font-size: 2rem;
}
.hero-description[data-v-f71ed2a4] {
    font-size: 1rem;
    max-width: 100%;
    padding: 0 1rem;
}
.floating-shapes[data-v-f71ed2a4] {
    opacity: 0.4;
}
.floating-shapes .shape[data-v-f71ed2a4] {
    transform: scale(0.8);
}
}

/* 暗色主题适配 */
@media (prefers-color-scheme: dark) {
.modern-home[data-v-f71ed2a4] {
    background: #000;
}
.hero-background[data-v-f71ed2a4] {
    background: 
      radial-gradient(circle at 20% 80%, rgba(120, 119, 198, 0.4) 0%, transparent 50%),
      radial-gradient(circle at 80% 20%, rgba(255, 119, 198, 0.4) 0%, transparent 50%),
      radial-gradient(circle at 40% 40%, rgba(120, 219, 255, 0.3) 0%, transparent 50%),
      linear-gradient(135deg, #000 0%, #1a1a2e 50%, #16213e 100%);
    position: absolute;
    min-height: 100%;
    height: auto;
}
.feature-card[data-v-f71ed2a4] {
    background: rgba(25, 25, 35, 0.7);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.card-icon[data-v-f71ed2a4] {
    background: rgba(255, 255, 255, 0.08);
}
}

/* 减少动画效果（用户偏好） */
@media (prefers-reduced-motion: reduce) {
.hero-background[data-v-f71ed2a4]::before {
    animation: none;
}
.gradient-text[data-v-f71ed2a4] {
    animation: none;
    background-size: 100%;
}
.card-glow[data-v-f71ed2a4] {
    animation: none;
}
.feature-card:hover .card-glow[data-v-f71ed2a4] {
    animation: none;
}
.menu-button[data-v-f71ed2a4]::before {
    transition: none;
}
.sub-option-card[data-v-f71ed2a4]::before {
    transition: none;
}
.floating-shapes .shape[data-v-f71ed2a4] {
    animation: none !important;
    transform: none !important;
    opacity: 0.3;
}
.feature-card[data-v-f71ed2a4],
  .feature-card[data-v-f71ed2a4]:hover,
  .card-icon[data-v-f71ed2a4],
  .feature-card:hover .card-icon[data-v-f71ed2a4],
  .card-tag[data-v-f71ed2a4],
  .feature-card:hover .card-tag[data-v-f71ed2a4] {
    transition: none;
    transform: none;
}
}

/* 打印样式 */
@media print {
.modern-home[data-v-f71ed2a4] {
    background: white;
    color: black;
    min-height: auto;
    height: auto;
}
.hero-background[data-v-f71ed2a4] {
    display: none;
}
.card-glow[data-v-f71ed2a4] {
    display: none;
}
.main-container[data-v-f71ed2a4] {
    padding: 1rem;
    min-height: auto;
}
.feature-card[data-v-f71ed2a4] {
    background: white;
    border: 1px solid #ccc;
    box-shadow: none;
    break-inside: avoid; /* 避免卡片在打印时被分页 */
}
.card-info h3[data-v-f71ed2a4],
  .hero-title[data-v-f71ed2a4] {
    color: black;
}
.card-info p[data-v-f71ed2a4],
  .hero-description[data-v-f71ed2a4] {
    color: #666;
}
.floating-shapes[data-v-f71ed2a4] {
    display: none;
}
.card-tag[data-v-f71ed2a4] {
    border: 1px solid #ddd;
    background: #f5f5f5 !important;
    color: #333 !important;
    box-shadow: none;
}
}

/* 弹出框样式已移至全局样式，避免scoped冲突 */
.modal-header[data-v-f71ed2a4] {
  display: flex;
  align-items: center;
  padding: 24px 24px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
}
.modal-icon[data-v-f71ed2a4] {
  font-size: 32px;
  margin-right: 16px;
  filter: drop-shadow(0 0 10px rgba(59, 130, 246, 0.5));
}
.modal-title[data-v-f71ed2a4] {
  flex: 1;
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
  background: linear-gradient(135deg, #3b82f6, #8b5cf6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.modal-close[data-v-f71ed2a4] {
  background: none;
  border: none;
  color: #888;
  font-size: 28px;
  cursor: pointer;
  padding: 4px;
  border-radius: 8px;
  transition: all 0.2s ease;
  line-height: 1;
}
.modal-close[data-v-f71ed2a4]:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}
.modal-body[data-v-f71ed2a4] {
  padding: 24px;
}
.modal-description[data-v-f71ed2a4] {
  color: #cccccc;
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 16px;
}
.modal-category[data-v-f71ed2a4] {
  display: inline-block;
  background: linear-gradient(135deg, #3b82f6, #8b5cf6);
  color: #ffffff;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 24px;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}
.modal-options[data-v-f71ed2a4] {
  margin-top: 24px;
}
.options-title[data-v-f71ed2a4] {
  color: #ffffff;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 16px;
}
.options-grid[data-v-f71ed2a4] {
  display: grid;
  gap: 12px;
}
.option-button[data-v-f71ed2a4] {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: left;
}
.option-button[data-v-f71ed2a4]:hover {
  background: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.2);
}
.option-label[data-v-f71ed2a4] {
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}
.option-description[data-v-f71ed2a4] {
  color: #888;
  font-size: 14px;
  line-height: 1.4;
}
.modal-footer[data-v-f71ed2a4] {
  padding: 16px 24px 24px;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}
.confirm-button[data-v-f71ed2a4],
.cancel-button[data-v-f71ed2a4] {
  padding: 12px 24px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
}
.confirm-button[data-v-f71ed2a4] {
  background: linear-gradient(135deg, #3b82f6, #8b5cf6);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}
.confirm-button[data-v-f71ed2a4]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4);
}
.cancel-button[data-v-f71ed2a4] {
  background: rgba(255, 255, 255, 0.1);
  color: #cccccc;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.cancel-button[data-v-f71ed2a4]:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}

/* 动画效果 */
@keyframes fadeIn-f71ed2a4 {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
@keyframes slideUp-f71ed2a4 {
from {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}

/* 移动端适配 */
@media (max-width: 768px) {
  /* modal-overlay样式已移至全局样式 */
.modal-content[data-v-f71ed2a4] {
    width: 100%;
    max-width: 95%;
    max-height: calc(100vh - 20px);
    margin: 0 auto !important;
    transform: none !important;
}
.modal-header[data-v-f71ed2a4] {
    padding: 20px 20px 12px;
}
.modal-icon[data-v-f71ed2a4] {
    font-size: 28px;
    margin-right: 12px;
}
.modal-title[data-v-f71ed2a4] {
    font-size: 20px;
}
.modal-body[data-v-f71ed2a4] {
    padding: 20px;
}
.modal-description[data-v-f71ed2a4] {
    font-size: 15px;
}
.options-title[data-v-f71ed2a4] {
    font-size: 16px;
}
.option-button[data-v-f71ed2a4] {
    padding: 14px;
}
.option-label[data-v-f71ed2a4] {
    font-size: 15px;
}
.option-description[data-v-f71ed2a4] {
    font-size: 13px;
}
.modal-footer[data-v-f71ed2a4] {
    padding: 12px 20px 20px;
    flex-direction: column-reverse;
}
.confirm-button[data-v-f71ed2a4],
  .cancel-button[data-v-f71ed2a4] {
    width: 100%;
    padding: 14px;
}
}

/* 极小屏幕适配 */
@media (max-width: 480px) {
  /* modal-overlay样式已移至全局样式 */
.modal-content[data-v-f71ed2a4] {
    width: 100%;
    max-width: 98%;
    max-height: calc(100vh - 10px);
    border-radius: 15px;
    margin: 0 auto !important;
    transform: none !important;
}
.modal-header[data-v-f71ed2a4] {
    padding: 16px 16px 10px;
}
.modal-icon[data-v-f71ed2a4] {
    font-size: 24px;
    margin-right: 10px;
}
.modal-title[data-v-f71ed2a4] {
    font-size: 18px;
}
.modal-body[data-v-f71ed2a4] {
    padding: 16px;
}
.modal-footer[data-v-f71ed2a4] {
    padding: 10px 16px 16px;
}
}

/* 打印样式补充 */
@media print {
.core-features-grid[data-v-f71ed2a4],
  .more-features-grid[data-v-f71ed2a4] {
    display: block;
    page-break-inside: avoid; /* 避免网格在打印时被分页 */
}
}

/* 强制弹出框居中显示的全局样式 */
.modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.8) !important;
  backdrop-filter: blur(10px) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  z-index: 999999 !important;
  margin: 0 !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  transform: none !important;
  animation: fadeIn 0.3s ease-out !important;
  /* 额外的居中保障 */
  inset: 0 !important;
  place-items: center !important;
}
.modal-content {
  background: rgba(20, 20, 20, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 20px !important;
  padding: 0 !important;
  max-width: 500px !important;
  width: 90% !important;
  max-height: calc(100vh - 40px) !important;
  overflow: hidden !important;
  box-shadow: 
    0 20px 40px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(255, 255, 255, 0.05) !important;
  animation: slideUp 0.3s ease-out !important;
  position: relative !important;
  margin: 0 !important;
  transform: none !important;
  flex-shrink: 0 !important;
  /* 确保内容不会偏移 */
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
}

/* 动画定义 */
@keyframes fadeIn {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
@keyframes slideUp {
from {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}

/* 移动端适配 */
@media (max-width: 768px) {
.modal-overlay {
    padding: 15px !important;
}
.modal-content {
    width: 95% !important;
    max-width: 95% !important;
}
}
@media (max-width: 480px) {
.modal-overlay {
    padding: 10px !important;
}
.modal-content {
    width: 98% !important;
    max-width: 98% !important;
    max-height: calc(100vh - 20px) !important;
    border-radius: 15px !important;
}
}

.character-attributes-panel[data-v-e6bdb017] {
  border-radius: 8px;
  margin-bottom: 1rem;
  overflow: hidden;
  transition: all 0.3s ease;
}
.character-attributes-panel.dark[data-v-e6bdb017] {
  background-color: rgba(0, 0, 0, 0.3);
  color: #f0f0f0;
}
.character-attributes-panel.light[data-v-e6bdb017] {
  background-color: rgba(255, 255, 255, 0.8);
  color: #333;
}
.character-attributes-panel.skyblue[data-v-e6bdb017] {
  background-color: rgba(135, 206, 250, 0.2);
  color: #003366;
}
.panel-header[data-v-e6bdb017] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.panel-header h3[data-v-e6bdb017] {
  margin: 0;
  font-size: 1.1rem;
}
.toggle-button[data-v-e6bdb017] {
  cursor: pointer;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.1);
}
.toggle-button[data-v-e6bdb017]:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.attributes-content[data-v-e6bdb017] {
  padding: 1rem;
}
.attribute-row[data-v-e6bdb017] {
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
}
.attribute-label[data-v-e6bdb017] {
  width: 60px;
  font-size: 0.9rem;
}
.attribute-bar[data-v-e6bdb017] {
  flex: 1;
  height: 8px;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  overflow: hidden;
  margin: 0 10px;
}
.attribute-fill[data-v-e6bdb017] {
  height: 100%;
  background-color: #4caf50;
  border-radius: 4px;
  transition: width 0.5s ease;
}
.attribute-bar.health .attribute-fill[data-v-e6bdb017] {
  background-color: #f44336;
}
.attribute-bar.energy .attribute-fill[data-v-e6bdb017] {
  background-color: #2196f3;
}
.attribute-value[data-v-e6bdb017] {
  width: 30px;
  text-align: right;
  font-size: 0.9rem;
  font-weight: bold;
}
.attribute-changes[data-v-e6bdb017] {
  padding: 0.8rem 1rem;
  background-color: rgba(0, 0, 0, 0.2);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.change-title[data-v-e6bdb017] {
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
  opacity: 0.7;
}
.change-item[data-v-e6bdb017] {
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 5px;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.8rem;
}
.change-item.positive[data-v-e6bdb017] {
  background-color: rgba(76, 175, 80, 0.2);
  color: #4caf50;
}
.change-item.negative[data-v-e6bdb017] {
  background-color: rgba(244, 67, 54, 0.2);
  color: #f44336;
}

.story-ending-panel[data-v-b8c80ff8] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.ending-overlay[data-v-b8c80ff8] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(3px);
}
.ending-container[data-v-b8c80ff8] {
  position: relative;
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
  background-color: #2a2a2a;
  border-radius: 12px;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
  color: #f0f0f0;
  display: flex;
  flex-direction: column;
  animation: fadeIn-b8c80ff8 0.3s ease-out;
}
.ending-container.good-ending[data-v-b8c80ff8] {
  background: linear-gradient(135deg, #2a2a2a, #1a472a);
  border: 2px solid #4caf50;
}
.ending-header[data-v-b8c80ff8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #444;
}
.ending-header h2[data-v-b8c80ff8] {
  margin: 0;
  font-size: 1.5rem;
  color: #f0c419;
}
.close-button[data-v-b8c80ff8] {
  background: none;
  border: none;
  color: #aaa;
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
}
.close-button[data-v-b8c80ff8]:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.ending-content[data-v-b8c80ff8] {
  padding: 1.5rem;
  flex: 1;
}
.ending-title[data-v-b8c80ff8] {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}
.ending-title h3[data-v-b8c80ff8] {
  margin: 0;
  font-size: 1.3rem;
  margin-right: 1rem;
}
.ending-badge[data-v-b8c80ff8] {
  padding: 0.3rem 0.8rem;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: bold;
}
.good-badge[data-v-b8c80ff8] {
  background-color: rgba(76, 175, 80, 0.2);
  color: #4caf50;
  border: 1px solid #4caf50;
}
.bad-badge[data-v-b8c80ff8] {
  background-color: rgba(244, 67, 54, 0.2);
  color: #f44336;
  border: 1px solid #f44336;
}
.ending-description[data-v-b8c80ff8] {
  line-height: 1.6;
  margin-bottom: 2rem;
  white-space: pre-line;
}
.ending-stats[data-v-b8c80ff8] {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 1rem;
  margin-top: 1rem;
}
.ending-stats h4[data-v-b8c80ff8] {
  margin-top: 0;
  margin-bottom: 1rem;
  color: #f0c419;
  font-size: 1rem;
}
.attributes-grid[data-v-b8c80ff8] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.attribute-item[data-v-b8c80ff8] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.attribute-label[data-v-b8c80ff8] {
  font-size: 0.9rem;
  color: #aaa;
  margin-bottom: 0.3rem;
}
.attribute-value[data-v-b8c80ff8] {
  font-size: 1.2rem;
  font-weight: bold;
}
.ending-actions[data-v-b8c80ff8] {
  display: flex;
  padding: 1rem 1.5rem;
  border-top: 1px solid #444;
  gap: 1rem;
}
.action-button[data-v-b8c80ff8] {
  flex: 1;
  padding: 0.8rem;
  border: none;
  border-radius: 8px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}
.restart[data-v-b8c80ff8] {
  background-color: #f0c419;
  color: #333;
}
.share[data-v-b8c80ff8] {
  background-color: #2196f3;
  color: white;
}
.action-button[data-v-b8c80ff8]:hover {
  opacity: 0.9;
}
@keyframes fadeIn-b8c80ff8 {
from { opacity: 0; transform: translateY(20px);
}
to { opacity: 1; transform: translateY(0);
}
}

/* 响应式设计 */
@media (max-width: 600px) {
.attributes-grid[data-v-b8c80ff8] {
    grid-template-columns: repeat(2, 1fr);
}
.ending-actions[data-v-b8c80ff8] {
    flex-direction: column;
}
}

.adventure-login[data-v-4d631d54] {
  max-width: 500px;
  margin: 0 auto;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  animation: fadeIn-4d631d54 0.5s ease-out;
}
@keyframes fadeIn-4d631d54 {
from { opacity: 0; transform: translateY(-20px);
}
to { opacity: 1; transform: translateY(0);
}
}
.adventure-login.dark[data-v-4d631d54] {
  background-color: rgba(18, 18, 18, 0.8);
  color: #f0f0f0;
}
.adventure-login.light[data-v-4d631d54] {
  background-color: rgba(248, 249, 250, 0.9);
  color: #333;
}
.adventure-login.skyblue[data-v-4d631d54] {
  background-color: rgba(225, 245, 254, 0.9);
  color: #01579b;
}
.login-header[data-v-4d631d54] {
  text-align: center;
  margin-bottom: 2rem;
}
.login-header h3[data-v-4d631d54] {
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
  background: linear-gradient(45deg, #4a90e2, #63b3ed);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 10px rgba(74, 144, 226, 0.2);
}
.login-form[data-v-4d631d54] {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.form-group[data-v-4d631d54] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.form-group label[data-v-4d631d54] {
  font-weight: 600;
  font-size: 1rem;
}
.input-with-icon[data-v-4d631d54] {
  position: relative;
  display: flex;
  align-items: center;
}
.input-with-icon i[data-v-4d631d54] {
  position: absolute;
  left: 12px;
  color: #666;
  font-size: 1.2rem;
}
.input-with-icon input[data-v-4d631d54] {
  padding-left: 40px;
  width: 100%;
  height: 48px;
  border-radius: 8px;
  border: 2px solid rgba(125, 125, 125, 0.3);
  background-color: rgba(255, 255, 255, 0.05);
  color: inherit;
  font-size: 1rem;
  transition: all 0.3s ease;
}
.adventure-login.dark input[data-v-4d631d54] {
  border-color: rgba(255, 255, 255, 0.1);
  background-color: rgba(30, 30, 30, 0.6);
  color: #f0f0f0;
}
.adventure-login.light input[data-v-4d631d54] {
  border-color: rgba(0, 0, 0, 0.1);
  background-color: rgba(255, 255, 255, 0.8);
  color: #333;
}
.adventure-login.skyblue input[data-v-4d631d54] {
  border-color: rgba(1, 87, 155, 0.2);
  background-color: rgba(255, 255, 255, 0.8);
  color: #01579b;
}
input[data-v-4d631d54]:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.3);
}
.error-message[data-v-4d631d54] {
  color: #e53e3e;
  font-size: 0.85rem;
}
.form-actions[data-v-4d631d54] {
  margin-top: 1rem;
}
.submit-button[data-v-4d631d54] {
  width: 100%;
  height: 48px;
  border: none;
  border-radius: 8px;
  background: linear-gradient(45deg, #4a90e2, #63b3ed);
  color: white;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.submit-button[data-v-4d631d54]:hover {
  background: linear-gradient(45deg, #3a80d2, #53a3dd);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(74, 144, 226, 0.3);
}
.submit-button[data-v-4d631d54]:disabled {
  background: #cccccc;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.form-footer[data-v-4d631d54] {
  text-align: center;
  margin-top: 1.5rem;
  font-size: 0.9rem;
}
.form-footer a[data-v-4d631d54] {
  color: #4a90e2;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}
.form-footer a[data-v-4d631d54]:hover {
  text-decoration: underline;
  color: #3a80d2;
}

.adventure-register[data-v-7b7cd708] {
  max-width: 500px;
  margin: 0 auto;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  animation: fadeIn-7b7cd708 0.5s ease-out;
}
@keyframes fadeIn-7b7cd708 {
from { opacity: 0; transform: translateY(-20px);
}
to { opacity: 1; transform: translateY(0);
}
}
.adventure-register.dark[data-v-7b7cd708] {
  background-color: rgba(18, 18, 18, 0.8);
  color: #f0f0f0;
}
.adventure-register.light[data-v-7b7cd708] {
  background-color: rgba(248, 249, 250, 0.9);
  color: #333;
}
.adventure-register.skyblue[data-v-7b7cd708] {
  background-color: rgba(225, 245, 254, 0.9);
  color: #01579b;
}
.register-header[data-v-7b7cd708] {
  text-align: center;
  margin-bottom: 2rem;
}
.register-header h3[data-v-7b7cd708] {
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
  background: linear-gradient(45deg, #f0c419, #ff9800);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 10px rgba(240, 196, 25, 0.2);
}
.register-form[data-v-7b7cd708] {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.form-group[data-v-7b7cd708] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.form-group label[data-v-7b7cd708] {
  font-weight: 600;
  font-size: 1rem;
}
.input-with-icon[data-v-7b7cd708] {
  position: relative;
  display: flex;
  align-items: center;
}
.input-with-icon i[data-v-7b7cd708] {
  position: absolute;
  left: 12px;
  color: #666;
  font-size: 1.2rem;
}
.input-with-icon input[data-v-7b7cd708] {
  padding-left: 40px;
  width: 100%;
  height: 48px;
  border-radius: 8px;
  border: 2px solid rgba(125, 125, 125, 0.3);
  background-color: rgba(255, 255, 255, 0.05);
  color: inherit;
  font-size: 1rem;
  transition: all 0.3s ease;
}
.adventure-register.dark input[data-v-7b7cd708] {
  border-color: rgba(255, 255, 255, 0.1);
  background-color: rgba(30, 30, 30, 0.6);
  color: #f0f0f0;
}
.adventure-register.light input[data-v-7b7cd708] {
  border-color: rgba(0, 0, 0, 0.1);
  background-color: rgba(255, 255, 255, 0.8);
  color: #333;
}
.adventure-register.skyblue input[data-v-7b7cd708] {
  border-color: rgba(1, 87, 155, 0.2);
  background-color: rgba(255, 255, 255, 0.8);
  color: #01579b;
}
input[data-v-7b7cd708]:focus {
  outline: none;
  border-color: #f0c419;
  box-shadow: 0 0 0 2px rgba(240, 196, 25, 0.3);
}
.gender-options[data-v-7b7cd708] {
  display: flex;
  gap: 1rem;
  margin-top: 0.5rem;
}
.gender-option[data-v-7b7cd708] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  transition: all 0.3s ease;
  background-color: rgba(255, 255, 255, 0.05);
}
.adventure-register.dark .gender-option[data-v-7b7cd708] {
  background-color: rgba(30, 30, 30, 0.6);
}
.adventure-register.light .gender-option[data-v-7b7cd708] {
  background-color: rgba(255, 255, 255, 0.8);
}
.adventure-register.skyblue .gender-option[data-v-7b7cd708] {
  background-color: rgba(255, 255, 255, 0.8);
}
.gender-option[data-v-7b7cd708]:hover {
  background-color: rgba(240, 196, 25, 0.1);
}
.gender-option input[data-v-7b7cd708] {
  margin: 0;
}
.gender-option span[data-v-7b7cd708] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.error-message[data-v-7b7cd708] {
  color: #e53e3e;
  font-size: 0.85rem;
}
.form-actions[data-v-7b7cd708] {
  margin-top: 1rem;
}
.submit-button[data-v-7b7cd708] {
  width: 100%;
  height: 48px;
  border: none;
  border-radius: 8px;
  background: linear-gradient(45deg, #f0c419, #ff9800);
  color: white;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.submit-button[data-v-7b7cd708]:hover {
  background: linear-gradient(45deg, #e0b409, #ef8800);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(240, 196, 25, 0.3);
}
.submit-button[data-v-7b7cd708]:disabled {
  background: #cccccc;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.form-footer[data-v-7b7cd708] {
  text-align: center;
  margin-top: 1.5rem;
  font-size: 0.9rem;
}
.form-footer a[data-v-7b7cd708] {
  color: #f0c419;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}
.form-footer a[data-v-7b7cd708]:hover {
  text-decoration: underline;
  color: #ff9800;
}

/* 面板基础样式 */
.achievements-panel[data-v-ecfb81ba] {
  border-radius: 12px;
  margin-bottom: 1rem;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  max-height: 80vh;
  display: flex;
  flex-direction: column;
}

/* 主题样式 */
.achievements-panel.dark[data-v-ecfb81ba] {
  background-color: rgba(30, 30, 30, 0.85);
  color: #f0f0f0;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.achievements-panel.light[data-v-ecfb81ba] {
  background-color: rgba(255, 255, 255, 0.9);
  color: #333;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.achievements-panel.skyblue[data-v-ecfb81ba] {
  background-color: rgba(135, 206, 250, 0.2);
  color: #003366;
  border: 1px solid rgba(135, 206, 250, 0.3);
}

/* 面板头部 */
.panel-header[data-v-ecfb81ba] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background-color: rgba(0, 0, 0, 0.1);
}
.panel-header h3[data-v-ecfb81ba] {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.toggle-button[data-v-ecfb81ba] {
  cursor: pointer;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.1);
  transition: all 0.2s ease;
}
.toggle-button[data-v-ecfb81ba]:hover {
  background-color: rgba(255, 255, 255, 0.2);
  transform: rotate(90deg);
}

/* 面板内容区 */
.panel-content[data-v-ecfb81ba] {
  padding: 1.2rem;
  overflow-y: auto;
  flex: 1;
}

/* 标签页按钮 */
.tab-buttons[data-v-ecfb81ba] {
  display: flex;
  margin-bottom: 1.2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.tab-buttons button[data-v-ecfb81ba] {
  background: none;
  border: none;
  padding: 0.6rem 1.2rem;
  cursor: pointer;
  color: inherit;
  opacity: 0.7;
  position: relative;
  transition: all 0.3s ease;
  font-weight: 500;
  letter-spacing: 0.5px;
}
.tab-buttons button[data-v-ecfb81ba]:hover {
  opacity: 0.9;
}
.tab-buttons button.active[data-v-ecfb81ba] {
  opacity: 1;
}
.tab-buttons button.active[data-v-ecfb81ba]::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #f0c419;
  animation: slideIn-ecfb81ba 0.3s ease;
}
@keyframes slideIn-ecfb81ba {
from { transform: scaleX(0);
}
to { transform: scaleX(1);
}
}

/* 空状态提示 */
.empty-state[data-v-ecfb81ba] {
  text-align: center;
  padding: 3rem 0;
  opacity: 0.6;
  transition: all 0.3s ease;
}
.empty-state i[data-v-ecfb81ba] {
  font-size: 3rem;
  margin-bottom: 1rem;
  animation: pulse-ecfb81ba 2s infinite;
}
@keyframes pulse-ecfb81ba {
0% { transform: scale(1); opacity: 0.7;
}
50% { transform: scale(1.05); opacity: 1;
}
100% { transform: scale(1); opacity: 0.7;
}
}
.empty-state p[data-v-ecfb81ba] {
  font-size: 1.1rem;
  margin-top: 0.5rem;
}

/* 成就和结局项目 */
.achievement-item[data-v-ecfb81ba], .ending-item[data-v-ecfb81ba] {
  display: flex;
  align-items: center;
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.05);
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.05);
}
.achievement-item[data-v-ecfb81ba]:hover, .ending-item[data-v-ecfb81ba]:hover {
  background-color: rgba(255, 255, 255, 0.1);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* 成就和结局图标 */
.achievement-icon[data-v-ecfb81ba], .ending-icon[data-v-ecfb81ba] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: rgba(240, 196, 25, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
  font-size: 1.4rem;
  color: #f0c419;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.achievement-item:hover .achievement-icon[data-v-ecfb81ba] {
  transform: rotate(15deg);
}
.ending-icon[data-v-ecfb81ba] {
  background-color: rgba(33, 150, 243, 0.2);
  color: #2196f3;
}
.ending-item.good .ending-icon[data-v-ecfb81ba] {
  background-color: rgba(76, 175, 80, 0.2);
  color: #4caf50;
}
.ending-item:hover .ending-icon[data-v-ecfb81ba] {
  transform: scale(1.1);
}

/* 成就和结局信息 */
.achievement-info[data-v-ecfb81ba], .ending-info[data-v-ecfb81ba] {
  flex: 1;
}
.achievement-title[data-v-ecfb81ba], .ending-title[data-v-ecfb81ba] {
  font-weight: bold;
  margin-bottom: 0.4rem;
  font-size: 1.1rem;
}
.achievement-description[data-v-ecfb81ba], .ending-description[data-v-ecfb81ba] {
  font-size: 0.95rem;
  opacity: 0.85;
  margin-bottom: 0.4rem;
  line-height: 1.4;
}
.achievement-date[data-v-ecfb81ba], .ending-date[data-v-ecfb81ba] {
  font-size: 0.85rem;
  opacity: 0.7;
  font-style: italic;
}

/* 难度和结局类型标签 */
.achievement-difficulty[data-v-ecfb81ba], .ending-type[data-v-ecfb81ba] {
  padding: 0.4rem 0.8rem;
  border-radius: 20px;
  font-size: 0.85rem;
  background-color: rgba(255, 255, 255, 0.1);
  font-weight: 500;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.achievement-difficulty.easy[data-v-ecfb81ba] {
  background-color: rgba(76, 175, 80, 0.2);
  color: #4caf50;
  border: 1px solid rgba(76, 175, 80, 0.3);
}
.achievement-difficulty.medium[data-v-ecfb81ba] {
  background-color: rgba(33, 150, 243, 0.2);
  color: #2196f3;
  border: 1px solid rgba(33, 150, 243, 0.3);
}
.achievement-difficulty.hard[data-v-ecfb81ba] {
  background-color: rgba(244, 67, 54, 0.2);
  color: #f44336;
  border: 1px solid rgba(244, 67, 54, 0.3);
}
.achievement-difficulty.legendary[data-v-ecfb81ba] {
  background-color: rgba(156, 39, 176, 0.2);
  color: #9c27b0;
  border: 1px solid rgba(156, 39, 176, 0.3);
}
.ending-type[data-v-ecfb81ba] {
  background-color: rgba(158, 158, 158, 0.2);
  color: #9e9e9e;
  border: 1px solid rgba(158, 158, 158, 0.3);
}
.ending-type.good[data-v-ecfb81ba] {
  background-color: rgba(76, 175, 80, 0.2);
  color: #4caf50;
  border: 1px solid rgba(76, 175, 80, 0.3);
}

/* 新成就通知 */
.new-achievement-notification[data-v-ecfb81ba] {
  margin-top: 1.2rem;
  padding: 1.2rem;
  border-radius: 10px;
  background-color: rgba(240, 196, 25, 0.15);
  border: 1px solid rgba(240, 196, 25, 0.3);
  box-shadow: 0 4px 12px rgba(240, 196, 25, 0.2);
  animation: glow-ecfb81ba 2s infinite alternate;
}
@keyframes glow-ecfb81ba {
from { box-shadow: 0 0 5px rgba(240, 196, 25, 0.2);
}
to { box-shadow: 0 0 15px rgba(240, 196, 25, 0.4);
}
}
.notification-header[data-v-ecfb81ba] {
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
  color: #f0c419;
  font-weight: bold;
  font-size: 1.1rem;
}
.notification-header i[data-v-ecfb81ba] {
  margin-right: 0.8rem;
  animation: bounce-ecfb81ba 1s infinite alternate;
}
@keyframes bounce-ecfb81ba {
from { transform: translateY(0);
}
to { transform: translateY(-5px);
}
}
.notification-content[data-v-ecfb81ba] {
  margin-bottom: 1rem;
}
.notification-actions[data-v-ecfb81ba] {
  display: flex;
  justify-content: flex-end;
}
.view-button[data-v-ecfb81ba] {
  background-color: rgba(240, 196, 25, 0.2);
  border: 1px solid rgba(240, 196, 25, 0.4);
  color: #f0c419;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.view-button[data-v-ecfb81ba]:hover {
  background-color: rgba(240, 196, 25, 0.3);
  transform: translateY(-2px);
}
.view-button i[data-v-ecfb81ba] {
  font-size: 0.9rem;
}

/* 过渡动画 */
.fade-enter-active[data-v-ecfb81ba], .fade-leave-active[data-v-ecfb81ba] {
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.fade-enter-from[data-v-ecfb81ba], .fade-leave-to[data-v-ecfb81ba] {
  opacity: 0;
  transform: translateY(10px);
}

.adventure-game-container[data-v-698cb17c] {
  display: flex;
  flex-direction: column;
  height: 100vh;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.5rem;
  font-family: 'Microsoft YaHei', sans-serif;
  transition: all 0.4s ease;
  background-size: cover;
  background-position: center;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

/* 主题样式 */
.adventure-game-container.dark[data-v-698cb17c] {
  background-color: #121212;
  color: #f0f0f0;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(20, 20, 30, 0.9));
  box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.5);
}
.adventure-game-container.light[data-v-698cb17c] {
  background-color: #f8f9fa;
  color: #333;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(240, 240, 250, 0.95));
  box-shadow: inset 0 0 100px rgba(255, 255, 255, 0.5);
}
.adventure-game-container.skyblue[data-v-698cb17c] {
  background-color: #e1f5fe;
  color: #01579b;
  background-image: linear-gradient(to bottom, rgba(225, 245, 254, 0.9), rgba(179, 229, 252, 0.95));
  box-shadow: inset 0 0 100px rgba(179, 229, 252, 0.5);
}
.adventure-header[data-v-698cb17c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1.2rem;
  border-bottom: 2px solid rgba(240, 196, 25, 0.3);
  margin-bottom: 1.5rem;
  position: relative;
}
.adventure-header h2[data-v-698cb17c] {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  background: linear-gradient(45deg, #f0c419, #ff9800);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 10px rgba(240, 196, 25, 0.2);
}
.adventure-info[data-v-698cb17c] {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.story-selector[data-v-698cb17c] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.story-selector select[data-v-698cb17c] {
  padding: 0.3rem 0.5rem;
  border-radius: 4px;
  background-color: #333;
  color: #fff;
  border: 1px solid #555;
}
.model-status[data-v-698cb17c] {
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  background-color: #ff4d4d;
  color: white;
  font-size: 0.8rem;
}
.model-status.connected[data-v-698cb17c] {
  background-color: #4caf50;
}
.theme-switcher[data-v-698cb17c] {
  display: flex;
  gap: 0.8rem;
}
.theme-switcher button[data-v-698cb17c] {
  background: none;
  border: 2px solid transparent;
  color: #888;
  cursor: pointer;
  font-size: 1.2rem;
  padding: 0.3rem;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.theme-switcher button[data-v-698cb17c]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.theme-switcher button.active[data-v-698cb17c] {
  color: #f0c419;
  border-color: #f0c419;
  background-color: rgba(240, 196, 25, 0.15);
  box-shadow: 0 0 10px rgba(240, 196, 25, 0.3);
}

/* 游戏内容布局 */
.game-content[data-v-698cb17c] {
  display: flex;
  gap: 1.5rem;
  flex: 1;
  overflow: hidden;
  margin-bottom: 1rem;
}
.story-container[data-v-698cb17c] {
  flex: 3;
  overflow-y: auto;
  padding: 1rem;
  border-radius: 12px;
  background-color: rgba(0, 0, 0, 0.2);
  max-height: calc(100vh - 180px);
  scrollbar-width: thin;
  scrollbar-color: rgba(240, 196, 25, 0.3) rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.2);
}
.story-container[data-v-698cb17c]::-webkit-scrollbar {
  width: 8px;
}
.story-container[data-v-698cb17c]::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}
.story-container[data-v-698cb17c]::-webkit-scrollbar-thumb {
  background-color: rgba(240, 196, 25, 0.3);
  border-radius: 10px;
  border: 2px solid transparent;
}
.side-panel[data-v-698cb17c] {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-height: calc(100vh - 180px);
}
.welcome-message[data-v-698cb17c] {
  display: flex;
  gap: 1.5rem;
  padding: 2rem;
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 16px;
  margin-bottom: 2rem;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(240, 196, 25, 0.2);
  animation: fadeIn-698cb17c 0.8s ease-out;
  backdrop-filter: blur(5px);
  position: relative;
  overflow: hidden;
}
.welcome-message[data-v-698cb17c]::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(240, 196, 25, 0.1) 0%, transparent 70%);
  opacity: 0.5;
  animation: rotateGradient-698cb17c 15s linear infinite;
  z-index: -1;
}
.ai-avatar[data-v-698cb17c] {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f0c419, #ff9800);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #fff;
  box-shadow: 0 5px 15px rgba(240, 196, 25, 0.3);
  flex-shrink: 0;
}
.welcome-content h3[data-v-698cb17c] {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.6rem;
  color: #f0c419;
  font-weight: 700;
}
.welcome-content p[data-v-698cb17c] {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.suggestion-chips[data-v-698cb17c] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.5rem;
}
.chip[data-v-698cb17c] {
  padding: 0.8rem 1.2rem;
  background-color: rgba(240, 196, 25, 0.2);
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
  border: 1px solid rgba(240, 196, 25, 0.3);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.chip[data-v-698cb17c]:hover {
  background-color: rgba(240, 196, 25, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}
.story-segment[data-v-698cb17c] {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background-color: rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  line-height: 1.8;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  border-left: 4px solid rgba(240, 196, 25, 0.4);
  backdrop-filter: blur(5px);
}
.story-segment.latest-segment[data-v-698cb17c] {
  border-left: 4px solid #f0c419;
  animation: fadeInUp-698cb17c 0.6s ease-out;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15), 0 0 15px rgba(240, 196, 25, 0.2);
  background-color: rgba(255, 255, 255, 0.1);
}
.segment-content[data-v-698cb17c] {
  margin-bottom: 1.2rem;
  font-size: 1.05rem;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  word-spacing: 0.05em;
}

/* 流式内容样式 */
.story-segment.streaming-segment[data-v-698cb17c] {
  border-left: 4px solid #4caf50;
  background-color: rgba(76, 175, 80, 0.08);
  animation: streamingPulse-698cb17c 2s ease-in-out infinite;
}
.segment-content.streaming-content[data-v-698cb17c] {
  position: relative;
  overflow: hidden;
}
.streaming-indicator[data-v-698cb17c] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  padding: 0.8rem 1rem;
  background-color: rgba(76, 175, 80, 0.1);
  border-radius: 8px;
  border-left: 3px solid #4caf50;
  font-size: 0.9rem;
  color: #4caf50;
}
.streaming-cursor[data-v-698cb17c] {
  font-weight: bold;
  animation: blinkCursor-698cb17c 1s infinite;
}
.streaming-text[data-v-698cb17c] {
  font-weight: 500;
}
.streaming-dots[data-v-698cb17c] {
  animation: loadingDots-698cb17c 1.5s infinite;
}
@keyframes fadeInUp-698cb17c {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes streamingPulse-698cb17c {
0%, 100% {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15), 0 0 15px rgba(76, 175, 80, 0.2);
}
50% {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15), 0 0 25px rgba(76, 175, 80, 0.4);
}
}
@keyframes blinkCursor-698cb17c {
0%, 50% { opacity: 1;
}
51%, 100% { opacity: 0;
}
}
@keyframes loadingDots-698cb17c {
0%, 20% { opacity: 0;
}
40% { opacity: 1;
}
100% { opacity: 0;
}
}

/* 属性变化和成就通知 */
.attribute-changes-notice[data-v-698cb17c],
.achievement-notice[data-v-698cb17c] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.8rem 1rem;
  margin: 0.8rem 0;
  border-radius: 8px;
  font-size: 0.9rem;
  animation: fadeIn-698cb17c 0.5s ease-out;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.attribute-changes-notice[data-v-698cb17c] {
  background-color: rgba(33, 150, 243, 0.1);
  color: #2196f3;
  border-left: 3px solid #2196f3;
  animation: fadeSlideUp-698cb17c 0.6s ease-out forwards;
}
.achievement-notice[data-v-698cb17c] {
  background-color: rgba(240, 196, 25, 0.1);
  color: #f0c419;
  border-left: 3px solid #f0c419;
  animation: fadeSlideUp-698cb17c 0.6s ease-out 0.2s forwards;
}
.notice-icon[data-v-698cb17c] {
  font-size: 1.1rem;
}
@keyframes fadeIn-698cb17c {
from { opacity: 0; transform: translateY(-10px);
}
to { opacity: 1; transform: translateY(0);
}
}
@keyframes fadeSlideUp-698cb17c {
from { 
    opacity: 0; 
    transform: translateY(10px);
}
to { 
    opacity: 1; 
    transform: translateY(0);
}
}
@keyframes pulse-698cb17c {
from { opacity: 0.8;
}
to { opacity: 1;
}
}
@keyframes spin-698cb17c {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
@keyframes shimmer-698cb17c {
0% { transform: translateX(-100%);
}
100% { transform: translateX(100%);
}
}
@keyframes buttonShine-698cb17c {
0% { left: -100%;
}
100% { left: 100%;
}
}
@keyframes rotateGradient-698cb17c {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
@keyframes highlightPulse-698cb17c {
0% { box-shadow: 0 0 5px rgba(240, 196, 25, 0.3);
}
50% { box-shadow: 0 0 20px rgba(240, 196, 25, 0.5);
}
100% { box-shadow: 0 0 5px rgba(240, 196, 25, 0.3);
}
}
.story-choices[data-v-698cb17c] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.5rem;
  animation: fadeIn-698cb17c 0.6s ease-out 0.3s both;
}
.story-choice[data-v-698cb17c] {
  padding: 1rem 1.2rem;
  background-color: rgba(240, 196, 25, 0.15);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(240, 196, 25, 0.2);
  position: relative;
  overflow: hidden;
}
.story-choice[data-v-698cb17c]:hover {
  background-color: rgba(240, 196, 25, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.story-choice[data-v-698cb17c]:hover::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  animation: shimmer-698cb17c 1.5s infinite;
}
.choice-number[data-v-698cb17c] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, rgba(240, 196, 25, 0.8), rgba(255, 152, 0, 0.6));
  border-radius: 50%;
  margin-right: 12px;
  font-weight: bold;
  flex-shrink: 0;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}
.choice-text[data-v-698cb17c] {
  flex: 1;
  font-size: 1.05rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.loading-indicator[data-v-698cb17c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 2rem 0;
  color: #f0c419;
  animation: pulse-698cb17c 1.5s infinite alternate;
}
.loading-spinner[data-v-698cb17c] {
  margin-bottom: 0.8rem;
  font-size: 2rem;
  animation: spin-698cb17c 2s linear infinite;
  text-shadow: 0 0 10px rgba(240, 196, 25, 0.5);
}
.loading-text[data-v-698cb17c] {
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-shadow: 0 0 8px rgba(240, 196, 25, 0.3);
}


/* 成就面板 */
.achievements-panel[data-v-698cb17c] {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  padding: 1.2rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(240, 196, 25, 0.1);
}

/* 成就弹出面板样式 */
.achievements-panel[data-v-698cb17c] {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000;
  width: 80%;
  max-width: 600px;
  max-height: 80vh;
  overflow-y: auto;
  background-color: rgba(30, 30, 40, 0.95);
  border-radius: 15px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(240, 196, 25, 0.2);
  animation: panel-fade-in-698cb17c 0.3s ease-out;
}
@keyframes panel-fade-in-698cb17c {
from { opacity: 0; transform: translate(-50%, -48%);
}
to { opacity: 1; transform: translate(-50%, -50%);
}
}
.panel-header[data-v-698cb17c] {
  margin-bottom: 1rem;
}
.panel-header h3[data-v-698cb17c] {
  margin: 0;
  font-size: 1.2rem;
  color: #f0c419;
}
.achievements-list[data-v-698cb17c] {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.achievement-item[data-v-698cb17c] {
  display: flex;
  gap: 0.8rem;
  padding: 0.8rem;
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  transition: all 0.3s ease;
  border-left: 2px solid rgba(240, 196, 25, 0.3);
}
.achievement-item[data-v-698cb17c]:hover {
  background-color: rgba(255, 255, 255, 0.08);
  transform: translateX(2px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.achievement-icon[data-v-698cb17c] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(240, 196, 25, 0.3), rgba(255, 152, 0, 0.2));
  color: #f0c419;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  box-shadow: 0 2px 8px rgba(240, 196, 25, 0.2);
}
.achievement-info[data-v-698cb17c] {
  flex: 1;
}
.achievement-title[data-v-698cb17c] {
  font-weight: bold;
  margin-bottom: 0.3rem;
}
.achievement-description[data-v-698cb17c] {
  font-size: 0.9rem;
  color: #aaa;
}
.story-controls[data-v-698cb17c] {
  display: flex;
  justify-content: center;
  gap: 1.2rem;
  padding: 1.2rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background-color: rgba(0, 0, 0, 0.15);
  border-radius: 0 0 12px 12px;
  box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 10;
  backdrop-filter: blur(5px);
}
.control-button[data-v-698cb17c] {
  padding: 0.8rem 1.2rem;
  border-radius: 8px;
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  font-weight: 500;
  letter-spacing: 0.02em;
}
.control-button[data-v-698cb17c]:hover {
  background-color: rgba(240, 196, 25, 0.2);
  border-color: rgba(240, 196, 25, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
  color: #f0c419;
}
.control-button[data-v-698cb17c]:hover::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  animation: buttonShine-698cb17c 1s forwards;
}
.control-button[data-v-698cb17c]:active {
  transform: translateY(0);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: all 0.1s ease;
}
.control-button i[data-v-698cb17c] {
  font-size: 1.1rem;
  color: #f0c419;
}
.control-button.restart[data-v-698cb17c],
.control-button.save[data-v-698cb17c],
.control-button.load[data-v-698cb17c],
.control-button.achievements[data-v-698cb17c] {
  flex: 0 1 auto;
  padding: 0.8rem 1.2rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: background-color 0.3s;
}
.restart[data-v-698cb17c] {
  background-color: #ff6b6b;
  color: white;
}
.save[data-v-698cb17c] {
  background-color: #4caf50;
  color: white;
}
.load[data-v-698cb17c] {
  background-color: #2196f3;
  color: white;
}
.achievements[data-v-698cb17c] {
  background-color: #f0c419;
  color: #333;
}
.control-button[data-v-698cb17c]:hover {
  opacity: 0.9;
}

/* 段落间隔样式 */
.paragraph-break[data-v-698cb17c] {
  height: 0.8rem;
}

/* 响应式设计 */
@media (max-width: 992px) {
.game-content[data-v-698cb17c] {
    flex-direction: column;
}
.side-panel[data-v-698cb17c] {
    max-height: none;
}
}
@media (max-width: 768px) {
.adventure-header[data-v-698cb17c] {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}
.adventure-info[data-v-698cb17c] {
    width: 100%;
    justify-content: space-between;
}
.story-controls[data-v-698cb17c] {
    flex-wrap: wrap;
}
.control-button[data-v-698cb17c] {
    flex: 1 0 40%;
}
.story-segment[data-v-698cb17c] {
    padding: 1.2rem;
}
.story-choice[data-v-698cb17c] {
    padding: 0.8rem 1rem;
}
}
@media (max-width: 480px) {
.story-controls[data-v-698cb17c] {
    flex-direction: column;
}
.control-button[data-v-698cb17c] {
    flex: 1;
}
.adventure-header h2[data-v-698cb17c] {
    font-size: 1.5rem;
}
}
:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:0.3s;--el-transition-duration-fast:0.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(0.645,0.045,0.355,1);--el-transition-function-fast-bezier:cubic-bezier(0.23,1,0.32,1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:rgb(121.3,187.1,255);--el-color-primary-light-5:rgb(159.5,206.5,255);--el-color-primary-light-7:rgb(197.7,225.9,255);--el-color-primary-light-8:rgb(216.8,235.6,255);--el-color-primary-light-9:rgb(235.9,245.3,255);--el-color-primary-dark-2:rgb(51.2,126.4,204);--el-color-success:#67c23a;--el-color-success-light-3:rgb(148.6,212.3,117.1);--el-color-success-light-5:rgb(179,224.5,156.5);--el-color-success-light-7:rgb(209.4,236.7,195.9);--el-color-success-light-8:rgb(224.6,242.8,215.6);--el-color-success-light-9:rgb(239.8,248.9,235.3);--el-color-success-dark-2:rgb(82.4,155.2,46.4);--el-color-warning:#e6a23c;--el-color-warning-light-3:rgb(237.5,189.9,118.5);--el-color-warning-light-5:rgb(242.5,208.5,157.5);--el-color-warning-light-7:rgb(247.5,227.1,196.5);--el-color-warning-light-8:rgb(250,236.4,216);--el-color-warning-light-9:rgb(252.5,245.7,235.5);--el-color-warning-dark-2:rgb(184,129.6,48);--el-color-danger:#f56c6c;--el-color-danger-light-3:rgb(248,152.1,152.1);--el-color-danger-light-5:rgb(250,181.5,181.5);--el-color-danger-light-7:rgb(252,210.9,210.9);--el-color-danger-light-8:rgb(253,225.6,225.6);--el-color-danger-light-9:rgb(254,240.3,240.3);--el-color-danger-dark-2:rgb(196,86.4,86.4);--el-color-error:#f56c6c;--el-color-error-light-3:rgb(248,152.1,152.1);--el-color-error-light-5:rgb(250,181.5,181.5);--el-color-error-light-7:rgb(252,210.9,210.9);--el-color-error-light-8:rgb(253,225.6,225.6);--el-color-error-light-9:rgb(254,240.3,240.3);--el-color-error-dark-2:rgb(196,86.4,86.4);--el-color-info:#909399;--el-color-info-light-3:rgb(177.3,179.4,183.6);--el-color-info-light-5:rgb(199.5,201,204);--el-color-info-light-7:rgb(221.7,222.6,224.4);--el-color-info-light-8:rgb(232.8,233.4,234.6);--el-color-info-light-9:rgb(243.9,244.2,244.8);--el-color-info-dark-2:rgb(115.2,117.6,122.4);--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0,0,0,0.04),0px 8px 20px rgba(0,0,0,0.08);--el-box-shadow-light:0px 0px 12px rgba(0,0,0,0.12);--el-box-shadow-lighter:0px 0px 6px rgba(0,0,0,0.12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0,0,0,0.08),0px 12px 32px rgba(0,0,0,0.12),0px 8px 16px -8px rgba(0,0,0,0.16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0,0,0,0.8);--el-overlay-color-light:rgba(0,0,0,0.7);--el-overlay-color-lighter:rgba(0,0,0,0.5);--el-mask-color:rgba(255,255,255,0.9);--el-mask-color-extra-light:rgba(255,255,255,0.3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transform-origin:center top;transition:var(--el-transition-md-fade)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transform-origin:center bottom;transition:var(--el-transition-md-fade)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transform-origin:top left;transition:var(--el-transition-md-fade)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon-loading{animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-icon{--color:inherit;align-items:center;display:inline-flex;height:1em;justify-content:center;line-height:1em;position:relative;width:1em;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-affix--fixed{position:fixed}.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:14px;--el-alert-title-with-description-font-size:16px;--el-alert-description-font-size:14px;--el-alert-close-font-size:16px;--el-alert-close-customed-font-size:14px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;align-items:center;background-color:var(--el-color-white);border-radius:var(--el-alert-border-radius-base);box-sizing:border-box;display:flex;margin:0;opacity:1;overflow:hidden;padding:var(--el-alert-padding);position:relative;transition:opacity var(--el-transition-duration-fast);width:100%}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--primary{--el-alert-bg-color:var(--el-color-primary-light-9)}.el-alert--primary.is-light{background-color:var(--el-alert-bg-color)}.el-alert--primary.is-light,.el-alert--primary.is-light .el-alert__description{color:var(--el-color-primary)}.el-alert--primary.is-dark{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color)}.el-alert--success.is-light,.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color)}.el-alert--info.is-light,.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color)}.el-alert--warning.is-light,.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color)}.el-alert--error.is-light,.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{display:flex;flex-direction:column;gap:4px}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);margin-right:8px;width:var(--el-alert-icon-size)}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);margin-right:12px;width:var(--el-alert-icon-large-size)}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{cursor:pointer;font-size:var(--el-alert-close-font-size);opacity:1;position:absolute;right:16px;top:12px}.el-alert .el-alert__close-btn.is-customed{font-size:var(--el-alert-close-customed-font-size);font-style:normal;line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0}.el-aside{box-sizing:border-box;flex-shrink:0;overflow:auto;width:var(--el-aside-width,300px)}.el-autocomplete{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;display:inline-block;position:relative;width:var(--el-input-width)}.el-autocomplete__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-autocomplete__popper.el-popper,.el-autocomplete__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-autocomplete__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-autocomplete-suggestion{border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-autocomplete-suggestion__wrap{box-sizing:border-box;max-height:280px;padding:10px 0}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);line-height:34px;list-style:none;margin:0;overflow:hidden;padding:0 20px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:var(--el-fill-color-light)}.el-autocomplete-suggestion li.divider{border-top:1px solid var(--el-color-black);margin-top:6px}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{color:var(--el-text-color-secondary);font-size:20px;height:100px;line-height:100px;text-align:center}.el-autocomplete-suggestion.is-loading li:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:var(--el-bg-color-overlay)}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size-small:24px;--el-avatar-size:40px;align-items:center;background:var(--el-avatar-bg-color);box-sizing:border-box;color:var(--el-avatar-text-color);display:inline-flex;font-size:var(--el-avatar-text-size);height:var(--el-avatar-size);justify-content:center;outline:none;overflow:hidden;text-align:center;width:var(--el-avatar-size)}.el-avatar>img{display:block;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.el-backtop{--el-backtop-bg-color:var(--el-bg-color-overlay);--el-backtop-text-color:var(--el-color-primary);--el-backtop-hover-bg-color:var(--el-border-color-extra-light);align-items:center;background-color:var(--el-backtop-bg-color);border-radius:50%;box-shadow:var(--el-box-shadow-lighter);color:var(--el-backtop-text-color);cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:fixed;width:40px;z-index:5}.el-backtop:hover{background-color:var(--el-backtop-hover-bg-color)}.el-backtop__icon{font-size:20px}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;display:inline-block;position:relative;vertical-align:middle;width:-moz-fit-content;width:fit-content}.el-badge__content{align-items:center;background-color:var(--el-badge-bg-color);border:1px solid var(--el-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);display:inline-flex;font-size:var(--el-badge-font-size);height:var(--el-badge-size);justify-content:center;padding:0 var(--el-badge-padding);white-space:nowrap}.el-badge__content.is-fixed{position:absolute;right:calc(1px + var(--el-badge-size)/2);top:0;transform:translateY(-50%) translateX(100%);z-index:var(--el-index-normal)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;height:8px;padding:0;right:0;width:8px}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{content:"";display:table}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);font-weight:bold;margin:0 9px}.el-breadcrumb__separator.el-icon{font-weight:normal;margin:0 6px}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{align-items:center;display:inline-flex;float:left}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{color:var(--el-text-color-primary);font-weight:bold;text-decoration:none;transition:var(--el-transition-color)}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{color:var(--el-text-color-regular);cursor:text;font-weight:normal}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{content:"";display:table}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.el-button-group>.el-button:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-bottom-left-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-bottom-left-radius:0;border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0}.el-button-group .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:rgba(255,255,255,0.5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);align-items:center;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);box-sizing:border-box;color:var(--el-button-text-color);cursor:pointer;display:inline-flex;font-weight:var(--el-button-font-weight);height:32px;justify-content:center;line-height:1;outline:none;text-align:center;transition:.1s;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-button:hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color);color:var(--el-button-hover-text-color);outline:none}.el-button:active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{border-radius:var(--el-border-radius-base);font-size:var(--el-font-size-base)}.el-button,.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{background-color:var(--el-button-disabled-bg-color);background-image:none;border-color:var(--el-button-disabled-border-color);color:var(--el-button-disabled-text-color);cursor:not-allowed}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{background-color:var(--el-mask-color-extra-light);border-radius:inherit;bottom:-1px;content:"";left:-1px;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:1}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{border-radius:50%;padding:8px;width:32px}.el-button.is-text{background-color:transparent;border:0 solid transparent;color:var(--el-button-text-color)}.el-button.is-text.is-disabled{background-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{background:transparent;border-color:transparent;color:var(--el-button-text-color);height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-link:not(.is-disabled):active,.el-button.is-link:not(.is-disabled):hover{background-color:transparent;border-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color)}.el-button--text{background:transparent;border-color:transparent;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button--text:not(.is-disabled):hover{background-color:transparent;border-color:transparent;color:var(--el-color-primary-light-3)}.el-button--text:not(.is-disabled):active{background-color:transparent;border-color:transparent;color:var(--el-color-primary-dark-2)}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-link,.el-button--primary.is-plain,.el-button--primary.is-text{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:active,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:hover{background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8);color:var(--el-color-primary-light-5)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-link,.el-button--success.is-plain,.el-button--success.is-text{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:active,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:active,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:hover{background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8);color:var(--el-color-success-light-5)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-link,.el-button--warning.is-plain,.el-button--warning.is-text{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:active,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:hover{background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8);color:var(--el-color-warning-light-5)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-link,.el-button--danger.is-plain,.el-button--danger.is-text{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:active,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:hover{background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8);color:var(--el-color-danger-light-5)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-link,.el-button--info.is-plain,.el-button--info.is-text{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:active,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:active,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:hover{background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8);color:var(--el-color-info-light-5)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{border-radius:var(--el-border-radius-base);font-size:var(--el-font-size-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{padding:12px;width:var(--el-button-size)}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);font-size:12px;padding:5px 11px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{padding:5px;width:var(--el-button-size)}.el-calendar{--el-calendar-border:var(--el-table-border,1px solid var(--el-border-color-lighter));--el-calendar-header-border-bottom:var(--el-calendar-border);--el-calendar-selected-bg-color:var(--el-color-primary-light-9);--el-calendar-cell-width:85px;background-color:var(--el-fill-color-blank)}.el-calendar__header{border-bottom:var(--el-calendar-header-border-bottom);display:flex;justify-content:space-between;padding:12px 20px}.el-calendar__title{align-self:center;color:var(--el-text-color)}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{color:var(--el-text-color-regular);font-weight:normal;padding:12px 0}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:var(--el-text-color-placeholder)}.el-calendar-table td{border-bottom:var(--el-calendar-border);border-right:var(--el-calendar-border);transition:background-color var(--el-transition-duration-fast) ease;vertical-align:top}.el-calendar-table td.is-selected{background-color:var(--el-calendar-selected-bg-color)}.el-calendar-table td.is-today{color:var(--el-color-primary)}.el-calendar-table tr:first-child td{border-top:var(--el-calendar-border)}.el-calendar-table tr td:first-child{border-left:var(--el-calendar-border)}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;height:var(--el-calendar-cell-width);padding:8px}.el-calendar-table .el-calendar-day:hover{background-color:var(--el-calendar-selected-bg-color);cursor:pointer}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);background-color:var(--el-card-bg-color);border:1px solid var(--el-card-border-color);border-radius:var(--el-card-border-radius);color:var(--el-text-color-primary);overflow:hidden;transition:var(--el-transition-duration)}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:var(--el-box-shadow-light)}.el-card__header{border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-card__body{padding:var(--el-card-padding)}.el-card__footer{border-top:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-carousel__item{display:inline-block;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.el-carousel__item,.el-carousel__item.is-active{z-index:calc(var(--el-index-normal) - 1)}.el-carousel__item--card,.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:var(--el-index-normal)}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:calc(var(--el-index-normal) + 1)}.el-carousel__item--card-vertical{height:50%;width:100%}.el-carousel__mask{background-color:var(--el-color-white);height:100%;left:0;opacity:.24;position:absolute;top:0;transition:var(--el-transition-duration-fast);width:100%}.el-carousel{--el-carousel-arrow-font-size:12px;--el-carousel-arrow-size:36px;--el-carousel-arrow-background:rgba(31,45,61,0.11);--el-carousel-arrow-hover-background:rgba(31,45,61,0.23);--el-carousel-indicator-width:30px;--el-carousel-indicator-height:2px;--el-carousel-indicator-padding-horizontal:4px;--el-carousel-indicator-padding-vertical:12px;--el-carousel-indicator-out-color:var(--el-border-color-hover);position:relative}.el-carousel--horizontal,.el-carousel--vertical{overflow:hidden}.el-carousel__container{height:300px;position:relative}.el-carousel__arrow{align-items:center;background-color:var(--el-carousel-arrow-background);border:none;border-radius:50%;color:#ffffff;cursor:pointer;display:inline-flex;font-size:var(--el-carousel-arrow-font-size);height:var(--el-carousel-arrow-size);justify-content:center;margin:0;outline:none;padding:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);transition:var(--el-transition-duration);width:var(--el-carousel-arrow-size);z-index:10}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:var(--el-carousel-arrow-hover-background)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{list-style:none;margin:0;padding:0;position:absolute;z-index:calc(var(--el-index-normal) + 1)}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:calc(var(--el-carousel-indicator-height) + var(--el-carousel-indicator-padding-vertical)*2);position:static;text-align:center;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:var(--el-carousel-indicator-out-color);opacity:.24}.el-carousel__indicators--right{right:0}.el-carousel__indicators--labels{left:0;right:0;text-align:center;transform:none}.el-carousel__indicators--labels .el-carousel__button{color:#000000;font-size:12px;height:auto;padding:2px 18px;width:auto}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:var(--el-carousel-indicator-padding-vertical) var(--el-carousel-indicator-padding-horizontal)}.el-carousel__indicator--vertical{padding:var(--el-carousel-indicator-padding-horizontal) var(--el-carousel-indicator-padding-vertical)}.el-carousel__indicator--vertical .el-carousel__button{height:calc(var(--el-carousel-indicator-width)/2);width:var(--el-carousel-indicator-height)}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{background-color:#ffffff;border:none;cursor:pointer;display:block;height:var(--el-carousel-indicator-height);margin:0;opacity:.48;outline:none;padding:0;transition:var(--el-transition-duration);width:var(--el-carousel-indicator-width)}.carousel-arrow-left-enter-from,.carousel-arrow-left-leave-active{opacity:0;transform:translateY(-50%) translateX(-10px)}.carousel-arrow-right-enter-from,.carousel-arrow-right-leave-active{opacity:0;transform:translateY(-50%) translateX(10px)}.el-transitioning{filter:url(#elCarouselHorizontal)}.el-transitioning-vertical{filter:url(#elCarouselVertical)}.el-cascader-panel{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);display:flex;font-size:var(--el-cascader-menu-font-size)}.el-cascader-panel.is-bordered{border:var(--el-cascader-menu-border);border-radius:var(--el-cascader-menu-radius)}.el-cascader-menu{border-right:var(--el-cascader-menu-border);box-sizing:border-box;color:var(--el-cascader-menu-text-color);min-width:180px}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap.el-scrollbar__wrap{height:204px}.el-cascader-menu__list{box-sizing:border-box;list-style:none;margin:0;min-height:100%;padding:6px 0;position:relative}.el-cascader-menu__hover-zone{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.el-cascader-menu__empty-text{align-items:center;color:var(--el-cascader-color-empty);display:flex;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-cascader-menu__empty-text .is-loading{margin-right:2px}.el-cascader-node{align-items:center;display:flex;height:34px;line-height:34px;outline:none;padding:0 30px 0 20px;position:relative}.el-cascader-node.is-selectable.in-active-path{color:var(--el-cascader-menu-text-color)}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:var(--el-cascader-menu-selected-text-color);font-weight:bold}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:var(--el-cascader-node-background-hover)}.el-cascader-node.is-disabled{color:var(--el-cascader-node-color-disabled);cursor:not-allowed}.el-cascader-node__prefix{left:10px;position:absolute}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{flex:1;overflow:hidden;padding:0 8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-cascader-node>.el-checkbox,.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);display:inline-block;font-size:var(--el-font-size-base);line-height:32px;outline:none;position:relative;vertical-align:middle}.el-cascader:not(.is-disabled):hover .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset;cursor:pointer}.el-cascader .el-input{cursor:pointer;display:flex}.el-cascader .el-input .el-input__inner{cursor:pointer;text-overflow:ellipsis}.el-cascader .el-input .el-input__suffix-inner .el-icon svg{vertical-align:middle}.el-cascader .el-input .icon-arrow-down{font-size:14px;transition:transform var(--el-transition-duration)}.el-cascader .el-input .icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .icon-circle-close:hover{color:var(--el-input-clear-hover-color,var(--el-text-color-secondary))}.el-cascader .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-cascader--large{font-size:14px;line-height:40px}.el-cascader--large .el-cascader__tags{gap:6px;padding:8px}.el-cascader--large .el-cascader__search-input{height:24px;margin-left:7px}.el-cascader--small{font-size:12px;line-height:24px}.el-cascader--small .el-cascader__tags{gap:4px;padding:2px}.el-cascader--small .el-cascader__search-input{height:20px;margin-left:5px}.el-cascader.is-disabled .el-cascader__label{color:var(--el-disabled-text-color);z-index:calc(var(--el-index-normal) + 1)}.el-cascader__dropdown{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);font-size:var(--el-cascader-menu-font-size)}.el-cascader__dropdown.el-popper{background:var(--el-cascader-menu-fill)}.el-cascader__dropdown.el-popper,.el-cascader__dropdown.el-popper .el-popper__arrow:before{border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper{box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__tags{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:6px;left:0;line-height:normal;padding:4px;position:absolute;right:30px;text-align:left;top:50%;transform:translateY(-50%)}.el-cascader__tags .el-tag{align-items:center;background:var(--el-cascader-tag-background);display:inline-flex;max-width:100%;text-overflow:ellipsis}.el-cascader__tags .el-tag.el-tag--dark,.el-cascader__tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__tags .el-tag>span{flex:1;line-height:normal;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__tags .el-tag+input{margin-left:0}.el-cascader__tags.is-validate{right:55px}.el-cascader__collapse-tags{white-space:normal;z-index:var(--el-index-normal)}.el-cascader__collapse-tags .el-tag{align-items:center;background:var(--el-fill-color);display:inline-flex;max-width:100%;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag.el-tag--dark,.el-cascader__collapse-tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__collapse-tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__collapse-tags .el-tag>span{flex:1;line-height:normal;overflow:hidden;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__collapse-tags .el-tag+input{margin-left:0}.el-cascader__collapse-tags .el-tag{margin:2px 0}.el-cascader__suggestion-panel{border-radius:var(--el-cascader-menu-radius)}.el-cascader__suggestion-list{color:var(--el-cascader-menu-text-color);font-size:var(--el-font-size-base);margin:0;max-height:204px;padding:6px 0;text-align:center}.el-cascader__suggestion-item{align-items:center;cursor:pointer;display:flex;height:34px;justify-content:space-between;outline:none;padding:0 15px;text-align:left}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:var(--el-cascader-node-background-hover)}.el-cascader__suggestion-item.is-checked{color:var(--el-cascader-menu-selected-text-color);font-weight:bold}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{color:var(--el-cascader-color-empty);margin:10px 0}.el-cascader__search-input{background:transparent;border:none;box-sizing:border-box;color:var(--el-cascader-menu-text-color);flex:1;height:24px;margin-left:7px;min-width:60px;outline:none;padding:0}.el-cascader__search-input::-moz-placeholder{color:transparent}.el-cascader__search-input::placeholder{color:transparent}.el-check-tag{background-color:var(--el-color-info-light-9);border-radius:var(--el-border-radius-base);color:var(--el-color-info);cursor:pointer;display:inline-block;font-size:var(--el-font-size-base);font-weight:bold;line-height:var(--el-font-size-base);padding:7px 15px;transition:var(--el-transition-all)}.el-check-tag:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--primary.is-checked{background-color:var(--el-color-primary-light-8);color:var(--el-color-primary)}.el-check-tag.el-check-tag--primary.is-checked:hover{background-color:var(--el-color-primary-light-7)}.el-check-tag.el-check-tag--primary.is-checked.is-disabled{background-color:var(--el-color-primary-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-checked.is-disabled:hover{background-color:var(--el-color-primary-light-8)}.el-check-tag.el-check-tag--primary.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-check-tag.el-check-tag--success.is-checked{background-color:var(--el-color-success-light-8);color:var(--el-color-success)}.el-check-tag.el-check-tag--success.is-checked:hover{background-color:var(--el-color-success-light-7)}.el-check-tag.el-check-tag--success.is-checked.is-disabled{background-color:var(--el-color-success-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-checked.is-disabled:hover{background-color:var(--el-color-success-light-8)}.el-check-tag.el-check-tag--success.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-disabled,.el-check-tag.el-check-tag--success.is-disabled:hover{background-color:var(--el-color-success-light-9)}.el-check-tag.el-check-tag--warning.is-checked{background-color:var(--el-color-warning-light-8);color:var(--el-color-warning)}.el-check-tag.el-check-tag--warning.is-checked:hover{background-color:var(--el-color-warning-light-7)}.el-check-tag.el-check-tag--warning.is-checked.is-disabled{background-color:var(--el-color-warning-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-checked.is-disabled:hover{background-color:var(--el-color-warning-light-8)}.el-check-tag.el-check-tag--warning.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-disabled,.el-check-tag.el-check-tag--warning.is-disabled:hover{background-color:var(--el-color-warning-light-9)}.el-check-tag.el-check-tag--danger.is-checked{background-color:var(--el-color-danger-light-8);color:var(--el-color-danger)}.el-check-tag.el-check-tag--danger.is-checked:hover{background-color:var(--el-color-danger-light-7)}.el-check-tag.el-check-tag--danger.is-checked.is-disabled{background-color:var(--el-color-danger-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-checked.is-disabled:hover{background-color:var(--el-color-danger-light-8)}.el-check-tag.el-check-tag--danger.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-disabled,.el-check-tag.el-check-tag--danger.is-disabled:hover{background-color:var(--el-color-danger-light-9)}.el-check-tag.el-check-tag--error.is-checked{background-color:var(--el-color-error-light-8);color:var(--el-color-error)}.el-check-tag.el-check-tag--error.is-checked:hover{background-color:var(--el-color-error-light-7)}.el-check-tag.el-check-tag--error.is-checked.is-disabled{background-color:var(--el-color-error-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-checked.is-disabled:hover{background-color:var(--el-color-error-light-8)}.el-check-tag.el-check-tag--error.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-disabled,.el-check-tag.el-check-tag--error.is-disabled:hover{background-color:var(--el-color-error-light-9)}.el-check-tag.el-check-tag--info.is-checked{background-color:var(--el-color-info-light-8);color:var(--el-color-info)}.el-check-tag.el-check-tag--info.is-checked:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--info.is-checked.is-disabled{background-color:var(--el-color-info-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-checked.is-disabled:hover{background-color:var(--el-color-info-light-8)}.el-check-tag.el-check-tag--info.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-disabled,.el-check-tag.el-check-tag--info.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-checkbox-button{--el-checkbox-button-checked-bg-color:var(--el-color-primary);--el-checkbox-button-checked-text-color:var(--el-color-white);--el-checkbox-button-checked-border-color:var(--el-color-primary);display:inline-block;position:relative}.el-checkbox-button__inner{-webkit-appearance:none;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);border-left-color:transparent;border-radius:0;box-sizing:border-box;color:var(--el-button-text-color,var(--el-text-color-regular));cursor:pointer;display:inline-block;font-size:var(--el-font-size-base);font-weight:var(--el-checkbox-font-weight);line-height:1;margin:0;outline:none;padding:8px 15px;position:relative;text-align:center;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-checkbox-button__inner.is-round{padding:8px 15px}.el-checkbox-button__inner:hover{color:var(--el-color-primary)}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{margin:0;opacity:0;outline:none;position:absolute;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{background-color:var(--el-checkbox-button-checked-bg-color);border-color:var(--el-checkbox-button-checked-border-color);box-shadow:-1px 0 0 0 var(--el-color-primary-light-7);color:var(--el-checkbox-button-checked-text-color)}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button.is-disabled .el-checkbox-button__inner{background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));background-image:none;border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none;color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:var(--el-button-disabled-border-color,var(--el-border-color-light))}.el-checkbox-button:first-child .el-checkbox-button__inner{border-bottom-left-radius:var(--el-border-radius-base);border-left:var(--el-border);border-top-left-radius:var(--el-border-radius-base);box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button:last-child .el-checkbox-button__inner{border-bottom-right-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.el-checkbox-button--large .el-checkbox-button__inner{border-radius:0;font-size:var(--el-font-size-base);padding:12px 19px}.el-checkbox-button--large .el-checkbox-button__inner.is-round{padding:12px 19px}.el-checkbox-button--small .el-checkbox-button__inner{border-radius:0;font-size:12px;padding:5px 11px}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:5px 11px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);align-items:center;color:var(--el-checkbox-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-checkbox-font-weight);height:var(--el-checkbox-height,32px);margin-right:30px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox input:focus-visible+.el-checkbox__inner{border-radius:var(--el-checkbox-border-radius);outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px}.el-checkbox__input{cursor:pointer;display:inline-flex;outline:none;position:relative;white-space:nowrap}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-icon-color);cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-checked-icon-color);content:"";display:block;height:2px;left:0;position:absolute;right:0;top:5px;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{background-color:var(--el-checkbox-bg-color);border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;display:inline-block;height:var(--el-checkbox-input-height);position:relative;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);width:var(--el-checkbox-input-width);z-index:var(--el-index-normal)}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{border:1px solid transparent;border-left:0;border-top:0;box-sizing:content-box;content:"";height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg) scaleY(0);transform-origin:center;transition:transform .15s ease-in .05s;width:3px}.el-checkbox__original{height:0;margin:0;opacity:0;outline:none;position:absolute;width:0;z-index:-1}.el-checkbox__label{display:inline-block;font-size:var(--el-checkbox-font-size);line-height:1;padding-left:8px}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox:last-of-type{margin-right:0}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{display:block;min-height:1px}.el-col-0{flex:0 0 0%;max-width:0}.el-col-0,.el-col-0.is-guttered{display:none}.el-col-offset-0{margin-left:0}.el-col-pull-0{position:relative;right:0}.el-col-push-0{left:0;position:relative}.el-col-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-1,.el-col-1.is-guttered{display:block}.el-col-offset-1{margin-left:4.1666666667%}.el-col-pull-1{position:relative;right:4.1666666667%}.el-col-push-1{left:4.1666666667%;position:relative}.el-col-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-2,.el-col-2.is-guttered{display:block}.el-col-offset-2{margin-left:8.3333333333%}.el-col-pull-2{position:relative;right:8.3333333333%}.el-col-push-2{left:8.3333333333%;position:relative}.el-col-3{flex:0 0 12.5%;max-width:12.5%}.el-col-3,.el-col-3.is-guttered{display:block}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{left:12.5%;position:relative}.el-col-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-4,.el-col-4.is-guttered{display:block}.el-col-offset-4{margin-left:16.6666666667%}.el-col-pull-4{position:relative;right:16.6666666667%}.el-col-push-4{left:16.6666666667%;position:relative}.el-col-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-5,.el-col-5.is-guttered{display:block}.el-col-offset-5{margin-left:20.8333333333%}.el-col-pull-5{position:relative;right:20.8333333333%}.el-col-push-5{left:20.8333333333%;position:relative}.el-col-6{flex:0 0 25%;max-width:25%}.el-col-6,.el-col-6.is-guttered{display:block}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{left:25%;position:relative}.el-col-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-7,.el-col-7.is-guttered{display:block}.el-col-offset-7{margin-left:29.1666666667%}.el-col-pull-7{position:relative;right:29.1666666667%}.el-col-push-7{left:29.1666666667%;position:relative}.el-col-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-8,.el-col-8.is-guttered{display:block}.el-col-offset-8{margin-left:33.3333333333%}.el-col-pull-8{position:relative;right:33.3333333333%}.el-col-push-8{left:33.3333333333%;position:relative}.el-col-9{flex:0 0 37.5%;max-width:37.5%}.el-col-9,.el-col-9.is-guttered{display:block}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{left:37.5%;position:relative}.el-col-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-10,.el-col-10.is-guttered{display:block}.el-col-offset-10{margin-left:41.6666666667%}.el-col-pull-10{position:relative;right:41.6666666667%}.el-col-push-10{left:41.6666666667%;position:relative}.el-col-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-11,.el-col-11.is-guttered{display:block}.el-col-offset-11{margin-left:45.8333333333%}.el-col-pull-11{position:relative;right:45.8333333333%}.el-col-push-11{left:45.8333333333%;position:relative}.el-col-12{flex:0 0 50%;max-width:50%}.el-col-12,.el-col-12.is-guttered{display:block}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{left:50%;position:relative}.el-col-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-13,.el-col-13.is-guttered{display:block}.el-col-offset-13{margin-left:54.1666666667%}.el-col-pull-13{position:relative;right:54.1666666667%}.el-col-push-13{left:54.1666666667%;position:relative}.el-col-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-14,.el-col-14.is-guttered{display:block}.el-col-offset-14{margin-left:58.3333333333%}.el-col-pull-14{position:relative;right:58.3333333333%}.el-col-push-14{left:58.3333333333%;position:relative}.el-col-15{flex:0 0 62.5%;max-width:62.5%}.el-col-15,.el-col-15.is-guttered{display:block}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{left:62.5%;position:relative}.el-col-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-16,.el-col-16.is-guttered{display:block}.el-col-offset-16{margin-left:66.6666666667%}.el-col-pull-16{position:relative;right:66.6666666667%}.el-col-push-16{left:66.6666666667%;position:relative}.el-col-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-17,.el-col-17.is-guttered{display:block}.el-col-offset-17{margin-left:70.8333333333%}.el-col-pull-17{position:relative;right:70.8333333333%}.el-col-push-17{left:70.8333333333%;position:relative}.el-col-18{flex:0 0 75%;max-width:75%}.el-col-18,.el-col-18.is-guttered{display:block}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{left:75%;position:relative}.el-col-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-19,.el-col-19.is-guttered{display:block}.el-col-offset-19{margin-left:79.1666666667%}.el-col-pull-19{position:relative;right:79.1666666667%}.el-col-push-19{left:79.1666666667%;position:relative}.el-col-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-20,.el-col-20.is-guttered{display:block}.el-col-offset-20{margin-left:83.3333333333%}.el-col-pull-20{position:relative;right:83.3333333333%}.el-col-push-20{left:83.3333333333%;position:relative}.el-col-21{flex:0 0 87.5%;max-width:87.5%}.el-col-21,.el-col-21.is-guttered{display:block}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{left:87.5%;position:relative}.el-col-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-22,.el-col-22.is-guttered{display:block}.el-col-offset-22{margin-left:91.6666666667%}.el-col-pull-22{position:relative;right:91.6666666667%}.el-col-push-22{left:91.6666666667%;position:relative}.el-col-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-23,.el-col-23.is-guttered{display:block}.el-col-offset-23{margin-left:95.8333333333%}.el-col-pull-23{position:relative;right:95.8333333333%}.el-col-push-23{left:95.8333333333%;position:relative}.el-col-24{flex:0 0 100%;max-width:100%}.el-col-24,.el-col-24.is-guttered{display:block}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{left:100%;position:relative}@media only screen and (max-width:767px){.el-col-xs-0{display:none;flex:0 0 0%;max-width:0}.el-col-xs-0.is-guttered{display:none}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{left:0;position:relative}.el-col-xs-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-xs-1,.el-col-xs-1.is-guttered{display:block}.el-col-xs-offset-1{margin-left:4.1666666667%}.el-col-xs-pull-1{position:relative;right:4.1666666667%}.el-col-xs-push-1{left:4.1666666667%;position:relative}.el-col-xs-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-xs-2,.el-col-xs-2.is-guttered{display:block}.el-col-xs-offset-2{margin-left:8.3333333333%}.el-col-xs-pull-2{position:relative;right:8.3333333333%}.el-col-xs-push-2{left:8.3333333333%;position:relative}.el-col-xs-3{flex:0 0 12.5%;max-width:12.5%}.el-col-xs-3,.el-col-xs-3.is-guttered{display:block}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{left:12.5%;position:relative}.el-col-xs-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-xs-4,.el-col-xs-4.is-guttered{display:block}.el-col-xs-offset-4{margin-left:16.6666666667%}.el-col-xs-pull-4{position:relative;right:16.6666666667%}.el-col-xs-push-4{left:16.6666666667%;position:relative}.el-col-xs-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-xs-5,.el-col-xs-5.is-guttered{display:block}.el-col-xs-offset-5{margin-left:20.8333333333%}.el-col-xs-pull-5{position:relative;right:20.8333333333%}.el-col-xs-push-5{left:20.8333333333%;position:relative}.el-col-xs-6{flex:0 0 25%;max-width:25%}.el-col-xs-6,.el-col-xs-6.is-guttered{display:block}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{left:25%;position:relative}.el-col-xs-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-xs-7,.el-col-xs-7.is-guttered{display:block}.el-col-xs-offset-7{margin-left:29.1666666667%}.el-col-xs-pull-7{position:relative;right:29.1666666667%}.el-col-xs-push-7{left:29.1666666667%;position:relative}.el-col-xs-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-xs-8,.el-col-xs-8.is-guttered{display:block}.el-col-xs-offset-8{margin-left:33.3333333333%}.el-col-xs-pull-8{position:relative;right:33.3333333333%}.el-col-xs-push-8{left:33.3333333333%;position:relative}.el-col-xs-9{flex:0 0 37.5%;max-width:37.5%}.el-col-xs-9,.el-col-xs-9.is-guttered{display:block}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{left:37.5%;position:relative}.el-col-xs-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-xs-10.is-guttered{display:block}.el-col-xs-offset-10{margin-left:41.6666666667%}.el-col-xs-pull-10{position:relative;right:41.6666666667%}.el-col-xs-push-10{left:41.6666666667%;position:relative}.el-col-xs-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-xs-11.is-guttered{display:block}.el-col-xs-offset-11{margin-left:45.8333333333%}.el-col-xs-pull-11{position:relative;right:45.8333333333%}.el-col-xs-push-11{left:45.8333333333%;position:relative}.el-col-xs-12{display:block;flex:0 0 50%;max-width:50%}.el-col-xs-12.is-guttered{display:block}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{left:50%;position:relative}.el-col-xs-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-xs-13.is-guttered{display:block}.el-col-xs-offset-13{margin-left:54.1666666667%}.el-col-xs-pull-13{position:relative;right:54.1666666667%}.el-col-xs-push-13{left:54.1666666667%;position:relative}.el-col-xs-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-xs-14.is-guttered{display:block}.el-col-xs-offset-14{margin-left:58.3333333333%}.el-col-xs-pull-14{position:relative;right:58.3333333333%}.el-col-xs-push-14{left:58.3333333333%;position:relative}.el-col-xs-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-xs-15.is-guttered{display:block}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{left:62.5%;position:relative}.el-col-xs-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-xs-16.is-guttered{display:block}.el-col-xs-offset-16{margin-left:66.6666666667%}.el-col-xs-pull-16{position:relative;right:66.6666666667%}.el-col-xs-push-16{left:66.6666666667%;position:relative}.el-col-xs-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-xs-17.is-guttered{display:block}.el-col-xs-offset-17{margin-left:70.8333333333%}.el-col-xs-pull-17{position:relative;right:70.8333333333%}.el-col-xs-push-17{left:70.8333333333%;position:relative}.el-col-xs-18{display:block;flex:0 0 75%;max-width:75%}.el-col-xs-18.is-guttered{display:block}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{left:75%;position:relative}.el-col-xs-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-xs-19.is-guttered{display:block}.el-col-xs-offset-19{margin-left:79.1666666667%}.el-col-xs-pull-19{position:relative;right:79.1666666667%}.el-col-xs-push-19{left:79.1666666667%;position:relative}.el-col-xs-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-xs-20.is-guttered{display:block}.el-col-xs-offset-20{margin-left:83.3333333333%}.el-col-xs-pull-20{position:relative;right:83.3333333333%}.el-col-xs-push-20{left:83.3333333333%;position:relative}.el-col-xs-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-xs-21.is-guttered{display:block}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{left:87.5%;position:relative}.el-col-xs-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-xs-22.is-guttered{display:block}.el-col-xs-offset-22{margin-left:91.6666666667%}.el-col-xs-pull-22{position:relative;right:91.6666666667%}.el-col-xs-push-22{left:91.6666666667%;position:relative}.el-col-xs-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-xs-23.is-guttered{display:block}.el-col-xs-offset-23{margin-left:95.8333333333%}.el-col-xs-pull-23{position:relative;right:95.8333333333%}.el-col-xs-push-23{left:95.8333333333%;position:relative}.el-col-xs-24{display:block;flex:0 0 100%;max-width:100%}.el-col-xs-24.is-guttered{display:block}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{left:100%;position:relative}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;flex:0 0 0%;max-width:0}.el-col-sm-0.is-guttered{display:none}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{left:0;position:relative}.el-col-sm-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-sm-1,.el-col-sm-1.is-guttered{display:block}.el-col-sm-offset-1{margin-left:4.1666666667%}.el-col-sm-pull-1{position:relative;right:4.1666666667%}.el-col-sm-push-1{left:4.1666666667%;position:relative}.el-col-sm-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-sm-2,.el-col-sm-2.is-guttered{display:block}.el-col-sm-offset-2{margin-left:8.3333333333%}.el-col-sm-pull-2{position:relative;right:8.3333333333%}.el-col-sm-push-2{left:8.3333333333%;position:relative}.el-col-sm-3{flex:0 0 12.5%;max-width:12.5%}.el-col-sm-3,.el-col-sm-3.is-guttered{display:block}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{left:12.5%;position:relative}.el-col-sm-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-sm-4,.el-col-sm-4.is-guttered{display:block}.el-col-sm-offset-4{margin-left:16.6666666667%}.el-col-sm-pull-4{position:relative;right:16.6666666667%}.el-col-sm-push-4{left:16.6666666667%;position:relative}.el-col-sm-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-sm-5,.el-col-sm-5.is-guttered{display:block}.el-col-sm-offset-5{margin-left:20.8333333333%}.el-col-sm-pull-5{position:relative;right:20.8333333333%}.el-col-sm-push-5{left:20.8333333333%;position:relative}.el-col-sm-6{flex:0 0 25%;max-width:25%}.el-col-sm-6,.el-col-sm-6.is-guttered{display:block}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{left:25%;position:relative}.el-col-sm-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-sm-7,.el-col-sm-7.is-guttered{display:block}.el-col-sm-offset-7{margin-left:29.1666666667%}.el-col-sm-pull-7{position:relative;right:29.1666666667%}.el-col-sm-push-7{left:29.1666666667%;position:relative}.el-col-sm-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-sm-8,.el-col-sm-8.is-guttered{display:block}.el-col-sm-offset-8{margin-left:33.3333333333%}.el-col-sm-pull-8{position:relative;right:33.3333333333%}.el-col-sm-push-8{left:33.3333333333%;position:relative}.el-col-sm-9{flex:0 0 37.5%;max-width:37.5%}.el-col-sm-9,.el-col-sm-9.is-guttered{display:block}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{left:37.5%;position:relative}.el-col-sm-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-sm-10.is-guttered{display:block}.el-col-sm-offset-10{margin-left:41.6666666667%}.el-col-sm-pull-10{position:relative;right:41.6666666667%}.el-col-sm-push-10{left:41.6666666667%;position:relative}.el-col-sm-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-sm-11.is-guttered{display:block}.el-col-sm-offset-11{margin-left:45.8333333333%}.el-col-sm-pull-11{position:relative;right:45.8333333333%}.el-col-sm-push-11{left:45.8333333333%;position:relative}.el-col-sm-12{display:block;flex:0 0 50%;max-width:50%}.el-col-sm-12.is-guttered{display:block}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{left:50%;position:relative}.el-col-sm-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-sm-13.is-guttered{display:block}.el-col-sm-offset-13{margin-left:54.1666666667%}.el-col-sm-pull-13{position:relative;right:54.1666666667%}.el-col-sm-push-13{left:54.1666666667%;position:relative}.el-col-sm-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-sm-14.is-guttered{display:block}.el-col-sm-offset-14{margin-left:58.3333333333%}.el-col-sm-pull-14{position:relative;right:58.3333333333%}.el-col-sm-push-14{left:58.3333333333%;position:relative}.el-col-sm-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-sm-15.is-guttered{display:block}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{left:62.5%;position:relative}.el-col-sm-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-sm-16.is-guttered{display:block}.el-col-sm-offset-16{margin-left:66.6666666667%}.el-col-sm-pull-16{position:relative;right:66.6666666667%}.el-col-sm-push-16{left:66.6666666667%;position:relative}.el-col-sm-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-sm-17.is-guttered{display:block}.el-col-sm-offset-17{margin-left:70.8333333333%}.el-col-sm-pull-17{position:relative;right:70.8333333333%}.el-col-sm-push-17{left:70.8333333333%;position:relative}.el-col-sm-18{display:block;flex:0 0 75%;max-width:75%}.el-col-sm-18.is-guttered{display:block}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{left:75%;position:relative}.el-col-sm-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-sm-19.is-guttered{display:block}.el-col-sm-offset-19{margin-left:79.1666666667%}.el-col-sm-pull-19{position:relative;right:79.1666666667%}.el-col-sm-push-19{left:79.1666666667%;position:relative}.el-col-sm-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-sm-20.is-guttered{display:block}.el-col-sm-offset-20{margin-left:83.3333333333%}.el-col-sm-pull-20{position:relative;right:83.3333333333%}.el-col-sm-push-20{left:83.3333333333%;position:relative}.el-col-sm-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-sm-21.is-guttered{display:block}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{left:87.5%;position:relative}.el-col-sm-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-sm-22.is-guttered{display:block}.el-col-sm-offset-22{margin-left:91.6666666667%}.el-col-sm-pull-22{position:relative;right:91.6666666667%}.el-col-sm-push-22{left:91.6666666667%;position:relative}.el-col-sm-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-sm-23.is-guttered{display:block}.el-col-sm-offset-23{margin-left:95.8333333333%}.el-col-sm-pull-23{position:relative;right:95.8333333333%}.el-col-sm-push-23{left:95.8333333333%;position:relative}.el-col-sm-24{display:block;flex:0 0 100%;max-width:100%}.el-col-sm-24.is-guttered{display:block}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{left:100%;position:relative}}@media only screen and (min-width:992px){.el-col-md-0{display:none;flex:0 0 0%;max-width:0}.el-col-md-0.is-guttered{display:none}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{left:0;position:relative}.el-col-md-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-md-1,.el-col-md-1.is-guttered{display:block}.el-col-md-offset-1{margin-left:4.1666666667%}.el-col-md-pull-1{position:relative;right:4.1666666667%}.el-col-md-push-1{left:4.1666666667%;position:relative}.el-col-md-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-md-2,.el-col-md-2.is-guttered{display:block}.el-col-md-offset-2{margin-left:8.3333333333%}.el-col-md-pull-2{position:relative;right:8.3333333333%}.el-col-md-push-2{left:8.3333333333%;position:relative}.el-col-md-3{flex:0 0 12.5%;max-width:12.5%}.el-col-md-3,.el-col-md-3.is-guttered{display:block}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{left:12.5%;position:relative}.el-col-md-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-md-4,.el-col-md-4.is-guttered{display:block}.el-col-md-offset-4{margin-left:16.6666666667%}.el-col-md-pull-4{position:relative;right:16.6666666667%}.el-col-md-push-4{left:16.6666666667%;position:relative}.el-col-md-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-md-5,.el-col-md-5.is-guttered{display:block}.el-col-md-offset-5{margin-left:20.8333333333%}.el-col-md-pull-5{position:relative;right:20.8333333333%}.el-col-md-push-5{left:20.8333333333%;position:relative}.el-col-md-6{flex:0 0 25%;max-width:25%}.el-col-md-6,.el-col-md-6.is-guttered{display:block}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{left:25%;position:relative}.el-col-md-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-md-7,.el-col-md-7.is-guttered{display:block}.el-col-md-offset-7{margin-left:29.1666666667%}.el-col-md-pull-7{position:relative;right:29.1666666667%}.el-col-md-push-7{left:29.1666666667%;position:relative}.el-col-md-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-md-8,.el-col-md-8.is-guttered{display:block}.el-col-md-offset-8{margin-left:33.3333333333%}.el-col-md-pull-8{position:relative;right:33.3333333333%}.el-col-md-push-8{left:33.3333333333%;position:relative}.el-col-md-9{flex:0 0 37.5%;max-width:37.5%}.el-col-md-9,.el-col-md-9.is-guttered{display:block}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{left:37.5%;position:relative}.el-col-md-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-md-10.is-guttered{display:block}.el-col-md-offset-10{margin-left:41.6666666667%}.el-col-md-pull-10{position:relative;right:41.6666666667%}.el-col-md-push-10{left:41.6666666667%;position:relative}.el-col-md-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-md-11.is-guttered{display:block}.el-col-md-offset-11{margin-left:45.8333333333%}.el-col-md-pull-11{position:relative;right:45.8333333333%}.el-col-md-push-11{left:45.8333333333%;position:relative}.el-col-md-12{display:block;flex:0 0 50%;max-width:50%}.el-col-md-12.is-guttered{display:block}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{left:50%;position:relative}.el-col-md-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-md-13.is-guttered{display:block}.el-col-md-offset-13{margin-left:54.1666666667%}.el-col-md-pull-13{position:relative;right:54.1666666667%}.el-col-md-push-13{left:54.1666666667%;position:relative}.el-col-md-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-md-14.is-guttered{display:block}.el-col-md-offset-14{margin-left:58.3333333333%}.el-col-md-pull-14{position:relative;right:58.3333333333%}.el-col-md-push-14{left:58.3333333333%;position:relative}.el-col-md-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-md-15.is-guttered{display:block}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{left:62.5%;position:relative}.el-col-md-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-md-16.is-guttered{display:block}.el-col-md-offset-16{margin-left:66.6666666667%}.el-col-md-pull-16{position:relative;right:66.6666666667%}.el-col-md-push-16{left:66.6666666667%;position:relative}.el-col-md-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-md-17.is-guttered{display:block}.el-col-md-offset-17{margin-left:70.8333333333%}.el-col-md-pull-17{position:relative;right:70.8333333333%}.el-col-md-push-17{left:70.8333333333%;position:relative}.el-col-md-18{display:block;flex:0 0 75%;max-width:75%}.el-col-md-18.is-guttered{display:block}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{left:75%;position:relative}.el-col-md-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-md-19.is-guttered{display:block}.el-col-md-offset-19{margin-left:79.1666666667%}.el-col-md-pull-19{position:relative;right:79.1666666667%}.el-col-md-push-19{left:79.1666666667%;position:relative}.el-col-md-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-md-20.is-guttered{display:block}.el-col-md-offset-20{margin-left:83.3333333333%}.el-col-md-pull-20{position:relative;right:83.3333333333%}.el-col-md-push-20{left:83.3333333333%;position:relative}.el-col-md-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-md-21.is-guttered{display:block}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{left:87.5%;position:relative}.el-col-md-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-md-22.is-guttered{display:block}.el-col-md-offset-22{margin-left:91.6666666667%}.el-col-md-pull-22{position:relative;right:91.6666666667%}.el-col-md-push-22{left:91.6666666667%;position:relative}.el-col-md-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-md-23.is-guttered{display:block}.el-col-md-offset-23{margin-left:95.8333333333%}.el-col-md-pull-23{position:relative;right:95.8333333333%}.el-col-md-push-23{left:95.8333333333%;position:relative}.el-col-md-24{display:block;flex:0 0 100%;max-width:100%}.el-col-md-24.is-guttered{display:block}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{left:100%;position:relative}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;flex:0 0 0%;max-width:0}.el-col-lg-0.is-guttered{display:none}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{left:0;position:relative}.el-col-lg-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-lg-1,.el-col-lg-1.is-guttered{display:block}.el-col-lg-offset-1{margin-left:4.1666666667%}.el-col-lg-pull-1{position:relative;right:4.1666666667%}.el-col-lg-push-1{left:4.1666666667%;position:relative}.el-col-lg-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-lg-2,.el-col-lg-2.is-guttered{display:block}.el-col-lg-offset-2{margin-left:8.3333333333%}.el-col-lg-pull-2{position:relative;right:8.3333333333%}.el-col-lg-push-2{left:8.3333333333%;position:relative}.el-col-lg-3{flex:0 0 12.5%;max-width:12.5%}.el-col-lg-3,.el-col-lg-3.is-guttered{display:block}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{left:12.5%;position:relative}.el-col-lg-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-lg-4,.el-col-lg-4.is-guttered{display:block}.el-col-lg-offset-4{margin-left:16.6666666667%}.el-col-lg-pull-4{position:relative;right:16.6666666667%}.el-col-lg-push-4{left:16.6666666667%;position:relative}.el-col-lg-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-lg-5,.el-col-lg-5.is-guttered{display:block}.el-col-lg-offset-5{margin-left:20.8333333333%}.el-col-lg-pull-5{position:relative;right:20.8333333333%}.el-col-lg-push-5{left:20.8333333333%;position:relative}.el-col-lg-6{flex:0 0 25%;max-width:25%}.el-col-lg-6,.el-col-lg-6.is-guttered{display:block}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{left:25%;position:relative}.el-col-lg-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-lg-7,.el-col-lg-7.is-guttered{display:block}.el-col-lg-offset-7{margin-left:29.1666666667%}.el-col-lg-pull-7{position:relative;right:29.1666666667%}.el-col-lg-push-7{left:29.1666666667%;position:relative}.el-col-lg-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-lg-8,.el-col-lg-8.is-guttered{display:block}.el-col-lg-offset-8{margin-left:33.3333333333%}.el-col-lg-pull-8{position:relative;right:33.3333333333%}.el-col-lg-push-8{left:33.3333333333%;position:relative}.el-col-lg-9{flex:0 0 37.5%;max-width:37.5%}.el-col-lg-9,.el-col-lg-9.is-guttered{display:block}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{left:37.5%;position:relative}.el-col-lg-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-lg-10.is-guttered{display:block}.el-col-lg-offset-10{margin-left:41.6666666667%}.el-col-lg-pull-10{position:relative;right:41.6666666667%}.el-col-lg-push-10{left:41.6666666667%;position:relative}.el-col-lg-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-lg-11.is-guttered{display:block}.el-col-lg-offset-11{margin-left:45.8333333333%}.el-col-lg-pull-11{position:relative;right:45.8333333333%}.el-col-lg-push-11{left:45.8333333333%;position:relative}.el-col-lg-12{display:block;flex:0 0 50%;max-width:50%}.el-col-lg-12.is-guttered{display:block}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{left:50%;position:relative}.el-col-lg-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-lg-13.is-guttered{display:block}.el-col-lg-offset-13{margin-left:54.1666666667%}.el-col-lg-pull-13{position:relative;right:54.1666666667%}.el-col-lg-push-13{left:54.1666666667%;position:relative}.el-col-lg-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-lg-14.is-guttered{display:block}.el-col-lg-offset-14{margin-left:58.3333333333%}.el-col-lg-pull-14{position:relative;right:58.3333333333%}.el-col-lg-push-14{left:58.3333333333%;position:relative}.el-col-lg-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-lg-15.is-guttered{display:block}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{left:62.5%;position:relative}.el-col-lg-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-lg-16.is-guttered{display:block}.el-col-lg-offset-16{margin-left:66.6666666667%}.el-col-lg-pull-16{position:relative;right:66.6666666667%}.el-col-lg-push-16{left:66.6666666667%;position:relative}.el-col-lg-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-lg-17.is-guttered{display:block}.el-col-lg-offset-17{margin-left:70.8333333333%}.el-col-lg-pull-17{position:relative;right:70.8333333333%}.el-col-lg-push-17{left:70.8333333333%;position:relative}.el-col-lg-18{display:block;flex:0 0 75%;max-width:75%}.el-col-lg-18.is-guttered{display:block}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{left:75%;position:relative}.el-col-lg-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-lg-19.is-guttered{display:block}.el-col-lg-offset-19{margin-left:79.1666666667%}.el-col-lg-pull-19{position:relative;right:79.1666666667%}.el-col-lg-push-19{left:79.1666666667%;position:relative}.el-col-lg-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-lg-20.is-guttered{display:block}.el-col-lg-offset-20{margin-left:83.3333333333%}.el-col-lg-pull-20{position:relative;right:83.3333333333%}.el-col-lg-push-20{left:83.3333333333%;position:relative}.el-col-lg-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-lg-21.is-guttered{display:block}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{left:87.5%;position:relative}.el-col-lg-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-lg-22.is-guttered{display:block}.el-col-lg-offset-22{margin-left:91.6666666667%}.el-col-lg-pull-22{position:relative;right:91.6666666667%}.el-col-lg-push-22{left:91.6666666667%;position:relative}.el-col-lg-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-lg-23.is-guttered{display:block}.el-col-lg-offset-23{margin-left:95.8333333333%}.el-col-lg-pull-23{position:relative;right:95.8333333333%}.el-col-lg-push-23{left:95.8333333333%;position:relative}.el-col-lg-24{display:block;flex:0 0 100%;max-width:100%}.el-col-lg-24.is-guttered{display:block}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{left:100%;position:relative}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;flex:0 0 0%;max-width:0}.el-col-xl-0.is-guttered{display:none}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{left:0;position:relative}.el-col-xl-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-xl-1,.el-col-xl-1.is-guttered{display:block}.el-col-xl-offset-1{margin-left:4.1666666667%}.el-col-xl-pull-1{position:relative;right:4.1666666667%}.el-col-xl-push-1{left:4.1666666667%;position:relative}.el-col-xl-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-xl-2,.el-col-xl-2.is-guttered{display:block}.el-col-xl-offset-2{margin-left:8.3333333333%}.el-col-xl-pull-2{position:relative;right:8.3333333333%}.el-col-xl-push-2{left:8.3333333333%;position:relative}.el-col-xl-3{flex:0 0 12.5%;max-width:12.5%}.el-col-xl-3,.el-col-xl-3.is-guttered{display:block}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{left:12.5%;position:relative}.el-col-xl-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-xl-4,.el-col-xl-4.is-guttered{display:block}.el-col-xl-offset-4{margin-left:16.6666666667%}.el-col-xl-pull-4{position:relative;right:16.6666666667%}.el-col-xl-push-4{left:16.6666666667%;position:relative}.el-col-xl-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-xl-5,.el-col-xl-5.is-guttered{display:block}.el-col-xl-offset-5{margin-left:20.8333333333%}.el-col-xl-pull-5{position:relative;right:20.8333333333%}.el-col-xl-push-5{left:20.8333333333%;position:relative}.el-col-xl-6{flex:0 0 25%;max-width:25%}.el-col-xl-6,.el-col-xl-6.is-guttered{display:block}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{left:25%;position:relative}.el-col-xl-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-xl-7,.el-col-xl-7.is-guttered{display:block}.el-col-xl-offset-7{margin-left:29.1666666667%}.el-col-xl-pull-7{position:relative;right:29.1666666667%}.el-col-xl-push-7{left:29.1666666667%;position:relative}.el-col-xl-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-xl-8,.el-col-xl-8.is-guttered{display:block}.el-col-xl-offset-8{margin-left:33.3333333333%}.el-col-xl-pull-8{position:relative;right:33.3333333333%}.el-col-xl-push-8{left:33.3333333333%;position:relative}.el-col-xl-9{flex:0 0 37.5%;max-width:37.5%}.el-col-xl-9,.el-col-xl-9.is-guttered{display:block}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{left:37.5%;position:relative}.el-col-xl-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-xl-10.is-guttered{display:block}.el-col-xl-offset-10{margin-left:41.6666666667%}.el-col-xl-pull-10{position:relative;right:41.6666666667%}.el-col-xl-push-10{left:41.6666666667%;position:relative}.el-col-xl-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-xl-11.is-guttered{display:block}.el-col-xl-offset-11{margin-left:45.8333333333%}.el-col-xl-pull-11{position:relative;right:45.8333333333%}.el-col-xl-push-11{left:45.8333333333%;position:relative}.el-col-xl-12{display:block;flex:0 0 50%;max-width:50%}.el-col-xl-12.is-guttered{display:block}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{left:50%;position:relative}.el-col-xl-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-xl-13.is-guttered{display:block}.el-col-xl-offset-13{margin-left:54.1666666667%}.el-col-xl-pull-13{position:relative;right:54.1666666667%}.el-col-xl-push-13{left:54.1666666667%;position:relative}.el-col-xl-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-xl-14.is-guttered{display:block}.el-col-xl-offset-14{margin-left:58.3333333333%}.el-col-xl-pull-14{position:relative;right:58.3333333333%}.el-col-xl-push-14{left:58.3333333333%;position:relative}.el-col-xl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-xl-15.is-guttered{display:block}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{left:62.5%;position:relative}.el-col-xl-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-xl-16.is-guttered{display:block}.el-col-xl-offset-16{margin-left:66.6666666667%}.el-col-xl-pull-16{position:relative;right:66.6666666667%}.el-col-xl-push-16{left:66.6666666667%;position:relative}.el-col-xl-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-xl-17.is-guttered{display:block}.el-col-xl-offset-17{margin-left:70.8333333333%}.el-col-xl-pull-17{position:relative;right:70.8333333333%}.el-col-xl-push-17{left:70.8333333333%;position:relative}.el-col-xl-18{display:block;flex:0 0 75%;max-width:75%}.el-col-xl-18.is-guttered{display:block}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{left:75%;position:relative}.el-col-xl-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-xl-19.is-guttered{display:block}.el-col-xl-offset-19{margin-left:79.1666666667%}.el-col-xl-pull-19{position:relative;right:79.1666666667%}.el-col-xl-push-19{left:79.1666666667%;position:relative}.el-col-xl-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-xl-20.is-guttered{display:block}.el-col-xl-offset-20{margin-left:83.3333333333%}.el-col-xl-pull-20{position:relative;right:83.3333333333%}.el-col-xl-push-20{left:83.3333333333%;position:relative}.el-col-xl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-xl-21.is-guttered{display:block}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{left:87.5%;position:relative}.el-col-xl-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-xl-22.is-guttered{display:block}.el-col-xl-offset-22{margin-left:91.6666666667%}.el-col-xl-pull-22{position:relative;right:91.6666666667%}.el-col-xl-push-22{left:91.6666666667%;position:relative}.el-col-xl-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-xl-23.is-guttered{display:block}.el-col-xl-offset-23{margin-left:95.8333333333%}.el-col-xl-pull-23{position:relative;right:95.8333333333%}.el-col-xl-push-23{left:95.8333333333%;position:relative}.el-col-xl-24{display:block;flex:0 0 100%;max-width:100%}.el-col-xl-24.is-guttered{display:block}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{left:100%;position:relative}}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-bottom:1px solid var(--el-collapse-border-color);border-top:1px solid var(--el-collapse-border-color)}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{align-items:center;background-color:var(--el-collapse-header-bg-color);border:none;border-bottom:1px solid var(--el-collapse-border-color);color:var(--el-collapse-header-text-color);cursor:pointer;display:flex;font-size:var(--el-collapse-header-font-size);font-weight:500;height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);outline:none;padding:0;transition:border-bottom-color var(--el-transition-duration);width:100%}.el-collapse-item__arrow{font-weight:300;transition:transform var(--el-transition-duration)}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__title{flex:auto;text-align:left}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{background-color:var(--el-collapse-content-bg-color);border-bottom:1px solid var(--el-collapse-border-color);box-sizing:border-box;overflow:hidden;will-change:height}.el-collapse-item__content{color:var(--el-collapse-content-text-color);font-size:var(--el-collapse-content-font-size);line-height:1.7692307692;padding-bottom:25px}.el-collapse-item:last-child{margin-bottom:-1px}.el-collapse-icon-position-left .el-collapse-item__header{gap:8px}.el-collapse-icon-position-left .el-collapse-item__title{order:1}.el-collapse-icon-position-right .el-collapse-item__header{padding-right:8px}.el-color-predefine{display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:flex;flex:1;flex-wrap:wrap}.el-color-predefine__color-selector{border-radius:4px;cursor:pointer;height:20px;margin:0 0 8px 8px;width:20px}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px var(--el-color-primary)}.el-color-predefine__color-selector>div{border-radius:3px;display:flex;height:100%}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{background-color:#f00;box-sizing:border-box;float:right;height:12px;padding:0 2px;position:relative;width:280px}.el-color-hue-slider__bar{background:linear-gradient(90deg,#f00 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00);height:100%;position:relative}.el-color-hue-slider__thumb{background:#fff;border:1px solid var(--el-border-color-lighter);border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);box-sizing:border-box;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:4px;z-index:1}.el-color-hue-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-hue-slider.is-vertical{height:180px;padding:2px 0;width:12px}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(180deg,#f00 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{height:4px;left:0;top:0;width:100%}.el-color-svpanel{height:180px;position:relative;width:280px}.el-color-svpanel__black,.el-color-svpanel__white{bottom:0;left:0;position:absolute;right:0;top:0}.el-color-svpanel__white{background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:linear-gradient(0deg,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{border-radius:50%;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);cursor:head;height:4px;transform:translate(-2px,-2px);width:4px}.el-color-alpha-slider{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px;box-sizing:border-box;height:12px;position:relative;width:280px}.el-color-alpha-slider__bar{background:linear-gradient(to right,rgba(255,255,255,0) 0,var(--el-bg-color) 100%);height:100%;position:relative}.el-color-alpha-slider__thumb{background:#fff;border:1px solid var(--el-border-color-lighter);border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);box-sizing:border-box;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:4px;z-index:1}.el-color-alpha-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-alpha-slider.is-vertical{height:180px;width:20px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(180deg,rgba(255,255,255,0) 0,rgb(255,255,255))}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{height:4px;left:0;top:0;width:100%}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper:after{clear:both;content:"";display:table}.el-color-dropdown__btns{margin-top:12px;text-align:right}.el-color-dropdown__value{color:#000000;float:left;font-size:12px;line-height:26px;width:160px}.el-color-picker{display:inline-block;line-height:normal;outline:none;position:relative}.el-color-picker:hover:not(.is-disabled,.is-focused) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:focus-visible:not(.is-disabled) .el-color-picker__trigger{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-picker.is-focused .el-color-picker__trigger{border-color:var(--el-color-primary)}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--large{height:40px}.el-color-picker--large .el-color-picker__trigger{height:40px;width:40px}.el-color-picker--large .el-color-picker__mask{height:38px;width:38px}.el-color-picker--small{height:24px}.el-color-picker--small .el-color-picker__trigger{height:24px;width:24px}.el-color-picker--small .el-color-picker__mask{height:22px;width:22px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{transform:scale(.8)}.el-color-picker__mask{background-color:rgba(255,255,255,.7);border-radius:4px;cursor:not-allowed;height:30px;left:1px;position:absolute;top:1px;width:30px;z-index:1}.el-color-picker__trigger{align-items:center;border:1px solid var(--el-border-color);border-radius:4px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:0;height:32px;justify-content:center;padding:4px;position:relative;width:32px}.el-color-picker__color{border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);box-sizing:border-box;display:block;height:100%;position:relative;text-align:center;width:100%}.el-color-picker__color.is-alpha{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px}.el-color-picker__color-inner{align-items:center;display:inline-flex;height:100%;justify-content:center;width:100%}.el-color-picker .el-color-picker__empty{color:var(--el-text-color-secondary);font-size:12px}.el-color-picker .el-color-picker__icon{align-items:center;color:#ffffff;display:inline-flex;font-size:12px;justify-content:center}.el-color-picker__panel{background-color:#ffffff;border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);box-sizing:content-box;padding:6px;position:absolute;z-index:10}.el-color-picker__panel.el-popper{border:1px solid var(--el-border-color-lighter)}.el-color-picker,.el-color-picker__panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker,.dark .el-color-picker__panel{--el-color-picker-alpha-bg-a:#333333}.el-container{box-sizing:border-box;display:flex;flex:1;flex-basis:auto;flex-direction:row;min-width:0}.el-container.is-vertical{flex-direction:column}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;cursor:pointer;height:30px;padding:4px 0;position:relative;text-align:center;width:32px}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;display:block;height:24px;left:50%;line-height:24px;margin:0 auto;position:absolute;transform:translateX(-50%);width:24px}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:bold}.el-date-table td.today.end-date .el-date-table-cell__text,.el-date-table td.today.start-date .el-date-table-cell__text{color:#ffffff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.end-date .el-date-table-cell,.el-date-table td.start-date .el-date-table-cell{color:#ffffff}.el-date-table td.end-date .el-date-table-cell__text,.el-date-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed;opacity:1}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);border-radius:15px;color:#ffffff}.el-date-table td.week{color:var(--el-datepicker-header-text-color);font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{border-bottom:1px solid var(--el-border-color-lighter);color:var(--el-datepicker-header-text-color);font-weight:400;padding:5px}.el-month-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-month-table td{cursor:pointer;padding:8px 0;position:relative;text-align:center;width:68px}.el-month-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:bold}.el-month-table td.today.end-date .el-date-table-cell__text,.el-month-table td.today.start-date .el-date-table-cell__text{color:#ffffff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;left:50%;line-height:36px;margin:0 auto;position:absolute;transform:translateX(-50%);width:54px}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.end-date .el-date-table-cell,.el-month-table td.start-date .el-date-table-cell{color:#ffffff}.el-month-table td.end-date .el-date-table-cell__text,.el-month-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-month-table td.start-date .el-date-table-cell{border-bottom-left-radius:24px;border-top-left-radius:24px;margin-left:3px}.el-month-table td.end-date .el-date-table-cell{border-bottom-right-radius:24px;border-top-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{cursor:pointer;padding:8px 0;position:relative;text-align:center;width:68px}.el-year-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:bold}.el-year-table td.today.end-date .el-date-table-cell__text,.el-year-table td.today.start-date .el-date-table-cell__text{color:#ffffff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;left:50%;line-height:36px;margin:0 auto;position:absolute;transform:translateX(-50%);width:60px}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.end-date .el-date-table-cell,.el-year-table td.start-date .el-date-table-cell{color:#ffffff}.el-year-table td.end-date .el-date-table-cell__text,.el-year-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-year-table td.start-date .el-date-table-cell{border-bottom-left-radius:24px;border-top-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-bottom-right-radius:24px;border-top-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{display:inline-block;max-height:192px;overflow:auto;position:relative;vertical-align:top;width:50%}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;overflow:hidden;text-align:center}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;height:30px;left:0;line-height:30px;position:absolute;text-align:center;width:100%;z-index:var(--el-index-normal)}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__list{list-style:none;margin:0}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;height:80px;width:100%}.el-time-spinner__item{color:var(--el-text-color-regular);font-size:12px;height:32px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:bold}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper,.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;position:relative;text-align:left;vertical-align:middle}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{height:var(--el-input-height,var(--el-component-size));width:var(--el-date-editor-width)}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .clear-icon,.el-date-editor .close-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{color:var(--el-text-color-placeholder);float:left;font-size:14px;height:inherit}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-text-color-regular);display:inline-block;font-size:var(--el-font-size-base);height:30px;line-height:30px;margin:0;outline:none;padding:0;text-align:center;width:39%}.el-date-editor .el-range-input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{align-items:center;color:var(--el-text-color-primary);display:inline-flex;flex:1;font-size:14px;height:100%;justify-content:center;margin:0;overflow-wrap:break-word;padding:0 5px}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);cursor:pointer;font-size:14px;height:inherit;width:unset}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{align-items:center;display:inline-flex;padding:0 10px;vertical-align:middle}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{font-size:14px;height:38px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{font-size:12px;height:22px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled,.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{background:var(--el-bg-color-overlay);border-radius:var(--el-popper-border-radius,var(--el-border-radius-base));color:var(--el-text-color-regular);line-height:30px}.el-picker-panel .el-time-panel{background-color:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{clear:both;content:"";display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{background-color:var(--el-bg-color-overlay);border-top:1px solid var(--el-datepicker-inner-border-color);font-size:0;padding:4px 12px;position:relative;text-align:right}.el-picker-panel__shortcut{background-color:transparent;border:0;color:var(--el-datepicker-text-color);cursor:pointer;display:block;font-size:14px;line-height:28px;outline:none;padding-left:12px;text-align:left;width:100%}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:var(--el-datepicker-active-color)}.el-picker-panel__btn{background-color:transparent;border:1px solid var(--el-fill-color-darker);border-radius:2px;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:24px;outline:none;padding:0 20px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{background:transparent;border:0;color:var(--el-datepicker-icon-color);cursor:pointer;font-size:12px;margin-top:8px;outline:none}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);bottom:0;box-sizing:border-box;overflow:auto;padding-top:6px;position:absolute;top:0;width:110px}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-picker__header{padding:12px 12px 0;text-align:center}.el-date-picker__header--bordered{border-bottom:1px solid var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{color:var(--el-text-color-regular);cursor:pointer;font-size:16px;font-weight:500;line-height:22px;padding:0 5px;text-align:center}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{cursor:pointer;float:left;line-height:30px;margin-left:10px}.el-date-picker .el-time-panel{position:absolute}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{height:28px;position:relative;text-align:center}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__header-label{color:var(--el-text-color-regular);cursor:pointer;font-size:16px;font-weight:500;line-height:22px;padding:0 5px;text-align:center}.el-date-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-range-picker__content{box-sizing:border-box;float:left;margin:0;padding:16px;width:50%}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-range-picker__time-header>.el-icon-arrow-right{color:var(--el-datepicker-icon-color);display:table-cell;font-size:20px;vertical-align:middle}.el-date-range-picker__time-picker-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{background:#ffffff;position:absolute;right:0;top:13px;z-index:1}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-time-range-picker{overflow:visible;width:354px}.el-time-range-picker__content{padding:10px;position:relative;text-align:center;z-index:1}.el-time-range-picker__cell{box-sizing:border-box;display:inline-block;margin:0;padding:4px 7px 7px;width:50%}.el-time-range-picker__header{font-size:14px;margin-bottom:5px;text-align:center}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{border-radius:2px;box-sizing:content-box;left:0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:180px;z-index:var(--el-index-top)}.el-time-panel__content{font-size:0;overflow:hidden;position:relative}.el-time-panel__content:after,.el-time-panel__content:before{box-sizing:border-box;content:"";height:32px;left:0;margin-top:-16px;padding-top:6px;position:absolute;right:0;text-align:left;top:50%;z-index:-1}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{border-bottom:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6666666667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333333333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));box-sizing:border-box;height:36px;line-height:25px;padding:4px;text-align:right}.el-time-panel__btn{background-color:transparent;border:none;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:28px;margin:0 5px;outline:none;padding:0 5px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;color:var(--el-text-color-primary);font-size:var(--el-font-size-base)}.el-descriptions__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:bold}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;font-size:14px;line-height:23px;text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{background:var(--el-descriptions-item-bordered-label-background);color:var(--el-text-color-regular);font-weight:bold}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:0.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{background:var(--el-popup-modal-bg-color);height:100%;left:0;opacity:var(--el-popup-modal-opacity);position:fixed;top:0;width:100%}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;margin:var(--el-dialog-margin-top,15vh) auto 50px;overflow-wrap:break-word;padding:var(--el-dialog-padding-primary);position:relative;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{bottom:0;left:0;margin:0;overflow:auto;position:fixed;right:0;top:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size, 16px))}.el-dialog__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:48px;outline:none;padding:0;position:absolute;right:0;top:0;width:48px}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{color:var(--el-text-color-primary);font-size:var(--el-dialog-title-font-size);line-height:var(--el-dialog-font-line-height)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{box-sizing:border-box;padding-top:var(--el-dialog-padding-primary);text-align:right}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-overlay-dialog{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-divider{position:relative}.el-divider--horizontal{border-top:1px var(--el-border-color) var(--el-border-style);display:block;height:1px;margin:24px 0;width:100%}.el-divider--vertical{border-left:1px var(--el-border-color) var(--el-border-style);display:inline-block;height:1em;margin:0 8px;position:relative;vertical-align:middle;width:1px}.el-divider__text{background-color:var(--el-bg-color);color:var(--el-text-color-primary);font-size:14px;font-weight:500;padding:0 20px;position:absolute}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;position:absolute;transition:all var(--el-transition-duration)}.el-drawer .btt,.el-drawer .ltr,.el-drawer .rtl,.el-drawer .ttb{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{align-items:center;color:rgb(114,118,123);display:flex;margin-bottom:32px;padding:var(--el-drawer-padding-primary);padding-bottom:0}.el-drawer__header>:first-child{flex:1}.el-drawer__title{flex:1;font-size:16px;line-height:inherit;margin:0}.el-drawer__footer{padding:var(--el-drawer-padding-primary);padding-top:10px;text-align:right}.el-drawer__close-btn{background-color:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font-size:var(--el-font-size-extra-large);outline:none}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{flex:1;overflow:auto;padding:var(--el-drawer-padding-primary)}.el-drawer__body>*{box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{bottom:0;height:100%;top:0}.el-drawer.btt,.el-drawer.ttb{left:0;right:0;width:100%}.el-drawer.ltr{left:0}.el-drawer.rtl{right:0}.el-drawer.ttb{top:0}.el-drawer.btt{bottom:0}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-active,.el-drawer-fade-enter-from,.el-drawer-fade-enter-to,.el-drawer-fade-leave-active,.el-drawer-fade-leave-from,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:transparent!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translateX(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translateX(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);line-height:1;position:relative;vertical-align:top}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper,.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:0}.el-dropdown .el-dropdown__caret-button{align-items:center;border-left:none;display:inline-flex;justify-content:center;padding-left:0;padding-right:0;width:32px}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{background:var(--el-overlay-color-lighter);bottom:-1px;content:"";display:block;left:0;position:absolute;top:-1px;width:1px}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{background-color:var(--el-bg-color-overlay);border:none;border-radius:var(--el-border-radius-base);box-shadow:none;left:0;list-style:none;margin:0;padding:5px 0;position:relative;top:0;z-index:var(--el-dropdown-menu-index)}.el-dropdown-menu__item{align-items:center;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:var(--el-font-size-base);line-height:22px;list-style:none;margin:0;outline:none;padding:5px 16px;white-space:nowrap}.el-dropdown-menu__item:not(.is-disabled):focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{font-size:14px;line-height:22px;padding:7px 20px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{font-size:12px;line-height:20px;padding:2px 12px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:var(--el-empty-padding);text-align:center}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{height:100%;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top;width:100%}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;height:100%;vertical-align:top;width:100%}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);margin:0}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;box-sizing:border-box;flex-shrink:0;height:var(--el-footer-height);padding:var(--el-footer-padding)}.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{display:inline-flex;margin-right:32px;vertical-align:middle}.el-form--inline.el-form--label-top{display:flex;flex-wrap:wrap}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form-item{display:flex;--font-size:14px;margin-bottom:18px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{justify-content:flex-start;text-align:left}.el-form-item--label-right .el-form-item__label{justify-content:flex-end;text-align:right}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{display:block;height:auto;line-height:22px;margin-bottom:8px;text-align:left}.el-form-item__label-wrap{display:flex}.el-form-item__label{align-items:flex-start;box-sizing:border-box;color:var(--el-text-color-regular);display:inline-flex;flex:0 0 auto;font-size:var(--el-form-label-font-size);height:32px;line-height:32px;padding:0 12px 0 0}.el-form-item__content{align-items:center;display:flex;flex:1;flex-wrap:wrap;font-size:var(--font-size);line-height:32px;min-width:0;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);font-size:12px;left:0;line-height:1;padding-top:2px;position:absolute;top:100%}.el-form-item__error--inline{display:inline-block;left:auto;margin-left:10px;position:relative;top:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before{color:var(--el-color-danger);content:"*";margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after{color:var(--el-color-danger);content:"*";margin-left:4px}.el-form-item.is-error .el-input-tag__wrapper,.el-form-item.is-error .el-input-tag__wrapper.is-focus,.el-form-item.is-error .el-input-tag__wrapper:focus,.el-form-item.is-error .el-input-tag__wrapper:hover,.el-form-item.is-error .el-input__wrapper,.el-form-item.is-error .el-input__wrapper.is-focus,.el-form-item.is-error .el-input__wrapper:focus,.el-form-item.is-error .el-input__wrapper:hover,.el-form-item.is-error .el-select__wrapper,.el-form-item.is-error .el-select__wrapper.is-focus,.el-form-item.is-error .el-select__wrapper:focus,.el-form-item.is-error .el-select__wrapper:hover,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner.is-focus,.el-form-item.is-error .el-textarea__inner:focus,.el-form-item.is-error .el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px transparent}.el-form-item.is-error .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-header{--el-header-padding:0 20px;--el-header-height:60px;box-sizing:border-box;flex-shrink:0;height:var(--el-header-height);padding:var(--el-header-padding)}.el-image-viewer__wrapper{bottom:0;left:0;position:fixed;right:0;top:0}.el-image-viewer__wrapper:focus{outline:none!important}.el-image-viewer__btn{align-items:center;border-radius:50%;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;opacity:.8;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.el-image-viewer__btn .el-icon{cursor:pointer}.el-image-viewer__close{font-size:40px;height:40px;right:40px;top:40px;width:40px}.el-image-viewer__canvas{align-items:center;display:flex;height:100%;justify-content:center;position:static;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.el-image-viewer__actions{background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px;bottom:30px;height:44px;left:50%;padding:0 23px;transform:translateX(-50%)}.el-image-viewer__actions__inner{align-items:center;color:#fff;cursor:default;display:flex;font-size:23px;gap:22px;height:100%;justify-content:space-around;padding:0 6px;width:100%}.el-image-viewer__actions__divider{margin:0 -6px}.el-image-viewer__progress{bottom:90px;color:#fff;cursor:default;left:50%;transform:translateX(-50%)}.el-image-viewer__prev{left:40px}.el-image-viewer__next,.el-image-viewer__prev{background-color:var(--el-text-color-regular);border-color:#fff;color:#fff;font-size:24px;height:44px;top:50%;transform:translateY(-50%);width:44px}.el-image-viewer__next{right:40px;text-indent:2px}.el-image-viewer__close{background-color:var(--el-text-color-regular);border-color:#fff;color:#fff;font-size:24px;height:44px;width:44px}.el-image-viewer__mask{background:#000;height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}.viewer-fade-enter-active{animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{animation:viewer-fade-out var(--el-transition-duration)}@keyframes viewer-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes viewer-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}.el-image__error,.el-image__inner,.el-image__placeholder,.el-image__wrapper{height:100%;width:100%}.el-image{display:inline-block;overflow:hidden;position:relative}.el-image__inner{opacity:1;vertical-align:top}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{left:0;position:absolute;top:0}.el-image__error,.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{align-items:center;color:var(--el-text-color-placeholder);display:flex;font-size:14px;justify-content:center;vertical-align:middle}.el-image__preview{cursor:pointer}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;display:inline-block;font-size:var(--el-font-size-base);position:relative;vertical-align:bottom;width:100%}.el-textarea__inner{-webkit-appearance:none;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;font-family:inherit;font-size:inherit;line-height:1.5;padding:5px 11px;position:relative;resize:vertical;transition:var(--el-transition-box-shadow);width:100%}.el-textarea__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea .el-input__count{background:var(--el-fill-color-blank);bottom:5px;color:var(--el-color-info);font-size:12px;line-height:14px;position:absolute;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);box-sizing:border-box;display:inline-flex;font-size:var(--el-font-size-base);line-height:var(--el-input-height);position:relative;vertical-align:middle;width:var(--el-input-width)}.el-input::-webkit-scrollbar{width:6px;z-index:11}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner,.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{align-items:center;color:var(--el-color-info);display:inline-flex;font-size:12px;height:100%}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);display:inline-block;line-height:normal;padding-left:8px}.el-input__wrapper{align-items:center;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;cursor:text;display:inline-flex;flex-grow:1;justify-content:center;padding:1px 11px;transform:translateZ(0);transition:var(--el-transition-box-shadow)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height, 32px) - 2px)}.el-input__inner{-webkit-appearance:none;background:none;border:none;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));flex-grow:1;font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);outline:none;padding:0;width:100%}.el-input__inner:focus{outline:none}.el-input__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__prefix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__suffix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{align-items:center;display:flex;height:inherit;justify-content:center;line-height:inherit;margin-left:8px;transition:all var(--el-transition-duration)}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;cursor:not-allowed}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height, 24px) - 2px)}.el-input-group{align-items:stretch;display:inline-flex;width:100%}.el-input-group__append,.el-input-group__prepend{align-items:center;background-color:var(--el-fill-color-light);border-radius:var(--el-input-border-radius);color:var(--el-color-info);display:inline-flex;justify-content:center;min-height:100%;padding:0 20px;position:relative;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{background-color:transparent;border-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-left:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper,.el-input-group__append{border-bottom-left-radius:0;border-top-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{border-bottom-right-radius:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--append>.el-input__wrapper{border-bottom-right-radius:0;border-top-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{border-bottom-left-radius:0;border-top-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-hidden{display:none!important}.el-input-number{display:inline-flex;line-height:30px;position:relative;vertical-align:middle;width:150px}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;line-height:1;text-align:center}.el-input-number .el-input__inner::-webkit-inner-spin-button,.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number__decrease,.el-input-number__increase{align-items:center;background:var(--el-fill-color-light);bottom:1px;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:13px;height:auto;justify-content:center;position:absolute;top:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:32px;z-index:1}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:var(--el-color-primary)}.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-left:var(--el-border);border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{line-height:38px;width:180px}.el-input-number--large .el-input-number__decrease,.el-input-number--large .el-input-number__increase{font-size:14px;width:40px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{line-height:22px;width:120px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{font-size:12px;width:24px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-bottom:var(--el-border);border-radius:0 var(--el-border-radius-base) 0 0;bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;border-right:none;left:auto;right:1px;top:auto}.el-input-number.is-controls-right[class*=large] [class*=decrease],.el-input-number.is-controls-right[class*=large] [class*=increase]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{--el-input-number-controls-height:11px}.el-input-tag{--el-input-tag-border-color-hover:var(--el-border-color-hover);--el-input-tag-placeholder-color:var(--el-text-color-placeholder);--el-input-tag-disabled-color:var(--el-disabled-text-color);--el-input-tag-disabled-border:var(--el-disabled-border-color);--el-input-tag-font-size:var(--el-font-size-base);--el-input-tag-close-hover-color:var(--el-text-color-secondary);--el-input-tag-text-color:var(--el-text-color-regular);--el-input-tag-input-focus-border-color:var(--el-color-primary);--el-input-tag-width:100%;--el-input-tag-mini-height:var(--el-component-size);--el-input-tag-gap:6px;--el-input-tag-padding:4px;--el-input-tag-inner-padding:8px;--el-input-tag-line-height:24px;align-items:center;background-color:var(--el-fill-color-blank);border-radius:var(--el-border-radius-base);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;cursor:pointer;display:flex;font-size:var(--el-input-tag-font-size);line-height:var(--el-input-tag-line-height);min-height:var(--el-input-tag-mini-height);padding:var(--el-input-tag-padding);transform:translateZ(0);transition:var(--el-transition-duration);width:var(--el-input-tag-width)}.el-input-tag.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-tag.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-input-tag.is-disabled{background-color:var(--el-fill-color-light);cursor:not-allowed}.el-input-tag.is-disabled,.el-input-tag.is-disabled:hover{box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input-tag.is-disabled .el-input-tag__inner .el-input-tag__input,.el-input-tag.is-disabled .el-input-tag__inner .el-tag{cursor:not-allowed}.el-input-tag__prefix,.el-input-tag__suffix{align-items:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:flex;flex-shrink:0;padding:0 var(--el-input-tag-inner-padding)}.el-input-tag__suffix{gap:8px}.el-input-tag__inner{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:var(--el-input-tag-gap);max-width:100%;min-width:0;position:relative}.el-input-tag__inner.is-left-space{margin-left:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-right-space{margin-right:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-draggable .el-tag{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-input-tag__drop-indicator{background-color:var(--el-color-primary);height:var(--el-input-tag-line-height);position:absolute;top:0;width:1px}.el-input-tag__inner .el-tag{border-color:transparent;cursor:pointer;max-width:100%}.el-input-tag__inner .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__inner .el-tag .el-tag__content{line-height:normal;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-input-tag__input-wrapper{flex:1}.el-input-tag__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-input-tag-text-color);font-family:inherit;font-size:inherit;line-height:inherit;outline:none;padding:0;width:100%}.el-input-tag__input::-moz-placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input::placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input-calculator{left:0;max-width:100%;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:pre}.el-input-tag--large{--el-input-tag-gap:6px;--el-input-tag-padding:8px;--el-input-tag-padding-left:8px;--el-input-tag-font-size:14px}.el-input-tag--small{--el-input-tag-gap:4px;--el-input-tag-padding:2px;--el-input-tag-padding-left:6px;--el-input-tag-font-size:12px;--el-input-tag-line-height:20px;--el-input-tag-mini-height:var(--el-component-size-small)}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder);align-items:center;color:var(--el-link-text-color);cursor:pointer;display:inline-flex;flex-direction:row;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);justify-content:center;outline:none;padding:0;position:relative;text-decoration:none;vertical-align:middle}.el-link.is-hover-underline:hover:after{border-bottom:1px solid var(--el-link-hover-text-color);bottom:0;content:"";height:0;left:0;position:absolute;right:0}.el-link.is-underline:after{border-bottom:1px solid var(--el-link-text-color);bottom:0;content:"";height:0;left:0;position:absolute;right:0}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link:hover:after{border-color:var(--el-link-hover-text-color)}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link__inner{align-items:center;display:inline-flex;justify-content:center}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link.is-disabled:after{border-color:var(--el-link-disabled-text-color)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{background-color:var(--el-mask-color);bottom:0;left:0;margin:0;position:absolute;right:0;top:0;transition:opacity var(--el-transition-duration);z-index:2000}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size))/2);position:absolute;text-align:center;top:50%;width:100%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);font-size:14px;margin:3px 0}.el-loading-spinner .circular{animation:loading-rotate 2s linear infinite;display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size)}.el-loading-spinner .path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(1turn)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-main{--el-main-padding:20px;box-sizing:border-box;display:block;flex:1;flex-basis:auto;overflow:auto;padding:var(--el-main-padding)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{background-color:var(--el-menu-bg-color);border-right:1px solid var(--el-menu-border-color);box-sizing:border-box;list-style:none;margin:0;padding-left:0;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title{padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level)*var(--el-menu-level-padding));white-space:nowrap}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{border-right:none;display:flex;flex-wrap:nowrap;height:var(--el-menu-horizontal-height)}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:1px solid var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{align-items:center;border-bottom:2px solid transparent;color:var(--el-menu-text-color);display:inline-flex;height:100%;justify-content:center;margin:0}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{border-bottom:2px solid transparent;color:var(--el-menu-text-color);height:100%}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{align-items:center;background-color:var(--el-menu-bg-color);color:var(--el-menu-text-color);display:flex;height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);padding:0 10px}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{background-color:var(--el-menu-hover-bg-color);color:var(--el-menu-hover-text-color);outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding)*2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{margin:0;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span{display:inline-block;height:0;overflow:hidden;visibility:hidden;width:0}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{border:none;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light);min-width:200px;padding:5px 0;z-index:100}.el-menu .el-icon{flex-shrink:0}.el-menu-item{align-items:center;box-sizing:border-box;color:var(--el-menu-text-color);cursor:pointer;display:flex;font-size:var(--el-menu-item-font-size);height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);list-style:none;padding:0 var(--el-menu-base-level-padding);position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);white-space:nowrap}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:focus,.el-menu-item:hover{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{background:none!important;cursor:not-allowed;opacity:.25}.el-menu-item [class^=el-icon]{font-size:18px;margin-right:5px;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{align-items:center;box-sizing:border-box;display:inline-flex;height:100%;left:0;padding:0 var(--el-menu-base-level-padding);position:absolute;top:0;width:100%}.el-sub-menu{list-style:none;margin:0;padding-left:0}.el-sub-menu__title{align-items:center;box-sizing:border-box;color:var(--el-menu-text-color);cursor:pointer;display:flex;font-size:var(--el-menu-item-font-size);height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);list-style:none;padding:0 var(--el-menu-base-level-padding);position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);white-space:nowrap}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:focus,.el-sub-menu__title:hover{outline:none}.el-sub-menu__title.is-disabled{background:none!important;cursor:not-allowed;opacity:.25}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-menu-item,.el-sub-menu.is-disabled .el-sub-menu__title{background:none!important;cursor:not-allowed;opacity:.25}.el-sub-menu .el-icon{font-size:18px;margin-right:5px;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{font-size:12px;margin-right:0;margin-top:-6px;position:absolute;right:var(--el-menu-base-level-padding);top:50%;transition:transform var(--el-transition-duration);width:inherit}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{color:var(--el-text-color-secondary);font-size:12px;line-height:normal;padding:7px 0 7px var(--el-menu-base-level-padding)}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{opacity:0;transition:var(--el-transition-duration-fast)}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);backface-visibility:hidden;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);box-shadow:var(--el-messagebox-box-shadow);box-sizing:border-box;display:inline-block;font-size:var(--el-messagebox-font-size);max-width:var(--el-messagebox-width);overflow:hidden;overflow-wrap:break-word;padding:var(--el-messagebox-padding-primary);position:relative;text-align:left;vertical-align:middle;width:100%}.el-message-box:focus{outline:none!important}.el-overlay.is-message-box .el-overlay-message-box{bottom:0;left:0;overflow:auto;padding:16px;position:fixed;right:0;text-align:center;top:0}.el-overlay.is-message-box .el-overlay-message-box:after{content:"";display:inline-block;height:100%;vertical-align:middle;width:0}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size, 16px))}.el-message-box__title{color:var(--el-messagebox-title-color);font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:40px;outline:none;padding:0;position:absolute;right:0;top:0;width:40px}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;display:flex;gap:12px}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input,.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--primary{--el-messagebox-color:var(--el-color-primary);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{margin:0;min-width:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end;padding-top:var(--el-messagebox-padding-primary)}.el-message-box--center .el-message-box__title{align-items:center;display:flex;gap:6px;justify-content:center}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);align-items:center;background-color:var(--el-message-bg-color);border-color:var(--el-message-border-color);border-radius:var(--el-border-radius-base);border-style:var(--el-border-style);border-width:var(--el-border-width);box-sizing:border-box;display:flex;gap:8px;left:50%;max-width:calc(100% - 32px);padding:var(--el-message-padding);position:fixed;top:20px;transform:translateX(-50%);transition:opacity var(--el-transition-duration),transform .4s,top .4s;width:-moz-fit-content;width:fit-content}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;right:-8px;top:-8px}.el-message__content{font-size:14px;line-height:1;padding:0}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{color:var(--el-message-close-icon-color);cursor:pointer;font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0;transform:translate(-50%,-100%)}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size,16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular);background-color:var(--el-bg-color-overlay);border:1px solid var(--el-notification-border-color);border-radius:var(--el-notification-radius);box-shadow:var(--el-notification-shadow);box-sizing:border-box;display:flex;overflow:hidden;overflow-wrap:break-word;padding:var(--el-notification-padding);position:fixed;transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);width:var(--el-notification-width);z-index:9999}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{flex:1;margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right);min-width:0}.el-notification__title{color:var(--el-notification-title-color);font-size:var(--el-notification-title-font-size);font-weight:bold;line-height:var(--el-notification-icon-size);margin:0}.el-notification__content{color:var(--el-notification-content-color);font-size:var(--el-notification-content-font-size);line-height:24px;margin:6px 0 0}.el-notification__content p{margin:0}.el-notification .el-notification__icon{flex-shrink:0;font-size:var(--el-notification-icon-size);height:var(--el-notification-icon-size);width:var(--el-notification-icon-size)}.el-notification .el-notification__closeBtn{color:var(--el-notification-close-color);cursor:pointer;font-size:var(--el-notification-close-font-size);position:absolute;right:15px;top:18px}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--primary{--el-notification-icon-color:var(--el-color-primary);color:var(--el-notification-icon-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification-fade-enter-from.right{right:0;transform:translateX(100%)}.el-notification-fade-enter-from.left{left:0;transform:translateX(-100%)}.el-notification-fade-leave-to{opacity:0}.el-overlay{background-color:var(--el-overlay-color-lighter);bottom:0;height:100%;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:2000}.el-overlay .el-overlay-root{height:0}.el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{align-items:center;display:flex;justify-content:space-between;line-height:24px}.el-page-header__left{align-items:center;display:flex;margin-right:40px;position:relative}.el-page-header__back{align-items:center;cursor:pointer;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;display:flex;font-size:16px;margin-right:10px}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-button-width-large:40px;--el-pagination-button-height-large:40px;--el-pagination-item-gap:16px;align-items:center;color:var(--el-pagination-text-color);display:flex;font-size:var(--el-pagination-font-size);font-weight:normal;white-space:nowrap}.el-pagination .el-input__inner{-moz-appearance:textfield;text-align:center}.el-pagination .el-select{width:128px}.el-pagination button{align-items:center;background:var(--el-pagination-bg-color);border:none;border-radius:var(--el-pagination-border-radius);box-sizing:border-box;color:var(--el-pagination-button-color);cursor:pointer;display:flex;font-size:var(--el-pagination-font-size);height:var(--el-pagination-button-height);justify-content:center;line-height:var(--el-pagination-button-height);min-width:var(--el-pagination-button-width);padding:0 4px;text-align:center}.el-pagination button *{pointer-events:none}.el-pagination button:focus{outline:none}.el-pagination button.is-active,.el-pagination button:hover{color:var(--el-pagination-hover-color)}.el-pagination button.is-active{cursor:default;font-weight:bold}.el-pagination button.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:bold}.el-pagination button.is-disabled,.el-pagination button:disabled{background-color:var(--el-pagination-button-disabled-bg-color);color:var(--el-pagination-button-disabled-color);cursor:not-allowed}.el-pagination button:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:bold;width:inherit}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{color:var(--el-text-color-regular);font-weight:normal;margin-left:var(--el-pagination-item-gap)}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{align-items:center;color:var(--el-text-color-regular);display:flex;font-weight:normal;margin-left:var(--el-pagination-item-gap)}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{box-sizing:border-box;text-align:center}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{align-items:center;display:flex;flex:1;justify-content:flex-end}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{background-color:var(--el-pagination-button-bg-color);margin:0 4px}.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.is-disabled,.el-pagination.is-background .el-pager li:disabled{background-color:var(--el-disabled-bg-color);color:var(--el-text-color-placeholder)}.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active{background-color:var(--el-fill-color-dark);color:var(--el-text-color-secondary)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li{font-size:var(--el-pagination-font-size-small);height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select{width:100px}.el-pagination--large .btn-next,.el-pagination--large .btn-prev,.el-pagination--large .el-pager li{height:var(--el-pagination-button-height-large);line-height:var(--el-pagination-button-height-large);min-width:var(--el-pagination-button-width-large)}.el-pagination--large .el-select .el-input{width:160px}.el-pager{font-size:0;list-style:none;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-pager,.el-pager li{align-items:center;display:flex}.el-pager li{background:var(--el-pagination-bg-color);border:none;border-radius:var(--el-pagination-border-radius);box-sizing:border-box;color:var(--el-pagination-button-color);cursor:pointer;font-size:var(--el-pagination-font-size);height:var(--el-pagination-button-height);justify-content:center;line-height:var(--el-pagination-button-height);min-width:var(--el-pagination-button-width);padding:0 4px;text-align:center}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:none}.el-pager li.is-active,.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{cursor:default;font-weight:bold}.el-pager li.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:bold}.el-pager li.is-disabled,.el-pager li:disabled{background-color:var(--el-pagination-button-disabled-bg-color);color:var(--el-pagination-button-disabled-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-popconfirm__main{align-items:center;display:flex}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{margin-top:8px;text-align:right}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);border:1px solid var(--el-popover-border-color);border-radius:var(--el-popover-border-radius);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;color:var(--el-text-color-regular);font-size:var(--el-popover-font-size);line-height:1.4;min-width:150px;overflow-wrap:break-word;padding:var(--el-popover-padding);z-index:var(--el-index-popper)}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}.el-progress{align-items:center;display:flex;line-height:1;position:relative}.el-progress__text{color:var(--el-text-color-regular);font-size:14px;line-height:1;margin-left:5px;min-width:50px}.el-progress__text i{display:block;vertical-align:middle}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{left:0;margin:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);width:100%}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{display:inline-block;vertical-align:middle}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{display:block;margin-right:0;padding-right:0}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);border-radius:100px;height:6px;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{background-color:var(--el-color-primary);border-radius:100px;height:100%;left:0;line-height:1;position:absolute;text-align:right;top:0;transition:width .6s ease;white-space:nowrap}.el-progress-bar__inner:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{animation:indeterminate 3s infinite;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 0,transparent 50%,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 75%,transparent 0,transparent);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:striped-flow 3s linear infinite}.el-progress-bar__innerText{color:#ffffff;display:inline-block;font-size:12px;margin:0 5px;vertical-align:middle}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light)}.el-radio-button,.el-radio-button__inner{display:inline-block;outline:none;position:relative}.el-radio-button__inner{-webkit-appearance:none;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);border-left:0;border-radius:0;box-sizing:border-box;color:var(--el-button-text-color,var(--el-text-color-regular));cursor:pointer;font-size:var(--el-font-size-base);font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));line-height:1;margin:0;padding:8px 15px;text-align:center;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:var(--el-border);border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button.is-active .el-radio-button__original-radio:not(:disabled)+.el-radio-button__inner{background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary));color:var(--el-radio-button-checked-text-color,var(--el-color-white))}.el-radio-button__original-radio{opacity:0;outline:none;position:absolute;z-index:-1}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));border-radius:var(--el-border-radius-base);box-shadow:none;outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2}.el-radio-button__original-radio:disabled+.el-radio-button__inner{background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));background-image:none;border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none;color:var(--el-disabled-text-color);cursor:not-allowed}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{border-radius:0;font-size:var(--el-font-size-base);padding:12px 19px}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{border-radius:0;font-size:12px;padding:5px 11px}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px}.el-radio-group{align-items:center;display:inline-flex;flex-wrap:wrap;font-size:0}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);align-items:center;color:var(--el-radio-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-radio-font-weight);height:32px;margin-right:30px;outline:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{border-color:var(--el-border-color-lighter);cursor:not-allowed}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{cursor:pointer;display:inline-flex;outline:none;position:relative;vertical-align:middle;white-space:nowrap}.el-radio__input.is-disabled .el-radio__inner{border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled .el-radio__inner:after{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{background:var(--el-color-primary);border-color:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{background-color:var(--el-radio-input-bg-color);border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);box-sizing:border-box;cursor:pointer;display:inline-block;height:var(--el-radio-input-height);position:relative;width:var(--el-radio-input-width)}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{background-color:var(--el-color-white);border-radius:var(--el-radio-input-border-radius);content:"";height:4px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in;width:4px}.el-radio__original{bottom:0;left:0;margin:0;opacity:0;outline:none;position:absolute;right:0;top:0;z-index:-1}.el-radio__original:focus-visible+.el-radio__inner{border-radius:var(--el-radio-input-border-radius);outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{height:12px;width:12px}.el-rate{--el-rate-height:20px;--el-rate-font-size:var(--el-font-size-base);--el-rate-icon-size:18px;--el-rate-icon-margin:6px;--el-rate-void-color:var(--el-border-color-darker);--el-rate-fill-color:#f7ba2a;--el-rate-disabled-void-color:var(--el-fill-color);--el-rate-text-color:var(--el-text-color-primary);align-items:center;display:inline-flex;height:32px}.el-rate:active,.el-rate:focus{outline:none}.el-rate__item{color:var(--el-rate-void-color);cursor:pointer;display:inline-block;font-size:0;line-height:normal;position:relative;vertical-align:middle}.el-rate .el-rate__icon{display:inline-block;font-size:var(--el-rate-icon-size);margin-right:var(--el-rate-icon-margin);position:relative;transition:var(--el-transition-duration)}.el-rate .el-rate__icon.hover{transform:scale(1.15)}.el-rate .el-rate__icon .path2{left:0;position:absolute;top:0}.el-rate .el-rate__icon.is-active{color:var(--el-rate-fill-color)}.el-rate__decimal{color:var(--el-rate-fill-color);display:inline-block;overflow:hidden}.el-rate__decimal,.el-rate__decimal--box{left:0;position:absolute;top:0}.el-rate__text{color:var(--el-rate-text-color);font-size:var(--el-rate-font-size);vertical-align:middle}.el-rate--large{height:40px}.el-rate--small{height:24px}.el-rate--small .el-rate__icon{font-size:14px}.el-rate.is-disabled .el-rate__item{color:var(--el-rate-disabled-void-color);cursor:auto}.el-result{--el-result-padding:40px 30px;--el-result-icon-font-size:64px;--el-result-title-font-size:20px;--el-result-title-margin-top:20px;--el-result-subtitle-margin-top:10px;--el-result-extra-margin-top:30px;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:var(--el-result-padding);text-align:center}.el-result__icon svg{height:var(--el-result-icon-font-size);width:var(--el-result-icon-font-size)}.el-result__title{margin-top:var(--el-result-title-margin-top)}.el-result__title p{color:var(--el-text-color-primary);font-size:var(--el-result-title-font-size);line-height:1.3;margin:0}.el-result__subtitle{margin-top:var(--el-result-subtitle-margin-top)}.el-result__subtitle p{color:var(--el-text-color-regular);font-size:var(--el-font-size-base);line-height:1.3;margin:0}.el-result__extra{margin-top:var(--el-result-extra-margin-top)}.el-result .icon-primary{--el-result-color:var(--el-color-primary);color:var(--el-result-color)}.el-result .icon-success{--el-result-color:var(--el-color-success);color:var(--el-result-color)}.el-result .icon-warning{--el-result-color:var(--el-color-warning);color:var(--el-result-color)}.el-result .icon-danger{--el-result-color:var(--el-color-danger);color:var(--el-result-color)}.el-result .icon-error{--el-result-color:var(--el-color-error);color:var(--el-result-color)}.el-result .icon-info{--el-result-color:var(--el-color-info);color:var(--el-result-color)}.el-row{box-sizing:border-box;display:flex;flex-wrap:wrap;position:relative}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}.el-scrollbar{--el-scrollbar-opacity:0.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:0.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;overflow:hidden;position:relative}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));border-radius:inherit;cursor:pointer;display:block;height:0;opacity:var(--el-scrollbar-opacity,.3);position:relative;transition:var(--el-transition-duration) background-color;width:0}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{border-radius:4px;bottom:2px;position:absolute;right:2px;z-index:1}.el-scrollbar__bar.is-vertical{top:2px;width:6px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-select-dropdown{border-radius:var(--el-border-radius-base);box-sizing:border-box;z-index:calc(var(--el-index-top) + 1)}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty,.el-select-dropdown__loading{color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0;text-align:center}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:6px 0}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{box-sizing:border-box;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);height:34px;line-height:34px;overflow:hidden;padding:0 32px 0 20px;position:relative;text-overflow:ellipsis;white-space:nowrap}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:bold}.el-select-dropdown__item.is-disabled{background-color:unset;color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{background-color:var(--el-color-primary);background-position:50%;background-repeat:no-repeat;border-right:none;border-top:none;content:"";height:12px;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:12px}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{list-style:none;margin:0;padding:0;position:relative}.el-select-group__title{box-sizing:border-box;color:var(--el-color-info);font-size:12px;line-height:34px;overflow:hidden;padding:0 20px;text-overflow:ellipsis;white-space:nowrap}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;display:inline-block;position:relative;vertical-align:middle;width:var(--el-select-width)}.el-select__wrapper{align-items:center;background-color:var(--el-fill-color-blank);border-radius:var(--el-border-radius-base);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;cursor:pointer;display:flex;font-size:14px;gap:6px;line-height:24px;min-height:32px;padding:4px 12px;position:relative;text-align:left;transform:translateZ(0);transition:var(--el-transition-duration)}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select__wrapper.is-disabled,.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__prefix,.el-select__suffix{align-items:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:flex;flex-shrink:0;gap:6px}.el-select__caret{color:var(--el-select-input-color);cursor:pointer;font-size:var(--el-select-input-font-size);transform:rotate(0deg);transition:var(--el-transition-duration)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.el-select__selection{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{border-color:transparent;cursor:pointer}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{display:flex;flex-wrap:wrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-select__tags-text{line-height:normal}.el-select__placeholder,.el-select__tags-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select__placeholder{color:var(--el-input-text-color,var(--el-text-color-regular));position:absolute;top:50%;transform:translateY(-50%);width:100%;z-index:-1}.el-select__placeholder.is-transparent{color:var(--el-text-color-placeholder);-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper,.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{opacity:0;position:absolute;z-index:-1}.el-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-select-multiple-input-color);font-family:inherit;font-size:inherit;height:24px;outline:none;padding:0;width:100%}.el-select__input.is-disabled{cursor:not-allowed}.el-select__input-calculator{left:0;max-width:100%;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:pre}.el-select--large .el-select__wrapper{font-size:14px;gap:6px;line-height:24px;min-height:40px;padding:8px 16px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{font-size:12px;gap:4px;line-height:20px;min-height:24px;padding:2px 8px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);border-radius:var(--el-border-radius-base);display:inline-block;height:16px;width:100%}.el-skeleton__circle{border-radius:50%;height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size);width:var(--el-skeleton-circle-size)}.el-skeleton__button{border-radius:4px;height:40px;width:64px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{height:var(--el-font-size-small);width:100%}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{align-items:center;border-radius:0;display:flex;justify-content:center;width:unset}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;height:22%;width:22%}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{background:var(--el-skeleton-color);height:16px;margin-top:16px}.el-skeleton.is-animated .el-skeleton__item{animation:el-skeleton-loading 1.4s ease infinite;background:linear-gradient(90deg,var(--el-skeleton-color) 25%,var(--el-skeleton-to-color) 37%,var(--el-skeleton-color) 63%);background-size:400% 100%}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;display:flex;height:32px;width:100%}.el-slider__runway{background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;height:var(--el-slider-height);position:relative}.el-slider__runway.show-input{margin-right:30px;width:auto}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button.dragging,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover{transform:scale(1)}.el-slider__runway.is-disabled .el-slider__button.dragging,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover{cursor:not-allowed}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{background-color:var(--el-slider-main-bg-color);border-bottom-left-radius:var(--el-slider-border-radius);border-top-left-radius:var(--el-slider-border-radius);height:var(--el-slider-height);position:absolute}.el-slider__button-wrapper{background-color:transparent;height:var(--el-slider-button-wrapper-size);line-height:normal;outline:none;position:absolute;text-align:center;top:var(--el-slider-button-wrapper-offset);transform:translateX(-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--el-slider-button-wrapper-size);z-index:1}.el-slider__button-wrapper:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{background-color:var(--el-color-white);border:2px solid var(--el-slider-main-bg-color);border-radius:50%;box-sizing:border-box;display:inline-block;height:var(--el-slider-button-size);transition:var(--el-transition-duration-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:var(--el-slider-button-size)}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{background-color:var(--el-slider-stop-bg-color);border-radius:var(--el-border-radius-circle);height:var(--el-slider-height);position:absolute;transform:translateX(-50%);width:var(--el-slider-height)}.el-slider__marks{height:100%;left:12px;top:0;width:18px}.el-slider__marks-text{color:var(--el-color-info);font-size:14px;margin-top:15px;position:absolute;transform:translateX(-50%);white-space:pre}.el-slider.is-vertical{display:inline-flex;flex:0;height:100%;position:relative;width:auto}.el-slider.is-vertical .el-slider__runway{height:100%;margin:0 16px;width:var(--el-slider-height)}.el-slider.is-vertical .el-slider__bar{border-radius:0 0 3px 3px;height:auto;width:var(--el-slider-height)}.el-slider.is-vertical .el-slider__button-wrapper{left:var(--el-slider-button-wrapper-offset);top:auto;transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{left:15px;margin-top:0;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.el-space{display:inline-flex;vertical-align:top}.el-space__item{display:flex;flex-wrap:wrap}.el-space__item>*{flex:1}.el-space--vertical{flex-direction:column}.el-time-spinner{white-space:nowrap;width:100%}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{animation:rotate 2s linear infinite;height:50px;width:50px}.el-spinner-inner .path{stroke:var(--el-border-color-lighter);stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(1turn)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-step{flex-shrink:1;position:relative}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-basis:auto!important;flex-grow:0;flex-shrink:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{border-color:var(--el-text-color-primary);color:var(--el-text-color-primary)}.el-step__head.is-wait{border-color:var(--el-text-color-placeholder);color:var(--el-text-color-placeholder)}.el-step__head.is-success{border-color:var(--el-color-success);color:var(--el-color-success)}.el-step__head.is-error{border-color:var(--el-color-danger);color:var(--el-color-danger)}.el-step__head.is-finish{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-step__icon{align-items:center;background:var(--el-bg-color);box-sizing:border-box;display:inline-flex;font-size:14px;height:24px;justify-content:center;position:relative;transition:.15s ease-out;width:24px;z-index:1}.el-step__icon.is-text{border:2px solid;border-radius:50%}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{color:inherit;display:inline-block;font-weight:bold;line-height:1;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:normal}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{background-color:var(--el-text-color-placeholder);border-color:currentColor;position:absolute}.el-step__line-inner{border:1px solid;box-sizing:border-box;display:block;height:0;transition:.15s ease-out;width:0}.el-step__main{text-align:left;white-space:normal}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{color:var(--el-text-color-primary);font-weight:bold}.el-step__title.is-wait{color:var(--el-text-color-placeholder)}.el-step__title.is-success{color:var(--el-color-success)}.el-step__title.is-error{color:var(--el-color-danger)}.el-step__title.is-finish{color:var(--el-color-primary)}.el-step__description{font-size:12px;font-weight:normal;line-height:20px;margin-top:-5px;padding-right:10%}.el-step__description.is-process{color:var(--el-text-color-primary)}.el-step__description.is-wait{color:var(--el-text-color-placeholder)}.el-step__description.is-success{color:var(--el-color-success)}.el-step__description.is-error{color:var(--el-color-danger)}.el-step__description.is-finish{color:var(--el-color-primary)}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;left:0;right:0;top:11px}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{flex-grow:1;padding-left:10px}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{bottom:0;left:11px;top:0;width:2px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{align-items:center;display:flex}.el-step.is-simple .el-step__head{font-size:0;padding-right:10px;width:auto}.el-step.is-simple .el-step__icon{background:transparent;font-size:12px;height:16px;width:16px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{align-items:stretch;display:flex;flex-grow:1;position:relative}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;overflow-wrap:break-word}.el-step.is-simple .el-step__arrow{align-items:center;display:flex;flex-grow:1;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{background:var(--el-text-color-placeholder);content:"";display:inline-block;height:15px;position:absolute;width:1px}.el-step.is-simple .el-step__arrow:before{transform:rotate(-45deg) translateY(-4px);transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{transform:rotate(45deg) translateY(4px);transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-steps{display:flex}.el-steps--simple{background:var(--el-fill-color-light);border-radius:4px;padding:13px 8%}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{flex-flow:column;height:100%}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color);align-items:center;display:inline-flex;font-size:14px;height:32px;line-height:20px;position:relative;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{color:var(--el-text-color-primary);cursor:pointer;display:inline-block;font-size:14px;font-weight:500;height:20px;transition:var(--el-transition-duration-fast);vertical-align:middle}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{display:inline-block;font-size:14px;line-height:1}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{height:0;margin:0;opacity:0;position:absolute;width:0}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{align-items:center;background:var(--el-switch-off-color);border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));border-radius:10px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:20px;min-width:40px;outline:none;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration)}.el-switch__core .el-switch__inner{align-items:center;display:flex;height:16px;justify-content:center;overflow:hidden;padding:0 4px 0 18px;transition:all var(--el-transition-duration);width:100%}.el-switch__core .el-switch__inner .is-icon,.el-switch__core .el-switch__inner .is-text{color:var(--el-color-white);font-size:12px;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-switch__core .el-switch__action{align-items:center;background-color:var(--el-color-white);border-radius:var(--el-border-radius-circle);color:var(--el-switch-off-color);display:flex;height:16px;justify-content:center;left:1px;position:absolute;transition:all var(--el-transition-duration);width:16px}.el-switch.is-checked .el-switch__core{background-color:var(--el-switch-on-color);border-color:var(--el-switch-border-color,var(--el-switch-on-color))}.el-switch.is-checked .el-switch__core .el-switch__action{color:var(--el-switch-on-color);left:calc(100% - 17px)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{font-size:14px;height:40px;line-height:24px}.el-switch--large .el-switch__label{font-size:14px;height:24px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{border-radius:12px;height:24px;min-width:50px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{height:20px;width:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{font-size:12px;height:24px;line-height:16px}.el-switch--small .el-switch__label{font-size:12px;height:16px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{border-radius:8px;height:16px;min-width:30px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{height:12px;width:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{background-color:#ffffff;border:1px solid var(--el-border-color-lighter);border-radius:2px;box-shadow:var(--el-box-shadow-light);box-sizing:border-box}.el-table-filter__list{list-style:none;margin:0;min-width:100px;padding:5px 0}.el-table-filter__list-item{cursor:pointer;font-size:var(--el-font-size-base);line-height:36px;padding:0 10px}.el-table-filter__list-item:hover{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#ffffff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{background:transparent;border:none;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button:focus{outline:none}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{align-items:center;display:flex;height:unset;margin-bottom:12px;margin-left:5px;margin-right:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-bg-color);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0,0,0,0.15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0,0,0,0.15);--el-table-index:var(--el-index-normal);background-color:var(--el-table-bg-color);box-sizing:border-box;color:var(--el-table-text-color);font-size:var(--el-font-size-base);height:-moz-fit-content;height:fit-content;max-width:100%;overflow:hidden;position:relative;width:100%}.el-table__inner-wrapper{display:flex;flex-direction:column;height:100%;position:relative}.el-table__inner-wrapper:before{bottom:0;height:1px;left:0}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell,.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell{border-bottom-color:transparent}.el-table__empty-block{align-items:center;display:flex;justify-content:center;left:0;min-height:60px;position:sticky;text-align:center;width:100%}.el-table__empty-text{color:var(--el-text-color-secondary);line-height:60px;width:50%}.el-table__expand-column .cell{padding:0;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table__expand-icon{color:var(--el-text-color-regular);cursor:pointer;font-size:12px;height:20px;position:relative;transition:transform var(--el-transition-duration-fast) ease-in-out}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;min-width:0;padding:8px 0;position:relative;text-align:left;text-overflow:ellipsis;vertical-align:middle;z-index:var(--el-table-index)}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;padding:0;width:15px}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;line-height:23px;overflow:hidden;overflow-wrap:break-word;padding:0 12px;text-overflow:ellipsis;white-space:normal}.el-table .cell.el-tooltip{min-width:50px;white-space:nowrap}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{background:#ff4d51;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:5px;vertical-align:middle;width:8px}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border .el-table__inner-wrapper:after,.el-table--border:after,.el-table--border:before,.el-table__inner-wrapper:before{background-color:var(--el-table-border-color);content:"";position:absolute;z-index:calc(var(--el-table-index) + 2)}.el-table--border .el-table__inner-wrapper:after{height:1px;left:0;top:0;width:100%;z-index:calc(var(--el-table-index) + 2)}.el-table--border:before{height:100%;left:0;top:-1px;width:1px}.el-table--border:after{height:100%;right:0;top:-1px;width:1px}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right,.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background:inherit;position:sticky!important;z-index:calc(var(--el-table-index) + 1)}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{bottom:-1px;box-shadow:none;content:"";overflow-x:hidden;overflow-y:hidden;pointer-events:none;position:absolute;top:0;touch-action:none;width:10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px}.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch,.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch{background:#fff;position:sticky!important;right:0;z-index:calc(var(--el-table-index) + 1)}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body,.el-table__footer,.el-table__header{border-collapse:separate;table-layout:fixed}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__body-wrapper .el-table-column--selection>.cell,.el-table__header-wrapper .el-table-column--selection>.cell{align-items:center;display:inline-flex;height:23px}.el-table__body-wrapper .el-table-column--selection .el-checkbox,.el-table__header-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;overflow:hidden;position:relative}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{align-items:center;cursor:pointer;display:inline-flex;flex-direction:column;height:14px;overflow:initial;position:relative;vertical-align:middle;width:24px}.el-table .sort-caret{border:5px solid transparent;height:0;left:7px;position:absolute;width:0}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{position:absolute;visibility:hidden;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{position:sticky;top:0;z-index:calc(var(--el-table-index) + 2)}.el-table.el-table--scrollable-y .el-table__body-footer{bottom:0;position:sticky;z-index:calc(var(--el-table-index) + 2)}.el-table__column-resize-proxy{border-left:var(--el-table-border);bottom:0;left:200px;position:absolute;top:0;width:0;z-index:calc(var(--el-table-index) + 9)}.el-table__column-filter-trigger{cursor:pointer;display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);font-size:14px;vertical-align:middle}.el-table__border-left-patch{height:100%;top:0;width:1px}.el-table__border-bottom-patch,.el-table__border-left-patch{background-color:var(--el-table-border-color);left:0;position:absolute;z-index:calc(var(--el-table-index) + 2)}.el-table__border-bottom-patch{height:1px}.el-table__border-right-patch{background-color:var(--el-table-border-color);height:100%;position:absolute;top:0;width:1px;z-index:calc(var(--el-table-index) + 2)}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;height:12px;line-height:12px;margin-right:8px;text-align:center;width:12px}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-v2{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-bg-color);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0,0,0,0.15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0,0,0,0.15);--el-table-index:var(--el-index-normal);font-size:var(--el-font-size-base)}.el-table-v2 *{box-sizing:border-box}.el-table-v2__root{position:relative}.el-table-v2__root:hover .el-table-v2__main .el-virtual-scrollbar{opacity:1}.el-table-v2__main{background-color:var(--el-bg-color);display:flex;flex-direction:column-reverse;left:0;overflow:hidden;position:absolute;top:0}.el-table-v2__main .el-vl__horizontal,.el-table-v2__main .el-vl__vertical{z-index:2}.el-table-v2__left{background-color:var(--el-bg-color);box-shadow:2px 0 4px 0 rgba(0,0,0,.06);display:flex;flex-direction:column-reverse;left:0;overflow:hidden;position:absolute;top:0}.el-table-v2__left .el-virtual-scrollbar{opacity:0}.el-table-v2__left .el-vl__horizontal,.el-table-v2__left .el-vl__vertical{z-index:-1}.el-table-v2__right{background-color:var(--el-bg-color);box-shadow:-2px 0 4px 0 rgba(0,0,0,.06);display:flex;flex-direction:column-reverse;overflow:hidden;position:absolute;right:0;top:0}.el-table-v2__right .el-virtual-scrollbar{opacity:0}.el-table-v2__right .el-vl__horizontal,.el-table-v2__right .el-vl__vertical{z-index:-1}.el-table-v2__header-row,.el-table-v2__row{padding-inline-end:var(--el-table-scrollbar-size)}.el-table-v2__header-wrapper{overflow:hidden}.el-table-v2__header{overflow:hidden;position:relative}.el-table-v2__header .el-checkbox{z-index:0}.el-table-v2__footer{bottom:0;overflow:hidden;right:0}.el-table-v2__empty,.el-table-v2__footer,.el-table-v2__overlay{left:0;position:absolute}.el-table-v2__overlay{bottom:0;right:0;top:0;z-index:9999}.el-table-v2__header-row{border-bottom:var(--el-table-border);display:flex}.el-table-v2__header-cell{align-items:center;background-color:var(--el-table-header-bg-color);color:var(--el-table-header-text-color);display:flex;font-weight:bold;height:100%;overflow:hidden;padding:0 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table-v2__header-cell.is-align-center{justify-content:center;text-align:center}.el-table-v2__header-cell.is-align-right{justify-content:flex-end;text-align:right}.el-table-v2__header-cell.is-sortable{cursor:pointer}.el-table-v2__header-cell:hover .el-icon{display:block}.el-table-v2__sort-icon{display:none;opacity:.6;transition:opacity,display var(--el-transition-duration)}.el-table-v2__sort-icon.is-sorting{display:block;opacity:1}.el-table-v2__row{align-items:center;border-bottom:var(--el-table-border);display:flex;transition:background-color var(--el-transition-duration)}.el-table-v2__row.is-hovered,.el-table-v2__row:hover{background-color:var(--el-table-row-hover-bg-color)}.el-table-v2__row-cell{align-items:center;display:flex;height:100%;overflow:hidden;padding:0 8px}.el-table-v2__row-cell.is-align-center{justify-content:center;text-align:center}.el-table-v2__row-cell.is-align-right{justify-content:flex-end;text-align:right}.el-table-v2__expand-icon{cursor:pointer;margin:0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table-v2__expand-icon svg{transition:transform var(--el-transition-duration)}.el-table-v2__expand-icon.is-expanded svg{transform:rotate(90deg)}.el-table-v2:not(.is-dynamic) .el-table-v2__cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-table-v2.is-dynamic .el-table-v2__row{align-items:stretch;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row .el-table-v2__row-cell{overflow-wrap:break-word}.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{align-items:center;display:flex;justify-content:space-between;margin:0 0 15px;padding:0;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);bottom:0;height:2px;left:0;list-style:none;position:absolute;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);z-index:1}.el-tabs__new-tab{align-items:center;border:1px solid var(--el-border-color);border-radius:3px;color:var(--el-text-color-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:20px;justify-content:center;line-height:20px;margin:10px 0 10px 10px;text-align:center;transition:all .15s;width:20px}.el-tabs__new-tab .is-icon-plus{height:inherit;transform:scale(.8);width:inherit}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:1 auto;margin-bottom:-1px;overflow:hidden;position:relative}.el-tabs__nav-wrap:after{background-color:var(--el-border-color-light);bottom:0;content:"";height:2px;left:0;position:absolute;width:100%;z-index:var(--el-index-normal)}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;line-height:44px;position:absolute;text-align:center;width:20px}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{display:flex;float:left;position:relative;transition:transform var(--el-transition-duration);white-space:nowrap;z-index:calc(var(--el-index-normal) + 1)}.el-tabs__nav.is-stretch{display:flex;min-width:100%}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{align-items:center;box-sizing:border-box;color:var(--el-text-color-primary);display:flex;font-size:var(--el-font-size-base);font-weight:500;height:var(--el-tabs-header-height);justify-content:center;list-style:none;padding:0 20px;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{border-radius:3px;box-shadow:0 0 2px 2px var(--el-color-primary) inset}.el-tabs__item .is-icon-close{border-radius:50%;margin-left:5px;text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#ffffff}.el-tabs__item.is-active,.el-tabs__item:hover{color:var(--el-color-primary)}.el-tabs__item:hover{cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;overflow:hidden;position:relative}.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height)}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{font-size:12px;height:14px;overflow:hidden;position:relative;right:-2px;transform-origin:100% 50%;width:0}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{border:1px solid transparent;color:var(--el-text-color-secondary);margin-top:-1px;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{background-color:var(--el-bg-color-overlay);border-left-color:var(--el-border-color);border-right-color:var(--el-border-color);color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-bottom:0;margin-top:-1px}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{bottom:auto;height:auto;top:0;width:2px}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{cursor:pointer;height:30px;line-height:30px;text-align:center;width:100%}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{bottom:auto;height:100%;top:0;width:2px}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row-reverse}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-bottom:none;border-left:none;border-right:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right:1px solid #fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-radius:4px 0 0 4px;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:1px solid #fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--top{flex-direction:column-reverse}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);left:0;position:absolute;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);left:0;position:absolute;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform:translateX(100%);transform-origin:0 0}to{opacity:1;transform:translateX(0);transform-origin:0 0}}@keyframes slideInRight-leave{0%{opacity:1;transform:translateX(0);transform-origin:0 0}to{opacity:0;transform:translateX(100%);transform-origin:0 0}}@keyframes slideInLeft-enter{0%{opacity:0;transform:translateX(-100%);transform-origin:0 0}to{opacity:1;transform:translateX(0);transform-origin:0 0}}@keyframes slideInLeft-leave{0%{opacity:1;transform:translateX(0);transform-origin:0 0}to{opacity:0;transform:translateX(-100%);transform-origin:0 0}}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;align-items:center;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);border-radius:var(--el-tag-border-radius);border-style:solid;border-width:1px;box-sizing:border-box;color:var(--el-tag-text-color);display:inline-flex;font-size:var(--el-tag-font-size);height:24px;justify-content:center;line-height:1;padding:0 9px;vertical-align:middle;white-space:nowrap;--el-icon-size:14px}.el-tag,.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{background-color:var(--el-tag-hover-color);color:var(--el-color-white)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag .el-icon{border-radius:50%;cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size)}.el-tag .el-tag__close{margin-left:6px}.el-tag--dark{--el-tag-text-color:var(--el-color-white)}.el-tag--dark,.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info,.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning{--el-tag-text-color:var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{height:32px;padding:0 11px;--el-icon-size:16px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{height:20px;padding:0 7px;--el-icon-size:12px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-text{--el-text-font-size:var(--el-font-size-base);--el-text-color:var(--el-text-color-regular);align-self:center;color:var(--el-text-color);font-size:var(--el-text-font-size);margin:0;overflow-wrap:break-word;padding:0}.el-text.is-truncated{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-text.is-line-clamp{display:-webkit-inline-box;-webkit-box-orient:vertical;overflow:hidden}.el-text--large{--el-text-font-size:var(--el-font-size-medium)}.el-text--default{--el-text-font-size:var(--el-font-size-base)}.el-text--small{--el-text-font-size:var(--el-font-size-extra-small)}.el-text.el-text--primary{--el-text-color:var(--el-color-primary)}.el-text.el-text--success{--el-text-color:var(--el-color-success)}.el-text.el-text--warning{--el-text-color:var(--el-color-warning)}.el-text.el-text--danger{--el-text-color:var(--el-color-danger)}.el-text.el-text--error{--el-text-color:var(--el-color-error)}.el-text.el-text--info{--el-text-color:var(--el-color-info)}.el-text>.el-icon{vertical-align:-2px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{margin:0;max-height:200px}.time-select-item{font-size:14px;line-height:20px;padding:8px 10px}.time-select-item.disabled{color:var(--el-datepicker-border-color);cursor:not-allowed}.time-select-item:hover{background-color:var(--el-fill-color-light);cursor:pointer;font-weight:bold}.time-select .time-select-item.selected:not(.disabled){color:var(--el-color-primary);font-weight:bold}.el-timeline-item{padding-bottom:20px;position:relative}.el-timeline-item__wrapper{padding-left:28px;position:relative;top:-3px}.el-timeline-item__tail{border-left:2px solid var(--el-timeline-node-color);height:100%;left:4px;position:absolute}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{align-items:center;background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);border-radius:50%;box-sizing:border-box;display:flex;justify-content:center;position:absolute}.el-timeline-item__node--normal{height:var(--el-timeline-node-size-normal);left:-1px;width:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{height:var(--el-timeline-node-size-large);left:-2px;width:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{align-items:center;display:flex;justify-content:center;position:absolute}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);font-size:var(--el-font-size-small);line-height:1}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light);font-size:var(--el-font-size-base);list-style:none;margin:0}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{align-items:center;display:flex}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{display:block;height:calc(50% - 10px)}.el-tooltip-v2__content{--el-tooltip-v2-padding:5px 10px;--el-tooltip-v2-border-radius:4px;--el-tooltip-v2-border-color:var(--el-border-color);background-color:var(--el-color-white);border:1px solid var(--el-border-color);border-radius:var(--el-tooltip-v2-border-radius);color:var(--el-color-black);padding:var(--el-tooltip-v2-padding)}.el-tooltip-v2__arrow{color:var(--el-color-white);height:var(--el-tooltip-v2-arrow-height);left:var(--el-tooltip-v2-arrow-x);pointer-events:none;position:absolute;top:var(--el-tooltip-v2-arrow-y);width:var(--el-tooltip-v2-arrow-width)}.el-tooltip-v2__arrow:after,.el-tooltip-v2__arrow:before{border:var(--el-tooltip-v2-arrow-border-width) solid transparent;content:"";height:0;position:absolute;width:0}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow{bottom:0}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow:before{border-bottom:0;border-top-color:var(--el-color-white);border-top-width:var(--el-tooltip-v2-arrow-border-width);top:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow:after{border-bottom:0;border-top-color:var(--el-border-color);border-top-width:var(--el-tooltip-v2-arrow-border-width);top:100%;z-index:-1}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow{top:0}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow:before{border-bottom-color:var(--el-color-white);border-bottom-width:var(--el-tooltip-v2-arrow-border-width);border-top:0;bottom:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow:after{border-bottom-color:var(--el-border-color);border-bottom-width:var(--el-tooltip-v2-arrow-border-width);border-top:0;bottom:100%;z-index:-1}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow{right:0}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow:before{border-left-color:var(--el-color-white);border-left-width:var(--el-tooltip-v2-arrow-border-width);border-right:0;left:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow:after{border-left-color:var(--el-border-color);border-left-width:var(--el-tooltip-v2-arrow-border-width);border-right:0;left:100%;z-index:-1}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow{left:0}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow:before{border-left:0;border-right-color:var(--el-color-white);border-right-width:var(--el-tooltip-v2-arrow-border-width);right:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow:after{border-left:0;border-right-color:var(--el-border-color);border-right-width:var(--el-tooltip-v2-arrow-border-width);right:100%;z-index:-1}.el-tooltip-v2__content.is-dark{--el-tooltip-v2-border-color:transparent;color:var(--el-color-white)}.el-tooltip-v2__content.is-dark,.el-tooltip-v2__content.is-dark .el-tooltip-v2__arrow{background-color:var(--el-color-black);border-color:transparent}.el-transfer{--el-transfer-border-color:var(--el-border-color-lighter);--el-transfer-border-radius:var(--el-border-radius-base);--el-transfer-panel-width:200px;--el-transfer-panel-header-height:40px;--el-transfer-panel-header-bg-color:var(--el-fill-color-light);--el-transfer-panel-footer-height:40px;--el-transfer-panel-body-height:278px;--el-transfer-item-height:30px;--el-transfer-filter-height:32px;font-size:var(--el-font-size-base)}.el-transfer__buttons{display:inline-block;padding:0 30px;vertical-align:middle}.el-transfer__button{vertical-align:top}.el-transfer__button:nth-child(2){margin:0 0 0 10px}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button .el-icon+span{margin-left:0}.el-transfer-panel{background:var(--el-bg-color-overlay);box-sizing:border-box;display:inline-block;max-height:100%;overflow:hidden;position:relative;text-align:left;vertical-align:middle;width:var(--el-transfer-panel-width)}.el-transfer-panel__body{border-bottom:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);border-left:1px solid var(--el-transfer-border-color);border-right:1px solid var(--el-transfer-border-color);height:var(--el-transfer-panel-body-height);overflow:hidden}.el-transfer-panel__body.is-with-footer{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.el-transfer-panel__list{box-sizing:border-box;height:var(--el-transfer-panel-body-height);list-style:none;margin:0;overflow:auto;padding:6px 0}.el-transfer-panel__list.is-filterable{height:calc(100% - var(--el-transfer-filter-height) - 30px);padding-top:0}.el-transfer-panel__item{display:block!important;height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);padding-left:15px}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:var(--el-text-color-regular)}.el-transfer-panel__item:hover{color:var(--el-color-primary)}.el-transfer-panel__item.el-checkbox .el-checkbox__label{box-sizing:border-box;display:block;line-height:var(--el-transfer-item-height);overflow:hidden;padding-left:22px;text-overflow:ellipsis;white-space:nowrap;width:100%}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{box-sizing:border-box;padding:15px;text-align:center}.el-transfer-panel__filter .el-input__inner{box-sizing:border-box;display:inline-block;font-size:12px;height:var(--el-transfer-filter-height);width:100%}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{align-items:center;background:var(--el-transfer-panel-header-bg-color);border:1px solid var(--el-transfer-border-color);border-top-left-radius:var(--el-transfer-border-radius);border-top-right-radius:var(--el-transfer-border-radius);box-sizing:border-box;color:var(--el-color-black);display:flex;height:var(--el-transfer-panel-header-height);margin:0;padding-left:15px}.el-transfer-panel .el-transfer-panel__header .el-checkbox{align-items:center;display:flex;position:relative;width:100%}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{color:var(--el-text-color-primary);font-size:16px;font-weight:normal}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{color:var(--el-text-color-secondary);font-size:12px;font-weight:normal;position:absolute;right:15px;top:50%;transform:translate3d(0,-50%,0)}.el-transfer-panel .el-transfer-panel__footer{background:var(--el-bg-color-overlay);border:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);height:var(--el-transfer-panel-footer-height);margin:0;padding:0}.el-transfer-panel .el-transfer-panel__footer:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{color:var(--el-text-color-regular);padding-left:20px}.el-transfer-panel .el-transfer-panel__empty{color:var(--el-text-color-secondary);height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);margin:0;padding:6px 15px 0;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{border-radius:3px;height:14px;width:14px}.el-transfer-panel .el-checkbox__inner:after{height:6px;left:4px;width:3px}.el-tree{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder);background:var(--el-fill-color-blank);color:var(--el-tree-text-color);cursor:default;font-size:var(--el-font-size-base);position:relative}.el-tree__empty-block{height:100%;min-height:60px;position:relative;text-align:center;width:100%}.el-tree__empty-text{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-tree__drop-indicator{background-color:var(--el-color-primary);height:1px;left:0;position:absolute;right:0}.el-tree-node{outline:none;white-space:nowrap}.el-tree-node:focus>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:var(--el-color-primary);color:#fff}.el-tree-node__content{--el-checkbox-height:var(--el-tree-node-content-height);align-items:center;cursor:pointer;display:flex;height:var(--el-tree-node-content-height)}.el-tree-node__content>.el-tree-node__expand-icon{box-sizing:content-box;padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:var(--el-tree-node-hover-bg-color)}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{color:var(--el-tree-expand-icon-color);cursor:pointer;font-size:12px;transform:rotate(0deg);transition:transform var(--el-transition-duration) ease-in-out}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default;visibility:hidden}.el-tree-node__expand-icon.is-hidden{visibility:hidden}.el-tree-node__loading-icon{color:var(--el-tree-expand-icon-color);font-size:var(--el-font-size-base);margin-right:8px}.el-tree-node>.el-tree-node__children{background-color:transparent;overflow:hidden}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-color-primary-light-9)}.el-tree-select{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder)}.el-tree-select__popper .el-tree-node__expand-icon{margin-left:8px}.el-tree-select__popper .el-tree-node.is-checked>.el-tree-node__content .el-select-dropdown__item.selected:after{content:none}.el-tree-select__popper .el-select-dropdown__list>.el-select-dropdown__item{padding-left:32px}.el-tree-select__popper .el-select-dropdown__item{background:transparent!important;flex:1;height:20px;line-height:20px;padding-left:0}.el-upload{--el-upload-dragger-padding-horizontal:40px;--el-upload-dragger-padding-vertical:10px;align-items:center;cursor:pointer;display:inline-flex;justify-content:center;outline:none}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{color:inherit}.el-upload.is-disabled:focus,.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);font-size:12px;margin-top:7px}.el-upload iframe{filter:alpha(opacity=0);left:0;opacity:0;position:absolute;top:0;z-index:-1}.el-upload--picture-card{--el-upload-picture-card-size:148px;align-items:center;background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:var(--el-upload-picture-card-size);justify-content:center;vertical-align:top;width:var(--el-upload-picture-card-size)}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{color:var(--el-color-primary)}.el-upload:focus,.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);border-radius:6px;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:var(--el-upload-dragger-padding-horizontal) var(--el-upload-dragger-padding-vertical);position:relative;text-align:center}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);font-size:67px;line-height:50px;margin-bottom:16px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary);padding:calc(var(--el-upload-dragger-padding-horizontal) - 1px) calc(var(--el-upload-dragger-padding-vertical) - 1px)}.el-upload-list{list-style:none;margin:10px 0 0;padding:0;position:relative}.el-upload-list__item{border-radius:4px;box-sizing:border-box;color:var(--el-text-color-regular);font-size:14px;margin-bottom:5px;position:relative;transition:all .5s cubic-bezier(.55,0,.1,1);width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{color:var(--el-text-color-regular);cursor:pointer;display:none;opacity:.75;position:absolute;right:5px;top:50%;transform:translateY(-50%);transition:opacity var(--el-transition-duration)}.el-upload-list__item .el-icon--close:hover{color:var(--el-color-primary);opacity:1}.el-upload-list__item .el-icon--close-tip{color:var(--el-color-primary);cursor:pointer;display:none;font-size:12px;font-style:normal;opacity:1;position:absolute;right:5px;top:1px}.el-upload-list__item:hover{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{display:inline-flex;flex-direction:column;justify-content:center;margin-left:4px;width:calc(100% - 30px)}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon--close-tip,.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip{display:none}.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none;opacity:0}.el-upload-list__item-name{align-items:center;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);padding:0 4px;text-align:center;transition:color var(--el-transition-duration)}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-upload-list__item-status-label{align-items:center;display:none;height:100%;justify-content:center;line-height:inherit;position:absolute;right:5px;top:0;transition:opacity var(--el-transition-duration)}.el-upload-list__item-delete{color:var(--el-text-color-regular);display:none;font-size:12px;position:absolute;right:10px;top:0}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{--el-upload-list-picture-card-size:148px;display:inline-flex;flex-wrap:wrap;margin:0}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:inline-flex;height:var(--el-upload-list-picture-card-size);margin:0 8px 8px 0;overflow:hidden;padding:0;width:var(--el-upload-list-picture-card-size)}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#ffffff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:block;opacity:0}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{align-items:center;background-color:var(--el-overlay-color-lighter);color:#fff;cursor:default;display:inline-flex;font-size:20px;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--el-transition-duration);width:100%}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{color:inherit;font-size:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{bottom:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{align-items:center;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:flex;margin-top:10px;overflow:hidden;padding:10px;z-index:0}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#ffffff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{display:inline-flex;opacity:0}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{align-items:center;background-color:var(--el-color-white);display:inline-flex;height:70px;justify-content:center;-o-object-fit:contain;object-fit:contain;position:relative;width:70px;z-index:1}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);height:26px;position:absolute;right:-17px;text-align:center;top:-7px;transform:rotate(45deg);width:46px}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{cursor:default;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:10}.el-upload-cover:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;height:100%;width:100%}.el-upload-cover__label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-cover__label i{color:#fff;font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-cover__progress{display:inline-block;position:static;vertical-align:middle;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{height:100%;left:0;position:absolute;top:0;width:100%}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);bottom:0;height:100%;left:0;position:absolute;text-align:center;width:100%}.el-upload-cover__interact .btn{color:#ffffff;cursor:pointer;display:inline-block;font-size:14px;margin-top:60px;transition:var(--el-transition-md-fade);vertical-align:middle}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#ffffff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{background-color:#ffffff;bottom:0;color:var(--el-text-color-primary);font-size:14px;font-weight:normal;height:36px;left:0;line-height:36px;margin:0;overflow:hidden;padding:0 10px;position:absolute;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-vl__wrapper{position:relative}.el-vl__wrapper.always-on .el-virtual-scrollbar,.el-vl__wrapper:hover .el-virtual-scrollbar{opacity:1}.el-vl__window{scrollbar-width:none}.el-vl__window::-webkit-scrollbar{display:none}.el-virtual-scrollbar{opacity:0;transition:opacity .34s ease-out}.el-virtual-scrollbar.always-on{opacity:1}.el-vg__wrapper{position:relative}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);border-radius:var(--el-popper-border-radius);font-size:12px;line-height:20px;min-width:10px;overflow-wrap:break-word;padding:5px 11px;position:absolute;visibility:visible;z-index:2000}.el-popper.is-dark{color:var(--el-bg-color)}.el-popper.is-dark,.el-popper.is-dark>.el-popper__arrow:before{background:var(--el-text-color-primary);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{right:0}.el-popper.is-light,.el-popper.is-light>.el-popper__arrow:before{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{right:0}.el-popper.is-pure{padding:0}.el-popper__arrow,.el-popper__arrow:before{height:10px;position:absolute;width:10px;z-index:-1}.el-popper__arrow:before{background:var(--el-text-color-primary);box-sizing:border-box;content:" ";transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-left-color:transparent!important;border-top-color:transparent!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:transparent!important;border-right-color:transparent!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:transparent!important;border-left-color:transparent!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-right-color:transparent!important;border-top-color:transparent!important}.el-statistic{--el-statistic-title-font-weight:400;--el-statistic-title-font-size:var(--el-font-size-extra-small);--el-statistic-title-color:var(--el-text-color-regular);--el-statistic-content-font-weight:400;--el-statistic-content-font-size:var(--el-font-size-extra-large);--el-statistic-content-color:var(--el-text-color-primary)}.el-statistic__head{color:var(--el-statistic-title-color);font-size:var(--el-statistic-title-font-size);font-weight:var(--el-statistic-title-font-weight);line-height:20px;margin-bottom:4px}.el-statistic__content{color:var(--el-statistic-content-color);font-size:var(--el-statistic-content-font-size);font-weight:var(--el-statistic-content-font-weight)}.el-statistic__value{display:inline-block}.el-statistic__prefix{display:inline-block;margin-right:4px}.el-statistic__suffix{display:inline-block;margin-left:4px}.el-tour{--el-tour-width:520px;--el-tour-padding-primary:12px;--el-tour-font-line-height:var(--el-font-line-height-primary);--el-tour-title-font-size:16px;--el-tour-title-text-color:var(--el-text-color-primary);--el-tour-title-font-weight:400;--el-tour-close-color:var(--el-color-info);--el-tour-font-size:14px;--el-tour-color:var(--el-text-color-primary);--el-tour-bg-color:var(--el-bg-color);--el-tour-border-radius:4px}.el-tour__hollow{transition:all var(--el-transition-duration) ease}.el-tour__content{border-radius:var(--el-tour-border-radius);box-shadow:var(--el-box-shadow-light);outline:none;overflow-wrap:break-word;padding:var(--el-tour-padding-primary);width:var(--el-tour-width)}.el-tour__arrow,.el-tour__content{background:var(--el-tour-bg-color);box-sizing:border-box}.el-tour__arrow{height:10px;pointer-events:none;position:absolute;transform:rotate(45deg);width:10px}.el-tour__content[data-side^=top] .el-tour__arrow{border-left-color:transparent;border-top-color:transparent}.el-tour__content[data-side^=bottom] .el-tour__arrow{border-bottom-color:transparent;border-right-color:transparent}.el-tour__content[data-side^=left] .el-tour__arrow{border-bottom-color:transparent;border-left-color:transparent}.el-tour__content[data-side^=right] .el-tour__arrow{border-right-color:transparent;border-top-color:transparent}.el-tour__content[data-side^=top] .el-tour__arrow{bottom:-5px}.el-tour__content[data-side^=bottom] .el-tour__arrow{top:-5px}.el-tour__content[data-side^=left] .el-tour__arrow{right:-5px}.el-tour__content[data-side^=right] .el-tour__arrow{left:-5px}.el-tour__closebtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:40px;outline:none;padding:0;position:absolute;right:0;top:0;width:40px}.el-tour__closebtn .el-tour__close{color:var(--el-tour-close-color);font-size:inherit}.el-tour__closebtn:focus .el-tour__close,.el-tour__closebtn:hover .el-tour__close{color:var(--el-color-primary)}.el-tour__header{padding-bottom:var(--el-tour-padding-primary)}.el-tour__header.show-close{padding-right:calc(var(--el-tour-padding-primary) + var(--el-message-close-size, 16px))}.el-tour__title{color:var(--el-tour-title-text-color);font-size:var(--el-tour-title-font-size);font-weight:var(--el-tour-title-font-weight);line-height:var(--el-tour-font-line-height)}.el-tour__body{color:var(--el-tour-text-color);font-size:var(--el-tour-font-size)}.el-tour__body img,.el-tour__body video{max-width:100%}.el-tour__footer{box-sizing:border-box;display:flex;justify-content:space-between;padding-top:var(--el-tour-padding-primary)}.el-tour__content .el-tour-indicators{display:inline-block;flex:1}.el-tour__content .el-tour-indicator{background:var(--el-color-info-light-9);border-radius:50%;display:inline-block;height:6px;margin-right:6px;width:6px}.el-tour__content .el-tour-indicator.is-active{background:var(--el-color-primary)}.el-tour.el-tour--primary{--el-tour-title-text-color:#fff;--el-tour-text-color:#fff;--el-tour-bg-color:var(--el-color-primary);--el-tour-close-color:#fff}.el-tour.el-tour--primary .el-tour__closebtn:focus .el-tour__close,.el-tour.el-tour--primary .el-tour__closebtn:hover .el-tour__close{color:var(--el-tour-title-text-color)}.el-tour.el-tour--primary .el-button--default{background:#fff;border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-tour.el-tour--primary .el-button--primary{border-color:#fff}.el-tour.el-tour--primary .el-tour-indicator{background:rgba(255,255,255,.15)}.el-tour.el-tour--primary .el-tour-indicator.is-active{background:#fff}.el-tour-parent--hidden{overflow:hidden}.el-anchor{--el-anchor-bg-color:var(--el-bg-color);--el-anchor-padding-indent:14px;--el-anchor-line-height:22px;--el-anchor-font-size:12px;--el-anchor-color:var(--el-text-color-secondary);--el-anchor-active-color:var(--el-color-primary);--el-anchor-marker-bg-color:var(--el-color-primary);background-color:var(--el-anchor-bg-color);position:relative}.el-anchor__marker{background-color:var(--el-anchor-marker-bg-color);border-radius:4px;opacity:0;position:absolute;z-index:0}.el-anchor.el-anchor--vertical .el-anchor__marker{height:14px;left:0;top:8px;transition:top .25s ease-in-out,opacity .25s;width:4px}.el-anchor.el-anchor--vertical .el-anchor__list{padding-left:var(--el-anchor-padding-indent)}.el-anchor.el-anchor--vertical.el-anchor--underline:before{background-color:rgba(5,5,5,.06);content:"";height:100%;left:0;position:absolute;width:2px}.el-anchor.el-anchor--vertical.el-anchor--underline .el-anchor__marker{border-radius:unset;width:2px}.el-anchor.el-anchor--horizontal .el-anchor__marker{bottom:0;height:2px;transition:left .25s ease-in-out,opacity .25s,width .25s;width:20px}.el-anchor.el-anchor--horizontal .el-anchor__list{display:flex;padding-bottom:4px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item{padding-left:16px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item:first-child{padding-left:0}.el-anchor.el-anchor--horizontal.el-anchor--underline:before{background-color:rgba(5,5,5,.06);bottom:0;content:"";height:2px;position:absolute;width:100%}.el-anchor.el-anchor--horizontal.el-anchor--underline .el-anchor__marker{border-radius:unset;height:2px}.el-anchor__item{display:flex;flex-direction:column;overflow:hidden}.el-anchor__link{cursor:pointer;font-size:var(--el-anchor-font-size);line-height:var(--el-anchor-line-height);max-width:100%;outline:none;overflow:hidden;padding:4px 0;text-decoration:none;text-overflow:ellipsis;transition:color var(--el-transition-duration);white-space:nowrap}.el-anchor__link,.el-anchor__link:focus,.el-anchor__link:hover{color:var(--el-anchor-color)}.el-anchor__link.is-active{color:var(--el-anchor-active-color)}.el-anchor .el-anchor__list .el-anchor__item a{display:inline-block}.el-segmented--vertical{flex-direction:column}.el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented{--el-segmented-color:var(--el-text-color-regular);--el-segmented-bg-color:var(--el-fill-color-light);--el-segmented-padding:2px;--el-segmented-item-selected-color:var(--el-color-white);--el-segmented-item-selected-bg-color:var(--el-color-primary);--el-segmented-item-selected-disabled-bg-color:var(--el-color-primary-light-5);--el-segmented-item-hover-color:var(--el-text-color-primary);--el-segmented-item-hover-bg-color:var(--el-fill-color-dark);--el-segmented-item-active-bg-color:var(--el-fill-color-darker);--el-segmented-item-disabled-color:var(--el-text-color-placeholder);align-items:stretch;background:var(--el-segmented-bg-color);border-radius:var(--el-border-radius-base);box-sizing:border-box;color:var(--el-segmented-color);display:inline-flex;font-size:14px;min-height:32px;padding:var(--el-segmented-padding)}.el-segmented__group{align-items:stretch;display:flex;position:relative;width:100%}.el-segmented__item-selected{background:var(--el-segmented-item-selected-bg-color);border-radius:calc(var(--el-border-radius-base) - 2px);height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:all .3s;width:10px}.el-segmented__item-selected.is-disabled{background:var(--el-segmented-item-selected-disabled-bg-color)}.el-segmented__item-selected.is-focus-visible:before{border-radius:inherit;content:"";inset:0;outline:2px solid var(--el-segmented-item-selected-bg-color);outline-offset:1px;position:absolute}.el-segmented__item{align-items:center;border-radius:calc(var(--el-border-radius-base) - 2px);cursor:pointer;display:flex;flex:1;padding:0 11px}.el-segmented__item:not(.is-disabled):not(.is-selected):hover{background:var(--el-segmented-item-hover-bg-color);color:var(--el-segmented-item-hover-color)}.el-segmented__item:not(.is-disabled):not(.is-selected):active{background:var(--el-segmented-item-active-bg-color)}.el-segmented__item.is-selected,.el-segmented__item.is-selected.is-disabled{color:var(--el-segmented-item-selected-color)}.el-segmented__item.is-disabled{color:var(--el-segmented-item-disabled-color);cursor:not-allowed}.el-segmented__item-input{height:0;margin:0;opacity:0;pointer-events:none;position:absolute;width:0}.el-segmented__item-label{flex:1;line-height:normal;overflow:hidden;text-align:center;text-overflow:ellipsis;transition:color .3s;white-space:nowrap;z-index:1}.el-segmented.is-block{display:flex}.el-segmented.is-block .el-segmented__item{min-width:0}.el-segmented--large{border-radius:var(--el-border-radius-base);font-size:16px;min-height:40px}.el-segmented--large .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 2px)}.el-segmented--large .el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented--large .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 2px);padding:0 11px}.el-segmented--small{border-radius:calc(var(--el-border-radius-base) - 1px);font-size:14px;min-height:24px}.el-segmented--small .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 3px)}.el-segmented--small .el-segmented--vertical .el-segmented__item{padding:7px}.el-segmented--small .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 3px);padding:0 7px}.el-mention{position:relative;width:100%}.el-mention__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-mention__popper.el-popper,.el-mention__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-mention__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-mention__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-mention__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-mention__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-mention-dropdown{--el-mention-font-size:var(--el-font-size-base);--el-mention-bg-color:var(--el-bg-color-overlay);--el-mention-shadow:var(--el-box-shadow-light);--el-mention-border:1px solid var(--el-border-color-light);--el-mention-option-color:var(--el-text-color-regular);--el-mention-option-height:34px;--el-mention-option-min-width:100px;--el-mention-option-hover-background:var(--el-fill-color-light);--el-mention-option-selected-color:var(--el-color-primary);--el-mention-option-disabled-color:var(--el-text-color-placeholder);--el-mention-option-loading-color:var(--el-text-color-secondary);--el-mention-option-loading-padding:10px 0;--el-mention-max-height:174px;--el-mention-padding:6px 0;--el-mention-header-padding:10px;--el-mention-footer-padding:10px}.el-mention-dropdown__item{box-sizing:border-box;color:var(--el-mention-option-color);cursor:pointer;font-size:var(--el-mention-font-size);height:var(--el-mention-option-height);line-height:var(--el-mention-option-height);min-width:var(--el-mention-option-min-width);overflow:hidden;padding:0 20px;position:relative;text-overflow:ellipsis;white-space:nowrap}.el-mention-dropdown__item.is-hovering{background-color:var(--el-mention-option-hover-background)}.el-mention-dropdown__item.is-selected{color:var(--el-mention-option-selected-color);font-weight:bold}.el-mention-dropdown__item.is-disabled{background-color:unset;color:var(--el-mention-option-disabled-color);cursor:not-allowed}.el-mention-dropdown{border-radius:var(--el-border-radius-base);box-sizing:border-box;z-index:calc(var(--el-index-top) + 1)}.el-mention-dropdown__loading{color:var(--el-mention-option-loading-color);font-size:12px;margin:0;min-width:var(--el-mention-option-min-width);padding:10px 0;text-align:center}.el-mention-dropdown__wrap{max-height:var(--el-mention-max-height)}.el-mention-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:var(--el-mention-padding)}.el-mention-dropdown__header{border-bottom:var(--el-mention-border);padding:var(--el-mention-header-padding)}.el-mention-dropdown__footer{border-top:var(--el-mention-border);padding:var(--el-mention-footer-padding)}/* AI助手问答页面重构样式系统 */

/* 导入基础样式 */

/* CSS Reset & Base Styles - AI助手问答页面重构 */

/* ===== CSS Reset ===== */

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  margin: 0;
  font-family: var(--font-family-sans);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  color: var(--color-text-primary);
  background: var(--color-background);
  background-image: var(--gradient-primary);
  background-attachment: fixed;
  min-height: 100vh;
  overflow-x: hidden;
}

/* ===== 移除默认样式 ===== */

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  color: var(--color-text-primary);
}

p {
  margin: 0;
  line-height: var(--line-height-normal);
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

li {
  margin: 0;
}

a {
  color: var(--color-text-accent);
  text-decoration: none;
  transition: var(--transition-colors);
}

a:hover {
  color: var(--color-primary-400);
  text-decoration: underline;
}

a:focus {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

button {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
  transition: var(--transition-all);
}

button:focus {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

input, textarea, select {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}

input:focus, textarea:focus, select:focus {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

svg {
  display: block;
  max-width: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th, td {
  padding: 0;
  text-align: left;
}

blockquote {
  margin: 0;
  padding: 0;
}

code, pre {
  font-family: var(--font-family-mono);
}

/* ===== 滚动条样式 ===== */

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--color-scrollbar-track);
  border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb {
  background: var(--color-scrollbar-thumb);
  border-radius: var(--radius-full);
  transition: var(--transition-colors);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-scrollbar-thumb-hover);
}

::-webkit-scrollbar-corner {
  background: var(--color-scrollbar-track);
}

/* Firefox滚动条 */

* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-scrollbar-thumb) var(--color-scrollbar-track);
}

/* ===== 选择文本样式 ===== */

::selection {
  background: rgba(79, 172, 254, 0.3);
  color: var(--color-text-primary);
}

::-moz-selection {
  background: rgba(79, 172, 254, 0.3);
  color: var(--color-text-primary);
}

/* ===== 焦点可见性 ===== */

:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* ===== 无障碍隐藏 ===== */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ===== 跳过链接 ===== */

.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: var(--color-background);
  color: var(--color-text-primary);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-md);
  text-decoration: none;
  z-index: var(--z-index-tooltip);
  transition: var(--transition-all);
}

.skip-link:focus {
  top: 6px;
}

/* ===== 通用工具类 ===== */

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* ===== 打印样式 ===== */

@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  
  a, a:visited {
    text-decoration: underline;
  }
  
  a[href]:after {
    content: " (" attr(href) ")";
  }
  
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  
  .no-print {
    display: none !important;
  }
  
  @page {
    margin: 0.5in;
  }
  
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  
  h2, h3 {
    page-break-after: avoid;
  }
}

/* ===== 高对比度模式支持 ===== */

@media (prefers-contrast: high) {
  :root {
    --color-border: rgba(255, 255, 255, 0.5);
    --color-text-secondary: rgba(255, 255, 255, 0.95);
  }
}

/* ===== 减少动画支持 ===== */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ===== 深色模式偏好 ===== */

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
  }
}

/* ===== 浅色模式偏好 ===== */

@media (prefers-color-scheme: light) {
  [data-theme="auto"] {
    --color-background: #ffffff;
    --color-text-primary: #0f172a;
    color-scheme: light;
  }
}

/* DeepSeek主题配色方案 - AI助手问答页面重构 */

:root {
  /* ===== 主色调系统 ===== */
  --color-primary-50: #eff6ff;
  --color-primary-100: #dbeafe;
  --color-primary-200: #bfdbfe;
  --color-primary-300: #93c5fd;
  --color-primary-400: #60a5fa;
  --color-primary-500: #4facfe;
  --color-primary-600: #00d4ff;
  --color-primary-700: #0284c7;
  --color-primary-800: #0369a1;
  --color-primary-900: #0c4a6e;
  --color-primary-950: #082f49;

  /* ===== 背景色系统 ===== */
  --color-background: #0a0a0f;
  --color-background-secondary: #1a1a2e;
  --color-background-tertiary: #16213e;
  --color-surface: rgba(255, 255, 255, 0.05);
  --color-surface-elevated: rgba(255, 255, 255, 0.08);
  --color-surface-hover: rgba(255, 255, 255, 0.12);
  
  /* ===== 渐变背景 ===== */
  --gradient-primary: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  --gradient-secondary: linear-gradient(135deg, #0f3460 0%, #533483 100%);
  --gradient-accent: linear-gradient(135deg, #4facfe 0%, #00d4ff 100%);
  --gradient-surface: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);

  /* ===== 文字颜色系统 ===== */
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-tertiary: rgba(255, 255, 255, 0.6);
  --color-text-quaternary: rgba(255, 255, 255, 0.4);
  --color-text-inverse: #0a0a0f;
  --color-text-accent: #4facfe;
  --color-text-success: #10b981;
  --color-text-warning: #f59e0b;
  --color-text-error: #ef4444;

  /* ===== 边框颜色系统 ===== */
  --color-border: rgba(255, 255, 255, 0.1);
  --color-border-strong: rgba(255, 255, 255, 0.2);
  --color-border-subtle: rgba(255, 255, 255, 0.05);
  --color-border-accent: #4facfe;
  --color-border-focus: #00d4ff;

  /* ===== 状态颜色系统 ===== */
  --color-success: #10b981;
  --color-success-bg: rgba(16, 185, 129, 0.1);
  --color-warning: #f59e0b;
  --color-warning-bg: rgba(245, 158, 11, 0.1);
  --color-error: #ef4444;
  --color-error-bg: rgba(239, 68, 68, 0.1);
  --color-info: #3b82f6;
  --color-info-bg: rgba(59, 130, 246, 0.1);

  /* ===== 阴影系统 ===== */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.25);
  --shadow-glow: 0 0 20px rgba(79, 172, 254, 0.3);
  --shadow-glow-strong: 0 0 30px rgba(79, 172, 254, 0.5);

  /* ===== 圆角系统 ===== */
  --radius-none: 0;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-3xl: 24px;
  --radius-full: 9999px;

  /* ===== 间距系统 ===== */
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  /* ===== 字体系统 ===== */
  --font-family-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-family-mono: 'Fira Code', 'Monaco', 'Consolas', 'Liberation Mono', 'Courier New', monospace;
  --font-family-serif: Georgia, 'Times New Roman', Times, serif;

  /* ===== 字体大小系统 ===== */
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-size-3xl: 30px;
  --font-size-4xl: 36px;
  --font-size-5xl: 48px;
  --font-size-6xl: 60px;

  /* ===== 字体权重系统 ===== */
  --font-weight-thin: 100;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;

  /* ===== 行高系统 ===== */
  --line-height-none: 1;
  --line-height-tight: 1.25;
  --line-height-snug: 1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  --line-height-loose: 2;

  /* ===== 过渡动画系统 ===== */
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow: 350ms ease;
  --transition-all: all 250ms ease;
  --transition-colors: color 150ms ease, background-color 150ms ease, border-color 150ms ease;
  --transition-transform: transform 250ms ease;
  --transition-opacity: opacity 200ms ease;

  /* ===== Z-index系统 ===== */
  --z-index-dropdown: 1000;
  --z-index-sticky: 1020;
  --z-index-fixed: 1030;
  --z-index-modal-backdrop: 1040;
  --z-index-modal: 1050;
  --z-index-popover: 1060;
  --z-index-tooltip: 1070;
  --z-index-toast: 1080;

  /* ===== 断点系统 ===== */
  --breakpoint-xs: 320px;
  --breakpoint-sm: 480px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;

  /* ===== 专用颜色 - 消息卡片 ===== */
  --color-message-user-bg: var(--gradient-accent);
  --color-message-user-text: #ffffff;
  --color-message-ai-bg: var(--color-surface);
  --color-message-ai-text: var(--color-text-primary);
  --color-message-ai-border: var(--color-border);

  /* ===== 专用颜色 - 代码块 ===== */
  --color-code-bg: rgba(0, 0, 0, 0.3);
  --color-code-border: rgba(255, 255, 255, 0.1);
  --color-code-text: #e6e6e6;
  --color-inline-code-bg: rgba(255, 255, 255, 0.1);
  --color-inline-code-border: rgba(255, 255, 255, 0.15);
  --color-inline-code-text: #00d4ff;

  /* ===== 专用颜色 - 引用块 ===== */
  --color-quote-bg: rgba(79, 172, 254, 0.05);
  --color-quote-border: #4facfe;
  --color-quote-text: rgba(255, 255, 255, 0.8);

  /* ===== 专用颜色 - 表格 ===== */
  --color-table-border: rgba(255, 255, 255, 0.1);
  --color-table-header-bg: rgba(79, 172, 254, 0.1);
  --color-table-header-text: #4facfe;
  --color-table-row-even: rgba(255, 255, 255, 0.02);
  --color-table-row-hover: rgba(255, 255, 255, 0.05);

  /* ===== 专用颜色 - 输入框 ===== */
  --color-input-bg: rgba(26, 26, 46, 0.8);
  --color-input-border: rgba(255, 255, 255, 0.1);
  --color-input-border-focus: var(--color-border-focus);
  --color-input-text: var(--color-text-primary);
  --color-input-placeholder: var(--color-text-tertiary);

  /* ===== 专用颜色 - 按钮 ===== */
  --color-button-primary-bg: var(--gradient-accent);
  --color-button-primary-text: #ffffff;
  --color-button-primary-hover: linear-gradient(135deg, #5bb6fe 0%, #1ae4ff 100%);
  --color-button-secondary-bg: transparent;
  --color-button-secondary-border: var(--color-border-accent);
  --color-button-secondary-text: var(--color-text-accent);
  --color-button-secondary-hover: rgba(79, 172, 254, 0.1);

  /* ===== 专用颜色 - 加载动画 ===== */
  --color-loading-primary: #4facfe;
  --color-loading-secondary: #00d4ff;
  --color-loading-bg: rgba(79, 172, 254, 0.1);

  /* ===== 专用颜色 - 滚动条 ===== */
  --color-scrollbar-track: rgba(255, 255, 255, 0.05);
  --color-scrollbar-thumb: rgba(255, 255, 255, 0.2);
  --color-scrollbar-thumb-hover: rgba(255, 255, 255, 0.3);

  /* ===== 专用颜色 - 焦点状态 ===== */
  --color-focus: #00d4ff;
  --color-focus-ring: rgba(0, 212, 255, 0.3);

  /* ===== 流体字体系统 ===== */
  --font-size-fluid-xs: clamp(10px, 1.5vw, 12px);
  --font-size-fluid-sm: clamp(12px, 2vw, 14px);
  --font-size-fluid-base: clamp(14px, 2.5vw, 16px);
  --font-size-fluid-lg: clamp(16px, 3vw, 18px);
  --font-size-fluid-xl: clamp(18px, 3.5vw, 20px);
  --font-size-fluid-2xl: clamp(20px, 4vw, 24px);
  --font-size-fluid-3xl: clamp(24px, 5vw, 30px);
}

/* ===== 深色主题特定样式 ===== */

[data-theme="dark"] {
  color-scheme: dark;
}

/* ===== 浅色主题变量覆盖（预留） ===== */

[data-theme="light"] {
  --color-background: #ffffff;
  --color-background-secondary: #f8fafc;
  --color-background-tertiary: #f1f5f9;
  --color-surface: rgba(0, 0, 0, 0.05);
  --color-surface-elevated: rgba(0, 0, 0, 0.08);
  --color-surface-hover: rgba(0, 0, 0, 0.12);
  
  --color-text-primary: #0f172a;
  --color-text-secondary: rgba(15, 23, 42, 0.8);
  --color-text-tertiary: rgba(15, 23, 42, 0.6);
  --color-text-quaternary: rgba(15, 23, 42, 0.4);
  --color-text-inverse: #ffffff;
  
  --color-border: rgba(0, 0, 0, 0.1);
  --color-border-strong: rgba(0, 0, 0, 0.2);
  --color-border-subtle: rgba(0, 0, 0, 0.05);
  
  color-scheme: light;
}

/* ===== 高对比度主题（无障碍支持） ===== */

@media (prefers-contrast: high) {
  :root {
    --color-border: rgba(255, 255, 255, 0.3);
    --color-border-strong: rgba(255, 255, 255, 0.5);
    --color-text-secondary: rgba(255, 255, 255, 0.9);
    --color-text-tertiary: rgba(255, 255, 255, 0.8);
  }
}

/* ===== 减少动画（无障碍支持） ===== */

@media (prefers-reduced-motion: reduce) {
  :root {
    --transition-fast: none;
    --transition-normal: none;
    --transition-slow: none;
    --transition-all: none;
    --transition-colors: none;
    --transition-transform: none;
    --transition-opacity: none;
  }
}

/* ===== 打印样式优化 ===== */

@media print {
  :root {
    --color-background: #ffffff;
    --color-text-primary: #000000;
    --color-text-secondary: #333333;
    --color-border: #cccccc;
    --shadow-md: none;
    --shadow-lg: none;
    --shadow-xl: none;
  }
}

/* 消息卡片组件样式 - DeepSeek风格 */

/* 消息卡片基础样式 */

.message-card {
  display: flex;
  margin-bottom: var(--space-6);
  animation: slideInUp 0.3s ease-out;
  position: relative;
}

.message-card.user {
  justify-content: flex-end;
}

.message-card.assistant {
  justify-content: flex-start;
}

/* 消息内容容器 */

.message-content-wrapper {
  display: flex;
  max-width: 80%;
  gap: var(--space-3);
  position: relative;
}

.message-card.user .message-content-wrapper {
  flex-direction: row-reverse;
}

/* 头像样式 */

.message-avatar {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface);
  color: var(--color-text-secondary);
  flex-shrink: 0;
  border: 1px solid var(--color-border);
  transition: var(--transition-all);
  position: relative;
  overflow: hidden;
}

.message-card.user .message-avatar {
  background: var(--gradient-accent);
  color: white;
  border-color: var(--color-primary-500);
  box-shadow: var(--shadow-glow);
}

.message-avatar::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--gradient-accent);
  opacity: 0;
  transition: var(--transition-opacity);
}

.message-card.assistant .message-avatar:hover::before {
  opacity: 0.1;
}

/* 消息气泡 */

.message-bubble {
  flex: 1;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-4);
  position: relative;
  transition: var(--transition-all);
  backdrop-filter: blur(10px);
}

.message-card.user .message-bubble {
  background: var(--gradient-accent);
  color: white;
  border-color: var(--color-primary-500);
  box-shadow: var(--shadow-glow);
}

.message-bubble:hover {
  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}

.message-card.user .message-bubble:hover {
  box-shadow: var(--shadow-glow), var(--shadow-lg);
}

/* 消息文本 */

.message-text {
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  margin: 0;
  word-wrap: break-word;
  white-space: pre-wrap;
}

.message-card.user .message-text {
  color: white;
}

/* 消息时间戳 */

.message-timestamp {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin-top: var(--space-2);
  opacity: 0;
  transition: var(--transition-opacity);
}

.message-card:hover .message-timestamp {
  opacity: 1;
}

.message-card.user .message-timestamp {
  color: rgba(255, 255, 255, 0.7);
}

/* 消息状态指示器 */

.message-status {
  position: absolute;
  bottom: var(--space-2);
  right: var(--space-3);
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  opacity: 0;
  transition: var(--transition-opacity);
}

.message-card:hover .message-status {
  opacity: 1;
}

.message-card.user .message-status {
  color: rgba(255, 255, 255, 0.7);
}

/* 消息操作按钮 */

.message-actions {
  display: flex;
  gap: var(--space-2);
  margin-top: var(--space-3);
  opacity: 0;
  transition: var(--transition-opacity);
  align-items: center;
}

.message-card:hover .message-actions {
  opacity: 1;
}

.action-button {
  width: 32px;
  height: 32px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text-tertiary);
  cursor: pointer;
  transition: var(--transition-all);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-sm);
  position: relative;
  overflow: hidden;
}

.action-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--gradient-accent);
  opacity: 0;
  transition: var(--transition-opacity);
}

.action-button:hover {
  background: var(--color-surface-hover);
  color: var(--color-text-secondary);
  border-color: var(--color-border-strong);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.action-button:hover::before {
  opacity: 0.1;
}

.action-button:active {
  transform: translateY(0);
}

/* 特殊操作按钮样式 */

.action-button.copy {
  color: var(--color-primary-500);
}

.action-button.regenerate {
  color: var(--color-warning);
}

.action-button.like {
  color: var(--color-success);
}

.action-button.dislike {
  color: var(--color-error);
}

.action-button.liked,
.action-button.disliked {
  background: var(--color-surface-hover);
  border-color: var(--color-border-strong);
}

/* 代码块样式 */

.message-bubble pre {
  background: var(--color-code-bg);
  border: 1px solid var(--color-code-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  margin: var(--space-3) 0;
  overflow-x: auto;
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}

.message-card.user .message-bubble pre {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  color: white;
}

/* 引用块样式 */

.message-bubble blockquote {
  border-left: 4px solid var(--color-border-accent);
  padding-left: var(--space-4);
  margin: var(--space-3) 0;
  color: var(--color-text-secondary);
  font-style: italic;
}

.message-card.user .message-bubble blockquote {
  border-left-color: rgba(255, 255, 255, 0.5);
  color: rgba(255, 255, 255, 0.9);
}

/* 链接样式 */

.message-bubble a {
  color: var(--color-link);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: var(--transition-all);
}

.message-bubble a:hover {
  border-bottom-color: var(--color-link);
}

.message-card.user .message-bubble a {
  color: rgba(255, 255, 255, 0.9);
  border-bottom-color: rgba(255, 255, 255, 0.3);
}

.message-card.user .message-bubble a:hover {
  color: white;
  border-bottom-color: white;
}

/* 列表样式 */

.message-bubble ul,
.message-bubble ol {
  padding-left: var(--space-6);
  margin: var(--space-3) 0;
}

.message-bubble li {
  margin-bottom: var(--space-1);
}

/* 表格样式 */

.message-bubble table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-3) 0;
  font-size: var(--font-size-sm);
}

.message-bubble th,
.message-bubble td {
  border: 1px solid var(--color-table-border);
  padding: var(--space-2) var(--space-3);
  text-align: left;
}

.message-bubble th {
  background: var(--color-table-header-bg);
  font-weight: var(--font-weight-semibold);
}

.message-card.user .message-bubble th,
.message-card.user .message-bubble td {
  border-color: rgba(255, 255, 255, 0.2);
}

.message-card.user .message-bubble th {
  background: rgba(255, 255, 255, 0.1);
}

/* 响应式设计 */

@media (max-width: 768px) {
  .message-content-wrapper {
    max-width: 95%;
  }
  
  .message-avatar {
    width: 36px;
    height: 36px;
  }
  
  .message-bubble {
    padding: var(--space-3);
  }
  
  .message-actions {
    flex-wrap: wrap;
  }
  
  .action-button {
    width: 28px;
    height: 28px;
    font-size: var(--font-size-xs);
  }
}

@media (max-width: 480px) {
  .message-content-wrapper {
    max-width: 100%;
  }
  
  .message-bubble {
    border-radius: var(--radius-lg);
  }
  
  .message-actions {
    margin-top: var(--space-2);
  }
}

/* 加载状态 */

.message-card.loading .message-bubble {
  background: var(--color-surface-hover);
  border-color: var(--color-border-strong);
}

.message-card.loading .message-text {
  color: var(--color-text-tertiary);
  font-style: italic;
}

/* 错误状态 */

.message-card.error .message-bubble {
  background: var(--color-error-bg);
  border-color: var(--color-error);
}

.message-card.error .message-text {
  color: var(--color-error);
}

/* 动画效果 */

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

.message-card.loading .message-text {
  animation: pulse 1.5s ease-in-out infinite;
}

/* 深色主题适配 */

@media (prefers-color-scheme: dark) {
  .message-bubble {
    backdrop-filter: blur(20px);
  }
  
  .message-card.user .message-bubble {
    box-shadow: var(--shadow-glow), 0 0 20px rgba(59, 130, 246, 0.3);
  }
}

/* 输入框和按钮组件样式 - AI助手问答页面重构 */

/* ===== 聊天输入区域 ===== */

.chat-input-container {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--color-input-container-bg);
  backdrop-filter: var(--backdrop-filter);
  border-top: 1px solid var(--color-border);
  padding: var(--space-4) var(--space-6);
  z-index: var(--z-index-sticky);
}

.chat-input-container::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gradient-input-container);
  opacity: 0.05;
  pointer-events: none;
}

.chat-input-wrapper {
  max-width: var(--container-max-width);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* ===== 输入框组合 ===== */

.input-group {
  display: flex;
  gap: var(--space-3);
  align-items: flex-end;
  background: var(--color-input-bg);
  border: 2px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-3);
  transition: var(--transition-all);
  position: relative;
  overflow: hidden;
}

.input-group::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gradient-input);
  opacity: 0.03;
  pointer-events: none;
}

.input-group:focus-within {
  border-color: var(--color-primary-500);
  box-shadow: var(--shadow-input-focus);
}

.input-group:hover:not(:focus-within) {
  border-color: var(--color-border-hover);
  box-shadow: var(--shadow-input-hover);
}

/* ===== 文本输入区域 ===== */

.input-field-wrapper {
  flex: 1;
  position: relative;
  min-height: 44px;
  display: flex;
  align-items: center;
}

.input-field {
  width: 100%;
  min-height: 44px;
  max-height: 200px;
  padding: var(--space-3) var(--space-4);
  border: none;
  background: transparent;
  color: var(--color-text-primary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  resize: none;
  outline: none;
  font-family: var(--font-family-sans);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--color-scrollbar-thumb) transparent;
}

.input-field::placeholder {
  color: var(--color-text-placeholder);
  font-style: normal;
}

.input-field::-webkit-scrollbar {
  width: 4px;
}

.input-field::-webkit-scrollbar-track {
  background: transparent;
}

.input-field::-webkit-scrollbar-thumb {
  background: var(--color-scrollbar-thumb);
  border-radius: var(--radius-full);
}

.input-field::-webkit-scrollbar-thumb:hover {
  background: var(--color-scrollbar-thumb-hover);
}

/* ===== 输入工具栏 ===== */

.input-toolbar {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-right: var(--space-2);
}

.toolbar-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-md);
  background: var(--color-button-ghost-bg);
  color: var(--color-text-tertiary);
  border: 1px solid transparent;
  cursor: pointer;
  transition: var(--transition-all);
  font-size: var(--font-size-base);
  position: relative;
  overflow: hidden;
}

.toolbar-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gradient-primary);
  opacity: 0;
  transition: var(--transition-all);
}

.toolbar-btn:hover {
  background: var(--color-button-ghost-hover);
  color: var(--color-text-secondary);
  border-color: var(--color-border);
  transform: translateY(-1px);
}

.toolbar-btn:hover::before {
  opacity: 0.05;
}

.toolbar-btn:active {
  transform: translateY(0);
}

.toolbar-btn:focus {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

.toolbar-btn.active {
  background: var(--color-primary-100);
  color: var(--color-primary-600);
  border-color: var(--color-primary-200);
}

.toolbar-btn.active::before {
  opacity: 0.1;
}

/* ===== 发送按钮 ===== */

.send-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-lg);
  background: var(--gradient-primary);
  color: white;
  border: none;
  cursor: pointer;
  transition: var(--transition-all);
  font-size: var(--font-size-lg);
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-button);
}

.send-button::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, transparent 50%);
  opacity: 0;
  transition: var(--transition-all);
}

.send-button:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-button-hover);
}

.send-button:hover::before {
  opacity: 1;
}

.send-button:active {
  transform: translateY(-1px);
}

.send-button:focus {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

.send-button:disabled {
  background: var(--color-button-disabled-bg);
  color: var(--color-button-disabled-text);
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.send-button:disabled::before {
  opacity: 0;
}

.send-button:disabled:hover {
  transform: none;
  box-shadow: none;
}

/* ===== 发送按钮图标动画 ===== */

.send-icon {
  transition: var(--transition-transform);
}

.send-button:hover .send-icon {
  transform: translateX(2px);
}

.send-button.sending .send-icon {
  animation: sendPulse 1s ease-in-out infinite;
}

@keyframes sendPulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}

/* ===== 按钮组件基础样式 ===== */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: var(--transition-all);
  border: 1px solid transparent;
  position: relative;
  overflow: hidden;
  user-select: none;
}

.btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gradient-primary);
  opacity: 0;
  transition: var(--transition-all);
}

.btn:focus {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

.btn:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* ===== 按钮变体 ===== */

/* 主要按钮 */

.btn-primary {
  background: var(--gradient-primary);
  color: white;
  box-shadow: var(--shadow-button);
}

.btn-primary:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: var(--shadow-button-hover);
}

.btn-primary:hover:not(:disabled)::before {
  opacity: 0.1;
}

.btn-primary:active:not(:disabled) {
  transform: translateY(0);
}

/* 次要按钮 */

.btn-secondary {
  background: var(--color-button-secondary-bg);
  color: var(--color-text-primary);
  border-color: var(--color-border);
}

.btn-secondary:hover:not(:disabled) {
  background: var(--color-button-secondary-hover);
  border-color: var(--color-border-hover);
  transform: translateY(-1px);
}

.btn-secondary:hover:not(:disabled)::before {
  opacity: 0.05;
}

/* 幽灵按钮 */

.btn-ghost {
  background: transparent;
  color: var(--color-text-secondary);
  border-color: transparent;
}

.btn-ghost:hover:not(:disabled) {
  background: var(--color-button-ghost-hover);
  color: var(--color-text-primary);
  border-color: var(--color-border);
}

.btn-ghost:hover:not(:disabled)::before {
  opacity: 0.03;
}

/* 危险按钮 */

.btn-danger {
  background: var(--color-error);
  color: white;
}

.btn-danger:hover:not(:disabled) {
  background: #dc2626;
  transform: translateY(-1px);
}

/* ===== 按钮尺寸 ===== */

.btn-sm {
  padding: var(--space-2) var(--space-3);
  font-size: var(--font-size-xs);
  gap: var(--space-1);
}

.btn-lg {
  padding: var(--space-4) var(--space-6);
  font-size: var(--font-size-base);
  gap: var(--space-3);
}

.btn-xl {
  padding: var(--space-5) var(--space-8);
  font-size: var(--font-size-lg);
  gap: var(--space-3);
}

/* ===== 图标按钮 ===== */

.btn-icon {
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: var(--radius-md);
}

.btn-icon-sm {
  width: 32px;
  height: 32px;
}

.btn-icon-lg {
  width: 48px;
  height: 48px;
}

/* ===== 加载状态 ===== */

.btn-loading {
  position: relative;
  color: transparent !important;
}

.btn-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border: 2px solid currentColor;
  border-top: 2px solid transparent;
  border-radius: var(--radius-full);
  animation: spin 1s linear infinite;
  color: inherit;
}

.btn-primary.btn-loading::after {
  border-color: white;
  border-top-color: transparent;
}

/* ===== 输入提示和错误状态 ===== */

.input-hint {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-2);
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
}

.input-error {
  color: var(--color-error);
}

.input-group.error {
  border-color: var(--color-error);
}

.input-group.error:focus-within {
  border-color: var(--color-error);
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

/* ===== 字符计数 ===== */

.char-count {
  position: absolute;
  bottom: var(--space-2);
  right: var(--space-3);
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  background: var(--color-background);
  padding: var(--space-1) var(--space-2);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  backdrop-filter: var(--backdrop-filter);
}

.char-count.warning {
  color: var(--color-warning);
}

.char-count.error {
  color: var(--color-error);
}

/* ===== 响应式设计 ===== */

@media (max-width: 768px) {
  .chat-input-container {
    padding: var(--space-3) var(--space-4);
  }
  
  .input-group {
    padding: var(--space-2);
    gap: var(--space-2);
  }
  
  .input-field {
    padding: var(--space-2) var(--space-3);
    min-height: 40px;
    font-size: var(--font-size-sm);
  }
  
  .send-button {
    width: 40px;
    height: 40px;
    font-size: var(--font-size-base);
  }
  
  .toolbar-btn {
    width: 32px;
    height: 32px;
    font-size: var(--font-size-sm);
  }
  
  .input-toolbar {
    gap: var(--space-1);
  }
}

@media (max-width: 480px) {
  .chat-input-container {
    padding: var(--space-2) var(--space-3);
  }
  
  .input-group {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-2);
  }
  
  .input-toolbar {
    order: -1;
    justify-content: flex-end;
  }
  
  .send-button {
    align-self: flex-end;
    width: 44px;
    height: 44px;
  }
}

/* ===== 高对比度模式 ===== */

@media (prefers-contrast: high) {
  .input-group {
    border-width: 3px;
  }
  
  .btn {
    border-width: 2px;
  }
  
  .toolbar-btn {
    border-width: 2px;
  }
}

/* ===== 减少动画模式 ===== */

@media (prefers-reduced-motion: reduce) {
  .send-button:hover {
    transform: none;
  }
  
  .btn:hover {
    transform: none;
  }
  
  .toolbar-btn:hover {
    transform: none;
  }
  
  .send-icon {
    transition: none;
  }
  
  .send-button:hover .send-icon {
    transform: none;
  }
  
  .send-button.sending .send-icon {
    animation: none;
  }
  
  .btn-loading::after {
    animation: none;
  }
}

/* ===== 打印样式 ===== */

@media print {
  .chat-input-container {
    display: none;
  }
  
  .btn {
    background: transparent !important;
    color: black !important;
    border: 1px solid black !important;
  }
}

/* 可折叠AI回答组件样式 - AI助手问答页面重构 */

/* ===== 可折叠容器 ===== */

.collapsible-response {
  background: var(--color-background);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: var(--transition-all);
  box-shadow: var(--shadow-card);
}

.collapsible-response:hover {
  border-color: var(--color-border-hover);
  box-shadow: var(--shadow-card-hover);
}

/* ===== 思考过程区域 ===== */

.thinking-section {
  border-bottom: 1px solid var(--color-border);
}

.thinking-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-4);
  background: var(--color-background-secondary);
  cursor: pointer;
  transition: var(--transition-colors);
  user-select: none;
}

.thinking-header:hover {
  background: var(--color-background-tertiary);
}

.thinking-header:focus {
  outline: 2px solid var(--color-primary-500);
  outline-offset: -2px;
}

.thinking-title {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
}

.thinking-icon {
  width: 16px;
  height: 16px;
  color: var(--color-primary-500);
  transition: var(--transition-transform);
}

.thinking-header[aria-expanded="true"] .thinking-icon {
  transform: rotate(180deg);
}

.thinking-toggle {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  transition: var(--transition-colors);
}

.thinking-header:hover .thinking-toggle {
  color: var(--color-text-secondary);
}

.thinking-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--animation-duration-normal) var(--animation-easing-smooth);
}

.thinking-content.expanded {
  max-height: 1000px;
}

.thinking-content-inner {
  padding: var(--space-4);
  background: var(--color-background-secondary);
  border-top: 1px solid var(--color-border);
}

.thinking-text {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  color: var(--color-text-secondary);
  font-family: var(--font-family-mono);
  white-space: pre-wrap;
  word-break: break-word;
}

/* ===== 主回答区域 ===== */

.main-response {
  padding: var(--space-4);
}

.response-content {
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  color: var(--color-text-primary);
  word-break: break-word;
  text-align: left;
}

/* 确保AI回答文本左对齐 */

.response-text {
  text-align: left;
  width: 100%;
}

.response-content h1,
.response-content h2,
.response-content h3,
.response-content h4,
.response-content h5,
.response-content h6 {
  margin: var(--space-4) 0 var(--space-2);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

.response-content h1:first-child,
.response-content h2:first-child,
.response-content h3:first-child,
.response-content h4:first-child,
.response-content h5:first-child,
.response-content h6:first-child {
  margin-top: 0;
}

.response-content p {
  margin: var(--space-3) 0;
}

.response-content p:first-child {
  margin-top: 0;
}

.response-content p:last-child {
  margin-bottom: 0;
}

.response-content ul,
.response-content ol {
  margin: var(--space-3) 0;
  padding-left: var(--space-6);
}

.response-content li {
  margin: var(--space-1) 0;
}

.response-content blockquote {
  margin: var(--space-4) 0;
  padding: var(--space-3) var(--space-4);
  border-left: 4px solid var(--color-primary-500);
  background: var(--color-background-secondary);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-style: italic;
  color: var(--color-text-secondary);
}

.response-content code {
  padding: var(--space-1) var(--space-2);
  background: var(--color-background-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sm);
  color: var(--color-primary-600);
}

.response-content pre {
  margin: var(--space-4) 0;
  padding: var(--space-4);
  background: var(--color-background-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow-x: auto;
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}

.response-content pre code {
  padding: 0;
  background: none;
  border: none;
  color: inherit;
}

.response-content a {
  color: var(--color-primary-600);
  text-decoration: underline;
  transition: var(--transition-colors);
}

.response-content a:hover {
  color: var(--color-primary-700);
  text-decoration: none;
}

.response-content a:focus {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* ===== 加载状态 ===== */

.collapsible-response.loading {
  opacity: 0.7;
  pointer-events: none;
}

.loading-indicator {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.loading-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid var(--color-border);
  border-top: 2px solid var(--color-primary-500);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* ===== 错误状态 ===== */

.collapsible-response.error {
  border-color: var(--color-error-300);
  background: var(--color-error-50);
}

.error-message {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4);
  color: var(--color-error-600);
  font-size: var(--font-size-sm);
}

.error-icon {
  width: 16px;
  height: 16px;
  color: var(--color-error-500);
}

/* ===== 响应式设计 ===== */

/* 平板端 */

@media (max-width: 768px) {
  .thinking-header {
    padding: var(--space-3);
  }
  
  .thinking-content-inner {
    padding: var(--space-3);
  }
  
  .main-response {
    padding: var(--space-3);
  }
  
  .thinking-title {
    font-size: var(--font-size-xs);
  }
  
  .response-content {
    font-size: var(--font-size-sm);
  }
}

/* 手机端 */

@media (max-width: 640px) {
  .thinking-header {
    padding: var(--space-2) var(--space-3);
  }
  
  .thinking-content-inner {
    padding: var(--space-2) var(--space-3);
  }
  
  .main-response {
    padding: var(--space-2) var(--space-3);
  }
  
  .thinking-text {
    font-size: var(--font-size-xs);
  }
  
  .response-content pre {
    padding: var(--space-2);
    font-size: var(--font-size-xs);
  }
  
  .response-content code {
    font-size: var(--font-size-xs);
  }
}

/* ===== 动画效果 ===== */

/* 展开动画 */

@keyframes expandContent {
  from {
    max-height: 0;
    opacity: 0;
  }
  to {
    max-height: 1000px;
    opacity: 1;
  }
}

/* 收起动画 */

@keyframes collapseContent {
  from {
    max-height: 1000px;
    opacity: 1;
  }
  to {
    max-height: 0;
    opacity: 0;
  }
}

.thinking-content.expanding {
  animation: expandContent var(--animation-duration-normal) var(--animation-easing-smooth);
}

.thinking-content.collapsing {
  animation: collapseContent var(--animation-duration-normal) var(--animation-easing-smooth);
}

/* 思考指示器动画 */

.thinking-indicator {
  display: flex;
  align-items: center;
  gap: var(--space-1);
}

.thinking-dot {
  width: 4px;
  height: 4px;
  background: var(--color-primary-500);
  border-radius: 50%;
  animation: thinkingPulse 1.5s ease-in-out infinite;
}

.thinking-dot:nth-child(1) { animation-delay: 0s; }

.thinking-dot:nth-child(2) { animation-delay: 0.2s; }

.thinking-dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes thinkingPulse {
  0%, 100% {
    opacity: 0.3;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

/* ===== 高对比度模式 ===== */

@media (prefers-contrast: high) {
  .collapsible-response {
    border-width: 2px;
  }
  
  .thinking-header {
    border-bottom-width: 2px;
  }
  
  .thinking-content-inner {
    border-top-width: 2px;
  }
  
  .response-content code {
    border-width: 2px;
  }
  
  .response-content pre {
    border-width: 2px;
  }
}

/* ===== 减少动画模式 ===== */

@media (prefers-reduced-motion: reduce) {
  .thinking-content {
    transition: none;
  }
  
  .thinking-icon {
    transition: none;
  }
  
  .thinking-toggle {
    transition: none;
  }
  
  .thinking-header {
    transition: none;
  }
  
  .collapsible-response {
    transition: none;
  }
  
  .thinking-content.expanding,
  .thinking-content.collapsing {
    animation: none;
  }
  
  .thinking-dot {
    animation: none;
  }
  
  .loading-spinner {
    animation: none;
  }
}

/* ===== 打印样式 ===== */

@media print {
  .collapsible-response {
    box-shadow: none;
    border: 1px solid #000;
  }
  
  .thinking-header {
    background: none;
  }
  
  .thinking-content {
    max-height: none !important;
    overflow: visible !important;
  }
  
  .thinking-content-inner {
    background: none;
  }
  
  .loading-indicator,
  .loading-spinner,
  .thinking-indicator {
    display: none;
  }
  
  .response-content a {
    color: #000;
    text-decoration: underline;
  }
  
  .response-content a::after {
    content: " (" attr(href) ")";
    font-size: smaller;
  }
}

/* 响应式布局样式 - AI助手问答页面重构 */

/* ===== 容器和网格系统 ===== */

.container {
  width: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 0 var(--space-6);
}

.container-fluid {
  width: 100%;
  padding: 0 var(--space-4);
}

.container-narrow {
  max-width: 768px;
}

.container-wide {
  max-width: 1400px;
}

/* ===== 网格系统 ===== */

.grid {
  display: grid;
  gap: var(--space-4);
}

.grid-cols-1 { grid-template-columns: repeat(1, 1fr); }

.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }

.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }

.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }

.grid-cols-12 { grid-template-columns: repeat(12, 1fr); }

.col-span-1 { grid-column: span 1; }

.col-span-2 { grid-column: span 2; }

.col-span-3 { grid-column: span 3; }

.col-span-4 { grid-column: span 4; }

.col-span-6 { grid-column: span 6; }

.col-span-8 { grid-column: span 8; }

.col-span-12 { grid-column: span 12; }

/* ===== Flexbox 工具类 ===== */

.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.flex-1 {
  flex: 1;
}

.flex-auto {
  flex: auto;
}

.flex-none {
  flex: none;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.flex-grow {
  flex-grow: 1;
}

/* ===== 对齐工具类 ===== */

.items-start {
  align-items: flex-start;
}

.items-center {
  align-items: center;
}

.items-end {
  align-items: flex-end;
}

.items-stretch {
  align-items: stretch;
}

.justify-start {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.justify-evenly {
  justify-content: space-evenly;
}

/* ===== 间距工具类 ===== */

.gap-0 { gap: 0; }

.gap-1 { gap: var(--space-1); }

.gap-2 { gap: var(--space-2); }

.gap-3 { gap: var(--space-3); }

.gap-4 { gap: var(--space-4); }

.gap-6 { gap: var(--space-6); }

.gap-8 { gap: var(--space-8); }

.gap-x-0 { column-gap: 0; }

.gap-x-1 { column-gap: var(--space-1); }

.gap-x-2 { column-gap: var(--space-2); }

.gap-x-3 { column-gap: var(--space-3); }

.gap-x-4 { column-gap: var(--space-4); }

.gap-x-6 { column-gap: var(--space-6); }

.gap-x-8 { column-gap: var(--space-8); }

.gap-y-0 { row-gap: 0; }

.gap-y-1 { row-gap: var(--space-1); }

.gap-y-2 { row-gap: var(--space-2); }

.gap-y-3 { row-gap: var(--space-3); }

.gap-y-4 { row-gap: var(--space-4); }

.gap-y-6 { row-gap: var(--space-6); }

.gap-y-8 { row-gap: var(--space-8); }

/* ===== 主布局结构 ===== */

.app-layout {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--color-background);
  background-image: var(--gradient-primary);
  background-attachment: fixed;
}

.app-header {
  position: sticky;
  top: 0;
  z-index: var(--z-index-header);
  background: var(--color-header-bg);
  backdrop-filter: var(--backdrop-filter);
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-4) 0;
}

.app-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.app-footer {
  background: var(--color-footer-bg);
  border-top: 1px solid var(--color-border);
  padding: var(--space-4) 0;
  margin-top: auto;
}

/* ===== 聊天布局 ===== */

.chat-layout {
  display: flex;
  flex-direction: column;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
}

.chat-header {
  flex-shrink: 0;
  background: var(--color-chat-header-bg);
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-4) var(--space-6);
  backdrop-filter: var(--backdrop-filter);
}

.chat-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: var(--space-4) var(--space-6);
  scroll-behavior: smooth;
}

.chat-input {
  flex-shrink: 0;
  background: var(--color-chat-input-bg);
  border-top: 1px solid var(--color-border);
  backdrop-filter: var(--backdrop-filter);
}

/* ===== 侧边栏布局 ===== */

.sidebar-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  height: 100vh;
  overflow: hidden;
}

.sidebar {
  background: var(--color-sidebar-bg);
  border-right: 1px solid var(--color-border);
  overflow-y: auto;
  backdrop-filter: var(--backdrop-filter);
}

.sidebar-content {
  padding: var(--space-4);
}

.main-content {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

/* ===== 移动端侧边栏 ===== */

.mobile-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 280px;
  background: var(--color-sidebar-bg);
  backdrop-filter: var(--backdrop-filter);
  border-right: 1px solid var(--color-border);
  transform: translateX(-100%);
  transition: var(--transition-all);
  z-index: var(--z-index-sidebar);
  overflow-y: auto;
}

.mobile-sidebar.open {
  transform: translateX(0);
}

.sidebar-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-all);
  z-index: var(--z-index-overlay);
}

.sidebar-overlay.visible {
  opacity: 1;
  visibility: visible;
}

/* ===== 响应式断点 ===== */

/* ===== 大屏幕 (1200px+) ===== */

@media (min-width: 1200px) {
  .container {
    padding: 0 var(--space-8);
  }
  
  .chat-header,
  .chat-messages {
    padding-left: var(--space-8);
    padding-right: var(--space-8);
  }
  
  .xl\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .xl\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .xl\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
  
  .xl\:col-span-6 { grid-column: span 6; }
  .xl\:col-span-8 { grid-column: span 8; }
  
  .xl\:flex-row { flex-direction: row; }
  .xl\:flex-col { flex-direction: column; }
  
  .xl\:block { display: block; }
  .xl\:hidden { display: none; }
}

/* ===== 桌面端 (992px - 1199px) ===== */

@media (min-width: 992px) and (max-width: 1199px) {
  .container {
    padding: 0 var(--space-6);
  }
  
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  
  .lg\:col-span-4 { grid-column: span 4; }
  .lg\:col-span-6 { grid-column: span 6; }
  .lg\:col-span-8 { grid-column: span 8; }
  
  .lg\:flex-row { flex-direction: row; }
  .lg\:flex-col { flex-direction: column; }
  
  .lg\:block { display: block; }
  .lg\:hidden { display: none; }
}

/* ===== 平板端 (768px - 991px) ===== */

@media (min-width: 768px) and (max-width: 991px) {
  .container {
    padding: 0 var(--space-4);
  }
  
  .sidebar-layout {
    grid-template-columns: 240px 1fr;
  }
  
  .mobile-sidebar {
    width: 240px;
  }
  
  .chat-header,
  .chat-messages {
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }
  
  .md\:grid-cols-1 { grid-template-columns: repeat(1, 1fr); }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  
  .md\:col-span-6 { grid-column: span 6; }
  .md\:col-span-12 { grid-column: span 12; }
  
  .md\:flex-row { flex-direction: row; }
  .md\:flex-col { flex-direction: column; }
  
  .md\:block { display: block; }
  .md\:hidden { display: none; }
}

/* ===== 小平板 (576px - 767px) ===== */

@media (min-width: 576px) and (max-width: 767px) {
  .container {
    padding: 0 var(--space-4);
  }
  
  .sidebar-layout {
    grid-template-columns: 1fr;
  }
  
  .sidebar {
    display: none;
  }
  
  .chat-header,
  .chat-messages {
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }
  
  .sm\:grid-cols-1 { grid-template-columns: repeat(1, 1fr); }
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  
  .sm\:col-span-12 { grid-column: span 12; }
  
  .sm\:flex-col { flex-direction: column; }
  .sm\:flex-row { flex-direction: row; }
  
  .sm\:block { display: block; }
  .sm\:hidden { display: none; }
}

/* ===== 手机端 (最大 575px) ===== */

@media (max-width: 575px) {
  .container {
    padding: 0 var(--space-3);
  }
  
  .container-fluid {
    padding: 0 var(--space-2);
  }
  
  .sidebar-layout {
    grid-template-columns: 1fr;
  }
  
  .sidebar {
    display: none;
  }
  
  .mobile-sidebar {
    width: 100vw;
  }
  
  .chat-header {
    padding: var(--space-3) var(--space-3);
  }
  
  .chat-messages {
    padding: var(--space-3);
  }
  
  .app-header {
    padding: var(--space-3) 0;
  }
  
  .app-footer {
    padding: var(--space-3) 0;
  }
  
  .grid {
    gap: var(--space-3);
  }
  
  .xs\:grid-cols-1 { grid-template-columns: repeat(1, 1fr); }
  .xs\:col-span-12 { grid-column: span 12; }
  
  .xs\:flex-col { flex-direction: column; }
  .xs\:flex-wrap { flex-wrap: wrap; }
  
  .xs\:block { display: block; }
  .xs\:hidden { display: none; }
  
  .xs\:text-center { text-align: center; }
  .xs\:text-left { text-align: left; }
  
  .xs\:w-full { width: 100%; }
  .xs\:max-w-none { max-width: none; }
}

/* ===== 超小屏幕 (最大 375px) ===== */

@media (max-width: 375px) {
  .container {
    padding: 0 var(--space-2);
  }
  
  .chat-header,
  .chat-messages {
    padding: var(--space-2);
  }
  
  .grid {
    gap: var(--space-2);
  }
  
  .mobile-sidebar {
    width: 100vw;
  }
}

/* ===== 显示/隐藏工具类 ===== */

.block { display: block; }

.inline { display: inline; }

.inline-block { display: inline-block; }

.hidden { display: none; }

.invisible { visibility: hidden; }

.visible { visibility: visible; }

/* ===== 位置工具类 ===== */

.relative { position: relative; }

.absolute { position: absolute; }

.fixed { position: fixed; }

.sticky { position: sticky; }

.static { position: static; }

/* ===== 溢出工具类 ===== */

.overflow-hidden { overflow: hidden; }

.overflow-auto { overflow: auto; }

.overflow-scroll { overflow: scroll; }

.overflow-visible { overflow: visible; }

.overflow-x-hidden { overflow-x: hidden; }

.overflow-x-auto { overflow-x: auto; }

.overflow-x-scroll { overflow-x: scroll; }

.overflow-y-hidden { overflow-y: hidden; }

.overflow-y-auto { overflow-y: auto; }

.overflow-y-scroll { overflow-y: scroll; }

/* ===== 宽度和高度工具类 ===== */

.w-full { width: 100%; }

.w-auto { width: auto; }

.w-fit { width: fit-content; }

.w-screen { width: 100vw; }

.h-full { height: 100%; }

.h-auto { height: auto; }

.h-fit { height: fit-content; }

.h-screen { height: 100vh; }

.min-w-0 { min-width: 0; }

.min-w-full { min-width: 100%; }

.min-h-0 { min-height: 0; }

.min-h-full { min-height: 100%; }

.min-h-screen { min-height: 100vh; }

.max-w-none { max-width: none; }

.max-w-full { max-width: 100%; }

.max-w-screen { max-width: 100vw; }

.max-h-none { max-height: none; }

.max-h-full { max-height: 100%; }

.max-h-screen { max-height: 100vh; }

/* ===== 文本对齐工具类 ===== */

.text-left { text-align: left; }

.text-center { text-align: center; }

.text-right { text-align: right; }

.text-justify { text-align: justify; }

/* ===== 垂直对齐工具类 ===== */

.align-baseline { vertical-align: baseline; }

.align-top { vertical-align: top; }

.align-middle { vertical-align: middle; }

.align-bottom { vertical-align: bottom; }

/* ===== 浮动工具类 ===== */

.float-left { float: left; }

.float-right { float: right; }

.float-none { float: none; }

.clear-left { clear: left; }

.clear-right { clear: right; }

.clear-both { clear: both; }

.clear-none { clear: none; }

/* ===== 高对比度模式适配 ===== */

@media (prefers-contrast: high) {
  .app-header,
  .app-footer,
  .chat-header,
  .chat-input,
  .sidebar {
    border-width: 2px;
  }
}

/* ===== 减少动画模式适配 ===== */

@media (prefers-reduced-motion: reduce) {
  .mobile-sidebar {
    transition: none;
  }
  
  .sidebar-overlay {
    transition: none;
  }
  
  .chat-messages {
    scroll-behavior: auto;
  }
}

/* ===== 打印样式 ===== */

@media print {
  .app-header,
  .app-footer,
  .chat-header,
  .chat-input,
  .sidebar,
  .mobile-sidebar,
  .sidebar-overlay {
    display: none !important;
  }
  
  .chat-layout,
  .sidebar-layout {
    height: auto !important;
    overflow: visible !important;
  }
  
  .chat-messages {
    overflow: visible !important;
    padding: 0 !important;
  }
  
  .container {
    max-width: none !important;
    padding: 0 !important;
  }
}

/* 动画效果样式 - AI助手问答页面重构 */

/* ===== 基础动画变量 ===== */

:root {
  /* 动画持续时间 */
  --animation-duration-fast: 150ms;
  --animation-duration-normal: 300ms;
  --animation-duration-slow: 500ms;
  --animation-duration-slower: 750ms;
  
  /* 动画缓动函数 */
  --animation-easing-linear: linear;
  --animation-easing-ease: ease;
  --animation-easing-ease-in: ease-in;
  --animation-easing-ease-out: ease-out;
  --animation-easing-ease-in-out: ease-in-out;
  --animation-easing-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --animation-easing-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --animation-easing-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* ===== 消息动画 ===== */

/* 消息滑入动画 */

@keyframes messageSlideIn {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* 消息淡入动画 */

@keyframes messageFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* 消息从左滑入 */

@keyframes messageSlideInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 消息从右滑入 */

@keyframes messageSlideInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 消息弹跳进入 */

@keyframes messageBounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* ===== 打字机效果 ===== */

/* 基础打字机动画 */

@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

/* 光标闪烁动画 */

@keyframes blinkCaret {
  from, to {
    border-color: transparent;
  }
  50% {
    border-color: var(--color-primary-500);
  }
}

/* 打字机效果类 */

.typing-effect {
  overflow: hidden;
  border-right: 2px solid var(--color-primary-500);
  white-space: nowrap;
  animation: 
    typing var(--animation-duration-slower) steps(40, end),
    blinkCaret 0.75s step-end infinite;
}

.typing-effect-slow {
  animation-duration: 2s;
}

.typing-effect-fast {
  animation-duration: 1s;
}

/* 逐字显示效果 */

.typewriter {
  display: inline-block;
  overflow: hidden;
}

.typewriter-char {
  opacity: 0;
  animation: typewriterChar var(--animation-duration-fast) ease-out forwards;
}

@keyframes typewriterChar {
  to {
    opacity: 1;
  }
}

/* ===== 加载动画 ===== */

/* 旋转加载动画 */

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* 脉冲加载动画 */

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

/* 弹跳加载动画 */

@keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    transform: translate3d(0, -8px, 0);
  }
  70% {
    transform: translate3d(0, -4px, 0);
  }
  90% {
    transform: translate3d(0, -2px, 0);
  }
}

/* 波浪加载动画 */

@keyframes wave {
  0%, 60%, 100% {
    transform: initial;
  }
  30% {
    transform: translateY(-8px);
  }
}

/* 点点加载动画 */

@keyframes loadingDots {
  0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

/* ===== 加载组件 ===== */

/* 旋转加载器 */

.spinner {
  width: 20px;
  height: 20px;
  border: 2px solid var(--color-border);
  border-top: 2px solid var(--color-primary-500);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

.spinner-sm {
  width: 16px;
  height: 16px;
  border-width: 1.5px;
}

.spinner-lg {
  width: 24px;
  height: 24px;
  border-width: 3px;
}

/* 脉冲加载器 */

.pulse-loader {
  width: 20px;
  height: 20px;
  background: var(--color-primary-500);
  border-radius: 50%;
  animation: pulse 1.5s ease-in-out infinite;
}

/* 点点加载器 */

.dots-loader {
  display: flex;
  gap: var(--space-1);
  align-items: center;
}

.dots-loader .dot {
  width: 6px;
  height: 6px;
  background: var(--color-primary-500);
  border-radius: 50%;
  animation: loadingDots 1.4s ease-in-out infinite both;
}

.dots-loader .dot:nth-child(1) { animation-delay: -0.32s; }

.dots-loader .dot:nth-child(2) { animation-delay: -0.16s; }

.dots-loader .dot:nth-child(3) { animation-delay: 0; }

/* 波浪加载器 */

.wave-loader {
  display: flex;
  gap: 2px;
  align-items: center;
}

.wave-loader .bar {
  width: 3px;
  height: 16px;
  background: var(--color-primary-500);
  border-radius: 2px;
  animation: wave 1.2s ease-in-out infinite;
}

.wave-loader .bar:nth-child(1) { animation-delay: -1.2s; }

.wave-loader .bar:nth-child(2) { animation-delay: -1.1s; }

.wave-loader .bar:nth-child(3) { animation-delay: -1.0s; }

.wave-loader .bar:nth-child(4) { animation-delay: -0.9s; }

.wave-loader .bar:nth-child(5) { animation-delay: -0.8s; }

/* ===== 思考动画 ===== */

/* 思考气泡动画 */

@keyframes thinkingBubble {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}

.thinking-animation {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.thinking-bubble {
  width: 8px;
  height: 8px;
  background: var(--color-primary-500);
  border-radius: 50%;
  animation: thinkingBubble 1.5s ease-in-out infinite;
}

.thinking-bubble:nth-child(1) { animation-delay: 0s; }

.thinking-bubble:nth-child(2) { animation-delay: 0.2s; }

.thinking-bubble:nth-child(3) { animation-delay: 0.4s; }

/* ===== 悬停和交互动画 ===== */

/* 悬停上升效果 */

.hover-lift {
  transition: var(--transition-all);
}

.hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-card-hover);
}

/* 悬停缩放效果 */

.hover-scale {
  transition: var(--transition-transform);
}

.hover-scale:hover {
  transform: scale(1.05);
}

/* 悬停旋转效果 */

.hover-rotate {
  transition: var(--transition-transform);
}

.hover-rotate:hover {
  transform: rotate(5deg);
}

/* 点击波纹效果 */

.ripple {
  position: relative;
  overflow: hidden;
}

.ripple::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.ripple:active::before {
  width: 300px;
  height: 300px;
}

/* ===== 展开/收起动画 ===== */

/* 手风琴展开动画 */

@keyframes accordionExpand {
  from {
    max-height: 0;
    opacity: 0;
  }
  to {
    max-height: 1000px;
    opacity: 1;
  }
}

@keyframes accordionCollapse {
  from {
    max-height: 1000px;
    opacity: 1;
  }
  to {
    max-height: 0;
    opacity: 0;
  }
}

.accordion-content {
  overflow: hidden;
  transition: max-height var(--animation-duration-normal) var(--animation-easing-smooth);
}

.accordion-content.expanding {
  animation: accordionExpand var(--animation-duration-normal) var(--animation-easing-smooth);
}

.accordion-content.collapsing {
  animation: accordionCollapse var(--animation-duration-normal) var(--animation-easing-smooth);
}

/* ===== 滑动动画 ===== */

/* 从上滑入 */

@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 从下滑入 */

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 从左滑入 */

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 从右滑入 */

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ===== 淡入淡出动画 ===== */

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===== 缩放动画 ===== */

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes scaleOut {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.9);
  }
}

/* ===== 动画工具类 ===== */

.animate-spin {
  animation: spin 1s linear infinite;
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.animate-bounce {
  animation: bounce 1s infinite;
}

.animate-fade-in {
  animation: fadeIn var(--animation-duration-normal) var(--animation-easing-smooth);
}

.animate-fade-out {
  animation: fadeOut var(--animation-duration-normal) var(--animation-easing-smooth);
}

.animate-slide-in-up {
  animation: slideInUp var(--animation-duration-normal) var(--animation-easing-smooth);
}

.animate-slide-in-down {
  animation: slideInDown var(--animation-duration-normal) var(--animation-easing-smooth);
}

.animate-slide-in-left {
  animation: slideInLeft var(--animation-duration-normal) var(--animation-easing-smooth);
}

.animate-slide-in-right {
  animation: slideInRight var(--animation-duration-normal) var(--animation-easing-smooth);
}

.animate-scale-in {
  animation: scaleIn var(--animation-duration-normal) var(--animation-easing-smooth);
}

.animate-scale-out {
  animation: scaleOut var(--animation-duration-normal) var(--animation-easing-smooth);
}

.animate-message-slide-in {
  animation: messageSlideIn var(--animation-duration-normal) var(--animation-easing-smooth);
}

.animate-message-bounce-in {
  animation: messageBounceIn var(--animation-duration-slow) var(--animation-easing-bounce);
}

/* ===== 动画延迟类 ===== */

.animate-delay-75 {
  animation-delay: 75ms;
}

.animate-delay-100 {
  animation-delay: 100ms;
}

.animate-delay-150 {
  animation-delay: 150ms;
}

.animate-delay-200 {
  animation-delay: 200ms;
}

.animate-delay-300 {
  animation-delay: 300ms;
}

.animate-delay-500 {
  animation-delay: 500ms;
}

.animate-delay-700 {
  animation-delay: 700ms;
}

.animate-delay-1000 {
  animation-delay: 1000ms;
}

/* ===== 动画持续时间类 ===== */

.animate-duration-75 {
  animation-duration: 75ms;
}

.animate-duration-100 {
  animation-duration: 100ms;
}

.animate-duration-150 {
  animation-duration: 150ms;
}

.animate-duration-200 {
  animation-duration: 200ms;
}

.animate-duration-300 {
  animation-duration: 300ms;
}

.animate-duration-500 {
  animation-duration: 500ms;
}

.animate-duration-700 {
  animation-duration: 700ms;
}

.animate-duration-1000 {
  animation-duration: 1000ms;
}

/* ===== 过渡效果类 ===== */

.transition-none {
  transition: none;
}

.transition-all {
  transition: var(--transition-all);
}

.transition-colors {
  transition: var(--transition-colors);
}

.transition-opacity {
  transition: opacity var(--animation-duration-normal) var(--animation-easing-smooth);
}

.transition-transform {
  transition: var(--transition-transform);
}

/* ===== 减少动画模式适配 ===== */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  
  .typing-effect {
    animation: none;
    border-right: none;
    white-space: normal;
  }
  
  .spinner,
  .pulse-loader,
  .dots-loader .dot,
  .wave-loader .bar,
  .thinking-bubble {
    animation: none;
  }
  
  .hover-lift:hover,
  .hover-scale:hover,
  .hover-rotate:hover {
    transform: none;
  }
  
  .ripple::before {
    transition: none;
  }
  
  .ripple:active::before {
    width: 0;
    height: 0;
  }
}

/* ===== 打印样式 ===== */

@media print {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
  
  .spinner,
  .pulse-loader,
  .dots-loader,
  .wave-loader,
  .thinking-animation {
    display: none !important;
  }
}

/* 懒加载图片样式 */

.lazy-image {
  transition: opacity 0.3s ease-in-out, filter 0.3s ease-in-out;
  background-color: #f5f5f5;
  background-image: linear-gradient(45deg, #f0f0f0 25%, transparent 25%), 
                    linear-gradient(-45deg, #f0f0f0 25%, transparent 25%), 
                    linear-gradient(45deg, transparent 75%, #f0f0f0 75%), 
                    linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);
  background-size: 20px 20px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
}

/* 加载中状态 */

.lazy-loading {
  opacity: 0.6;
  filter: blur(2px);
  animation: lazy-pulse 1.5s ease-in-out infinite;
}

/* 加载完成状态 */

.lazy-loaded {
  opacity: 1;
  filter: none;
  background: none;
}

/* 加载错误状态 */

.lazy-error {
  opacity: 0.5;
  background-color: #fef2f2;
  background-image: none;
  position: relative;
}

.lazy-error::before {
  content: '图片加载失败';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ef4444;
  font-size: 12px;
  white-space: nowrap;
  pointer-events: none;
}

/* 脉冲动画 */

@keyframes lazy-pulse {
  0%, 100% {
    opacity: 0.6;
  }
  50% {
    opacity: 0.8;
  }
}

/* 骨架屏效果 */

.lazy-skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: lazy-skeleton 1.5s infinite;
}

@keyframes lazy-skeleton {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* 响应式图片容器 */

.lazy-image-container {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.lazy-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 加载指示器 */

.lazy-loading-indicator {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
}

.lazy-spinner {
  width: 20px;
  height: 20px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #3498db;
  border-radius: 50%;
  animation: lazy-spin 1s linear infinite;
}

@keyframes lazy-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* 渐入效果 */

.lazy-fade-in {
  animation: lazy-fade-in 0.5s ease-in-out;
}

@keyframes lazy-fade-in {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* 模糊到清晰效果 */

.lazy-blur-in {
  animation: lazy-blur-in 0.8s ease-out;
}

@keyframes lazy-blur-in {
  from {
    filter: blur(10px);
    opacity: 0;
  }
  to {
    filter: blur(0);
    opacity: 1;
  }
}

/* 缩放效果 */

.lazy-scale-in {
  animation: lazy-scale-in 0.6s ease-out;
}

@keyframes lazy-scale-in {
  from {
    transform: scale(0.8);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* 滑入效果 */

.lazy-slide-up {
  animation: lazy-slide-up 0.6s ease-out;
}

@keyframes lazy-slide-up {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* 深色主题适配 */

@media (prefers-color-scheme: dark) {
  .lazy-image {
    background-color: #2a2a2a;
    background-image: linear-gradient(45deg, #333 25%, transparent 25%), 
                      linear-gradient(-45deg, #333 25%, transparent 25%), 
                      linear-gradient(45deg, transparent 75%, #333 75%), 
                      linear-gradient(-45deg, transparent 75%, #333 75%);
  }
  
  .lazy-error {
    background-color: #2d1b1b;
  }
  
  .lazy-error::before {
    color: #f87171;
  }
  
  .lazy-skeleton {
    background: linear-gradient(90deg, #2a2a2a 25%, #333 50%, #2a2a2a 75%);
  }
}

/* 高对比度模式 */

@media (prefers-contrast: high) {
  .lazy-loading {
    filter: none;
    border: 2px solid #000;
  }
  
  .lazy-error::before {
    background-color: #fff;
    padding: 2px 4px;
    border: 1px solid #000;
  }
}

/* 减少动画模式 */

@media (prefers-reduced-motion: reduce) {
  .lazy-image,
  .lazy-loading,
  .lazy-loaded {
    transition: none;
    animation: none;
  }
  
  .lazy-pulse,
  .lazy-skeleton,
  .lazy-spin,
  .lazy-fade-in,
  .lazy-blur-in,
  .lazy-scale-in,
  .lazy-slide-up {
    animation: none;
  }
}

/* ===== 全局样式覆盖 ===== */

/* 确保所有元素使用 border-box */

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* 根元素样式 */

html {
  font-size: 16px;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

/* 减少动画模式下的滚动行为 */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* 身体元素样式 */

body {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
  color: var(--color-text-primary);
  background-color: var(--color-background);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* 应用容器 */

#app {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* 主要内容区域 */

main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* 聊天容器 */

.chat-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  max-width: 100%;
  margin: 0 auto;
  padding: var(--space-4);
}

/* 消息列表容器 */

.messages-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-2) 0;
  overflow-y: auto;
  scroll-behavior: smooth;
}

/* 输入区域容器 */

.input-container {
  flex-shrink: 0;
  padding: var(--space-4) 0 0;
  border-top: 1px solid var(--color-border);
  background-color: var(--color-background);
}

/* ===== 响应式断点调整 ===== */

/* 大屏幕 */

@media (min-width: 1200px) {
  .chat-container {
    max-width: 1000px;
    padding: var(--space-6);
  }
}

/* 桌面端 */

@media (min-width: 768px) and (max-width: 1199px) {
  .chat-container {
    max-width: 800px;
    padding: var(--space-5);
  }
}

/* 平板端 */

@media (min-width: 640px) and (max-width: 767px) {
  .chat-container {
    padding: var(--space-4);
  }
}

/* 手机端 */

@media (max-width: 639px) {
  .chat-container {
    padding: var(--space-3);
  }
  
  .messages-container {
    gap: var(--space-3);
  }
  
  .input-container {
    padding: var(--space-3) 0 0;
  }
}

/* ===== 滚动条样式 ===== */

/* Webkit 浏览器滚动条 */

.messages-container::-webkit-scrollbar {
  width: 6px;
}

.messages-container::-webkit-scrollbar-track {
  background: var(--color-background-secondary);
  border-radius: var(--radius-full);
}

.messages-container::-webkit-scrollbar-thumb {
  background: var(--color-border-hover);
  border-radius: var(--radius-full);
  transition: var(--transition-colors);
}

.messages-container::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-tertiary);
}

/* Firefox 滚动条 */

.messages-container {
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-hover) var(--color-background-secondary);
}

/* ===== 焦点管理 ===== */

/* 键盘导航焦点样式 */

.focus-visible {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
}

/* 移除鼠标点击时的焦点轮廓 */

.focus-visible:not(.focus-visible) {
  outline: none;
}

/* ===== 选择文本样式 ===== */

::selection {
  background-color: var(--color-primary-100);
  color: var(--color-primary-900);
}

::-moz-selection {
  background-color: var(--color-primary-100);
  color: var(--color-primary-900);
}

/* ===== 无障碍支持 ===== */

/* 屏幕阅读器专用内容 */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 跳转到主内容链接 */

.skip-to-content {
  position: absolute;
  top: -40px;
  left: 6px;
  background: var(--color-primary-500);
  color: var(--color-white);
  padding: 8px;
  text-decoration: none;
  border-radius: var(--radius-sm);
  z-index: var(--z-index-tooltip);
  transition: var(--transition-all);
}

.skip-to-content:focus {
  top: 6px;
}

/* ===== 错误和加载状态 ===== */

/* 错误消息样式 */

.error-message {
  color: var(--color-error-600);
  background-color: var(--color-error-50);
  border: 1px solid var(--color-error-200);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  margin: var(--space-2) 0;
  font-size: var(--font-size-sm);
}

/* 成功消息样式 */

.success-message {
  color: var(--color-success-600);
  background-color: var(--color-success-50);
  border: 1px solid var(--color-success-200);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  margin: var(--space-2) 0;
  font-size: var(--font-size-sm);
}

/* 警告消息样式 */

.warning-message {
  color: var(--color-warning-600);
  background-color: var(--color-warning-50);
  border: 1px solid var(--color-warning-200);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  margin: var(--space-2) 0;
  font-size: var(--font-size-sm);
}

/* 信息消息样式 */

.info-message {
  color: var(--color-info-600);
  background-color: var(--color-info-50);
  border: 1px solid var(--color-info-200);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  margin: var(--space-2) 0;
  font-size: var(--font-size-sm);
}

/* 加载状态容器 */

.loading-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-8);
  color: var(--color-text-secondary);
}

/* 空状态容器 */

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--space-12);
  text-align: center;
  color: var(--color-text-secondary);
}

.empty-state-icon {
  width: 64px;
  height: 64px;
  margin-bottom: var(--space-4);
  opacity: 0.5;
}

.empty-state-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--space-2);
  color: var(--color-text-primary);
}

.empty-state-description {
  font-size: var(--font-size-sm);
  max-width: 400px;
  line-height: var(--line-height-relaxed);
}

/* ===== 工具类补充 ===== */

/* 文本截断 */

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.truncate-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.truncate-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* 圆形头像 */

.avatar {
  border-radius: var(--radius-full);
  object-fit: cover;
}

/* 徽章样式 */

.badge {
  display: inline-flex;
  align-items: center;
  padding: var(--space-1) var(--space-2);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  border-radius: var(--radius-full);
  background-color: var(--color-primary-100);
  color: var(--color-primary-800);
}

.badge-secondary {
  background-color: var(--color-gray-100);
  color: var(--color-gray-800);
}

.badge-success {
  background-color: var(--color-success-100);
  color: var(--color-success-800);
}

.badge-warning {
  background-color: var(--color-warning-100);
  color: var(--color-warning-800);
}

.badge-error {
  background-color: var(--color-error-100);
  color: var(--color-error-800);
}

/* 分隔线 */

.divider {
  height: 1px;
  background-color: var(--color-border);
  margin: var(--space-4) 0;
}

.divider-vertical {
  width: 1px;
  height: 100%;
  background-color: var(--color-border);
  margin: 0 var(--space-4);
}

/* ===== 打印样式 ===== */

@media print {
  .chat-container {
    max-width: none;
    padding: 0;
  }
  
  .input-container {
    display: none;
  }
  
  .messages-container {
    overflow: visible;
  }
  
  .message-card {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  
  .loading-container,
  .spinner,
  .pulse-loader,
  .dots-loader,
  .wave-loader {
    display: none;
  }
}

/* ===== 高对比度模式 ===== */

@media (prefers-contrast: high) {
  :root {
    --color-border: #000000;
    --color-text-primary: #000000;
    --color-text-secondary: #333333;
    --color-background: #ffffff;
    --color-background-secondary: #f5f5f5;
  }
  
  .message-card {
    border-width: 2px;
  }
  
  .btn {
    border-width: 2px;
  }
  
  .input-field {
    border-width: 2px;
  }
}

/* ===== 深色模式偏好 ===== */

@media (prefers-color-scheme: dark) {
  :root {
    --color-background: var(--color-gray-900);
    --color-background-secondary: var(--color-gray-800);
    --color-text-primary: var(--color-gray-100);
    --color-text-secondary: var(--color-gray-300);
    --color-text-tertiary: var(--color-gray-400);
    --color-border: var(--color-gray-700);
    --color-border-hover: var(--color-gray-600);
  }
}

/* ===== 浅色模式强制覆盖 ===== */

.theme-light {
  --color-background: var(--color-white);
  --color-background-secondary: var(--color-gray-50);
  --color-text-primary: var(--color-gray-900);
  --color-text-secondary: var(--color-gray-600);
  --color-text-tertiary: var(--color-gray-500);
  --color-border: var(--color-gray-200);
  --color-border-hover: var(--color-gray-300);
}

/* ===== 深色模式强制覆盖 ===== */

.theme-dark {
  --color-background: var(--color-gray-900);
  --color-background-secondary: var(--color-gray-800);
  --color-text-primary: var(--color-gray-100);
  --color-text-secondary: var(--color-gray-300);
  --color-text-tertiary: var(--color-gray-400);
  --color-border: var(--color-gray-700);
  --color-border-hover: var(--color-gray-600);
}pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1em
}
code.hljs {
  padding: 3px 5px
}
/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/
.hljs {
  color: #24292e;
  background: #ffffff
}
.hljs-doctag,
.hljs-keyword,
.hljs-meta .hljs-keyword,
.hljs-template-tag,
.hljs-template-variable,
.hljs-type,
.hljs-variable.language_ {
  /* prettylights-syntax-keyword */
  color: #d73a49
}
.hljs-title,
.hljs-title.class_,
.hljs-title.class_.inherited__,
.hljs-title.function_ {
  /* prettylights-syntax-entity */
  color: #6f42c1
}
.hljs-attr,
.hljs-attribute,
.hljs-literal,
.hljs-meta,
.hljs-number,
.hljs-operator,
.hljs-variable,
.hljs-selector-attr,
.hljs-selector-class,
.hljs-selector-id {
  /* prettylights-syntax-constant */
  color: #005cc5
}
.hljs-regexp,
.hljs-string,
.hljs-meta .hljs-string {
  /* prettylights-syntax-string */
  color: #032f62
}
.hljs-built_in,
.hljs-symbol {
  /* prettylights-syntax-variable */
  color: #e36209
}
.hljs-comment,
.hljs-code,
.hljs-formula {
  /* prettylights-syntax-comment */
  color: #6a737d
}
.hljs-name,
.hljs-quote,
.hljs-selector-tag,
.hljs-selector-pseudo {
  /* prettylights-syntax-entity-tag */
  color: #22863a
}
.hljs-subst {
  /* prettylights-syntax-storage-modifier-import */
  color: #24292e
}
.hljs-section {
  /* prettylights-syntax-markup-heading */
  color: #005cc5;
  font-weight: bold
}
.hljs-bullet {
  /* prettylights-syntax-markup-list */
  color: #735c0f
}
.hljs-emphasis {
  /* prettylights-syntax-markup-italic */
  color: #24292e;
  font-style: italic
}
.hljs-strong {
  /* prettylights-syntax-markup-bold */
  color: #24292e;
  font-weight: bold
}
.hljs-addition {
  /* prettylights-syntax-markup-inserted */
  color: #22863a;
  background-color: #f0fff4
}
.hljs-deletion {
  /* prettylights-syntax-markup-deleted */
  color: #b31d28;
  background-color: #ffeef0
}
.hljs-char.escape_,
.hljs-link,
.hljs-params,
.hljs-property,
.hljs-punctuation,
.hljs-tag {
  /* purposely ignored */
  
}/* AI助手问答页面样式变量 */
:root {
  /* 颜色系统 */
  --bg-color: #ffffff;
  --text-primary: #1f2937;
  --text-secondary: #6b7280;
  --border-color: #e5e7eb;
  --primary-color: #3b82f6;
  --primary-hover: #2563eb;
  --primary-light: #eff6ff;
  --hover-color: #f9fafb;
  --danger-color: #ef4444;
  --success-color: #10b981;
  --warning-color: #f59e0b;
  --code-bg: #f8fafc;
  
  /* 卡片和背景 */
  --card-bg: #ffffff;
  --card-bg-hover: #f9fafb;
  --primary-bg: #ffffff;
  
  /* 边框和分割线 */
  --border-color-strong: #d1d5db;
  
  /* 滚动条 */
  --scrollbar-track: transparent;
  --scrollbar-thumb: #d1d5db;
  --scrollbar-thumb-hover: #9ca3af;
  
  /* 间距系统 */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  
  /* 字体大小 */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  
  /* 颜色变体 */
  --gray-25: #fafafa;
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;
  
  --primary-50: #eff6ff;
  --primary-100: #dbeafe;
  --primary-200: #bfdbfe;
  --primary-300: #93c5fd;
  --primary-400: #60a5fa;
  --primary-500: #3b82f6;
  --primary-600: #2563eb;
  --primary-700: #1d4ed8;
  --primary-800: #1e40af;
  --primary-900: #1e3a8a;
  
  /* 阴影 */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
}

/* 深色主题 */
[data-theme="dark"] {
  --bg-color: #111827;
  --text-primary: #f9fafb;
  --text-secondary: #9ca3af;
  --border-color: #374151;
  --primary-color: #3b82f6;
  --primary-hover: #2563eb;
  --primary-light: #1e3a8a;
  --hover-color: #1f2937;
  --danger-color: #ef4444;
  --success-color: #10b981;
  --warning-color: #f59e0b;
  --code-bg: #1f2937;
  
  --card-bg: #1f2937;
  --card-bg-hover: #374151;
  --primary-bg: #111827;
  
  --border-color-strong: #4b5563;
  
  --scrollbar-track: transparent;
  --scrollbar-thumb: #4b5563;
  --scrollbar-thumb-hover: #6b7280;
  
  --gray-25: #1f2937;
  --gray-50: #374151;
  --gray-100: #4b5563;
  --gray-200: #6b7280;
  --gray-300: #9ca3af;
  --gray-400: #d1d5db;
  --gray-500: #e5e7eb;
  --gray-600: #f3f4f6;
  --gray-700: #f9fafb;
  --gray-800: #ffffff;
  --gray-900: #ffffff;
  
  --primary-50: #1e3a8a;
  --primary-100: #1d4ed8;
  --primary-200: #2563eb;
  --primary-300: #3b82f6;
  --primary-400: #60a5fa;
  --primary-500: #3b82f6;
  --primary-600: #2563eb;
  --primary-700: #1d4ed8;
  --primary-800: #1e40af;
  --primary-900: #1e3a8a;
}

/* 字体大小主题 */
[data-font-size="small"] {
  --font-size-xs: 0.6875rem;
  --font-size-sm: 0.8125rem;
  --font-size-base: 0.9375rem;
  --font-size-lg: 1.0625rem;
  --font-size-xl: 1.1875rem;
}

[data-font-size="large"] {
  --font-size-xs: 0.8125rem;
  --font-size-sm: 0.9375rem;
  --font-size-base: 1.0625rem;
  --font-size-lg: 1.1875rem;
  --font-size-xl: 1.3125rem;
}

/* 全局样式重置 */
.chat-container * {
  box-sizing: border-box;
}

/* 代码块样式 */
.chat-container pre {
  background: var(--code-bg);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: var(--space-4);
  overflow-x: auto;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: var(--font-size-sm);
  line-height: 1.5;
}

.chat-container code {
  background: var(--code-bg);
  padding: 2px 4px;
  border-radius: 3px;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: 0.9em;
}

.chat-container pre code {
  background: transparent;
  padding: 0;
}

/* 表格样式 */
.chat-container table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-4) 0;
}

.chat-container th,
.chat-container td {
  border: 1px solid var(--border-color);
  padding: var(--space-2) var(--space-3);
  text-align: left;
}

.chat-container th {
  background: var(--gray-50);
  font-weight: 600;
}

/* 引用样式 */
.chat-container blockquote {
  border-left: 4px solid var(--primary-color);
  margin: var(--space-4) 0;
  padding: var(--space-3) var(--space-4);
  background: var(--gray-25);
  font-style: italic;
}

/* 链接样式 */
.chat-container a {
  color: var(--primary-color);
  text-decoration: none;
}

.chat-container a:hover {
  text-decoration: underline;
}

/* 列表样式 */
.chat-container ul,
.chat-container ol {
  padding-left: var(--space-6);
  margin: var(--space-3) 0;
}

.chat-container li {
  margin: var(--space-1) 0;
}

/* 标题样式 */
.chat-container h1,
.chat-container h2,
.chat-container h3,
.chat-container h4,
.chat-container h5,
.chat-container h6 {
  margin: var(--space-4) 0 var(--space-2) 0;
  font-weight: 600;
  line-height: 1.3;
}

.chat-container h1 { font-size: 1.5em; }
.chat-container h2 { font-size: 1.3em; }
.chat-container h3 { font-size: 1.2em; }
.chat-container h4 { font-size: 1.1em; }
.chat-container h5 { font-size: 1em; }
.chat-container h6 { font-size: 0.9em; }

/* 段落样式 */
.chat-container p {
  margin: var(--space-3) 0;
  line-height: 1.6;
}

/* 强调样式 */
.chat-container strong {
  font-weight: 600;
}

.chat-container em {
  font-style: italic;
}

/* 删除线 */
.chat-container del {
  text-decoration: line-through;
  opacity: 0.7;
}

/* 图片样式 */
.chat-container img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  margin: var(--space-2) 0;
}

/* 水平分割线 */
.chat-container hr {
  border: none;
  border-top: 1px solid var(--border-color);
  margin: var(--space-6) 0;
}

/* 滚动条全局样式 */
.chat-container ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

.chat-container ::-webkit-scrollbar-track {
  background: var(--scrollbar-track);
}

.chat-container ::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 3px;
}

.chat-container ::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
}

/* Firefox 滚动条 */
.chat-container * {
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}

/* 动画定义 */
@keyframes messageSlideIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes loadingDots {
  0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 过渡动画类 */
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s ease;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

.thinking-enter-active,
.thinking-leave-active {
  transition: all 0.3s ease;
}

.thinking-enter-from,
.thinking-leave-to {
  opacity: 0;
  transform: translateY(-10px);
}

/* 响应式断点 */
@media (max-width: 1024px) {
  :root {
    --space-6: 1.25rem;
    --space-8: 1.75rem;
  }
}

@media (max-width: 768px) {
  :root {
    --space-4: 0.875rem;
    --space-6: 1rem;
    --space-8: 1.5rem;
    --font-size-base: 0.9375rem;
  }
}

@media (max-width: 480px) {
  :root {
    --space-3: 0.625rem;
    --space-4: 0.75rem;
    --space-6: 0.875rem;
    --font-size-sm: 0.8125rem;
    --font-size-base: 0.875rem;
  }
}
.test-page[data-v-6698ebaf] {
  padding: 20px;
  text-align: center;
}

.dynamic-bubbles-container[data-v-08beae8a] {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 400px;
  overflow: hidden;
  background: transparent;
  pointer-events: none;
  /* 添加轻微的背景动画 */
  background: 
    radial-gradient(circle at 20% 80%, rgba(120, 119, 198, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(255, 119, 198, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 40%, rgba(120, 219, 255, 0.1) 0%, transparent 50%);
  animation: background-shift-08beae8a 20s ease-in-out infinite;
}
.dynamic-bubbles-container.paused .bubble[data-v-08beae8a] {
  animation-play-state: paused;
}
.bubble[data-v-08beae8a] {
  pointer-events: auto;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform, opacity, filter;
  /* 添加轻微的发光效果 */
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.3));
}
.bubble[data-v-08beae8a]:hover {
  transform: scale(1.15) !important;
  filter: 
    brightness(1.3) 
    drop-shadow(0 0 15px rgba(255, 255, 255, 0.6))
    drop-shadow(0 0 25px currentColor);
  z-index: 1000 !important;
}
.bubble-inner[data-v-08beae8a] {
  transition: all 0.3s ease;
  will-change: transform;
}
.bubble-floating[data-v-08beae8a] {
  animation: bubble-float-08beae8a 4s ease-in-out infinite;
}
.bubble-spawning[data-v-08beae8a] {
  animation: spawn-bubble-08beae8a 0.8s ease-out;
}
.bubble-disappearing[data-v-08beae8a] {
  animation: disappear-bubble-08beae8a 0.6s ease-in forwards;
}
.bubble-rising[data-v-08beae8a] {
  animation: bubble-sway-08beae8a 3s ease-in-out infinite;
}
.bubble-controls[data-v-08beae8a] {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  gap: 10px;
  z-index: 1000;
  pointer-events: auto;
}
.control-btn[data-v-08beae8a] {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.control-btn[data-v-08beae8a]:hover {
  background: rgba(255, 255, 255, 1);
  transform: scale(1.1);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.control-btn[data-v-08beae8a]:active {
  transform: scale(0.95);
}

/* 动画定义 */
@keyframes float-subtle-08beae8a {
0%, 100% {
    transform: translateY(0) rotate(0deg) scale(1);
}
25% {
    transform: translateY(-3px) rotate(0.5deg) scale(1.02);
}
50% {
    transform: translateY(0) rotate(0deg) scale(1);
}
75% {
    transform: translateY(-2px) rotate(-0.5deg) scale(0.98);
}
}
@keyframes background-shift-08beae8a {
0%, 100% {
    background-position: 0% 0%, 100% 100%, 50% 50%;
}
33% {
    background-position: 30% 70%, 70% 30%, 80% 20%;
}
66% {
    background-position: 70% 30%, 30% 70%, 20% 80%;
}
}
@keyframes spawn-in-08beae8a {
0% {
    transform: scale(0) rotate(0deg) translateY(20px);
    opacity: 0;
    filter: blur(5px);
}
30% {
    transform: scale(0.6) rotate(90deg) translateY(10px);
    opacity: 0.3;
    filter: blur(3px);
}
70% {
    transform: scale(1.1) rotate(270deg) translateY(-5px);
    opacity: 0.8;
    filter: blur(1px);
}
100% {
    transform: scale(1) rotate(360deg) translateY(0);
    opacity: 1;
    filter: blur(0px);
}
}
@keyframes bubble-rise-08beae8a {
0% {
    transform: translateY(0) translateX(0) scale(0.3) rotate(0deg);
    opacity: 0;
    filter: blur(3px);
}
5% {
    transform: translateY(-20px) translateX(5px) scale(0.6) rotate(45deg);
    opacity: 0.6;
    filter: blur(2px);
}
15% {
    transform: translateY(-60px) translateX(-10px) scale(0.9) rotate(120deg);
    opacity: 0.9;
    filter: blur(1px);
}
85% {
    opacity: 0.9;
    filter: blur(0px);
}
95% {
    transform: scale(1.2) rotate(340deg);
    opacity: 0.3;
    filter: blur(2px);
}
100% {
    transform: scale(1.5) rotate(360deg);
    opacity: 0;
    filter: blur(4px);
}
}
@keyframes bubble-sway-08beae8a {
0%, 100% {
    transform: translateX(0);
}
25% {
    transform: translateX(15px);
}
75% {
    transform: translateX(-15px);
}
}
@keyframes bubble-float-08beae8a {
0%, 100% {
    transform: translateY(0) scale(1);
}
50% {
    transform: translateY(-5px) scale(1.05);
}
}
@keyframes spawn-bubble-08beae8a {
0% {
    transform: scale(0) rotate(0deg) translateY(10px);
    opacity: 0;
    filter: blur(4px) brightness(0.5);
}
20% {
    transform: scale(0.4) rotate(60deg) translateY(5px);
    opacity: 0.4;
    filter: blur(2px) brightness(0.8);
}
50% {
    transform: scale(0.8) rotate(180deg) translateY(0);
    opacity: 0.8;
    filter: blur(1px) brightness(1);
}
100% {
    transform: scale(1) rotate(360deg) translateY(0);
    opacity: 1;
    filter: blur(0px) brightness(1.1);
}
}
@keyframes disappear-bubble-08beae8a {
0% {
    opacity: 1;
    transform: scale(1) translateY(0) rotate(0deg);
    filter: blur(0px) brightness(1);
}
20% {
    opacity: 0.9;
    transform: scale(1.05) translateY(-5px) rotate(30deg);
    filter: blur(0.5px) brightness(1.1);
}
60% {
    opacity: 0.5;
    transform: scale(1.2) translateY(-15px) rotate(120deg);
    filter: blur(2px) brightness(1.3);
}
100% {
    opacity: 0;
    transform: scale(1.4) translateY(-25px) rotate(180deg);
    filter: blur(4px) brightness(1.5);
}
}

/* 响应式设计 */
@media (max-width: 768px) {
.bubble-controls[data-v-08beae8a] {
    top: 10px;
    right: 10px;
}
.control-btn[data-v-08beae8a] {
    width: 35px;
    height: 35px;
    font-size: 14px;
}
}
@media (max-width: 480px) {
.bubble-controls[data-v-08beae8a] {
    gap: 5px;
}
.control-btn[data-v-08beae8a] {
    width: 30px;
    height: 30px;
    font-size: 12px;
}
}

/* 性能优化 */
.bubble[data-v-08beae8a],
.bubble-inner[data-v-08beae8a] {
  transform-style: preserve-3d;
  backface-visibility: hidden;
}

/* 无障碍支持 */
@media (prefers-reduced-motion: reduce) {
.bubble[data-v-08beae8a],
  .bubble-inner[data-v-08beae8a],
  .control-btn[data-v-08beae8a] {
    animation: none !important;
    transition: none !important;
}
.dynamic-bubbles-container[data-v-08beae8a] {
    animation: none !important;
}
}

.bubble-demo-page[data-v-c5ec04b3] {
  min-height: 100vh;
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
  padding: 20px;
  font-family: 'Arial', sans-serif;
}
.demo-header[data-v-c5ec04b3] {
  text-align: center;
  margin-bottom: 30px;
}
.demo-title[data-v-c5ec04b3] {
  font-size: 2.5rem;
  color: #2c3e50;
  margin-bottom: 10px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}
.demo-description[data-v-c5ec04b3] {
  font-size: 1.1rem;
  color: #7f8c8d;
  margin: 0;
}
.control-panel[data-v-c5ec04b3] {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border-radius: 15px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 15px;
  align-items: center;
}
.control-group[data-v-c5ec04b3] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.control-group label[data-v-c5ec04b3] {
  font-weight: 600;
  color: #2c3e50;
  font-size: 0.9rem;
}
.slider[data-v-c5ec04b3] {
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: #ddd;
  outline: none;
  transition: all 0.3s ease;
}
.slider[data-v-c5ec04b3]::-webkit-slider-thumb {
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #667eea;
  cursor: pointer;
  transition: all 0.3s ease;
}
.slider[data-v-c5ec04b3]::-webkit-slider-thumb:hover {
  background: #5a6fd8;
  transform: scale(1.2);
}
.theme-select[data-v-c5ec04b3] {
  padding: 8px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  background: white;
  font-size: 0.9rem;
  transition: all 0.3s ease;
}
.theme-select[data-v-c5ec04b3]:focus {
  border-color: #667eea;
  outline: none;
}
.control-buttons[data-v-c5ec04b3] {
  display: flex;
  gap: 10px;
  grid-column: 1 / -1;
  justify-content: center;
}
.control-button[data-v-c5ec04b3] {
  padding: 10px 20px;
  border: none;
  border-radius: 25px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}
.control-button[data-v-c5ec04b3]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}
.control-button[data-v-c5ec04b3]:active {
  transform: translateY(0);
}
.bubble-container[data-v-c5ec04b3] {
  position: relative;
  height: 500px;
  min-height: 400px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  margin-bottom: 20px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.background-decoration[data-v-c5ec04b3] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100px;
  pointer-events: none;
  z-index: 0;
}
.wave[data-v-c5ec04b3] {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 200%;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  animation: wave-animation-c5ec04b3 6s ease-in-out infinite;
}
.wave-1[data-v-c5ec04b3] {
  animation-delay: 0s;
  opacity: 0.3;
}
.wave-2[data-v-c5ec04b3] {
  animation-delay: 2s;
  opacity: 0.2;
}
.wave-3[data-v-c5ec04b3] {
  animation-delay: 4s;
  opacity: 0.1;
}
.info-panel[data-v-c5ec04b3] {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border-radius: 15px;
  padding: 20px;
  display: flex;
  justify-content: space-around;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.info-item[data-v-c5ec04b3] {
  text-align: center;
}
.info-label[data-v-c5ec04b3] {
  display: block;
  font-size: 0.9rem;
  color: #7f8c8d;
  margin-bottom: 5px;
}
.info-value[data-v-c5ec04b3] {
  display: block;
  font-size: 1.2rem;
  font-weight: 600;
  color: #2c3e50;
}

/* 点击特效 */
.click-effect {
  position: fixed;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.8) 0%, transparent 70%);
  pointer-events: none;
  z-index: 9999;
  animation: click-ripple-c5ec04b3 1s ease-out forwards;
  transform: translate(-50%, -50%);
}

/* 动画定义 */
@keyframes wave-animation-c5ec04b3 {
0%, 100% {
    transform: translateX(-50%) translateY(0) rotate(0deg);
}
50% {
    transform: translateX(-50%) translateY(-20px) rotate(180deg);
}
}
@keyframes click-ripple-c5ec04b3 {
0% {
    transform: translate(-50%, -50%) scale(0);
    opacity: 1;
}
100% {
    transform: translate(-50%, -50%) scale(4);
    opacity: 0;
}
}

/* 响应式设计 */
@media (max-width: 768px) {
.bubble-demo-page[data-v-c5ec04b3] {
    padding: 10px;
}
.demo-title[data-v-c5ec04b3] {
    font-size: 2rem;
}
.control-panel[data-v-c5ec04b3] {
    grid-template-columns: 1fr;
    padding: 15px;
}
.info-panel[data-v-c5ec04b3] {
    flex-direction: column;
    gap: 15px;
}
.bubble-container[data-v-c5ec04b3] {
    height: 400px;
}
}
@media (max-width: 480px) {
.demo-title[data-v-c5ec04b3] {
    font-size: 1.5rem;
}
.control-buttons[data-v-c5ec04b3] {
    flex-direction: column;
}
.bubble-container[data-v-c5ec04b3] {
    height: 300px;
}
}

.character-attributes-panel[data-v-ec923f67] {
  border-radius: 8px;
  margin-bottom: 1rem;
  overflow: hidden;
  transition: all 0.3s ease;
}
.character-attributes-panel.dark[data-v-ec923f67] {
  background-color: rgba(0, 0, 0, 0.3);
  color: #f0f0f0;
}
.character-attributes-panel.light[data-v-ec923f67] {
  background-color: rgba(255, 255, 255, 0.8);
  color: #333;
}
.character-attributes-panel.skyblue[data-v-ec923f67] {
  background-color: rgba(135, 206, 250, 0.2);
  color: #003366;
}
.panel-header[data-v-ec923f67] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.panel-header h3[data-v-ec923f67] {
  margin: 0;
  font-size: 1.1rem;
}
.toggle-button[data-v-ec923f67] {
  cursor: pointer;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.1);
}
.toggle-button[data-v-ec923f67]:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.attributes-content[data-v-ec923f67] {
  padding: 1rem;
}
.attribute-row[data-v-ec923f67] {
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
}
.attribute-label[data-v-ec923f67] {
  width: 60px;
  font-size: 0.9rem;
}
.attribute-bar[data-v-ec923f67] {
  flex: 1;
  height: 8px;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  overflow: hidden;
  margin: 0 10px;
}
.attribute-fill[data-v-ec923f67] {
  height: 100%;
  background-color: #4caf50;
  border-radius: 4px;
  transition: width 0.5s ease;
}
.attribute-bar.health .attribute-fill[data-v-ec923f67] {
  background-color: #f44336;
}
.attribute-bar.energy .attribute-fill[data-v-ec923f67] {
  background-color: #2196f3;
}
.attribute-value[data-v-ec923f67] {
  width: 30px;
  text-align: right;
  font-size: 0.9rem;
  font-weight: bold;
}
.attribute-changes[data-v-ec923f67] {
  padding: 0.8rem 1rem;
  background-color: rgba(0, 0, 0, 0.2);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.change-title[data-v-ec923f67] {
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
  opacity: 0.7;
}
.change-item[data-v-ec923f67] {
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 5px;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.8rem;
}
.change-item.positive[data-v-ec923f67] {
  background-color: rgba(76, 175, 80, 0.2);
  color: #4caf50;
}
.change-item.negative[data-v-ec923f67] {
  background-color: rgba(244, 67, 54, 0.2);
  color: #f44336;
}

.story-ending-panel[data-v-f68c5f0a] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.ending-overlay[data-v-f68c5f0a] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(3px);
}
.ending-container[data-v-f68c5f0a] {
  position: relative;
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
  background-color: #2a2a2a;
  border-radius: 12px;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
  color: #f0f0f0;
  display: flex;
  flex-direction: column;
  animation: fadeIn-f68c5f0a 0.3s ease-out;
}
.ending-container.good-ending[data-v-f68c5f0a] {
  background: linear-gradient(135deg, #2a2a2a, #1a472a);
  border: 2px solid #4caf50;
}
.ending-header[data-v-f68c5f0a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #444;
}
.ending-header h2[data-v-f68c5f0a] {
  margin: 0;
  font-size: 1.5rem;
  color: #f0c419;
}
.close-button[data-v-f68c5f0a] {
  background: none;
  border: none;
  color: #aaa;
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
}
.close-button[data-v-f68c5f0a]:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.ending-content[data-v-f68c5f0a] {
  padding: 1.5rem;
  flex: 1;
}
.ending-title[data-v-f68c5f0a] {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}
.ending-title h3[data-v-f68c5f0a] {
  margin: 0;
  font-size: 1.3rem;
  margin-right: 1rem;
}
.ending-badge[data-v-f68c5f0a] {
  padding: 0.3rem 0.8rem;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: bold;
}
.good-badge[data-v-f68c5f0a] {
  background-color: rgba(76, 175, 80, 0.2);
  color: #4caf50;
  border: 1px solid #4caf50;
}
.bad-badge[data-v-f68c5f0a] {
  background-color: rgba(244, 67, 54, 0.2);
  color: #f44336;
  border: 1px solid #f44336;
}
.ending-description[data-v-f68c5f0a] {
  line-height: 1.6;
  margin-bottom: 2rem;
  white-space: pre-line;
}
.ending-stats[data-v-f68c5f0a] {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 1rem;
  margin-top: 1rem;
}
.ending-stats h4[data-v-f68c5f0a] {
  margin-top: 0;
  margin-bottom: 1rem;
  color: #f0c419;
  font-size: 1rem;
}
.attributes-grid[data-v-f68c5f0a] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.attribute-item[data-v-f68c5f0a] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.attribute-label[data-v-f68c5f0a] {
  font-size: 0.9rem;
  color: #aaa;
  margin-bottom: 0.3rem;
}
.attribute-value[data-v-f68c5f0a] {
  font-size: 1.2rem;
  font-weight: bold;
}
.ending-actions[data-v-f68c5f0a] {
  display: flex;
  padding: 1rem 1.5rem;
  border-top: 1px solid #444;
  gap: 1rem;
}
.action-button[data-v-f68c5f0a] {
  flex: 1;
  padding: 0.8rem;
  border: none;
  border-radius: 8px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}
.restart[data-v-f68c5f0a] {
  background-color: #f0c419;
  color: #333;
}
.share[data-v-f68c5f0a] {
  background-color: #2196f3;
  color: white;
}
.action-button[data-v-f68c5f0a]:hover {
  opacity: 0.9;
}
@keyframes fadeIn-f68c5f0a {
from { opacity: 0; transform: translateY(20px);
}
to { opacity: 1; transform: translateY(0);
}
}

/* 响应式设计 */
@media (max-width: 600px) {
.attributes-grid[data-v-f68c5f0a] {
    grid-template-columns: repeat(2, 1fr);
}
.ending-actions[data-v-f68c5f0a] {
    flex-direction: column;
}
}

.adventure-login[data-v-d52dbcdf] {
  max-width: 500px;
  margin: 0 auto;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  animation: fadeIn-d52dbcdf 0.5s ease-out;
}
@keyframes fadeIn-d52dbcdf {
from { opacity: 0; transform: translateY(-20px);
}
to { opacity: 1; transform: translateY(0);
}
}
.adventure-login.dark[data-v-d52dbcdf] {
  background-color: rgba(18, 18, 18, 0.8);
  color: #f0f0f0;
}
.adventure-login.light[data-v-d52dbcdf] {
  background-color: rgba(248, 249, 250, 0.9);
  color: #333;
}
.adventure-login.skyblue[data-v-d52dbcdf] {
  background-color: rgba(225, 245, 254, 0.9);
  color: #01579b;
}
.login-header[data-v-d52dbcdf] {
  text-align: center;
  margin-bottom: 2rem;
}
.login-header h3[data-v-d52dbcdf] {
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
  background: linear-gradient(45deg, #4a90e2, #63b3ed);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 10px rgba(74, 144, 226, 0.2);
}
.login-form[data-v-d52dbcdf] {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.form-group[data-v-d52dbcdf] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.form-group label[data-v-d52dbcdf] {
  font-weight: 600;
  font-size: 1rem;
}
.input-with-icon[data-v-d52dbcdf] {
  position: relative;
  display: flex;
  align-items: center;
}
.input-with-icon i[data-v-d52dbcdf] {
  position: absolute;
  left: 12px;
  color: #666;
  font-size: 1.2rem;
}
.input-with-icon input[data-v-d52dbcdf] {
  padding-left: 40px;
  width: 100%;
  height: 48px;
  border-radius: 8px;
  border: 2px solid rgba(125, 125, 125, 0.3);
  background-color: rgba(255, 255, 255, 0.05);
  color: inherit;
  font-size: 1rem;
  transition: all 0.3s ease;
}
.adventure-login.dark input[data-v-d52dbcdf] {
  border-color: rgba(255, 255, 255, 0.1);
  background-color: rgba(30, 30, 30, 0.6);
  color: #f0f0f0;
}
.adventure-login.light input[data-v-d52dbcdf] {
  border-color: rgba(0, 0, 0, 0.1);
  background-color: rgba(255, 255, 255, 0.8);
  color: #333;
}
.adventure-login.skyblue input[data-v-d52dbcdf] {
  border-color: rgba(1, 87, 155, 0.2);
  background-color: rgba(255, 255, 255, 0.8);
  color: #01579b;
}
input[data-v-d52dbcdf]:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.3);
}
.error-message[data-v-d52dbcdf] {
  color: #e53e3e;
  font-size: 0.85rem;
}
.form-actions[data-v-d52dbcdf] {
  margin-top: 1rem;
}
.submit-button[data-v-d52dbcdf] {
  width: 100%;
  height: 48px;
  border: none;
  border-radius: 8px;
  background: linear-gradient(45deg, #4a90e2, #63b3ed);
  color: white;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.submit-button[data-v-d52dbcdf]:hover {
  background: linear-gradient(45deg, #3a80d2, #53a3dd);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(74, 144, 226, 0.3);
}
.submit-button[data-v-d52dbcdf]:disabled {
  background: #cccccc;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.form-footer[data-v-d52dbcdf] {
  text-align: center;
  margin-top: 1.5rem;
  font-size: 0.9rem;
}
.form-footer a[data-v-d52dbcdf] {
  color: #4a90e2;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}
.form-footer a[data-v-d52dbcdf]:hover {
  text-decoration: underline;
  color: #3a80d2;
}

.adventure-register[data-v-d26dce60] {
  max-width: 500px;
  margin: 0 auto;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  animation: fadeIn-d26dce60 0.5s ease-out;
}
@keyframes fadeIn-d26dce60 {
from { opacity: 0; transform: translateY(-20px);
}
to { opacity: 1; transform: translateY(0);
}
}
.adventure-register.dark[data-v-d26dce60] {
  background-color: rgba(18, 18, 18, 0.8);
  color: #f0f0f0;
}
.adventure-register.light[data-v-d26dce60] {
  background-color: rgba(248, 249, 250, 0.9);
  color: #333;
}
.adventure-register.skyblue[data-v-d26dce60] {
  background-color: rgba(225, 245, 254, 0.9);
  color: #01579b;
}
.register-header[data-v-d26dce60] {
  text-align: center;
  margin-bottom: 2rem;
}
.register-header h3[data-v-d26dce60] {
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
  background: linear-gradient(45deg, #f0c419, #ff9800);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 10px rgba(240, 196, 25, 0.2);
}
.register-form[data-v-d26dce60] {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.form-group[data-v-d26dce60] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.form-group label[data-v-d26dce60] {
  font-weight: 600;
  font-size: 1rem;
}
.input-with-icon[data-v-d26dce60] {
  position: relative;
  display: flex;
  align-items: center;
}
.input-with-icon i[data-v-d26dce60] {
  position: absolute;
  left: 12px;
  color: #666;
  font-size: 1.2rem;
}
.input-with-icon input[data-v-d26dce60] {
  padding-left: 40px;
  width: 100%;
  height: 48px;
  border-radius: 8px;
  border: 2px solid rgba(125, 125, 125, 0.3);
  background-color: rgba(255, 255, 255, 0.05);
  color: inherit;
  font-size: 1rem;
  transition: all 0.3s ease;
}
.adventure-register.dark input[data-v-d26dce60] {
  border-color: rgba(255, 255, 255, 0.1);
  background-color: rgba(30, 30, 30, 0.6);
  color: #f0f0f0;
}
.adventure-register.light input[data-v-d26dce60] {
  border-color: rgba(0, 0, 0, 0.1);
  background-color: rgba(255, 255, 255, 0.8);
  color: #333;
}
.adventure-register.skyblue input[data-v-d26dce60] {
  border-color: rgba(1, 87, 155, 0.2);
  background-color: rgba(255, 255, 255, 0.8);
  color: #01579b;
}
input[data-v-d26dce60]:focus {
  outline: none;
  border-color: #f0c419;
  box-shadow: 0 0 0 2px rgba(240, 196, 25, 0.3);
}
.gender-options[data-v-d26dce60] {
  display: flex;
  gap: 1rem;
  margin-top: 0.5rem;
}
.gender-option[data-v-d26dce60] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  transition: all 0.3s ease;
  background-color: rgba(255, 255, 255, 0.05);
}
.adventure-register.dark .gender-option[data-v-d26dce60] {
  background-color: rgba(30, 30, 30, 0.6);
}
.adventure-register.light .gender-option[data-v-d26dce60] {
  background-color: rgba(255, 255, 255, 0.8);
}
.adventure-register.skyblue .gender-option[data-v-d26dce60] {
  background-color: rgba(255, 255, 255, 0.8);
}
.gender-option[data-v-d26dce60]:hover {
  background-color: rgba(240, 196, 25, 0.1);
}
.gender-option input[data-v-d26dce60] {
  margin: 0;
}
.gender-option span[data-v-d26dce60] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.error-message[data-v-d26dce60] {
  color: #e53e3e;
  font-size: 0.85rem;
}
.form-actions[data-v-d26dce60] {
  margin-top: 1rem;
}
.submit-button[data-v-d26dce60] {
  width: 100%;
  height: 48px;
  border: none;
  border-radius: 8px;
  background: linear-gradient(45deg, #f0c419, #ff9800);
  color: white;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.submit-button[data-v-d26dce60]:hover {
  background: linear-gradient(45deg, #e0b409, #ef8800);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(240, 196, 25, 0.3);
}
.submit-button[data-v-d26dce60]:disabled {
  background: #cccccc;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.form-footer[data-v-d26dce60] {
  text-align: center;
  margin-top: 1.5rem;
  font-size: 0.9rem;
}
.form-footer a[data-v-d26dce60] {
  color: #f0c419;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}
.form-footer a[data-v-d26dce60]:hover {
  text-decoration: underline;
  color: #ff9800;
}

/* 面板基础样式 */
.achievements-panel[data-v-01607d33] {
  border-radius: 12px;
  margin-bottom: 1rem;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  max-height: 80vh;
  display: flex;
  flex-direction: column;
}

/* 主题样式 */
.achievements-panel.dark[data-v-01607d33] {
  background-color: rgba(30, 30, 30, 0.85);
  color: #f0f0f0;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.achievements-panel.light[data-v-01607d33] {
  background-color: rgba(255, 255, 255, 0.9);
  color: #333;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.achievements-panel.skyblue[data-v-01607d33] {
  background-color: rgba(135, 206, 250, 0.2);
  color: #003366;
  border: 1px solid rgba(135, 206, 250, 0.3);
}

/* 面板头部 */
.panel-header[data-v-01607d33] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background-color: rgba(0, 0, 0, 0.1);
}
.panel-header h3[data-v-01607d33] {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.toggle-button[data-v-01607d33] {
  cursor: pointer;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.1);
  transition: all 0.2s ease;
}
.toggle-button[data-v-01607d33]:hover {
  background-color: rgba(255, 255, 255, 0.2);
  transform: rotate(90deg);
}

/* 面板内容区 */
.panel-content[data-v-01607d33] {
  padding: 1.2rem;
  overflow-y: auto;
  flex: 1;
}

/* 标签页按钮 */
.tab-buttons[data-v-01607d33] {
  display: flex;
  margin-bottom: 1.2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.tab-buttons button[data-v-01607d33] {
  background: none;
  border: none;
  padding: 0.6rem 1.2rem;
  cursor: pointer;
  color: inherit;
  opacity: 0.7;
  position: relative;
  transition: all 0.3s ease;
  font-weight: 500;
  letter-spacing: 0.5px;
}
.tab-buttons button[data-v-01607d33]:hover {
  opacity: 0.9;
}
.tab-buttons button.active[data-v-01607d33] {
  opacity: 1;
}
.tab-buttons button.active[data-v-01607d33]::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #f0c419;
  animation: slideIn-01607d33 0.3s ease;
}
@keyframes slideIn-01607d33 {
from { transform: scaleX(0);
}
to { transform: scaleX(1);
}
}

/* 空状态提示 */
.empty-state[data-v-01607d33] {
  text-align: center;
  padding: 3rem 0;
  opacity: 0.6;
  transition: all 0.3s ease;
}
.empty-state i[data-v-01607d33] {
  font-size: 3rem;
  margin-bottom: 1rem;
  animation: pulse-01607d33 2s infinite;
}
@keyframes pulse-01607d33 {
0% { transform: scale(1); opacity: 0.7;
}
50% { transform: scale(1.05); opacity: 1;
}
100% { transform: scale(1); opacity: 0.7;
}
}
.empty-state p[data-v-01607d33] {
  font-size: 1.1rem;
  margin-top: 0.5rem;
}

/* 成就和结局项目 */
.achievement-item[data-v-01607d33], .ending-item[data-v-01607d33] {
  display: flex;
  align-items: center;
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.05);
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.05);
}
.achievement-item[data-v-01607d33]:hover, .ending-item[data-v-01607d33]:hover {
  background-color: rgba(255, 255, 255, 0.1);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* 成就和结局图标 */
.achievement-icon[data-v-01607d33], .ending-icon[data-v-01607d33] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: rgba(240, 196, 25, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
  font-size: 1.4rem;
  color: #f0c419;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.achievement-item:hover .achievement-icon[data-v-01607d33] {
  transform: rotate(15deg);
}
.ending-icon[data-v-01607d33] {
  background-color: rgba(33, 150, 243, 0.2);
  color: #2196f3;
}
.ending-item.good .ending-icon[data-v-01607d33] {
  background-color: rgba(76, 175, 80, 0.2);
  color: #4caf50;
}
.ending-item:hover .ending-icon[data-v-01607d33] {
  transform: scale(1.1);
}

/* 成就和结局信息 */
.achievement-info[data-v-01607d33], .ending-info[data-v-01607d33] {
  flex: 1;
}
.achievement-title[data-v-01607d33], .ending-title[data-v-01607d33] {
  font-weight: bold;
  margin-bottom: 0.4rem;
  font-size: 1.1rem;
}
.achievement-description[data-v-01607d33], .ending-description[data-v-01607d33] {
  font-size: 0.95rem;
  opacity: 0.85;
  margin-bottom: 0.4rem;
  line-height: 1.4;
}
.achievement-date[data-v-01607d33], .ending-date[data-v-01607d33] {
  font-size: 0.85rem;
  opacity: 0.7;
  font-style: italic;
}

/* 难度和结局类型标签 */
.achievement-difficulty[data-v-01607d33], .ending-type[data-v-01607d33] {
  padding: 0.4rem 0.8rem;
  border-radius: 20px;
  font-size: 0.85rem;
  background-color: rgba(255, 255, 255, 0.1);
  font-weight: 500;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.achievement-difficulty.easy[data-v-01607d33] {
  background-color: rgba(76, 175, 80, 0.2);
  color: #4caf50;
  border: 1px solid rgba(76, 175, 80, 0.3);
}
.achievement-difficulty.medium[data-v-01607d33] {
  background-color: rgba(33, 150, 243, 0.2);
  color: #2196f3;
  border: 1px solid rgba(33, 150, 243, 0.3);
}
.achievement-difficulty.hard[data-v-01607d33] {
  background-color: rgba(244, 67, 54, 0.2);
  color: #f44336;
  border: 1px solid rgba(244, 67, 54, 0.3);
}
.achievement-difficulty.legendary[data-v-01607d33] {
  background-color: rgba(156, 39, 176, 0.2);
  color: #9c27b0;
  border: 1px solid rgba(156, 39, 176, 0.3);
}
.ending-type[data-v-01607d33] {
  background-color: rgba(158, 158, 158, 0.2);
  color: #9e9e9e;
  border: 1px solid rgba(158, 158, 158, 0.3);
}
.ending-type.good[data-v-01607d33] {
  background-color: rgba(76, 175, 80, 0.2);
  color: #4caf50;
  border: 1px solid rgba(76, 175, 80, 0.3);
}

/* 新成就通知 */
.new-achievement-notification[data-v-01607d33] {
  margin-top: 1.2rem;
  padding: 1.2rem;
  border-radius: 10px;
  background-color: rgba(240, 196, 25, 0.15);
  border: 1px solid rgba(240, 196, 25, 0.3);
  box-shadow: 0 4px 12px rgba(240, 196, 25, 0.2);
  animation: glow-01607d33 2s infinite alternate;
}
@keyframes glow-01607d33 {
from { box-shadow: 0 0 5px rgba(240, 196, 25, 0.2);
}
to { box-shadow: 0 0 15px rgba(240, 196, 25, 0.4);
}
}
.notification-header[data-v-01607d33] {
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
  color: #f0c419;
  font-weight: bold;
  font-size: 1.1rem;
}
.notification-header i[data-v-01607d33] {
  margin-right: 0.8rem;
  animation: bounce-01607d33 1s infinite alternate;
}
@keyframes bounce-01607d33 {
from { transform: translateY(0);
}
to { transform: translateY(-5px);
}
}
.notification-content[data-v-01607d33] {
  margin-bottom: 1rem;
}
.notification-actions[data-v-01607d33] {
  display: flex;
  justify-content: flex-end;
}
.view-button[data-v-01607d33] {
  background-color: rgba(240, 196, 25, 0.2);
  border: 1px solid rgba(240, 196, 25, 0.4);
  color: #f0c419;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.view-button[data-v-01607d33]:hover {
  background-color: rgba(240, 196, 25, 0.3);
  transform: translateY(-2px);
}
.view-button i[data-v-01607d33] {
  font-size: 0.9rem;
}

/* 过渡动画 */
.fade-enter-active[data-v-01607d33], .fade-leave-active[data-v-01607d33] {
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.fade-enter-from[data-v-01607d33], .fade-leave-to[data-v-01607d33] {
  opacity: 0;
  transform: translateY(10px);
}

.adventure-game-container[data-v-c01e0e87] {
  display: flex;
  flex-direction: column;
  height: 100vh;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.5rem;
  font-family: 'Microsoft YaHei', sans-serif;
  transition: all 0.4s ease;
  background-size: cover;
  background-position: center;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

/* 主题样式 */
.adventure-game-container.dark[data-v-c01e0e87] {
  background-color: #121212;
  color: #f0f0f0;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(20, 20, 30, 0.9));
  box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.5);
}
.adventure-game-container.light[data-v-c01e0e87] {
  background-color: #f8f9fa;
  color: #333;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(240, 240, 250, 0.95));
  box-shadow: inset 0 0 100px rgba(255, 255, 255, 0.5);
}
.adventure-game-container.skyblue[data-v-c01e0e87] {
  background-color: #e1f5fe;
  color: #01579b;
  background-image: linear-gradient(to bottom, rgba(225, 245, 254, 0.9), rgba(179, 229, 252, 0.95));
  box-shadow: inset 0 0 100px rgba(179, 229, 252, 0.5);
}
.adventure-header[data-v-c01e0e87] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1.2rem;
  border-bottom: 2px solid rgba(240, 196, 25, 0.3);
  margin-bottom: 1.5rem;
  position: relative;
}
.adventure-header h2[data-v-c01e0e87] {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  background: linear-gradient(45deg, #f0c419, #ff9800);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 10px rgba(240, 196, 25, 0.2);
}
.adventure-info[data-v-c01e0e87] {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.story-selector[data-v-c01e0e87] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.story-selector select[data-v-c01e0e87] {
  padding: 0.3rem 0.5rem;
  border-radius: 4px;
  background-color: #333;
  color: #fff;
  border: 1px solid #555;
}
.model-status[data-v-c01e0e87] {
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  background-color: #ff4d4d;
  color: white;
  font-size: 0.8rem;
}
.model-status.connected[data-v-c01e0e87] {
  background-color: #4caf50;
}
.theme-switcher[data-v-c01e0e87] {
  display: flex;
  gap: 0.8rem;
}
.theme-switcher button[data-v-c01e0e87] {
  background: none;
  border: 2px solid transparent;
  color: #888;
  cursor: pointer;
  font-size: 1.2rem;
  padding: 0.3rem;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.theme-switcher button[data-v-c01e0e87]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.theme-switcher button.active[data-v-c01e0e87] {
  color: #f0c419;
  border-color: #f0c419;
  background-color: rgba(240, 196, 25, 0.15);
  box-shadow: 0 0 10px rgba(240, 196, 25, 0.3);
}

/* 游戏内容布局 */
.game-content[data-v-c01e0e87] {
  display: flex;
  gap: 1.5rem;
  flex: 1;
  overflow: hidden;
  margin-bottom: 1rem;
}
.story-container[data-v-c01e0e87] {
  flex: 3;
  overflow-y: auto;
  padding: 1rem;
  border-radius: 12px;
  background-color: rgba(0, 0, 0, 0.2);
  max-height: calc(100vh - 180px);
  scrollbar-width: thin;
  scrollbar-color: rgba(240, 196, 25, 0.3) rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.2);
}
.story-container[data-v-c01e0e87]::-webkit-scrollbar {
  width: 8px;
}
.story-container[data-v-c01e0e87]::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}
.story-container[data-v-c01e0e87]::-webkit-scrollbar-thumb {
  background-color: rgba(240, 196, 25, 0.3);
  border-radius: 10px;
  border: 2px solid transparent;
}
.side-panel[data-v-c01e0e87] {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-height: calc(100vh - 180px);
}
.welcome-message[data-v-c01e0e87] {
  display: flex;
  gap: 1.5rem;
  padding: 2rem;
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 16px;
  margin-bottom: 2rem;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(240, 196, 25, 0.2);
  animation: fadeIn-c01e0e87 0.8s ease-out;
  backdrop-filter: blur(5px);
  position: relative;
  overflow: hidden;
}
.welcome-message[data-v-c01e0e87]::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(240, 196, 25, 0.1) 0%, transparent 70%);
  opacity: 0.5;
  animation: rotateGradient-c01e0e87 15s linear infinite;
  z-index: -1;
}
.ai-avatar[data-v-c01e0e87] {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f0c419, #ff9800);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #fff;
  box-shadow: 0 5px 15px rgba(240, 196, 25, 0.3);
  flex-shrink: 0;
}
.welcome-content h3[data-v-c01e0e87] {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.6rem;
  color: #f0c419;
  font-weight: 700;
}
.welcome-content p[data-v-c01e0e87] {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.suggestion-chips[data-v-c01e0e87] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.5rem;
}
.chip[data-v-c01e0e87] {
  padding: 0.8rem 1.2rem;
  background-color: rgba(240, 196, 25, 0.2);
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
  border: 1px solid rgba(240, 196, 25, 0.3);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.chip[data-v-c01e0e87]:hover {
  background-color: rgba(240, 196, 25, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}
.story-segment[data-v-c01e0e87] {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background-color: rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  line-height: 1.8;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  border-left: 4px solid rgba(240, 196, 25, 0.4);
  backdrop-filter: blur(5px);
}
.story-segment.latest-segment[data-v-c01e0e87] {
  border-left: 4px solid #f0c419;
  animation: fadeInUp-c01e0e87 0.6s ease-out;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15), 0 0 15px rgba(240, 196, 25, 0.2);
  background-color: rgba(255, 255, 255, 0.1);
}
.segment-content[data-v-c01e0e87] {
  margin-bottom: 1.2rem;
  font-size: 1.05rem;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  word-spacing: 0.05em;
}

/* 流式内容样式 */
.story-segment.streaming-segment[data-v-c01e0e87] {
  border-left: 4px solid #4caf50;
  background-color: rgba(76, 175, 80, 0.08);
  animation: streamingPulse-c01e0e87 2s ease-in-out infinite;
}
.segment-content.streaming-content[data-v-c01e0e87] {
  position: relative;
  overflow: hidden;
}
.streaming-indicator[data-v-c01e0e87] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  padding: 0.8rem 1rem;
  background-color: rgba(76, 175, 80, 0.1);
  border-radius: 8px;
  border-left: 3px solid #4caf50;
  font-size: 0.9rem;
  color: #4caf50;
}
.streaming-cursor[data-v-c01e0e87] {
  font-weight: bold;
  animation: blinkCursor-c01e0e87 1s infinite;
}
.streaming-text[data-v-c01e0e87] {
  font-weight: 500;
}
.streaming-dots[data-v-c01e0e87] {
  animation: loadingDots-c01e0e87 1.5s infinite;
}
@keyframes fadeInUp-c01e0e87 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes streamingPulse-c01e0e87 {
0%, 100% {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15), 0 0 15px rgba(76, 175, 80, 0.2);
}
50% {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15), 0 0 25px rgba(76, 175, 80, 0.4);
}
}
@keyframes blinkCursor-c01e0e87 {
0%, 50% { opacity: 1;
}
51%, 100% { opacity: 0;
}
}
@keyframes loadingDots-c01e0e87 {
0%, 20% { opacity: 0;
}
40% { opacity: 1;
}
100% { opacity: 0;
}
}

/* 属性变化和成就通知 */
.attribute-changes-notice[data-v-c01e0e87],
.achievement-notice[data-v-c01e0e87] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.8rem 1rem;
  margin: 0.8rem 0;
  border-radius: 8px;
  font-size: 0.9rem;
  animation: fadeIn-c01e0e87 0.5s ease-out;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.attribute-changes-notice[data-v-c01e0e87] {
  background-color: rgba(33, 150, 243, 0.1);
  color: #2196f3;
  border-left: 3px solid #2196f3;
  animation: fadeSlideUp-c01e0e87 0.6s ease-out forwards;
}
.achievement-notice[data-v-c01e0e87] {
  background-color: rgba(240, 196, 25, 0.1);
  color: #f0c419;
  border-left: 3px solid #f0c419;
  animation: fadeSlideUp-c01e0e87 0.6s ease-out 0.2s forwards;
}
.notice-icon[data-v-c01e0e87] {
  font-size: 1.1rem;
}
@keyframes fadeIn-c01e0e87 {
from { opacity: 0; transform: translateY(-10px);
}
to { opacity: 1; transform: translateY(0);
}
}
@keyframes fadeSlideUp-c01e0e87 {
from { 
    opacity: 0; 
    transform: translateY(10px);
}
to { 
    opacity: 1; 
    transform: translateY(0);
}
}
@keyframes pulse-c01e0e87 {
from { opacity: 0.8;
}
to { opacity: 1;
}
}
@keyframes spin-c01e0e87 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
@keyframes shimmer-c01e0e87 {
0% { transform: translateX(-100%);
}
100% { transform: translateX(100%);
}
}
@keyframes buttonShine-c01e0e87 {
0% { left: -100%;
}
100% { left: 100%;
}
}
@keyframes rotateGradient-c01e0e87 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
@keyframes highlightPulse-c01e0e87 {
0% { box-shadow: 0 0 5px rgba(240, 196, 25, 0.3);
}
50% { box-shadow: 0 0 20px rgba(240, 196, 25, 0.5);
}
100% { box-shadow: 0 0 5px rgba(240, 196, 25, 0.3);
}
}
.story-choices[data-v-c01e0e87] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.5rem;
  animation: fadeIn-c01e0e87 0.6s ease-out 0.3s both;
}
.story-choice[data-v-c01e0e87] {
  padding: 1rem 1.2rem;
  background-color: rgba(240, 196, 25, 0.15);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(240, 196, 25, 0.2);
  position: relative;
  overflow: hidden;
}
.story-choice[data-v-c01e0e87]:hover {
  background-color: rgba(240, 196, 25, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.story-choice[data-v-c01e0e87]:hover::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  animation: shimmer-c01e0e87 1.5s infinite;
}
.choice-number[data-v-c01e0e87] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, rgba(240, 196, 25, 0.8), rgba(255, 152, 0, 0.6));
  border-radius: 50%;
  margin-right: 12px;
  font-weight: bold;
  flex-shrink: 0;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}
.choice-text[data-v-c01e0e87] {
  flex: 1;
  font-size: 1.05rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.loading-indicator[data-v-c01e0e87] {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 2rem 0;
  color: #f0c419;
  animation: pulse-c01e0e87 1.5s infinite alternate;
}
.loading-spinner[data-v-c01e0e87] {
  margin-bottom: 0.8rem;
  font-size: 2rem;
  animation: spin-c01e0e87 2s linear infinite;
  text-shadow: 0 0 10px rgba(240, 196, 25, 0.5);
}
.loading-text[data-v-c01e0e87] {
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-shadow: 0 0 8px rgba(240, 196, 25, 0.3);
}


/* 成就面板 */
.achievements-panel[data-v-c01e0e87] {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  padding: 1.2rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(240, 196, 25, 0.1);
}

/* 成就弹出面板样式 */
.achievements-panel[data-v-c01e0e87] {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000;
  width: 80%;
  max-width: 600px;
  max-height: 80vh;
  overflow-y: auto;
  background-color: rgba(30, 30, 40, 0.95);
  border-radius: 15px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(240, 196, 25, 0.2);
  animation: panel-fade-in-c01e0e87 0.3s ease-out;
}
@keyframes panel-fade-in-c01e0e87 {
from { opacity: 0; transform: translate(-50%, -48%);
}
to { opacity: 1; transform: translate(-50%, -50%);
}
}
.panel-header[data-v-c01e0e87] {
  margin-bottom: 1rem;
}
.panel-header h3[data-v-c01e0e87] {
  margin: 0;
  font-size: 1.2rem;
  color: #f0c419;
}
.achievements-list[data-v-c01e0e87] {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.achievement-item[data-v-c01e0e87] {
  display: flex;
  gap: 0.8rem;
  padding: 0.8rem;
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  transition: all 0.3s ease;
  border-left: 2px solid rgba(240, 196, 25, 0.3);
}
.achievement-item[data-v-c01e0e87]:hover {
  background-color: rgba(255, 255, 255, 0.08);
  transform: translateX(2px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.achievement-icon[data-v-c01e0e87] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(240, 196, 25, 0.3), rgba(255, 152, 0, 0.2));
  color: #f0c419;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  box-shadow: 0 2px 8px rgba(240, 196, 25, 0.2);
}
.achievement-info[data-v-c01e0e87] {
  flex: 1;
}
.achievement-title[data-v-c01e0e87] {
  font-weight: bold;
  margin-bottom: 0.3rem;
}
.achievement-description[data-v-c01e0e87] {
  font-size: 0.9rem;
  color: #aaa;
}
.story-controls[data-v-c01e0e87] {
  display: flex;
  justify-content: center;
  gap: 1.2rem;
  padding: 1.2rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background-color: rgba(0, 0, 0, 0.15);
  border-radius: 0 0 12px 12px;
  box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 10;
  backdrop-filter: blur(5px);
}
.control-button[data-v-c01e0e87] {
  padding: 0.8rem 1.2rem;
  border-radius: 8px;
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  font-weight: 500;
  letter-spacing: 0.02em;
}
.control-button[data-v-c01e0e87]:hover {
  background-color: rgba(240, 196, 25, 0.2);
  border-color: rgba(240, 196, 25, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
  color: #f0c419;
}
.control-button[data-v-c01e0e87]:hover::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  animation: buttonShine-c01e0e87 1s forwards;
}
.control-button[data-v-c01e0e87]:active {
  transform: translateY(0);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: all 0.1s ease;
}
.control-button i[data-v-c01e0e87] {
  font-size: 1.1rem;
  color: #f0c419;
}
.control-button.restart[data-v-c01e0e87],
.control-button.save[data-v-c01e0e87],
.control-button.load[data-v-c01e0e87],
.control-button.achievements[data-v-c01e0e87] {
  flex: 0 1 auto;
  padding: 0.8rem 1.2rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: background-color 0.3s;
}
.restart[data-v-c01e0e87] {
  background-color: #ff6b6b;
  color: white;
}
.save[data-v-c01e0e87] {
  background-color: #4caf50;
  color: white;
}
.load[data-v-c01e0e87] {
  background-color: #2196f3;
  color: white;
}
.achievements[data-v-c01e0e87] {
  background-color: #f0c419;
  color: #333;
}
.control-button[data-v-c01e0e87]:hover {
  opacity: 0.9;
}

/* 段落间隔样式 */
.paragraph-break[data-v-c01e0e87] {
  height: 0.8rem;
}

/* 响应式设计 */
@media (max-width: 992px) {
.game-content[data-v-c01e0e87] {
    flex-direction: column;
}
.side-panel[data-v-c01e0e87] {
    max-height: none;
}
}
@media (max-width: 768px) {
.adventure-header[data-v-c01e0e87] {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}
.adventure-info[data-v-c01e0e87] {
    width: 100%;
    justify-content: space-between;
}
.story-controls[data-v-c01e0e87] {
    flex-wrap: wrap;
}
.control-button[data-v-c01e0e87] {
    flex: 1 0 40%;
}
.story-segment[data-v-c01e0e87] {
    padding: 1.2rem;
}
.story-choice[data-v-c01e0e87] {
    padding: 0.8rem 1rem;
}
}
@media (max-width: 480px) {
.story-controls[data-v-c01e0e87] {
    flex-direction: column;
}
.control-button[data-v-c01e0e87] {
    flex: 1;
}
.adventure-header h2[data-v-c01e0e87] {
    font-size: 1.5rem;
}
}

/* 导入可折叠响应样式 */
/* 可折叠AI回答组件样式 - AI助手问答页面重构 */
/* ===== 可折叠容器 ===== */
.collapsible-response[data-v-17f47454] {
  background: var(--color-background);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: var(--transition-all);
  box-shadow: var(--shadow-card);
}
.collapsible-response[data-v-17f47454]:hover {
  border-color: var(--color-border-hover);
  box-shadow: var(--shadow-card-hover);
}
/* ===== 思考过程区域 ===== */
.thinking-section[data-v-17f47454] {
  border-bottom: 1px solid var(--color-border);
}
.thinking-header[data-v-17f47454] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-4);
  background: var(--color-background-secondary);
  cursor: pointer;
  transition: var(--transition-colors);
  user-select: none;
}
.thinking-header[data-v-17f47454]:hover {
  background: var(--color-background-tertiary);
}
.thinking-header[data-v-17f47454]:focus {
  outline: 2px solid var(--color-primary-500);
  outline-offset: -2px;
}
.thinking-title[data-v-17f47454] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
}
.thinking-icon[data-v-17f47454] {
  width: 16px;
  height: 16px;
  color: var(--color-primary-500);
  transition: var(--transition-transform);
}
.thinking-header[aria-expanded="true"] .thinking-icon[data-v-17f47454] {
  transform: rotate(180deg);
}
.thinking-toggle[data-v-17f47454] {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  transition: var(--transition-colors);
}
.thinking-header:hover .thinking-toggle[data-v-17f47454] {
  color: var(--color-text-secondary);
}
.thinking-content[data-v-17f47454] {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--animation-duration-normal) var(--animation-easing-smooth);
}
.thinking-content.expanded[data-v-17f47454] {
  max-height: 1000px;
}
.thinking-content-inner[data-v-17f47454] {
  padding: var(--space-4);
  background: var(--color-background-secondary);
  border-top: 1px solid var(--color-border);
}
.thinking-text[data-v-17f47454] {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  color: var(--color-text-secondary);
  font-family: var(--font-family-mono);
  white-space: pre-wrap;
  word-break: break-word;
}
/* ===== 主回答区域 ===== */
.main-response[data-v-17f47454] {
  padding: var(--space-4);
}
.response-content[data-v-17f47454] {
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  color: var(--color-text-primary);
  word-break: break-word;
  text-align: left;
}
/* 确保AI回答文本左对齐 */
.response-text[data-v-17f47454] {
  text-align: left;
  width: 100%;
}
.response-content h1[data-v-17f47454],
.response-content h2[data-v-17f47454],
.response-content h3[data-v-17f47454],
.response-content h4[data-v-17f47454],
.response-content h5[data-v-17f47454],
.response-content h6[data-v-17f47454] {
  margin: var(--space-4) 0 var(--space-2);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}
.response-content h1[data-v-17f47454]:first-child,
.response-content h2[data-v-17f47454]:first-child,
.response-content h3[data-v-17f47454]:first-child,
.response-content h4[data-v-17f47454]:first-child,
.response-content h5[data-v-17f47454]:first-child,
.response-content h6[data-v-17f47454]:first-child {
  margin-top: 0;
}
.response-content p[data-v-17f47454] {
  margin: var(--space-3) 0;
}
.response-content p[data-v-17f47454]:first-child {
  margin-top: 0;
}
.response-content p[data-v-17f47454]:last-child {
  margin-bottom: 0;
}
.response-content ul[data-v-17f47454],
.response-content ol[data-v-17f47454] {
  margin: var(--space-3) 0;
  padding-left: var(--space-6);
}
.response-content li[data-v-17f47454] {
  margin: var(--space-1) 0;
}
.response-content blockquote[data-v-17f47454] {
  margin: var(--space-4) 0;
  padding: var(--space-3) var(--space-4);
  border-left: 4px solid var(--color-primary-500);
  background: var(--color-background-secondary);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-style: italic;
  color: var(--color-text-secondary);
}
.response-content code[data-v-17f47454] {
  padding: var(--space-1) var(--space-2);
  background: var(--color-background-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sm);
  color: var(--color-primary-600);
}
.response-content pre[data-v-17f47454] {
  margin: var(--space-4) 0;
  padding: var(--space-4);
  background: var(--color-background-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow-x: auto;
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}
.response-content pre code[data-v-17f47454] {
  padding: 0;
  background: none;
  border: none;
  color: inherit;
}
.response-content a[data-v-17f47454] {
  color: var(--color-primary-600);
  text-decoration: underline;
  transition: var(--transition-colors);
}
.response-content a[data-v-17f47454]:hover {
  color: var(--color-primary-700);
  text-decoration: none;
}
.response-content a[data-v-17f47454]:focus {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}
/* ===== 加载状态 ===== */
.collapsible-response.loading[data-v-17f47454] {
  opacity: 0.7;
  pointer-events: none;
}
.loading-indicator[data-v-17f47454] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}
.loading-spinner[data-v-17f47454] {
  width: 16px;
  height: 16px;
  border: 2px solid var(--color-border);
  border-top: 2px solid var(--color-primary-500);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
/* ===== 错误状态 ===== */
.collapsible-response.error[data-v-17f47454] {
  border-color: var(--color-error-300);
  background: var(--color-error-50);
}
.error-message[data-v-17f47454] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4);
  color: var(--color-error-600);
  font-size: var(--font-size-sm);
}
.error-icon[data-v-17f47454] {
  width: 16px;
  height: 16px;
  color: var(--color-error-500);
}
/* ===== 响应式设计 ===== */
/* 平板端 */
@media (max-width: 768px) {
.thinking-header[data-v-17f47454] {
    padding: var(--space-3);
}
.thinking-content-inner[data-v-17f47454] {
    padding: var(--space-3);
}
.main-response[data-v-17f47454] {
    padding: var(--space-3);
}
.thinking-title[data-v-17f47454] {
    font-size: var(--font-size-xs);
}
.response-content[data-v-17f47454] {
    font-size: var(--font-size-sm);
}
}
/* 手机端 */
@media (max-width: 640px) {
.thinking-header[data-v-17f47454] {
    padding: var(--space-2) var(--space-3);
}
.thinking-content-inner[data-v-17f47454] {
    padding: var(--space-2) var(--space-3);
}
.main-response[data-v-17f47454] {
    padding: var(--space-2) var(--space-3);
}
.thinking-text[data-v-17f47454] {
    font-size: var(--font-size-xs);
}
.response-content pre[data-v-17f47454] {
    padding: var(--space-2);
    font-size: var(--font-size-xs);
}
.response-content code[data-v-17f47454] {
    font-size: var(--font-size-xs);
}
}
/* ===== 动画效果 ===== */
/* 展开动画 */
@keyframes expandContent-17f47454 {
from {
    max-height: 0;
    opacity: 0;
}
to {
    max-height: 1000px;
    opacity: 1;
}
}
/* 收起动画 */
@keyframes collapseContent-17f47454 {
from {
    max-height: 1000px;
    opacity: 1;
}
to {
    max-height: 0;
    opacity: 0;
}
}
.thinking-content.expanding[data-v-17f47454] {
  animation: expandContent-17f47454 var(--animation-duration-normal) var(--animation-easing-smooth);
}
.thinking-content.collapsing[data-v-17f47454] {
  animation: collapseContent-17f47454 var(--animation-duration-normal) var(--animation-easing-smooth);
}
/* 思考指示器动画 */
.thinking-indicator[data-v-17f47454] {
  display: flex;
  align-items: center;
  gap: var(--space-1);
}
.thinking-dot[data-v-17f47454] {
  width: 4px;
  height: 4px;
  background: var(--color-primary-500);
  border-radius: 50%;
  animation: thinkingPulse-17f47454 1.5s ease-in-out infinite;
}
.thinking-dot[data-v-17f47454]:nth-child(1) { animation-delay: 0s;
}
.thinking-dot[data-v-17f47454]:nth-child(2) { animation-delay: 0.2s;
}
.thinking-dot[data-v-17f47454]:nth-child(3) { animation-delay: 0.4s;
}
@keyframes thinkingPulse-17f47454 {
0%, 100% {
    opacity: 0.3;
    transform: scale(1);
}
50% {
    opacity: 1;
    transform: scale(1.2);
}
}
/* ===== 高对比度模式 ===== */
@media (prefers-contrast: high) {
.collapsible-response[data-v-17f47454] {
    border-width: 2px;
}
.thinking-header[data-v-17f47454] {
    border-bottom-width: 2px;
}
.thinking-content-inner[data-v-17f47454] {
    border-top-width: 2px;
}
.response-content code[data-v-17f47454] {
    border-width: 2px;
}
.response-content pre[data-v-17f47454] {
    border-width: 2px;
}
}
/* ===== 减少动画模式 ===== */
@media (prefers-reduced-motion: reduce) {
.thinking-content[data-v-17f47454] {
    transition: none;
}
.thinking-icon[data-v-17f47454] {
    transition: none;
}
.thinking-toggle[data-v-17f47454] {
    transition: none;
}
.thinking-header[data-v-17f47454] {
    transition: none;
}
.collapsible-response[data-v-17f47454] {
    transition: none;
}
.thinking-content.expanding[data-v-17f47454],
  .thinking-content.collapsing[data-v-17f47454] {
    animation: none;
}
.thinking-dot[data-v-17f47454] {
    animation: none;
}
.loading-spinner[data-v-17f47454] {
    animation: none;
}
}
/* ===== 打印样式 ===== */
@media print {
.collapsible-response[data-v-17f47454] {
    box-shadow: none;
    border: 1px solid #000;
}
.thinking-header[data-v-17f47454] {
    background: none;
}
.thinking-content[data-v-17f47454] {
    max-height: none !important;
    overflow: visible !important;
}
.thinking-content-inner[data-v-17f47454] {
    background: none;
}
.loading-indicator[data-v-17f47454],
  .loading-spinner[data-v-17f47454],
  .thinking-indicator[data-v-17f47454] {
    display: none;
}
.response-content a[data-v-17f47454] {
    color: #000;
    text-decoration: underline;
}
.response-content a[data-v-17f47454]::after {
    content: " (" attr(href) ")";
    font-size: smaller;
}
}
/* 组件特定样式 */
.collapsible-response[data-v-17f47454] {
  width: 100%;
}
/* 加载指示器 */
.loading-indicator[data-v-17f47454] {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4) 0;
}
.loading-dots[data-v-17f47454] {
  display: flex;
  gap: var(--space-1);
}
.loading-dots span[data-v-17f47454] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary-500);
  animation: loading-pulse-17f47454 1.4s ease-in-out infinite both;
}
.loading-dots span[data-v-17f47454]:nth-child(1) { animation-delay: -0.32s;
}
.loading-dots span[data-v-17f47454]:nth-child(2) { animation-delay: -0.16s;
}
.loading-dots span[data-v-17f47454]:nth-child(3) { animation-delay: 0s;
}
.loading-text[data-v-17f47454] {
  color: var(--color-text-secondary);
  font-style: italic;
}
/* 动画定义 */
@keyframes loading-pulse-17f47454 {
0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
}
40% {
    transform: scale(1);
    opacity: 1;
}
}
/* 思考过程展开动画 */
.thinking-expand-enter-active[data-v-17f47454],
.thinking-expand-leave-active[data-v-17f47454] {
  transition: all 0.3s ease;
  overflow: hidden;
}
.thinking-expand-enter-from[data-v-17f47454],
.thinking-expand-leave-to[data-v-17f47454] {
  max-height: 0;
  opacity: 0;
  transform: translateY(-10px);
}
.thinking-expand-enter-to[data-v-17f47454],
.thinking-expand-leave-from[data-v-17f47454] {
  max-height: 1000px;
  opacity: 1;
  transform: translateY(0);
}
/* 响应式适配 */
@media (max-width: 768px) {
.thinking-header[data-v-17f47454] {
    padding: var(--space-3);
}
.thinking-title[data-v-17f47454] {
    font-size: var(--font-size-sm);
}
.response-header[data-v-17f47454] {
    flex-direction: column;
    gap: var(--space-2);
    align-items: flex-start;
}
.response-actions[data-v-17f47454] {
    align-self: flex-end;
}
.response-stats[data-v-17f47454] {
    flex-direction: column;
    gap: var(--space-2);
}
}

/* 导入DeepSeek主题变量 */
/* DeepSeek主题配色方案 - AI助手问答页面重构 */
[data-v-cca1f031]:root {
  /* ===== 主色调系统 ===== */
  --color-primary-50: #eff6ff;
  --color-primary-100: #dbeafe;
  --color-primary-200: #bfdbfe;
  --color-primary-300: #93c5fd;
  --color-primary-400: #60a5fa;
  --color-primary-500: #4facfe;
  --color-primary-600: #00d4ff;
  --color-primary-700: #0284c7;
  --color-primary-800: #0369a1;
  --color-primary-900: #0c4a6e;
  --color-primary-950: #082f49;

  /* ===== 背景色系统 ===== */
  --color-background: #0a0a0f;
  --color-background-secondary: #1a1a2e;
  --color-background-tertiary: #16213e;
  --color-surface: rgba(255, 255, 255, 0.05);
  --color-surface-elevated: rgba(255, 255, 255, 0.08);
  --color-surface-hover: rgba(255, 255, 255, 0.12);
  
  /* ===== 渐变背景 ===== */
  --gradient-primary: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  --gradient-secondary: linear-gradient(135deg, #0f3460 0%, #533483 100%);
  --gradient-accent: linear-gradient(135deg, #4facfe 0%, #00d4ff 100%);
  --gradient-surface: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);

  /* ===== 文字颜色系统 ===== */
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-tertiary: rgba(255, 255, 255, 0.6);
  --color-text-quaternary: rgba(255, 255, 255, 0.4);
  --color-text-inverse: #0a0a0f;
  --color-text-accent: #4facfe;
  --color-text-success: #10b981;
  --color-text-warning: #f59e0b;
  --color-text-error: #ef4444;

  /* ===== 边框颜色系统 ===== */
  --color-border: rgba(255, 255, 255, 0.1);
  --color-border-strong: rgba(255, 255, 255, 0.2);
  --color-border-subtle: rgba(255, 255, 255, 0.05);
  --color-border-accent: #4facfe;
  --color-border-focus: #00d4ff;

  /* ===== 状态颜色系统 ===== */
  --color-success: #10b981;
  --color-success-bg: rgba(16, 185, 129, 0.1);
  --color-warning: #f59e0b;
  --color-warning-bg: rgba(245, 158, 11, 0.1);
  --color-error: #ef4444;
  --color-error-bg: rgba(239, 68, 68, 0.1);
  --color-info: #3b82f6;
  --color-info-bg: rgba(59, 130, 246, 0.1);

  /* ===== 阴影系统 ===== */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.25);
  --shadow-glow: 0 0 20px rgba(79, 172, 254, 0.3);
  --shadow-glow-strong: 0 0 30px rgba(79, 172, 254, 0.5);

  /* ===== 圆角系统 ===== */
  --radius-none: 0;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-3xl: 24px;
  --radius-full: 9999px;

  /* ===== 间距系统 ===== */
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  /* ===== 字体系统 ===== */
  --font-family-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-family-mono: 'Fira Code', 'Monaco', 'Consolas', 'Liberation Mono', 'Courier New', monospace;
  --font-family-serif: Georgia, 'Times New Roman', Times, serif;

  /* ===== 字体大小系统 ===== */
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-size-3xl: 30px;
  --font-size-4xl: 36px;
  --font-size-5xl: 48px;
  --font-size-6xl: 60px;

  /* ===== 字体权重系统 ===== */
  --font-weight-thin: 100;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;

  /* ===== 行高系统 ===== */
  --line-height-none: 1;
  --line-height-tight: 1.25;
  --line-height-snug: 1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  --line-height-loose: 2;

  /* ===== 过渡动画系统 ===== */
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow: 350ms ease;
  --transition-all: all 250ms ease;
  --transition-colors: color 150ms ease, background-color 150ms ease, border-color 150ms ease;
  --transition-transform: transform 250ms ease;
  --transition-opacity: opacity 200ms ease;

  /* ===== Z-index系统 ===== */
  --z-index-dropdown: 1000;
  --z-index-sticky: 1020;
  --z-index-fixed: 1030;
  --z-index-modal-backdrop: 1040;
  --z-index-modal: 1050;
  --z-index-popover: 1060;
  --z-index-tooltip: 1070;
  --z-index-toast: 1080;

  /* ===== 断点系统 ===== */
  --breakpoint-xs: 320px;
  --breakpoint-sm: 480px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;

  /* ===== 专用颜色 - 消息卡片 ===== */
  --color-message-user-bg: var(--gradient-accent);
  --color-message-user-text: #ffffff;
  --color-message-ai-bg: var(--color-surface);
  --color-message-ai-text: var(--color-text-primary);
  --color-message-ai-border: var(--color-border);

  /* ===== 专用颜色 - 代码块 ===== */
  --color-code-bg: rgba(0, 0, 0, 0.3);
  --color-code-border: rgba(255, 255, 255, 0.1);
  --color-code-text: #e6e6e6;
  --color-inline-code-bg: rgba(255, 255, 255, 0.1);
  --color-inline-code-border: rgba(255, 255, 255, 0.15);
  --color-inline-code-text: #00d4ff;

  /* ===== 专用颜色 - 引用块 ===== */
  --color-quote-bg: rgba(79, 172, 254, 0.05);
  --color-quote-border: #4facfe;
  --color-quote-text: rgba(255, 255, 255, 0.8);

  /* ===== 专用颜色 - 表格 ===== */
  --color-table-border: rgba(255, 255, 255, 0.1);
  --color-table-header-bg: rgba(79, 172, 254, 0.1);
  --color-table-header-text: #4facfe;
  --color-table-row-even: rgba(255, 255, 255, 0.02);
  --color-table-row-hover: rgba(255, 255, 255, 0.05);

  /* ===== 专用颜色 - 输入框 ===== */
  --color-input-bg: rgba(26, 26, 46, 0.8);
  --color-input-border: rgba(255, 255, 255, 0.1);
  --color-input-border-focus: var(--color-border-focus);
  --color-input-text: var(--color-text-primary);
  --color-input-placeholder: var(--color-text-tertiary);

  /* ===== 专用颜色 - 按钮 ===== */
  --color-button-primary-bg: var(--gradient-accent);
  --color-button-primary-text: #ffffff;
  --color-button-primary-hover: linear-gradient(135deg, #5bb6fe 0%, #1ae4ff 100%);
  --color-button-secondary-bg: transparent;
  --color-button-secondary-border: var(--color-border-accent);
  --color-button-secondary-text: var(--color-text-accent);
  --color-button-secondary-hover: rgba(79, 172, 254, 0.1);

  /* ===== 专用颜色 - 加载动画 ===== */
  --color-loading-primary: #4facfe;
  --color-loading-secondary: #00d4ff;
  --color-loading-bg: rgba(79, 172, 254, 0.1);

  /* ===== 专用颜色 - 滚动条 ===== */
  --color-scrollbar-track: rgba(255, 255, 255, 0.05);
  --color-scrollbar-thumb: rgba(255, 255, 255, 0.2);
  --color-scrollbar-thumb-hover: rgba(255, 255, 255, 0.3);

  /* ===== 专用颜色 - 焦点状态 ===== */
  --color-focus: #00d4ff;
  --color-focus-ring: rgba(0, 212, 255, 0.3);

  /* ===== 流体字体系统 ===== */
  --font-size-fluid-xs: clamp(10px, 1.5vw, 12px);
  --font-size-fluid-sm: clamp(12px, 2vw, 14px);
  --font-size-fluid-base: clamp(14px, 2.5vw, 16px);
  --font-size-fluid-lg: clamp(16px, 3vw, 18px);
  --font-size-fluid-xl: clamp(18px, 3.5vw, 20px);
  --font-size-fluid-2xl: clamp(20px, 4vw, 24px);
  --font-size-fluid-3xl: clamp(24px, 5vw, 30px);
}
/* ===== 深色主题特定样式 ===== */
[data-theme="dark"][data-v-cca1f031] {
  color-scheme: dark;
}
/* ===== 浅色主题变量覆盖（预留） ===== */
[data-theme="light"][data-v-cca1f031] {
  --color-background: #ffffff;
  --color-background-secondary: #f8fafc;
  --color-background-tertiary: #f1f5f9;
  --color-surface: rgba(0, 0, 0, 0.05);
  --color-surface-elevated: rgba(0, 0, 0, 0.08);
  --color-surface-hover: rgba(0, 0, 0, 0.12);
  
  --color-text-primary: #0f172a;
  --color-text-secondary: rgba(15, 23, 42, 0.8);
  --color-text-tertiary: rgba(15, 23, 42, 0.6);
  --color-text-quaternary: rgba(15, 23, 42, 0.4);
  --color-text-inverse: #ffffff;
  
  --color-border: rgba(0, 0, 0, 0.1);
  --color-border-strong: rgba(0, 0, 0, 0.2);
  --color-border-subtle: rgba(0, 0, 0, 0.05);
  
  color-scheme: light;
}
/* ===== 高对比度主题（无障碍支持） ===== */
@media (prefers-contrast: high) {
[data-v-cca1f031]:root {
    --color-border: rgba(255, 255, 255, 0.3);
    --color-border-strong: rgba(255, 255, 255, 0.5);
    --color-text-secondary: rgba(255, 255, 255, 0.9);
    --color-text-tertiary: rgba(255, 255, 255, 0.8);
}
}
/* ===== 减少动画（无障碍支持） ===== */
@media (prefers-reduced-motion: reduce) {
[data-v-cca1f031]:root {
    --transition-fast: none;
    --transition-normal: none;
    --transition-slow: none;
    --transition-all: none;
    --transition-colors: none;
    --transition-transform: none;
    --transition-opacity: none;
}
}
/* ===== 打印样式优化 ===== */
@media print {
[data-v-cca1f031]:root {
    --color-background: #ffffff;
    --color-text-primary: #000000;
    --color-text-secondary: #333333;
    --color-border: #cccccc;
    --shadow-md: none;
    --shadow-lg: none;
    --shadow-xl: none;
}
}
/* 可折叠AI回答组件样式 - AI助手问答页面重构 */
/* ===== 可折叠容器 ===== */
.collapsible-response[data-v-cca1f031] {
  background: var(--color-background);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: var(--transition-all);
  box-shadow: var(--shadow-card);
}
.collapsible-response[data-v-cca1f031]:hover {
  border-color: var(--color-border-hover);
  box-shadow: var(--shadow-card-hover);
}
/* ===== 思考过程区域 ===== */
.thinking-section[data-v-cca1f031] {
  border-bottom: 1px solid var(--color-border);
}
.thinking-header[data-v-cca1f031] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-4);
  background: var(--color-background-secondary);
  cursor: pointer;
  transition: var(--transition-colors);
  user-select: none;
}
.thinking-header[data-v-cca1f031]:hover {
  background: var(--color-background-tertiary);
}
.thinking-header[data-v-cca1f031]:focus {
  outline: 2px solid var(--color-primary-500);
  outline-offset: -2px;
}
.thinking-title[data-v-cca1f031] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
}
.thinking-icon[data-v-cca1f031] {
  width: 16px;
  height: 16px;
  color: var(--color-primary-500);
  transition: var(--transition-transform);
}
.thinking-header[aria-expanded="true"] .thinking-icon[data-v-cca1f031] {
  transform: rotate(180deg);
}
.thinking-toggle[data-v-cca1f031] {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  transition: var(--transition-colors);
}
.thinking-header:hover .thinking-toggle[data-v-cca1f031] {
  color: var(--color-text-secondary);
}
.thinking-content[data-v-cca1f031] {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--animation-duration-normal) var(--animation-easing-smooth);
}
.thinking-content.expanded[data-v-cca1f031] {
  max-height: 1000px;
}
.thinking-content-inner[data-v-cca1f031] {
  padding: var(--space-4);
  background: var(--color-background-secondary);
  border-top: 1px solid var(--color-border);
}
.thinking-text[data-v-cca1f031] {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  color: var(--color-text-secondary);
  font-family: var(--font-family-mono);
  white-space: pre-wrap;
  word-break: break-word;
}
/* ===== 主回答区域 ===== */
.main-response[data-v-cca1f031] {
  padding: var(--space-4);
}
.response-content[data-v-cca1f031] {
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  color: var(--color-text-primary);
  word-break: break-word;
  text-align: left;
}
/* 确保AI回答文本左对齐 */
.response-text[data-v-cca1f031] {
  text-align: left;
  width: 100%;
}
.response-content h1[data-v-cca1f031],
.response-content h2[data-v-cca1f031],
.response-content h3[data-v-cca1f031],
.response-content h4[data-v-cca1f031],
.response-content h5[data-v-cca1f031],
.response-content h6[data-v-cca1f031] {
  margin: var(--space-4) 0 var(--space-2);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}
.response-content h1[data-v-cca1f031]:first-child,
.response-content h2[data-v-cca1f031]:first-child,
.response-content h3[data-v-cca1f031]:first-child,
.response-content h4[data-v-cca1f031]:first-child,
.response-content h5[data-v-cca1f031]:first-child,
.response-content h6[data-v-cca1f031]:first-child {
  margin-top: 0;
}
.response-content p[data-v-cca1f031] {
  margin: var(--space-3) 0;
}
.response-content p[data-v-cca1f031]:first-child {
  margin-top: 0;
}
.response-content p[data-v-cca1f031]:last-child {
  margin-bottom: 0;
}
.response-content ul[data-v-cca1f031],
.response-content ol[data-v-cca1f031] {
  margin: var(--space-3) 0;
  padding-left: var(--space-6);
}
.response-content li[data-v-cca1f031] {
  margin: var(--space-1) 0;
}
.response-content blockquote[data-v-cca1f031] {
  margin: var(--space-4) 0;
  padding: var(--space-3) var(--space-4);
  border-left: 4px solid var(--color-primary-500);
  background: var(--color-background-secondary);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-style: italic;
  color: var(--color-text-secondary);
}
.response-content code[data-v-cca1f031] {
  padding: var(--space-1) var(--space-2);
  background: var(--color-background-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sm);
  color: var(--color-primary-600);
}
.response-content pre[data-v-cca1f031] {
  margin: var(--space-4) 0;
  padding: var(--space-4);
  background: var(--color-background-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow-x: auto;
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}
.response-content pre code[data-v-cca1f031] {
  padding: 0;
  background: none;
  border: none;
  color: inherit;
}
.response-content a[data-v-cca1f031] {
  color: var(--color-primary-600);
  text-decoration: underline;
  transition: var(--transition-colors);
}
.response-content a[data-v-cca1f031]:hover {
  color: var(--color-primary-700);
  text-decoration: none;
}
.response-content a[data-v-cca1f031]:focus {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}
/* ===== 加载状态 ===== */
.collapsible-response.loading[data-v-cca1f031] {
  opacity: 0.7;
  pointer-events: none;
}
.loading-indicator[data-v-cca1f031] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}
.loading-spinner[data-v-cca1f031] {
  width: 16px;
  height: 16px;
  border: 2px solid var(--color-border);
  border-top: 2px solid var(--color-primary-500);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
/* ===== 错误状态 ===== */
.collapsible-response.error[data-v-cca1f031] {
  border-color: var(--color-error-300);
  background: var(--color-error-50);
}
.error-message[data-v-cca1f031] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4);
  color: var(--color-error-600);
  font-size: var(--font-size-sm);
}
.error-icon[data-v-cca1f031] {
  width: 16px;
  height: 16px;
  color: var(--color-error-500);
}
/* ===== 响应式设计 ===== */
/* 平板端 */
@media (max-width: 768px) {
.thinking-header[data-v-cca1f031] {
    padding: var(--space-3);
}
.thinking-content-inner[data-v-cca1f031] {
    padding: var(--space-3);
}
.main-response[data-v-cca1f031] {
    padding: var(--space-3);
}
.thinking-title[data-v-cca1f031] {
    font-size: var(--font-size-xs);
}
.response-content[data-v-cca1f031] {
    font-size: var(--font-size-sm);
}
}
/* 手机端 */
@media (max-width: 640px) {
.thinking-header[data-v-cca1f031] {
    padding: var(--space-2) var(--space-3);
}
.thinking-content-inner[data-v-cca1f031] {
    padding: var(--space-2) var(--space-3);
}
.main-response[data-v-cca1f031] {
    padding: var(--space-2) var(--space-3);
}
.thinking-text[data-v-cca1f031] {
    font-size: var(--font-size-xs);
}
.response-content pre[data-v-cca1f031] {
    padding: var(--space-2);
    font-size: var(--font-size-xs);
}
.response-content code[data-v-cca1f031] {
    font-size: var(--font-size-xs);
}
}
/* ===== 动画效果 ===== */
/* 展开动画 */
@keyframes expandContent-cca1f031 {
from {
    max-height: 0;
    opacity: 0;
}
to {
    max-height: 1000px;
    opacity: 1;
}
}
/* 收起动画 */
@keyframes collapseContent-cca1f031 {
from {
    max-height: 1000px;
    opacity: 1;
}
to {
    max-height: 0;
    opacity: 0;
}
}
.thinking-content.expanding[data-v-cca1f031] {
  animation: expandContent-cca1f031 var(--animation-duration-normal) var(--animation-easing-smooth);
}
.thinking-content.collapsing[data-v-cca1f031] {
  animation: collapseContent-cca1f031 var(--animation-duration-normal) var(--animation-easing-smooth);
}
/* 思考指示器动画 */
.thinking-indicator[data-v-cca1f031] {
  display: flex;
  align-items: center;
  gap: var(--space-1);
}
.thinking-dot[data-v-cca1f031] {
  width: 4px;
  height: 4px;
  background: var(--color-primary-500);
  border-radius: 50%;
  animation: thinkingPulse-cca1f031 1.5s ease-in-out infinite;
}
.thinking-dot[data-v-cca1f031]:nth-child(1) { animation-delay: 0s;
}
.thinking-dot[data-v-cca1f031]:nth-child(2) { animation-delay: 0.2s;
}
.thinking-dot[data-v-cca1f031]:nth-child(3) { animation-delay: 0.4s;
}
@keyframes thinkingPulse-cca1f031 {
0%, 100% {
    opacity: 0.3;
    transform: scale(1);
}
50% {
    opacity: 1;
    transform: scale(1.2);
}
}
/* ===== 高对比度模式 ===== */
@media (prefers-contrast: high) {
.collapsible-response[data-v-cca1f031] {
    border-width: 2px;
}
.thinking-header[data-v-cca1f031] {
    border-bottom-width: 2px;
}
.thinking-content-inner[data-v-cca1f031] {
    border-top-width: 2px;
}
.response-content code[data-v-cca1f031] {
    border-width: 2px;
}
.response-content pre[data-v-cca1f031] {
    border-width: 2px;
}
}
/* ===== 减少动画模式 ===== */
@media (prefers-reduced-motion: reduce) {
.thinking-content[data-v-cca1f031] {
    transition: none;
}
.thinking-icon[data-v-cca1f031] {
    transition: none;
}
.thinking-toggle[data-v-cca1f031] {
    transition: none;
}
.thinking-header[data-v-cca1f031] {
    transition: none;
}
.collapsible-response[data-v-cca1f031] {
    transition: none;
}
.thinking-content.expanding[data-v-cca1f031],
  .thinking-content.collapsing[data-v-cca1f031] {
    animation: none;
}
.thinking-dot[data-v-cca1f031] {
    animation: none;
}
.loading-spinner[data-v-cca1f031] {
    animation: none;
}
}
/* ===== 打印样式 ===== */
@media print {
.collapsible-response[data-v-cca1f031] {
    box-shadow: none;
    border: 1px solid #000;
}
.thinking-header[data-v-cca1f031] {
    background: none;
}
.thinking-content[data-v-cca1f031] {
    max-height: none !important;
    overflow: visible !important;
}
.thinking-content-inner[data-v-cca1f031] {
    background: none;
}
.loading-indicator[data-v-cca1f031],
  .loading-spinner[data-v-cca1f031],
  .thinking-indicator[data-v-cca1f031] {
    display: none;
}
.response-content a[data-v-cca1f031] {
    color: #000;
    text-decoration: underline;
}
.response-content a[data-v-cca1f031]::after {
    content: " (" attr(href) ")";
    font-size: smaller;
}
}
/* 消息卡片组件样式 - DeepSeek风格 */
/* 消息卡片基础样式 */
.message-card[data-v-cca1f031] {
  display: flex;
  margin-bottom: var(--space-6);
  animation: slideInUp-cca1f031 0.3s ease-out;
  position: relative;
}
.message-card.user[data-v-cca1f031] {
  justify-content: flex-end;
}
.message-card.assistant[data-v-cca1f031] {
  justify-content: flex-start;
}
/* 消息内容容器 */
.message-content-wrapper[data-v-cca1f031] {
  display: flex;
  max-width: 80%;
  gap: var(--space-3);
  position: relative;
}
.message-card.user .message-content-wrapper[data-v-cca1f031] {
  flex-direction: row-reverse;
}
/* 头像样式 */
.message-avatar[data-v-cca1f031] {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface);
  color: var(--color-text-secondary);
  flex-shrink: 0;
  border: 1px solid var(--color-border);
  transition: var(--transition-all);
  position: relative;
  overflow: hidden;
}
.message-card.user .message-avatar[data-v-cca1f031] {
  background: var(--gradient-accent);
  color: white;
  border-color: var(--color-primary-500);
  box-shadow: var(--shadow-glow);
}
.message-avatar[data-v-cca1f031]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--gradient-accent);
  opacity: 0;
  transition: var(--transition-opacity);
}
.message-card.assistant .message-avatar[data-v-cca1f031]:hover::before {
  opacity: 0.1;
}
/* 消息气泡 */
.message-bubble[data-v-cca1f031] {
  flex: 1;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-4);
  position: relative;
  transition: var(--transition-all);
  backdrop-filter: blur(10px);
}
.message-card.user .message-bubble[data-v-cca1f031] {
  background: var(--gradient-accent);
  color: white;
  border-color: var(--color-primary-500);
  box-shadow: var(--shadow-glow);
}
.message-bubble[data-v-cca1f031]:hover {
  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}
.message-card.user .message-bubble[data-v-cca1f031]:hover {
  box-shadow: var(--shadow-glow), var(--shadow-lg);
}
/* 消息文本 */
.message-text[data-v-cca1f031] {
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  margin: 0;
  word-wrap: break-word;
  white-space: pre-wrap;
}
.message-card.user .message-text[data-v-cca1f031] {
  color: white;
}
/* 消息时间戳 */
.message-timestamp[data-v-cca1f031] {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin-top: var(--space-2);
  opacity: 0;
  transition: var(--transition-opacity);
}
.message-card:hover .message-timestamp[data-v-cca1f031] {
  opacity: 1;
}
.message-card.user .message-timestamp[data-v-cca1f031] {
  color: rgba(255, 255, 255, 0.7);
}
/* 消息状态指示器 */
.message-status[data-v-cca1f031] {
  position: absolute;
  bottom: var(--space-2);
  right: var(--space-3);
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  opacity: 0;
  transition: var(--transition-opacity);
}
.message-card:hover .message-status[data-v-cca1f031] {
  opacity: 1;
}
.message-card.user .message-status[data-v-cca1f031] {
  color: rgba(255, 255, 255, 0.7);
}
/* 消息操作按钮 */
.message-actions[data-v-cca1f031] {
  display: flex;
  gap: var(--space-2);
  margin-top: var(--space-3);
  opacity: 0;
  transition: var(--transition-opacity);
  align-items: center;
}
.message-card:hover .message-actions[data-v-cca1f031] {
  opacity: 1;
}
.action-button[data-v-cca1f031] {
  width: 32px;
  height: 32px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text-tertiary);
  cursor: pointer;
  transition: var(--transition-all);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-sm);
  position: relative;
  overflow: hidden;
}
.action-button[data-v-cca1f031]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--gradient-accent);
  opacity: 0;
  transition: var(--transition-opacity);
}
.action-button[data-v-cca1f031]:hover {
  background: var(--color-surface-hover);
  color: var(--color-text-secondary);
  border-color: var(--color-border-strong);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}
.action-button[data-v-cca1f031]:hover::before {
  opacity: 0.1;
}
.action-button[data-v-cca1f031]:active {
  transform: translateY(0);
}
/* 特殊操作按钮样式 */
.action-button.copy[data-v-cca1f031] {
  color: var(--color-primary-500);
}
.action-button.regenerate[data-v-cca1f031] {
  color: var(--color-warning);
}
.action-button.like[data-v-cca1f031] {
  color: var(--color-success);
}
.action-button.dislike[data-v-cca1f031] {
  color: var(--color-error);
}
.action-button.liked[data-v-cca1f031],
.action-button.disliked[data-v-cca1f031] {
  background: var(--color-surface-hover);
  border-color: var(--color-border-strong);
}
/* 代码块样式 */
.message-bubble pre[data-v-cca1f031] {
  background: var(--color-code-bg);
  border: 1px solid var(--color-code-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  margin: var(--space-3) 0;
  overflow-x: auto;
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}
.message-card.user .message-bubble pre[data-v-cca1f031] {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  color: white;
}
/* 引用块样式 */
.message-bubble blockquote[data-v-cca1f031] {
  border-left: 4px solid var(--color-border-accent);
  padding-left: var(--space-4);
  margin: var(--space-3) 0;
  color: var(--color-text-secondary);
  font-style: italic;
}
.message-card.user .message-bubble blockquote[data-v-cca1f031] {
  border-left-color: rgba(255, 255, 255, 0.5);
  color: rgba(255, 255, 255, 0.9);
}
/* 链接样式 */
.message-bubble a[data-v-cca1f031] {
  color: var(--color-link);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: var(--transition-all);
}
.message-bubble a[data-v-cca1f031]:hover {
  border-bottom-color: var(--color-link);
}
.message-card.user .message-bubble a[data-v-cca1f031] {
  color: rgba(255, 255, 255, 0.9);
  border-bottom-color: rgba(255, 255, 255, 0.3);
}
.message-card.user .message-bubble a[data-v-cca1f031]:hover {
  color: white;
  border-bottom-color: white;
}
/* 列表样式 */
.message-bubble ul[data-v-cca1f031],
.message-bubble ol[data-v-cca1f031] {
  padding-left: var(--space-6);
  margin: var(--space-3) 0;
}
.message-bubble li[data-v-cca1f031] {
  margin-bottom: var(--space-1);
}
/* 表格样式 */
.message-bubble table[data-v-cca1f031] {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-3) 0;
  font-size: var(--font-size-sm);
}
.message-bubble th[data-v-cca1f031],
.message-bubble td[data-v-cca1f031] {
  border: 1px solid var(--color-table-border);
  padding: var(--space-2) var(--space-3);
  text-align: left;
}
.message-bubble th[data-v-cca1f031] {
  background: var(--color-table-header-bg);
  font-weight: var(--font-weight-semibold);
}
.message-card.user .message-bubble th[data-v-cca1f031],
.message-card.user .message-bubble td[data-v-cca1f031] {
  border-color: rgba(255, 255, 255, 0.2);
}
.message-card.user .message-bubble th[data-v-cca1f031] {
  background: rgba(255, 255, 255, 0.1);
}
/* 响应式设计 */
@media (max-width: 768px) {
.message-content-wrapper[data-v-cca1f031] {
    max-width: 95%;
}
.message-avatar[data-v-cca1f031] {
    width: 36px;
    height: 36px;
}
.message-bubble[data-v-cca1f031] {
    padding: var(--space-3);
}
.message-actions[data-v-cca1f031] {
    flex-wrap: wrap;
}
.action-button[data-v-cca1f031] {
    width: 28px;
    height: 28px;
    font-size: var(--font-size-xs);
}
}
@media (max-width: 480px) {
.message-content-wrapper[data-v-cca1f031] {
    max-width: 100%;
}
.message-bubble[data-v-cca1f031] {
    border-radius: var(--radius-lg);
}
.message-actions[data-v-cca1f031] {
    margin-top: var(--space-2);
}
}
/* 加载状态 */
.message-card.loading .message-bubble[data-v-cca1f031] {
  background: var(--color-surface-hover);
  border-color: var(--color-border-strong);
}
.message-card.loading .message-text[data-v-cca1f031] {
  color: var(--color-text-tertiary);
  font-style: italic;
}
/* 错误状态 */
.message-card.error .message-bubble[data-v-cca1f031] {
  background: var(--color-error-bg);
  border-color: var(--color-error);
}
.message-card.error .message-text[data-v-cca1f031] {
  color: var(--color-error);
}
/* 动画效果 */
@keyframes slideInUp-cca1f031 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes pulse-cca1f031 {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0.5;
}
}
.message-card.loading .message-text[data-v-cca1f031] {
  animation: pulse-cca1f031 1.5s ease-in-out infinite;
}
/* 深色主题适配 */
@media (prefers-color-scheme: dark) {
.message-bubble[data-v-cca1f031] {
    backdrop-filter: blur(20px);
}
.message-card.user .message-bubble[data-v-cca1f031] {
    box-shadow: var(--shadow-glow), 0 0 20px rgba(59, 130, 246, 0.3);
}
}
/* AI助手容器 - DeepSeek风格 */
.ai-assistant-container[data-v-cca1f031] {
  display: flex;
  flex-direction: column;
  height: 100vh;
  width: 100%;
  background: var(--color-background);
  color: var(--color-text-primary);
  font-family: var(--font-family-sans);
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
/* 头部区域 */
.ai-header[data-v-cca1f031] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-6) var(--space-6);
  background: var(--color-background-secondary);
  border-bottom: 1px solid var(--color-border);
  backdrop-filter: blur(10px);
  position: relative;
  z-index: 10;
}
.ai-header h2[data-v-cca1f031] {
  margin: 0;
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  background: var(--gradient-accent);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.02em;
}
/* 模型信息区域 */
.ai-model-info[data-v-cca1f031] {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}
.model-selector[data-v-cca1f031] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.model-selector span[data-v-cca1f031] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-medium);
}
.model-selector select[data-v-cca1f031] {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-2) var(--space-3);
  color: var(--color-text-primary);
  font-size: var(--font-size-sm);
  transition: var(--transition-all);
}
.model-selector select[data-v-cca1f031]:focus {
  outline: none;
  border-color: var(--color-border-focus);
  box-shadow: var(--shadow-glow);
}
/* 黑夜模式下的select样式增强 */
.dark .model-selector select[data-v-cca1f031] {
  background-color: #1e293b !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}
.dark .model-selector select[data-v-cca1f031]:hover {
  background-color: #334155 !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}
.dark .model-selector select[data-v-cca1f031]:focus {
  background-color: #1e293b !important;
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1) !important;
}
/* 黑夜模式下的option样式 */
.dark .model-selector select option[data-v-cca1f031] {
  background-color: #1e293b !important;
  color: #ffffff !important;
  padding: 8px 12px !important;
}
.dark .model-selector select option[data-v-cca1f031]:hover {
  background-color: #334155 !important;
  color: #ffffff !important;
}
.dark .model-selector select option[data-v-cca1f031]:checked {
  background-color: #475569 !important;
  color: #ffffff !important;
}
/* 黑夜模式下的optgroup样式 */
.dark .model-selector select optgroup[data-v-cca1f031] {
  background-color: #1e293b !important;
  color: #ffffff !important;
  font-weight: bold !important;
  padding: 4px 8px !important;
}
/* 确保所有浏览器兼容性 */
.dark select[data-v-cca1f031] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.dark select option[data-v-cca1f031] {
  background-color: #1e293b !important;
  color: #ffffff !important;
}
.dark select optgroup[data-v-cca1f031] {
  background-color: #1e293b !important;
  color: #ffffff !important;
  font-weight: bold !important;
}
.model-status[data-v-cca1f031] {
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  background: var(--color-error-bg);
  color: var(--color-error);
  border: 1px solid var(--color-error);
  transition: var(--transition-all);
}
.model-status.connected[data-v-cca1f031] {
  background: var(--color-success-bg);
  color: var(--color-success);
  border-color: var(--color-success);
}
/* 头部控制区域 */
.header-controls[data-v-cca1f031] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
/* 返回首页按钮 */
.home-button[data-v-cca1f031] {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: var(--transition-all);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.home-button[data-v-cca1f031]:hover {
  background: var(--color-surface-hover);
  border-color: var(--color-border-strong);
  color: var(--color-text-primary);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
.home-button[data-v-cca1f031]:focus {
  outline: none;
  border-color: var(--color-border-focus);
  box-shadow: var(--shadow-glow);
}
/* 主题切换器 */
.theme-switcher[data-v-cca1f031] {
  display: flex;
  gap: var(--space-2);
}
.theme-switcher button[data-v-cca1f031] {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: var(--transition-all);
  display: flex;
  align-items: center;
  justify-content: center;
}
.theme-switcher button[data-v-cca1f031]:hover {
  background: var(--color-surface-hover);
  border-color: var(--color-border-strong);
  color: var(--color-text-primary);
}
.theme-switcher button.active[data-v-cca1f031] {
  background: var(--gradient-accent);
  border-color: var(--color-primary-500);
  color: white;
  box-shadow: var(--shadow-glow);
}
/* 聊天容器 */
.chat-container[data-v-cca1f031] {
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  position: relative;
}
/* 消息滚动区域 */
.messages-scroll-area[data-v-cca1f031] {
  flex: 1;
  overflow-y: auto;
  scroll-behavior: smooth;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
  
  /* 自定义滚动条样式 */
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
}
.messages-scroll-area[data-v-cca1f031]::-webkit-scrollbar {
  width: 6px;
}
.messages-scroll-area[data-v-cca1f031]::-webkit-scrollbar-track {
  background: transparent;
}
.messages-scroll-area[data-v-cca1f031]::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
}
.messages-scroll-area[data-v-cca1f031]::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}
/* 消息内容容器 */
.messages-content[data-v-cca1f031] {
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
  padding: 24px;
  box-sizing: border-box;
  min-height: 100%;
}
/* 欢迎消息 */
.welcome-message[data-v-cca1f031] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-16) var(--space-8);
  min-height: 400px;
}
.ai-avatar[data-v-cca1f031] {
  width: 80px;
  height: 80px;
  border-radius: var(--radius-2xl);
  background: var(--gradient-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-6);
  box-shadow: var(--shadow-glow);
}
.ai-avatar i[data-v-cca1f031] {
  font-size: 32px;
  color: white;
}
.welcome-content h3[data-v-cca1f031] {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  margin: 0 0 var(--space-4);
  color: var(--color-text-primary);
}
.welcome-content p[data-v-cca1f031] {
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
  margin: 0 0 var(--space-8);
  max-width: 500px;
  line-height: var(--line-height-relaxed);
}
/* 建议芯片 */
.suggestion-chips[data-v-cca1f031] {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
}
.chip[data-v-cca1f031] {
  padding: var(--space-3) var(--space-4);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  cursor: pointer;
  transition: var(--transition-all);
  white-space: nowrap;
}
.chip[data-v-cca1f031]:hover {
  background: var(--color-surface-hover);
  border-color: var(--color-border-accent);
  color: var(--color-text-accent);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
/* 消息包装器 */
.message-wrapper[data-v-cca1f031] {
  display: flex;
  margin-bottom: 20px;
  width: 100%;
}
.message-wrapper.user[data-v-cca1f031] {
  justify-content: flex-end;
}
.message-wrapper.assistant[data-v-cca1f031] {
  justify-content: flex-start;
}
/* 消息卡片 */
.message[data-v-cca1f031] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  max-width: 80%;
  animation: messageSlideIn 0.3s ease-out;
}
.message.user[data-v-cca1f031] {
  flex-direction: row-reverse;
}
.message-avatar[data-v-cca1f031] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 16px;
  margin-top: 4px;
}
.message.user .message-avatar[data-v-cca1f031] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}
.message.assistant .message-avatar[data-v-cca1f031] {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  color: white;
}
.message-content[data-v-cca1f031] {
  flex: 1;
  min-width: 0;
  position: relative;
}
.message.user .message-content[data-v-cca1f031] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-radius: 18px 18px 4px 18px;
  padding: 14px 18px;
  border: none;
}
.message.assistant .message-content[data-v-cca1f031] {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 18px 18px 18px 4px;
  padding: 14px 18px;
  color: var(--color-text-primary);
  transition: var(--transition-all);
  text-align: left;
}
.message.assistant .message-content[data-v-cca1f031]:hover {
  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-md);
}
/* 消息操作按钮 */
.message-actions[data-v-cca1f031] {
  display: flex;
  gap: 6px;
  margin-top: 12px;
  padding-top: 8px;
  border-top: 1px solid var(--color-border-light);
  opacity: 0;
  transition: opacity 0.2s ease;
  justify-content: flex-start;
}
.message:hover .message-actions[data-v-cca1f031] {
  opacity: 1;
}
.action-button[data-v-cca1f031] {
  background: var(--color-surface-secondary);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 6px 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--color-text-secondary);
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
}
.action-button[data-v-cca1f031]:hover {
  background: var(--color-surface-hover);
  color: var(--color-text-primary);
  border-color: var(--color-primary-400);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.action-button.liked[data-v-cca1f031] {
  color: #10b981;
  border-color: #10b981;
  background: rgba(16, 185, 129, 0.1);
}
.action-button.disliked[data-v-cca1f031] {
  color: #ef4444;
  border-color: #ef4444;
  background: rgba(239, 68, 68, 0.1);
}
.action-button.copy[data-v-cca1f031]:hover {
  color: #3b82f6;
  border-color: #3b82f6;
  background: rgba(59, 130, 246, 0.1);
}
.action-button.regenerate[data-v-cca1f031]:hover {
  color: #8b5cf6;
  border-color: #8b5cf6;
  background: rgba(139, 92, 246, 0.1);
}
/* 输入容器 */
.input-container[data-v-cca1f031] {
  padding: var(--space-6);
  background: var(--color-background-secondary);
  border-top: 1px solid var(--color-border);
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: var(--space-3);
}
.input-wrapper[data-v-cca1f031] {
  flex: 1;
  display: flex;
  align-items: flex-end;
  background: var(--color-input-bg);
  border: 1px solid var(--color-input-border);
  border-radius: var(--radius-2xl);
  transition: var(--transition-all);
  position: relative;
}
.input-wrapper[data-v-cca1f031]:focus-within {
  border-color: var(--color-input-border-focus);
  box-shadow: var(--shadow-glow);
}
.input-container textarea[data-v-cca1f031] {
  flex: 1;
  border: none;
  background: transparent;
  padding: var(--space-4);
  resize: none;
  min-height: 24px;
  max-height: 200px;
  font-family: inherit;
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  color: var(--color-input-text);
  outline: none;
}
.input-container textarea[data-v-cca1f031]::placeholder {
  color: var(--color-input-placeholder);
}
/* 按钮组 */
.button-group[data-v-cca1f031] {
  display: flex;
  align-items: flex-end;
  gap: var(--space-2);
  padding-bottom: var(--space-2);
}
.send-button[data-v-cca1f031],
.stop-button-input[data-v-cca1f031] {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-xl);
  border: none;
  background: var(--color-button-primary-bg);
  color: var(--color-button-primary-text);
  cursor: pointer;
  transition: var(--transition-all);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-base);
}
.send-button[data-v-cca1f031]:hover:not(:disabled),
.stop-button-input[data-v-cca1f031]:hover {
  background: var(--color-button-primary-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-glow);
}
.send-button[data-v-cca1f031]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}
.stop-button-input[data-v-cca1f031] {
  background: var(--color-error);
}
.stop-button-input[data-v-cca1f031]:hover {
  background: #dc2626;
}
/* 连接错误 */
.connection-error[data-v-cca1f031] {
  padding: var(--space-4);
  margin: var(--space-4);
  background: var(--color-error-bg);
  border: 1px solid var(--color-error);
  border-radius: var(--radius-lg);
  text-align: center;
}
.connection-error p[data-v-cca1f031] {
  margin: 0 0 var(--space-3);
  color: var(--color-error);
  font-weight: var(--font-weight-medium);
}
.retry-button[data-v-cca1f031] {
  padding: var(--space-2) var(--space-4);
  background: var(--color-error);
  color: white;
  border: none;
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: var(--transition-all);
  font-weight: var(--font-weight-medium);
}
.retry-button[data-v-cca1f031]:hover {
  background: #dc2626;
  transform: translateY(-1px);
}
/* 加载文本 */
.loading-text[data-v-cca1f031] {
  color: var(--color-text-tertiary);
  font-style: italic;
}
/* 动画 */
@keyframes slideInUp-cca1f031 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
/* 响应式设计 */
@media (max-width: 768px) {
.ai-header[data-v-cca1f031] {
    padding: var(--space-4);
    flex-direction: column;
    gap: var(--space-3);
}
.ai-header h2[data-v-cca1f031] {
    font-size: var(--font-size-xl);
}
.chat-container[data-v-cca1f031] {
    padding: var(--space-4);
}
.message-wrapper[data-v-cca1f031] {
    margin-bottom: 16px;
}
.message[data-v-cca1f031] {
    max-width: 95%;
    gap: 8px;
}
.message-avatar[data-v-cca1f031] {
    width: 32px;
    height: 32px;
    font-size: 14px;
}
.message-content[data-v-cca1f031] {
    padding: 12px 14px;
}
.message.user .message-content[data-v-cca1f031] {
    border-radius: 16px 16px 4px 16px;
}
.message.assistant .message-content[data-v-cca1f031] {
    border-radius: 16px 16px 16px 4px;
}
.message-actions[data-v-cca1f031] {
    gap: 4px;
    margin-top: 8px;
    padding-top: 6px;
}
.action-button[data-v-cca1f031] {
    min-width: 28px;
    height: 28px;
    padding: 4px 6px;
    font-size: 11px;
}
.input-container[data-v-cca1f031] {
    padding: var(--space-4);
}
.welcome-message[data-v-cca1f031] {
    padding: var(--space-8) var(--space-4);
}
.suggestion-chips[data-v-cca1f031] {
    flex-direction: column;
    align-items: center;
}
}

.user-message[data-v-0dc5eb91] {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: var(--space-3);
  margin-left: 15%;
  animation: messageSlideIn-0dc5eb91 0.3s ease-out;
}
.message-content[data-v-0dc5eb91] {
  background: var(--primary-500);
  color: white;
  border-radius: 18px 4px 18px 18px;
  padding: var(--space-3) var(--space-4);
  max-width: 100%;
  word-wrap: break-word;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.message-text[data-v-0dc5eb91] {
  font-size: var(--font-size-base);
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
}
.message-meta[data-v-0dc5eb91] {
  margin-top: var(--space-2);
  display: flex;
  justify-content: flex-end;
}
.message-time[data-v-0dc5eb91] {
  font-size: var(--font-size-xs);
  color: rgba(255, 255, 255, 0.8);
  opacity: 0.9;
}
.user-avatar[data-v-0dc5eb91] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--gray-200);
  flex-shrink: 0;
  border: 2px solid var(--border-color);
}
.user-avatar img[data-v-0dc5eb91] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 悬停效果 */
.user-message:hover .message-content[data-v-0dc5eb91] {
  background: var(--primary-600);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* 动画定义 */
@keyframes messageSlideIn-0dc5eb91 {
from {
    opacity: 0;
    transform: translateX(20px) translateY(10px);
}
to {
    opacity: 1;
    transform: translateX(0) translateY(0);
}
}

/* 响应式设计 */
@media (max-width: 768px) {
.user-message[data-v-0dc5eb91] {
    margin-left: 10%;
    gap: var(--space-2);
}
.message-content[data-v-0dc5eb91] {
    padding: var(--space-2) var(--space-3);
}
.message-text[data-v-0dc5eb91] {
    font-size: var(--font-size-sm);
}
.user-avatar[data-v-0dc5eb91] {
    width: 28px;
    height: 28px;
}
}
@media (max-width: 480px) {
.user-message[data-v-0dc5eb91] {
    margin-left: 5%;
}
.message-content[data-v-0dc5eb91] {
    max-width: calc(100% - 40px);
}
}

/* 深色主题适配 */
@media (prefers-color-scheme: dark) {
.user-avatar[data-v-0dc5eb91] {
    border-color: var(--border-color-dark);
}
}

/* 高对比度模式 */
@media (prefers-contrast: high) {
.message-content[data-v-0dc5eb91] {
    border: 2px solid var(--primary-700);
}
.user-avatar[data-v-0dc5eb91] {
    border-width: 3px;
}
}

/* 减少动画模式 */
@media (prefers-reduced-motion: reduce) {
.user-message[data-v-0dc5eb91] {
    animation: none;
}
.user-message:hover .message-content[data-v-0dc5eb91] {
    transform: none;
    transition: none;
}
}

.ai-message[data-v-5931bbb3] {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 85%;
  animation: messageSlideIn-5931bbb3 0.3s ease-out;
}
.ai-avatar[data-v-5931bbb3] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--primary-500);
  flex-shrink: 0;
  border: 2px solid var(--border-color);
}
.ai-avatar img[data-v-5931bbb3] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.avatar-placeholder[data-v-5931bbb3] {
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}
.avatar-icon[data-v-5931bbb3] {
  width: 20px;
  height: 20px;
}
.message-content[data-v-5931bbb3] {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 4px 18px 18px 18px;
  overflow: hidden;
  flex: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* 消息头部 */
.message-header[data-v-5931bbb3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--border-color);
  background: var(--gray-50);
}
.ai-info[data-v-5931bbb3] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.ai-name[data-v-5931bbb3] {
  font-weight: 600;
  color: var(--text-primary);
  font-size: var(--font-size-sm);
}
.message-time[data-v-5931bbb3] {
  font-size: var(--font-size-xs);
  color: var(--text-secondary);
}
.message-actions[data-v-5931bbb3] {
  display: flex;
  gap: var(--space-1);
}
.action-btn[data-v-5931bbb3] {
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.action-btn[data-v-5931bbb3]:hover {
  background: var(--gray-100);
}
.action-btn .icon[data-v-5931bbb3] {
  width: 16px;
  height: 16px;
  fill: var(--text-secondary);
}

/* 思考过程区域 */
.thinking-section[data-v-5931bbb3] {
  border-bottom: 1px solid var(--border-color);
}
.thinking-toggle[data-v-5931bbb3] {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  border: none;
  background: var(--gray-25);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: var(--font-size-sm);
}
.thinking-toggle[data-v-5931bbb3]:hover {
  background: var(--gray-50);
}
.thinking-toggle.expanded[data-v-5931bbb3] {
  background: var(--primary-50);
}
.toggle-icon[data-v-5931bbb3] {
  width: 16px;
  height: 16px;
  fill: var(--text-secondary);
  transition: transform 0.2s ease;
}
.thinking-toggle.expanded .toggle-icon[data-v-5931bbb3] {
  transform: rotate(180deg);
}
.thinking-label[data-v-5931bbb3] {
  color: var(--text-primary);
  font-weight: 500;
}
.thinking-badge[data-v-5931bbb3] {
  margin-left: auto;
  background: var(--primary-100);
  color: var(--primary-700);
  padding: 2px 8px;
  border-radius: 12px;
  font-size: var(--font-size-xs);
  font-weight: 500;
}
.thinking-content[data-v-5931bbb3] {
  padding: var(--space-4);
  background: var(--gray-25);
  border-top: 1px solid var(--border-color);
}
.thinking-text[data-v-5931bbb3] {
  font-size: var(--font-size-sm);
  line-height: 1.6;
  color: var(--text-secondary);
}

/* 主要回答内容 */
.answer-content[data-v-5931bbb3] {
  padding: var(--space-4);
}
.answer-text[data-v-5931bbb3] {
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--text-primary);
}

/* 消息状态 */
.message-status[data-v-5931bbb3] {
  padding: var(--space-2) var(--space-4);
  border-top: 1px solid var(--border-color);
  background: var(--gray-25);
}
.status-indicator[data-v-5931bbb3] {
  font-size: var(--font-size-xs);
  padding: 2px 6px;
  border-radius: 8px;
  font-weight: 500;
}
.status-sending[data-v-5931bbb3],
.status-generating[data-v-5931bbb3] {
  background: var(--warning-100);
  color: var(--warning-700);
}
.status-sent[data-v-5931bbb3],
.status-delivered[data-v-5931bbb3],
.status-completed[data-v-5931bbb3] {
  background: var(--success-100);
  color: var(--success-700);
}
.status-error[data-v-5931bbb3] {
  background: var(--error-100);
  color: var(--error-700);
}

/* 思考过程展开/收起动画 */
.thinking-enter-active[data-v-5931bbb3],
.thinking-leave-active[data-v-5931bbb3] {
  transition: all 0.3s ease;
  overflow: hidden;
}
.thinking-enter-from[data-v-5931bbb3],
.thinking-leave-to[data-v-5931bbb3] {
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.thinking-enter-to[data-v-5931bbb3],
.thinking-leave-from[data-v-5931bbb3] {
  max-height: 500px;
  opacity: 1;
}

/* 消息滑入动画 */
@keyframes messageSlideIn-5931bbb3 {
from {
    opacity: 0;
    transform: translateX(-20px) translateY(10px);
}
to {
    opacity: 1;
    transform: translateX(0) translateY(0);
}
}

/* 响应式设计 */
@media (max-width: 768px) {
.ai-message[data-v-5931bbb3] {
    max-width: 95%;
    gap: var(--space-2);
}
.ai-avatar[data-v-5931bbb3] {
    width: 28px;
    height: 28px;
}
.message-header[data-v-5931bbb3] {
    padding: var(--space-2) var(--space-3);
}
.thinking-toggle[data-v-5931bbb3] {
    padding: var(--space-2) var(--space-3);
}
.thinking-content[data-v-5931bbb3],
  .answer-content[data-v-5931bbb3] {
    padding: var(--space-3);
}
.action-btn[data-v-5931bbb3] {
    width: 24px;
    height: 24px;
}
.action-btn .icon[data-v-5931bbb3] {
    width: 14px;
    height: 14px;
}
}
@media (max-width: 480px) {
.ai-message[data-v-5931bbb3] {
    max-width: 100%;
}
.message-header[data-v-5931bbb3] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
}
.message-actions[data-v-5931bbb3] {
    align-self: flex-end;
}
}

/* 深色主题适配 */
[data-theme="dark"] .ai-message .message-header[data-v-5931bbb3] {
  background: var(--gray-800);
}
[data-theme="dark"] .ai-message .thinking-toggle[data-v-5931bbb3] {
  background: var(--gray-900);
}
[data-theme="dark"] .ai-message .thinking-toggle[data-v-5931bbb3]:hover {
  background: var(--gray-800);
}
[data-theme="dark"] .ai-message .thinking-content[data-v-5931bbb3] {
  background: var(--gray-900);
}

/* 系统深色主题适配（备用） */
@media (prefers-color-scheme: dark) {
.ai-message .message-header[data-v-5931bbb3] {
    background: var(--gray-800);
}
.ai-message .thinking-toggle[data-v-5931bbb3] {
    background: var(--gray-900);
}
.ai-message .thinking-toggle[data-v-5931bbb3]:hover {
    background: var(--gray-800);
}
.ai-message .thinking-content[data-v-5931bbb3] {
    background: var(--gray-900);
}
}

/* 搜索结果卡片样式 */
.search-results-section[data-v-5931bbb3] {
  margin-top: var(--space-4);
  border-top: 1px solid var(--border-color);
  padding-top: var(--space-4);
}

/* 减少动画模式 */
@media (prefers-reduced-motion: reduce) {
.ai-message[data-v-5931bbb3] {
    animation: none;
}
.thinking-enter-active[data-v-5931bbb3],
  .thinking-leave-active[data-v-5931bbb3] {
    transition: none;
}
.toggle-icon[data-v-5931bbb3] {
    transition: none;
}
}

/* 全局样式：Markdown 内容样式 */
.answer-text h1,
.answer-text h2,
.answer-text h3,
.answer-text h4,
.answer-text h5,
.answer-text h6 {
  margin: var(--space-4) 0 var(--space-2) 0;
  font-weight: 600;
  line-height: 1.3;
}
.answer-text h1 { font-size: 1.5em;
}
.answer-text h2 { font-size: 1.3em;
}
.answer-text h3 { font-size: 1.1em;
}
.answer-text p {
  margin: var(--space-2) 0;
}
.answer-text ul,
.answer-text ol {
  margin: var(--space-2) 0;
  padding-left: var(--space-6);
}
.answer-text li {
  margin: var(--space-1) 0;
}
.answer-text code {
  background: var(--code-bg);
  padding: 2px 4px;
  border-radius: 3px;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: 0.9em;
}
.answer-text pre {
  background: var(--code-bg);
  color: var(--text-primary);
  padding: var(--space-4);
  border-radius: 6px;
  overflow-x: auto;
  margin: var(--space-3) 0;
  border: 1px solid var(--border-color);
}

/* 深色主题下的代码块样式 */
[data-theme="dark"] .answer-text pre {
  background: var(--gray-900);
  color: var(--gray-100);
  border-color: var(--gray-700);
}
[data-theme="dark"] .answer-text code {
  background: var(--gray-800);
  color: var(--gray-200);
}
.answer-text pre code {
  background: none;
  padding: 0;
  color: inherit;
}
.answer-text blockquote {
  border-left: 4px solid var(--primary-500);
  padding-left: var(--space-4);
  margin: var(--space-3) 0;
  color: var(--text-secondary);
  font-style: italic;
}
.answer-text a {
  color: var(--primary-600);
  text-decoration: none;
}
.answer-text a:hover {
  text-decoration: underline;
}
.answer-text table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-3) 0;
}
.answer-text th,
.answer-text td {
  border: 1px solid var(--border-color);
  padding: var(--space-2);
  text-align: left;
}
.answer-text th {
  background: var(--gray-50);
  font-weight: 600;
}

.message-card[data-v-9a4a437f] {
  margin-bottom: var(--space-4);
  animation: messageSlideIn-9a4a437f 0.3s ease-out;
  width: 100%;
  display: flex;
  flex-direction: column;
}
.message-card.message-first[data-v-9a4a437f] {
  margin-top: var(--space-4);
}

/* 用户消息容器样式 */
.message-card.message-user[data-v-9a4a437f] {
  align-items: flex-end;
}

/* 系统消息样式 */
.system-message[data-v-9a4a437f] {
  display: flex;
  justify-content: center;
  margin: var(--space-6) 0;
}
.system-content[data-v-9a4a437f] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  background: var(--gray-50);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: var(--space-2) var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--text-secondary);
  max-width: 80%;
}
.system-icon[data-v-9a4a437f] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.system-icon .icon[data-v-9a4a437f] {
  width: 100%;
  height: 100%;
  stroke: var(--text-secondary);
}
.system-text[data-v-9a4a437f] {
  flex: 1;
  text-align: center;
}
.system-time[data-v-9a4a437f] {
  font-size: var(--font-size-xs);
  opacity: 0.7;
}

/* 错误消息样式 */
.error-message[data-v-9a4a437f] {
  display: flex;
  justify-content: center;
  margin: var(--space-4) 0;
}
.error-content[data-v-9a4a437f] {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 12px;
  padding: var(--space-4);
  max-width: 80%;
  text-align: center;
}
.error-icon[data-v-9a4a437f] {
  width: 24px;
  height: 24px;
  margin: 0 auto var(--space-2);
  color: var(--danger-color);
}
.error-icon .icon[data-v-9a4a437f] {
  width: 100%;
  height: 100%;
  stroke: currentColor;
}
.error-text[data-v-9a4a437f] {
  color: #991b1b;
  font-size: var(--font-size-sm);
  margin-bottom: var(--space-3);
  line-height: 1.5;
}
.error-actions[data-v-9a4a437f] {
  display: flex;
  justify-content: center;
}
.retry-btn[data-v-9a4a437f] {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  background: var(--danger-color);
  color: white;
  border: none;
  border-radius: 6px;
  padding: var(--space-2) var(--space-3);
  font-size: var(--font-size-sm);
  cursor: pointer;
  transition: all 0.2s ease;
}
.retry-btn[data-v-9a4a437f]:hover:not(:disabled) {
  background: #dc2626;
  transform: translateY(-1px);
}
.retry-btn[data-v-9a4a437f]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.retry-btn .icon[data-v-9a4a437f] {
  width: 14px;
  height: 14px;
  stroke: currentColor;
}

/* 加载消息样式 */
.loading-message[data-v-9a4a437f] {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 85%;
  animation: messageSlideIn-9a4a437f 0.3s ease-out;
}
.loading-content[data-v-9a4a437f] {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 4px 18px 18px 18px;
  padding: var(--space-3) var(--space-4);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.loading-avatar[data-v-9a4a437f] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--primary-50);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.loading-dots[data-v-9a4a437f] {
  display: flex;
  gap: 3px;
}
.loading-dots span[data-v-9a4a437f] {
  width: 4px;
  height: 4px;
  background: var(--primary-500);
  border-radius: 50%;
  animation: loadingDots-9a4a437f 1.4s infinite ease-in-out both;
}
.loading-dots span[data-v-9a4a437f]:nth-child(1) {
  animation-delay: -0.32s;
}
.loading-dots span[data-v-9a4a437f]:nth-child(2) {
  animation-delay: -0.16s;
}
.loading-text[data-v-9a4a437f] {
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  font-style: italic;
}

/* 动画定义 */
@keyframes messageSlideIn-9a4a437f {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes loadingDots-9a4a437f {
0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
}
40% {
    transform: scale(1);
    opacity: 1;
}
}

/* 响应式设计 */
@media (max-width: 768px) {
.system-content[data-v-9a4a437f],
  .error-content[data-v-9a4a437f] {
    max-width: 95%;
    padding: var(--space-2) var(--space-3);
}
.loading-message[data-v-9a4a437f] {
    max-width: 95%;
}
.loading-content[data-v-9a4a437f] {
    padding: var(--space-2) var(--space-3);
}
.loading-avatar[data-v-9a4a437f] {
    width: 28px;
    height: 28px;
}
}

/* 深色主题适配 */
[data-theme="dark"] .system-content[data-v-9a4a437f] {
  background: var(--gray-800);
  border-color: var(--border-color);
}
[data-theme="dark"] .error-content[data-v-9a4a437f] {
  background: #7f1d1d;
  border-color: #991b1b;
}
[data-theme="dark"] .error-text[data-v-9a4a437f] {
  color: #fca5a5;
}
[data-theme="dark"] .loading-avatar[data-v-9a4a437f] {
  background: var(--primary-900);
}

/* 高对比度模式 */
@media (prefers-contrast: high) {
.system-content[data-v-9a4a437f],
  .error-content[data-v-9a4a437f],
  .loading-content[data-v-9a4a437f] {
    border-width: 2px;
}
}

/* 减少动画模式 */
@media (prefers-reduced-motion: reduce) {
.message-card[data-v-9a4a437f],
  .loading-message[data-v-9a4a437f] {
    animation: none;
}
.loading-dots span[data-v-9a4a437f] {
    animation: none;
    opacity: 0.7;
}
.retry-btn[data-v-9a4a437f]:hover:not(:disabled) {
    transform: none;
}
}

.virtual-scroll-container[data-v-9430ba69] {
  position: relative;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100%;
  
  /* 自定义滚动条 */
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}
.virtual-scroll-container[data-v-9430ba69]::-webkit-scrollbar {
  width: 6px;
}
.virtual-scroll-container[data-v-9430ba69]::-webkit-scrollbar-track {
  background: var(--scrollbar-track);
}
.virtual-scroll-container[data-v-9430ba69]::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 3px;
}
.virtual-scroll-container[data-v-9430ba69]::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
}
.virtual-scroll-spacer[data-v-9430ba69] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  pointer-events: none;
}
.virtual-scroll-content[data-v-9430ba69] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.virtual-scroll-item[data-v-9430ba69] {
  position: relative;
}

/* CSS变量 */
[data-v-9430ba69]:root {
  --scrollbar-track: #f1f1f1;
  --scrollbar-thumb: #c1c1c1;
  --scrollbar-thumb-hover: #a8a8a8;
}
[data-theme="dark"][data-v-9430ba69] {
  --scrollbar-track: #2d3748;
  --scrollbar-thumb: #4a5568;
  --scrollbar-thumb-hover: #718096;
}

.message-list[data-v-69886572] {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  scroll-behavior: smooth;
  
  /* 自定义滚动条 */
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}
.message-list[data-v-69886572]::-webkit-scrollbar {
  width: 6px;
}
.message-list[data-v-69886572]::-webkit-scrollbar-track {
  background: var(--scrollbar-track);
}
.message-list[data-v-69886572]::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 3px;
}
.message-list[data-v-69886572]::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
}
.messages-container[data-v-69886572] {
  padding: var(--space-4) var(--space-6);
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

/* 确保消息卡片能够正确对齐 */
.direct-render[data-v-69886572] {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
}
.message-wrapper[data-v-69886572] {
  animation: messageSlideIn-69886572 0.3s ease-out;
}

/* 加载状态样式 */
.loading-message[data-v-69886572] {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 85%;
  animation: messageSlideIn-69886572 0.3s ease-out;
}
.loading-avatar[data-v-69886572] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--primary-500);
  flex-shrink: 0;
}
.loading-avatar img[data-v-69886572] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.avatar-placeholder[data-v-69886572] {
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}
.avatar-icon[data-v-69886572] {
  width: 20px;
  height: 20px;
}
.loading-content[data-v-69886572] {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 4px 18px 18px 18px;
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.loading-dots[data-v-69886572] {
  display: flex;
  gap: 4px;
  align-items: center;
}
.loading-dots span[data-v-69886572] {
  width: 8px;
  height: 8px;
  background: var(--primary-500);
  border-radius: 50%;
  animation: loadingDots-69886572 1.4s infinite ease-in-out;
}
.loading-dots span[data-v-69886572]:nth-child(1) {
  animation-delay: -0.32s;
}
.loading-dots span[data-v-69886572]:nth-child(2) {
  animation-delay: -0.16s;
}
.loading-text[data-v-69886572] {
  font-size: var(--font-size-sm);
  color: var(--text-secondary);
}

/* 滚动到底部按钮 */
.scroll-to-bottom[data-v-69886572] {
  position: absolute;
  bottom: var(--space-4);
  right: var(--space-6);
  width: 40px;
  height: 40px;
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  backdrop-filter: blur(10px);
  z-index: 5;
}
.scroll-to-bottom[data-v-69886572]:hover {
  background: var(--card-bg-hover);
  border-color: var(--border-color-strong);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.scroll-to-bottom .icon[data-v-69886572] {
  width: 20px;
  height: 20px;
  fill: var(--text-secondary);
}

/* 动画定义 */
@keyframes messageSlideIn-69886572 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes loadingDots-69886572 {
0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
}
40% {
    transform: scale(1);
    opacity: 1;
}
}

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

/* 响应式设计 */
@media (max-width: 768px) {
.messages-container[data-v-69886572] {
    padding: var(--space-3) var(--space-4);
    gap: var(--space-3);
}
.scroll-to-bottom[data-v-69886572] {
    bottom: var(--space-3);
    right: var(--space-4);
    width: 36px;
    height: 36px;
}
.scroll-to-bottom .icon[data-v-69886572] {
    width: 18px;
    height: 18px;
}
}
@media (max-width: 480px) {
.loading-message[data-v-69886572] {
    max-width: 95%;
}
}

.chat-input[data-v-947bb731] {
  background: var(--card-bg);
  border-top: 1px solid var(--border-color);
  padding: var(--space-4);
}
.input-container[data-v-947bb731] {
  display: flex;
  align-items: flex-end;
  gap: var(--space-2);
  background: var(--input-bg);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: var(--space-2);
  transition: border-color 0.2s ease;
}
.input-container[data-v-947bb731]:focus-within {
  border-color: var(--primary-500);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.attachment-btn[data-v-947bb731] {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.attachment-btn[data-v-947bb731]:hover:not(:disabled) {
  background: var(--gray-100);
}
.attachment-btn[data-v-947bb731]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.attachment-btn .icon[data-v-947bb731] {
  width: 20px;
  height: 20px;
  fill: var(--text-secondary);
}
.input-wrapper[data-v-947bb731] {
  flex: 1;
  position: relative;
}
.message-input[data-v-947bb731] {
  width: 100%;
  border: none;
  background: transparent;
  resize: none;
  outline: none;
  font-size: var(--font-size-base);
  line-height: 1.5;
  color: var(--text-primary);
  padding: 6px 0;
  min-height: 24px;
  max-height: 120px;
  font-family: inherit;
}
.message-input[data-v-947bb731]::placeholder {
  color: var(--text-placeholder);
}
.message-input[data-v-947bb731]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.char-count[data-v-947bb731] {
  position: absolute;
  bottom: -20px;
  right: 0;
  font-size: var(--font-size-xs);
  color: var(--text-secondary);
  transition: color 0.2s ease;
}
.char-count.warning[data-v-947bb731] {
  color: var(--warning-600);
}
.char-count.error[data-v-947bb731] {
  color: var(--error-600);
}
.send-btn[data-v-947bb731] {
  width: 36px;
  height: 36px;
  border: none;
  background: var(--primary-500);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.send-btn[data-v-947bb731]:hover:not(:disabled) {
  background: var(--primary-600);
  transform: translateY(-1px);
}
.send-btn[data-v-947bb731]:disabled {
  background: var(--gray-300);
  cursor: not-allowed;
  transform: none;
}
.send-btn .icon[data-v-947bb731] {
  width: 18px;
  height: 18px;
  fill: white;
}
.loading-spinner[data-v-947bb731] {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid white;
  border-radius: 50%;
  animation: spin-947bb731 1s linear infinite;
}

/* 上传文件列表 */
.uploaded-files[data-v-947bb731] {
  margin-top: var(--space-3);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.file-item[data-v-947bb731] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  background: var(--gray-50);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: var(--space-2);
  max-width: 200px;
}
.file-info[data-v-947bb731] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex: 1;
  min-width: 0;
}
.file-icon[data-v-947bb731] {
  width: 16px;
  height: 16px;
  fill: var(--text-secondary);
  flex-shrink: 0;
}
.file-details[data-v-947bb731] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.file-name[data-v-947bb731] {
  font-size: var(--font-size-sm);
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.file-size[data-v-947bb731] {
  font-size: var(--font-size-xs);
  color: var(--text-secondary);
}
.remove-file-btn[data-v-947bb731] {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.remove-file-btn[data-v-947bb731]:hover {
  background: var(--error-100);
}
.remove-file-btn .icon[data-v-947bb731] {
  width: 14px;
  height: 14px;
  fill: var(--text-secondary);
}
.remove-file-btn:hover .icon[data-v-947bb731] {
  fill: var(--error-600);
}

/* 输入提示 */
.input-hints[data-v-947bb731] {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  justify-content: center;
}
.hint[data-v-947bb731] {
  font-size: var(--font-size-xs);
  color: var(--text-secondary);
}

/* 文件列表动画 */
.files-enter-active[data-v-947bb731],
.files-leave-active[data-v-947bb731] {
  transition: all 0.3s ease;
}
.files-enter-from[data-v-947bb731],
.files-leave-to[data-v-947bb731] {
  opacity: 0;
  transform: translateY(-10px);
}

/* 动画定义 */
@keyframes spin-947bb731 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/* 响应式设计 */
@media (max-width: 768px) {
.chat-input[data-v-947bb731] {
    padding: var(--space-3);
}
.input-container[data-v-947bb731] {
    padding: var(--space-1);
}
.attachment-btn[data-v-947bb731],
  .send-btn[data-v-947bb731] {
    width: 32px;
    height: 32px;
}
.attachment-btn .icon[data-v-947bb731],
  .send-btn .icon[data-v-947bb731] {
    width: 16px;
    height: 16px;
}
.input-hints[data-v-947bb731] {
    display: none;
}
.file-item[data-v-947bb731] {
    max-width: 150px;
}
}
@media (max-width: 480px) {
.uploaded-files[data-v-947bb731] {
    flex-direction: column;
}
.file-item[data-v-947bb731] {
    max-width: none;
}
}

/* 深色主题适配 */
@media (prefers-color-scheme: dark) {
.file-item[data-v-947bb731] {
    background: var(--gray-800);
}
.attachment-btn[data-v-947bb731]:hover:not(:disabled) {
    background: var(--gray-700);
}
.remove-file-btn[data-v-947bb731]:hover {
    background: var(--error-900);
}
}

/* 减少动画模式 */
@media (prefers-reduced-motion: reduce) {
.loading-spinner[data-v-947bb731] {
    animation: none;
}
.files-enter-active[data-v-947bb731],
  .files-leave-active[data-v-947bb731] {
    transition: none;
}
.send-btn[data-v-947bb731]:hover:not(:disabled) {
    transform: none;
}
}

/* 引入DeepSeek主题样式 */
/* DeepSeek主题配色方案 - AI助手问答页面重构 */
[data-v-437cdb6d]:root {
  /* ===== 主色调系统 ===== */
  --color-primary-50: #eff6ff;
  --color-primary-100: #dbeafe;
  --color-primary-200: #bfdbfe;
  --color-primary-300: #93c5fd;
  --color-primary-400: #60a5fa;
  --color-primary-500: #4facfe;
  --color-primary-600: #00d4ff;
  --color-primary-700: #0284c7;
  --color-primary-800: #0369a1;
  --color-primary-900: #0c4a6e;
  --color-primary-950: #082f49;

  /* ===== 背景色系统 ===== */
  --color-background: #0a0a0f;
  --color-background-secondary: #1a1a2e;
  --color-background-tertiary: #16213e;
  --color-surface: rgba(255, 255, 255, 0.05);
  --color-surface-elevated: rgba(255, 255, 255, 0.08);
  --color-surface-hover: rgba(255, 255, 255, 0.12);
  
  /* ===== 渐变背景 ===== */
  --gradient-primary: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  --gradient-secondary: linear-gradient(135deg, #0f3460 0%, #533483 100%);
  --gradient-accent: linear-gradient(135deg, #4facfe 0%, #00d4ff 100%);
  --gradient-surface: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);

  /* ===== 文字颜色系统 ===== */
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-tertiary: rgba(255, 255, 255, 0.6);
  --color-text-quaternary: rgba(255, 255, 255, 0.4);
  --color-text-inverse: #0a0a0f;
  --color-text-accent: #4facfe;
  --color-text-success: #10b981;
  --color-text-warning: #f59e0b;
  --color-text-error: #ef4444;

  /* ===== 边框颜色系统 ===== */
  --color-border: rgba(255, 255, 255, 0.1);
  --color-border-strong: rgba(255, 255, 255, 0.2);
  --color-border-subtle: rgba(255, 255, 255, 0.05);
  --color-border-accent: #4facfe;
  --color-border-focus: #00d4ff;

  /* ===== 状态颜色系统 ===== */
  --color-success: #10b981;
  --color-success-bg: rgba(16, 185, 129, 0.1);
  --color-warning: #f59e0b;
  --color-warning-bg: rgba(245, 158, 11, 0.1);
  --color-error: #ef4444;
  --color-error-bg: rgba(239, 68, 68, 0.1);
  --color-info: #3b82f6;
  --color-info-bg: rgba(59, 130, 246, 0.1);

  /* ===== 阴影系统 ===== */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.25);
  --shadow-glow: 0 0 20px rgba(79, 172, 254, 0.3);
  --shadow-glow-strong: 0 0 30px rgba(79, 172, 254, 0.5);

  /* ===== 圆角系统 ===== */
  --radius-none: 0;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-3xl: 24px;
  --radius-full: 9999px;

  /* ===== 间距系统 ===== */
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  /* ===== 字体系统 ===== */
  --font-family-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-family-mono: 'Fira Code', 'Monaco', 'Consolas', 'Liberation Mono', 'Courier New', monospace;
  --font-family-serif: Georgia, 'Times New Roman', Times, serif;

  /* ===== 字体大小系统 ===== */
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-size-3xl: 30px;
  --font-size-4xl: 36px;
  --font-size-5xl: 48px;
  --font-size-6xl: 60px;

  /* ===== 字体权重系统 ===== */
  --font-weight-thin: 100;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;

  /* ===== 行高系统 ===== */
  --line-height-none: 1;
  --line-height-tight: 1.25;
  --line-height-snug: 1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  --line-height-loose: 2;

  /* ===== 过渡动画系统 ===== */
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow: 350ms ease;
  --transition-all: all 250ms ease;
  --transition-colors: color 150ms ease, background-color 150ms ease, border-color 150ms ease;
  --transition-transform: transform 250ms ease;
  --transition-opacity: opacity 200ms ease;

  /* ===== Z-index系统 ===== */
  --z-index-dropdown: 1000;
  --z-index-sticky: 1020;
  --z-index-fixed: 1030;
  --z-index-modal-backdrop: 1040;
  --z-index-modal: 1050;
  --z-index-popover: 1060;
  --z-index-tooltip: 1070;
  --z-index-toast: 1080;

  /* ===== 断点系统 ===== */
  --breakpoint-xs: 320px;
  --breakpoint-sm: 480px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;

  /* ===== 专用颜色 - 消息卡片 ===== */
  --color-message-user-bg: var(--gradient-accent);
  --color-message-user-text: #ffffff;
  --color-message-ai-bg: var(--color-surface);
  --color-message-ai-text: var(--color-text-primary);
  --color-message-ai-border: var(--color-border);

  /* ===== 专用颜色 - 代码块 ===== */
  --color-code-bg: rgba(0, 0, 0, 0.3);
  --color-code-border: rgba(255, 255, 255, 0.1);
  --color-code-text: #e6e6e6;
  --color-inline-code-bg: rgba(255, 255, 255, 0.1);
  --color-inline-code-border: rgba(255, 255, 255, 0.15);
  --color-inline-code-text: #00d4ff;

  /* ===== 专用颜色 - 引用块 ===== */
  --color-quote-bg: rgba(79, 172, 254, 0.05);
  --color-quote-border: #4facfe;
  --color-quote-text: rgba(255, 255, 255, 0.8);

  /* ===== 专用颜色 - 表格 ===== */
  --color-table-border: rgba(255, 255, 255, 0.1);
  --color-table-header-bg: rgba(79, 172, 254, 0.1);
  --color-table-header-text: #4facfe;
  --color-table-row-even: rgba(255, 255, 255, 0.02);
  --color-table-row-hover: rgba(255, 255, 255, 0.05);

  /* ===== 专用颜色 - 输入框 ===== */
  --color-input-bg: rgba(26, 26, 46, 0.8);
  --color-input-border: rgba(255, 255, 255, 0.1);
  --color-input-border-focus: var(--color-border-focus);
  --color-input-text: var(--color-text-primary);
  --color-input-placeholder: var(--color-text-tertiary);

  /* ===== 专用颜色 - 按钮 ===== */
  --color-button-primary-bg: var(--gradient-accent);
  --color-button-primary-text: #ffffff;
  --color-button-primary-hover: linear-gradient(135deg, #5bb6fe 0%, #1ae4ff 100%);
  --color-button-secondary-bg: transparent;
  --color-button-secondary-border: var(--color-border-accent);
  --color-button-secondary-text: var(--color-text-accent);
  --color-button-secondary-hover: rgba(79, 172, 254, 0.1);

  /* ===== 专用颜色 - 加载动画 ===== */
  --color-loading-primary: #4facfe;
  --color-loading-secondary: #00d4ff;
  --color-loading-bg: rgba(79, 172, 254, 0.1);

  /* ===== 专用颜色 - 滚动条 ===== */
  --color-scrollbar-track: rgba(255, 255, 255, 0.05);
  --color-scrollbar-thumb: rgba(255, 255, 255, 0.2);
  --color-scrollbar-thumb-hover: rgba(255, 255, 255, 0.3);

  /* ===== 专用颜色 - 焦点状态 ===== */
  --color-focus: #00d4ff;
  --color-focus-ring: rgba(0, 212, 255, 0.3);

  /* ===== 流体字体系统 ===== */
  --font-size-fluid-xs: clamp(10px, 1.5vw, 12px);
  --font-size-fluid-sm: clamp(12px, 2vw, 14px);
  --font-size-fluid-base: clamp(14px, 2.5vw, 16px);
  --font-size-fluid-lg: clamp(16px, 3vw, 18px);
  --font-size-fluid-xl: clamp(18px, 3.5vw, 20px);
  --font-size-fluid-2xl: clamp(20px, 4vw, 24px);
  --font-size-fluid-3xl: clamp(24px, 5vw, 30px);
}
/* ===== 深色主题特定样式 ===== */
[data-theme="dark"][data-v-437cdb6d] {
  color-scheme: dark;
}
/* ===== 浅色主题变量覆盖（预留） ===== */
[data-theme="light"][data-v-437cdb6d] {
  --color-background: #ffffff;
  --color-background-secondary: #f8fafc;
  --color-background-tertiary: #f1f5f9;
  --color-surface: rgba(0, 0, 0, 0.05);
  --color-surface-elevated: rgba(0, 0, 0, 0.08);
  --color-surface-hover: rgba(0, 0, 0, 0.12);
  
  --color-text-primary: #0f172a;
  --color-text-secondary: rgba(15, 23, 42, 0.8);
  --color-text-tertiary: rgba(15, 23, 42, 0.6);
  --color-text-quaternary: rgba(15, 23, 42, 0.4);
  --color-text-inverse: #ffffff;
  
  --color-border: rgba(0, 0, 0, 0.1);
  --color-border-strong: rgba(0, 0, 0, 0.2);
  --color-border-subtle: rgba(0, 0, 0, 0.05);
  
  color-scheme: light;
}
/* ===== 高对比度主题（无障碍支持） ===== */
@media (prefers-contrast: high) {
[data-v-437cdb6d]:root {
    --color-border: rgba(255, 255, 255, 0.3);
    --color-border-strong: rgba(255, 255, 255, 0.5);
    --color-text-secondary: rgba(255, 255, 255, 0.9);
    --color-text-tertiary: rgba(255, 255, 255, 0.8);
}
}
/* ===== 减少动画（无障碍支持） ===== */
@media (prefers-reduced-motion: reduce) {
[data-v-437cdb6d]:root {
    --transition-fast: none;
    --transition-normal: none;
    --transition-slow: none;
    --transition-all: none;
    --transition-colors: none;
    --transition-transform: none;
    --transition-opacity: none;
}
}
/* ===== 打印样式优化 ===== */
@media print {
[data-v-437cdb6d]:root {
    --color-background: #ffffff;
    --color-text-primary: #000000;
    --color-text-secondary: #333333;
    --color-border: #cccccc;
    --shadow-md: none;
    --shadow-lg: none;
    --shadow-xl: none;
}
}
/* 引入聊天样式变量 */
/* AI助手问答页面样式变量 */
[data-v-437cdb6d]:root {
  /* 颜色系统 */
  --bg-color: #ffffff;
  --text-primary: #1f2937;
  --text-secondary: #6b7280;
  --border-color: #e5e7eb;
  --primary-color: #3b82f6;
  --primary-hover: #2563eb;
  --primary-light: #eff6ff;
  --hover-color: #f9fafb;
  --danger-color: #ef4444;
  --success-color: #10b981;
  --warning-color: #f59e0b;
  --code-bg: #f8fafc;
  
  /* 卡片和背景 */
  --card-bg: #ffffff;
  --card-bg-hover: #f9fafb;
  --primary-bg: #ffffff;
  
  /* 边框和分割线 */
  --border-color-strong: #d1d5db;
  
  /* 滚动条 */
  --scrollbar-track: transparent;
  --scrollbar-thumb: #d1d5db;
  --scrollbar-thumb-hover: #9ca3af;
  
  /* 间距系统 */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  
  /* 字体大小 */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  
  /* 颜色变体 */
  --gray-25: #fafafa;
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;
  
  --primary-50: #eff6ff;
  --primary-100: #dbeafe;
  --primary-200: #bfdbfe;
  --primary-300: #93c5fd;
  --primary-400: #60a5fa;
  --primary-500: #3b82f6;
  --primary-600: #2563eb;
  --primary-700: #1d4ed8;
  --primary-800: #1e40af;
  --primary-900: #1e3a8a;
  
  /* 阴影 */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
}
/* 深色主题 */
[data-theme="dark"][data-v-437cdb6d] {
  --bg-color: #111827;
  --text-primary: #f9fafb;
  --text-secondary: #9ca3af;
  --border-color: #374151;
  --primary-color: #3b82f6;
  --primary-hover: #2563eb;
  --primary-light: #1e3a8a;
  --hover-color: #1f2937;
  --danger-color: #ef4444;
  --success-color: #10b981;
  --warning-color: #f59e0b;
  --code-bg: #1f2937;
  
  --card-bg: #1f2937;
  --card-bg-hover: #374151;
  --primary-bg: #111827;
  
  --border-color-strong: #4b5563;
  
  --scrollbar-track: transparent;
  --scrollbar-thumb: #4b5563;
  --scrollbar-thumb-hover: #6b7280;
  
  --gray-25: #1f2937;
  --gray-50: #374151;
  --gray-100: #4b5563;
  --gray-200: #6b7280;
  --gray-300: #9ca3af;
  --gray-400: #d1d5db;
  --gray-500: #e5e7eb;
  --gray-600: #f3f4f6;
  --gray-700: #f9fafb;
  --gray-800: #ffffff;
  --gray-900: #ffffff;
  
  --primary-50: #1e3a8a;
  --primary-100: #1d4ed8;
  --primary-200: #2563eb;
  --primary-300: #3b82f6;
  --primary-400: #60a5fa;
  --primary-500: #3b82f6;
  --primary-600: #2563eb;
  --primary-700: #1d4ed8;
  --primary-800: #1e40af;
  --primary-900: #1e3a8a;
}
/* 字体大小主题 */
[data-font-size="small"][data-v-437cdb6d] {
  --font-size-xs: 0.6875rem;
  --font-size-sm: 0.8125rem;
  --font-size-base: 0.9375rem;
  --font-size-lg: 1.0625rem;
  --font-size-xl: 1.1875rem;
}
[data-font-size="large"][data-v-437cdb6d] {
  --font-size-xs: 0.8125rem;
  --font-size-sm: 0.9375rem;
  --font-size-base: 1.0625rem;
  --font-size-lg: 1.1875rem;
  --font-size-xl: 1.3125rem;
}
/* 全局样式重置 */
.chat-container[data-v-437cdb6d] * {
  box-sizing: border-box;
}
/* 代码块样式 */
.chat-container pre[data-v-437cdb6d] {
  background: var(--code-bg);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: var(--space-4);
  overflow-x: auto;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: var(--font-size-sm);
  line-height: 1.5;
}
.chat-container code[data-v-437cdb6d] {
  background: var(--code-bg);
  padding: 2px 4px;
  border-radius: 3px;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: 0.9em;
}
.chat-container pre code[data-v-437cdb6d] {
  background: transparent;
  padding: 0;
}
/* 表格样式 */
.chat-container table[data-v-437cdb6d] {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-4) 0;
}
.chat-container th[data-v-437cdb6d],
.chat-container td[data-v-437cdb6d] {
  border: 1px solid var(--border-color);
  padding: var(--space-2) var(--space-3);
  text-align: left;
}
.chat-container th[data-v-437cdb6d] {
  background: var(--gray-50);
  font-weight: 600;
}
/* 引用样式 */
.chat-container blockquote[data-v-437cdb6d] {
  border-left: 4px solid var(--primary-color);
  margin: var(--space-4) 0;
  padding: var(--space-3) var(--space-4);
  background: var(--gray-25);
  font-style: italic;
}
/* 链接样式 */
.chat-container a[data-v-437cdb6d] {
  color: var(--primary-color);
  text-decoration: none;
}
.chat-container a[data-v-437cdb6d]:hover {
  text-decoration: underline;
}
/* 列表样式 */
.chat-container ul[data-v-437cdb6d],
.chat-container ol[data-v-437cdb6d] {
  padding-left: var(--space-6);
  margin: var(--space-3) 0;
}
.chat-container li[data-v-437cdb6d] {
  margin: var(--space-1) 0;
}
/* 标题样式 */
.chat-container h1[data-v-437cdb6d],
.chat-container h2[data-v-437cdb6d],
.chat-container h3[data-v-437cdb6d],
.chat-container h4[data-v-437cdb6d],
.chat-container h5[data-v-437cdb6d],
.chat-container h6[data-v-437cdb6d] {
  margin: var(--space-4) 0 var(--space-2) 0;
  font-weight: 600;
  line-height: 1.3;
}
.chat-container h1[data-v-437cdb6d] { font-size: 1.5em;
}
.chat-container h2[data-v-437cdb6d] { font-size: 1.3em;
}
.chat-container h3[data-v-437cdb6d] { font-size: 1.2em;
}
.chat-container h4[data-v-437cdb6d] { font-size: 1.1em;
}
.chat-container h5[data-v-437cdb6d] { font-size: 1em;
}
.chat-container h6[data-v-437cdb6d] { font-size: 0.9em;
}
/* 段落样式 */
.chat-container p[data-v-437cdb6d] {
  margin: var(--space-3) 0;
  line-height: 1.6;
}
/* 强调样式 */
.chat-container strong[data-v-437cdb6d] {
  font-weight: 600;
}
.chat-container em[data-v-437cdb6d] {
  font-style: italic;
}
/* 删除线 */
.chat-container del[data-v-437cdb6d] {
  text-decoration: line-through;
  opacity: 0.7;
}
/* 图片样式 */
.chat-container img[data-v-437cdb6d] {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  margin: var(--space-2) 0;
}
/* 水平分割线 */
.chat-container hr[data-v-437cdb6d] {
  border: none;
  border-top: 1px solid var(--border-color);
  margin: var(--space-6) 0;
}
/* 滚动条全局样式 */
.chat-container[data-v-437cdb6d] ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.chat-container[data-v-437cdb6d] ::-webkit-scrollbar-track {
  background: var(--scrollbar-track);
}
.chat-container[data-v-437cdb6d] ::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 3px;
}
.chat-container[data-v-437cdb6d] ::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
}
/* Firefox 滚动条 */
.chat-container[data-v-437cdb6d] * {
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}
/* 动画定义 */
@keyframes messageSlideIn-437cdb6d {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes loadingDots-437cdb6d {
0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
}
40% {
    transform: scale(1);
    opacity: 1;
}
}
@keyframes fadeIn-437cdb6d {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes slideDown-437cdb6d {
from {
    opacity: 0;
    transform: translateY(-10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
/* 过渡动画类 */
.fade-enter-active[data-v-437cdb6d],
.fade-leave-active[data-v-437cdb6d] {
  transition: opacity 0.3s ease;
}
.fade-enter-from[data-v-437cdb6d],
.fade-leave-to[data-v-437cdb6d] {
  opacity: 0;
}
.thinking-enter-active[data-v-437cdb6d],
.thinking-leave-active[data-v-437cdb6d] {
  transition: all 0.3s ease;
}
.thinking-enter-from[data-v-437cdb6d],
.thinking-leave-to[data-v-437cdb6d] {
  opacity: 0;
  transform: translateY(-10px);
}
/* 响应式断点 */
@media (max-width: 1024px) {
[data-v-437cdb6d]:root {
    --space-6: 1.25rem;
    --space-8: 1.75rem;
}
}
@media (max-width: 768px) {
[data-v-437cdb6d]:root {
    --space-4: 0.875rem;
    --space-6: 1rem;
    --space-8: 1.5rem;
    --font-size-base: 0.9375rem;
}
}
@media (max-width: 480px) {
[data-v-437cdb6d]:root {
    --space-3: 0.625rem;
    --space-4: 0.75rem;
    --space-6: 0.875rem;
    --font-size-sm: 0.8125rem;
    --font-size-base: 0.875rem;
}
}
/* 主容器 */
.ai-assistant-container[data-v-437cdb6d] {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background: var(--color-background);
  color: var(--color-text-primary);
  transition: var(--transition-colors);
}
/* 头部样式 */
.ai-header[data-v-437cdb6d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-4) var(--space-6);
  background: var(--color-background-secondary);
  border-bottom: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
}
.ai-header h2[data-v-437cdb6d] {
  margin: 0;
  font-size: var(--text-xl);
  font-weight: 600;
  color: var(--color-text-primary);
}
.ai-model-info[data-v-437cdb6d] {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}
.model-selector[data-v-437cdb6d] {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.model-selector span[data-v-437cdb6d] {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}
.model-selector select[data-v-437cdb6d] {
  padding: var(--space-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-background);
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  transition: var(--transition-colors);
}
.model-selector select[data-v-437cdb6d]:focus {
  outline: none;
  border-color: var(--color-border-focus);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}
.model-status[data-v-437cdb6d] {
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: 500;
  background: var(--color-error-bg);
  color: var(--color-text-error);
  transition: var(--transition-colors);
}
.model-status.connected[data-v-437cdb6d] {
  background: var(--color-success-bg);
  color: var(--color-text-success);
}
.header-controls[data-v-437cdb6d] {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}
/* 返回首页按钮样式 */
.home-button[data-v-437cdb6d] {
  padding: var(--space-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: var(--transition-colors);
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-button[data-v-437cdb6d]:hover {
  background: var(--color-surface-hover);
  color: var(--color-text-primary);
  border-color: var(--color-border-strong);
}
.home-button[data-v-437cdb6d]:focus {
  outline: none;
  border-color: var(--color-border-focus);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}
.theme-switcher[data-v-437cdb6d] {
  display: flex;
  gap: var(--space-2);
}
.theme-switcher button[data-v-437cdb6d] {
  padding: var(--space-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: var(--transition-colors);
  display: flex;
  align-items: center;
  justify-content: center;
}
.theme-switcher button[data-v-437cdb6d]:hover {
  background: var(--color-surface-hover);
  color: var(--color-text-primary);
  border-color: var(--color-border-strong);
}
.theme-switcher button.active[data-v-437cdb6d] {
  background: var(--color-primary-500);
  color: var(--color-text-inverse);
  border-color: var(--color-primary-500);
}
.theme-switcher button[data-v-437cdb6d]:focus {
  outline: none;
  border-color: var(--color-border-focus);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}
/* 聊天主区域 */
.chat-main[data-v-437cdb6d] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
/* 欢迎消息样式 */
.welcome-message[data-v-437cdb6d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--space-12) var(--space-8);
  text-align: center;
  flex: 1;
}
.welcome-message .ai-avatar[data-v-437cdb6d] {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--gradient-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-6);
  box-shadow: var(--shadow-lg);
}
.welcome-message .ai-avatar i[data-v-437cdb6d] {
  font-size: var(--text-2xl);
  color: var(--color-text-inverse);
}
.welcome-content h3[data-v-437cdb6d] {
  margin: 0 0 var(--space-4) 0;
  font-size: var(--text-3xl);
  font-weight: 600;
  color: var(--color-text-primary);
}
.welcome-content p[data-v-437cdb6d] {
  margin: 0 0 var(--space-8) 0;
  font-size: var(--text-lg);
  color: var(--color-text-secondary);
  max-width: 500px;
  line-height: 1.6;
}
.suggestion-chips[data-v-437cdb6d] {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
}
.chip[data-v-437cdb6d] {
  padding: 0.75rem 1.5rem;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 24px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.9rem;
  color: var(--text-primary);
}
.chip[data-v-437cdb6d]:hover {
  background: var(--primary-500);
  color: white;
  border-color: var(--primary-500);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
/* 连接错误样式 */
.connection-error[data-v-437cdb6d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--space-12) var(--space-8);
  text-align: center;
  flex: 1;
}
.connection-error .error-icon[data-v-437cdb6d] {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--color-error-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-6);
}
.connection-error .error-icon i[data-v-437cdb6d] {
  font-size: var(--text-xl);
  color: var(--color-text-error);
}
.connection-error h3[data-v-437cdb6d] {
  margin: 0 0 var(--space-4) 0;
  font-size: var(--text-2xl);
  font-weight: 600;
  color: var(--color-text-primary);
}
.connection-error p[data-v-437cdb6d] {
  margin: 0 0 var(--space-8) 0;
  font-size: var(--text-base);
  color: var(--color-text-secondary);
  max-width: 400px;
  line-height: 1.5;
}
.retry-button[data-v-437cdb6d] {
  padding: var(--space-2) var(--space-4);
  background: var(--color-error-500);
  color: var(--color-text-inverse);
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  font-size: var(--text-sm);
  transition: var(--transition-colors);
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.retry-button[data-v-437cdb6d]:hover {
  background: var(--color-error-600);
}
.retry-button[data-v-437cdb6d]:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}
/* 主题变量 */
.ai-assistant-container.dark[data-v-437cdb6d] {
  --bg-primary: #1a1a1a;
  --bg-secondary: #2d2d2d;
  --bg-hover: #3d3d3d;
  --text-primary: #ffffff;
  --text-secondary: #b3b3b3;
  --border-color: #404040;
  --primary-500: #3b82f6;
  --primary-600: #2563eb;
  --success-bg: #065f46;
  --success-text: #10b981;
  --error-bg: #7f1d1d;
  --error-text: #ef4444;
  --error-border: #991b1b;
  --error-500: #ef4444;
  --error-600: #dc2626;
}
.ai-assistant-container.light[data-v-437cdb6d] {
  --bg-primary: #ffffff;
  --bg-secondary: #f8fafc;
  --bg-hover: #f1f5f9;
  --text-primary: #1f2937;
  --text-secondary: #6b7280;
  --border-color: #e5e7eb;
  --primary-500: #3b82f6;
  --primary-600: #2563eb;
  --success-bg: #d1fae5;
  --success-text: #065f46;
  --error-bg: #fee2e2;
  --error-text: #dc2626;
  --error-border: #fecaca;
  --error-500: #ef4444;
  --error-600: #dc2626;
}
/* 响应式设计 */
@media (max-width: 768px) {
.ai-header[data-v-437cdb6d] {
    padding: 1rem;
    flex-direction: column;
    gap: 1rem;
}
.ai-model-info[data-v-437cdb6d] {
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
}
.model-selector[data-v-437cdb6d] {
    width: 100%;
}
.model-selector select[data-v-437cdb6d] {
    flex: 1;
}
.welcome-message[data-v-437cdb6d] {
    padding: 2rem 1rem;
}
.suggestion-chips[data-v-437cdb6d] {
    flex-direction: column;
    align-items: center;
}
.chip[data-v-437cdb6d] {
    width: 100%;
    max-width: 300px;
    text-align: center;
}
}

.ai-knowledge-container[data-v-3c7cf348] {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  flex-direction: column;
}

/* 页面头部样式 */
.knowledge-header[data-v-3c7cf348] {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
  padding: 20px 0;
  position: relative;
  z-index: 10;
}
.header-content[data-v-3c7cf348] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.back-button[data-v-3c7cf348] {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  background: #667eea;
  color: white;
  border: none;
  padding: 10px 15px;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.back-button[data-v-3c7cf348]:hover {
  background: #5a6fd8;
  transform: translateY(-50%) translateX(-2px);
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}
.page-title[data-v-3c7cf348] {
  color: #333;
  font-size: 2.5em;
  margin: 0 0 10px 0;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 15px;
}
.page-title i[data-v-3c7cf348] {
  color: #667eea;
  font-size: 0.9em;
}
.header-description p[data-v-3c7cf348] {
  color: #666;
  font-size: 1.1em;
  margin: 0;
  max-width: 600px;
}

/* iframe容器样式 */
.iframe-container[data-v-3c7cf348] {
  flex: 1;
  position: relative;
  margin: 20px;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  background: white;
  min-height: 700px;
}
.knowledge-iframe[data-v-3c7cf348] {
  width: 100%;
  height: 100%;
  min-height: 700px;
  border: none;
  display: block;
}

/* 加载状态样式 */
.loading-overlay[data-v-3c7cf348] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
}
.loading-spinner[data-v-3c7cf348] {
  text-align: center;
  color: #667eea;
}
.loading-spinner i[data-v-3c7cf348] {
  font-size: 3em;
  margin-bottom: 15px;
  display: block;
}
.loading-spinner p[data-v-3c7cf348] {
  font-size: 1.2em;
  margin: 0;
}

/* 错误提示样式 */
.error-message[data-v-3c7cf348] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
}
.error-content[data-v-3c7cf348] {
  text-align: center;
  color: #666;
  max-width: 400px;
  padding: 40px;
}
.error-content i[data-v-3c7cf348] {
  font-size: 4em;
  color: #ff6b6b;
  margin-bottom: 20px;
  display: block;
}
.error-content h3[data-v-3c7cf348] {
  color: #333;
  margin-bottom: 15px;
  font-size: 1.5em;
}
.error-content p[data-v-3c7cf348] {
  margin-bottom: 25px;
  line-height: 1.6;
}
.retry-button[data-v-3c7cf348] {
  background: #667eea;
  color: white;
  border: none;
  padding: 12px 25px;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.retry-button[data-v-3c7cf348]:hover {
  background: #5a6fd8;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

/* 功能说明样式 */
.feature-info[data-v-3c7cf348] {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  margin: 20px;
  border-radius: 15px;
  padding: 30px;
}
.info-cards[data-v-3c7cf348] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  max-width: 1000px;
  margin: 0 auto;
}
.info-card[data-v-3c7cf348] {
  background: rgba(255, 255, 255, 0.9);
  padding: 25px;
  border-radius: 12px;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.info-card[data-v-3c7cf348]:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.info-card i[data-v-3c7cf348] {
  font-size: 2.5em;
  color: #667eea;
  margin-bottom: 15px;
  display: block;
}
.info-card h4[data-v-3c7cf348] {
  color: #333;
  margin-bottom: 10px;
  font-size: 1.3em;
}
.info-card p[data-v-3c7cf348] {
  color: #666;
  line-height: 1.6;
  margin: 0;
}

/* 响应式设计 */
@media (max-width: 768px) {
.header-content[data-v-3c7cf348] {
    padding: 0 15px;
}
.back-button[data-v-3c7cf348] {
    position: static;
    transform: none;
    margin-bottom: 15px;
    align-self: flex-start;
}
.page-title[data-v-3c7cf348] {
    font-size: 2em;
    flex-direction: column;
    gap: 10px;
}
.iframe-container[data-v-3c7cf348] {
    margin: 15px;
    min-height: 600px;
}
.knowledge-iframe[data-v-3c7cf348] {
    min-height: 600px;
}
.feature-info[data-v-3c7cf348] {
    margin: 15px;
    padding: 20px;
}
.info-cards[data-v-3c7cf348] {
    grid-template-columns: 1fr;
    gap: 15px;
}
}
@media (max-width: 480px) {
.page-title[data-v-3c7cf348] {
    font-size: 1.8em;
}
.header-description p[data-v-3c7cf348] {
    font-size: 1em;
}
.iframe-container[data-v-3c7cf348] {
    margin: 10px;
    min-height: 500px;
}
.knowledge-iframe[data-v-3c7cf348] {
    min-height: 500px;
}
}

.ai-code-tools-container[data-v-b8e61cef] {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 2rem;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.header[data-v-b8e61cef] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3rem;
}
.header h1[data-v-b8e61cef] {
  color: white;
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0;
}
.home-button[data-v-b8e61cef] {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
  padding: 0.75rem 1.5rem;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.home-button[data-v-b8e61cef]:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
}
.content[data-v-b8e61cef] {
  max-width: 1200px;
  margin: 0 auto;
}
.tool-grid[data-v-b8e61cef] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin-bottom: 4rem;
}
.tool-card[data-v-b8e61cef] {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 20px;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
.tool-card[data-v-b8e61cef]:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}
.tool-icon[data-v-b8e61cef] {
  font-size: 3rem;
  margin-bottom: 1rem;
}
.tool-card h3[data-v-b8e61cef] {
  color: #333;
  font-size: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 600;
}
.tool-card p[data-v-b8e61cef] {
  color: #666;
  font-size: 1rem;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.tool-button[data-v-b8e61cef] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  color: white;
  padding: 0.75rem 2rem;
  border-radius: 25px;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  transition: all 0.3s ease;
}
.tool-button[data-v-b8e61cef]:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
}
.coming-soon[data-v-b8e61cef] {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 20px;
  padding: 3rem;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.coming-soon h2[data-v-b8e61cef] {
  color: #333;
  font-size: 2rem;
  margin-bottom: 1rem;
  font-weight: 600;
}
.coming-soon p[data-v-b8e61cef] {
  color: #666;
  font-size: 1.2rem;
  line-height: 1.6;
}

/* 响应式设计 */
@media (max-width: 768px) {
.ai-code-tools-container[data-v-b8e61cef] {
    padding: 1rem;
}
.header[data-v-b8e61cef] {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
}
.header h1[data-v-b8e61cef] {
    font-size: 2rem;
}
.tool-grid[data-v-b8e61cef] {
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
.tool-card[data-v-b8e61cef] {
    padding: 1.5rem;
}
.coming-soon[data-v-b8e61cef] {
    padding: 2rem;
}
}
/* 跳一跳游戏样式 */
.jump-game-container[data-v-737fad53] {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
  font-family: 'Microsoft YaHei', sans-serif;
}
.game-info[data-v-737fad53] {
  text-align: center;
  margin-bottom: 20px;
}
.instructions[data-v-737fad53] {
  color: #666;
  margin-bottom: 20px;
}
.score-display[data-v-737fad53], .difficulty-display[data-v-737fad53] {
  display: inline-block;
  margin: 0 10px;
  font-weight: bold;
  font-size: 18px;
}
.game-area[data-v-737fad53] {
  width: 100%;
  height: 300px;
  background-color: #f0f0f0;
  border-radius: 15px;
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  outline: none;
}
.player[data-v-737fad53] {
  position: absolute;
  width: 30px;
  height: 50px;
  text-align: center;
  transition: transform 0.2s;
}
.player i[data-v-737fad53] {
  font-size: 30px;
  color: #ff4d4d;
}
.player.jumping i[data-v-737fad53] {
  animation: jump-animation-737fad53 0.8s ease-out;
}
.player.charging i[data-v-737fad53] {
  animation: charging-animation-737fad53 0.5s infinite alternate;
  filter: drop-shadow(0 0 5px rgba(255, 77, 77, 0.8));
}
@keyframes jump-animation-737fad53 {
0% { transform: translateY(0) scale(1);
}
50% { transform: translateY(-20px) scale(1.2) rotate(5deg);
}
100% { transform: translateY(0) scale(1);
}
}
@keyframes charging-animation-737fad53 {
0% { transform: scale(1);
}
100% { transform: scale(1.5) rotate(-5deg);
}
}
.platform[data-v-737fad53] {
  position: absolute;
  height: 20px;
  border-radius: 10px;
  box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}
.target-zone[data-v-737fad53] {
  position: absolute;
  height: 30px;
  bottom: 20px;
  background-color: rgba(255, 255, 0, 0.3);
  border: 2px dashed #ffcc00;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.perfect-zone[data-v-737fad53] {
  width: 30%;
  height: 100%;
  background-color: rgba(76, 175, 80, 0.3);
  border-radius: 5px;
}
/* 蓄力进度条样式 */
.power-bar-container[data-v-737fad53] {
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 15px;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.power-bar[data-v-737fad53] {
  height: 100%;
  background: linear-gradient(90deg, #4CAF50, #FFEB3B, #FF5722);
  border-radius: 10px;
  transition: width 0.05s linear;
  box-shadow: 0 0 8px rgba(255, 152, 0, 0.7);
  position: relative;
  overflow: hidden;
}
.power-bar[data-v-737fad53]::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  animation: power-bar-shine-737fad53 1s infinite linear;
}
@keyframes power-bar-shine-737fad53 {
0% { transform: translateX(-100%);
}
100% { transform: translateX(100%);
}
}
.player-turn[data-v-737fad53] {
  display: inline-block;
  margin: 10px;
  padding: 5px 15px;
  background-color: #2196F3;
  color: white;
  border-radius: 20px;
  font-weight: bold;
}
.game-controls[data-v-737fad53] {
  text-align: center;
  margin-top: 20px;
}
.start-button[data-v-737fad53] {
  background: linear-gradient(45deg, #4CAF50, #45a049);
  color: white;
  border: none;
  border-radius: 25px;
  padding: 12px 25px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 4px 10px rgba(76, 175, 80, 0.3);
}
.start-button[data-v-737fad53]:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 15px rgba(76, 175, 80, 0.4);
}
.start-button[data-v-737fad53]:disabled {
  background: #cccccc;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
/* 游戏结果弹窗 */
.game-result[data-v-737fad53] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.result-content[data-v-737fad53] {
  background: white;
  border-radius: 15px;
  padding: 30px;
  max-width: 500px;
  width: 90%;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.result-message[data-v-737fad53] {
  margin: 20px 0;
  padding: 10px;
  border-radius: 10px;
  font-weight: bold;
  font-size: 18px;
}
.result-message.excellent[data-v-737fad53] {
  background: #e8f5e9;
  color: #2e7d32;
}
.result-message.great[data-v-737fad53] {
  background: #e3f2fd;
  color: #1565c0;
}
.result-message.good[data-v-737fad53] {
  background: #fff3e0;
  color: #e65100;
}
.result-message.normal[data-v-737fad53] {
  background: #f5f5f5;
  color: #616161;
}
.continue-button[data-v-737fad53] {
  background: linear-gradient(45deg, #4CAF50, #45a049);
  color: white;
  border: none;
  border-radius: 25px;
  padding: 12px 25px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 4px 10px rgba(76, 175, 80, 0.3);
}
.continue-button[data-v-737fad53]:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 15px rgba(76, 175, 80, 0.4);
}
/* 响应式样式 */
@media (max-width: 768px) {
.game-area[data-v-737fad53] {
    height: 250px;
}
}
@media (max-width: 480px) {
.game-area[data-v-737fad53] {
    height: 200px;
}
.player i[data-v-737fad53] {
    font-size: 24px;
}
}

.memory-game-container[data-v-b1239c7f] {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  padding: 10px;
}
.game-board[data-v-b1239c7f] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 20px;
}
.game-board.disabled[data-v-b1239c7f] {
  pointer-events: none;
}
.memory-card[data-v-b1239c7f] {
  aspect-ratio: 1;
  perspective: 1000px;
  cursor: pointer;
  position: relative;
}
.card-inner[data-v-b1239c7f] {
  width: 100%;
  height: 100%;
  transition: transform 0.6s;
  transform-style: preserve-3d;
  position: relative;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.memory-card.flipped .card-inner[data-v-b1239c7f] {
  transform: rotateY(180deg);
}
.card-front[data-v-b1239c7f], .card-back[data-v-b1239c7f] {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}
.card-front[data-v-b1239c7f] {
  background: linear-gradient(135deg, #ff9a9e 0%, #fad0c4 100%);
  color: white;
  font-size: 1.5em;
}
.card-back[data-v-b1239c7f] {
  background: white;
  transform: rotateY(180deg);
  color: #ff4d4d;
  font-size: 1.8em;
}
.memory-card.matched .card-inner[data-v-b1239c7f] {
  box-shadow: 0 0 15px rgba(76, 175, 80, 0.5);
  animation: pulse-match-b1239c7f 1s;
}
@keyframes pulse-match-b1239c7f {
0% { transform: rotateY(180deg) scale(1);
}
50% { transform: rotateY(180deg) scale(1.1);
}
100% { transform: rotateY(180deg) scale(1);
}
}
.game-controls[data-v-b1239c7f] {
  display: flex;
  justify-content: center;
  margin-top: 15px;
}
.control-button[data-v-b1239c7f] {
  padding: 10px 20px;
  background: linear-gradient(45deg, #4CAF50, #45a049);
  color: white;
  border: none;
  border-radius: 20px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  gap: 8px;
}
.control-button[data-v-b1239c7f]:hover:not(:disabled) {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(76, 175, 80, 0.3);
}
.control-button[data-v-b1239c7f]:disabled {
  background: #cccccc;
  cursor: not-allowed;
}
@media (max-width: 480px) {
.game-board[data-v-b1239c7f] {
    grid-template-columns: repeat(3, 1fr);
}
}

.reaction-game-container[data-v-bcee859c] {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
  font-family: 'Microsoft YaHei', sans-serif;
}
.game-info[data-v-bcee859c] {
  text-align: center;
  margin-bottom: 20px;
}
.instructions[data-v-bcee859c] {
  color: #666;
  margin-bottom: 20px;
}
.score-display[data-v-bcee859c], .difficulty-display[data-v-bcee859c] {
  display: inline-block;
  margin: 0 10px;
  font-weight: bold;
  font-size: 18px;
}
.reaction-area[data-v-bcee859c] {
  width: 100%;
  height: 200px;
  border-radius: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.3s;
  margin-bottom: 20px;
  user-select: none;
}
.reaction-area.waiting[data-v-bcee859c] {
  background-color: #f0f0f0;
}
.reaction-area.ready[data-v-bcee859c] {
  background-color: #ffcc00;
}
.reaction-area.go[data-v-bcee859c] {
  background-color: #4CAF50;
}
.reaction-area.too-soon[data-v-bcee859c] {
  background-color: #F44336;
}
.reaction-area.result[data-v-bcee859c] {
  background-color: #2196F3;
}
.reaction-message[data-v-bcee859c] {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: white;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}
.reaction-message i[data-v-bcee859c] {
  display: block;
  font-size: 48px;
  margin-bottom: 10px;
}
.attempts-container[data-v-bcee859c] {
  background: white;
  border-radius: 15px;
  padding: 15px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.attempts-list[data-v-bcee859c] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.attempt-item[data-v-bcee859c] {
  background: #f8f9fa;
  border-radius: 10px;
  padding: 10px;
  text-align: center;
  position: relative;
}

.quiz-game-container[data-v-14c94446] {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  position: relative;
}
.game-info[data-v-14c94446] {
  width: 100%;
  text-align: center;
  margin-bottom: 20px;
}
.game-info h3[data-v-14c94446] {
  font-size: 1.8rem;
  margin-bottom: 10px;
  color: #2c3e50;
}
.instructions[data-v-14c94446] {
  font-size: 1rem;
  color: #666;
  margin-bottom: 15px;
}
.score-display[data-v-14c94446], .difficulty-display[data-v-14c94446], .player-turn[data-v-14c94446] {
  display: inline-block;
  margin: 0 10px;
  padding: 5px 10px;
  background-color: #f8f9fa;
  border-radius: 5px;
  font-weight: bold;
}
.quiz-area[data-v-14c94446] {
  width: 100%;
  position: relative;
  min-height: 300px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  margin-bottom: 20px;
}
.timer[data-v-14c94446] {
  width: 100%;
  height: 8px;
  background-color: #e9ecef;
  position: relative;
  overflow: hidden;
}
.timer-bar[data-v-14c94446] {
  height: 100%;
  background-color: #4caf50;
  transition: width 0.1s linear;
}
.timer-text[data-v-14c94446] {
  position: absolute;
  right: 10px;
  top: 10px;
  font-size: 0.9rem;
  color: #666;
}
.question-card[data-v-14c94446] {
  padding: 20px;
}
.question-category[data-v-14c94446] {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 15px;
  font-size: 0.9rem;
  font-weight: bold;
  margin-bottom: 15px;
}
.category-science[data-v-14c94446] {
  background-color: #e3f2fd;
  color: #1565c0;
}
.category-history[data-v-14c94446] {
  background-color: #fff8e1;
  color: #ff8f00;
}
.category-geography[data-v-14c94446] {
  background-color: #e8f5e9;
  color: #2e7d32;
}
.category-entertainment[data-v-14c94446] {
  background-color: #f3e5f5;
  color: #7b1fa2;
}
.category-sports[data-v-14c94446] {
  background-color: #ffebee;
  color: #c62828;
}
.question-text h4[data-v-14c94446] {
  font-size: 1.3rem;
  margin-bottom: 20px;
  line-height: 1.4;
}
.options-container[data-v-14c94446] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.option-button[data-v-14c94446] {
  display: flex;
  align-items: center;
  padding: 12px 15px;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  background-color: #fff;
  cursor: pointer;
  transition: all 0.2s;
  text-align: left;
}
.option-button[data-v-14c94446]:hover:not(:disabled) {
  border-color: #4caf50;
  background-color: #f1f8e9;
}
.option-button.selected[data-v-14c94446] {
  border-color: #2196f3;
  background-color: #e3f2fd;
}
.option-button.correct[data-v-14c94446] {
  border-color: #4caf50;
  background-color: #e8f5e9;
}
.option-button.incorrect[data-v-14c94446] {
  border-color: #f44336;
  background-color: #ffebee;
}
.option-letter[data-v-14c94446] {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #e9ecef;
  margin-right: 15px;
  font-weight: bold;
}
.option-text[data-v-14c94446] {
  flex: 1;
}
.waiting-screen[data-v-14c94446], .answer-result[data-v-14c94446], .game-result[data-v-14c94446] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 10;
}
.waiting-content[data-v-14c94446], .result-content[data-v-14c94446] {
  text-align: center;
  padding: 30px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  max-width: 80%;
}
.waiting-content i[data-v-14c94446], .result-content i[data-v-14c94446] {
  font-size: 3rem;
  margin-bottom: 15px;
  color: #2196f3;
}
.start-button[data-v-14c94446], .continue-button[data-v-14c94446] {
  margin-top: 20px;
  padding: 10px 20px;
  background-color: #4caf50;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1rem;
  transition: background-color 0.2s;
}
.start-button[data-v-14c94446]:hover, .continue-button[data-v-14c94446]:hover {
  background-color: #388e3c;
}
.correct-answer i[data-v-14c94446] {
  color: #4caf50;
}
.wrong-answer i[data-v-14c94446] {
  color: #f44336;
}
.question-progress[data-v-14c94446] {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.progress-dot[data-v-14c94446] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #e9ecef;
  margin: 0 5px;
}
.progress-dot.current[data-v-14c94446] {
  background-color: #2196f3;
  transform: scale(1.2);
}
.progress-dot.completed[data-v-14c94446] {
  background-color: #9e9e9e;
}
.progress-dot.correct[data-v-14c94446] {
  background-color: #4caf50;
}
.progress-dot.incorrect[data-v-14c94446] {
  background-color: #f44336;
}
.result-stats[data-v-14c94446] {
  margin: 20px 0;
  display: flex;
  justify-content: space-around;
}
.stat-item[data-v-14c94446] {
  text-align: center;
}
.stat-label[data-v-14c94446] {
  display: block;
  font-size: 0.9rem;
  color: #666;
}
.stat-value[data-v-14c94446] {
  font-size: 1.2rem;
  font-weight: bold;
  color: #2c3e50;
}
.result-message[data-v-14c94446] {
  font-size: 1.2rem;
  font-weight: bold;
  margin: 15px 0;
  padding: 10px;
  border-radius: 5px;
}
.result-message.excellent[data-v-14c94446] {
  background-color: #e8f5e9;
  color: #2e7d32;
}
.result-message.great[data-v-14c94446] {
  background-color: #e3f2fd;
  color: #1565c0;
}
.result-message.good[data-v-14c94446] {
  background-color: #fff8e1;
  color: #ff8f00;
}

/* 加载动画 */
.loading-spinner[data-v-14c94446] {
  width: 50px;
  height: 50px;
  border: 5px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: #3498db;
  animation: spin-14c94446 1s ease-in-out infinite;
  margin-bottom: 15px;
}
@keyframes spin-14c94446 {
to { transform: rotate(360deg);
}
}

/* 错误提示样式 */
.error-icon[data-v-14c94446] {
  color: #e74c3c;
  font-size: 2.5rem;
  margin-bottom: 15px;
}
.error-message[data-v-14c94446] {
  color: #e74c3c;
  margin-bottom: 20px;
  text-align: center;
}
.retry-button[data-v-14c94446] {
  background-color: #e74c3c;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.3s;
}
.retry-button[data-v-14c94446]:hover {
  background-color: #c0392b;
}
.result-message.normal[data-v-14c94446] {
  background-color: #f5f5f5;
  color: #616161;
}
@media (max-width: 768px) {
.quiz-game-container[data-v-14c94446] {
    padding: 10px;
}
.question-text h4[data-v-14c94446] {
    font-size: 1.1rem;
}
.option-button[data-v-14c94446] {
    padding: 10px;
}
.option-letter[data-v-14c94446] {
    width: 25px;
    height: 25px;
    margin-right: 10px;
}
}

/* 玩家通知样式 */
.player-notifications[data-v-aef348ae] {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
  max-width: 300px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.notification-item[data-v-aef348ae] {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  padding: 12px 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  gap: 10px;
  animation: slideIn-aef348ae 0.3s ease-out;
}
.notification-item i[data-v-aef348ae] {
  font-size: 18px;
}
.notification-item.join i[data-v-aef348ae] {
  color: #4caf50;
}
.notification-item.leave i[data-v-aef348ae] {
  color: #f44336;
}
.notification-item.reconnect i[data-v-aef348ae] {
  color: #2196f3;
}
.notification-item.info i[data-v-aef348ae] {
  color: #ff9800;
}

/* 通知动画 */
.notification-enter-active[data-v-aef348ae],
.notification-leave-active[data-v-aef348ae] {
  transition: all 0.3s ease;
}
.notification-enter-from[data-v-aef348ae],
.notification-leave-to[data-v-aef348ae] {
  opacity: 0;
  transform: translateX(30px);
}
@keyframes slideIn-aef348ae {
from {
    opacity: 0;
    transform: translateX(30px);
}
to {
    opacity: 1;
    transform: translateX(0);
}
}

/* 二维码弹窗样式 */
.qrcode-modal[data-v-aef348ae] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2000;
  animation: fadeIn-aef348ae 0.3s ease-out;
}
.qrcode-container[data-v-aef348ae] {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 360px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}
.qrcode-header[data-v-aef348ae] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
}
.qrcode-header h3[data-v-aef348ae] {
  margin: 0;
  font-size: 18px;
  color: #333;
}
.close-button[data-v-aef348ae] {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: #666;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  transition: background-color 0.2s;
}
.close-button[data-v-aef348ae]:hover {
  background-color: #f0f0f0;
}
.qrcode-content[data-v-aef348ae] {
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.qrcode[data-v-aef348ae] {
  width: 200px;
  height: 200px;
  margin-bottom: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.qrcode canvas[data-v-aef348ae] {
  max-width: 100%;
  max-height: 100%;
}
.qrcode-tip[data-v-aef348ae] {
  margin: 0 0 16px;
  color: #666;
  text-align: center;
}
.copy-link-button[data-v-aef348ae] {
  background-color: #2196f3;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 10px 16px;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background-color 0.2s;
}
.copy-link-button[data-v-aef348ae]:hover {
  background-color: #1976d2;
}
.fallback-link[data-v-aef348ae] {
  word-break: break-all;
  text-align: center;
  color: #333;
  font-size: 14px;
}
@keyframes fadeIn-aef348ae {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}

/* 房间内玩家状态样式增强 */
.player-item[data-v-aef348ae] {
  transition: all 0.3s ease;
}
.player-item.host-player[data-v-aef348ae] {
  border-left: 3px solid #ffc107;
}
.player-item.current-player[data-v-aef348ae] {
  background-color: rgba(33, 150, 243, 0.1);
}

/* 分享下拉菜单样式优化 */
.share-dropdown[data-v-aef348ae] {
  position: relative;
}
.invite-button[data-v-aef348ae] {
  background-color: #4caf50;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
}
.share-options[data-v-aef348ae] {
  position: absolute;
  top: 100%;
  right: 0;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  padding: 8px 0;
  margin-top: 8px;
  z-index: 100;
  display: none;
}
.share-dropdown:hover .share-options[data-v-aef348ae] {
  display: block;
  animation: fadeIn-aef348ae 0.2s ease-out;
}
.share-option[data-v-aef348ae] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.2s;
}
.share-option[data-v-aef348ae]:hover {
  background-color: #f5f5f5;
}
.share-option.wechat i[data-v-aef348ae] {
  color: #07c160;
}
.share-option.qq i[data-v-aef348ae] {
  color: #12b7f5;
}
.share-option.weibo i[data-v-aef348ae] {
  color: #e6162d;
}
/* 多人小游戏模式样式 */
:root {
  --primary-color: #4CAF50;
  --primary-dark: #45a049;
  --secondary-color: #2196F3;
  --secondary-dark: #1e88e5;
  --accent-color: #FF9800;
  --accent-dark: #F57C00;
  --danger-color: #ff4d4d;
  --danger-dark: #ff3333;
  --light-bg: #f8f9fa;
  --lighter-bg: #e9ecef;
  --success-bg: #e8f5e9;
  --info-bg: #e3f2fd;
  --warning-bg: #fff3e0;
  --border-radius: 15px;
  --button-radius: 25px;
  --box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  --hover-shadow: 0 6px 15px rgba(0,0,0,0.2);
  --online-primary: #2196F3;
  --online-dark: #1976D2;
  --online-light: #BBDEFB;
  --host-color: #FFC107;
  --ready-color: #4CAF50;
  --not-ready-color: #9E9E9E;
}
.multiplayer-game-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  font-family: 'Microsoft YaHei', sans-serif;
}
/* 游戏模式选择样式 */
.game-mode-selector {
  background: white;
  border-radius: var(--border-radius);
  padding: 20px;
  box-shadow: var(--box-shadow);
  margin-bottom: 20px;
  text-align: center;
}
.mode-options {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin: 30px 0;
}
.mode-option {
  background: var(--light-bg);
  border-radius: var(--border-radius);
  padding: 25px;
  width: 200px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}
.mode-option:hover {
  transform: translateY(-5px);
  box-shadow: var(--hover-shadow);
}
.mode-icon {
  font-size: 3em;
  margin-bottom: 15px;
}
.mode-option:first-child .mode-icon {
  color: var(--online-primary);
}
.mode-option:last-child .mode-icon {
  color: var(--primary-color);
}
/* 在线模式样式 */
.online-mode {
  background: white;
  border-radius: var(--border-radius);
  padding: 20px;
  box-shadow: var(--box-shadow);
  margin-bottom: 20px;
}
.room-actions {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-bottom: 20px;
}
.action-button {
  padding: 10px 20px;
  border: none;
  border-radius: var(--button-radius);
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  gap: 8px;
}
.create-room-btn {
  background: linear-gradient(45deg, var(--primary-color), var(--primary-dark));
  color: white;
}
.join-room-btn {
  background: linear-gradient(45deg, var(--online-primary), var(--online-dark));
  color: white;
}
.refresh-btn {
  background: linear-gradient(45deg, var(--accent-color), var(--accent-dark));
  color: white;
}
.action-button:hover {
  transform: translateY(-3px);
  box-shadow: var(--hover-shadow);
}
/* 房间表单样式 */
.room-form {
  background: var(--light-bg);
  border-radius: var(--border-radius);
  padding: 20px;
  margin: 20px 0;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.form-group {
  margin-bottom: 15px;
}
.form-group label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
.form-group input, .form-group select {
  width: 100%;
  padding: 10px 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 16px;
}
.form-actions {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 20px;
}
.submit-button {
  background: linear-gradient(45deg, var(--primary-color), var(--primary-dark));
  color: white;
  border: none;
  border-radius: var(--button-radius);
  padding: 10px 25px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
}
.submit-button:disabled {
  background: #cccccc;
  cursor: not-allowed;
}
.cancel-button {
  background: linear-gradient(45deg, var(--danger-color), var(--danger-dark));
  color: white;
  border: none;
  border-radius: var(--button-radius);
  padding: 10px 25px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
}
/* 活跃房间列表 */
.active-rooms {
  margin-top: 20px;
}
.rooms-list {
  margin-top: 15px;
}
.room-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  background: var(--light-bg);
  border-radius: 10px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: all 0.3s;
}
.room-item:hover {
  background: var(--online-light);
  transform: translateX(5px);
}
.room-info {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.room-id {
  font-weight: bold;
  color: var(--online-dark);
}
.join-button {
  background: linear-gradient(45deg, var(--online-primary), var(--online-dark));
  color: white;
  border: none;
  border-radius: var(--button-radius);
  padding: 8px 15px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
}
.join-button:hover {
  transform: scale(1.05);
}
.empty-rooms {
  text-align: center;
  padding: 20px;
  color: #666;
}
/* 房间内样式 */
.room-container {
  background: white;
  border-radius: var(--border-radius);
  padding: 20px;
  box-shadow: var(--box-shadow);
  margin-bottom: 20px;
}
.room-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
}
.invite-button, .leave-button {
  padding: 8px 15px;
  border: none;
  border-radius: var(--button-radius);
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  gap: 8px;
}
.invite-button {
  background: linear-gradient(45deg, var(--accent-color), var(--accent-dark));
  color: white;
}
.leave-button {
  background: linear-gradient(45deg, var(--danger-color), var(--danger-dark));
  color: white;
}
/* 分享下拉菜单样式 */
.share-dropdown {
  position: relative;
  display: inline-block;
}
.share-options {
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  padding: 10px;
  z-index: 100;
  display: none;
  min-width: 150px;
  animation: fadeIn 0.2s ease-in-out;
}
.share-dropdown:hover .share-options,
.share-dropdown:focus .share-options,
.share-dropdown:active .share-options {
  display: block;
}
.share-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  border-radius: 5px;
  transition: all 0.2s;
}
.share-option:hover {
  background: var(--light-bg);
  transform: translateX(3px);
}
.share-option.wechat i {
  color: #07C160;
}
.share-option.qq i {
  color: #12B7F5;
}
.share-option.weibo i {
  color: #E6162D;
}
.share-success {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--success-bg);
  color: var(--primary-dark);
  padding: 10px 20px;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  z-index: 1000;
  animation: slideDown 0.3s ease-out, fadeOut 0.3s ease-in 2s forwards;
}
@keyframes fadeIn {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes slideDown {
from { transform: translate(-50%, -20px); opacity: 0;
}
to { transform: translate(-50%, 0); opacity: 1;
}
}
@keyframes fadeOut {
from { opacity: 1;
}
to { opacity: 0;
}
}
.online-players-container {
  margin-bottom: 20px;
}
.host-player {
  border-left: 4px solid var(--host-color);
}
.current-player {
  border-right: 4px solid var(--online-primary);
}
.host-badge, .you-badge {
  font-size: 0.8em;
  padding: 3px 8px;
  border-radius: 10px;
  margin-left: 10px;
}
.host-badge {
  background-color: var(--host-color);
  color: #333;
}
.you-badge {
  background-color: var(--online-primary);
  color: white;
}
.player-status {
  font-size: 0.9em;
  padding: 3px 8px;
  border-radius: 10px;
  margin-left: 10px;
}
.player-item .player-status:empty:before {
  content: '未准备';
  background-color: var(--not-ready-color);
  color: white;
  padding: 3px 8px;
  border-radius: 10px;
  font-size: 0.9em;
}
.game-preparation {
  text-align: center;
  margin: 20px 0;
  padding: 20px;
  background: var(--light-bg);
  border-radius: var(--border-radius);
}
.start-game-button {
  background: linear-gradient(45deg, var(--primary-color), var(--primary-dark));
  color: white;
  border: none;
  border-radius: var(--button-radius);
  padding: 12px 30px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
}
.start-game-button:disabled {
  background: #cccccc;
  cursor: not-allowed;
}
.ready-button {
  background: linear-gradient(45deg, var(--not-ready-color), #757575);
  color: white;
  border: none;
  border-radius: var(--button-radius);
  padding: 12px 30px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
}
.ready-button.ready {
  background: linear-gradient(45deg, var(--ready-color), var(--primary-dark));
}
.hint-text {
  margin-top: 15px;
  color: #666;
  font-style: italic;
}
/* 玩家管理样式 */
.players-container {
  background: white;
  border-radius: var(--border-radius);
  padding: 20px;
  box-shadow: var(--box-shadow);
  margin-bottom: 20px;
}
.player-form {
  display: flex;
  margin-bottom: 15px;
}
.player-form input {
  flex: 1;
  padding: 10px 15px;
  border: 1px solid #ddd;
  border-radius: var(--button-radius) 0 0 var(--button-radius);
  font-size: 16px;
}
.add-button {
  background: linear-gradient(45deg, var(--primary-color), var(--primary-dark));
  color: white;
  border: none;
  border-radius: 0 var(--button-radius) var(--button-radius) 0;
  padding: 10px 20px;
  cursor: pointer;
  font-weight: bold;
}
.players-list {
  margin-top: 15px;
}
.player-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  background: var(--light-bg);
  border-radius: 10px;
  margin-bottom: 10px;
  transition: all 0.3s;
}
.player-item.active-player {
  background: var(--success-bg);
  border-left: 4px solid var(--primary-color);
}
.player-info {
  display: flex;
  align-items: center;
  gap: 15px;
}
.player-name {
  font-weight: bold;
  font-size: 16px;
}
.player-score {
  color: var(--danger-color);
  font-weight: bold;
}
.remove-button {
  background: none;
  border: none;
  color: var(--danger-color);
  cursor: pointer;
  font-size: 18px;
  opacity: 0.7;
  transition: opacity 0.3s;
}
.remove-button:hover {
  opacity: 1;
}
.empty-state {
  text-align: center;
  padding: 20px;
  color: #666;
}
/* 游戏选择样式 */
.game-selector {
  background: white;
  border-radius: var(--border-radius);
  padding: 20px;
  box-shadow: var(--box-shadow);
  margin-bottom: 20px;
}
.game-options {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 20px 0;
  flex-wrap: wrap;
}
.game-option {
  background: var(--light-bg);
  border-radius: var(--border-radius);
  padding: 20px;
  width: 180px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}
.game-option:hover {
  transform: translateY(-5px);
  box-shadow: var(--hover-shadow);
}
.game-option.active {
  background: var(--success-bg);
  border: 2px solid var(--primary-color);
}
.game-icon {
  font-size: 2.5em;
  margin-bottom: 15px;
  color: var(--primary-color);
}
.game-option h4 {
  margin-bottom: 10px;
  color: #333;
}
.game-option p {
  font-size: 0.9em;
  color: #666;
}
.start-button {
  background: linear-gradient(45deg, var(--primary-color), var(--primary-dark));
  color: white;
  border: none;
  border-radius: var(--button-radius);
  padding: 12px 25px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
  display: block;
  margin: 0 auto;
  box-shadow: 0 4px 10px rgba(76, 175, 80, 0.3);
}
.start-button:hover {
  transform: translateY(-3px);
  box-shadow: var(--hover-shadow);
}
.start-button:disabled {
  background: #cccccc;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
/* 游戏进行中样式 */
.game-in-progress {
  background: white;
  border-radius: var(--border-radius);
  padding: 20px;
  box-shadow: var(--box-shadow);
  margin-bottom: 20px;
}
.game-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
}
.current-player-name {
  color: var(--primary-color);
  font-weight: bold;
}
.round-info {
  background: var(--light-bg);
  padding: 5px 15px;
  border-radius: 20px;
  font-weight: bold;
}
/* 游戏结束样式 */
.game-over {
  background: white;
  border-radius: var(--border-radius);
  padding: 20px;
  box-shadow: var(--box-shadow);
  margin-bottom: 20px;
  text-align: center;
}
.final-scores {
  margin: 20px 0;
}
.score-list {
  margin-top: 15px;
}
.score-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  background: var(--light-bg);
  border-radius: 10px;
  margin-bottom: 10px;
  transition: all 0.3s;
}
.score-item.winner {
  background: var(--success-bg);
  border-left: 4px solid var(--primary-color);
  position: relative;
}
.score-item.winner::after {
  content: '🏆';
  position: absolute;
  right: -30px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
}
.rank {
  width: 30px;
  height: 30px;
  background: var(--primary-color);
  color: white;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}
.action-buttons {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 20px;
}
.reset-button, .change-button {
  padding: 10px 20px;
  border: none;
  border-radius: var(--button-radius);
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
}
.reset-button {
  background: linear-gradient(45deg, var(--secondary-color), var(--secondary-dark));
  color: white;
  box-shadow: 0 4px 10px rgba(33, 150, 243, 0.3);
}
.change-button {
  background: linear-gradient(45deg, var(--accent-color), var(--accent-dark));
  color: white;
  box-shadow: 0 4px 10px rgba(255, 152, 0, 0.3);
}
.reset-button:hover, .change-button:hover {
  transform: translateY(-3px);
  box-shadow: var(--hover-shadow);
}
.back-button {
  background: var(--light-bg);
  border: none;
  border-radius: var(--button-radius);
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s;
  display: block;
  margin: 0 auto;
  color: #666;
}
.back-button:hover {
  background: var(--lighter-bg);
  color: #333;
}
/* 游戏结果弹窗 */
.game-result {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.result-content {
  background: white;
  border-radius: var(--border-radius);
  padding: 30px;
  max-width: 500px;
  width: 90%;
  text-align: center;
  box-shadow: var(--hover-shadow);
}
.result-message {
  margin: 20px 0;
  padding: 10px;
  border-radius: 10px;
  font-weight: bold;
  font-size: 18px;
}
.result-message.excellent {
  background: var(--success-bg);
  color: #2e7d32;
}
.result-message.great {
  background: var(--info-bg);
  color: #1565c0;
}
.result-message.good {
  background: var(--warning-bg);
  color: #e65100;
}
.result-message.normal {
  background: #f5f5f5;
  color: #616161;
}
.continue-button {
  background: linear-gradient(45deg, var(--primary-color), var(--primary-dark));
  color: white;
  border: none;
  border-radius: var(--button-radius);
  padding: 12px 25px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 4px 10px rgba(76, 175, 80, 0.3);
}
.continue-button:hover {
  transform: translateY(-3px);
  box-shadow: var(--hover-shadow);
}
/* 响应式样式 */
@media (max-width: 768px) {
.multiplayer-game-container {
    padding: 10px;
    margin-top: 10px;
}
.multiplayer-game-container h2 {
    font-size: 1.5em;
    margin-bottom: 15px;
}
.game-options, .mode-options {
    flex-direction: column;
    align-items: center;
    gap: 15px;
}
.game-option, .mode-option {
    width: 100%;
    max-width: 300px;
    padding: 15px;
}
.game-header, .room-header {
    flex-direction: column;
    gap: 10px;
    padding-bottom: 15px;
}
.action-buttons, .room-actions {
    flex-direction: column;
    gap: 10px;
    width: 100%;
}
.reset-button, .change-button, .invite-button, .leave-button {
    width: 100%;
    padding: 12px 15px;
    font-size: 14px;
}
.player-form {
    flex-direction: column;
}
.player-form input {
    border-radius: var(--button-radius);
    margin-bottom: 10px;
}
.add-button {
    border-radius: var(--button-radius);
    width: 100%;
}
  
  /* 在线模式响应式调整 */
.share-dropdown {
    width: 100%;
}
.share-options {
    width: 100%;
    position: relative;
    margin-top: 5px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.1);
}
.room-form {
    padding: 15px;
    margin: 15px 0;
}
.form-group {
    margin-bottom: 12px;
}
.form-group label {
    margin-bottom: 4px;
    font-size: 14px;
}
.form-group input, .form-group select {
    padding: 10px;
    font-size: 14px;
}
.form-actions {
    gap: 10px;
}
.submit-button, .cancel-button {
    padding: 10px 15px;
    font-size: 14px;
}
.room-item {
    flex-direction: column;
    align-items: flex-start;
    padding: 12px;
}
.room-item .room-info {
    margin-bottom: 8px;
    width: 100%;
}
.room-item .join-button {
    margin-top: 10px;
    align-self: flex-end;
    width: 100%;
    text-align: center;
}
.online-players-container .player-item {
    flex-wrap: wrap;
    padding: 8px 10px;
}
.player-info {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}
.player-name {
    font-size: 14px;
}
.host-badge, .you-badge, .player-status {
    font-size: 0.7em;
    padding: 2px 6px;
}
.game-preparation {
    padding: 15px;
    margin: 15px 0;
}
.start-game-button, .ready-button {
    width: 100%;
    padding: 10px 15px;
    font-size: 14px;
}
.hint-text {
    font-size: 12px;
    margin-top: 10px;
}
  
  /* 游戏结果响应式调整 */
.result-content {
    padding: 20px;
    width: 95%;
}
.result-message {
    font-size: 16px;
    padding: 8px;
}
.continue-button {
    padding: 10px 20px;
    font-size: 14px;
}
}
/* 游戏组件样式 */
.jump-game-container, .reaction-game-container {
  margin-top: 20px;
}
[data-v-7e401cc9] {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body[data-v-7e401cc9] {
    font-family: 'Microsoft YaHei', sans-serif;
    background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%);
    color: #333;
    min-height: 100vh;
    height: 100vh; /* 确保填满整个视口高度 */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden; /* 防止水平滚动条 */
}
.container[data-v-7e401cc9] {
    width: 100%;
    max-width: 1200px;
    min-height: 100vh; /* 确保容器至少填满视口高度 */
    margin: 0 auto;
    padding: 20px;
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch; /* 确保子元素拉伸填满容器 */
    box-sizing: border-box;
}

/* 主菜单样式 */
.main-menu[data-v-7e401cc9] {
    text-align: center;
    width: 100%;
    max-width: 600px;
    background: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    transform: translateY(0);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.main-menu[data-v-7e401cc9]:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}
.main-menu h1[data-v-7e401cc9] {
    font-size: 3em;
    margin-bottom: 40px;
    color: #ff4d4d;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
    animation: titlePulse-7e401cc9 2s infinite;
}
@keyframes titlePulse-7e401cc9 {
0% { transform: scale(1);
}
50% { transform: scale(1.05);
}
100% { transform: scale(1);
}
}
.menu-button[data-v-7e401cc9] {
    padding: 20px 40px;
    font-size: 1.4em;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}
.menu-button[data-v-7e401cc9]:before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: 0.5s;
}
.menu-button[data-v-7e401cc9]:hover:before {
    left: 100%;
}
.menu-button.truth[data-v-7e401cc9] {
    background: linear-gradient(45deg, #4CAF50, #45a049);
    color: white;
    box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}
.menu-button.dare[data-v-7e401cc9] {
    background: linear-gradient(45deg, #ff4d4d, #ff3333);
    color: white;
    box-shadow: 0 4px 15px rgba(255, 77, 77, 0.3);
}
.menu-buttons[data-v-7e401cc9] {
    display: flex;
    gap: 20px;
    justify-content: center;
}
.menu-button[data-v-7e401cc9]:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.truth[data-v-7e401cc9] {
    background-color: #4CAF50;
    color: white;
}
.dare[data-v-7e401cc9] {
    background-color: #ff4d4d;
    color: white;
}
.spin-button[data-v-7e401cc9] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 15px 30px;
    font-size: 18px;
    background-color: #ff4d4d;
    color: white;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s;
    z-index: 2;
}
.spin-button[data-v-7e401cc9]:hover {
    background-color: #ff3333;
    transform: translate(-50%, -50%) scale(1.05);
}
.spin-button[data-v-7e401cc9]:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
}

/* 建议表单样式 */
.suggestion-form[data-v-7e401cc9] {
    background: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
    padding: 35px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    width: 400px;
    transform: translateY(0);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.suggestion-form[data-v-7e401cc9]:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}
.form-group input[data-v-7e401cc9],
.form-group textarea[data-v-7e401cc9],
.form-group select[data-v-7e401cc9] {
    width: 100%;
    padding: 15px;
    border: 2px solid #ddd;
    border-radius: 12px;
    font-size: 16px;
    transition: all 0.3s ease;
    background-color: #f8f9fa;
}
.form-group input[data-v-7e401cc9]:focus,
.form-group textarea[data-v-7e401cc9]:focus,
.form-group select[data-v-7e401cc9]:focus {
    outline: none;
    border-color: #4CAF50;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.2);
    background-color: #fff;
}
.submit-button[data-v-7e401cc9] {
    width: 100%;
    padding: 15px;
    background: linear-gradient(45deg, #4CAF50, #45a049);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}
.submit-button[data-v-7e401cc9]:before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: 0.5s;
}
.submit-button[data-v-7e401cc9]:hover:before {
    left: 100%;
}
.submit-button[data-v-7e401cc9]:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(76, 175, 80, 0.3);
}
.form-group textarea[data-v-7e401cc9] {
    height: 120px;
    resize: vertical;
}
.submit-button[data-v-7e401cc9] {
    width: 100%;
    padding: 12px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s;
}
.submit-button[data-v-7e401cc9]:hover {
    background-color: #45a049;
    transform: translateY(-2px);
}
.submit-button[data-v-7e401cc9]:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
    transform: none;
}

/* 模态框样式 */
.modal[data-v-7e401cc9] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 100;
}
.modal-content[data-v-7e401cc9] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 30px;
    border-radius: 15px;
    text-align: center;
    min-width: 300px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.modal h2[data-v-7e401cc9] {
    color: #ff4d4d;
    margin-bottom: 15px;
    font-size: 1.5em;
}
.modal p[data-v-7e401cc9] {
    margin-bottom: 20px;
    font-size: 1.1em;
    color: #333;
}
.close-button[data-v-7e401cc9] {
    padding: 10px 25px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    transition: all 0.3s;
}
.close-button[data-v-7e401cc9]:hover {
    background-color: #45a049;
    transform: translateY(-2px);
}

/* 响应式设计 */
@media (max-width: 768px) {
.container[data-v-7e401cc9] {
        padding: 10px;
        gap: 20px;
}
.suggestion-form[data-v-7e401cc9] {
        width: 100%;
        max-width: 400px;
}
.menu-buttons[data-v-7e401cc9] {
        flex-direction: column;
        gap: 15px;
}
.main-menu h1[data-v-7e401cc9] {
        font-size: 2em;
}
}

/* 必填项标记 */
.required[data-v-7e401cc9]::after {
    content: '*';
    color: #ff4d4d;
    margin-left: 4px;
}

/* 字数限制提示 */
.char-count[data-v-7e401cc9] {
    font-size: 12px;
    color: #666;
    text-align: right;
    margin-top: 4px;
}

/* 表单验证提示 */
.form-group input[data-v-7e401cc9]:invalid,
.form-group textarea[data-v-7e401cc9]:invalid {
    border-color: #ff4d4d;
}
.validation-message[data-v-7e401cc9] {
    font-size: 12px;
    color: #ff4d4d;
    margin-top: 4px;
    display: none;
}
.form-group input:invalid + .validation-message[data-v-7e401cc9],
.form-group textarea:invalid + .validation-message[data-v-7e401cc9] {
    display: block;
}

/* 响应式设计 */
@media (max-width: 768px) {
.container[data-v-7e401cc9] {
        padding: 10px;
        gap: 20px;
}
.suggestion-form[data-v-7e401cc9] {
        width: 100%;
        max-width: 400px;
}
.menu-buttons[data-v-7e401cc9] {
        flex-direction: column;
        gap: 15px;
}
.main-menu h1[data-v-7e401cc9] {
        font-size: 2em;
}
}
.container[data-v-7e401cc9] {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding: 10px;
  box-sizing: border-box;
}
.wheel-container[data-v-7e401cc9] {
  position: relative;
  margin: 20px auto;
  width: 100%;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 768px) {
.wheel-container[data-v-7e401cc9] {
    max-width: 350px;
    margin: 10px auto;
}
}
@media (max-width: 480px) {
.wheel-container[data-v-7e401cc9] {
    max-width: 300px;
    margin: 5px auto;
}
}
.spin-button[data-v-7e401cc9] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 15px 30px;
  background-color: #ff4d4d;
  color: white;
  border: none;
  border-radius: 25px;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
  z-index: 10;
}
@media (max-width: 768px) {
.spin-button[data-v-7e401cc9] {
    padding: 12px 24px;
    font-size: 16px;
}
}
@media (max-width: 480px) {
.spin-button[data-v-7e401cc9] {
    padding: 10px 20px;
    font-size: 14px;
    min-width: 100px;
}
}
.spin-button[data-v-7e401cc9]:hover:not(:disabled) {
  background-color: #ff3333;
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}
.spin-button[data-v-7e401cc9]:disabled {
  background-color: #cccccc;
  cursor: not-allowed;
}
.slide-fade-enter-active[data-v-7e401cc9] {
  transition: all 0.3s ease-out;
}
.slide-fade-leave-active[data-v-7e401cc9] {
  transition: all 0.3s cubic-bezier(1, 0.5, 0.8, 1);
}
.slide-fade-enter-from[data-v-7e401cc9],
.slide-fade-leave-to[data-v-7e401cc9] {
  transform: translateY(-20px);
  opacity: 0;
}
.progress-indicator[data-v-7e401cc9] {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  color: #4CAF50;
  font-size: 1.2em;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 5px 10px;
  border-radius: 15px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.result-modal[data-v-7e401cc9] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  padding: 0 15px;
}
.modal-content[data-v-7e401cc9] {
  background: linear-gradient(135deg, #fff5f5, #ffe3e3);
  border-radius: 15px;
  padding: 1.5rem;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
  text-align: center;
  max-width: 85%;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.modal-content button[data-v-7e401cc9] {
  margin-top: 1rem;
  padding: 8px 16px;
  background-color: #ff6b6b;
  color: white;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  font-weight: bold;
  transition: all 0.2s ease;
}
.modal-content button[data-v-7e401cc9]:hover {
  background-color: #ff5252;
  transform: scale(1.05);
}

/* 移动设备适配 */
@media (max-width: 480px) {
.result-modal[data-v-7e401cc9] {
    align-items: center;
}
.modal-content[data-v-7e401cc9] {
    max-width: 90%;
    padding: 1.2rem;
}
.modal-content h3[data-v-7e401cc9] {
    font-size: 18px;
    margin: 10px auto;
    text-align: center;
    width: 100%;
}
.modal-content button[data-v-7e401cc9] {
    margin-top: 0.8rem;
    padding: 8px 16px;
}
}
.modal-icon[data-v-7e401cc9] {
  font-size: 3rem;
  color: #ff6b6b;
  margin-bottom: 1rem;
  display: block;
  text-align: center;
  width: 100%;
}
.back-button[data-v-7e401cc9] {
  width: 100%;
  max-width: 300px;
  margin: 30px auto 10px;
  padding: 12px;
  background-color: #ff4d4d;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s;
  display: block;
  position: relative;
  transform: none;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  z-index: 5;
}
.back-button[data-v-7e401cc9]:hover {
  background-color: #ff3333;
  box-shadow: 0 6px 8px rgba(0,0,0,0.15);
}
@media (max-width: 768px) {
.back-button[data-v-7e401cc9] {
    max-width: 250px;
    padding: 10px;
    font-size: 14px;
    margin: 25px auto 10px;
}
}
@media (max-width: 480px) {
.back-button[data-v-7e401cc9] {
    max-width: 200px;
    padding: 10px;
    font-size: 14px;
    margin: 20px auto 10px;
}
}

.timer-challenge-container[data-v-1abd85fd] {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
}
.difficulty-selector[data-v-1abd85fd] {
  background: white;
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  margin-bottom: 20px;
  text-align: center;
}
.difficulty-buttons[data-v-1abd85fd] {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin: 20px 0;
}
.difficulty-button[data-v-1abd85fd] {
  padding: 12px 20px;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.3s;
  font-size: 16px;
}
.difficulty-button.active[data-v-1abd85fd] {
  transform: scale(1.05);
  box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
.difficulty-button.easy[data-v-1abd85fd] {
  background: #4CAF50;
  color: white;
}
.difficulty-button.medium[data-v-1abd85fd] {
  background: #FFC107;
  color: white;
}
.difficulty-button.hard[data-v-1abd85fd] {
  background: #ff4d4d;
  color: white;
}
.start-button[data-v-1abd85fd] {
  padding: 12px 25px;
  background: #ff4d4d;
  color: white;
  border: none;
  border-radius: 25px;
  font-size: 16px;
  cursor: pointer;
  margin-top: 10px;
}
.start-button[data-v-1abd85fd]:disabled {
  background: #ccc;
  cursor: not-allowed;
}
.game-in-progress[data-v-1abd85fd] {
  background: white;
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  margin-bottom: 20px;
}
.timer-container[data-v-1abd85fd] {
  text-align: center;
  margin-bottom: 20px;
}
.timer-display[data-v-1abd85fd] {
  font-size: 3em;
  font-weight: bold;
  margin-bottom: 10px;
}
.timer-display.normal[data-v-1abd85fd] {
  color: #4CAF50;
}
.timer-display.warning[data-v-1abd85fd] {
  color: #FFC107;
}
.timer-display.danger[data-v-1abd85fd] {
  color: #ff4d4d;
  animation: pulse-1abd85fd 1s infinite;
}
@keyframes pulse-1abd85fd {
0% { transform: scale(1);
}
50% { transform: scale(1.05);
}
100% { transform: scale(1);
}
}
.timer-progress[data-v-1abd85fd] {
  height: 10px;
  background: #f1f1f1;
  border-radius: 5px;
  overflow: hidden;
  margin: 0 auto;
  max-width: 300px;
}
.progress-bar[data-v-1abd85fd] {
  height: 100%;
  background: linear-gradient(to right, #4CAF50, #FFC107, #ff4d4d);
  transition: width 1s linear;
}
.challenge-result[data-v-1abd85fd] {
  margin-top: 20px;
  padding: 15px;
  background: #f8f9fa;
  border-radius: 10px;
  text-align: center;
}
.action-buttons[data-v-1abd85fd] {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 15px;
}
.complete-button[data-v-1abd85fd] {
  padding: 10px 20px;
  background: #4CAF50;
  color: white;
  border: none;
  border-radius: 20px;
  cursor: pointer;
}
.fail-button[data-v-1abd85fd] {
  padding: 10px 20px;
  background: #ff4d4d;
  color: white;
  border: none;
  border-radius: 20px;
  cursor: pointer;
}
.game-over[data-v-1abd85fd] {
  background: white;
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  margin-bottom: 20px;
  text-align: center;
}
.score-display[data-v-1abd85fd] {
  margin: 20px 0;
  padding: 15px;
  background: #f8f9fa;
  border-radius: 10px;
}
.score-display span[data-v-1abd85fd] {
  font-weight: bold;
  color: #ff4d4d;
}
.score[data-v-1abd85fd] {
  font-size: 2em;
  font-weight: bold;
  color: #ff4d4d;
  margin-top: 10px;
}
.share-container[data-v-1abd85fd] {
  margin: 20px 0;
}
/* 基础样式 */
.timer-challenge-container.enhanced {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.challenge-title {
  font-size: 2.5em;
  color: #ff4d4d;
  text-align: center;
  margin-bottom: 30px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
  position: relative;
}

.challenge-title::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 3px;
  background: linear-gradient(to right, #ff9a9e, #fad0c4);
  border-radius: 3px;
}

/* 难度选择样式 */
.difficulty-selector {
  background: white;
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  margin-bottom: 20px;
  text-align: center;
}

.difficulty-selector h3 {
  margin-bottom: 20px;
  color: #333;
  font-size: 1.5em;
}

.difficulty-buttons {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-bottom: 25px;
  flex-wrap: wrap;
}

.difficulty-button {
  flex: 1;
  min-width: 150px;
  max-width: 200px;
  padding: 15px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  font-weight: bold;
  color: white;
  position: relative;
  overflow: hidden;
}

.difficulty-button i {
  font-size: 1.5em;
  margin-bottom: 5px;
}

.difficulty-button.easy {
  background: linear-gradient(45deg, #4CAF50, #45a049);
}

.difficulty-button.medium {
  background: linear-gradient(45deg, #2196F3, #1e88e5);
}

.difficulty-button.hard {
  background: linear-gradient(45deg, #ff4d4d, #ff3333);
}

.difficulty-button:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.difficulty-button.active {
  transform: scale(1.05);
  box-shadow: 0 10px 25px rgba(0,0,0,0.25);
}

.difficulty-desc {
  font-size: 0.8em;
  opacity: 0.9;
  font-weight: normal;
}

.start-button {
  padding: 15px 40px;
  border: none;
  border-radius: 30px;
  background: linear-gradient(45deg, #ff4d4d, #ff3333);
  color: white;
  font-weight: bold;
  font-size: 1.2em;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 5px 15px rgba(255, 77, 77, 0.4);
}

.start-button:hover:not(:disabled) {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(255, 77, 77, 0.5);
}

.start-button:disabled {
  background: #cccccc;
  cursor: not-allowed;
  box-shadow: none;
}

.pulse-animation {
  animation: pulse-button 1.5s infinite;
}

@keyframes pulse-button {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

/* 游戏进行中样式 */
.game-in-progress {
  background: white;
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  margin-bottom: 20px;
}

.game-stats {
  display: flex;
  justify-content: space-around;
  margin-bottom: 15px;
  background: #f8f9fa;
  padding: 10px;
  border-radius: 10px;
  box-shadow: inset 0 0 5px rgba(0,0,0,0.05);
}

.stat-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: bold;
}

.stat-item i {
  color: #ff4d4d;
  font-size: 1.2em;
}

.timer-container {
  text-align: center;
  margin-bottom: 20px;
}

.timer-display {
  font-size: 3.5em;
  font-weight: bold;
  margin-bottom: 10px;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
  transition: color 0.3s, transform 0.3s;
}

.timer-display.normal {
  color: #4CAF50;
}

.timer-display.warning {
  color: #FFC107;
}

.timer-display.danger {
  color: #ff4d4d;
  animation: pulse 1s infinite;
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

.timer-progress {
  height: 12px;
  background: #f1f1f1;
  border-radius: 6px;
  overflow: hidden;
  margin: 0 auto;
  max-width: 400px;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.2);
}

.progress-bar {
  height: 100%;
  background: linear-gradient(to right, #4CAF50, #FFC107, #ff4d4d);
  transition: width 1s linear;
  border-radius: 6px;
}

.challenge-game {
  margin: 0 auto;
  max-width: 100%;
  transition: transform 0.3s ease;
}

.challenge-result {
  margin-top: 20px;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 15px;
  text-align: center;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  animation: fadeIn 0.5s ease-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.challenge-type {
  display: inline-block;
  padding: 5px 15px;
  border-radius: 20px;
  color: white;
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 0.9em;
  box-shadow: 0 3px 5px rgba(0,0,0,0.1);
}

.challenge-type.truth {
  background: linear-gradient(45deg, #4CAF50, #45a049);
}

.challenge-type.dare {
  background: linear-gradient(45deg, #ff4d4d, #ff3333);
}

.challenge-timer {
  margin: 15px 0;
  font-weight: bold;
  color: #ff4d4d;
}

.action-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}

.complete-button, .fail-button {
  padding: 12px 25px;
  border: none;
  border-radius: 25px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.complete-button {
  background: linear-gradient(45deg, #4CAF50, #45a049);
  color: white;
}

.complete-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(76, 175, 80, 0.3);
}

.fail-button {
  background: linear-gradient(45deg, #ff4d4d, #ff3333);
  color: white;
}

.fail-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(255, 77, 77, 0.3);
}

/* 随机事件样式 */
.random-event {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.95);
  padding: 20px;
  border-radius: 15px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  z-index: 100;
  max-width: 300px;
  text-align: center;
  animation: popIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes popIn {
  0% { transform: translate(-50%, -50%) scale(0.5); opacity: 0; }
  100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}

.event-icon {
  font-size: 2.5em;
  margin-bottom: 15px;
  color: #ff4d4d;
}

.event-content h4 {
  font-size: 1.3em;
  margin-bottom: 10px;
  color: #333;
}

.event-content p {
  color: #666;
  margin-bottom: 0;
}

/* 连击提示样式 */
.combo-notification {
  position: fixed;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 193, 7, 0.9);
  color: white;
  padding: 10px 20px;
  border-radius: 30px;
  font-weight: bold;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  z-index: 100;
  display: flex;
  align-items: center;
  gap: 10px;
}

.combo-notification i {
  font-size: 1.2em;
  color: #ff4d4d;
}

.fade-enter-active, .fade-leave-active {
  transition: opacity 0.5s, transform 0.5s;
}

.fade-enter-from, .fade-leave-to {
  opacity: 0;
  transform: translateY(20px);
}

.bounce-enter-active {
  animation: bounce-in 0.5s;
}

.bounce-leave-active {
  animation: bounce-in 0.5s reverse;
}

@keyframes bounce-in {
  0% { transform: translateX(-50%) scale(0); }
  50% { transform: translateX(-50%) scale(1.2); }
  100% { transform: translateX(-50%) scale(1); }
}

/* 游戏结束样式 */
.game-over {
  background: white;
  border-radius: 15px;
  padding: 30px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  text-align: center;
  animation: fadeIn 0.5s ease-out;
}

.game-over h3 {
  font-size: 2em;
  color: #ff4d4d;
  margin-bottom: 20px;
}

.score-display {
  margin-bottom: 30px;
}

.final-score {
  margin-bottom: 25px;
}

.score-label {
  font-size: 1.2em;
  color: #666;
  margin-bottom: 5px;
}

.score-value {
  font-size: 3em;
  font-weight: bold;
  color: #ff4d4d;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin-bottom: 25px;
}

.stat-box {
  background: #f8f9fa;
  padding: 15px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 3px 10px rgba(0,0,0,0.05);
}

.stat-box i {
  font-size: 1.5em;
  margin-bottom: 5px;
  color: #ff4d4d;
}

.stat-box span {
  font-size: 0.9em;
  color: #666;
  margin-bottom: 5px;
}

.stat-box .stat-value {
  font-size: 1.5em;
  font-weight: bold;
  color: #333;
}