/* ============ 首页总宽度强制扩展 ============ */
html, body { min-width: 1440px !important; }
.page-home .content,
.page-home .content .container { width: 1420px !important; max-width: 1420px !important; }
.page-home .site-header,
.page-home .site-nav,
.page-home .topbar { width: 1420px !important; }
.page-home .ad-list-tbl { width: 1420px !important; }

/* ============ 右侧工具栏（position: fixed 贴表格外右侧 28px，视口固定不随滚动移动） ============ */
/* 隐藏原有的全局签到按钮，防止重复 */
.float-signin { display: none !important; }

/*
 * 注意：position: fixed 的参考系是视口（viewport）。
 * 若任何祖先节点有 transform / will-change: transform / filter / perspective / contain:layout 等属性，
 * 会改变 fixed 参考系到该祖先容器（导致滚动时工具栏跟着跑）。
 * 因此本项目中，若首页外层 #zoom-wrapper 需要做移动端 transform:scale，
 * 工具栏必须被移出到 #zoom-wrapper 外面（与 body 同级直接子元素）才能真正视口固定。
 */

.cl-couplet {
  position: fixed;
  /* top 和 right 由 JS 在 load/resize 时动态计算，这里写默认值兜底 */
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
  z-index: 998;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 64px;
  min-width: 64px;
  max-width: 64px;
  flex: 0 0 64px;
  background: #ffffff;
  border: 1.5px solid #e0d2b0;
  border-radius: 12px;
  box-shadow: 0 6px 24px rgba(90,15,8,.12), 0 2px 6px rgba(201,43,27,.08);
  overflow: hidden;
}

/* 工具栏主体 */
.cl-couplet-body {
  width: 100%;
  padding: 6px 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: center;
}

/* 单个工具栏按钮 */
.cl-btn {
  position: relative;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-decoration: none;
  cursor: pointer;
  transition: all .18s ease;
  border: 1px solid transparent;
  background-clip: padding-box;
  overflow: hidden;
}
.cl-btn .ic { font-size: 18px; line-height: 1; }
.cl-btn .lb {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .3px;
  line-height: 1;
  color: #5a0f08;
}

/* —— 个人中心按钮（金框白底红图标） —— */
.cl-btn.profile {
  background: linear-gradient(180deg, #fffaf2 0%, #fff5e6 100%);
  border-color: rgba(212,175,55,.4);
  color: #c92b1b;
}
.cl-btn.profile .lb { color: #c92b1b; }
.cl-btn.profile:hover {
  background: linear-gradient(180deg, #fff3dd 0%, #ffe4b0 100%);
  border-color: #d4af37;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(212,175,55,.3);
}

/* —— 签到按钮（红色渐变） —— */
.cl-btn.signin {
  background-image: linear-gradient(180deg, #e23f2e 0%, #c92b1b 100%);
  border-color: rgba(243,212,124,.4);
  color: #fff5d4;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.cl-btn.signin .lb { color: #fff5d4; }
.cl-btn.signin:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(201,43,27,.35), inset 0 1px 0 rgba(255,255,255,.18);
}

/* —— 收录按钮（金色渐变） —— */
.cl-btn.apply {
  background-image: linear-gradient(180deg, #f5df9e 0%, #e2c15c 100%);
  border-color: rgba(201,43,27,.25);
  color: #5a0f08;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
}
.cl-btn.apply .lb { color: #5a0f08; }
.cl-btn.apply:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(212,175,55,.4), inset 0 1px 0 rgba(255,255,255,.6);
}

/* —— 反馈按钮（深红底金字） —— */
.cl-btn.feedback {
  background-image: linear-gradient(180deg, #7a1a10 0%, #5a0f08 100%);
  border-color: rgba(243,212,124,.4);
  color: #f3d47c;
  box-shadow: inset 0 1px 0 rgba(243,212,124,.1);
}
.cl-btn.feedback .lb { color: #f3d47c; }
.cl-btn.feedback:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(90,15,8,.4), inset 0 1px 0 rgba(243,212,124,.18);
}

/* —— 回到顶部按钮（白底金边） —— */
.cl-btn.totop {
  background-image: linear-gradient(180deg, #ffffff 0%, #fffaf2 100%);
  border-color: rgba(212,175,55,.35);
  color: #c92b1b;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.cl-btn.totop .lb { color: #c92b1b; }
.cl-btn.totop:hover {
  transform: translateY(-1px);
  background-image: linear-gradient(180deg, #fff3dd 0%, #ffe4b0 100%);
  box-shadow: 0 4px 12px rgba(212,175,55,.35);
}

/* 分隔条（细金线） */
.cl-divider {
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #e8d098, transparent);
  margin: 3px 0;
}

/* —— Tooltip 文字气泡 —— */
.cl-btn[data-tip]:hover::before {
  content: attr(data-tip);
  position: absolute;
  right: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
  background: #5a0f08;
  color: #f3d47c;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  letter-spacing: .3px;
  box-shadow: 0 3px 10px rgba(0,0,0,.18);
  z-index: 10;
}
.cl-btn[data-tip]:hover::after {
  content: '';
  position: absolute;
  right: calc(100% + 4px);
  top: 50%;
  transform: translateY(-50%);
  border: 4px solid transparent;
  border-left-color: #5a0f08;
  z-index: 10;
}

/* ============ 首页分区标题 ============ */
.home-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 4px 8px;
  margin-bottom: 6px;
}
.home-section-title.mt-section { margin-top: 22px; }
.home-section-title .hst-bar {
  width: 4px;
  height: 20px;
  background: linear-gradient(180deg, #c92b1b, #5a0f08);
  border-radius: 2px;
  flex-shrink: 0;
}
.home-section-title .hst-text {
  font-size: 17px;
  font-weight: 600;
  color: #5a0f08;
  letter-spacing: 1px;
}
.home-section-title .hst-sub {
  font-size: 12px;
  color: #999;
  font-weight: normal;
}
.home-section-title .hst-sub strong { color: #c92b1b; }
.home-section-title .hst-more {
  margin-left: 12px;
  color: #c92b1b;
  text-decoration: none;
  font-size: 12px;
}
.home-section-title .hst-more:hover { text-decoration: underline; }

/* ============ 数据采集排行表（首页下半部分） ============ */
.collect-list-wrap { background: #fff; border: 1px solid #e0d2b0; border-radius: 6px; overflow: hidden; }
.collect-rank-tbl { table-layout: fixed; }
.collect-rank-tbl .col-c-rank { width: 60px; text-align: center; }
.collect-rank-tbl .col-c-srv { width: 150px; }
.collect-rank-tbl .col-c-ver { width: 70px; text-align: center; }
.collect-rank-tbl .col-c-line { width: 80px; text-align: center; }
.collect-rank-tbl .col-c-open { width: 110px; text-align: center; }
.collect-rank-tbl .col-c-open.today-open { color: #c92b1b; font-weight: 700; }
.collect-rank-tbl .col-c-qq { width: 100px; text-align: center; }
.collect-rank-tbl .col-c-days { width: 80px; text-align: center; }
.collect-rank-tbl .col-c-invest { width: 110px; text-align: right; color: #c92b1b; font-weight: 700; padding-right: 12px; }
.collect-rank-tbl .col-action { width: 90px; text-align: center; }
.collect-rank-tbl tbody tr.top-1 { background: #fff3cd; }
.collect-rank-tbl tbody tr.top-2 { background: #fff7e0; }
.collect-rank-tbl tbody tr.top-3 { background: #fff8e8; }
.collect-rank-tbl tbody tr:hover { background: #fff5e8; }
.collect-rank-tbl .rank-medal {
  display: inline-block;
  width: 24px;
  height: 24px;
  line-height: 24px;
  border-radius: 50%;
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  text-align: center;
}
.collect-rank-tbl .rank-medal.m1 { background: linear-gradient(135deg, #ff5b3d, #c92b1b); }
.collect-rank-tbl .rank-medal.m2 { background: linear-gradient(135deg, #f5a623, #d48806); }
.collect-rank-tbl .rank-medal.m3 { background: linear-gradient(135deg, #cd7f32, #b87333); }
.collect-rank-tbl .cp-btn-view {
  display: inline-block;
  padding: 3px 10px;
  border: 1px solid #c92b1b;
  border-radius: 3px;
  color: #c92b1b;
  text-decoration: none;
  font-size: 12px;
  transition: all .18s;
}
.collect-rank-tbl .cp-btn-view:hover { background: #c92b1b; color: #fff; }

/* yysf 排行榜表格 */
.yysf-rank-tbl {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.yysf-rank-tbl thead th {
  background: linear-gradient(90deg, #c92b1b 0%, #a81e10 50%, #c92b1b 100%);
  color: #fff;
  font-weight: normal;
  font-size: 13px;
  padding: 10px 8px;
  text-align: center;
  border: 1px solid #a81e10;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.yysf-rank-tbl tbody td {
  padding: 9px 8px;
  border: 1px solid #e8dcc0;
  font-size: 13px;
  color: #000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  vertical-align: middle;
}
.yysf-rank-tbl tbody tr:hover td {
  background: #fffaf0;
}

/* 排名列 */
.yysf-rank-tbl .yysf-col-rank {
  text-align: center;
  padding: 0;
}
.yysf-rank-tbl .rank-num {
  display: inline-block;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  border-radius: 50%;
  background: #f0e6d0;
  color: #555;
  font-size: 13px;
}
.yysf-rank-tbl .rank-num.rank-1 {
  background: linear-gradient(135deg, #ffd700, #e6b800);
  color: #7a5d00;
  font-weight: bold;
  box-shadow: 0 0 0 2px rgba(255,215,0,.3);
}
.yysf-rank-tbl .rank-num.rank-2 {
  background: linear-gradient(135deg, #d0d0d0, #a8a8a8);
  color: #444;
  font-weight: bold;
  box-shadow: 0 0 0 2px rgba(208,208,208,.3);
}
.yysf-rank-tbl .rank-num.rank-3 {
  background: linear-gradient(135deg, #e69959, #b56f2b);
  color: #fff;
  font-weight: bold;
  box-shadow: 0 0 0 2px rgba(230,153,89,.3);
}

/* 游戏名称列 - 居中对齐 */
.yysf-rank-tbl .yysf-col-game {
  text-align: center;
  font-weight: normal;
  color: #000;
  cursor: pointer;
}
.yysf-rank-tbl .yysf-col-game:hover {
  color: #c92b1b;
}

/* 服务器名列 - 居中对齐 */
.yysf-rank-tbl .yysf-col-server {
  text-align: center;
  color: #000;
}

/* 游戏介绍列 - 居中对齐 */
.yysf-rank-tbl .yysf-col-desc {
  text-align: center;
  color: #555;
  font-size: 12px;
}

/* 线路类别 */
.yysf-rank-tbl .yysf-col-line {
  color: #666;
}

/* 客服QQ */
.yysf-rank-tbl .yysf-col-qq {
  color: #333;
}

/* 投放天数/站数/同服 数量样式 */
.yysf-rank-tbl .yysf-col-days,
.yysf-rank-tbl .yysf-col-sites,
.yysf-rank-tbl .yysf-col-same,
.tb1 .yysf-col-days,
.tb1 .yysf-col-sites,
.tb1 .yysf-col-same {
  font-size: 13px;
}

/* YYSF 原版样式 - 投放天数/站数/同服/广告投入 */
.yysf-rank-tbl td .hot,
.yysf-rank-tbl td span.hot,
.tb1 td .hot,
.tb1 td span.hot {
  background: #ffe7e7;
  color: #a52321;
  text-shadow: none;
  padding: 2px 4px;
  border-radius: 2px;
  text-decoration: none;
}

.yysf-rank-tbl td .green,
.yysf-rank-tbl td span.green,
.tb1 td .green,
.tb1 td span.green {
  background: #d0efd0;
  color: #1d810d;
  text-shadow: none;
  padding: 2px 4px;
  border-radius: 2px;
  text-decoration: none;
}

.yysf-rank-tbl td .day,
.yysf-rank-tbl td span.day,
.tb1 td .day,
.tb1 td span.day {
  color: #9f5b3a;
  background: #f7e4d4;
  text-shadow: none;
  padding: 2px 4px;
  border-radius: 2px;
  text-decoration: none;
}

.yysf-rank-tbl td .black,
.yysf-rank-tbl td span.black,
.tb1 td .black,
.tb1 td span.black {
  background: #e7e7e7;
  text-shadow: none;
  padding: 2px 4px;
  border-radius: 2px;
  text-decoration: none;
}

/* 广告投入 - 金色突出 */
.yysf-rank-tbl .yysf-col-invest,
.tb1 .yysf-col-invest {
  color: #b5751a;
  font-weight: normal;
  font-size: 14px;
}

/* 查看按钮 */
.yysf-rank-tbl .yysf-col-action,
.tb1 .yysf-col-action {
  padding: 8px 4px;
}
.yysf-rank-tbl .yysf-btn-view,
.tb1 .yysf-btn-view {
  display: inline-block;
  padding: 3px 12px;
  background: linear-gradient(135deg, #c92b1b, #5a0f08);
  border: 1px solid #c92b1b;
  border-radius: 3px;
  color: #fff;
  font-size: 12px;
  text-decoration: none;
  cursor: pointer;
  transition: all .15s;
}
.yysf-rank-tbl .yysf-btn-view:hover,
.tb1 .yysf-btn-view:hover {
  background: linear-gradient(135deg, #5a0f08, #c92b1b);
  color: #fff;
}

/* ========== YYSF 风格排序/搜索/站点统计（1:1 与原版对齐） ========== */
/* 高亮：搜索命中的关键词包裹（黄底+粗体） */
.yysf-area .highlight {
  background: #fff59d;
  color: #c92b1b;
  font-weight: 700;
  padding: 0 1px;
  border-radius: 2px;
}
.yysf-area {
  margin-top: 22px;
}
.yysf-search-bar {
  background: #fff;
  border: 1px solid #e0d2b0;
  border-radius: 6px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.yysf-search-bar .s {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 640px;
  position: relative;
}
.yysf-search-bar .search_input {
  flex: 1;
  height: 36px;
  padding: 0 44px 0 12px;
  border: 1px solid #e0d2b0;
  border-radius: 4px 0 0 4px;
  outline: none;
  font-size: 14px;
  color: #333;
  background: #fffdf7;
}
.yysf-search-bar .search_input:focus {
  border-color: #c92b1b;
  background: #fff;
}
.yysf-search-bar .search_button {
  height: 36px;
  padding: 0 20px;
  background: linear-gradient(180deg, #e23f2e 0%, #c92b1b 100%);
  border: 1px solid #c92b1b;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  border-radius: 0 4px 4px 0;
  letter-spacing: 2px;
}
.yysf-search-bar .search-hot {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  font-size: 12px;
  color: #888;
}
.yysf-search-bar .search-hot a {
  color: #5a0f08;
  text-decoration: none;
}
.yysf-search-bar .search-hot a:hover {
  color: #c92b1b;
  text-decoration: underline;
}

/* 独立热搜词样式（脱离 yysf-search-bar 容器后使用） */
.yysf-area > .search-hot {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  font-size: 12px;
  color: #888;
  padding: 6px 0 10px;
}
.yysf-area > .search-hot a {
  color: #5a0f08;
  text-decoration: none;
  cursor: pointer;
}
.yysf-area > .search-hot a:hover {
  color: #c92b1b;
  text-decoration: underline;
}

/* hr 排序栏（与 YYSF 原版完全一致） */
.hr {
  background: #fff;
  border: 1px solid #e0d2b0;
  border-radius: 6px;
  padding: 10px 14px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.hr .left {
  display: flex;
  align-items: center;
  gap: 0;
}
.hr .left span {
  display: flex;
  gap: 0;
}
.hr .left a {
  display: inline-block;
  padding: 6px 14px;
  border: 1px solid #e0d2b0;
  color: #5a0f08;
  text-decoration: none;
  font-size: 13px;
  border-right: none;
  background: #fffdf7;
  cursor: pointer;
}
.hr .left a:first-child { border-radius: 4px 0 0 4px; }
.hr .left a:last-child  { border-right: 1px solid #e0d2b0; border-radius: 0 4px 4px 0; }
.hr .left a.hor {
  background: linear-gradient(180deg, #e23f2e 0%, #c92b1b 100%);
  border-color: #c92b1b;
  color: #fff;
  font-weight: 700;
}
.hr .right {
  text-align: right;
  line-height: 1.9;
  font-size: 13px;
  color: #333;
}
.hr .right b.yellow,
.hr .right font[color="yellow"] { color: #c92b1b !important; font-weight: 700; }
.hr .right b { font-weight: 700; }

/* th0 站点统计表（与 YYSF 原版一致） */
.th0 {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #e0d2b0;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 10px;
  table-layout: auto;
}
.th0 th, .th0 td {
  padding: 7px 8px;
  text-align: center;
  border-bottom: 1px solid #f2e9cf;
  border-right: 1px solid #f2e9cf;
  font-size: 13px;
  white-space: nowrap;
}
.th0 th:last-child, .th0 td:last-child { border-right: none; }
.th0 tr:last-child td { border-bottom: none; }
.th0 th {
  background: linear-gradient(180deg, #fff7de 0%, #ffe9b6 100%);
  color: #8a5a00;
  font-weight: 700;
}
.th0 td {
  color: #333;
  background: #fffdf7;
}
.th0 a {
  color: #5a0f08;
  text-decoration: none;
  padding: 2px 8px;
  border-radius: 3px;
  transition: background .15s;
}
.th0 a:hover {
  background: #ffe9b6;
  color: #c92b1b;
}
.th0 a.cur {
  background: linear-gradient(180deg, #e23f2e 0%, #c92b1b 100%);
  color: #fff !important;
  font-weight: 700;
}
.th0 .sep-col {
  width: 48px;
  background: #fff8e5;
  font-weight: 700;
  color: #8a5a00;
}

/* 排行榜标题 */
.box-title {
  padding: 8px 4px 6px;
  margin: 10px 0 6px;
}
.box-title p {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: #5a0f08;
  padding-left: 10px;
  border-left: 4px solid #c92b1b;
  line-height: 1.4;
}

/* tb1 排行表（YYSF原版风格） */
.tb1 {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #e0d2b0;
  border-radius: 6px;
  overflow: hidden;
  table-layout: fixed;
}
.tb1 thead th {
  background: #f0e2bf;
  color: #2c1e04;
  font-weight: 600;
  padding: 10px 6px;
  border-bottom: 2px solid #c92b1b;
  border-right: 1px solid #d9ccac;
  font-size: 13px;
  position: relative;
  cursor: help;
  text-align: center;
  white-space: nowrap;
  box-sizing: border-box;
}
.tb1 thead th:last-child { border-right: none; }
.tb1 tbody td {
  padding: 7px 6px;
  border-bottom: 1px solid #f2e9cf;
  border-right: 1px solid #f2e9cf;
  font-size: 13px;
  color: #333;
  vertical-align: middle;
  line-height: 1.55;
  white-space: nowrap;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tb1 tbody td:last-child { border-right: none; }
.tb1 tbody tr:last-child td { border-bottom: none; }
.tb1 tbody tr:nth-child(even) td { background: #fffdf7; }
.tb1 tbody tr:hover td { background: #fff3dd; }
/* 排名列：前三名特殊样式 */
.tb1 .rank-medal {
  display: inline-block;
  width: 26px;
  height: 26px;
  line-height: 26px;
  border-radius: 50%;
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  text-align: center;
}
.tb1 .rank-medal.m1 { background: linear-gradient(135deg, #ff5b3d, #c92b1b); }
.tb1 .rank-medal.m2 { background: linear-gradient(135deg, #f5a623, #d48806); }
.tb1 .rank-medal.m3 { background: linear-gradient(135deg, #cd7f32, #b87333); }
.tb1 .rank-medal.mx { background: #d7d7d7; color: #666; }
.tb1 td a {
  color: #1a448c;
  text-decoration: none;
}
.tb1 td a:hover {
  color: #c92b1b;
  text-decoration: underline;
}
.tb1 td a.red {
  color: #c92b1b;
  font-weight: 700;
}
