/* 只作用于 [ttop] 输出区域 */
.rboard{
  margin: 18px 0;
}

/* =========================
   Filters / Chips
========================= */
.rboard .rfilters{
  margin-bottom: 14px;
}

.rboard .rfilterrow{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:10px;
}

.rboard .rfilterlabel{
  flex:0 0 auto;
  min-width:64px;
  font-size:13px;
  line-height:1.8;
  opacity:.85;
}

.rboard .rfilterchips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.rboard .rchip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  text-decoration:none;
  font-size:13px;
  line-height:1;
  background:#fff;
  transition: box-shadow .15s ease, transform .08s ease, border-color .15s ease;
}

.rboard .rchip:hover{
  border-color: rgba(0,0,0,.18);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  transform: translateY(-1px);
}

/* 选中态：更明显（用户知道点击成功） */
.rboard .rchip.on{
  border-color: rgba(0,0,0,.24);
  box-shadow: 0 3px 10px rgba(0,0,0,.10);
  font-weight:600;
}

/* 选中的选项不允许再次点击 */
.rboard .rchip[aria-disabled="true"],
.rboard .rchip.on{
  pointer-events:none;
  cursor:default;
  transform:none;
}

/* =========================
   List / Cards
========================= */
.rboard .rboardlist{
  display:grid;
  gap:12px;
}

.rboard .rloading,
.rboard .rempty{
  padding:6px 6px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}

.rboard .rboardrow{
  display:flex;
  gap:14px;
  padding: 6px 6px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  transition: box-shadow .18s ease, transform .10s ease, border-color .18s ease;
}

.rboard .rboardrow:hover{
  border-color: rgba(0,0,0,.12);
  box-shadow: 0 6px 18px rgba(0,0,0,.10);
  transform: translateY(-1px);
}

/* 封面：16:9 横图，整体更协调 */
.rboard .rboardthumb{
  flex: 0 0 200px;
  width: 20px;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.10);
  background:#fff; /* 默认白底 */
}

/* 无封面：白色占位块（保持布局一致） */
.rboard .rboardthumb--empty{
  background:#fff;
}

.rboard .rboardimg{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* 内容区 */
.rboard .rboardbody{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
}

.rboard .rboardtitle{
  text-decoration:none;
  font-size:16px;
  line-height:1.35;
  word-break:break-word;
}

.rboard .rboardtitle:hover{
  text-decoration:underline;
}

.rboard .rboardscore{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  justify-content: flex-end;
}

.rboard .rboardnum{
  font-size:14px;
  opacity:.9;
}

/* =========================
   Pager
========================= */
.rboard .rboardpager{
  margin-top: 12px;
}

.rboard .rpager{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content: flex-end;
}

.rboard .rpager a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  text-decoration:none;
  font-size:13px;
  transition: box-shadow .15s ease, transform .08s ease, border-color .15s ease;
}

.rboard .rpager a:hover{
  border-color: rgba(0,0,0,.18);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  transform: translateY(-1px);
}

.rboard .rpager a.disabled{
  opacity:.5;
  pointer-events:none;
  transform:none;
  box-shadow:none;
}

/* =========================
   Mobile Optimizations
========================= */
@media (max-width: 768px){
  .rboard{
    margin: 14px 0;
  }

  .rboard .rfilters{
    margin-bottom: 12px;
  }

  .rboard .rfilterrow{
    flex-direction:column;
    gap:6px;
    margin-bottom:10px;
  }

  .rboard .rfilterlabel{
    min-width:0;
    font-size:12px;
    line-height:1.4;
    opacity:.9;
  }

  .rboard .rfilterchips{
    gap:6px;
  }

  .rboard .rchip{
    padding:7px 10px;
    font-size:12px;
  }

  .rboard .rboardlist{
    gap:10px;
  }

  .rboard .rboardrow{
    padding:12px;
    gap:12px;
    border-radius:14px;
  }

  /* 手机：封面缩小一点但仍 16:9 */
  .rboard .rboardthumb{
    flex-basis: 150px;
    width: 150px;
    border-radius: 12px;
  }

  .rboard .rboardtitle{
    font-size:15px;
  }

  .rboard .rboardnum{
    font-size:13px;
  }

  .rboard .rpager a{
    padding:9px 12px;
    font-size:12px;
  }
}

/* 小屏：改为“封面上、文字下”，避免横向拥挤 */
@media (max-width: 420px){
  .rboard .rboardrow{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

  .rboard .rboardthumb{
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    border-radius: 14px;
  }

  .rboard .rboardbody{
    gap:8px;
  }

  .rboard .rboardtitle{
    font-size:15px;
  }

  /* 评分区域不挤 */
  .rboard .rboardscore{
    gap:6px;
  }
}
