/* cover.css - 动态光点封面图系统 */
.cover-container {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-card);
  overflow: hidden;
  background: #f0ebe3;
}
.cover-container .cover-bg { position: absolute; inset: 0; z-index: 0; }
.cover-container .cover-title {
  position: absolute; bottom: 16px; left: 16px; right: 16px;
  z-index: 3;
  font-family: var(--font-serif);
  font-size: 1.4rem;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
  margin: 0;
}
/* 产品主体光晕 */
.cover-container .cover-glow {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 40%; height: 40%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.45) 0%, rgba(255,255,255,0) 70%);
  filter: blur(10px);
  z-index: 1;
  pointer-events: none;
}
/* 光点基础样式 */
.light-dot {
  position: absolute;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.8);
  z-index: 2;
  animation: twinkle var(--duration, 3s) ease-in-out infinite;
  pointer-events: none;
}
@keyframes twinkle {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 1; }
}
/* 降级模式（SVG 或外部图片失败时） */
.cover-container.fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--brand-primary);
}
.cover-container.fallback .cover-title { position: static; text-shadow: none; }
/* 移动端 */
@media (max-width: 768px) {
  .cover-container .cover-title { font-size: 1.1rem; bottom: 8px; left: 8px; right: 8px; }
  .light-dot { width: 4px; height: 4px; }
  /* 光点数量减半由 JS 或生成时控制，CSS 仅保证可见性 */
}