:root {
  /* 核心背景色参数（统一口径） */
  --bg-main: #F9FBF9; /* Hex */
  /* 注意：给 rgb(var(--xxx) / a) 使用时需空格分隔，而非逗号分隔 */
  --bg-main-rgb: 249 251 249; /* rgb(249 251 249) */
  --bg-main-hsl: 120, 10%, 98%; /* hsl(120, 10%, 98%) */

  /* TenderAI 品牌视觉标准规范 */
  --brand-green: #2D5A27; /* 主色：草绿 */
  --brand-black: #000000; /* 辅助：黑色 */
  --bg-light-green: #F9FBF9; /* 背景：极浅绿 */
  --text-main: #2D5A27;
  --text-gray: #666666;

  /* 主色：墨绿（兼容旧变量名） */
  --brand: var(--brand-green);
  --brand-rgb: 45 90 39; /* rgb(45 90 39) */

  --brand-hover: #23471F; /* Hex */
  --brand-hover-rgb: 35 71 31; /* rgb(35 71 31) */

  /* 卡片圆角统一 12px */
  --radius-card: 12px;

  /* 卡片阴影统一：与插件一致 */
  --shadow-card: 0 4px 20px rgba(0, 0, 0, 0.05);

  /* 卡片边框：极淡绿色 */
  --stroke-card: rgba(45, 90, 39, 0.1);
}

html,
body {
  background: var(--bg-light-green);
}

/* 轻微卡片投影：在浅绿灰背景上形成细腻层次 */
.tender-card-shadow {
  box-shadow: var(--shadow-card) !important;
  border-radius: var(--radius-card) !important;
}

/* 为卡片类容器统一圆角（避免大量逐页替换 rounded-3xl） */
.card-hover {
  border-radius: var(--radius-card) !important;
}

.card-hover:hover {
  box-shadow: var(--shadow-card) !important;
  transform: translateY(-4px);
}

/* 站点常用的 Card 容器使用 bg-panel，统一圆角到 12px */
[class~="bg-panel"] {
  border-radius: var(--radius-card) !important;
}

/* Tailwind 自定义阴影类在不同页面内由 CDN 注入，这里用 !important 统一覆盖 */
.shadow-glow {
  box-shadow: var(--shadow-card) !important;
}

/* 大部分“卡片容器”使用 rounded-3xl，统一到 12px */
.rounded-3xl {
  border-radius: var(--radius-card) !important;
}

/* 按钮 hover 微缩放 */
.tender-btn {
  transition: transform 140ms ease, background-color 180ms ease, border-color 180ms ease;
  will-change: transform;
}
.tender-btn:hover {
  transform: scale(0.98);
}

/* 按钮通用规范（便于对齐插件/后续接入） */
.btn-primary {
  background-color: var(--brand-green) !important;
  color: white !important;
  border-radius: 8px !important;
  border: none !important;
  transition: opacity 0.2s;
}
.btn-primary:hover {
  opacity: 0.9;
}

/* 连接状态呼吸灯（授权页/控制台用） */
@keyframes tender-breath {
  0% { box-shadow: 0 0 0 0 rgba(45, 90, 39, 0.20); opacity: 0.65; }
  70% { box-shadow: 0 0 0 10px rgba(45, 90, 39, 0); opacity: 1; }
  100% { box-shadow: 0 0 0 0 rgba(45, 90, 39, 0); opacity: 0.65; }
}
.tender-breath {
  animation: tender-breath 1.6s ease-in-out infinite;
}

@keyframes tender-breath-red {
  0% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.22); opacity: 0.65; }
  70% { box-shadow: 0 0 0 10px rgba(220, 38, 38, 0); opacity: 1; }
  100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); opacity: 0.65; }
}
.tender-breath-red {
  animation: tender-breath-red 1.6s ease-in-out infinite;
}

/* 深绿渐变主按钮（对齐插件风格）：仅作用于按钮（tender-btn） */
.tender-btn.bg-brand {
  background-image: linear-gradient(180deg, #2D5A27 0%, #1F3F1B 100%) !important;
  background-color: transparent !important;
}
.tender-btn.bg-brand:hover {
  background-image: linear-gradient(180deg, #23471F 0%, #163115 100%) !important;
}

/* 统一卡片边框色（极淡绿色） */
.border-emerald-100,
.border-emerald-200 {
  border-color: var(--stroke-card) !important;
}

/* =========================
   Brand Logo (网站/插件统一)
   - Tender: #2D5A27
   - AI 气泡：#000000，圆角 20px
   ========================= */
.brand-logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1;
  user-select: none;
}

.brand-logo__tender {
  color: var(--brand-green);
  font-weight: 800;
  letter-spacing: -0.02em;
  font-size: 18px;
}

.brand-logo__ai {
  background: var(--brand-black);
  color: #FFFFFF;
  border-radius: 20px;
  padding: 6px 10px;
  font-weight: 800;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

.beian-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px 12px;
}

.beian-links a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.beian-icp-link::before {
  content: "|";
  display: inline-block;
  margin-right: 8px;
  color: rgba(100, 116, 139, 0.9);
}

@media (max-width: 420px) {
  .beian-links {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .beian-icp-link::before {
    content: "";
    margin-right: 0;
  }
}

.beian-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px 12px;
}

.beian-links a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.beian-icp-link::before {
  content: "|";
  display: inline-block;
  margin-right: 8px;
  color: rgba(100, 116, 139, 0.9);
}

@media (max-width: 420px) {
  .beian-links {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .beian-icp-link::before {
    content: "";
    margin-right: 0;
  }
}
