/* ==========================================================================
   技术优势
   ========================================================================== */

/* 大型蜂巢可视化 */
.grid-visual {
  background: linear-gradient(180deg, var(--color-bg-soft) 0%, #fff 100%);
  padding: var(--sp-7) 0;
}

.grid-visual__wrap {
  max-width: 900px;
  margin: var(--sp-5) auto 0;
  background: #fff;
  border-radius: var(--radius-xl);
  padding: var(--sp-6);
  box-shadow: var(--shadow-card);
}

.hex-grid-big {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  gap: 4px;
}

.hex-cell {
  aspect-ratio: 1 / 1.15;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: var(--color-bg-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: var(--color-text-muted);
  font-weight: 600;
  transition: all 0.6s var(--ease-out);
}

.hex-cell.lvl-1 { background: #FFF4DD; }
.hex-cell.lvl-2 { background: #FFD27A; color: var(--color-ink); }
.hex-cell.lvl-3 { background: var(--color-primary); color: #fff; }
.hex-cell.lvl-hot { background: var(--color-danger); color: #fff; }
.hex-cell.supply { background: var(--color-success); color: #fff; }

.grid-legend {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--sp-3);
  margin-top: var(--sp-4);
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
}

.grid-legend__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.grid-legend__dot {
  width: 14px;
  height: 14px;
  border-radius: 3px;
}

/* 算法匹配因子 */
.match-factors {
  background: var(--color-bg-soft);
}

.match-factors__grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--sp-6);
  margin-top: var(--sp-5);
  align-items: center;
}

.factor-list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}

.factor-bar {
  background: #fff;
  border-radius: var(--radius-md);
  padding: var(--sp-3);
  display: grid;
  grid-template-columns: 120px 1fr 50px;
  gap: var(--sp-3);
  align-items: center;
  font-size: var(--fs-sm);
  border: 1px solid var(--color-border);
}

.factor-bar__name {
  color: var(--color-ink);
  font-weight: 600;
}

.factor-bar__rail {
  height: 8px;
  background: var(--color-bg-soft);
  border-radius: var(--radius-pill);
  overflow: hidden;
}

.factor-bar__fill {
  height: 100%;
  background: linear-gradient(90deg, var(--color-primary-light), var(--color-primary));
  border-radius: var(--radius-pill);
  transition: width 1.2s var(--ease-out);
}

.factor-bar__pct {
  text-align: right;
  font-weight: 700;
  color: var(--color-primary-dark);
}

.match-factors__visual {
  background: #fff;
  border-radius: var(--radius-xl);
  padding: var(--sp-5);
  box-shadow: var(--shadow-card);
}

.match-formula {
  text-align: center;
  padding: var(--sp-4);
  background: var(--color-ink);
  border-radius: var(--radius-lg);
  color: #fff;
  font-family: var(--font-family-mono);
  margin-bottom: var(--sp-3);
}

.match-formula .var { color: var(--color-primary); }

.match-note {
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
  line-height: var(--lh-relaxed);
  text-align: center;
}

/* 实时监控仪表盘 */
.dashboard-demo {
  background: var(--color-ink);
  color: #fff;
  padding: var(--sp-7) 0;
}

.dashboard-demo .section-title,
.dashboard-demo .section-subtitle {
  color: #fff;
}

.dashboard-demo .section-subtitle {
  color: rgba(255, 255, 255, 0.7);
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-3);
  margin-top: var(--sp-5);
}

.dash-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-lg);
  padding: var(--sp-4);
  backdrop-filter: blur(6px);
}

.dash-card h4 {
  font-size: var(--fs-sm);
  color: rgba(255, 255, 255, 0.6);
  font-weight: 500;
  margin-bottom: var(--sp-2);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dash-card h4 .live {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  color: var(--color-success);
}

.dash-card h4 .live::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--color-success);
  border-radius: 50%;
  animation: blink 1.6s ease-in-out infinite;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

.dash-card__value {
  font-size: 36px;
  font-weight: 800;
  color: var(--color-primary);
  font-variant-numeric: tabular-nums;
}

.dash-card__trend {
  font-size: var(--fs-xs);
  color: rgba(255, 255, 255, 0.5);
  margin-top: 4px;
}

.dash-card__trend.up { color: var(--color-success); }
.dash-card__trend.down { color: var(--color-danger); }

/* 安全承诺 */
.security {
  padding: var(--sp-7) 0;
}

.security__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-4);
  margin-top: var(--sp-5);
}

.security-card {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--sp-4);
  text-align: center;
  transition: all var(--transition-base);
}

.security-card:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-hover);
  transform: translateY(-4px);
}

.security-card__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto var(--sp-3);
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
}

.security-card h4 {
  font-size: var(--fs-md);
  color: var(--color-ink);
  margin-bottom: var(--sp-2);
}

.security-card p {
  color: var(--color-text-secondary);
  line-height: var(--lh-relaxed);
  font-size: var(--fs-sm);
}

@media (max-width: 1024px) {
  .match-factors__grid { grid-template-columns: 1fr; }
  .dashboard-grid { grid-template-columns: repeat(2, 1fr); }
  .security__grid { grid-template-columns: 1fr; }
  .hex-grid-big { grid-template-columns: repeat(7, 1fr); }
}

@media (max-width: 768px) {
  .dashboard-grid { grid-template-columns: 1fr 1fr; }
  .dash-card__value { font-size: 24px; }
  .factor-bar { grid-template-columns: 80px 1fr 40px; font-size: var(--fs-xs); }
  .hex-grid-big { grid-template-columns: repeat(5, 1fr); }
}
