/* 首页预测列表样式 - 精简版 */

/* 彩种标签 */
/* =========================
   PC：高级质感 + 3D波纹流光 Tabs
   直接放在你原 CSS 下面覆盖即可
========================= */

/* 外框：玻璃质感 + 内发光 */
.lottery-tabs{
  position: relative;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 10px;
  border: 1px solid rgba(120,140,180,.22);
  box-shadow:
    0 10px 30px rgba(20,35,70,.10),
    inset 0 1px 0 rgba(255,255,255,.75);
}

/* 背景：从左到右波纹（整体容器层） */
.lottery-tabs::before{
  content:"";
  position:absolute;
  inset:-35%;
  background:
    radial-gradient(closest-side at 15% 40%, rgba(102,126,234,.22), rgba(102,126,234,0) 62%),
    radial-gradient(closest-side at 55% 55%, rgba(118,75,162,.18), rgba(118,75,162,0) 65%),
    radial-gradient(closest-side at 85% 45%, rgba(60,220,255,.14), rgba(60,220,255,0) 62%);
  filter: blur(10px);
  transform: translateX(-18%) translateZ(0);
  animation: tabsWaveMove 5.5s ease-in-out infinite;
  pointer-events:none;
  opacity:.85;
}
@keyframes tabsWaveMove{
  0%   { transform: translateX(-18%) scale(1); }
  50%  { transform: translateX(18%)  scale(1.06); }
  100% { transform: translateX(-18%) scale(1); }
}

/* 细腻纹理：轻微噪点/拉丝感（不突兀） */
.lottery-tabs::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.28), rgba(255,255,255,0) 35%, rgba(255,255,255,.18) 65%, rgba(255,255,255,0)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.08) 0 2px, rgba(255,255,255,0) 2px 7px);
  opacity:.28;
  mix-blend-mode: overlay;
  pointer-events:none;
}

/* wrapper：更像“轨道” */
.lottery-tabs-wrapper{
  position: relative;
  padding: 12px 10px;
  gap: 10px;
}

/* Tab：3D 按钮质感 */
.lottery-tab{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 16px;
  margin: 0 6px;
  border-radius: 999px;
  font-size: 14px;
  color: rgba(60,70,90,.85);
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;

  background: linear-gradient(180deg, rgba(248,250,255,.95), rgba(236,240,248,.92));
  border: 1px solid rgba(120,140,180,.22);
  box-shadow:
    0 10px 18px rgba(18,30,55,.10),
    inset 0 1px 0 rgba(255,255,255,.85);

  transform: translateZ(0);
  transition: transform .22s ease, box-shadow .22s ease, color .22s ease, border-color .22s ease;
  overflow: hidden;
}

/* Tab 内部：左→右波纹光带（hover/active 更明显） */
.lottery-tab::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(120px 60px at 0% 50%, rgba(102,126,234,.00), rgba(102,126,234,.32) 35%, rgba(118,75,162,.00) 72%),
    linear-gradient(90deg, rgba(102,126,234,.0), rgba(102,126,234,.18), rgba(118,75,162,.18), rgba(102,126,234,.0));
  transform: translateX(-65%);
  filter: blur(0.2px);
  opacity: .0;
  transition: opacity .25s ease;
  pointer-events:none;
}

/* 高光刮擦：提升“金属/玻璃”质感 */
.lottery-tab::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.65) 18%,
    rgba(255,255,255,0) 36%,
    rgba(255,255,255,0) 100%);
  transform: translateX(-80%);
  opacity:.0;
  pointer-events:none;
}

/* hover：浮起 + 波纹划过 */
.lottery-tab:hover{
  transform: translateY(-2px);
  border-color: rgba(102,126,234,.35);
  color: rgba(35,45,70,.95);
  box-shadow:
    0 14px 26px rgba(18,30,55,.16),
    inset 0 1px 0 rgba(255,255,255,.9);
}
.lottery-tab:hover::before{
  opacity: .95;
  animation: tabRipple 1.25s ease forwards;
}
.lottery-tab:hover::after{
  opacity:.55;
  animation: tabShine .95s ease forwards;
}

@keyframes tabRipple{
  0%   { transform: translateX(-70%); }
  100% { transform: translateX(70%); }
}
@keyframes tabShine{
  0%   { transform: translateX(-85%) skewX(-12deg); }
  100% { transform: translateX(85%)  skewX(-12deg); }
}

/* active：渐变 + 内发光 + 呼吸波纹 */
.lottery-tab.active{
  color:#fff;
  font-weight: 700;
  border-color: rgba(255,255,255,.18);
  background: linear-gradient(135deg, #667eea 0%, #d1a4ff78 100%);
  box-shadow:
    0 16px 32px rgba(102,126,234,.28),
    0 10px 24px rgba(118,75,162,.18),
    inset 0 1px 0 rgba(255,255,255,.35);
}
.lottery-tab.active::before{
  opacity: 1;
  animation: tabRipple 1.1s ease-in-out infinite;
}
.lottery-tab.active::after{
  opacity: .35;
  animation: tabShine 1.2s ease-in-out infinite;
}

/* active 外圈光晕（更“高级”） */
.lottery-tab.active{
  position: relative;
}
.lottery-tab.active span,
.lottery-tab.active{
  /* 兼容你 tab 文本不是 span 的情况：直接作用在 tab */
}
.lottery-tab.active{
  animation: activeGlow 2.2s ease-in-out infinite;
}
@keyframes activeGlow{
  0%,100% { filter: drop-shadow(0 10px 16px rgba(102,126,234,.22)); }
  50%     { filter: drop-shadow(0 16px 22px rgba(118,75,162,.28)); }
}

/* 点击手感：按下 */
.lottery-tab:active{
  transform: translateY(0px) scale(.99);
}

/* 无障碍：键盘聚焦也有光 */
.lottery-tab:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 3px rgba(102,126,234,.25),
    0 12px 24px rgba(18,30,55,.14),
    inset 0 1px 0 rgba(255,255,255,.85);
}


/* 预测列表容器 - 限制高度 */
.prediction-container {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  max-height: 400px;
  /* 限制最大高度，约3个用户的高度 */
}

#content_children {
  overflow-y: auto;
  max-height: 380px;
}

/* 预测卡片 - 并排显示版 */
.prediction-card {
  padding: 15px 12px;
  border-bottom: 1px solid #f0f0f0;
  display: flex;
  align-items: center;
  gap: 15px;
  transition: background 0.2s;
  cursor: pointer;
}

.prediction-card:hover {
  background: #f9f9f9;
}

.prediction-card:last-child {
  border-bottom: none;
}

/* 用户信息 - 并排布局 */
.user-info {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
}

.user-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 10px;
  flex-shrink: 0;
  object-fit: cover;
}

.user-avatar-placeholder {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
}

/* 并排显示的各个元素 */
.user-nickname {
  min-width: 100px;
  font-size: 15px;
  font-weight: 500;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lottery-name {
  min-width: 70px;
  font-size: 14px;
  color: #666;
  white-space: nowrap;
}

.play-name {
  min-width: 60px;
  font-size: 13px;
  color: #999;
  white-space: nowrap;
}

.lottery-expect {
  min-width: 80px;
  font-size: 14px;
  color: #999;
  white-space: nowrap;
}

.user-stats-inline {
  display: flex;
  gap: 15px;
  margin-left: auto;
  flex-shrink: 0;
}

.user-details {
  flex: 1;
  min-width: 0;
}

.user-name {
  font-size: 15px;
  font-weight: bold;
  color: #333;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-stats {
  font-size: 12px;
  color: #999;
  display: flex;
  gap: 10px;
}

.stat-item {
  display: flex;
  align-items: center;
  gap: 2px;
  font-size: 13px;
  color: #666;
  white-space: nowrap;
}

/* 预测信息 */
.prediction-info {
  text-align: right;
  flex-shrink: 0;
  margin-left: 10px;
}

.prediction-period {
  font-size: 13px;
  color: #666;
  margin-bottom: 4px;
}

.prediction-badge {
  display: inline-block;
  padding: 3px 10px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  border-radius: 12px;
  font-size: 12px;
}

.prediction-badge.free {
  background: #52c41a;
}

/* 加载状态 */
.bload {
  text-align: center;
  padding: 15px;
  color: #999;
  font-size: 14px;
}

.bload.none {
  display: none;
}

/* 查看更多按钮 */
.view-more {
  text-align: center;
  padding: 5px;
  background: #f5f5f5;
  color: #667eea;
  font-size: 14px;
  cursor: pointer;
  border-top: 1px solid #eee;
}

.view-more:hover {
  background: #ebebeb;
}

/* 响应式 */
@media (max-width: 768px) {
  .prediction-card {
    gap: 10px;
    padding: 12px 10px;
  }
  
  .user-nickname {
    min-width: 80px;
    font-size: 14px;
  }
  
  .lottery-name,
  .play-name,
  .lottery-expect {
    min-width: 50px;
    font-size: 12px;
  }
  
  .user-stats-inline {
    gap: 10px;
  }
  
  .stat-item {
    font-size: 12px;
  }
}

@media (max-width: 375px) {
  .user-avatar,
  .user-avatar-placeholder {
    width: 35px;
    height: 35px;
  }
  
  .user-avatar-placeholder {
    font-size: 16px;
  }

  .user-name {
    font-size: 14px;
  }

  .user-stats {
    font-size: 11px;
  }
  
  .prediction-card {
    flex-wrap: wrap;
    gap: 8px;
  }
  
  .user-nickname {
    min-width: 60px;
  }
}