:root {
  --primary: #3b82f6;       /* 蓝（主色） */
  --primary-light: #dbeafe;
  --success: #10b981;
  --danger: #ef4444;
  --warning: #f59e0b;
  --info: #3b82f6;
  --text-primary: #1f2937;
  --text-secondary: #6b7280;
  --bg-card: #ffffff;
  --border-light: #e5e7eb;
}

.btn-primary {
  background-color: var(--primary);
  border-color: var(--primary);
}

.bg-gradient-dark {
  background: linear-gradient(135deg, #2c3e50, #1a1a2e);
}
.navbar-brand {
  font-weight: 600;
  color: #fff !important;
}
.navbar-brand:hover {
  opacity: 0.9;
}

/* 替换原 style 中的 #aiChat... */
#aiChatOutput, #aiChatInput {
  font-size: 0.9375rem; /* 15px，更易读 */
}

/* 卡片标题缩小并加粗 */
.card .card-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #2d3748;
  line-height: 1.3;
}

/* 描述文字优化行高与颜色 */
.card-text {
  font-size: 0.875rem;
  line-height: 1.5 !important; /* 覆盖 inline style */
  color: #718096 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


.favorite-icon {
  cursor: pointer;
  color: #cbd5e0; /* 默认灰色 */
  transition: color 0.2s;
  font-size: 1.1rem;
}

.favorite-icon.favorited {
  color: #e53e3e; /* 红色表示已收藏 */
}

.favorite-icon.processing {
  opacity: 0.6;
  pointer-events: none;
}

.bg-gradient-dark {
    background: linear-gradient(135deg, #2c3e50, #1a1a2e);
  }
  .navbar-brand {
    font-weight: 600;
    color: #fff !important;
  }

  #aiChatOutput, #aiChatInput {
    font-size: 0.9375rem;
  }

  .card .card-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #2d3748;
    line-height: 1.3;
  }

  .card-text {
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    color: #718096 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .card-header {
    border-bottom: 1px solid rgba(0,0,0,0.08);
    padding: 0.75rem 1rem;
  }
 
  .loading {
    display: none;
  }