@charset "utf-8";

/* ===== sport-refresh.css ===== */
/* ============================================================
   sport-refresh.css —— 体育站视觉层（设计令牌 + 组件重绘）
   ============================================================
   为什么需要这一层：
     · 原皮肤是「压缩过的旧 CMS 主题 + 一堆就地补丁」：
       common.min.css / index.min.css / zhibo.min.css / m.css
       —— 颜色、字号、间距全是硬编码散落的（#459ADD 出现几十次），
          改一个地方要翻 5 个文件，还会互相打架。
     · 这里集中做三件事：
       ① 令牌化：颜色 / 字号 / 间距 / 圆角 / 阴影 收进 :root 变量
       ② 补响应式：原皮肤只处理了 ≤768px，769–1199px 会横向溢出
          （.header-top{width:1200px} 固定宽，这也是页脚那段
           「JS 钳制视口宽度」补丁存在的原因 —— 病根在这里）
       ③ 重绘核心组件：头部导航 / 比赛列表 / 标签页 / 资讯侧栏 / 页脚 / 移动端抽屉

   覆盖策略：
     · 只覆盖「看得见的问题」，不重写整个皮肤（那会连带 42 个模板一起炸）
     · 旧规则里用了 !important 的（如隐藏比分的 .lq-score），这里也用
       !important 精准反制，并在注释里标明原因

   加载顺序：必须在 common/index/zhibo/m.css 之后（各模板 </head> 前最后一个）。
   ============================================================ */

/* ---------- ① 设计令牌 ---------- */
:root {
  /* 品牌色：原来是 #459ADD（偏灰的蓝），换成更稳的主色 + 一套状态色 */
  --s-brand:      #2b7fd4;
  --s-brand-d:    #1f66ad;
  --s-brand-l:    #eaf3fc;
  --s-brand-ink:  #17558f;

  /* 文字：三级（正文 / 次要 / 弱化），对比度按 WCAG AA 取 */
  --s-ink:        #1f2430;
  --s-ink-2:      #59617a;
  --s-ink-3:      #8b93a3;

  /* 线条与面 */
  --s-line:       #e7eaf0;
  --s-line-2:     #f2f4f8;
  --s-bg:         #f3f5f9;
  --s-surface:    #ffffff;

  /* 比赛状态色（沿用原皮肤的语义：进行中红 / 未开始蓝 / 已结束灰 / 延期橙） */
  --s-live:       #e5484d;
  --s-soon:       var(--s-brand);
  --s-done:       #98a0b0;
  --s-delay:      #e08a2e;

  /* 圆角 / 阴影：统一三档，不再到处 5px 8px 10px 混用 */
  --s-r-sm:       8px;
  --s-r:          12px;
  --s-r-lg:       16px;
  --s-sh:         0 1px 2px rgba(16, 24, 40, .04), 0 6px 20px rgba(16, 24, 40, .05);
  --s-sh-hover:   0 4px 14px rgba(16, 24, 40, .10);

  /* 字体：显式给中文栈，避免落到浏览器默认的宋体 */
  --s-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
            "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans CN",
            "Noto Sans CJK SC", sans-serif;
  --s-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* 布局宽度：fluid，替掉固定 1200px */
  --s-w: 1200px;
  --s-gap: 20px;
}

/* ---------- ② 基础与排版 ---------- */
html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--s-font);
  font-size: 15px;
  line-height: 1.6;
  color: var(--s-ink);
  background: var(--s-bg);
  /* 原皮肤没有显式字体与底色；这里补上，顺带把「字体随系统跳」的问题压住 */
}

a {
  color: var(--s-brand);
  text-decoration: none;
  transition: color .18s ease;
}

a:hover {
  color: var(--s-brand-d);
}

/* 键盘可达性：原皮肤完全没有 focus 态，键盘/开关用户看不出焦点在哪 */
a:focus-visible,
button:focus-visible,
input:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--s-brand);
  outline-offset: 2px;
  border-radius: 4px;
}

/* 视觉隐藏（给屏幕阅读器保留的 H1 等），替掉 style="left:-9999px" */
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ---------- ③ 布局容器：修掉 769–1199px 横向溢出 ---------- */
.header-top,
.header-bottom,
.header-bottom-second,
.content-container {
  width: 100% !important;
  max-width: var(--s-w);
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .header-top,
  .header-bottom,
  .header-bottom-second,
  .content-container {
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* ---------- ④ 顶栏 ---------- */
.header-top-container {
  position: sticky;
  top: 0;
  z-index: 900;
  background: linear-gradient(180deg, #2f86dc 0%, var(--s-brand) 100%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .12) inset, 0 2px 10px rgba(16, 24, 40, .12);
}

.header-top {
  display: flex;
  align-items: center;
  height: 62px;
  gap: 8px;
}

/* Logo：原 180×50 偏高（顶栏才 62px），收到 44px 并保留比例 */
.header-top > a {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.header-logo {
  width: auto !important;
  height: 44px !important;
  margin: 0 !important;
  object-fit: contain;
}

.header-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 0 18px !important;
  padding: 0 !important;
  list-style: none;
  background: transparent !important;
  border-radius: 0 !important;
}

.header-nav-item {
  margin: 0;
}

.header-nav .header-nav-item > a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 9px 18px !important;
  font-size: 17px !important;
  font-weight: 500;
  letter-spacing: .2px;
  line-height: 1.2;
  color: #fff !important;
  border-radius: 999px;
  background: transparent;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.header-nav .header-nav-item > a:hover {
  background: rgba(255, 255, 255, .18);
  font-weight: 500 !important;   /* 原皮肤 hover 会加粗导致文字跳动 */
}

/* 当前栏目：白底蓝字胶囊（背景必须 !important，否则被皮肤规则清成透明 → 蓝底蓝字看不见） */
.header-nav .header-nav-item.header-top-actived > a,
.header-nav .header-nav-item.header-top-actived > a:hover,
.header-nav .header-nav-item.header-top-actived > a:focus {
  background: #fff !important;
  color: #1868c9 !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}

/* 栏目多时逐级收紧，避免挤压/换行 */
@media (max-width: 1459px) {
  .header-nav .header-nav-item > a { font-size: 16px !important; padding: 8px 14px !important; }
}
@media (max-width: 1240px) {
  .header-nav .header-nav-item > a { font-size: 15px !important; padding: 7px 11px !important; letter-spacing: 0; }
}
@media (max-width: 1080px) {
  .header-nav .header-nav-item > a { font-size: 14px !important; padding: 6px 9px !important; }
}

.header-nav-item.header-top-actived::after {
  display: none !important;   /* 老装饰横线：与新样式冲突，去掉 */
}

/* 简繁切换（.ztqh）——原皮肤靠图片背景定位，这里改成朴素胶囊 */
.ztqh {
  display: flex;
  align-items: center;
  margin-left: auto;
  flex-shrink: 0;
}

.ztqh > span.before {
  display: none;   /* 旧的 more.png 小图标，功能已被文字胶囊取代 */
}

/* 搜索按钮：模板里已由 <div> 改成 <button>，这里统一外观 */
.header-search-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-left: 8px !important;
  padding: 0 !important;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .18s ease;
}

.header-search-icon:hover {
  background: rgba(255, 255, 255, .26);
}

.header-search-icon svg {
  display: block;
  width: 19px;
  height: 19px;
}

/* ---------- ⑤ 搜索弹窗 ---------- */
.search-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1200;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 22, 36, .55);
  backdrop-filter: blur(2px);
  animation: srFade .2s ease;
}

.search-overlay.active {
  display: flex;
}

.search-modal {
  position: relative;
  width: 100%;
  max-width: 520px;
  padding: 26px 26px 20px;
  background: var(--s-surface);
  border-radius: var(--s-r-lg);
  box-shadow: 0 24px 60px rgba(16, 24, 40, .28);
}

.search-modal-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 32px;
  height: 32px;
  font-size: 15px;
  line-height: 32px;
  text-align: center;
  color: var(--s-ink-3);
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}

.search-modal-close:hover {
  color: var(--s-ink);
  background: var(--s-line-2);
}

.search-form {
  display: flex;
  gap: 8px;
  margin-top: 6px;
}

.search-input {
  flex: 1;
  min-width: 0;
  padding: 12px 14px;
  font: inherit;
  font-size: 15px;
  color: var(--s-ink);
  background: var(--s-surface);
  border: 1px solid var(--s-line);
  border-radius: 10px;
}

.search-input:focus {
  border-color: var(--s-brand);
  outline: none;
}

.search-btn {
  flex-shrink: 0;
  padding: 12px 22px;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  background: var(--s-brand);
  border: 0;
  border-radius: 10px;
  cursor: pointer;
}

.search-btn:hover {
  background: var(--s-brand-d);
}

.search-tip {
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--s-ink-3);
}

@keyframes srFade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ---------- ⑥ 主内容骨架：两栏 ---------- */
.content-bottom {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 322px;
  gap: var(--s-gap);
  align-items: start;
  margin-top: var(--s-gap) !important;
  justify-content: flex-start !important;   /* 老的 space-around 会让两栏间距乱跳 */
}

.content-bottom-left {
  width: auto !important;
  min-width: 0;
  background: var(--s-surface);
  border-radius: var(--s-r);
  box-shadow: var(--s-sh);
  overflow: hidden;
}

.content-bottom-right {
  width: auto !important;
  background: transparent !important;
  min-width: 0;
}

@media (max-width: 992px) {
  .content-bottom {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ---------- ⑦ 标签页头（赛事直播 / 筛选） ---------- */
.common-tab {
  background: var(--s-surface);
  border-radius: var(--s-r);
  box-shadow: var(--s-sh);
  overflow: hidden;
}

.content-bottom .common-tab_list {
  display: flex !important;
  align-items: center;
  gap: 16px;
  padding: 0 16px;
  border-bottom: 1px solid var(--s-line) !important;
}

.content-bottom .common-tab_list .content-title {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0 !important;
  font-size: 16px;
  font-weight: 600;
  color: var(--s-ink);
  white-space: nowrap;
}

.content-bottom .common-tab_list .content-title img {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* ============================================================
   ⑧ 比赛列表 —— 这一块是「丑」的重灾区
   原状：每行上下各 1px 边框（叠成 2px 粗线）、队名固定 90px 被截断、
         .zhibo-btn 用 line-height:2 硬居中、比分被 display:none!important 藏掉。
   ============================================================ */
.content-zbList .zbList-info {
  padding: 0;
}

/* 日期分组标题：小号 + 淡色 + 分隔线，别跟比赛行抢注意力 */
.content-zbList .zhibo-date {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 18px 16px 6px !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 600;
  color: var(--s-ink-3) !important;
  border: 0 !important;
}

.content-zbList .zhibo-date em {
  font-style: normal;
  font-weight: 400;
}

/* 行：时间 | 赛事 | 球队对阵 | 按钮 */
.content-zbList .zbList-info .zbList-info-evy {
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 8px 16px !important;
  border-top: 0 !important;                       /* 老规则上下都有边框 → 2px 双线 */
  border-bottom: 1px solid var(--s-line) !important;
  transition: background .15s ease;
}

.content-zbList .zbList-info .zbList-info-evy.match_li:hover {
  background: #fafbfe;
}

.content-zbList .zbList-info .zbList-info-evy:last-child {
  border-bottom: 0 !important;
}

.content-zbList .qiu-pic {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  flex-shrink: 0;
  opacity: .85;
}

.content-zbList .zhibo-time {
  width: 52px !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-variant-numeric: tabular-nums;
  color: var(--s-ink) !important;
  text-align: left;
  flex-shrink: 0;
}

/* 赛事名：胶囊，长名自动截断 */
.content-zbList .zhibo_saishi {
  width: auto !important;
  max-width: 96px;
  padding: 2px 8px;
  font-size: 12px !important;
  line-height: 1.6;
  color: var(--s-ink-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: var(--s-line-2);
  border-radius: 6px;
  flex-shrink: 0;
}

.content-zbList .zhibo_saishi a {
  color: inherit !important;
}

.content-zbList .zhibo_saishi a:hover {
  color: var(--s-brand) !important;
}

/* 空的占位 <p>（老模板遗留）：不再占宽度，免得把队名挤没 */
.content-zbList .sore,
.content-zbList .zhibo-zhanwei {
  display: none !important;
}

/* 对阵主体 */
.content-zbList .zhibo-team {
  display: flex !important;
  align-items: center;
  flex: 1;
  min-width: 0;
  gap: 8px;
}

.content-zbList .zhibo-team p {
  width: auto !important;
  min-width: 0;
  flex: 1 1 0;
  font-size: 15px !important;
  line-height: 1.5;
  color: var(--s-ink) !important;
  font-weight: 500 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;   /* 原名固定 90px，长队名（如「拉齐奥体育」）直接截断 */
}

.content-zbList .zhibo-team p a {
  color: inherit !important;
}

.content-zbList .zhibo-team p a:hover {
  color: var(--s-brand) !important;
}

.content-zbList .zhibo-team p:nth-child(1),
.content-zbList .zhibo-team .zhudui {
  text-align: right;
}

.content-zbList .zhibo-team .kedui {
  text-align: left;
}

.content-zbList .zhibo-team img {
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  flex-shrink: 0;
  border-radius: 50%;
  object-fit: contain;
  background: #fff;
}

/* 比分/VS 中枢：原来是 display:none!important —— 等于首页永远看不到比分 */
.content-zbList .pic-or-text {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 72px !important;
  min-width: 72px;
  max-width: 72px !important;
  height: auto !important;
  padding: 3px 6px;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums;
  line-height: 1.3 !important;
  color: var(--s-ink) !important;
  background: var(--s-line-2);
  border-radius: 8px;
  flex-shrink: 0;
}

.content-zbList .zbList-info-evy .pic-or-text .lq-score {
  display: inline !important;   /* 反制老皮肤的 display:none!important：比分必须看得见 */
  color: inherit;
  font: inherit;
}

.content-zbList .pic-or-text .fenge {
  font-size: 11px !important;
  font-weight: 400;
  color: var(--s-ink-3);
  letter-spacing: .5px;
}

/* 已结束/进行中的比分用主色强调，未开始的 VS 保持低调 */
.content-zbList .zbList-info-evy.has-score .pic-or-text {
  color: #fff !important;
  background: var(--s-brand);
}

.content-zbList .zbList-info-evy.has-score .pic-or-text .fenge {
  color: rgba(255, 255, 255, .7) !important;
}

/* 直播按钮 */
.content-zbList .zhibo-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 92px !important;
  height: 30px !important;
  padding: 0 8px !important;
  font-size: 13px !important;
  font-weight: 500;
  line-height: 1 !important;   /* 原来靠 line-height:2 凑垂直居中，字一换就歪 */
  color: #fff !important;
  background: var(--s-done);
  border-radius: 999px;
  flex-shrink: 0;
  transition: filter .18s ease, transform .18s ease;
}

.content-zbList .zhibo-btn span {
  font-size: 13px !important;
}

.content-zbList .zhibo-btn img {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
}

.content-zbList .zhibo-btn:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

.content-zbList .zhibo-btn.await {
  background: var(--s-soon);
}

.content-zbList .zhibo-btn.end {
  background: var(--s-done);
}

.content-zbList .zhibo-btn.delay {
  background: var(--s-delay);
}

.content-zbList .zhibo-btn.start {
  background: var(--s-live);
}

/* 空态（当天暂无比赛） */
/* ---------- ⑨ 资讯侧栏 ---------- */
.article-detail-news .guanyu-zixun {
  background: var(--s-surface);
  border-radius: var(--s-r) !important;
  box-shadow: var(--s-sh);
  margin-bottom: 0 !important;
  overflow: hidden;
}

.zq-lx-bt {
  border-bottom: 1px solid var(--s-line);
}

.zq-lx-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 16px;
  font-size: 16px;
  font-weight: 600;
  color: var(--s-ink);
}

.zq-lx-header img {
  width: 20px;
  height: 20px;
}

.guanyu-zixun-list ul {
  margin: 0;
  padding: 6px 0;
  list-style: none;
}

.guanyu-zixun-list li.newsli {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  transition: background .15s ease;
}

.guanyu-zixun-list li.newsli:hover {
  background: #fafbfe;
}

.guanyu-zixun-list .newspic {
  width: 64px;
  height: 46px;
  flex-shrink: 0;
  object-fit: cover;
  border-radius: 6px;
  background: var(--s-line-2);
}

.guanyu-zixun-list li.newsli > a {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--s-ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.guanyu-zixun-list li.newsli > a:hover {
  color: var(--s-brand);
}

/* ---------- ⑩ 内链块（站内比赛 ↔ 百科） ---------- */
.interLink {
  margin-top: var(--s-gap);
  padding: 14px 16px;
  background: var(--s-surface);
  border-radius: var(--s-r);
  box-shadow: var(--s-sh);
}

.interLink_con {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0 !important;
  list-style: none;
}

.interLink_con li {
  margin: 0 !important;
}

.interLink_con li a,
.interLink_con li span {
  display: inline-block;
  padding: 5px 12px;
  font-size: 13px;
  color: var(--s-brand-ink);
  background: var(--s-brand-l);
  border-radius: 999px;
}

.interLink_con li a:hover {
  color: #fff;
  background: var(--s-brand);
}

/* ---------- ⑪ 页脚 ---------- */
footer {
  margin-top: 28px;
  padding: 22px 16px 30px;
  background: var(--s-surface);
  border-top: 1px solid var(--s-line);
}

footer hr {
  width: 100%;
  max-width: var(--s-w);
  margin: 14px auto;
  border: 0;
  border-top: 1px solid var(--s-line);
}

footer p {
  max-width: var(--s-w);
  margin: 10px auto;
  font-size: 13px;
  line-height: 1.85;
  color: var(--s-ink-3);
  text-align: center;
}

.footer_za {
  max-width: var(--s-w);
  margin: 0 auto !important;
}

/* 回到顶部 / 刷新：圆形浮动按钮 */
.footer_fixed {
  right: 16px;
  bottom: 76px;
}

.footer_fixed p {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin: 0 0 8px !important;
  cursor: pointer;
  background: var(--s-surface);
  border: 1px solid var(--s-line);
  border-radius: 50%;
  box-shadow: var(--s-sh);
  transition: transform .18s ease, box-shadow .18s ease;
}

.footer_fixed p:hover {
  transform: translateY(-2px);
  box-shadow: var(--s-sh-hover);
}

.footer_fixed p img {
  width: 20px;
  height: 20px;
}

.footer_fixed p span {
  display: none;   /* 圆形按钮里塞「回到/顶部」两行字太挤，图标准确即可 */
}

/* 空态（「当天暂无比赛」这条 li 自带 inline text-align） */
.content-zbList .zbList-info-evy[style*="text-align"] {
  justify-content: center;
  color: var(--s-ink-3) !important;
  font-size: 14px;
}

/* ---------- ⑫ 移动端：把 m.css 里的补丁收编成正经抽屉 ---------- */
@media (max-width: 768px) {
  /* 抽屉：原来是「全屏蓝底 + 关闭按钮写死 top:200px + z-index:888888888888」。
     注意那个 z-index 是**非法值**（超过 2147483647），浏览器会整条丢弃 ——
     也就是说那行从来没生效过，全靠 m.css 里另一个 100000001 撑着。 */
  .header-top > .header-nav {
    position: fixed !important;
    inset: 0 !important;
    display: none;                 /* 开合由 index.js 切 inline display */
    padding: 64px 20px 20px !important;
    background: var(--s-surface) !important;
    overflow-y: auto;
    z-index: 1300 !important;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    margin: 0 !important;
  }

  .header-nav .header-nav-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .header-nav .header-nav-item > a {
    display: block !important;
    padding: 14px 16px !important;
    font-size: 17px !important;
    color: var(--s-ink) !important;
    background: var(--s-line-2);
    border-radius: 10px;
  }

  .header-nav .header-nav-item > a:hover {
    background: var(--s-brand-l);
  }

  .header-nav .header-nav-item.header-top-actived > a {
    color: #fff !important;
    background: var(--s-brand);
  }

  /* 抽屉里的关闭按钮：贴右上角，不用魔法数 */
  .header-nav span.before {
    position: fixed !important;
    top: 14px !important;
    right: 16px !important;
    left: auto !important;
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    background: var(--s-line-2) !important;
    border-radius: 10px;
    cursor: pointer;
  }

  .header-nav span.before::after {
    content: "×";
    display: block;
    font-size: 22px;
    line-height: 36px;
    text-align: center;
    color: var(--s-ink-2);
  }

  /* 触发按钮（.ztqh 里那张 more.png）：做成汉堡按钮。
     原先是 22×18 的背景图，图片文件一度被误删 → 手机上就是个破图。 */
  .ztqh span.before {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: static !important;
    width: 38px !important;
    height: 38px !important;
    background: rgba(255, 255, 255, .14) !important;
    border-radius: 10px;
    cursor: pointer;
  }

  .ztqh span.before::after {
    content: "☰";
    font-size: 18px;
    line-height: 1;
    color: #fff;
  }

  .content-zbList .zhibo_saishi,
  .content-zbList .qiu-pic {
    display: none !important;   /* 窄屏优先保证队名与比分可读 */
  }

  .content-zbList .zbList-info .zbList-info-evy {
    padding: 8px 12px !important;
    gap: 8px;
  }

  .content-zbList .zhibo-team p {
    font-size: 14px !important;
  }

  .content-zbList .zhibo-btn {
    width: 74px !important;
    font-size: 12px !important;
  }

  .guanyu-zixun-list .newspic {
    width: 56px;
    height: 42px;
  }

  .footer_fixed {
    right: 10px;
    bottom: 62px;
  }

  .footer_fixed p {
    width: 40px;
    height: 40px;
  }
}

/* ---------- ⑬ 减少动效偏好 ---------- */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* ---------- ⑭ 「百科」下拉（原来写在 _header.php 的 inline <style> 里） ---------- */
.header-nav-item.has-drop {
  position: relative;
}

.header-nav-item.has-drop > a {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.nav-caret {
  font-size: 10px;
  line-height: 1;
  opacity: .8;
}

.nav-drop {
  display: none;
  position: absolute;
  left: 50%;
  top: calc(100% + 8px);
  transform: translateX(-50%);
  min-width: 260px;
  max-height: 70vh;
  margin: 0;
  padding: 8px;
  list-style: none;
  overflow-y: auto;
  background: var(--s-surface);
  border: 1px solid var(--s-line);
  border-radius: var(--s-r);
  box-shadow: 0 16px 40px rgba(16, 24, 40, .16);
  z-index: 1000;
  /* 悬停时鼠标从触发点移到面板中间会经过一条 8px 的缝，
     原来是靠一个透明的 :before 垫片糊住的（改成真实间距 + 垫片保留） */
}

.nav-drop::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -10px;
  height: 10px;
}

.header-nav-item.has-drop:hover .nav-drop,
.header-nav-item.has-drop.is-open .nav-drop {
  display: block;
}

.nav-drop li {
  margin: 0 !important;
}

.nav-drop li a {
  display: block;
  padding: 8px 12px;
  color: var(--s-ink) !important;
  border-radius: var(--s-r-sm);
  transition: background .15s ease;
}

.nav-drop li a:hover {
  background: var(--s-brand-l);
  font-weight: 400 !important;
}

.nav-drop li a b {
  display: block;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.nav-drop li a i {
  display: block;
  margin-top: 2px;
  font-style: normal;
  font-size: 12px;
  color: var(--s-ink-3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 992px) {
  .nav-drop {
    left: auto;
    right: 0;
    transform: none;
    min-width: 220px;
  }
}

/* 抽屉里：下拉退化成静态列表展开 */
@media (max-width: 768px) {
  .header-nav-item.has-drop {
    position: static;
  }

  .nav-drop {
    position: static !important;
    transform: none !important;
    min-width: 0 !important;
    max-height: none;
    margin: 6px 0 0 !important;
    box-shadow: none;
    border: 0;
    background: transparent;
    padding: 0 0 0 10px;
  }

  .header-nav-item.has-drop > a {
    display: block !important;
  }
}



/* ===== sport-ui.css ===== */
/* ============================================================
   sport-ui.css —— 体育站第二轮视觉升级（2026-10）
   在 sport-refresh.css 之后加载，只做组件级修饰，不改布局尺寸。
   ============================================================ */

:root {
  --u-brand:    #2b7fd4;
  --u-brand-2:  #4aa3ff;
  --u-brand-ink:#17558f;
  --u-live:     #12b76a;
  --u-end:      #98a2b3;
  --u-vs:       #f79009;
  --u-ink:      #1f2430;
  --u-ink-2:    #5b6478;
  --u-ink-3:    #8b93a3;
  --u-line:     #e8ecf3;
  --u-radius:   14px;
  --u-radius-sm:10px;
  --u-shadow:   0 2px 10px rgba(23, 40, 70, .06);
  --u-shadow-h: 0 12px 26px rgba(23, 40, 70, .13);
}

/* ---------- 1. 日期分组条：吸顶 ---------- */
.content-zbList .zhibo-date,
.zq-zhibo-list .zhibo-date {
  position: sticky;
  top: 0;
  z-index: 9;
  margin: 14px 0 8px;
  padding: 10px 14px;
  border: 1px solid var(--u-line);
  border-radius: var(--u-radius-sm);
  background: linear-gradient(180deg, #ffffff 0%, #f3f7fd 100%);
  box-shadow: var(--u-shadow);
  color: var(--u-ink);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .2px;
}
.content-zbList .zhibo-date em,
.zq-zhibo-list .zhibo-date em {
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eaf3fc;
  color: var(--u-brand-ink);
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
}

/* ---------- 2. 比赛卡片 ---------- */
.content-zbList .match_li.zbList-info-evy,
.zq-zhibo-list .match_li.zbList-info-evy {
  position: relative;
  margin: 8px 0;
  padding: 10px 12px;
  border: 1px solid var(--u-line);
  border-radius: var(--u-radius);
  background: #fff;
  box-shadow: var(--u-shadow);
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.content-zbList .match_li.zbList-info-evy:hover,
.zq-zhibo-list .match_li.zbList-info-evy:hover {
  transform: translateY(-1px);
  border-color: #d6e4f5;
  box-shadow: var(--u-shadow-h);
  z-index: 2;
}

/* 状态左边条（模板给卡片加 st-start / st-end / st-other） */
.match_li.st-start::before,
.match_li.st-end::before,
.match_li.st-other::before {
  content: "";
  position: absolute;
  left: 0; top: 12px; bottom: 12px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--u-brand);
}
.match_li.st-start::before { background: var(--u-live); }
.match_li.st-end::before   { background: #c9d1de; }

/* 时间 / 联赛徽章 */
.match_li .zhibo-time {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: var(--u-ink);
}
.match_li .zhibo_saishi a {
  padding: 1px 8px;
  border-radius: 999px;
  background: #f1f5fb;
  color: var(--u-ink-2);
  font-size: 12px;
  text-decoration: none;
  transition: background .15s ease, color .15s ease;
}
.match_li .zhibo_saishi a:hover {
  background: #e3eefb;
  color: var(--u-brand-ink);
}

/* 队伍名 */
.match_li .zhudui a,
.match_li .kedui a { color: var(--u-ink); font-weight: 600; }
.match_li .zhudui a:hover,
.match_li .kedui a:hover { color: var(--u-brand); }

/* 比分 */
.match_li .pic-or-text .lq-score {
  display: inline-block;
  min-width: 22px;
  color: var(--u-ink);
  font-size: 17px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  text-align: center;
  line-height: 1.15;
}
.match_li.has-score .pic-or-text .lq-score { color: var(--u-brand-ink); }
.match_li.st-end .pic-or-text .lq-score     { color: var(--u-ink-2); }
.match_li .pic-or-text .fenge { margin: 0 1px; color: var(--u-ink-3); font-weight: 600; }
.match_li .pic-or-text .fenge.is-vs {
  padding: 1px 6px;
  border-radius: 6px;
  background: #fff7e8;
  color: var(--u-vs);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .4px;
}

/* 直播按钮 */
.match_li .zhibo-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--u-brand) 0%, var(--u-brand-2) 100%);
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(43, 127, 212, .22);
  transition: filter .15s ease, transform .15s ease;
}
.match_li .zhibo-btn:hover { filter: brightness(1.06); transform: translateY(-1px); }
.match_li .zhibo-btn.start {
  background: linear-gradient(135deg, #0ea65f 0%, #22c77a 100%);
  box-shadow: 0 4px 10px rgba(18, 183, 106, .25);
}
.match_li .zhibo-btn.end {
  background: #eef1f6;
  color: var(--u-ink-2) !important;
  box-shadow: none;
}
.match_li .zhibo-btn img { width: 13px; height: 13px; }

@media (max-width: 768px) {
  .content-zbList .match_li.zbList-info-evy,
  .zq-zhibo-list .match_li.zbList-info-evy { padding: 12px 10px; }
  .match_li .pic-or-text .lq-score { font-size: 16px; }
}

/* ---------- 3. 首页侧栏资讯 ---------- */
.guanyu-zixun-list li.newsli {
  padding: 9px 10px;
  margin: 6px 0;
  border-radius: var(--u-radius-sm);
  background: #fff;
  border: 1px solid transparent;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.guanyu-zixun-list li.newsli:hover { border-color: #dbe7f6; box-shadow: var(--u-shadow); }
.guanyu-zixun-list li.newsli a { color: var(--u-ink-2); }
.guanyu-zixun-list li.newsli a:hover { color: var(--u-brand); }

/* ---------- 4. 详情页：标题 + 信息条 + 比分舞台 ---------- */
.detail-h1 {
  margin: 10px 0 6px;
  padding: 0;
  color: var(--u-ink);
  font-size: 21px;
  line-height: 1.35;
  font-weight: 800;
}
.detail-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin: 0 0 12px;
  color: var(--u-ink-2);
  font-size: 13px;
}
.detail-meta .dm-item {
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--u-line);
}
.detail-meta .dm-badge {
  padding: 4px 12px;
  border-radius: 999px;
  background: #eaf3fc;
  color: var(--u-brand-ink);
  font-weight: 700;
}
.detail-meta .dm-badge.start { background: #e7f9f0; color: #0b7a4b; }
.detail-meta .dm-badge.end   { background: #f1f3f7; color: var(--u-ink-2); }
.detail-meta .dm-badge.match-live { background: #e7f9f0; color: #0b7a4b; }
.detail-meta .dm-badge.match-yes  { background: #f1f3f7; color: var(--u-ink-2); }
.detail-meta .dm-badge.match-delay { background: #fff4e5; color: #b54708; }

.zhibo-detail-info .zb-dl-match-info ul {
  align-items: center;
  padding: 16px 10px;
  border-radius: var(--u-radius);
  background: radial-gradient(120% 120% at 50% 0%, #ffffff 0%, #f4f8fe 55%, #eef4fc 100%);
  border: 1px solid var(--u-line);
  box-shadow: var(--u-shadow);
}
.zhibo-detail-info .zhuname a { color: var(--u-ink); font-weight: 700; }
.zhibo-detail-info .match-no {
  display: inline-block;
  margin: 4px auto 6px;
  padding: 2px 10px;
  border-radius: 999px;
  background: #eaf3fc;
  color: var(--u-brand-ink);
  font-size: 12px;
  font-weight: 700;
}
.zhibo-detail-info .match-no.start { background: #e7f9f0; color: #0b7a4b; }
.zhibo-detail-info .match-no.end   { background: #f1f3f7; color: var(--u-ink-2); }
.zhibo-detail-info .score-no {
  color: var(--u-ink);
  font-size: 30px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: 1px;
}

/* 直播源按钮 */
.zhibo-link-btn .source-link {
  display: inline-flex;
  align-items: center;
  margin: 4px 6px 4px 0;
  padding: 6px 14px;
  border-radius: 999px;
  background: #f1f5fb;
  border: 1px solid var(--u-line);
  color: var(--u-brand-ink);
  font-weight: 700;
  text-decoration: none;
  transition: background .15s ease, transform .15s ease;
}
.zhibo-link-btn .source-link:hover { background: #e3eefb; transform: translateY(-1px); }
.zhibo-link-btn .source-link.first-source {
  background: linear-gradient(135deg, var(--u-brand) 0%, var(--u-brand-2) 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 4px 12px rgba(43, 127, 212, .25);
}

/* 详情页信息块 */
.zb-dl-teamAbout {
  border-radius: var(--u-radius);
  border: 1px solid var(--u-line);
  background: #fff;
  box-shadow: var(--u-shadow);
}
.zb-dl-teamAbout > ul > li:first-child { color: var(--u-ink); font-weight: 800; }
.zb-dl-teamAbout a { color: var(--u-brand); }

/* 侧栏最新直播卡片 */
.zhibo-detail-latest .the-team.match_li {
  border: 1px solid var(--u-line);
  border-radius: var(--u-radius-sm);
  background: #fff;
  margin: 8px 0;
  box-shadow: var(--u-shadow);
}

/* ---------- 5. 工具页：数据表格美化 ---------- */
.tool-page table,
.tool-content table,
.tool-card table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--u-line);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--u-shadow);
}
.tool-page table thead th,
.tool-content table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f3f7fd;
  color: var(--u-ink);
  font-weight: 700;
  white-space: nowrap;
}
.tool-page table th, .tool-page table td,
.tool-content table th, .tool-content table td {
  padding: 8px 10px;
  border-bottom: 1px solid #eef1f6;
}
.tool-page table tbody tr:nth-child(even),
.tool-content table tbody tr:nth-child(even) { background: #fafcff; }
.tool-page table tbody tr:hover,
.tool-content table tbody tr:hover { background: #f1f7ff; }
.tool-page table tbody tr:last-child td { border-bottom: 0; }

.tool-page .mid, .tool-content .mid {
  border-radius: 12px;
  border: 1px solid var(--u-line);
  background: #fff;
  box-shadow: var(--u-shadow);
}

/* ---------- 6. 通用 ---------- */
.match-more {
  margin: 6px 0 14px;
  padding: 10px 14px;
  border: 1px dashed #d6e4f5;
  border-radius: var(--u-radius-sm);
  background: #f8fbff;
  color: var(--u-ink-2);
  font-size: 13px;
  text-align: center;
}
.match-more a { color: var(--u-brand); font-weight: 700; }

/* ---------- 7. 工具箱数据集页（league / transfer / worldcup / nba） ---------- */
.lg-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin: 12px 0 16px;
}
.lg-stat {
  padding: 12px 14px;
  border: 1px solid var(--u-line);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
  box-shadow: var(--u-shadow);
}
.lg-stat b {
  display: block;
  color: var(--u-brand-ink);
  font-size: 22px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.lg-stat span { display: block; color: var(--u-ink-2); font-size: 13px; font-weight: 600; }
.lg-stat small { display: block; margin-top: 2px; color: var(--u-ink-3); font-size: 12px; }

.lg-h2 {
  margin: 18px 0 10px;
  padding-left: 10px;
  border-left: 4px solid var(--u-brand);
  color: var(--u-ink);
  font-size: 17px;
  font-weight: 800;
}

.lg-group {
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid var(--u-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--u-shadow);
}
.lg-group-h {
  margin-bottom: 8px;
  color: var(--u-ink);
  font-size: 14px;
  font-weight: 700;
}
.lg-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.lg-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border: 1px solid var(--u-line);
  border-radius: 999px;
  background: #f7faff;
  color: var(--u-ink-2);
  font-size: 13px;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.lg-chip:hover {
  background: #e9f3ff;
  border-color: #cfe2f7;
  color: var(--u-brand-ink);
}
.lg-chip i {
  padding: 0 6px;
  border-radius: 999px;
  background: #eaf3fc;
  color: var(--u-brand-ink);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

/* 数据表格：transfer / worldcup 等页统一用 .lg-table */
.lg-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 10px 0 16px;
  border: 1px solid var(--u-line);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--u-shadow);
}
.lg-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 9px 10px;
  background: #f3f7fd;
  color: var(--u-ink);
  font-weight: 700;
  white-space: nowrap;
}
.lg-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #eef1f6;
  color: var(--u-ink-2);
}
.lg-table tbody tr:nth-child(even) { background: #fafcff; }
.lg-table tbody tr:hover { background: #f1f7ff; }
.lg-table tbody tr:last-child td { border-bottom: 0; }
.lg-table a { color: var(--u-brand); }

/* ---------- 8. FAQ（GEO：AI 摘要友好，语义 details/summary） ---------- */
.sport-faq {
  margin: 18px 0 0;
  padding: 16px;
  border: 1px solid var(--u-line);
  border-radius: var(--u-radius);
  background: #fff;
  box-shadow: var(--u-shadow);
}
.sport-faq-h {
  margin: 0 0 10px;
  padding-left: 10px;
  border-left: 4px solid var(--u-brand);
  color: var(--u-ink);
  font-size: 17px;
  font-weight: 800;
}
.sport-faq-item {
  margin: 8px 0;
  border: 1px solid var(--u-line);
  border-radius: 10px;
  overflow: hidden;
  background: #fbfcff;
}
.sport-faq-item summary {
  cursor: pointer;
  padding: 10px 14px;
  color: var(--u-ink);
  font-size: 14px;
  font-weight: 600;
  list-style: none;
}
.sport-faq-item summary::-webkit-details-marker { display: none; }
.sport-faq-item summary::after {
  content: "+";
  float: right;
  color: var(--u-brand);
  font-weight: 800;
}
.sport-faq-item[open] summary::after { content: "–"; }
.sport-faq-item p {
  margin: 0;
  padding: 0 14px 12px;
  color: var(--u-ink-2);
  font-size: 13px;
  line-height: 1.75;
}

/* ---------- 8b. 比赛战报（与 FAQ 同款卡片） ----------
   ⚠️ 2026-10-22：原来 `.match-report` **一条 CSS 都没有** ——
   详情页「比赛战报」区块没有白底 / 圆角 / 内边距，文字直接贴在页面背景上，
   夹在「比赛详情」卡片和「常见问题」卡片中间显得很突兀（用户反馈「缺一个父盒子」）。
   这里补上与 `.sport-faq` 完全一致的卡片样式。 */
.match-report {
  margin: 18px 0 0;
  padding: 16px;
  border: 1px solid var(--u-line);
  border-radius: var(--u-radius);
  background: #fff;
  box-shadow: var(--u-shadow);
}
.match-report-h {
  margin: 0 0 10px;
  padding-left: 10px;
  border-left: 4px solid var(--u-brand);
  color: var(--u-ink);
  font-size: 17px;
  font-weight: 800;
}
.match-report p {
  margin: 0;
  color: var(--u-ink-2);
  font-size: 13px;
  line-height: 1.75;
  word-break: break-word;
}

/* ---------- 9. 微动效（尊重减弱动效偏好） ---------- */
@media (prefers-reduced-motion: no-preference) {
  .content-zbList .match_li.zbList-info-evy,
  .zq-zhibo-list .match_li.zbList-info-evy { animation: u-fade-up .28s ease both; }
  .zhibo-detail-info .zb-dl-match-info ul { animation: u-pop .3s ease both; }
}
@keyframes u-fade-up {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: none; }
}
@keyframes u-pop {
  from { opacity: 0; transform: scale(.985); }
  to   { opacity: 1; transform: none; }
}

/* ---------- 10. 暗色模式 ---------- */
[data-theme="dark"], html.dark-mode, body.dark-mode {
  --u-ink:      #e8ecf4;
  --u-ink-2:    #a9b2c4;
  --u-ink-3:    #7d8698;
  --u-line:     #2a3344;
  --u-shadow:   0 2px 10px rgba(0, 0, 0, .35);
  --u-shadow-h: 0 12px 26px rgba(0, 0, 0, .45);
}
[data-theme="dark"] .content-zbList .match_li.zbList-info-evy,
[data-theme="dark"] .zq-zhibo-list .match_li.zbList-info-evy,
[data-theme="dark"] .content-zbList .zhibo-date,
[data-theme="dark"] .zq-zhibo-list .zhibo-date,
[data-theme="dark"] .zb-dl-teamAbout,
[data-theme="dark"] .sport-faq,
[data-theme="dark"] .match-report,
[data-theme="dark"] .sport-faq-item,
[data-theme="dark"] .lg-group,
[data-theme="dark"] .lg-stat,
[data-theme="dark"] .lg-table,
[data-theme="dark"] .guanyu-zixun-list li.newsli {
  background: #151b26 !important;
  border-color: var(--u-line) !important;
}
[data-theme="dark"] .content-zbList .zhibo-date,
[data-theme="dark"] .zq-zhibo-list .zhibo-date {
  background: linear-gradient(180deg, #1b2331 0%, #151b26 100%) !important;
}
[data-theme="dark"] .match_li .zhibo_saishi a { background: #1e2735; color: #a9b2c4; }
[data-theme="dark"] .match_li .pic-or-text .fenge.is-vs { background: #2a2314; color: #f7b955; }
[data-theme="dark"] .lg-table thead th { background: #1b2331; }
[data-theme="dark"] .lg-table td { border-bottom-color: #232c3b; }
[data-theme="dark"] .lg-table tbody tr:nth-child(even) { background: #182029; }
[data-theme="dark"] .lg-table tbody tr:hover { background: #1e2937; }
[data-theme="dark"] .detail-meta .dm-item { background: #151b26; }
[data-theme="dark"] .zhibo-detail-info .zb-dl-match-info ul {
  background: radial-gradient(120% 120% at 50% 0%, #1b2331 0%, #151b26 55%, #131922 100%);
}
[data-theme="dark"] .match-more { background: #16202d; border-color: #2a3344; }

/* ---------- 12. 开赛提醒 ---------- */
.match-remind-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
}
.match-remind {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 999px;
  cursor: pointer;
  border: 1px solid var(--u-line);
  background: #fff;
  color: var(--u-ink);
  font-size: 14px;
  font-weight: 700;
  box-shadow: var(--u-shadow);
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.match-remind:hover { border-color: #cfe2f7; background: #f5faff; }
.match-remind.on { background: #e7f9f0; border-color: #b7ecd2; color: #0b7a4b; }
.match-remind-tip { color: var(--u-ink-3); font-size: 12px; }

/* ---------- 13. 移动端底部 Tab ---------- */
.m-tabbar { display: none; }
@media (max-width: 768px) {
  body { padding-bottom: 64px; }
  .m-tabbar {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: space-around;
    height: 56px;
    padding-bottom: env(safe-area-inset-bottom, 0);
    background: rgba(255,255,255,.94);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-top: 1px solid var(--u-line);
    box-shadow: 0 -6px 20px rgba(23,40,70,.06);
  }
  .m-tabbar .mtab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    color: var(--u-ink-2);
    text-decoration: none;
    font-size: 11px;
    padding: 6px 10px;
  }
  .m-tabbar .mtab-ico { font-size: 18px; line-height: 1; }
  .m-tabbar .mtab:hover, .m-tabbar .mtab:active { color: var(--u-brand); }
  [data-theme="dark"] .m-tabbar { background: rgba(21,27,38,.95); }
}

/* ---------- 14. 顶部加载进度条 ---------- */
.page-progress {
  position: fixed;
  left: 0; top: 0;
  width: 0; height: 3px;
  z-index: 10000;
  background: linear-gradient(90deg, var(--u-brand) 0%, #5ec2ff 55%, #7ee0b8 100%);
  box-shadow: 0 0 10px rgba(43, 127, 212, .55);
  transition: width .25s ease, opacity .5s ease;
  pointer-events: none;
}

/* ---------- 16. 榜单前三名强调 ---------- */
.lg-table tbody tr:nth-child(1) td:first-child { color: #b8860b; font-weight: 800; }
.lg-table tbody tr:nth-child(2) td:first-child { color: #78849a; font-weight: 800; }
.lg-table tbody tr:nth-child(3) td:first-child { color: #a05a2c; font-weight: 800; }
.lg-table tbody tr:nth-child(1) { background: #fffdf3; }
[data-theme="dark"] .lg-table tbody tr:nth-child(1) { background: #1d2026; }

/* ---------- 18. 首页联赛前端筛选 ---------- */
.sport-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.sport-filter li {
  padding: 4px 12px;
  border: 1px solid var(--u-line);
  border-radius: 999px;
  background: #fff;
  color: var(--u-ink-2);
  font-size: 13px;
  line-height: 1.4;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.sport-filter li:hover { border-color: #cfe2f7; color: var(--u-brand-ink); }
.sport-filter li.sf-on {
  background: var(--u-brand);
  border-color: var(--u-brand);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 4px 10px rgba(43, 127, 212, .25);
}
[data-theme="dark"] .sport-filter li { background: #151b26; }
[data-theme="dark"] .sport-filter li.sf-on { background: var(--u-brand); }

/* ---------- 19. 积分榜近 5 场走势色块 ---------- */
.lg-form {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: 0 1px;
  border-radius: 4px;
  vertical-align: middle;
}
.lg-form.lg-w { background: #12b76a; }
.lg-form.lg-d { background: #98a2b3; }
.lg-form.lg-l { background: #f04438; }
.lg-stand td.mid { white-space: nowrap; }

/* ---------- 20. 赛季页 Tab ---------- */
.lg-tabs {
  display: flex;
  gap: 8px;
  margin: 14px 0 4px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--u-line);
}
.lg-tab {
  padding: 8px 18px;
  border: 1px solid var(--u-line);
  border-radius: 999px;
  background: #fff;
  color: var(--u-ink-2);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.lg-tab:hover { border-color: #cfe2f7; color: var(--u-brand-ink); }
.lg-tab.on {
  background: var(--u-brand);
  border-color: var(--u-brand);
  color: #fff;
  box-shadow: 0 4px 10px rgba(43, 127, 212, .25);
}
.lg-panel[hidden] { display: none; }
[data-theme="dark"] .lg-tab { background: #151b26; }
[data-theme="dark"] .lg-tab.on { background: var(--u-brand); }
@media (max-width: 768px) { .lg-tab { padding: 6px 14px; font-size: 13px; } }

/* ---------- 21. 球队页近 5 场 ---------- */
.lg-team-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0 0 12px;
}
.lg-tf-label { color: var(--u-ink-3); font-size: 13px; font-weight: 600; }
.lg-tf-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  padding: 4px 8px;
  border-radius: 8px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.lg-tf-item.lg-w { background: #12b76a; }
.lg-tf-item.lg-d { background: #98a2b3; }
.lg-tf-item.lg-l { background: #f04438; }

/* ---------- 22. 详情页「同联赛其他比赛」 ---------- */
.sport-related {
  margin: 18px 0 0;
  padding: 16px;
  border: 1px solid var(--u-line);
  border-radius: var(--u-radius);
  background: #fff;
  box-shadow: var(--u-shadow);
}
.sport-related-h {
  margin: 0 0 10px;
  padding-left: 10px;
  border-left: 4px solid var(--u-brand);
  color: var(--u-ink);
  font-size: 17px;
  font-weight: 800;
}
.sport-related-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sport-related-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid var(--u-line);
  border-radius: 10px;
  text-decoration: none;
  font-size: 13px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.sport-related-item:hover { border-color: #d6e4f5; box-shadow: var(--u-shadow); }
.sport-related-item time {
  color: var(--u-brand);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.sr-teams {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--u-ink);
  font-weight: 600;
}
.sr-teams i { color: var(--u-ink-3); font-style: normal; font-size: 11px; }
.sr-state {
  padding: 1px 8px;
  border-radius: 999px;
  background: #f1f5fb;
  color: var(--u-ink-3);
  font-size: 11px;
  white-space: nowrap;
}
.sr-state.st-start { background: #e7f9f0; color: #0b7a4b; }
.sr-state.st-end { background: #f1f3f7; color: var(--u-ink-2); }
[data-theme="dark"] .sport-related { background: #151b26; border-color: var(--u-line); }
[data-theme="dark"] .sport-related-item { background: #182029; border-color: var(--u-line); }

/* ---------- 23. 详情页分享按钮 ---------- */
.match-share {
  display: flex;
  gap: 8px;
  margin: 0 0 8px;
}
.share-btn {
  padding: 6px 16px;
  border: 1px solid var(--u-line);
  border-radius: 999px;
  background: #fff;
  color: var(--u-ink-2);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.share-btn:hover { border-color: #cfe2f7; color: var(--u-brand-ink); background: #f5faff; }
[data-theme="dark"] .share-btn { background: #151b26; color: var(--u-ink-2); }

/* ============================================================
   24. 布局修正层（2026-10-20：对齐旧皮肤固定布局，修复叠加冲突）
   ------------------------------------------------------------
   旧皮肤的关键固定值（不可随意覆盖）：
     · .zhibo-btn      width:114px; height:30px; margin-left:30px; line-height:2
     · .zhibo-date     margin-left:30px; margin:15px 0 15px
     · .zhibo-team p   width:90px（队名定宽）
     · .filter_none    是「hover 下拉菜单」，不能塞入筛选 chips
     · 列表里的 .lq-score 被 display:none !important 隐藏（设计如此）
   ============================================================ */

/* 日期条：回到旧布局（不吸顶、不卡片化、不撑宽） */
.content-zbList .zhibo-date,
.zq-zhibo-list .zhibo-date {
  position: static !important;
  top: auto !important;
  margin: 16px 0 4px 0 !important;
  padding: 0 0 0 8px !important;
  border: 0 !important;
  border-left: 3px solid var(--u-brand) !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}
.content-zbList .zhibo-date em,
.zq-zhibo-list .zhibo-date em {
  margin-left: 8px;
  padding: 1px 8px;
  border-radius: 999px;
  background: #eef4fb;
  color: var(--u-brand-ink);
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
}

/* 比赛行：恢复旧的高度节奏，只保留轻量视觉 */
.content-zbList .match_li.zbList-info-evy,
.zq-zhibo-list .match_li.zbList-info-evy {
  margin: 0 !important;
  padding: 10px 8px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
  animation: none !important;
}
.content-zbList .match_li.zbList-info-evy:hover,
.zq-zhibo-list .match_li.zbList-info-evy:hover {
  border-color: #dbe7f6 !important;
  box-shadow: 0 2px 10px rgba(23, 40, 70, .06) !important;
  transform: none !important;
}

/* 直播按钮：尊重旧固定宽高（不 padding、不 pill 撑破） */
.content-zbList .zhibo-btn,
.zq-zhibo-list .zhibo-btn,
.zhibo-detail-latest .zhibo-btn {
  display: inline-block !important;
  width: 96px !important;
  height: 28px !important;
  margin-left: 10px !important;
  padding: 0 !important;
  border-radius: 6px !important;
  line-height: 28px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-align: center !important;
  box-shadow: none !important;
  transform: none !important;
}
.content-zbList .zhibo-btn.start,
.zq-zhibo-list .zhibo-btn.start {
  background: #0ea65f !important;
  color: #fff !important;
}
.content-zbList .zhibo-btn.end,
.zq-zhibo-list .zhibo-btn.end {
  background: #eef1f6 !important;
  color: #5b6478 !important;
}
.content-zbList .zhibo-btn img,
.zq-zhibo-list .zhibo-btn img { display: none !important; }

/* 列表比分：旧设计隐藏（保留 VS 胶囊） */
.content-zbList .pic-or-text .lq-score,
.zq-zhibo-list .pic-or-text .lq-score,
.zhibo-detail-latest .lq-score { display: none !important; }

/* 筛选条：独立一行（不再使用 hover 下拉容器） */
.sport-filter-bar {
  display: block;
  padding: 4px 0 10px;
  border-bottom: 1px solid var(--u-line);
  margin-bottom: 4px;
}
.sport-filter-bar .sport-filter { padding: 0; margin: 0; }
.sport-filter li { padding: 3px 10px; font-size: 12px; }

/* 详情页：左栏禁止溢出覆盖右栏 */
.zhibo-detail-content .zhibo-detail-info {
  min-width: 0 !important;
  overflow: hidden !important;
}
.zb-dl-teamAbout li,
.zb-dl-teamAbout a { white-space: normal !important; word-break: break-word; }
.zhibo-detail-content { gap: 16px; }
@media (min-width: 1200px) {
  .zhibo-detail-content .zhibo-detail-info { width: 68% !important; }
}

/* 工具页头部：下拉菜单默认收起（防止整排链接铺在页头） */
.header-top .nav-drop,
.header-nav .nav-drop { display: none; }
/* 下拉必须是绝对定位（相对 .has-drop），否则展开时会把整个头部撑高
   —— 原来这条只写在 sport-refresh.css 里，工具页没加载它就会撑开页面。
   top 用 100%（紧贴按钮）而不是 calc(100% + 8px)：留缝会让鼠标慢速下移时 hover 丢失 */
.header-nav .nav-drop,
.header-top .nav-drop {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
}
/* 垫片：覆盖按钮与面板之间可能残留的 1~2px 缝隙，鼠标经过时不会掉出 hover 区 */
.header-nav .nav-drop::before,
.header-top .nav-drop::before {
  content: "";
  position: absolute;
  left: -14px;
  right: -14px;
  top: -14px;
  height: 14px;
}
.header-top .has-drop:hover > .nav-drop,
.header-nav .has-drop:hover > .nav-drop,
.header-nav .has-drop.is-open > .nav-drop { display: block; }

/* 工具页国家分组：两列整齐排布（原来是宽度自适应的 inline-flex，换行后参差不齐） */
.lg-group {
  display: inline-flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  width: calc(50% - 18px) !important;   /* 留出 inline 元素间空白符的余量，否则会挤到下一行 */
  margin: 0 6px 10px !important;
  padding: 8px 12px !important;
  vertical-align: top;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}
.lg-group-h { margin-bottom: 0 !important; white-space: nowrap; }
.lg-group .lg-chips { flex: 1 1 auto; min-width: 0; gap: 4px; }

@media (max-width: 768px) {
  .lg-group {
    width: 100% !important;
    margin: 0 0 8px !important;
  }
}

/* 首页右栏资讯：图文对齐 */
.guanyu-zixun-list li.newsli {
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 8px !important;
  margin: 4px 0 !important;
}
.guanyu-zixun-list li.newsli .newspic {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  object-fit: cover;
  border-radius: 6px;
}

/* ============================================================
   25. 二次修正（2026-10-20：筛选整行 / 比分胶囊 / Hero 按钮 / 内容区宽度）
   ============================================================ */

/* 筛选条：独占一行（放在标题行下方，不挤在 tab 流里） */
.common-tab_list { flex-wrap: wrap; }
.sport-filter-bar {
  flex: 0 0 100%;
  width: 100%;
  order: 9;
  margin-top: 6px;
  padding: 6px 0 10px;
}
.sport-filter { display: flex; flex-wrap: wrap; gap: 6px; }

/* 比分：统一蓝色胶囊（信息量优先，比隐藏更有用） */
.match_li .pic-or-text {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-width: 54px;
  padding: 2px 8px !important;
  border-radius: 8px !important;
  background: #1f6fc4;
  color: #fff;
}
.match_li .pic-or-text .lq-score {
  display: inline-block !important;
  min-width: 12px;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-align: center;
}
.match_li .pic-or-text .fenge {
  margin: 0 1px !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.match_li .pic-or-text .fenge.is-vs {
  padding: 0 !important;
  background: none !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .5px;
}
.match_li:not(.has-score) .pic-or-text { background: #eaf3fc; }
.match_li:not(.has-score) .pic-or-text .fenge.is-vs { color: #2b7fd4 !important; }
.match_li.has-score .pic-or-text { background: #1f6fc4; }

/* 内容区：左栏自适应 + 右栏定宽（避免右侧大片空白） */
.content-bottom {
  display: flex !important;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start !important;
}
.content-bottom-left { flex: 1 1 auto; min-width: 0; }
.content-bottom-right { flex: 0 0 300px; width: 300px; max-width: 300px; }
@media (max-width: 992px) {
  .content-bottom { flex-direction: column; }
  .content-bottom-right { width: 100% !important; flex: 1 1 auto; max-width: none; }
}

/* ============================================================
   26. 第三次修正（搜索弹窗 / 详情比分台 / Hero 按钮 / 容器宽度）
   ============================================================ */

/* 工具页没加载 index.min.css → 搜索弹窗缺少隐藏样式，这里补齐 */
.search-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(15, 23, 42, .48);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
.search-overlay.active { display: flex; align-items: center; justify-content: center; }
.search-overlay .search-modal {
  position: relative;
  width: min(520px, 92vw);
  padding: 20px 18px 16px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
}
.search-modal .search-form { display: flex; gap: 8px; }
.search-modal .search-input {
  flex: 1;
  height: 38px;
  padding: 0 12px;
  border: 1px solid #e8ecf3;
  border-radius: 8px;
  font-size: 14px;
  outline: none;
}
.search-modal .search-input:focus { border-color: #2b7fd4; }
.search-modal .search-btn {
  height: 38px;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  background: #2b7fd4;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.search-modal .search-tip { margin: 8px 0 0; color: #8b93a3; font-size: 12px; }
.search-modal .search-modal-close {
  position: absolute;
  right: 10px;
  top: 8px;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 50%;
  background: #f1f4f9;
  color: #8b93a3;
  font-size: 13px;
  line-height: 26px;
  cursor: pointer;
}

/* 详情比分台：深色舞台 + 白字（恢复旧设计意图，解决白字白底看不见） */
.zhibo-detail-info .zb-dl-match-info ul {
  background: linear-gradient(135deg, #1e4c82 0%, #17608f 55%, #0f3f6d 100%) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 10px 26px rgba(15, 63, 109, .25) !important;
}
.zhibo-detail-info .zb-dl-match-info ul a { color: #cfe2f7 !important; }
.zhibo-detail-info .zhuname a { color: #fff !important; }
.zhibo-detail-info .match-no {
  background: rgba(255, 255, 255, .18) !important;
  color: #fff !important;
}
.zhibo-detail-info .match-no.match-live { background: #12b76a !important; }
.zhibo-detail-info .score-no {
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .35);
}

/* 宽屏容器：1000 → 1200（减少右侧大片空白） */
@media (min-width: 1200px) {
  .content-container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ============================================================
   27. 工具页头部：简繁切换 / 搜索按钮 不再重叠
   ============================================================ */
.header-top {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
}
.header-top .header-logo { flex: 0 0 auto; }
.header-top .header-nav { flex: 1 1 auto; min-width: 0; }
.header-top .ztqh,
.header-top .header-search-icon { flex: 0 0 auto; }
.header-top .ztqh { margin-right: 4px; }
.header-top .header-search-icon { margin-left: 0; }

/* 移动端：头部压缩，避免挤压 */
@media (max-width: 768px) {
  .header-top { gap: 6px; padding: 0 8px; }
  .header-top .header-nav { gap: 6px; }
  .header-top .ztqh { display: none; }
}

/* ============================================================
   28. 手机端专项（≤768px）：横向溢出 / 比分台 / 底部 Tab
   ============================================================ */

@media (max-width: 768px) {
  /* 比赛行：改两行布局（时间+联赛 / 队徽+队名+比分+按钮） */
  .content-zbList .match_li.zbList-info-evy,
  .zq-zhibo-list .match_li.zbList-info-evy {
    flex-wrap: wrap !important;
    padding: 10px 8px !important;
    row-gap: 6px;
  }
  .match_li .zhibo-time { flex: 0 0 46px; font-size: 13px !important; }
  .match_li .zhibo_saishi { flex: 0 0 auto; }
  .match_li .qiu-pic { flex: 0 0 16px; }
  .match_li .zhibo-team {
    flex: 1 1 100% !important;
    display: flex !important;
    align-items: center;
    gap: 6px;
    margin-top: 2px;
  }
  .match_li .zhibo-team p {
    width: auto !important;
    flex: 1 1 0;
    min-width: 0;
    font-size: 13px !important;
  }
  .match_li .zhibo-team > img { width: 22px !important; height: 22px !important; flex: 0 0 22px; }
  .match_li .zhibo-team .zhibo-btn {
    width: 78px !important;
    flex: 0 0 78px;
    margin-left: 2px !important;
    font-size: 11px !important;
  }
  .match_li .pic-or-text { min-width: 46px !important; padding: 1px 6px !important; }
  .match_li .pic-or-text .lq-score { font-size: 13px !important; }

  /* 详情页：比分台改纵向，左右栏改单列 */
  .zhibo-detail-content { flex-direction: column !important; }
  .zhibo-detail-content .zhibo-detail-info,
  .zhibo-detail-content .zhibo-detail-latest { width: 100% !important; }
  .zhibo-detail-info .zb-dl-match-info ul {
    flex-direction: column !important;
    gap: 8px;
    padding: 14px 10px !important;
  }
  .zhibo-detail-info .zb-dl-match-info ul > li {
    width: 100% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
  .zhibo-detail-info .zb-dl-match-info ul > li img {
    width: 34px !important;
    height: 34px !important;
  }
  .zhibo-detail-info .score-no { font-size: 24px !important; }
  .zhibo-detail-info .zhuname { margin: 0; }

  /* 底部 Tab：5 项均分，不溢出 */
  .m-tabbar .mtab { flex: 1 1 0; padding: 6px 4px; font-size: 10px; }
  .m-tabbar .mtab-ico { font-size: 16px; }

  /* 详情页操作按钮换行 */
  .match-share, .match-remind-wrap { flex-wrap: wrap; }
  .detail-h1 { font-size: 18px !important; }
  .detail-meta { font-size: 12px; }
}

/* ============================================================
   29. 手机端二次修正：比赛行不溢出 / 直播源条不遮挡比分台
   ============================================================ */
@media (max-width: 768px) {
  /* 比赛行：隐藏栏目图标与联赛胶囊，队名可收缩，按钮固定窄宽 */
  .match_li .qiu-pic,
  .match_li .zhibo_saishi { display: none !important; }
  .match_li .zhibo-time {
    flex: 0 0 38px;
    font-size: 12px !important;
  }
  .match_li .zhibo-team {
    flex: 1 1 auto !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    overflow: hidden;
  }
  .match_li .zhibo-team p {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    font-size: 12px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .match_li .zhibo-team > img.layout-mw10,
  .match_li .zhibo-team > img:not(.qiu-pic) {
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px;
  }
  .match_li .pic-or-text {
    min-width: 42px !important;
    padding: 1px 4px !important;
    flex: 0 0 auto;
  }
  .match_li .pic-or-text .lq-score { font-size: 12px !important; min-width: 8px; }
  .match_li .zhibo-team .zhibo-btn {
    width: 58px !important;
    flex: 0 0 58px;
    height: 22px !important;
    line-height: 22px !important;
    font-size: 10px !important;
    margin-left: 4px !important;
  }

  /* 详情页：直播源条改静态（旧样式绝对定位会盖住比分台） */
  .zhibo-link-btn {
    position: static !important;
    margin-top: 10px;
    padding: 10px 10px !important;
    border-radius: 12px;
    background: #f1f5fb !important;
    color: var(--u-ink) !important;
  }
  .zhibo-link-btn .source-link {
    background: #fff !important;
    border: 1px solid var(--u-line) !important;
    color: var(--u-brand-ink) !important;
    padding: 5px 12px !important;
    font-size: 12px;
  }
  .zhibo-link-btn .source-link.first-source {
    background: var(--u-brand) !important;
    color: #fff !important;
    border-color: var(--u-brand) !important;
  }
  .zhibo-detail-info .zb-dl-match-info ul { min-height: 0 !important; height: auto !important; }

  /* 底部 Tab：保底宽度，5 项全部可见 */
  .m-tabbar { justify-content: flex-start !important; }
  .m-tabbar .mtab { flex: 0 0 20% !important; max-width: 20%; }
}

/* ============================================================
   30. 手机端收尾：详情比分可见 / 直播源换行 / 底部 Tab 5 项 / Hero 队名
   ============================================================ */
@media (max-width: 768px) {
  /* 详情页比分：强制显示（旧 m.css 可能隐藏了） */
  .zhibo-detail-info .score-no {
    display: block !important;
    margin: 4px 0 0 !important;
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    text-align: center;
  }
  .zhibo-detail-info .zb-dl-match-info ul > li:nth-child(2) {
    flex-direction: column;
    gap: 2px;
  }
  .zhibo-detail-info .zb-dl-match-info ul > li:nth-child(2) > p {
    margin: 0 !important;
  }

  /* 直播源：允许换行，按钮不再被裁 */
  .zhibo-link-btn {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center;
    gap: 6px;
  }
  .zhibo-link-btn .source-link { margin: 0 !important; }

  /* 底部 Tab：5 项均分且不裁切 */
  .m-tabbar {
    overflow: visible !important;
    justify-content: space-between !important;
    padding-left: 4px;
    padding-right: 4px;
  }
  .m-tabbar .mtab {
    flex: 1 1 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 6px 2px !important;
  }
}

/* ============================================================
   31. 手机端根治：解除旧容器的固定宽度 / 横向滚动
   ============================================================ */
@media (max-width: 768px) {
  html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .container,
  .content-container,
  .content-bottom,
  .content-bottom-left,
  .content-bottom-right,
  .common-tab,
  .common-tab_list,
  .common-tab-con,
  .content-zbList,
  .zq-zhibo-content,
  .zq-zhibo,
  .zq-zhibo-list,
  .article-detail-news,
  .zhibo-detail-content,
  .zhibo-detail-info,
  .zhibo-detail-latest {
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }
  .content-container {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  /* 底部 Tab：显式显示第 5 项（防止旧规则隐藏） */
  .m-tabbar { width: 100% !important; left: 0 !important; right: 0 !important; }
  .m-tabbar .mtab,
  .m-tabbar .mtab:nth-child(5) {
    display: flex !important;
    flex: 1 1 0 !important;
    max-width: none !important;
  }
}

/* ============================================================
   32. 手机端最终修正：Grid 底部栏 / Hero 100vw / 直播源换行
   ============================================================ */
@media (max-width: 768px) {
  /* 底部 Tab 用 Grid 强制 5 列（不依赖 flex 计算） */
  .m-tabbar {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    align-items: center;
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: auto !important;
  }
  .m-tabbar .mtab {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  /* 直播源按钮容器：换行 + 不溢出 */
  .zhibo-link-btn {
    max-width: 100% !important;
    overflow: hidden;
  }
  .zhibo-link-btn a {
    flex: 0 0 auto !important;
    max-width: 100%;
    margin: 3px 4px 3px 0 !important;
  }
}

/* ============================================================
   34. 首页改版（参考直播吧：赛程为主 + 数据/联赛入口）
   ============================================================ */
.hp-tools { margin: 16px 0 0; }
.hp-sec-h {
  margin: 0 0 10px;
  padding-left: 10px;
  border-left: 4px solid var(--u-brand);
  color: var(--u-ink);
  font-size: 16px;
  font-weight: 800;
}
.hp-tool-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.hp-tool {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px;
  border: 1px solid var(--u-line);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
  text-decoration: none;
  box-shadow: var(--u-shadow);
  transition: transform .15s ease, box-shadow .15s ease;
}
.hp-tool:hover { transform: translateY(-2px); box-shadow: var(--u-shadow-h); }
.hp-tool b { color: var(--u-ink); font-size: 14px; }
.hp-tool span { color: var(--u-ink-3); font-size: 12px; }

/* 右栏热门联赛 */
.hp-league { margin-top: 14px; }
.hp-league .hp-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.hp-league a {
  padding: 4px 10px;
  border: 1px solid var(--u-line);
  border-radius: 999px;
  background: #fff;
  color: var(--u-ink-2);
  font-size: 12px;
  text-decoration: none;
  transition: border-color .15s ease, color .15s ease;
}
.hp-league a:hover { border-color: #cfe2f7; color: var(--u-brand-ink); }

@media (max-width: 992px) {
  .hp-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
[data-theme="dark"] .hp-tool { background: #151b26; }
[data-theme="dark"] .hp-league a { background: #151b26; }

/* ============================================================
   35. 赛程列表视觉重做（对齐直播吧：紧凑、分隔线、中性色）
   ============================================================ */

/* 行：细分隔线代替卡片边框，52px 紧凑高度 */
.content-zbList .match_li.zbList-info-evy,
.zq-zhibo-list .match_li.zbList-info-evy {
  min-height: 52px;
  padding: 9px 6px !important;
  border: 0 !important;
  border-bottom: 1px solid #eef1f6 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
}
.content-zbList .match_li.zbList-info-evy:hover,
.zq-zhibo-list .match_li.zbList-info-evy:hover {
  background: #f7faff !important;
  box-shadow: none !important;
}

/* 去掉左侧状态色条（视觉噪音） */
.match_li.st-await::before,
.match_li.st-start::before,
.match_li.st-end::before,
.match_li.st-delay::before { display: none !important; }

/* 时间：定宽、深色 */
.match_li .zhibo-time {
  width: 46px;
  flex: 0 0 46px;
  color: #1f2430 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* 联赛：中性灰文字（不再胶囊） */
.match_li .zhibo_saishi {
  width: 92px;
  flex: 0 0 92px;
  overflow: hidden;
}
.match_li .zhibo_saishi a {
  padding: 0 !important;
  background: none !important;
  color: #8b93a3 !important;
  font-size: 12px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

/* 队伍区：主队右对齐 / 比分居中 / 客队左对齐 */
.match_li .zhibo-team {
  flex: 1 1 auto !important;
  justify-content: center !important;
  gap: 8px !important;
}
.match_li .zhibo-team p.zhudui {
  width: auto !important;
  flex: 1 1 0 !important;
  text-align: right !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
.match_li .zhibo-team p.kedui {
  width: auto !important;
  flex: 1 1 0 !important;
  text-align: left !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
.match_li .zhibo-team > img {
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px;
}

/* 比分：中性灰胶囊（不再是高饱和蓝） */
.match_li .pic-or-text {
  min-width: 52px !important;
  padding: 2px 8px !important;
  border-radius: 6px !important;
  background: #f1f3f7 !important;
}
.match_li .pic-or-text .lq-score {
  color: #1f2430 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.match_li .pic-or-text .fenge { color: #98a2b3 !important; }
.match_li .pic-or-text .fenge.is-vs { color: #98a2b3 !important; background: none !important; }
.match_li:not(.has-score) .pic-or-text { background: #f7f8fb !important; }

/* 直播按钮：描边风格，只有「进行中」填充绿色 */
.match_li .zhibo-btn {
  width: 74px !important;
  height: 26px !important;
  line-height: 24px !important;
  margin-left: 8px !important;
  border: 1px solid #d6e4f5 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #2b7fd4 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
.match_li .zhibo-btn.start {
  background: #0ea65f !important;
  border-color: #0ea65f !important;
  color: #fff !important;
}
.match_li .zhibo-btn.end {
  background: #f7f8fa !important;
  border-color: #e8ecf3 !important;
  color: #98a2b3 !important;
}

/* 日期条：简洁文字 + 细底线（去掉大卡片感） */
.content-zbList .zhibo-date,
.zq-zhibo-list .zhibo-date {
  margin: 14px 0 2px !important;
  padding: 6px 2px !important;
  border: 0 !important;
  border-bottom: 2px solid #eaf3fc !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: #1f2430 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

/* 桌面：左栏收紧到 820，右栏 320，整体不散 */
@media (min-width: 993px) {
  .content-bottom { gap: 20px !important; }
  .content-bottom-left { max-width: 820px; }
  .content-bottom-right { flex: 0 0 320px !important; width: 320px !important; max-width: 320px !important; }
}

/* 手机端：恢复两行紧凑布局 */
@media (max-width: 768px) {
  .content-zbList .match_li.zbList-info-evy { min-height: 0; padding: 9px 4px !important; }
  .match_li .zhibo_saishi { display: none !important; }
  .match_li .zhibo-time { width: 38px; flex: 0 0 38px; }
  .match_li .zhibo-team p.zhudui,
  .match_li .zhibo-team p.kedui { font-size: 12px !important; }
  .match_li .zhibo-btn { width: 62px !important; margin-left: 4px !important; font-size: 11px !important; }
  .match_li .pic-or-text { min-width: 44px !important; }
}

/* ============================================================
   36. 列表行精修（基于 DevTools 实测：行高 71→46、胶囊去背景、修溢出）
   ============================================================ */
.content-zbList .match_li.zbList-info-evy,
.zq-zhibo-list .match_li.zbList-info-evy {
  min-height: 0 !important;       /* 之前 min-height:52 把行撑到 71px */
  padding: 8px 6px !important;
}

/* 联赛：真正去掉胶囊（背景/内边距在 span 上） */
.match_li .zhibo_saishi {
  width: 92px !important;
  flex: 0 0 92px !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.match_li .zhibo_saishi a {
  color: #8b93a3 !important;
  background: none !important;
  padding: 0 !important;
}

/* 队名：统一深色（旧皮肤是 #666） */
.match_li .zhibo-team p a { color: #1f2430 !important; }
.match_li .zhibo-team p { line-height: 20px !important; margin: 0 !important; }

/* 左侧小图标收窄对齐 */
.match_li .qiu-pic { width: 16px !important; height: 16px !important; flex: 0 0 16px; }

/* 友链区块：修正 1433px 横向溢出 */
.interLink {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box;
}
.interLink_con {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
}

/* ============================================================
   37. 手机端行布局（DevTools 实测：队名仅 59px → 改为两行）
   ============================================================ */
@media (max-width: 768px) {
  .content-zbList .match_li.zbList-info-evy,
  .zq-zhibo-list .match_li.zbList-info-evy {
    flex-wrap: wrap !important;
    row-gap: 4px;
    padding: 8px 6px !important;
  }
  /* 第一行：时间 + 联赛 */
  .match_li .qiu-pic { display: none !important; }
  .match_li .zhibo-time { flex: 0 0 40px; font-size: 12px !important; }
  .match_li .zhibo_saishi {
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    font-size: 11px !important;
  }
  .match_li .zhibo_saishi a { font-size: 11px !important; }
  /* 第二行：主队 / 比分 / 客队 / 按钮 占满整行 */
  .match_li .zhibo-team {
    flex: 1 1 100% !important;
    gap: 6px !important;
    margin-top: 2px;
  }
  .match_li .zhibo-team p.zhudui,
  .match_li .zhibo-team p.kedui {
    flex: 1 1 0 !important;
    font-size: 13px !important;
    line-height: 18px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .match_li .zhibo-team > img {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px;
  }
  .match_li .pic-or-text { min-width: 46px !important; }
  .match_li .zhibo-team .zhibo-btn {
    width: 62px !important;
    flex: 0 0 62px;
    margin-left: 4px !important;
    font-size: 11px !important;
  }
}

/* ============================================================
   38. 手机端：隐队徽 + 窄比分，把宽度让给队名（实测 62→120px）
   ============================================================ */
@media (max-width: 768px) {
  .match_li .zhibo-team > img { display: none !important; }
  .match_li .pic-or-text {
    min-width: 52px !important;
    padding: 1px 6px !important;
  }
  .match_li .pic-or-text .lq-score { font-size: 13px !important; }
  .match_li .zhibo-team .zhibo-btn {
    width: 58px !important;
    flex: 0 0 58px;
  }
}

/* 关键：以上全部生效后，队名各占约 120px，不再过度省略 */

/* ============================================================
   44. UI Kit —— 可复用设计系统（2026-10-21）
   ------------------------------------------------------------
   为什么单独放一层：
     · 上面 1~43 节是历史累积的「组件修正层」，直接重写风险大（已实测丢规则）
     · 这里提供一套**通用组件类**，新页面/新模块直接复用，不再重复写样式
   ------------------------------------------------------------
   用法速查：
     布局  .ui-row / .ui-between / .ui-wrap
     卡片  .ui-card (+ .ui-card-pad)
     标题  .ui-title
     胶囊  .ui-chip (+ .ui-chip.on)
     按钮  .ui-btn (+ --primary / --ok / --sm)
     徽章  .ui-badge (+ --live / --end)
     表格  .ui-table
     空态  .ui-empty
     间距  .u-mt-8/12/16 .u-mb-8/12
   颜色/圆角/阴影一律用 --ui-* 变量，禁止再写死色值。
   ============================================================ */
:root {
  --ui-brand:   #2b7fd4;
  --ui-brand-d: #1f66ad;
  --ui-brand-l: #eaf3fc;
  --ui-ink:     #1f2430;
  --ui-ink-2:   #5b6478;
  --ui-ink-3:   #8b93a3;
  --ui-line:    #e8ecf3;
  --ui-bg:      #f4f6fa;
  --ui-card:    #ffffff;
  --ui-ok:      #12b76a;
  --ui-warn:    #f79009;
  --ui-err:     #f04438;
  --ui-r-sm:    8px;
  --ui-r:       12px;
  --ui-r-lg:    16px;
  --ui-sh:      0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .04);
  --ui-sh-h:    0 12px 26px rgba(16, 24, 40, .12);
  --ui-fs-xs:   11px;
  --ui-fs-sm:   12px;
  --ui-fs:      14px;
  --ui-fs-lg:   16px;
  --ui-fs-xl:   18px;
  --ui-gap:     12px;
}

/* 布局 */
.ui-row { display: flex; align-items: center; gap: var(--ui-gap); }
.ui-between { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-gap); }
.ui-wrap { flex-wrap: wrap; }

/* 卡片 */
.ui-card {
  background: var(--ui-card);
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-r-lg);
  box-shadow: var(--ui-sh);
}
.ui-card-pad { padding: 14px; }

/* 标题（色条 + 粗体） */
.ui-title {
  padding-left: 10px;
  border-left: 4px solid var(--ui-brand);
  color: var(--ui-ink);
  font-size: var(--ui-fs-xl);
  font-weight: 800;
  line-height: 1.2;
}

/* 胶囊 / 筛选 chip */
.ui-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border: 1px solid var(--ui-line);
  border-radius: 999px;
  background: #fff;
  color: var(--ui-ink-2);
  font-size: var(--ui-fs-sm);
  text-decoration: none;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.ui-chip:hover { border-color: #cfe2f7; color: var(--ui-brand); background: #f8fbff; }
.ui-chip.on { background: var(--ui-brand); border-color: var(--ui-brand); color: #fff; font-weight: 700; }

/* 按钮 */
.ui-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 34px;
  padding: 0 16px;
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-r-sm);
  background: #fff;
  color: var(--ui-ink-2);
  font-size: var(--ui-fs);
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.ui-btn:hover { border-color: #cfe2f7; color: var(--ui-brand); background: #f8fbff; }
.ui-btn--primary { background: var(--ui-brand); border-color: var(--ui-brand); color: #fff; }
.ui-btn--primary:hover { color: #fff; filter: brightness(1.05); }
.ui-btn--ok { background: var(--ui-ok); border-color: var(--ui-ok); color: #fff; }
.ui-btn--ok:hover { color: #fff; filter: brightness(1.05); }
.ui-btn--sm { height: 28px; padding: 0 12px; font-size: var(--ui-fs-sm); }

/* 状态徽章 */
.ui-badge {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 999px;
  background: #f1f5fb;
  color: var(--ui-ink-2);
  font-size: var(--ui-fs-xs);
  font-weight: 600;
}
.ui-badge--live { background: #e7f9f0; color: #0b7a4b; }
.ui-badge--end { background: #f1f3f7; color: var(--ui-ink-2); }

/* 数据表格 */
.ui-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-r);
  overflow: hidden;
  background: #fff;
}
.ui-table th {
  padding: 9px 10px;
  background: #f3f7fd;
  color: var(--ui-ink);
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}
.ui-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #eef1f6;
  color: var(--ui-ink-2);
}
.ui-table tbody tr:nth-child(even) { background: #fafcff; }
.ui-table tbody tr:hover { background: #f1f7ff; }
.ui-table tbody tr:last-child td { border-bottom: 0; }

/* 空态 */
.ui-empty { text-align: center; padding: 48px 0; color: var(--ui-ink-3); font-size: 13px; }

/* 间距工具类 */
.u-mt-8 { margin-top: 8px; }
.u-mt-12 { margin-top: 12px; }
.u-mt-16 { margin-top: 16px; }
.u-mb-8 { margin-bottom: 8px; }
.u-mb-12 { margin-bottom: 12px; }

/* 响应式 */
@media (max-width: 768px) {
  .ui-btn { height: 30px; padding: 0 12px; font-size: 13px; }
  .ui-btn--sm { height: 26px; padding: 0 10px; }
  .ui-title { font-size: 16px; }
  .ui-card-pad { padding: 12px; }
}
[data-theme="dark"] .ui-card,
[data-theme="dark"] .ui-table { background: #151b26; border-color: #2a3344; }
[data-theme="dark"] .ui-table th { background: #1b2331; color: #e8ecf4; }
[data-theme="dark"] .ui-table td { border-bottom-color: #232c3b; color: #a9b2c4; }
[data-theme="dark"] .ui-chip,
[data-theme="dark"] .ui-btn { background: #151b26; border-color: #2a3344; color: #a9b2c4; }

/* ============================================================
   39. 视觉主题 v2（2026-10-20）
   ------------------------------------------------------------
   目标：摆脱旧皮肤的「白底+灰线」平铺感，做出卡片层次：
     · 页面浅灰蓝底 + 内容白卡（圆角 14 + 轻阴影）
     · 比分加粗放大（16px/800），状态用点色
     · 区块标题统一「色条 + 粗体」
     · 右栏资讯卡片化
   不改任何布局尺寸与 URL，只改视觉。
   ============================================================ */
body { background: #f4f6fa !important; }

/* 左栏：白卡容器 */
.content-bottom-left {
  background: #fff !important;
  border: 1px solid #edf0f5 !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .04) !important;
  padding: 4px 14px 12px !important;
  overflow: hidden;
}
/* 右栏：白卡容器 */
.content-bottom-right {
  background: #fff !important;
  border: 1px solid #edf0f5 !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .04) !important;
  padding: 14px !important;
}
/* 首页右栏：容器本身透明，内部「最新资讯」「热门联赛」各自一张卡片 */
.content-bottom-right {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.content-bottom-right .article-detail-news {
  background: #fff !important;
  border: 1px solid #edf0f5 !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .04) !important;
  padding: 14px !important;
  margin-bottom: 14px !important;
}
.content-bottom-right .article-detail-news:last-child { margin-bottom: 0 !important; }

/* 左栏内标题：去掉旧斜切块，做干净的「色条 + 粗体」 */
.content-bottom-left .content-title {
  background: none !important;
  border-left: 4px solid #2b7fd4 !important;
  border-radius: 0 !important;
  padding: 2px 0 2px 10px !important;
  height: auto !important;
  line-height: 1.5 !important;
  margin: 8px 0 4px !important;
}
.content-bottom-left .content-title::before,
.content-bottom-left .content-title::after { display: none !important; }
.content-bottom-left .content-title span {
  color: #1f2430 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}
.content-bottom-left .content-title img { display: none !important; }

/* 日期条：粘性 + 今日高亮 */
.content-zbList .zhibo-date {
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
  margin: 12px -14px 0 !important;
  padding: 8px 14px !important;
  background: #f7f9fc !important;
  border-bottom: 1px solid #edf0f5 !important;
  color: #1f2430 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

/* 行：更细腻的层次 */
.match_li.zbList-info-evy {
  border-bottom: 1px solid #f2f4f8 !important;
  padding: 10px 2px !important;
}
.match_li.zbList-info-evy:hover { background: #f8fbff !important; }

/* 比分：加粗放大 */
.match_li .pic-or-text {
  background: #f3f5f9 !important;
  border-radius: 8px !important;
  min-width: 58px !important;
  padding: 3px 10px !important;
}
.match_li .pic-or-text .lq-score {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #111827 !important;
}
.match_li.has-score .pic-or-text { background: #eef4ff !important; }
.match_li.has-score .pic-or-text .lq-score { color: #1d4ed8 !important; }

/* 队名：中黑、悬停变蓝 */
.match_li .zhibo-team p a {
  color: #1f2430 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  /* ⚠️ 必须覆盖旧皮肤 sport.skin.css 的 `p.zhudui a, p.kedui a { width: 90px }`：
     那个 90px 会让 <a> 固定 90px 宽 —— 移动端 <p> 只有 ~77px 时 <a> 溢出被裁（队名左右被遮挡），
     PC 端 <p> 有 ~164px 时 <a> 只有 90px，主队右对齐的文字离 VS 出现 100px+ 空隙（看着像「靠左」）。
     设成 auto 后 <a> 铺满 <p>，主队/客队到 VS 的间隙完全对称。
     （注释掉 _footer.php 里的 display:block 也能「看着正常」，但那是让 <a> 变 inline 从而忽略 width，
       代价是长队名没有省略号、只能被硬裁 —— 所以正确做法是保留 block + 这里把 width 修正。） */
  width: auto !important;
  max-width: 100% !important;
}
.match_li .zhibo-team p a:hover { color: #2b7fd4 !important; }

/* 按钮：小圆角，进行中绿实心 + 呼吸点 */
.match_li .zhibo-btn {
  border-radius: 8px !important;
  font-weight: 600 !important;
}
.match_li .zhibo-btn.start {
  position: relative;
  background: #0ea65f !important;
  border-color: #0ea65f !important;
  color: #fff !important;
}

/* 右栏资讯：卡片化条目 */
.guanyu-zixun-list li.newsli {
  border: 0 !important;
  border-bottom: 1px solid #f2f4f8 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 10px 0 !important;
  margin: 0 !important;
}
.guanyu-zixun-list li.newsli:last-child { border-bottom: 0 !important; }
.guanyu-zixun-list li.newsli .newspic {
  width: 64px !important;
  height: 48px !important;
  flex: 0 0 64px !important;
  border-radius: 8px !important;
}
.guanyu-zixun-list li.newsli a {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #1f2430 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 赛事专题页 / 标签页右侧「最新直播」：与资讯页同款卡片 */
.zq-lx-and-team .article-video {
  width: 100% !important;
  background: #fff !important;
  border: 1px solid #edf0f5 !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .04) !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
@media (max-width: 768px) {
  .zq-lx-and-team .article-video { padding: 12px !important; border-radius: 14px !important; }
}

/* 侧栏比赛卡：与详情页一致（每场比赛一张小卡，所有页面通用） */
.zhibo-zx .the-team.match_li {
  border: 1px solid #e8ecf3 !important;
  border-radius: 10px !important;
  background: #fff !important;
  margin: 8px 0 !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04) !important;
  overflow: hidden;
}
.zhibo-zx .the-team.match_li:hover { border-color: #d6e4f5 !important; }
.zhibo-zx .the-team.match_li .lq-score { display: none !important; }

/* 详情页：头部导航与顶部卡片之间留出间距（与列表页一致） */
.content-container > .detail-top-card { margin-top: 16px !important; }
@media (max-width: 768px) {
  .content-container > .detail-top-card { margin-top: 10px !important; }
}

/* ============================================================
   54. 比赛行（PC）：时间/联赛/主队/比分/客队/状态 一行，宽度按比例分配
   ============================================================ */
.match_li.zbList-info-evy {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.match_li .qiu-pic { flex: 0 0 18px !important; }
.match_li .zhibo-time {
  order: -1 !important;
  flex: 0 0 58px !important;
  white-space: nowrap;
}
.match_li .zhibo_saishi {
  flex: 0 0 11% !important;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.match_li .zhibo-team {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 1 1 auto !important;
  min-width: 0;
}
/* 队名按内容宽度，紧贴队徽；超长才省略 */
.match_li .zhibo-team .zhudui,
.match_li .zhibo-team .kedui {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: 33% !important;
  overflow: hidden !important;
}
.match_li .zhibo-team .zhudui { order: 1 !important; text-align: right !important; padding-right: 4px !important; }
.match_li .zhibo-team .kedui { order: 5 !important; text-align: left !important; padding-left: 4px !important; }
.match_li .zhibo-team .zhudui a,
.match_li .zhibo-team .kedui a {
  display: block !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
.match_li .zhibo-team > img { flex: 0 0 22px !important; }
.match_li .zhibo-team > img:nth-of-type(1) { order: 2 !important; }
.match_li .zhibo-team > img:nth-of-type(2) { order: 4 !important; }
.match_li .pic-or-text {
  flex: 0 0 76px !important;
  order: 3 !important;
  text-align: center;
  position: relative;
  z-index: 1;
}
.match_li .zhibo-btn {
  flex: 0 0 92px !important;
  order: 6 !important;
  margin-left: auto !important;
  text-align: center;
}

/* ============================================================
   53. 比赛详情页顶部信息卡（面包屑 / 标题 / 信息 / 分享 / 开赛提醒）
   ============================================================ */
.detail-top-card {
  background: #fff;
  border: 1px solid #edf0f5;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .04);
  padding: 4px 14px 12px;
  margin: 0 0 12px;
  box-sizing: border-box;
}
.detail-top-card .sport-crumb { padding: 10px 0 0; }
.detail-top-card .detail-h1 { margin: 8px 0 10px; }
.detail-top-card .detail-meta { margin: 0 0 10px; }
/* 分享条在卡片内不再套第二层卡片 */
.detail-top-card .match-share {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 10px !important;
}
.detail-top-card .match-share .share-btn { background: #f2f7ff !important; }
/* 开赛提醒同样并入卡片，不再单独成块 */
.detail-top-card .match-remind-wrap {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 768px) {
  .detail-top-card { padding: 4px 10px 10px; border-radius: 14px; }
}

/* ============================================================
   52. 比赛详情页整体视觉：分享条卡片化 / 比分卡深色整体 / 侧栏内边距
   ============================================================ */

/* ① 分享 / 复制链接：包成一条卡片，不再裸露 */
.match-share {
  background: #fff !important;
  border: 1px solid #edf0f5 !important;
  border-radius: 14px !important;
  padding: 10px 14px !important;
  margin: 10px 0 12px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04) !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.match-share .share-btn {
  height: 32px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 1px solid #dbe6f5 !important;
  background: #f7fbff !important;
  color: #2b7fd4 !important;
  font-size: 13px !important;
  line-height: 30px !important;
  cursor: pointer;
}
.match-share .share-btn:hover { background: #eaf3ff !important; border-color: #bcd6f5 !important; }

/* ② 比分卡：恢复线上原版皮肤（background_zbxq.png 背景图 + 白字）
      仅把原版写死的 840px 宽改为自适应容器，避免溢出 */
.zb-dl-team {
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid #edf0f5 !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 10px 28px rgba(16, 24, 40, .05) !important;
  padding: 10px !important;
  box-sizing: border-box !important;
}
.zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 305px;
  box-sizing: border-box !important;
  background: #1e4c82 !important;   /* 纯深蓝底，去掉线上那张背景图 */
  background-image: none !important;
  border-radius: 10px !important;
}

/* 直播信号源：使用线上原版配色，但改为正常流式排列（不再用 -108px 负边距重叠比分） */
.zhibo-link-btn {
  margin-top: 0 !important;
  min-height: auto !important;
  border-radius: 0 0 10px 10px !important;
  position: static !important;
}

/* ③ 侧栏：补内边距，标题不贴顶 */
.zhibo-detail-latest {
  padding: 14px !important;
  border-radius: 16px !important;
  border: 1px solid #edf0f5 !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .04) !important;
  background: #fff !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.zhibo-detail-latest .zq-lx-header { margin-top: 0 !important; padding-top: 0 !important; }
@media (max-width: 768px) {
  .zb-dl-match-link { margin: 8px !important; padding: 16px 10px 12px !important; }
  .zb-dl-match-info .score-no { font-size: 24px !important; }
  .zhibo-detail-latest { padding: 12px !important; border-radius: 14px !important; }
}

/* ============================================================
   51. 比赛详情页：比分卡内部 ul 默认内边距导致右侧溢出
   ============================================================ */
.zb-dl-match-link,
.zb-dl-match-info,
.zb-dl-match-info > ul {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.zb-dl-match-info > ul {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  display: flex !important;
}
.zb-dl-match-info > ul > li {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  padding: 0 6px !important;
  box-sizing: border-box !important;
}
.zb-dl-match-info .zhuname {
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
@media (max-width: 768px) {
  /* ① 横向溢出：容器统一 100% + border-box，去掉负边距 */
  .content-container,
  .content-bottom,
  .content-bottom-left,
  .content-bottom-right,
  .common-tab,
  .common-tab-con,
  .content-zbList,
  .common-tab-item {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .content-container { padding-left: 10px !important; padding-right: 10px !important; }
  .content-bottom { display: block !important; }
  .content-zbList .zhibo-date { margin-left: 0 !important; margin-right: 0 !important; }
  .match_ul, .match_li { max-width: 100% !important; }

  /* ② 底部导航：图标放大、标签加粗、贴底阴影 */
  .m-tabbar {
    display: flex !important;
    height: 64px !important;
    padding: 6px 2px calc(6px + env(safe-area-inset-bottom, 0px)) !important;
    background: rgba(255, 255, 255, .98) !important;
    border-top: 1px solid #eef1f6 !important;
    box-shadow: 0 -2px 14px rgba(16, 24, 40, .07) !important;
  }
  .m-tabbar::after { content: none !important; }
  .m-tabbar .mtab {
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    width: auto !important;
    max-width: none !important;
    flex: 1 1 0 !important;
    padding: 2px 0 !important;
    text-decoration: none !important;
  }
  .m-tabbar .mtab .mtab-ico {
    font-size: 22px !important;
    line-height: 1 !important;
    filter: saturate(1.05);
  }
  .m-tabbar .mtab b {
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #5b6478 !important;
  }
  .m-tabbar .mtab:active .mtab-ico { transform: scale(.92); }
  .m-tabbar .mtab.on b,
  .m-tabbar .mtab.active b { color: #2b7fd4 !important; }
}
.zq-lx-and-team .article-detail-news {
  background: #fff !important;
  border: 1px solid #edf0f5 !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .04) !important;
  padding: 14px !important;
  overflow: hidden;
}
/* 侧栏标题：去掉蓝色色块图标，改为「蓝竖条 + 深色粗体」（首页 / 栏目页 / 资讯页通用） */
.zq-lx-header {
  margin: 0 0 6px !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  height: auto !important;
  line-height: 1.3 !important;
}
.zq-lx-header > div {
  display: flex !important;
  align-items: center;
  gap: 8px;
  width: auto !important;
  height: auto !important;
  padding: 0 0 0 9px !important;
  background: none !important;
  border-left: 4px solid #2b7fd4;
  line-height: 1.3 !important;
}
.zq-lx-header img { display: none !important; }
.zq-lx-header span {
  color: #1f2430 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}
.zq-lx-header .more,
.zq-lx-header a {
  margin-left: auto;
  color: #98a2b3 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: none;
}
.zq-lx-header .more:hover,
.zq-lx-header a:hover { color: #2b7fd4 !important; }

/* 资讯条目：图 72×52 + 两行标题 */
.guanyu-zixun-list ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.guanyu-zixun-list li.newsli {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  border: 0 !important;
  border-bottom: 1px solid #f2f4f8 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 11px 0 !important;
  margin: 0 !important;
  background: none !important;
}
.guanyu-zixun-list li.newsli:last-child { border-bottom: 0 !important; }
.guanyu-zixun-list li.newsli .newspic {
  width: 72px !important;
  height: 52px !important;
  flex: 0 0 72px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  background: #eef1f6;
}
.guanyu-zixun-list li.newsli a {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  font-weight: 500;
  color: #1f2430 !important;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.guanyu-zixun-list li.newsli a:hover { color: #2b7fd4 !important; }
@media (max-width: 768px) {
  .zq-lx-and-team .article-detail-news { padding: 12px !important; border-radius: 14px !important; }
  .guanyu-zixun-list li.newsli .newspic { width: 64px !important; height: 46px !important; flex: 0 0 64px !important; }
}
.hp-tool {
  border-color: #edf0f5 !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04) !important;
}
.hp-tool b { font-size: 15px !important; }

/* 移动端：左栏去掉大内边距，避免挤压 */
@media (max-width: 768px) {
  .content-bottom-left { padding: 4px 10px 10px !important; border-radius: 14px !important; }
  .content-bottom-right { padding: 12px !important; border-radius: 14px !important; }
  .content-zbList .zhibo-date { margin: 10px -10px 0 !important; padding: 8px 10px !important; }
}

/* ============================================================
   40. 首页标题区 + 日期切换（昨天/今天/明天）
   ============================================================ */
.hp-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;      /* 标题/分类占第一行，日期条换到第二行（2026-10-21） */
  gap: 12px;
  padding: 10px 2px 8px;
  border-bottom: 1px solid #eef1f6;
}
.hp-head-l {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.hp-head-title {
  margin: 0;
  padding-left: 10px;
  border-left: 4px solid #2b7fd4;
  color: #1f2430;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
.hp-cat { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.hp-cat li { font-size: 13px; line-height: 1; }
.hp-cat li.on {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  background: #2b7fd4;
  color: #fff;
  font-weight: 700;
}
.hp-cat li a {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  color: #5b6478;
  text-decoration: none;
}
.hp-cat li a:hover { background: #eef4fb; color: #2b7fd4; }

/* 日期条（12 个日期 × 100px ≈ 1264px，左栏只有 788px）：
   原来既没 overflow 也没限制宽度 → 直接溢出盖到右栏上，
   而且每个 li 是 flex:0 1 auto 会被压扁导致文字竖排。
   现在改为容器内横滑 + 子项不压缩（2026-10-21）。 */
.hp-days {
  display: flex; gap: 6px; list-style: none; margin: 0; padding: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-bottom: 2px;
}
.hp-days li { flex: 0 0 auto; }
.hp-days li {
  padding: 6px 12px;
  border-radius: 8px;
  background: #f3f5f9;
  color: #5b6478;
  font-size: 13px;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease;
}
.hp-days li:hover { background: #eef4fb; color: #2b7fd4; }
.hp-days li.on {
  background: var(--u-brand);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 4px 10px rgba(43, 127, 212, .25);
}

.hp-empty { text-align: center; padding: 48px 0; color: #98a2b3; font-size: 13px; }

@media (max-width: 768px) {
  /* 「罗甲 + 历史赛事 67 / 今日赛事 0 / 未来赛事 0」这一行（2026-10-21）：
     原来 flex-wrap:wrap 会让数字折到第二行，而且 435px 的内容把 320px 的页面
     整个撑到 477px（整页横向溢出）。改成不换行 + 分类条可横滑 + 数字不折行。 */
  .hp-head { flex-wrap: wrap; gap: 8px; }
  .hp-head-l {
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .hp-head-l::-webkit-scrollbar { display: none; }
  .hp-head-title { font-size: 16px; }
  .hp-cat { flex-wrap: nowrap; }
  .hp-cat li { flex: 0 0 auto; }
  .hp-cat li a, .hp-cat li.on {
    padding: 5px 9px; font-size: 12px;
    white-space: nowrap;
  }
  .hp-days { width: 100%; }
  /* 12 个日期在 390px 里平分只剩 32px/项，文字会被挤到重叠 →
     改为固定内边距 + 容器横滑 */
  .hp-days li { flex: 0 0 auto; text-align: center; padding: 7px 10px; }
}

/* ============================================================
   41. 整站顶部背景图（来自线上 jrs_sy_png.png，1920×770）
   ------------------------------------------------------------
   html 铺背景图，body 透明 → 顶部导航/标题区露出背景，
   下方内容仍是浅灰底；内容卡是白底，不影响可读性。
   ============================================================ */
html {
  background-color: #f4f6fa !important;
  background-image: url("/skin/static/images/jrs_sy_png.png") !important;
  background-position: top center !important;
  background-repeat: no-repeat !important;
  background-size: 1920px auto !important;
  background-attachment: fixed !important;   /* 背景图固定：页面滚动时图不动 */
}
body { background: transparent !important; }

/* 顶部区域文字压在图上时加轻微阴影，保证可读 */
.header-top-container { position: relative; z-index: 60; }  /* 必须高于 .zhibo-date(z=5)，否则「百科」下拉被首页日期条遮挡 */

@media (max-width: 768px) {
  html {
    background-size: cover !important;
    /* iOS Safari 不支持 background-attachment:fixed（会失效甚至卡顿），移动端保持随页面滚动 */
    background-attachment: scroll !important;
  }
}

/* ============================================================
   47. 状态筛选：CSS 兜底（body[data-hp-st] 由 JS 设置）
       —— 即使脚本中途出错，只要点了按钮，列表也会被正确隐藏/显示
   ============================================================ */
body[data-hp-st="start"] .match_li[data-time]:not([data-status="start"]),
body[data-hp-st="end"]   .match_li[data-time]:not([data-status="end"]),
body[data-hp-st="await"] .match_li[data-time]:not([data-status="await"]) {
  display: none !important;
}

/* ============================================================
   46. 面包屑（足球 / 篮球 / 电竞 / 专题列表页统一）
   ============================================================ */
/* 面包屑（卡片内顶部，卡片已有 14px 左右内边距，这里只补上边距） */
.sport-crumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 8px 0 0;
  list-style: none;
  background: none;
  border: 0;
  border-radius: 0;
  font-size: 12px;
  line-height: 1.2;
  color: #98a2b3;
}
.sport-crumb li { display: inline-flex; align-items: center; }
.sport-crumb li + li::before {
  content: '›';
  margin: 0 7px;
  color: #c7ced9;
  font-size: 12px;
}
.sport-crumb a { color: #66707f; text-decoration: none; transition: color .15s ease; }
.sport-crumb a:hover { color: #2b7fd4; }
.sport-crumb li:last-child { color: #2b7fd4; font-weight: 600; }
.sport-crumb li:last-child a { color: #2b7fd4; }
@media (max-width: 768px) {
  .sport-crumb { padding: 8px 0 0; }
}
/* 栏目页联赛筛选若使用首页 .sport-filter 结构：让 li 里的链接继承胶囊样式 */
.sport-filter li a { display: block; color: inherit; text-decoration: none; }

/* 赛事专题页（/saishi/{联赛}/）分组按钮：历史 / 今日 / 未来 */
.hp-cat.tag-grp li {
  padding: 6px 14px;
  border-radius: 999px;
  color: #5b6478;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.hp-cat.tag-grp li:hover { background: #eef4fb; color: #2b7fd4; }
.hp-cat.tag-grp li.on { background: #2b7fd4; color: #fff; font-weight: 700; }
.hp-cat.tag-grp li em { margin-left: 4px; font-style: normal; font-size: 11px; opacity: .75; }

/* ============================================================
   48. 资讯列表 v2（图 + 标题 + 简介 + 元信息）
   PC  ：图 184×138（4:3）+ 标题 1 行 + 简介 2 行
   手机：上图下文，图整宽 4:3  + 标题 2 行 + 简介 4 行（2026-10-22 调整）
   ============================================================ */
.news-v2 .news-info { display: block; padding: 0; margin: 0; list-style: none; }
.news-v2 .news-row {
  display: flex !important;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 4px;
  border-bottom: 1px solid #f0f2f6;
}
.news-v2 .news-row:last-child { border-bottom: 0; }
/* ⚠️ 这里的 !important 是必须的（2026-10-22 用 CDP 实测确认）：
   sport.skin.css 里有一批**旧版资讯列表**规则，通过 a 标签命中同样的 img：
     .article-news-list ul.news-info li a img { width:220px; height:140px; }
     .article-news-list .news-info li a img { width:180px; height:120px; margin-right:10px; }
     @media… { .article-news-list ul.news-info li a img { width:100%; aspect-ratio:16/9; } }
   它们特异性 (0,0,2,3) 高于 .news-v2 .news-thumb img (0,0,2,1)，
   会把图片顶成 220×140（比 184px 的缩略图容器还宽，右侧被 overflow:hidden 裁掉），
   手机端更会被顶成 100% 宽。所以尺寸相关属性一律加 !important 压过旧规则。 */
.news-v2 .news-thumb {
  flex: 0 0 184px !important;
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background: #eef1f6;
}
.news-v2 .news-thumb img {
  display: block;
  width: 184px !important;
  height: 138px !important;
  max-width: none !important;
  margin: 0 !important;
  aspect-ratio: auto !important;
  object-fit: cover;
  transition: transform .25s ease;
}
.news-v2 .news-row:hover .news-thumb img { transform: scale(1.04); }
.news-v2 .news-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.news-v2 .news-title { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.45; }
.news-v2 .news-title a {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #1f2430;
  text-decoration: none;
}
.news-v2 .news-title a:hover { color: #2b7fd4; }
.news-v2 .news-desc {
  margin: 0;
  font-size: 13px;
  line-height: 1.65;
  color: #7a8497;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-v2 .news-meta { margin-top: auto; display: flex; align-items: center; gap: 10px; font-size: 12px; color: #98a2b3; }
.news-v2 .news-meta time { white-space: nowrap; font-variant-numeric: tabular-nums; }
.news-v2 .news-cat {
  padding: 2px 9px;
  border-radius: 999px;
  background: #eef4fb;
  color: #2b7fd4;
  font-size: 11.5px;
  text-decoration: none;
}
.news-v2 .news-cat:hover { background: #dbe9fb; }
@media (max-width: 768px) {
  .news-v2 .news-row { gap: 10px; padding: 12px 2px; }
  /* 手机端是「上图下文」的卡片布局（.news-row 在窄屏下是 column），
     所以缩略图应当是**整宽大图**，不是左边的小方块：
       · 旧规则本来给了 width:100% + aspect-ratio:16/9，但被 sport.skin.css 里
         另一条 `…li a img { width:110px }` 之类的小尺寸规则盖住过；
       · 之前 flex:0 0 110px 在 column 容器里等于**高度**110px，而图只有 82px，
         容器背景 #eef1f6 就从图下方露出一条灰底（CDP 截图可见）。
     现在：容器不设固定尺寸、图按 4:3 铺满整行（比原来的 16:9 更高）。 */
  .news-v2 .news-thumb {
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
  }
  .news-v2 .news-thumb img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    max-height: none !important;
  }
  .news-v2 .news-title { font-size: 15px; }
  /* 手机端标题/简介行数（2026-10-22）：
     原来标题只显示 1 行、简介 2 行，标题经常被截断看不全 →
     改为标题 2 行 + 简介 4 行，信息量更足。 */
  .news-v2 .news-title a { -webkit-line-clamp: 2; }
  .news-v2 .news-desc { font-size: 12.5px; -webkit-line-clamp: 4; }
}

/* 资讯页：与头部之间留出空隙（与栏目页一致） */
.content-container > .article-content { margin-top: 16px !important; }

/* 面包屑字体（li / a 也要强制，旧皮肤会把 li 撑到 18px） */
.sport-crumb,
.sport-crumb li,
.sport-crumb li a { font-size: 12px !important; line-height: 1.3 !important; }
.sport-crumb li + li::before { font-size: 12px !important; }

/* 面包屑 + 标题区：全站统一高度（资讯页只有标题，会被压扁到 41px） */
.hp-head {
  min-height: 52px;
  box-sizing: border-box;
  align-items: center;
}

/* 资讯页卡片：顶部内边距与赛事页 .content-bottom-left 保持一致 */
.article-content .common-tab {
  padding: 4px 14px 80px !important;
}
@media (max-width: 768px) {
  .article-content .common-tab { padding: 4px 10px 60px !important; }
}

/* 资讯页侧栏（最新直播）：补内边距，标题不再贴顶（与首页侧栏一致） */
.article-content .article-video {
  padding: 14px !important;
  border-radius: 16px !important;
  border: 1px solid #edf0f5 !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .04) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
@media (max-width: 768px) {
  .article-content .article-video { padding: 12px !important; border-radius: 14px !important; }
}

/* 资讯分页：胶囊按钮 + 当前页蓝底 */
.ep-pages { margin: 22px 0 6px !important; text-align: center !important; }
.ep-pages .pagination {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 !important;
  font-size: 0 !important;   /* 压掉模板里的 &nbsp; 分隔 */
  list-style: none;
}
.ep-pages .pagination a,
.ep-pages .pagination b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border: 1px solid #e2e9f3;
  border-radius: 9px;
  background: #fff;
  color: #4b5565;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
}
.ep-pages .pagination a:hover { border-color: #bcd6f5; color: #2b7fd4; background: #f8fbff; }
.ep-pages .pagination b { background: #2b7fd4; border-color: #2b7fd4; color: #fff; font-weight: 700; }
/* 「总数」只是说明，做成淡灰文字，不跟页码抢视觉 */
.ep-pages .pagination a[title="总数"] {
  min-width: 0;
  padding: 0 8px;
  border: 0;
  background: transparent;
  color: #98a2b3;
  font-size: 12.5px;
  font-weight: 400;
}
.ep-pages .pagination a[title="总数"] b { color: #98a2b3; font-weight: 600; }
@media (max-width: 768px) {
  .content-container > .article-content { margin-top: 10px !important; }
  .ep-pages .pagination { gap: 4px; }
  .ep-pages .pagination a,
  .ep-pages .pagination b { min-width: 30px; height: 30px; padding: 0 8px; font-size: 12.5px; }
}

/* ============================================================
   42. 日期条排序按钮（已结束置后 / 时间排序）
   ============================================================ */
.content-zbList .zhibo-date,
.zq-zhibo-list .zhibo-date {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 10px;
}
.zhibo-date .zd-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: auto;          /* 日期靠左，按钮靠右 */
  flex: 0 0 auto;
  text-align: left;
}
/* 三个状态筛选按钮（正在直播 / 已结束 / 即将直播） */
.hp-filters { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.hp-filter {
  padding: 3px 10px;
  border: 1px solid #d6e4f5;
  border-radius: 999px;
  background: #fff;
  color: #5b6478;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.hp-filter:hover { background: #f8fbff; border-color: #cfe2f7; color: #2b7fd4; }
.hp-filter.on {
  background: var(--u-brand);
  border-color: var(--u-brand);
  color: #fff;
  box-shadow: 0 4px 10px rgba(43, 127, 212, .25);
}
.hp-count { margin-left: 4px; color: #8b93a3; font-size: 12px; font-weight: 400; }
.hp-filter:disabled, .hp-filter.disabled { opacity: .38; cursor: not-allowed; }
.hp-tip { margin-left: 6px; font-size: 12px; color: #8b93a3; opacity: 0; transition: opacity .2s ease; white-space: nowrap; }
@media (max-width: 768px) {
  .hp-filter { padding: 2px 8px; font-size: 11px; }
  .hp-filters { gap: 4px; margin-left: auto; }
  .content-zbList .zhibo-date, .zq-zhibo-list .zhibo-date { flex-wrap: wrap; row-gap: 6px; }
  .hp-tip { flex: 0 0 100%; margin-left: 0; text-align: right; }
}

/* ============================================================
   45. 日期条对齐修正（旧 margin-left:30px 导致缩进 42px）
   ============================================================ */
.content-zbList .zhibo-date,
.zq-zhibo-list .zhibo-date {
  margin: 12px 0 0 0 !important;
  padding: 8px 2px 8px 0 !important;
  text-align: left !important;
}
/* 列表与日期标签的残余缩进（ul 默认 padding / label 外边距） */
.content-zbList .match_ul,
.zq-zhibo-list .match_ul {
  padding-left: 0 !important;
  margin-left: 0 !important;
  list-style: none !important;
}
.zhibo-date .zd-label {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
}
/* 旧皮肤的日期装饰伪元素（8px 宽 + 间距，把文字顶到右侧 28px） */
.content-zbList .zhibo-date::before,
.zq-zhibo-list .zhibo-date::before {
  display: none !important;
  content: none !important;
  width: 0 !important;
}
@media (max-width: 768px) {
  .content-zbList .zhibo-date,
  .zq-zhibo-list .zhibo-date {
    margin: 10px 0 0 0 !important;
    padding: 8px 2px 8px 0 !important;
  }
}

/* ============================================================
   43. 头部语言切换：下拉（国旗 + 语言名，URL 版本）
   ============================================================ */
.header-top .ztqh { position: relative; display: inline-flex; align-items: center; }
.header-top .lang-dd { position: relative; }
.header-top .lang-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 10px;
  max-width: 132px;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  transition: background .15s ease;
}
.header-top .lang-btn:hover { background: rgba(255, 255, 255, .24); }
.header-top .lang-flag { font-size: 14px; line-height: 1; }
.header-top .lang-cur { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.header-top .lang-caret { font-size: 10px; opacity: .85; }
.header-top .lang-menu {
  display: none;
  position: absolute;
  right: 0;
  top: 34px;
  z-index: 1200;
  min-width: 168px;
  max-height: 320px;
  overflow-y: auto;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
}
.header-top .lang-dd.open .lang-menu { display: block; }
.header-top .lang-menu a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  color: #1f2430;
  font-size: 13px;
  text-decoration: none;
  white-space: nowrap;
}
.header-top .lang-menu a:hover { background: #eef4fb; color: #1868c9; }
.header-top .lang-menu li.on a { background: #eef4fb; color: #1868c9; font-weight: 600; }

@media (max-width: 768px) {
  html, body {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .m-tabbar {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ============================================================
   54. 比赛详情页：比分卡 + 直播信号源（重做）
       修复：① 固定 305px 高 → 底部 111px 空白
             ② 深蓝比分卡 + 浅蓝信号条 → 两截色块拼接
       做法：合成一张渐变卡；队徽浮起、比分放大、状态胶囊、
             信号源改为玻璃拟态按钮组
   ============================================================ */

/* ---- 外层白卡去掉，让蓝色卡本身成为卡片 ---- */
.zhibo-detail-content .zhibo-detail-info .zb-dl-team {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* ---- 比分卡：自适应高度、深蓝渐变、光晕 ---- */
.zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #08223f 0%, #103e6d 52%, #175f9d 100%) !important;
  background-image: linear-gradient(135deg, #08223f 0%, #103e6d 52%, #175f9d 100%) !important;
  box-shadow: 0 14px 34px rgba(8, 34, 63, .22), 0 2px 6px rgba(8, 34, 63, .14) !important;
  overflow: hidden;
  isolation: isolate;
  box-sizing: border-box !important;
}
/* 顶部光晕 */
.zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link::before {
  content: "";
  position: absolute;
  left: -10%;
  right: -10%;
  top: -160px;
  height: 320px;
  background: radial-gradient(50% 60% at 50% 50%, rgba(96, 174, 255, .38), rgba(96, 174, 255, 0) 72%);
  pointer-events: none;
  z-index: 0;
}

/* ---- 比分区 ---- */
.zb-dl-match-link .zb-dl-match-info {
  position: relative;
  z-index: 1;
  height: auto !important;
  padding: 26px 20px 8px !important;
  box-sizing: border-box !important;
}
.zb-dl-match-link .zb-dl-match-info ul {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #fff !important;
}
.zb-dl-match-link .zb-dl-match-info ul > li {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  padding: 0 !important;
  text-align: center;
  list-style: none !important;
}

/* 队徽：浮起的小方块 */
.zb-dl-match-link .zb-dl-match-info ul > li:nth-child(1) img,
.zb-dl-match-link .zb-dl-match-info ul > li:nth-child(3) img {
  width: 62px !important;
  height: 62px !important;
  padding: 9px !important;
  box-sizing: border-box !important;
  object-fit: contain;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 18px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
  display: inline-block;
}

/* 队名 */
.zb-dl-match-link .zb-dl-match-info .zhuname {
  margin: 12px 0 0 !important;
  max-width: 100% !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #fff !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.zb-dl-match-link .zb-dl-match-info .zhuname a {
  color: #fff !important;
  text-decoration: none !important;
}
.zb-dl-match-link .zb-dl-match-info .zhuname a:hover { color: #9fd0ff !important; }

/* 中间列：日期 / 状态 / 比分 */
.zb-dl-match-link .zb-dl-match-info ul > li:nth-child(2) {
  padding-top: 2px !important;
}
.zb-dl-match-link .zb-dl-match-info ul > li:nth-child(2) > p:first-child {
  margin: 0 0 10px !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, .68) !important;
  white-space: normal !important;
  overflow: visible !important;
}
.zb-dl-match-link .zb-dl-match-info ul > li:nth-child(2) > p:first-child a {
  color: rgba(255, 255, 255, .82) !important;
  text-decoration: none !important;
}
.zb-dl-match-link .zb-dl-match-info ul > li:nth-child(2) > p:first-child a:hover {
  color: #fff !important;
  text-decoration: underline;
}

/* 状态胶囊 */
.zb-dl-match-link .zb-dl-match-info .match-no {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  gap: 6px;
  margin: 0 auto 12px !important;
  padding: 3px 12px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: rgba(255, 255, 255, .88) !important;
  font-size: 12px !important;
  font-weight: 500;
  line-height: 18px !important;
  letter-spacing: .2px;
}
.zb-dl-match-link .zb-dl-match-info .match-live {
  background: rgba(255, 77, 99, .16) !important;
  color: #ff9aa7 !important;
}
.zb-dl-match-link .zb-dl-match-info .match-live::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ff4d63;
  box-shadow: 0 0 0 0 rgba(255, 77, 99, .6);
  animation: a7-live-pulse 1.6s infinite;
}
.zb-dl-match-link .zb-dl-match-info .match-yes {
  background: rgba(255, 255, 255, .10) !important;
  color: rgba(255, 255, 255, .72) !important;
}
.zb-dl-match-link .zb-dl-match-info .match-delay {
  background: rgba(255, 176, 64, .16) !important;
  color: #ffc46b !important;
}
@keyframes a7-live-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255, 77, 99, .55); }
  70%  { box-shadow: 0 0 0 7px rgba(255, 77, 99, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 77, 99, 0); }
}

/* 比分 */
.zb-dl-match-link .zb-dl-match-info .score-no {
  margin: 0 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: rgba(255, 255, 255, .55) !important;
  letter-spacing: 2px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap !important;
}
.zb-dl-match-link .zb-dl-match-info .score-yes {
  font-size: 46px !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: 3px;
  text-shadow: 0 6px 22px rgba(0, 0, 0, .28);
}

/* ---- 直播信号源：玻璃拟态按钮组（不再是浅蓝色块） ---- */
.zb-dl-match-link .zhibo-link-btn {
  position: relative !important;
  z-index: 1;
  margin: 0 !important;
  padding: 14px 18px 18px !important;
  min-height: 0 !important;
  background: rgba(255, 255, 255, .05) !important;
  border-top: 1px solid rgba(255, 255, 255, .10) !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  box-sizing: border-box !important;
}
.zb-dl-match-link .zhibo-link-btn .zhibo-link-wifi {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px !important;
  color: rgba(255, 255, 255, .64) !important;
  white-space: nowrap;
  margin: 0 !important;
}
.zb-dl-match-link .zhibo-link-btn .zhibo-link-wifi::before {
  width: 16px;
  height: 16px;
  background: url("../images/wifi.png") no-repeat center / contain;
  opacity: .7;
}
.zb-dl-match-link .zhibo-link-btn .em2 {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  font-style: normal !important;
}
.zb-dl-match-link .zhibo-link-btn .source-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 34px;
  margin: 0 !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .10) !important;
  background-image: none !important;
  border: 1px solid rgba(255, 255, 255, .20) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 500;
  line-height: 32px !important;
  text-decoration: none !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.zb-dl-match-link .zhibo-link-btn .source-link:hover {
  background: #fff !important;
  background-image: none !important;
  border-color: #fff !important;
  color: #0d3a67 !important;
  transform: translateY(-1px);
}
.zb-dl-match-link .zhibo-link-btn .source-link.first-source {
  background: linear-gradient(135deg, #3f95f5 0%, #2b7fd4 100%) !important;
  background-image: linear-gradient(135deg, #3f95f5 0%, #2b7fd4 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 6px 16px rgba(43, 127, 212, .38) !important;
}
.zb-dl-match-link .zhibo-link-btn .source-link.first-source:hover {
  color: #fff !important;
}
.zb-dl-match-link .zhibo-link-btn .source-link[data-placeholder] {
  cursor: default;
}

/* ---- 移动端 ---- */
@media (max-width: 768px) {
  .zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link {
    border-radius: 14px !important;
    margin: 0 !important;
  }
  .zb-dl-match-link .zb-dl-match-info {
    padding: 18px 10px 4px !important;
  }
  .zb-dl-match-link .zb-dl-match-info ul { gap: 4px !important; }
  .zb-dl-match-link .zb-dl-match-info ul > li:nth-child(1) img,
  .zb-dl-match-link .zb-dl-match-info ul > li:nth-child(3) img {
    width: 50px !important;
    height: 50px !important;
    padding: 7px !important;
    border-radius: 14px;
  }
  .zb-dl-match-link .zb-dl-match-info .zhuname {
    margin-top: 9px !important;
    font-size: 13px !important;
  }
  .zb-dl-match-link .zb-dl-match-info ul > li:nth-child(2) > p:first-child {
    font-size: 11px !important;
    margin-bottom: 7px !important;
  }
  .zb-dl-match-link .zb-dl-match-info .match-no {
    margin-bottom: 9px !important;
    padding: 2px 9px !important;
    font-size: 11px !important;
  }
  .zb-dl-match-link .zb-dl-match-info .score-yes {
    font-size: 32px !important;
    letter-spacing: 1px;
  }
  .zb-dl-match-link .zb-dl-match-info .score-no { font-size: 17px !important; }
  .zb-dl-match-link .zhibo-link-btn {
    padding: 11px 12px 13px !important;
    gap: 8px !important;
  }
  .zb-dl-match-link .zhibo-link-btn .zhibo-link-wifi {
    width: 100%;
    font-size: 12px !important;
  }
  .zb-dl-match-link .zhibo-link-btn .em2 { gap: 6px !important; }
  .zb-dl-match-link .zhibo-link-btn .source-link {
    height: 30px;
    padding: 0 12px !important;
    font-size: 12px !important;
    line-height: 28px !important;
  }
}

/* ---- 清掉旧 CSS 给 ul 加的「卡中卡」深色块（第 1289 行）---- */
.zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link .zb-dl-match-info ul {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* 比分：数字与冒号节奏 */
.zb-dl-match-link .zb-dl-match-info .score-no {
  letter-spacing: 0 !important;
}
.zb-dl-match-link .zb-dl-match-info .score-no > span {
  display: inline-block;
  min-width: .72em;
  letter-spacing: 1px;
}
.zb-dl-match-link .zb-dl-match-info .score-no .score-sep,
.zb-dl-match-link .zb-dl-match-info .score-no > span + span {
  padding-left: .18em;
}

/* ---- 移动端：覆盖旧规则把三列压成竖排的问题（第 1401–1418 行） ---- */
@media (max-width: 768px) {
  .zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link .zb-dl-match-info ul {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 4px !important;
    padding: 0 !important;
  }
  .zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link .zb-dl-match-info ul > li {
    flex: 1 1 0 !important;
    width: auto !important;
    display: block !important;
    padding: 0 !important;
    text-align: center !important;
  }
  .zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link .zb-dl-match-info ul > li:nth-child(2) > p {
    margin: 0 0 7px !important;
  }
  .zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link .zb-dl-match-info .score-yes {
    font-size: 32px !important;
    line-height: 1 !important;
  }
  .zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link .zb-dl-match-info .score-no:not(.score-yes) {
    font-size: 18px !important;
    line-height: 1.2 !important;
  }
  .zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link .zb-dl-match-info .zhuname {
    margin: 9px 0 0 !important;
  }
}

/* ---- 移动端收尾：去掉 m.css 的 min-height:20vh 空白；按钮不被拉伸 ---- */
@media (max-width: 768px) {
  .zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link .zb-dl-match-info ul {
    min-height: 0 !important;
    height: auto !important;
  }
  .zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link .zhibo-link-btn .source-link {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }
  .zhibo-detail-content .zhibo-detail-info .zb-dl-team .zb-dl-match-link .zhibo-link-btn .em2 {
    flex: 1 1 auto;
  }
}

/* ============================================================
   55. 赛事专题总览 /saishi/
   ============================================================ */
.tgx-desc { margin: 0 0 4px; font-size: 13px; color: #6b7a90; }
.tgx-sec {
  background: #fff;
  border: 1px solid #edf0f5;
  border-radius: 16px;
  padding: 16px 18px;
  margin: 0 0 14px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .04);
  box-sizing: border-box;
}
.tgx-h {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 700;
  color: #1f2430;
}
.tgx-h::before {
  content: "";
  width: 4px;
  height: 16px;
  border-radius: 2px;
  background: #2b7fd4;
}
.tgx-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.tgx-chip {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  background: #f4f8fd;
  border: 1px solid #e6eef9;
  color: #2b4a6b;
  font-size: 13px;
  line-height: 30px;
  text-decoration: none;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.tgx-chip:hover { background: #e8f2ff; color: #1868c9; border-color: #cfe2f9; }
.tgx-chip-date { background: #fffdf5; border-color: #f2e6c9; color: #7a5a12; }
.tgx-chip-date:hover { background: #fff7e3; color: #8a5a00; border-color: #ecd9a8; }
@media (max-width: 768px) {
  .tgx-sec { padding: 14px; border-radius: 14px; }
  .tgx-h { font-size: 15px; margin-bottom: 10px; }
  .tgx-chip { height: 30px; padding: 0 12px; font-size: 12px; line-height: 28px; }
}

/* ============================================================
   56. 比赛详情页「相关数据」交叉内链卡片
   ============================================================ */
.sport-cross {
  margin: 18px 0 0;
  padding: 16px;
  border: 1px solid var(--u-line);
  border-radius: var(--u-radius);
  background: #fff;
  box-shadow: var(--u-shadow);
  box-sizing: border-box;
}
.sport-cross-h {
  margin: 0 0 10px;
  padding-left: 10px;
  border-left: 4px solid var(--u-brand);
  color: var(--u-ink);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.3;
}
.sport-cross-list { display: flex; flex-direction: column; gap: 6px; }
.sport-cross-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border: 1px solid var(--u-line);
  border-radius: 10px;
  background: #fbfcff;
  text-decoration: none;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.sport-cross-item:hover {
  background: #f2f8ff;
  border-color: #d6e4f5;
  transform: translateY(-1px);
}
.sc-ico {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 24px;
  border-radius: 6px;
  background: #eaf3ff;
  color: #2b7fd4;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
}
.sc-ico-h2h { background: #fff2e8; color: #c26a12; }
.sc-ico-tool { background: #eef7ee; color: #2f8a45; }
.sc-text {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13px;
  color: #4a5a70;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sc-text b { font-weight: 700; color: #1f2430; }
.sc-arrow { flex: 0 0 auto; color: #9fb0c4; font-size: 18px; line-height: 1; }
@media (max-width: 768px) {
  .sport-cross { margin-top: 14px; padding: 14px; border-radius: 14px; }
  .sport-cross-h { font-size: 15px; }
  .sport-cross-item { padding: 8px 10px; gap: 8px; }
  .sc-ico { width: 38px; height: 22px; font-size: 10px; }
  .sc-text { font-size: 12.5px; }
}

/* ============================================================
   57. 球队专题 /zhuanti/（网格卡片 / 首字头像 / 分页 / 热门榜）
   ============================================================ */
.ztz-head { margin-bottom: 14px !important; }
.tzx-desc { margin: 0 0 4px; font-size: 13px; color: #6b7a90; }
.tzx-desc b { color: #2b7fd4; font-weight: 700; }

/* 网格：覆盖 article.min.css 的 float 布局 */
.ztz_fllieb {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 0 !important;
}
.ztz_fllieb > li {
  width: auto !important;
  height: auto !important;
  float: none !important;
  margin: 0 !important;
  border: 1px solid #edf0f5 !important;
  border-radius: 14px !important;
  background: #fff;
  padding: 14px 8px 10px !important;
  text-align: center;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ztz_fllieb > li:hover {
  border-color: #cfe2f9 !important;
  box-shadow: 0 8px 20px rgba(16, 24, 40, .08);
  transform: translateY(-2px);
}
.ztz_fllieb > li > a { display: block; text-decoration: none; }
.ztz_fllieb li span { display: block; height: auto !important; }

/* 头像：有队徽用图片，没有则用「首字 + 渐变圆」 */
.ztz_fllieb li span.ztz-ava,
.ztz-ava {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 56px !important;
  height: 56px !important;
  margin: 0 auto 10px !important;
  border-radius: 50%;
  background: linear-gradient(135deg, hsl(var(--h, 210) 72% 62%), hsl(var(--h, 210) 68% 46%));
  color: #fff;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
}
.ztz_fllieb li span.ztz-ava-img,
.ztz-hot .ztz-ava-img,
.ztz-ava-img { background: #f7f9fc !important; }
.ztz_fllieb li span.ztz-ava img,
.ztz-ava-img img {
  width: 56px !important;
  height: 56px !important;
  padding: 0 !important;
  object-fit: contain;
}
.ztz-ava-sm { width: 30px !important; height: 30px !important; margin: 0 !important; font-size: 13px; }
.ztz-ava-sm img { width: 30px !important; height: 30px !important; }

.ztz_dwmc {
  display: block;
  width: 100% !important;
  font-size: 13px !important;
  color: #33415c !important;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ztz_fllieb > li:hover .ztz_dwmc { color: #1868c9 !important; }

/* 分页 */
.ztz-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 18px 0 4px;
}
.zp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 18px;
  border: 1px solid #dbe6f5;
  border-radius: 999px;
  background: #fff;
  color: #2b7fd4;
  font-size: 13px;
  text-decoration: none;
  transition: background .16s ease, border-color .16s ease;
}
.zp-btn:hover { background: #eef6ff; border-color: #c6dcf6; }
.zp-dis { color: #b6c2d2; background: #f7f9fc; border-color: #eef1f6; cursor: not-allowed; }
.zp-info { font-size: 13px; color: #6b7a90; }
.zp-info b { color: #1f2430; font-weight: 700; }

/* 右侧热门榜 */
.ztz-hot {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 4px;
  border-bottom: 1px solid #f1f4f8;
  text-decoration: none;
}
.ztz-hot:last-child { border-bottom: 0; }
.ztz-hot:hover { background: #f7fbff; }
.ztz-hot-no { flex: 0 0 auto; width: 18px; text-align: center; font-size: 12px; font-weight: 700; color: #a8b5c6; }
.ztz-hot-no.top3 { color: #e8833a; }
.ztz-hot-name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13.5px;
  color: #2b3a4d;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ztz-hot:hover .ztz-hot-name { color: #1868c9; }
.ztz-hot-cnt { flex: 0 0 auto; font-size: 11px; color: #9aa7b8; }

@media (max-width: 1200px) {
  .ztz_fllieb { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
@media (max-width: 992px) {
  .ztz_fllieb { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 768px) {
  .ztz_fllieb { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
  .ztz_fllieb > li { padding: 10px 4px 8px !important; border-radius: 12px !important; }
  .ztz_fllieb li span.ztz-ava,
  .ztz-ava { width: 44px !important; height: 44px !important; font-size: 17px; margin-bottom: 7px !important; }
  .ztz_fllieb li span.ztz-ava img,
  .ztz-ava-img img { width: 44px !important; height: 44px !important; }
  .ztz_dwmc { font-size: 12px !important; }
  .ztz-pager { margin-top: 14px; }
}
@media (max-width: 360px) {
  .ztz_fllieb { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ============================================================
   58. 队徽头像：有队徽用图，没有则「队名首字 + 哈希渐变圆」
       线上 81% 的球队没有队徽文件，统一占位图会让列表全是同一个图标
   ============================================================ */
.t-ava {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: contain;
  flex: 0 0 auto;
  box-sizing: border-box;
  font-style: normal;
  text-decoration: none;
}
.t-ava-img { background: #f7f9fc; }
.t-ava-txt {
  background: linear-gradient(135deg, hsl(var(--h, 210) 64% 60%), hsl(var(--h, 210) 58% 44%));
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0;
  user-select: none;
}
.t-ava-sm { width: 24px; height: 24px; font-size: 11px; }
.t-ava-lg { width: 62px; height: 62px; font-size: 24px; }

/* 比赛行：与原来的 img 队徽同尺寸、同排序
   注意：必须用 nth-child 而不是 nth-of-type —— 主队/客队可能是 img 也可能是 span，
   nth-of-type 会把「客队的第一个 img」也算成第一个，导致两个头像挤到同一侧 */
.match_li .zhibo-team > .t-ava {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  font-size: 12px !important;
}
.match_li .zhibo-team > .t-ava:nth-child(2) { order: 2 !important; }
.match_li .zhibo-team > .t-ava:nth-child(4) { order: 4 !important; }
/* 兜底：客队头像一定带 layout-mw10 */
.match_li .zhibo-team > .t-ava.layout-mw10 { order: 4 !important; }

/* 详情页比分卡 */
.zb-dl-match-link .zb-dl-match-info ul > li:nth-child(1) .t-ava,
.zb-dl-match-link .zb-dl-match-info ul > li:nth-child(3) .t-ava {
  width: 62px !important;
  height: 62px !important;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
}
.zb-dl-match-link .zb-dl-match-info ul > li:nth-child(1) .t-ava-img,
.zb-dl-match-link .zb-dl-match-info ul > li:nth-child(3) .t-ava-img {
  padding: 9px !important;
  background: rgba(255, 255, 255, .10);
}
.zb-dl-match-link .zb-dl-match-info ul > li:nth-child(1) .t-ava-txt,
/* ============================================================
   59. 详情页侧栏：最新直播 + 资讯推荐（两卡竖排）
       冷门栏目（电竞等）未来比赛很少，单靠「最新直播」侧栏会空一大片
   ============================================================ */
.zhibo-detail-side {
  width: 28%;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-sizing: border-box;
}
.zhibo-detail-side > .zhibo-detail-latest {
  width: 100% !important;
  margin: 0 !important;
}

/* 资讯推荐列表 */
.zhibo-detail-news .zdn-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.zdn-item { border-bottom: 1px solid #f1f4f8; }
.zdn-item:last-child { border-bottom: 0; }
.zdn-item a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  text-decoration: none;
}
.zdn-pic {
  flex: 0 0 64px;
  width: 64px;
  height: 44px;
  object-fit: cover;
  border-radius: 8px;
  background: #f2f5fa;
}
.zdn-title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #2b3a4d;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.zdn-item a:hover .zdn-title { color: #1868c9; }

/* 侧栏直播卡更紧凑：10 条也不会把「资讯推荐」顶出屏幕 */
.zhibo-detail-side .the-team.match_li { margin: 6px 0 !important; }
.zhibo-detail-side .the-team.match_li ul {
  height: auto !important;
  min-height: 0 !important;
  padding: 6px 8px !important;
}
.zhibo-detail-side .the-team.match_li ul > li { width: 33% !important; }
.zhibo-detail-side .the-team.match_li ul > li > p {
  margin: 1px 0 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}
.zhibo-detail-side .the-team.match_li .t-ava {
  width: 22px !important;
  height: 22px !important;
  font-size: 10px !important;
  margin: 2px auto !important;
}

@media (max-width: 768px) {
  .zhibo-detail-side {
    width: 100% !important;
    gap: 12px;
  }
  .zdn-pic { flex: 0 0 56px; width: 56px; height: 40px; }
  .zdn-title { font-size: 12.5px; }
}

/* ============================================================
   60. 资讯页「近期直播」内链
   （2026-10-20 CSS 清理时误删，此处在恢复：资讯详情页侧栏用到）
   ============================================================ */
.news-live-block { margin-bottom: 14px; }
.news-live-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 4px 2px 0;
}
.news-live-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--u-line);
  border-radius: 10px;
  background: #fff;
  text-decoration: none;
  color: var(--u-ink-2);
  font-size: 13px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.news-live-item:hover { border-color: #d6e4f5; box-shadow: var(--u-shadow); }
.nl-time {
  color: var(--u-brand);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.nl-teams {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--u-ink);
  font-weight: 600;
}
.nl-teams i { color: var(--u-ink-3); font-style: normal; font-size: 11px; }
.nl-league {
  padding: 1px 8px;
  border-radius: 999px;
  background: #f1f5fb;
  font-size: 11px;
  color: var(--u-ink-3);
}
[data-theme="dark"] .news-live-item { background: #151b26; border-color: var(--u-line); }
[data-theme="dark"] .nl-league { background: #1e2735; }
/* ============================================================
   61. 资讯详情页：标题卡 + 正文排版 + 相关阅读 + 上下篇
   ============================================================ */
.news-head { margin-bottom: 14px !important; }
.news-head .news-title {
  margin: 8px 0 12px;
  font-size: 24px;
  line-height: 1.45;
  font-weight: 700;
  color: #1f2430;
  letter-spacing: .2px;
}
.news-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 13px;
  color: #7a8497;
}
.nm-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #c7ced9;
}

/* ---------- 正文排版 ---------- */
.news-body {
  font-size: 16px;
  line-height: 1.85;
  color: #2b3a4d;
  word-wrap: break-word;
  word-break: break-word;
}
.news-body > *:first-child { margin-top: 0 !important; }
.news-body p { margin: 0 0 18px; }
.news-body br + br { display: none; }
.news-body img {
  display: block;
  max-width: 100% !important;
  height: auto !important;
  margin: 20px auto;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(16, 24, 40, .06);
}
.news-body h2,
.news-body h3,
.news-body h4 {
  margin: 28px 0 12px;
  padding-left: 10px;
  border-left: 4px solid #2b7fd4;
  font-weight: 700;
  line-height: 1.4;
  color: #1f2430;
}
.news-body h2 { font-size: 19px; }
.news-body h3 { font-size: 17px; }
.news-body h4 { font-size: 16px; border-left-width: 3px; }
.news-body a { color: #1868c9; text-decoration: none; border-bottom: 1px solid rgba(24, 104, 201, .25); }
.news-body a:hover { border-bottom-color: #1868c9; }
.news-body ul,
.news-body ol { margin: 0 0 18px; padding-left: 24px; }
.news-body li { margin: 6px 0; }
.news-body blockquote {
  margin: 18px 0;
  padding: 12px 16px;
  background: #f5f9ff;
  border-left: 4px solid #bcd8f7;
  border-radius: 0 10px 10px 0;
  color: #4a5a70;
}
.news-body blockquote p:last-child { margin-bottom: 0; }
.news-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0;
  font-size: 14px;
}
.news-body th,
.news-body td {
  border: 1px solid #e6ecf5;
  padding: 8px 10px;
  text-align: left;
}
.news-body th { background: #f7fafd; font-weight: 700; }
.news-body hr { border: 0; border-top: 1px solid #eef1f6; margin: 24px 0; }

/* ---------- 相关阅读 ---------- */
.news-readmore {
  margin: 26px 0 0;
  padding-top: 18px;
  border-top: 1px solid #eef1f6;
}
.news-readmore-h {
  margin: 0 0 12px;
  padding-left: 10px;
  border-left: 4px solid #2b7fd4;
  font-size: 16px;
  font-weight: 700;
  color: #1f2430;
}
.news-readmore-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.news-readmore-list a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding: 10px 12px;
  border: 1px solid #eef1f6;
  border-radius: 10px;
  background: #f8fafd;
  font-size: 13.5px;
  line-height: 1.5;
  color: #2b3a4d;
  text-decoration: none;
  transition: background .16s ease, border-color .16s ease, color .16s ease;
}
.news-readmore-list a:hover {
  background: #f0f7ff;
  border-color: #cfe2f9;
  color: #1868c9;
}

/* ---------- 上一篇 / 下一篇 ---------- */
.news-nav-prev {
  display: flex;
  gap: 12px;
  margin: 20px 0 0;
}
.news-nav-prev .nn-item {
  flex: 1 1 0;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid #edf0f5;
  border-radius: 12px;
  background: #fff;
  text-decoration: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.news-nav-prev .nn-item:hover {
  border-color: #cfe2f9;
  box-shadow: 0 6px 18px rgba(16, 24, 40, .06);
}
.nn-label {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  color: #8b98ab;
}
.nn-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 13.5px;
  line-height: 1.5;
  color: #2b3a4d;
}
.nn-next { text-align: right; }

@media (max-width: 768px) {
  .news-head .news-title { font-size: 20px; margin: 6px 0 10px; }
  .news-meta { font-size: 12px; gap: 8px; }
  .news-body { font-size: 15.5px; line-height: 1.8; }
  .news-body p { margin-bottom: 16px; }
  .news-body h2 { font-size: 18px; }
  .news-body h3 { font-size: 16px; }
  .news-readmore-list { grid-template-columns: 1fr; }
  .news-nav-prev { flex-direction: column; gap: 10px; }
  .nn-next { text-align: left; }
}
/* ============================================================
   62. 资讯详情页：正文留白 + 侧栏三块卡片化
   ============================================================ */
/* 正文左右留白（原来只有 10px，图片几乎贴边） */
.news-body { padding: 26px 24px 36px !important; }

/* 侧栏：近期直播 / 相关资讯 / 最新资讯 统一成白卡 */
.article-detail-news .guanyu-zixun {
  background: #fff;
  border: 1px solid #edf0f5;
  border-radius: 16px;
  padding: 14px;
  margin: 0 0 14px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
  box-sizing: border-box;
}
.article-detail-news .guanyu-zixun:last-child { margin-bottom: 0; }
.article-detail-news .zq-lx-bt { margin: 0 0 8px; }

/* 相关资讯 / 最新资讯：去掉旧「|」装饰，改成两行截断列表 */
.guanyu-zixun-list ul { list-style: none; margin: 0; padding: 0; }
.gz-item { border-bottom: 1px solid #f1f4f8; }
.gz-item:last-child { border-bottom: 0; }
.guanyu-zixun-list .gz-item > a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding: 9px 0;
  font-size: 13px;
  line-height: 1.5;
  color: #2b3a4d;
  text-decoration: none;
}
.guanyu-zixun-list .gz-item > a:hover { color: #1868c9; }

@media (max-width: 768px) {
  .news-body { padding: 18px 14px 26px !important; }
  .article-detail-news .guanyu-zixun { padding: 12px; border-radius: 14px; }
  .guanyu-zixun-list .gz-item > a { font-size: 12.5px; }
}
/* ============================================================
   63. 站点底部（深色现代风：品牌 + 导航内链 + 说明 + 版权）
   ============================================================ */
footer.site-footer {
  position: static !important;   /* 旧皮肤里 footer 是 position:absolute（脱离文档流，底部会空一块） */
  height: auto !important;       /* 旧皮肤还写死了 height:150px，新内容更高会溢出成空白 */
  width: 100% !important;
  margin-top: 26px !important;
  padding: 0 !important;
  background: linear-gradient(180deg, #0f2137 0%, #0a1626 100%) !important;
  color: rgba(255, 255, 255, .72) !important;
  border: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
  font-size: 13px;
  line-height: 1.8;
  text-align: left;
}
.sf-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 26px 20px 20px;
  box-sizing: border-box;
}

/* 顶部：品牌 + 导航 */
.sf-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.sf-logo {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .5px;
  color: #fff;
  line-height: 1.2;
}
.sf-logo em { font-style: normal; color: #4d9bf0; }
.sf-slogan {
  margin: 6px 0 0 !important;
  font-size: 12.5px;
  color: rgba(255, 255, 255, .48) !important;
}
.sf-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  padding-top: 4px;
}
.sf-nav a {
  color: rgba(255, 255, 255, .72) !important;
  font-size: 13px;
  text-decoration: none;
  transition: color .16s ease;
}
.sf-nav a:hover { color: #6cb2ff !important; }

/* 说明文字 */
.sf-desc {
  padding: 16px 0 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.sf-desc p {
  margin: 0 0 8px !important;
  font-size: 12.5px;
  line-height: 1.85;
  color: rgba(255, 255, 255, .42) !important;
  text-align: left !important;   /* 旧皮肤 footer p 是 text-align:center */
}
.sf-desc p:last-child { margin-bottom: 0 !important; }

/* 底栏 */
.sf-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 15px;
}
.sf-copy,
.sf-ver {
  margin: 0 !important;
  font-size: 12.5px;
  color: rgba(255, 255, 255, .5) !important;
}
.sf-ver { font-size: 11.5px; color: rgba(255, 255, 255, .3) !important; }

@media (max-width: 768px) {
  footer.site-footer { margin-top: 18px; text-align: left !important; }
  .sf-inner { padding: 20px 14px 16px; }
  .sf-top { flex-direction: column; gap: 12px; padding-bottom: 14px; }
  .sf-logo { font-size: 18px; }
  .sf-nav { gap: 8px 14px; }
  .sf-desc { padding: 14px 0 12px; }
  .sf-desc p { font-size: 12px; line-height: 1.8; text-align: left !important; }
  .sf-bottom { padding-top: 12px; text-align: left !important; }
}
/* ============================================================
   64. 首页友情链接：与底部同宽对齐 + 「友情链接」标签胶囊
   （站点配置 site.links 为空时整块不输出）
   ============================================================ */
.interLink {
  max-width: 1200px;
  margin: 20px auto 0 !important;
  padding: 14px 20px !important;
  border-radius: 16px !important;
  box-sizing: border-box;
}
.interLink_con { gap: 8px 10px !important; }
.interLink_con li.il-label {
  padding: 5px 12px;
  font-size: 13px;
  font-weight: 700;
  color: #1f2430;
  background: #eef2f8;
  border-radius: 999px;
}
@media (max-width: 768px) {
  .interLink {
    margin: 14px 10px 0 !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
  }
  .interLink_con li.il-label { font-size: 12px; padding: 4px 10px; }
}

/* ============================================================
   65. 资讯详情页：侧栏间距 + 相关阅读排版 + 底部「推荐阅读」
   ============================================================ */

/* ① 侧栏三块之间留出上下间距
      （sport-refresh.css 第 675 行写死了 margin-bottom: 0 !important，这里覆盖回来） */
.article-detail-news .guanyu-zixun {
  margin: 0 0 14px !important;
}
.article-detail-news .guanyu-zixun:last-child { margin-bottom: 0 !important; }

/* ② 相关阅读：改成浅底小卡（明确是正文之外的附加内容）+ 自适应列数
      （3 条时不会再出现右侧半格空位） */
.news-readmore {
  margin: 26px 0 0;
  padding: 16px;
  background: #f8fafd;
  border: 1px solid #eef1f6;
  border-radius: 14px;
}
.news-readmore-h {
  margin: 0 0 12px !important;
  padding-left: 10px;
  border-left: 4px solid #2b7fd4;
  font-size: 15px;
  font-weight: 700;
  color: #1f2430;
}
.news-readmore-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap: 10px;
}

/* ③ 底部「推荐阅读」：与资讯列表页同一套视觉 */
.news-reco {
  margin: 24px 0 0;
  padding-top: 18px;
  border-top: 1px solid #eef1f6;
}
.news-reco-h {
  margin: 0 0 14px;
  padding-left: 10px;
  border-left: 4px solid #2b7fd4;
  font-size: 16px;
  font-weight: 700;
  color: #1f2430;
}
.news-reco-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.reco-row {
  display: flex;
  gap: 14px;
  padding: 12px;
  border: 1px solid #edf0f5;
  border-radius: 14px;
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.reco-row:hover { border-color: #cfe2f9; box-shadow: 0 8px 22px rgba(16, 24, 40, .06); }
.reco-thumb {
  flex: 0 0 180px;
  display: block;
  overflow: hidden;
  border-radius: 10px;
}
.reco-thumb img {
  display: block;
  width: 180px;
  height: 108px;
  object-fit: cover;
}
/* ⚠️ 旧皮肤里有条没加限定的 `li:nth-last-child(1) img { width:48px; height:48px }`，
   会命中「列表最后一项」的图片（推荐阅读正好是最后一项），
   这里必须用更高特异性 + !important 压住它 */
.news-reco-list .reco-row .reco-thumb img {
  width: 180px !important;
  height: 108px !important;
  max-width: none !important;
}
.reco-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.reco-title { margin: 0 0 6px; font-size: 16px; font-weight: 700; line-height: 1.45; }
.reco-title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #1f2430;
  text-decoration: none;
}
.reco-title a:hover { color: #1868c9; }
.reco-desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.7;
  color: #6b7a90;
}
.reco-meta { margin-top: auto; font-size: 12px; color: #9aa7b8; }

@media (max-width: 768px) {
  .article-detail-news .guanyu-zixun { margin-bottom: 12px !important; }
  .news-readmore { padding: 12px; border-radius: 12px; }
  .news-readmore-list { grid-template-columns: 1fr !important; }
  .reco-row { gap: 10px; padding: 10px; border-radius: 12px; }
  .reco-thumb { flex: 0 0 110px; }
  .news-reco-list .reco-row .reco-thumb img {
    width: 110px !important;
    height: 74px !important;
  }
  .reco-title { font-size: 14px; }
  .reco-desc { font-size: 12px; }
}

/* ============================================================
   66. 「百科」下拉：只显示栏目名（已去掉简介），面板更紧凑
   ============================================================ */
.header-nav .nav-drop,
.header-top .nav-drop { min-width: 172px !important; }
.nav-drop li a {
  padding: 9px 14px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}
.nav-drop li a:hover {
  font-weight: 500 !important;
  color: var(--s-brand-ink) !important;
}


/* ============================================================
   67. 百科页面（/baike/*）：面包屑 + 标题区卡片化
       8 个栏目容器分别是 .sp-wrap / .lg-wrap / .nm-wrap / .lol-wrap / .nb-wrap，
       统一用 [class$="-wrap"] 匹配
   ============================================================ */

/* 面包屑：与全站一致收进白卡（原来裸在页面左上角） */
.content-container > nav {
  margin: 16px 0 12px;   /* 与上方头部留出间距（原来紧贴 header） */
  padding: 10px 14px;
  background: #fff;
  border: 1px solid #edf0f5;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
  box-sizing: border-box;
}
.content-container > nav .gy_position_tit {
  width: auto !important;          /* 旧皮肤写死了 width:1230px → 窄屏会横向溢出 */
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  font-size: 13px !important;
  color: #7a8497 !important;
  flex-wrap: wrap;
}
.content-container > nav .gy_position_tit a {
  color: #2b7fd4 !important;
  text-decoration: none;
}

/* 标题 + 副标题：上下两半连成一张卡
   ⚠️ .content-title 自带蓝色胶囊背景图 + 白字；这里改成「白底 + 深色标题」，
      与全站风格统一（同时必须显式去掉 background-image，否则蓝底白字会残留） */
[class$="-wrap"] > .content-title {
  margin: 0 !important;
  padding: 18px 18px 6px !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #1f2430 !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  border: 1px solid #edf0f5;
  border-bottom: 0;
  border-radius: 16px 16px 0 0;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
  box-sizing: border-box;
}
[class$="-wrap"] > .content-title + p {
  margin: 0 0 14px !important;
  padding: 0 18px 16px !important;
  background: #fff;
  border: 1px solid #edf0f5;
  border-top: 0;
  border-radius: 0 0 16px 16px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
  color: #6b7a90 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  box-sizing: border-box;
}

/* 统计卡（三套 class 统一） */
.lg-stats, .mx-stats, .nm-stats { margin: 12px 0 16px !important; }
.lg-stat, .mx-stat, .nm-stat { border-radius: 14px !important; }

/* 数据来源提示条 */
.lg-note {
  margin: 0 0 14px !important;
  padding: 10px 14px !important;
  background: #f6f9fe !important;
  border: 1px solid #e6eef9 !important;
  border-radius: 12px !important;
  color: #5a6b82 !important;
  font-size: 12.5px !important;
  line-height: 1.7 !important;
}

@media (max-width: 768px) {
  .content-container > nav { padding: 8px 12px; border-radius: 12px; }
  [class$="-wrap"] > .content-title {
    padding: 14px 14px 4px !important;
    border-radius: 14px 14px 0 0;
  }
  [class$="-wrap"] > .content-title + p {
    padding: 0 14px 14px !important;
    border-radius: 0 0 14px 14px;


    font-size: 12.5px !important;
  }
}




/* ============================================================
   69. 工具页详情（联赛 / 赛事等）：区块卡片化
       原来「夺冠排行」「历届冠军」这些区块直接压在页面背景上，
       显得空、也缺少层次
   ============================================================ */

/* ① 标题前的白色图标（icon_zb_white.png）在白卡上完全看不见，只是占位 → 隐藏 */
[class$="-wrap"] > .content-title > img { display: none !important; }

/* ② 数据表格容器：白卡 */
.lg-scroll {
  margin: 0 0 14px;
  background: #fff;
  border: 1px solid #edf0f5;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
  overflow: hidden;
}

/* ③ chips 区（夺冠次数排行 / 最近赛季 / 分类浏览）：白卡
      但国家分组卡片里的 chips 不重复加卡（避免「卡中卡」） */
.lg-chips {
  background: #fff;
  border: 1px solid #edf0f5;
  border-radius: 14px;
  padding: 12px 14px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}
.lg-group .lg-chips,
.lg-note .lg-chips {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

/* ④ 「其它联赛」：由浅蓝提示条改成白卡 + 联赛胶囊标签 */
.lg-note {
  background: #fff !important;
  border: 1px solid #edf0f5 !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  color: #5a6b82 !important;
}
.lg-note a {
  display: inline-block;
  margin: 3px 4px 3px 0;
  padding: 3px 10px;
  border-radius: 999px;
  background: #f1f5fb;
  color: #2b7fd4 !important;
  font-size: 12px;
  line-height: 1.6;
  text-decoration: none;
  transition: background .15s ease;
}
.lg-note a:hover { background: #e3eefb; }

@media (max-width: 768px) {
  .lg-chips { padding: 10px 12px; }
  .lg-note { padding: 12px 14px !important; }
}

/* ============================================================
   70. 头部吸顶：页面滚动时固定在窗口顶部
   ⚠️ sport-refresh.css 里本来就是 `position: sticky; top: 0`，
      但被 sport-ui.css 第 2573 行的 `.header-top-container { position: relative }`
      覆盖了；而且 body/html 有 `overflow-x: hidden`（会让 sticky 失效），
      所以这里用 fixed 实现（同时给 body 补上头部高度，避免内容被遮住）。
   ============================================================ */
.header-top-container {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 900 !important;
}
body { padding-top: 62px !important; }   /* 头部脱离文档流，内容下移补回 */

/* 列表页日期条本身也吸顶：下移到头部下方，避免被头部压住 */
.content-zbList .zhibo-date,
.zq-zhibo-list .zhibo-date { top: 62px !important; }

@media (max-width: 768px) {
  body { padding-top: 62px !important; }   /* 移动端头部同样是 62px */
}

/* ============================================================
   71. NBA 球队页 / 球员页：标题与 hero 区重复
       这两类页面结构是「.content-title（纯文字标题）+ .nb-hero（带队徽的大标题）」，
       标题重复出现两次；总览页 / 赛季页没有 .nb-hero，标题要保留。
       用 :has() 只隐藏「同时存在 .nb-hero」时的 .content-title。
   ============================================================ */
.nb-wrap:has(.nb-hero) > .content-title {
  display: none !important;
}
/* 原副标题 <p> 是接在标题卡下方（靠上圆角拼成一张卡），标题去掉后单独成一张小卡 */
.nb-wrap:has(.nb-hero) > .content-title + p {
  margin: 0 0 14px !important;
  padding: 10px 16px !important;
  background: #fff !important;
  border: 1px solid #edf0f5 !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04) !important;
}





.zb-dl-match-link .zb-dl-match-info ul > li:nth-child(3) .t-ava-txt {
  font-size: 26px !important;
}

@media (max-width: 768px) {
  /* 移动端显示 16px 小头像（与 _footer.php 的 img 规则保持一致） */
  .match_li .zhibo-team > .t-ava {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
    font-size: 9px !important;
    line-height: 1;
  }
  /* 列表行：队名区必须能收缩，否则加了头像后整行会换行（1160/1676 行有 wrap） */
  .content-zbList .match_li.zbList-info-evy .zhibo-team,
  .zq-zhibo-list .match_li.zbList-info-evy .zhibo-team {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    flex-wrap: nowrap !important;
  }
  .zb-dl-match-link .zb-dl-match-info ul > li:nth-child(1) .t-ava,
  .zb-dl-match-link .zb-dl-match-info ul > li:nth-child(3) .t-ava {
    width: 50px !important;
    height: 50px !important;
    border-radius: 14px;
    font-size: 18px !important;
  }
  .zb-dl-match-link .zb-dl-match-info ul > li:nth-child(1) .t-ava-img,
  .zb-dl-match-link .zb-dl-match-info ul > li:nth-child(3) .t-ava-img {
    padding: 7px !important;
  }
}

/* ============================================================
   68. 内容区底部留白：旧皮肤给 .content-container 写了 padding-bottom:200px
       （原本是给移动端底部 tabbar 预留的，但 PC 也生效 → 页面底部一大片空白）
   ============================================================ */
.content-container {
  padding-bottom: 24px !important;
}
@media (max-width: 768px) {
  /* 移动端底部有固定 tabbar（高 64px），留够空间即可 */
  .content-container { padding-bottom: 84px !important; }
}


/* ============================================================
   72. /baike/league 首页三大区块：加统一父盒子 + 网格排布
       原来「按国家和地区浏览 / 最新赛季直达 / 杯赛与洲际赛事」是散落在页面上的
       独立小卡（每张白卡自带边框+阴影，两列排下来 100+ 张、4000 多 px，很乱）。
       改成：每个区块用一张大卡（.lg-sec）罩起来，内部用 4 列网格（.lg-grid），
       格子内的小块改成浅底无阴影，层次清楚、长度也缩短一大半。
   ============================================================ */
.lg-sec {
  margin: 18px 0;
  padding: 16px 18px 18px;
  background: #fff;
  border: 1px solid #edf0f5;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}
/* 卡片内的区块标题（替代原来悬空在背景上的 .lg-h2） */
.lg-sec-t {
  margin: 0 0 14px;
  padding-left: 10px;
  border-left: 4px solid var(--u-brand);
  color: var(--u-ink);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.4;
}

/* 国家 / 地区网格：3 列 → 一格里能并排放下 2 个联赛，行高才统一 */
.lg-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
/* 网格内的小块：去掉独立白卡的边框阴影，改成浅底，避免「卡中卡」的杂乱感 */
.lg-grid .lg-group {
  display: flex !important;
  flex-direction: column;   /* 国家名一行、联赛一行，格子高度才统一 */
  align-items: stretch;
  justify-content: flex-start;
  gap: 6px;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 9px 10px !important;
  background: #f7f9fc !important;
  border: 1px solid #eef2f7 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  vertical-align: baseline !important;
}
.lg-grid .lg-group-h { margin-bottom: 0 !important; white-space: nowrap; }
.lg-grid .lg-group .lg-chips { flex: 1 1 auto; min-width: 0; }

/* 「最新赛季直达」胶囊之间松一点 */
.lg-sec .lg-chips-hot { gap: 8px; }

@media (max-width: 1100px) {
  .lg-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .lg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .lg-sec { margin: 14px 0; padding: 14px 12px 14px; border-radius: 14px; }
  .lg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .lg-grid .lg-group { padding: 8px !important; }
  .lg-grid .lg-group-h { font-size: 13px; }
  .lg-grid .lg-chip { padding: 3px 8px; font-size: 12px; }
}


/* ============================================================
   73. 工具页 H1 可见化 + 「进行中」徽章 + 相关联赛网格
   ============================================================ */
/* 页面主标题原来是 <span>，为了 SEO 改成可见的 <h1>（消除 left:-9999px 隐藏文本）。
   这里把 h1 的浏览器默认样式清掉，视觉与原来的 span 完全一致。 */
.content-title > h1.ct-h1 {
  display: inline;
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 2;
  color: inherit;
  vertical-align: middle;
}

/* 赛季「进行中」徽章（未完赛时标注，避免把当前榜首误读成冠军） */
.lg-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 999px;
  background: #fff3e0;
  color: #b26a00;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
  vertical-align: 1px;
  white-space: nowrap;
}
/* 「赛会制」徽章：灰色，表示该赛季场次少于标准双循环、积分榜排名仅供参考 */
.lg-badge.lg-badge-gray {
  background: #eef2f7;
  color: #5a6b82;
}

/* 相关联赛：网格排布（原来是 130+ 个胶囊挤成一大坨） */
.lg-chips.lg-chips-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.lg-chips.lg-chips-grid .lg-chip {
  justify-content: center;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 860px) {
  .lg-chips.lg-chips-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 联赛简介段落（补足正文，也顺带解决「纯表格页」的观感） */
.lg-about {
  color: #4a5666;
  font-size: 13.5px;
  line-height: 1.85;
}
.lg-about p { margin: 0 0 10px; }
.lg-about p:last-child { margin-bottom: 0; }
.lg-about b { color: #1f2430; font-weight: 700; }


/* ============================================================
   74. 工具页主体：整页一张大白卡（2026-10-20）
       原来 .lg-wrap / .mx-wrap / .nb-wrap 都是透明的，导致
       「统计小卡之间、各区块之间」直接露出页面背景图，标题还悬在外面。
       做法：wrap 变成一张大白卡，内部改成「白卡 → 浅灰区块 → 白色小格」三层。
   ============================================================ */
[class$="-wrap"] {
  background: #fff !important;
  border: 1px solid #edf0f5 !important;
  border-radius: 18px !important;
  padding: 20px 20px 22px !important;
  box-shadow: 0 2px 10px rgba(16, 24, 40, .05) !important;
  box-sizing: border-box;
}

/* 标题区：原来是独立白卡（上圆角 16/16），现在融进父卡，只留一条分隔线 */
[class$="-wrap"] > .content-title {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0 8px !important;
  margin: 0 !important;
}
[class$="-wrap"] > .content-title + p {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #eef2f7 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0 14px !important;
  margin: 0 0 16px !important;
}

/* 统计卡：浅灰底，和父卡区分开，但不再露出页面背景 */
[class$="-wrap"] .lg-stat,
[class$="-wrap"] .mx-stat,
[class$="-wrap"] .nm-stat {
  background: #f7f9fc !important;
  border: 1px solid #eef2f7 !important;
  box-shadow: none !important;
}

/* 区块：父卡是白色，这里改浅灰，边界才看得出来 */
[class$="-wrap"] .lg-sec {
  background: #f7f9fc !important;
  border: 1px solid #eef2f7 !important;
  box-shadow: none !important;
  border-radius: 14px !important;
  margin: 14px 0 0 !important;
  padding: 16px 16px 18px !important;
}
[class$="-wrap"] .lg-sec + .lg-sec { margin-top: 12px !important; }

/* 区块内的国家小格：区块已是浅灰，格子回到白色 */
[class$="-wrap"] .lg-sec .lg-grid .lg-group {
  background: #fff !important;
  border-color: #e8eef7 !important;
}

@media (max-width: 768px) {
  [class$="-wrap"] {
    padding: 14px 12px 16px !important;
    border-radius: 14px !important;
  }
  [class$="-wrap"] .lg-sec { padding: 12px 12px 14px !important; }
}


/* ============================================================
   75. 大洲分组标题（/baike/league 首页「按国家和地区浏览」）
       103 个国家平铺太长、找不到目标，按欧洲/亚洲/南美/中北美/非洲分段，
       分段标题在 3 列网格里占满整行。
   ============================================================ */
[class$="-wrap"] .lg-region-h {
  grid-column: 1 / -1;
  margin: 10px 0 2px;
  padding: 2px 0 8px;
  border-bottom: 1px dashed #e3e9f2;
  color: #2b6cb0;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
}
[class$="-wrap"] .lg-region-h:first-child { margin-top: 0; }
[class$="-wrap"] .lg-region-h span {
  margin-left: 8px;
  color: #94a3b8;
  font-size: 12px;
  font-weight: 500;
}
@media (max-width: 768px) {
  [class$="-wrap"] .lg-region-h { font-size: 13px; margin-top: 8px; }
}

/* 国家格里的胶囊不要被 grid 行高「拉伸」：
   .lg-chips 是 flex 容器、默认 align-items:stretch，
   同行别的国家有 3 个胶囊把行高撑到 100px+ 时，单胶囊的国家会被拉成一条
   100px 高的淡色方块，看起来像「卡片里是空的」（哥斯达黎加 / 美国 踩过）。 */
[class$="-wrap"] .lg-group .lg-chips { align-items: flex-start; }
[class$="-wrap"] .lg-group .lg-chips > .lg-chip { align-self: flex-start; }


/* ============================================================
   76. 去掉「卡中卡中卡」：.lg-sec 不再是一张卡片
       第 74 节把 .lg-wrap 变成白卡、.lg-sec 变成浅灰卡之后，
       /baike/league 首页变成「白卡 → 浅灰区块 → 白格子 → 浅灰胶囊」四层套娃，
       白灰反复交替，看着很怪。
       这里把 .lg-sec 的卡片外壳全部去掉，只保留「标题 + 区块间分隔线」，
       层级收敛为：白卡（wrap）→ 浅灰格子（.lg-group / .lg-stat）→ 白胶囊。
   ============================================================ */
[class$="-wrap"] .lg-sec {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* 区块之间：一条淡分隔线 + 22px 间距，代替原来的一圈卡片边框 */
[class$="-wrap"] .lg-sec + .lg-sec {
  margin-top: 22px !important;
  padding-top: 20px !important;
  border-top: 1px solid #eef2f7 !important;
}

/* 国家格子：白卡上要有底色才分得清 → 浅灰；胶囊回到白色
   ⚠️ 必须写成 `.lg-sec .lg-grid .lg-group`（与第 74 节同特异性、但更靠后），
      否则会被 74 节的 `.lg-sec .lg-grid .lg-group { background:#fff }` 压掉。 */
[class$="-wrap"] .lg-sec .lg-grid .lg-group {
  background: #f7f9fc !important;
  border-color: #eef2f7 !important;
}
[class$="-wrap"] .lg-sec .lg-grid .lg-group .lg-chip {
  background: #fff !important;
  border-color: #e3e9f2 !important;
}

/* 区块里的表格：父卡已经是白色，表格不要再叠一层阴影 */
[class$="-wrap"] .lg-sec .lg-table { box-shadow: none !important; }

/* 胶囊容器（.lg-chips）在工具页里一律去掉「白卡外壳」：
   全局 .lg-chips 自带白底 + 边框 + 14px 圆角（原设计是页面上的独立区块），
   但第 74 节已经把 .lg-wrap / .nb-wrap 整页变成白卡了，
   再套一层白卡边框就是「白卡里套白卡」——
   /baike/league 的热门联赛、/baike/league-l-* 的夺冠次数排行、
   /baike/nba 的最近赛季 都踩过这个。这里统一收敛成纯排列容器。
   注：.lg-group .lg-chips（国家格内部）本来就没有背景，不受影响。 */
[class$="-wrap"] .lg-chips {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  [class$="-wrap"] .lg-sec + .lg-sec { margin-top: 18px !important; padding-top: 16px !important; }
}


/* ============================================================
   77. 统计卡布局兜底（.mx-stats / .nm-stats）
       matrix.css 里定义了 `.mx-stats{display:grid;grid-template-columns:repeat(auto-fit,
       minmax(150px,1fr))}`，但英雄图鉴（lol/hero）等工具页**不会加载 matrix.css**
       （只加载 sport-ui），于是 4 张统计卡塌成 4 行裸文本：
         「173英雄总数DDragon v16.20.1 / 6定位法师… / 865技能条目…」
       这里在 sport-ui 里补上布局，保证所有工具页的统计卡都排成一行。
   ============================================================ */
[class$="-wrap"] .mx-stats,
[class$="-wrap"] .nm-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  grid-auto-rows: auto;
}
[class$="-wrap"] .mx-stat,
[class$="-wrap"] .nm-stat {
  background: #f7f9fc;
  border: 1px solid #eef2f7;
}
/* b/span/small 的排版同样来自 matrix.css —— 不补的话三个标签全是行内元素，
   会挤成一行「173英雄总数DDragon v16.20.1」，卡片高度只剩 26px。 */
[class$="-wrap"] .mx-stat b,
[class$="-wrap"] .nm-stat b {
  display: block;
  font-size: 21px;
  line-height: 1.3;
  font-weight: 700;
  color: #303133;
  font-variant-numeric: tabular-nums;
}
[class$="-wrap"] .mx-stat span,
[class$="-wrap"] .nm-stat span {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: #6b7a90;
}
[class$="-wrap"] .mx-stat small,
[class$="-wrap"] .nm-stat small {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.5;
  color: #94a3b8;
}


/* ============================================================
   78. 英雄详情页：顶部标题卡与 .lol-hero 重复
       页面上「亚托克斯 / 暗裔剑魔 · 战士」出现了两次 ——
       一次来自通用的 .content-title（内含 h1），一次来自 .lol-hero-info 里的 h1，
       于是页面上有两个 <h1>（重复标题）+ 视觉重复。
       与 /baike/nba-t-* 的处理一致：有 .lol-hero 时隐藏通用标题卡。
   ============================================================ */
.lol-wrap:has(.lol-hero) > .content-title,
.lol-wrap:has(.lol-hero) > .content-title + p {
  display: none !important;
}


/* ============================================================
   79. 「数据说明」区块的小标题（h3）
       sport / transfer / history 三个首页原来 h3 = 0：
       结构是「h1 → h2（2~3 个区块）→ 表格/卡片」，中间没有子标题层。
       给它们各加一个「数据说明」区块（数据来源 / 统计口径 / 覆盖范围），
       用 h3 做子标题 —— 既补了正文（history 原来只有 1,901 字符），
       也让页面层级更完整。
   ============================================================ */
.lg-about h3 {
  margin: 15px 0 6px;
  color: #1f2430;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
.lg-about h3:first-child { margin-top: 0; }
.lg-about h3 + p { margin-top: 0; }


/* ============================================================
   联赛纪录页（/baike/league-rec-*）· 2026-10-21
   ★ 必须放这里：体育站模板只加载 sport.skin.css + sport.custom.css，
     **不加载 sport-ui.css**（那是 /baike 工具箱页用的），
     放 sport-ui.css 里对联赛页完全无效。
   ============================================================ */
.lg-two {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.lg-sub {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: #1f2430;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .lg-two { grid-template-columns: 1fr; gap: 10px; }
  .lg-sub { font-size: 13px; }
}

/* ============================================================
   网球工具（/baike/tennis-*）· 2026-10-21
   统计卡 / 轮次小标题 / 单场比分板
   ★ 必须放 sport.custom.css：体育站模板不加载 sport-ui.css
   ============================================================ */
.tn-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}
.tn-stat {
  background: #f7f9fc;
  border-radius: 12px;
  padding: 12px 14px;
  min-width: 0;
}
.tn-stat b {
  display: block;
  font-size: 20px;
  font-weight: 800;
  color: #1f2430;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tn-stat span { display: block; font-size: 12.5px; color: #64748b; margin-top: 3px; }
.tn-stat small { display: block; font-size: 11.5px; color: #94a3b8; margin-top: 2px; line-height: 1.4; }

.tn-round {
  margin: 16px 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: #1f2430;
  line-height: 1.4;
}
.tn-round span { font-weight: 400; font-size: 12px; color: #94a3b8; margin-left: 6px; }

.tn-score {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px;
  align-items: center;
  background: #f7f9fc;
  border-radius: 14px;
  padding: 16px 14px;
  margin: 0 0 14px;
}
.tn-sc-side { text-align: center; min-width: 0; }
.tn-sc-side a { font-size: 15px; font-weight: 700; color: #1f2430; text-decoration: none; }
.tn-sc-side a:hover { color: #2b7fd4; }
.tn-sc-win  { display: block; margin-top: 4px; font-size: 11px; color: #2f9e44; font-weight: 700; }
.tn-sc-lose { display: block; margin-top: 4px; font-size: 11px; color: #c92a2a; font-weight: 700; }
.tn-sc-mid { text-align: center; }
.tn-sc-mid b { display: block; font-size: 18px; font-weight: 800; color: #2b7fd4; white-space: nowrap; }
.tn-sc-mid small { display: block; font-size: 11.5px; color: #94a3b8; margin-top: 3px; }

@media (max-width: 768px) {
  /* 移动端改 2 列：3 列时每列仅 ~111px，日期（2026-05-25）和赛事名会被省略号截掉 */
  .tn-stats { grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)); gap: 8px; }
  .tn-stat { padding: 10px 12px; }
  .tn-stat b { font-size: 17px; }
  .tn-stat span { font-size: 12px; }
  .tn-score { padding: 12px 10px; gap: 8px; }
  .tn-sc-side a { font-size: 13px; }
  .tn-sc-mid b { font-size: 16px; }
}

/* ============================================================
   /baike 数据百科：不使用站点直播背景图
   ------------------------------------------------------------
   第 41 节给 html 铺了 jrs_sy_png.png（1920×770 校园直播插画，
   background-attachment: fixed），本意是给首页做顶部氛围。
   但工具页正文以表格/卡片为主，插画会透到标题与统计卡之间，
   可读性明显变差，且主题（课堂/直播）与体育数据不符。
   这里只对 body.t-body（所有工具页）关掉，恢复浅灰底 + 点阵。
   ============================================================ */
html:has(body.t-body) {
  background-image: none !important;
  background-color: #f4f6fa !important;
}
body.t-body {
  background-color: #f4f6fa !important;
  background-image: radial-gradient(rgba(217, 122, 69, 0.045) 1px, transparent 1px) !important;
  background-size: 22px 22px !important;
}

/* ============================================================
   联赛纪录页（/baike/league-rec-*）
   ------------------------------------------------------------
   双栏布局 + 小标题。之前没有这两个类，页面会退化成两条全宽表格，
   在桌面端浪费横向空间。
   ============================================================ */
.lg-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.lg-sub {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: #1f2430;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .lg-two { grid-template-columns: 1fr; gap: 10px; }
  .lg-sub { font-size: 13px; }
}

